Ce inseamna computing pe 64 de biti

Ce inseamna computing pe 64 de biti?

0 Shares
0
0
0

In arhitectura computerului, numerele intregi pe 64 de biti, adresele de memorie sau alte unitati de date sunt cele care au o latime de 64 de biti (8 octeti). De asemenea, unitatile centrale de procesare pe 64 de biti (CPU) si arhitecturile unitatii logice aritmetice (ALU) sunt cele care se bazeaza pe registrele procesorului, bus-urile de adrese sau magistralele de date de acea dimensiune.

Microcomputerele pe 64 de biti sunt computere in care microprocesoarele pe 64 de biti sunt norma. Din perspectiva software-ului, calculul pe 64 de biti inseamna utilizarea codului masinii cu adrese de memorie virtuala pe 64 de biti. Cu toate acestea, nu toate seturile de instructiuni pe 64 de biti accepta adrese complete de memorie virtuala pe 64 de biti; x86-64 si ARMv8, de exemplu, accepta doar 48 de biti de adresa virtuala, restul de 16 biti ai adresei virtuale trebuie sa fie toti 0 sau toti 1, iar mai multe seturi de instructiuni pe 64 de biti accepta mai putin de 64 de biti de memorie fizica.

Termenul “pe 64 de biti” descrie o generatie de computere in care procesoarele pe 64 de biti sunt norma. 64 de biti este o dimensiune de cuvânt care defineste anumite clase de arhitectura a computerelor, bus-uri, memorie si procesoare si, prin extensie, software-ul care ruleaza pe acestea. CPU-urile pe 64 de biti au fost utilizate in supercomputere inca din anii 1970 (Cray-1, 1975) si in statiile de lucru si servere bazate pe calculatoare cu set de instructiuni reduse (RISC) de la inceputul anilor 1990, in special MIPS R4000, R8000 si R10000, echipamentul digital Corporation (DEC) Alpha, Sun Microsystems UltraSPARC si microprocesoarele IBM RS64, POWER3 si ulterior POWER. In 2003, CPU-urile pe 64 de biti au fost introduse pe piata computerelor personale principale (pe 32 de biti) sub forma de procesoare x86-64 si PowerPC G5 si au fost introduse in 2012 in arhitectura ARM care vizeaza smartphone-uri si tablete.

Un registru pe 64 de biti poate contine oricare dintre 264 (peste 18 quintilioane sau 1,8 × 1019) valori diferite. Gama valorilor intregi care pot fi stocate in 64 de biti depinde de reprezentarea in intregime utilizata. Cu cele mai frecvente doua reprezentari, intervalul este de la 0 la 18,446,744,073,709,551,615 (264 − 1) pentru reprezentarea ca numar binar si de la -9,223,372,036,854,775,808 (−263) la 9,223,372,036,854,775,807 (263 − 1) pentru reprezentarea in complement de doi. Prin urmare, un procesor cu adrese de memorie pe 64 de biti poate accesa direct 264 de octeti (16 exabytes) de memorie adresabila pe octeti.

Fara alte calificari, arhitectura unui computer pe 64 de biti are, in general, registre de procesoare intregi si de adresare care au o latime de 64 de biti, permitând suportul direct pentru tipurile de date si adrese pe 64 de biti. Cu toate acestea, un procesor poate avea magistrale de date externe sau magistrale de adresa cu dimensiuni diferite de registre, chiar mai mari (Pentium pe 32 de biti avea o magistrala de date pe 64 de biti, de exemplu).

Termenul se poate referi, de asemenea, la dimensiunea tipurilor de date de nivel scazut, cum ar fi numerele aritmetice in virgula mobila pe 64 de biti.

Implicatii arhitecturale

Registrele procesorului sunt de obicei impartite in mai multe grupuri: numar intreg, virgula mobila, instructiune unica-date multiple (SIMD), control si adesea registre speciale pentru aritmetica adreselor, care pot avea diverse utilizari si nume, cum ar fi adresa, indexul sau baza registrelor. Cu toate acestea, in design-urile moderne, aceste functii sunt adesea indeplinite de registre intregi cu scop general. In majoritatea procesoarelor, numai numerele intregi sau adresele pot fi utilizate pentru a adresa datele din memorie; celelalte tipuri de registre nu pot. Prin urmare, dimensiunea acestor registre limiteaza in mod normal cantitatea de memorie direct adresabila, chiar daca exista registre (cum ar fi cele cu virgula mobila), care sunt mai largi.

