Athlon 64 e Athlon 64 FX: analisi tecnica

Athlon 64 e Athlon 64 FX: analisi tecnica

Il 23 Settembre è un giorno memorabile per AMD, in quanto vede l'introduzione della prima cpu Desktop per architetture x86-64. In questa introduzione tecnica sono state analizzate caratteristiche e features delle cpu Athlon 64 e Athlon 64 FX quest'oggi presentate

di pubblicato il nel canale Processori
AMD
 

Architettura x86-64

Opteron e Athlon 64, prime cpu AMD64 disponibili sul mercato, sono basate su architettura x86-64; a differenza di quella IA64 implementata nelle cpu Intel della famiglia Itanium, x86-64 è basata sul set di istruzioni x86 pertanto permette di eseguire in modo nativo codice a 32bit. In parole povere, a differenza della cpu Intel Itanium i processori AMD64 eseguono non in emulazione applicazioni scritte per processori a 32bit; per questo motivo, queste cpu possono essere da subito utilizzate anche con software non a 64bit, senza negativi impatti sulle prestazioni velocistiche del sistema rispetto all'utilizzo di un tradizionale processore a 32bit.

L'introduzione dell'architettura x86-64 riprende in buona sostanza quella dei 32bit avvenuta con le prime cpu Intel 386; in quel periodo, circa 15 anni fa, le applicazioni erano tutte a 16bit e Intel, con la cpu 386, introdusse il supporto al codice a 32bit, ponendo le basi per il successivo sviluppo di questa architettura che si è sviluppata sino ai giorni d'oggi.

x86-64.gif (13431 bytes)

AMD ha inserito nelle cpu AMD64 8 nuovi registri GPR, general-purpose, che vengono utilizzati in modalità a 64bit e pertanto richiedono la ricompilazione del codice per poter essere sfruttati. I registri già esistenti sono stati estesi da 32bit a 64bit, mentre 8 nuovi registri sono stati aggiunti all'unità SSE così da supportare il set di istruzioni SSE2.

Per poter supportare codice e registri a 32 e a 64bit, l'architettura x86-64 permette al processore di operare in due distinte modalità:

ModalitàSistema
Operativo
Ricompilazione
codice
Lunghezza indirizziOperand lengthRegistri addizionaliNumero GPR
Long Mode 64bit64bitsi6432si64
Long Mode compatibility mode64bitno6432no32
Legacy Mode32 oppure 64bitno32 - 1632 - 16no32

La prima è chiamata Long Mode, a sua volta distinta in due modalità; la seconda è quella Legacy mode. La modalità Long Mode 64bit sfrutta interamente l'architettura a 64bit e richiede sistema operativo e applicazioni a 64bit; quella Long Mode Compatibility mode, come il node suggerisce facilmente, richiede sistema operativo a 64bit ma permette di sfruttare codice a 32bit in modo nativo. Quella Legacy Mode, infine, fa si che il processore operi come se possedesse una tradizionale architettura a 32bit.

Nello sviluppare le cpu Hammer, Athlon 64 e Opteron, AMD è partita dal progetto Athlon e ha preferito non costruire da zero una nuova architettura; una scelta di questo tipo è del resto condivisibile, alla luce delle ottime prestazioni per clock delle cpu Athlon. Oltre al supporto ai 64bit sono state però introdotte varie migliorie:

  • la cache L2 è cresciuta sino a 1 Mbyte. Le cpu Athlon possono indirizzare sino a 8 Mbytes di cache L2, anche se all'atto pratico sono state sviluppate versioni solo sino a 512 Kbytes di capacità; per la cpu Opteron questo valore è limitato a 1 Mbyte, pertanto in future versioni della cpu con cache maggiorata AMD farà ricorso a cache L3.
  • la cache L1 è rimasta di 128 Kbytes, divisa in due porzioni da 64 Kbytes per dati e istruzioni; al pari delle cpu Athlon è associativa a 16 vie.
  • la pipeline è più lunga di due stadi; questa scelta, che porta la pipeline a 12 stadi contro il numero di 10 delle cpu Athlon XP, permette in teoria di avere margini più elevati in termini di frequenza di clock complessiva, senza dover essere però limitati da pipeline troppo lunghe che possono, in caso di errori di branch prediction, portare a perdite di numerosi cicli di clock in elaborazione.
  • a motivo della pipeline a stadi aumentati anche l'unità di branch prediction è stata migliorata, aumentandone la precisione. Il global history counter buffer è stato aumentato a una dimensione 4 volte superiore a quello delle cpu Athlon, così da aumentare l'efficienza dell'unità di branch prediction.
  • i buffers di translation lookaside (TLB) sono stati aumentati, sempre per aumentare l'efficienza complessiva.

Qui sotto è riportato lo schema di funzionamento, che ricorda molto da vicino quello delle cpu Athlon.

schema_logico_cpu.jpg (41456 bytes)

 
^