Athlon XP 64 ed Opteron: nuova potenza a 64 bit da Amd

Athlon XP 64 ed Opteron: nuova potenza a 64 bit da Amd
Analisi delle tecnologie dei due nuovi processori a 64 bit di Amd: Athlon 64 ed Opteron basati sul nucleo Hammer e
dotati del nuovo bus Hypertransport in contrapposizione alla strategia di Intel e del suo Itanium.
L’evoluzione dei processori per personal computer procede a tappe forzate: da un lato si cerca di diminuire le
dimensioni dei transistor per poterne elevare la frequenza di funzionamento, dall’altro lato si tenta anche di
ampliare nei processori la dimensione delle “cache” ossia delle memorie di transito superveloci interne usate come
memorie-cuscinetto per limitare la caduta prestazionale che deriva dagli accessi alla memoria Ram.
Soprattutto però lo sforzo delle due grandi case costruttrici Intel (Integrated Tecnologies) ed Amd (Advanced Micro
Devices) è volto alla realizzazione di schemi di elaborazione ottimizzati che consentano ai nuovi processori, a
parità di frequenza, di poter elaborare una maggiore mole di dati integrando nuovi schemi di parallelismo interno
volti a far si che la Cpu arrivi a elaborare più istruzioni contemporaneamente.
La recente versione “northwood” del Pentium 4 con cache di 512 Kb, detta anche Pentium 4B, introdotta da Intel
ad Aprile 2002 e funzionante a frequenze operative elevate aveva messo in imbarazzo Amd. Le nuove versioni di
Pentium 4 da 3.06 Ghz in su con l’ausilio della nuova tecnologia Hyperthreading sono oggi in grado di far operare
un singolo Pentium 4 come fossero due, certo, questo solo in via teorica e non con tutti i software, ma anche nella
pratica i benchmark fanno segnare interessanti incrementi prestazionali attivando questa modalità.
L’Athlon Xp di Amd pur non raggiungendo le frequenze operative reali del Pentium 4B dispone però di un fattore
Ipc superiore grazie alla sua pipeline più corta, alle ampie cache di primo livello di (128 Kb) e di 512 Kb di secondo
livello nel nuovo modello con nucleo “barton” a 0.13 micron. Quest'ultima versione sembra però essere il capolinea
della fortunata serie K7.
Amd sta infatti pensando ad una completa riprogettazione della sua piattaforma hardware, non solo su un nuovo
processore capace di elaborare codice a 64 bit ma anche verso un nuovo bus di sistema, LDT (Ligthning Data
Transport) basato su connessioni Hypertransport che si preannuncia come rivoluzionario. In questo articolo
cercheremo di capire le strategie di Intel ed Amd per il futuro dei nostri personal computer.
Amd x86-64 ed il progetto Hammer:
Il nucleo dei nuovi processori Amd è stato denominato Hammer (inglese:
“martello”), si tratta di Cpu di ottava generazione (serie K8) in grado di
elaborare sia il comune codice x86 a 32 bit degli attuali software e sia il
nuovo codice x86-64 bit. Nel primo caso la Cpu opererà in Legacy mode
mentre nel secondo caso, fornendo codice a 64 Bit, passerà in Long
Mode. Hammer tuttavia non è solo un nuovo processore ma un progetto
di una piattaforma hardware completamente nuova. Sono stati rivisti tutti i
bus interni di collegamento sulla scheda madre realizzando delle
connessioni punto-punto ad alta velocità ed è stato predisposto un
sistema di collegamento tra le Cpu che permetterà (finalmente) di
realizzare sistemi bi e multiprocessore a basso costo. Tutta la nuova
architettura sarà quindi esente dai colli di bottiglia dei sottosistemi di
memoria che affliggono gli attuali processori ma manterrà allo stesso
tempo una perfetta compatibilità con l’hardware pregresso. I processori
Hammer sono costruiti secondo lo schema Cisc (Complex Instruction Set
Computing); si tratta di una architettura costruttiva che utilizza la
microprogrammazione e l'impiego di istruzioni complesse. I processori
Cisc sono dotati di un ampio set di istruzioni (instruction set) facilitando la
creazione del codice da parte del compilatore. Queste macroistruzioni possono eseguire operazioni complesse ma
sono però più lunghe da elaborare ed ognuna di esse richiede quindi un maggior tempo per essere eseguita. Tutti i
processori Intel ed Amd a partire dall’8086 al 486 sono costruiti con architettura Cisc pura. A partire dai Pentium e
K6 sono stati adottati degli schemi di funzionamento a pipeline parallele, branche di predizione dei salti,
esecuzione speculativa ecc., ma anche questi processori, Pentium 4 ed Athlon Xp compresi, sono da ritenersi di
tipo Cisc. Tutta la serie di questi processori Intel/Amd è denominata x86 in quanto deriva dal set di istruzioni del
primo processore Intel 8086 costruito nel 1979. Ancor oggi infatti un Pentium 4 od un Athlon XP sono in grado di
avviare il Lotus 123 o il Wordstar per Dos che giravano sul loro antenato di 24 anni fa.
http://guidepc.altervista.org
In contrapposizione a questa filosofia troviamo i processori Risc (Reduced Instruction Set Computing), essi sono
basati su un set di istruzioni molto ridotto; per eseguire una operazione (una somma, un confronto tra i valori di due
operandi ecc.) con una di queste Cpu il programmatore (tramite il compilatore) dovrà invocare numerose istruzioni.
Il vantaggio è che ogni singola istruzione viene eseguita molto velocemente, di solito in un solo ciclo di clock. La
stessa architettura hardware del chip ne risulta semplificata favorendo la possibilità di salire in frequenza. Questi
processori sono usati in Server e Workstation di fascia alta, citiamo ad esempio le SparcStation di Sun od i sistemi
Alpha di Hp, anche nei personal computer Power Macintosh sono tuttavia usati processori Risc.
Da questo punto di vista i nuovi processori Hammer di Amd, elaborando ancora in modo diretto il set di istruzioni
x86 sono da considerarsi a tutti gli effetti, pur con le dovute ottimizzazioni, dei processori Cisc.
Intel IA-64 ed il progetto Itanium:
Intel dal canto suo sta invece deviando da questa strada.
La sua via verso i 64 bit con i processori Itanium prevede
un completo (o quasi) abbandono della piattaforma x86 a
32 bit attuale per una nuova piattaforma denominata Ia-64
(Intel architecture 64 bit). Itanium è un processore evoluto
ad architettura Vliw, essa riprende in parte la filosofia Risc
ma con differenze marcate. Vediamo di darne una
descrizione: i compilatori del codice x86 delle attuali Cpu
producono codice macchina di tipo sequenziale, le
istruzioni vengono elaborate una alla volta nell’ordine
d’esecuzione. Deve essere poi il processore a tentare di
individuare i possibili parallelismi d’esecuzione analizzando
il codice ed incanalando le istruzioni nelle diverse unità di
elaborazione parallele (le pipeline) contenute nella sua
microcircuiteria. In questo modo si può elaborare una
istruzione per ciclo di clock anziche una ogni tre o cinque. L’esecuzione speculativa ad esempio è una tecnica che
fornisce al processore dati e istruzioni da elaborare in anticipo rispetto al flusso principale del codice, cercando di
prevedere i possibili salti condizionali per mezzo di complessi algoritmi. Anche se ben studiati questi algoritmi
possono azzeccare i punti di diramazione del flusso dei programmi solo nel 90% dei casi ed un errore speculativo
implica uno stallo nella pipeline del processore che deve svuotare i propri buffer e rieffettuare da zero tutto il
calcolo. Per rendere disponibili questi algoritmi direttamente all’interno dei microcircuiti del processore è inoltre
necessario integrare notevoli quantità di transistor rendendo di fatto complessa sia la progettazione sia la
produzione del chip. In Itanium ed Itanium II Intel ha voluto risolvere il problema alla base, in modo radicale,
mettendo a disposizione del codice differenti unità di esecuzione indipendenti e lasciando poi al compilatore del
software il compito di assemblare codice adatto all’esecuzione parallela. Sono incorporate sei pipeline che
divorano codice progettato già all’origine per essere eseguito in forma parallela. Questo ha il vantaggio che il
codice verrà eseguito con la massima velocità ed efficienza computazionale scavalcando dunque il problema del
riordino del pesante codice sequenziale x86 tradizionale. Per questo Intel parla di architettura Epic (Explicit Parallel
Instruction Computing - Esecuzione delle istruzioni esplicitamente parallela). Sarà altresì possibile disporre di parte
della preziosa area di silicio del chip per l’implementazione di ulteriori funzioni.
Il rovescio della medaglia è che Itanium opererà al 100% delle sue potenzialità solo con software a 64 bit
oppurtunamente creato ed ottimizzato. Quando andrà invece ad eseguire gli attuali software a 32 bit realizzati con
codice x86 il processore si troverà in enorme difficoltà dovendo tradurre le vecchie istruzioni nelle nuove. Una
scelta coraggiosa quella di Intel che finora però non ha portato risultati: Itanium esiste sul mercato da più di tre anni
ma ne sono stati venduti nel settore server solo poche centinaia di esemplari, più che altro nei server Hp. Intel
afferma che la versione di Itanium in commercio sinora era sperimentale e che vedremo all’opera questa Cpu a
partire dal modello Itanium II per il quale Intel prevede una ampia diffusione sul mercato high-end.
Chi avrà ragione, Amd con la sua linea evolutiva graduale o Intel col suo netto strappo verso il passato? L’influenza
di Intel nel mondo del personal computer è imponente ma in passato scelte di marketing sbagliate, come le
memorie Rambus per il Pentium III/4, non sono state recepite e difficilmente società ed imprese che hanno
investito milioni di euro in sviluppo software opteranno per un processore incapace di far funzionare al meglio i loro
programmi.
In realtà Itanium è perfettamente in grado di far funzionare i software a 32 bit ma tali programmi vengono avviati in
“meccanismo di traduzione”: una sorta di emulazione. E’ come se nel processore fosse stata integrata una Cpu
x86 a 32 bit per emulare il “vecchio” software. Qualcosa di simile accade nell’ambiente Apple Macinthosh con i
processori PowerPc ove si è vede funzionare il famoso SoftPc, un emulatore software capace di trasformare il
codice x86 dei processori per personal computer in qualcosa di digeribile per le Cpu Risc PowerPc dei Macinthosh.
Il risultato è buono dal lato della compatibilità ma pessimo da quello delle prestazioni. Per un Itanium 1 ad 800 Mhz
è stato calcolato che riesce a far funzionare gli attuali software a 32 bit con una efficienza simile a quella di un
http://guidepc.altervista.org
Pentium III a 600 Mhz. La basse frequenze di funzionamento di Itanium sono dovute alla enorme complessità
architetturale del processore, alla pipeline corta (8 stadi) ed alla spaventosa emissione di calore: i dissipatori per i
server Itanium sono grandi come le testate di un motorino!
Se però ad Itanium viene fornito di codice a 64 bit ottimizzato il processore può esprimere una impressionante
potenza, specie nel calcolo in virgola mobile. I dati di Itanium II sono impressionanti: 128 registri per gli interi e
altrettanti per i numeri in virgola mobile, 64 registri di predicato e nove unità di esecuzione (6 interi, 2 virgola
mobile, 1 load/store). Sono presenti altresì ben tre livelli di cache, i primi due con L1 di 32 Kb ed L2 di 256 Kb
all’interno del nucleo ed il terzo esterno fino a 3 Mbyte sulla stessa basetta della Cpu. In virtù di questa complessità
architetturale prevediamo che si tratterà di processori oltremodo costosi e quindi destinati, almeno inizialmente, al
mercato server mentre i Pentium 4 continueranno ad imperare ancora a lungo sui desktop.
Box: A cosa servono i 64 Bit?
Molti pensano che con l’avvento dei
processori a 64 bit e delle relative
applicazioni software si otterrà un aumento di
prestazioni rispetto agli attuali sistemi. Tutto
ciò è vero ma solo in parte; i primi processori
per Pc 8086 ed 80286 a 16 bit erano in grado
di indirizzare una quantità di memoria
massima di 2^16=65.535 Byte cioè 64 Kbyte.
In realtà la massima memoria indirizzabile
per l’80286 era di 16 Mb a cui il processore
poteva però accedere solo a blocchi di 64
Kbyte alla volta. Tutti i successivi processori
a partire dall’Intel 80386 Dx sino agli attuali
Pentium 4/Athlon sono tutte Cpu a 32 bit.
Sono pertanto in grado di indirizzare una
quantità massima di memoria pari a
2^32=429.4967.296 bytes ossia 4 Gigabyte. Sembra una quantità di memoria ragguardevole ma non è così,
lasciando da parte i comuni Pc desktop va infatti tenuto conto che per un Web server che gestisce un database
centralizzato di decine di Gigabyte attraverso gestori come Microsoft Sql server od Oracle questa quantità di
memoria è molto risicata.
Va inoltre tenuto conto che Windows 2000 server riserva per se 2 Gb lasciandone solo altri 2 alle applicazioni
software. In verita con dei meccanismi software evoluti quali il 4Gt (4 Gbyte Ram Tuning) contenuti nelle versioni
Windows 2000 Advanced Server si riescono a fornire 3 Gbyte agli applicativi e con l’ancora più evoluto Pae
(Phisical Address Extension) si può arrivare a mappare fino ad 8 Gbyte.
Queste quantità sono comunque minime per una applicazione Data-Warehousing o per una Workstation di fascia
alta adibita al calcolo scientifico di applicazioni di simulazione (biologia e meterologia). Questi sistemi trarrebbero
dunque molto più vantaggio da un nuovo sistema di indirizzamento della memoria più che da un semplice aumento
della frequenza di clock del processore.
Le future Cpu a 64 Bit Intel Itanium ed Amd Hammer saranno in grado di indirizzare una quantità di memoria pari a
2^64=18.446.744.073.709.551.616 bytes pari a 17.179.869.184 Gbyte (17.2 miliardi di Gigabyte) o per essere
precisi 16 Exabyte di dati! Questa quantità di memoria è sufficiente a soddisfare qualsiasi sistema di elaborazione
dati attuale e futuro.
Tuttavia l’aumento di prestazioni non deriverà solo dalla possibilità di un più ampio indirizzamento di memoria ma
anche dal fatto che queste Cpu potranno manipolare 64 bit di dati alla volta. Occorrerà qui pertanto un bus di
sistema adeguato alla nuova enorme mole di dati in transito e da questo punto di vista Amd con Hypertransport
sembra essere per ora in vantaggio rispetto ad Intel.
http://guidepc.altervista.org
I nuovi processori Athlon XP 64:
Dopo aver descritto l’architettura
generale delle Cpu a 64 bit
passiamo ad esaminare quello
che, con tutta probabilità, sarà il
processore per Pc Desktop più
veloce nei prossimi anni: l’Athlon
XP 64. Si tratta di una Cpu x8664 per sistemi monoprocessore
completamente diversa dagli
attuali Athlon e basata su una
variante del nucleo Hammer
denominata ClawHammer.
Questo processore sarà
incompatibile con le attuali
schede madri Socket A e
richiederà motherboard
completamente nuove come
quella visibile nella figura “La
prima scheda madre per Athlon
XP 64”. Verrà installato in un nuovo zoccolo Socket 754 dotato di ben 754 piedini per accettare i complessi segnali
del nuovo processore. Anche i chipset saranno totalmente nuovi, Via sta per introdurre il Via K8t400, Sis produrrà il
Sis 755 mentre la stessa Amd distribuirà l’Amd 8151. Tutti questi chipset saranno in grado di gestire memorie
Ddr333 e Ddr400 oltre a disporre ovviamente delle più recenti features quali il supporto Usb 2.0, Agp 8x, Ata133 e
Serial Ata 150 come illustrato nella tabella di seguito.
http://guidepc.altervista.org
Tabella: Caratteristiche dei nuovi chipset per Athlon XP 64
AMD-8000 VIA K8HTA SiS755 ALi M1687
AGP 8x
Grafica 2D/3D integrata
Si
No
No
ATA/133
Si
No
No
Si
Ethernet
Si
FireWire
No
No
Si
Serial ATA
No
Si
Si
No
6 porte
6 porte
6 porte
6 porte
PCI
4 Devices
5 Devices
?
?
PCI-X
10 Devices
No
No
No
USB 2.0
Audio integrato
Si
Athlon XP 64 sarà dotato di un doppio controller di memoria integrato da 72 bit capace di supportare fino a 4 Gbyte
di memoria Ddr333. Doppio perchè riesce ad usare contemporaneamente due canali di memoria per una banda
massima teorica di 5400 Mbyte/sec; è la stessa tecnica adottata da Intel col chipset i850 e da Nvidia con il chipset
Nforce2. Aver integrato il controller per la memoria nel nucleo permette al processore di gestire da se le transazioni
di dati con la memoria di sistema, cosa che prima era affidata al chipset Northbridge. Il Northbridge è il chip
principale dei due (o tre) che costituiscono il chipset della scheda madre. Altrimenti chiamato memory controller, è
ad esso che negli attuali sistemi viene affidato il compito di gestire il traffico dati tra Cpu e Ram; nel caso delle Cpu
Hammer questa operazione verrà eseguita direttamente dal processore. Il lato positivo di questa soluzione sarà
una riduzione netta delle latenze di trasmissione per i dati in transito tra Cpu e memoria sia per via della riduzione
delle distanze circuitali e sia perchè il memory controller integrato funziona alla stessa frequenza della Cpu
potendo operare quindi a 2 Ghz e più anziche a 266 Mhz. Il lato negativo sarà che con l’evoluzione delle memorie
verso le Ddr400 e Ddr II questo memory controller integrato nella Cpu potrebbe presto divenire obsoleto. Amd ha
pensato però anche a questo rendendo escludibile questa parte del processore in modo da demandare la gestione
ad un eventuale controller esterno più efficiente. Athlon XP 64 sarà dotato di una cache L1 di 64+64 Kb (dati e
istruzioni), di una cache L2 di 512 Kb o 1 Mbyte a seconda dei modelli ed implementerà un singolo canale
Hypertransport a 16 Bit. Al momento non si sa ancora se potrà essere implementato in sistemi biprocessore.
Diverse saranno le migliorie architetturali del nucleo tra cui una Pipeline di elaborazione delle istruzioni a 12 stadi
contro i 10 dell’Athlon standard che dovrebbe permettere una più facile salita delle frequenze. Saranno inoltre
ampliati i buffer iTlbs adibiti alla traslazione degli indirizzi logici in fisici e sarà implementata una nuova e
raffinatissima branca di predizione dei salti nel codice. Va infine citato il non meno importante supporto alle
istruzioni Sse2, introdotte da Intel sul Pentium 4 che, quando invocate dal software, sono in grado di velocizzare
drasticamente l’esecuzione dei programmi.
http://guidepc.altervista.org
Amd Opteron ed i sistemi multiprocessing
Sfruttando le connessioni Hypertransport i processori Opteron potranno realizzare efficientissimi sistemi
multiprocessore. In figura un esempio di connessione tra quattro Cpu.
L’altro processore con nucleo hammer che entrerà in produzione sarà denominato Opteron. Avrà le stesse
caratteristiche di Athlon 64 ma il suo nucleo SledgeHammer avrà in più la disponibilità di una cache L2 da 1 a 2
Mbyte e due canali Hypertransport anzichè uno. Questo processore sarà dunque destinato al mercato High-End
andando in competizione diretta con gli Xeon di Intel ed in seguito con gli Itanium. Gli analisti attribuiscono ad
Opteron eccelse qualità dal punto di vista del supporto multiprocessore, ogni processore sarà dotato di tre
connessioni Hypertransport capaci di collegarlo ad altri Opteron in sistemi di due, quattro od otto processori. Gli
Opteron per comunicare tra loro potranno così sfruttare semplicemente la loro connessione Hypertransport
integrata con un indubbio vantaggio rispetto agli Xeon od Itanium che invece devono “litigare” per ripartirsi le
risorse sul bus di sistema attraverso il quale viaggiano i dati condivisi. Ogni Opteron sarà inoltre in grado di gestire
la propria quantità di memoria grazie al controller integrato. Grazie a queste caratteristiche Cray, noto produttore di
supercomputer, ha scelto Opteron per costruire quello che forse potrà essere il computer più veloce del mondo: il
“Red Storm” adotterà ben 10.000 processori Opteron operanti in parallelo. Il “mostro” dovrebbe essere in grado di
raggiungere i 40 TeraFlops ossia i 40mila miliardi di operazioni al secondo con possibilità di espansione fino ai 60
Tflops. Questa immane potenza di calcolo dovrebbe essere sufficiente in campo militare per simulare esplosioni
nucleari ed in campo civile per simulare fenomeni fisici (meteorologia) ed astronomici.
Box: il nuovo bus HyperTransport ed il Pci-X
Si tratta di un nuovo sistema di connessione tra punto-punto per circuiti integrati generici in grado di abbassare i
tempi di latenza favorendo così elevate velocità di trasmissione dati. Un collegamento di questo tipo connette ad
esempio i processori Hammer tra loro ed ai chipset della scheda madre ma può essere usato anche per connettere
dispositivi di rete e di comunicazione con una velocità fino a 48 volte superiore a quella degli attuali sistemi. Si
tratta in particolare di due canali unidirezionali con una ampiezza da 2 a 32 bit funzionanti a 400 Mhz per le
connessioni di Input/Output ed a 800 Mhz per le interconnessioni tra chip. I dati sono tuttavia trasmessi su
entrambi i fronti del segnale di clock (tecnica Ddr) consentendo così di ottenere un rate di trasferimento massimo
per i dati fino a 6.4 Gb/sec. Come nelle connessioni di rete Tcp/Ip, i dati vengono trasmessi in pacchetti la cui
intestazione identifica il destinatario. E’ dunque possibile concepire il funzionamento delle interconnessioni
HyperTransport in modo simile a quello di una rete, con tanto di hub, switches e tunnel che smistano, intercettano
e lasciano passare i giusti pacchetti di dati.
Per favorire inoltre la connessione di periferiche ad alte prestazioni sembra che sui nuovi sistemi Amd possa in
futuro venire adottato il bus Pci-X ove X sta per Extension. Questo bus è direttamente compatibile con l’attuale (e
vetusto) Pci ma ne innalza la frequenza di funzionamento da 33 a 133 Mhz ed applica una tecnica Ddr ampliando
cosi il rateo di trasmissione dati da 133 Mbyte/sec a 2.16 Gbyte/sec. Le specifiche Pci-X 2.0 possono però arrivare,
applicando una tecnica Qdr (Quadruple data rate), fino ai 4.3 Gbyte/sec. Questo nuovo bus è gia ampiamente
http://guidepc.altervista.org
usato in ambito server per pilotare le velocissime schede di rete da 1 Gigabit ed oltre e sembra in pole position
rispetto ad altri standard quali il Pci Express e Pci Sig.
Box: Microsoft verso i 64 bit
È ormai chiaro: le architetture Ia-64 di Intel ed x86-64 di Amd sono incompatibili a livello di immagine binaria, cosa
succederà dunque? Microsoft supporterà l’una o l’altra? A quanto ci è dato di sapere sembra che verranno
prodotte due versioni alternative di Windows Xp a 64 bit, una specifica per l’architettura degli Itanium di Intel e
l’altra per gli Hammer di Amd, saranno poi le software house a decidere se effettuare il porting delle loro
applicazioni su l’una, l’altra o entrambe le versioni del sistema operativo. Dato lo strapotere commerciale di Intel e
la sua influenza sui costruttori di hardware Amd potrebbe trovarsi in difficoltà per promuovere la sua piattaforma, se
però gli Hammer riusciranno ad uscire prima sul mercato la posizione di Amd potrebbe consolidarsi prima che Intel
possa muovere passi importanti. Dal lato Linux è invece gia accertato che i programmatori stanno migrando in
massa verso la platform di Amd.
http://guidepc.altervista.org