Majoritatea procesoarelor de 32 biti si 64 biti de inalta performanta (unele exceptii notabile sunt arhitectura ARM (ARM) mai veche sau incorporata si CPU-urile de arhitectura MIPS (MIPS) pe 32 de biti) au hardware integrat in virgula mobila, care se bazeaza adesea, dar nu intotdeauna, pe unitati de date pe 64 de biti. De exemplu, desi arhitectura x86 / x87 are instructiuni capabile sa incarce si sa stocheze valori in virgula mobila pe 64 de biti (dar si pe 32 de biti), datele in virgula mobila si formatul de registru au o latime de 80 de biti, in timp ce registrele cu scop general sunt pe 32 de biti. In schimb, familia Alpha pe 64 de biti foloseste un format de date si registre in virgula mobila pe 64 de biti si registre intregi pe 64 de biti.

Limitele procesoarelor

In principiu, un microprocesor pe 64 de biti poate adresa 16 EB-uri (16 × 10246 = 264 = 18,446,744,073,709,551,616 octeti, sau aproximativ 18,4 exabytes) de memorie. Cu toate acestea, nu toate seturile de instructiuni si nu toate procesoarele care implementeaza aceste seturi de instructiuni accepta un spatiu complet de adrese virtuale sau fizice pe 64 de biti.

Arhitectura x86-64 (incepând din 2016) permite 48 de biti pentru memoria virtuala si, pentru orice procesor dat si pâna la 52 de biti pentru memoria fizica. Aceste limite permit dimensiuni de memorie de 256 TB (256 × 10244 octeti) si respectiv 4 PB (4 × 10245 octeti), respectiv. Un computer nu poate contine in prezent 4 petabytes de memorie (datorita dimensiunii fizice a cipurilor de memorie), dar AMD a imaginat servere mari, clustere de memorie partajate si alte utilizari ale spatiului de adrese fizice care ar putea aborda acest lucru in viitorul apropiat.

Astfel, adresa fizica de 52 de biti ofera spatiu amplu pentru extindere, fara a suporta costul implementarii adreselor fizice complete pe 64 de biti. In mod similar, spatiul de adrese virtuale de 48 de biti a fost conceput pentru a oferi 65.536 (216) ori limita de 32 de biti de 4 GB (4 × 10243 octeti), permitând spatiu pentru extinderea ulterioara si fara a suporta costuri suplimentare pentru traducerea adreselor complete pe 64 de biti.

  • Power ISA v3.0 permite 64 de biti pentru o adresa eficienta, mapata la o adresa segmentata cu 65 pâna la 78 de biti (permisa) pentru memoria virtuala si, pentru orice procesor dat, pâna la 60 de biti pentru memoria fizica.
  • Oracle SPARC Architecture 2015 permite 64 de biti pentru memoria virtuala si, pentru orice procesor dat, intre 40 si 56 de biti pentru memoria fizica.
  • Arhitectura sistemului de memorie virtuala ARM AArch64 permite 48 de biti pentru memoria virtuala si, pentru orice procesor dat, de la 32 la 48 de biti pentru memoria fizica.
  • Specificatia DEC Alpha necesita cel putin 43 de biti de spatiu pentru adrese de memorie virtuala (8 TB) pentru a fi acceptata, iar hardware-ul trebuie sa verifice si sa capteze daca restul de biti neacceptati sunt zero (pentru a sprijini compatibilitatea pe viitoarele procesoare). Alpha 21064 a acceptat 43 de biti de spatiu de adrese de memorie virtuala (8 TB) si 34 de biti de spatiu de adrese de memorie fizica (16 GB). Alpha 21164 a acceptat 43 de biti de spatiu de adrese de memorie virtuala (8 TB) si 40 de biti de spatiu de adrese de memorie fizica (1 TB). Aplicatii pe 64 de biti

