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