AMD64AMD64, altresì chiamata x86-64, è un'estensione a 64 bit del set di istruzioni x86, che è comune a tutti i processori desktop Intel e AMD più altre marche minori. StoriaL'estensione è stata introdotta da AMD con la sua linea di processori Athlon 64, e Intel ha reso poco dopo i suoi processori compatibili, chiamando però la tecnologia EM64T. CaratteristicheL'estensione AMD64 porta numerosi vantaggi e alcuni svantaggi minori: lo spazio di memoria indirizzabile (visto che i puntatori passano da 32 a 64 bit) aumenta da 4 GiB a, teoricamente, 16 EiB. In pratica, i processori oggi sul mercato si limitano a 256 TiB. Inoltre il processore diventa in grado di gestire interi a 64 bit in modo nativo. I processori a 32 bit possono gestire in modo nativo solo numeri interi fino a 232, dopodiché devono combinare più numeri in modo piuttosto complicato. Un processore a 64 bit sposta questo limite a 16 miliardi di miliardi. I calcoli in virgola mobile non vengono influenzati. RegistriL'architettura AMD64 ha 16 registri generici a 64 bit. I primi otto registri sono chiamati RAX, RBX, RCX, RDX, RSI, RDI, RBP ed RSP, e sono versioni ampliate dei corrispondenti registri x86: è possibile accedere solo alla parte meno significativa di essi usando i vecchi nomi di registro x86. Gli altri otto sono i "registri estesi" e vengono indicati con le sigle da R8 a R15.
IstruzioniCome già accennato, il set di istruzioni è leggermente diverso da quello nativo x86. In particolare alcuni codici obsoleti meno usati (AAA, AAD, AAM, AAS, DAA, alcuni tipi di PUSH e POP e altri) sono stati riassegnati ad altre operazioni.
MOV RAX, immediato ;carica un numero in un registro a 64 bit JRCXZ L1 ;se RCX è zero salta a L1
Alcune istruzioni AMD64 usano un indirizzamento relativo al RIP per recuperare i dati o il codice di cui hanno bisogno. VantaggiI vantaggi di una architettura 64-bit consistono principalmente nella velocizzazione dei calcoli con numeri che occupano spazio in ram maggiore di 32 bit, che nella precedente architettura 32-bit dovevano essere scomposti e poi ricomposti per essere elaborati. Anche l'evoluzione dei compilatori ha apportato un vantaggio significativo in performance ai programmi compilati per architettura 64-bit[1]. L'aumento di quantità di memoria installabile poi, rappresenta un vantaggio irrinunciabile, sia in ambito multimediale (video editing, fotoritocco, ecc.) che in ambito videoludico. SvantaggiCompatibilità dei sistemi operativiLinuxDurante tutto il 2004 e l'inizio del 2005, solo i server Linux hanno utilizzato le estensioni x86-64, beneficiando soprattutto dal fatto di poter indirizzare più di 4 GB di memoria. Attualmente la maggior parte dei sistemi GNU/Linux supporta l'architettura a 64bit. WindowsA partire dal 25 aprile 2005, Microsoft ha messo in commercio una versione di Windows a 64 bit, permettendo ad una fascia più ampia di utenti di sfruttare i nuovi processori. Altri sistemi operativiAttualmente anche altri sistemi operativi minormente diffusi dispongono di un'edizione specifica per questo tipo di processori (es. FreeBSD, NetBSD, OpenBSD, Solaris, ecc.). Note
Voci correlate |