32 de biti fata de 64 de biti

O schimbare de la o arhitectura pe 32 de biti la o arhitectura pe 64 de biti este o modificare fundamentala, deoarece majoritatea sistemelor de operare trebuie modificate extensiv pentru a profita de noua arhitectura, pentru ca acel software trebuie sa gestioneze hardware-ul de adresare a memoriei efective. [Alte programe software trebuie, de asemenea, sa fie portate/modificate pentru a utiliza noile abilitati; software-ul mai vechi pe 32 de biti poate fi acceptat fie in virtutea setului de instructiuni pe 64 de biti, fiind un superset al setului de instructiuni pe 32 de biti, astfel incât procesoarele care accepta setul de instructiuni pe 64 de biti pot rula si cod pentru instructiunea pe 32 de biti, sau prin emulare de software, sau prin implementarea efectiva a unui procesor pe 32 de biti in cadrul procesorului pe 64 de biti, ca si in cazul unor procesoare Itanium de la Intel, care includeau un procesor IA-32 pentru a rula aplicatii x86 pe 32 de biti. Sistemele de operare pentru aceste arhitecturi pe 64 de biti accepta, in general, atât aplicatii pe 32 de biti, cât si pe 64 de biti.

O exceptie semnificativa la acest lucru este AS / 400, software pentru care este compilat intr-o arhitectura de seturi de instructiuni virtuale (ISA) numita Technology Independent Machine Interface (TIMI); Codul TIMI este apoi tradus in codul masinii native de catre un software de nivel inferior inainte de a fi executat. Software-ul de traducere reprezinta tot ce trebuie rescris pentru a muta sistemul de operare complet si toate software-urile pe o noua platforma, ca atunci când IBM a tranzitionat setul de instructiuni native pentru AS / 400 de la vechiul IMPI pe 32/48 de biti la cel mai nou PowerPC pe 64 de biti -AS, denumit Amazon.

Pe hardware-ul de 64 de biti cu arhitectura x86-64 (AMD64), majoritatea sistemelor si aplicatiilor de operare pe 32 de biti pot rula fara probleme de compatibilitate. In timp ce spatiul de adresa mai mare al arhitecturilor pe 64 de biti faciliteaza lucrul cu seturi mari de date in aplicatii precum video digital, calcul stiintific si baze de date mari, au existat dezbateri importante daca acestea sau modurile lor de compatibilitate pe 32 de biti vor fi mai rapide decât sistemele pe 32 de biti la preturi comparabile pentru alte sarcini.

Un program Java compilat poate rula pe o masina virtuala Java pe 32 sau 64 de biti fara modificari. Lungimile si precizia tuturor tipurilor incorporate, cum ar fi char, short, int, long, float si double, precum si tipurile care pot fi utilizate ca indici matrice, sunt specificate de standard si nu depind de arhitectura. Programele Java care ruleaza pe o masina virtuala Java pe 64 de biti au acces la un spatiu de adrese mai mare.

Viteza nu este singurul factor de luat in considerare la compararea procesoarelor pe 32 si 64 de biti. Aplicatii precum multi-tasking, testarea stresului si clusterizarea – pentru calcul de inalta performanta (HPC) – pot fi mai potrivite pentru o arhitectura pe 64 de biti atunci când sunt implementate corespunzator. Din acest motiv, clusterele pe 64 de biti au fost utilizate pe scara larga in organizatii mari, cum ar fi IBM, HP si Microsoft.

Rezumat:

  • Un procesor pe 64 de biti functioneaza cel mai bine cu software-ul pe 64 de biti.
  • Un procesor pe 64 de biti poate avea compatibilitate inversa, permitându-i sa ruleze software pe 32 de biti pentru versiunea pe 32 de biti a setului sau de instructiuni si poate, de asemenea, sa accepte sisteme de operare pe 32 de biti pentru versiunea pe 32 de biti a setului sau de instructiuni. .
  • Un procesor pe 32 de biti este incompatibil cu software-ul pe 64 de biti.
0 Shares
You May Also Like