AMD64

L'AMD Opteron, la prima CPU a introdurre l'estensione x86-64

AMD64, 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.

Storia

L'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.

Caratteristiche

L'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.

Registri

L'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.

Istruzioni

Lo stesso argomento in dettaglio: Instruction set.

Come 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.

Vantaggi

I 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. L'aumento di quantità di memoria installabile poi, rappresenta un vantaggio irrinunciabile, sia in ambito multimediale (video editing, fotoritocco, ecc.) che in ambito videoludico.

Svantaggi

Compatibilità dei sistemi operativi

Linux

Durante 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.

Windows

A 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 operativi

Attualmente anche altri sistemi operativi minormente diffusi dispongono di un'edizione specifica per questo tipo di processori (es. FreeBSD, NetBSD, OpenBSD, Solaris, ecc.).

Note

  1. ↑ 32-bit vs. 64-bit systems, su superuser.com. URL consultato il 23 marzo 2018.

Voci correlate