![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| « Torna all'articolo - Stampa | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Pagina 1 - Introduzione
Martedì 22 Aprile 2003 è un giorno molto importante per AMD; il produttore americano, a New York, introduce quest'oggi le nuove cpu della famiglia Opteron, processori per sistemi workstation e server che sulla carta rappresentano per AMD una svolta estremamente importante. Per la prima volta AMD introduce una nuova architettura, quella x86-64, che stando alle aspettative del produttore americano dovrebbe portare ad una transizione verso applicazioni a 64bit, senza penalizzazioni nell'utilizzo di programmi attuali scritti a 32bit. E, soprattutto, AMD lancia una diretta sfida a Intel in un settore di mercato da quest'ultima dominato negli ultimi anni: quello dei sistemi workstation e server da 2 a 8 vie, nel quale hanno spopolato le varie versioni di processore Xeon. Mercato strategico in quanto estremamente redditizio. In questo momento mi trovo a New York, assieme ad altri giornalisti europei, invitato da AMD a partecipare all'evento ufficiale con il quale Opteron è presentato; non mi sono ovviamente lasciato sfuggire questa occasione e spero, nelle prossime ore, di poter fornire un dettagliato report dell'evento, oltre a fornire più informazioni sui partner che quest'oggi annunceranno il supporto alle cpu Opteron. Questo articolo vuole rappresentare una prima analisi teorica e tecnica, pur se per quanto possibile largamente comprensibile per la maggior parte degli appassionati, alle caratteristiche tecniche della nuova cpu Opteron; l'obiettivo è quello di far capire per quale motivo di questa nuova cpu si sia così tanto parlato in questi mesi e che impatto potrà avere sul mercato dei sistemi workstation e server multiprocessore. Iniziamo con l'identificare i processori Opteron alla luce del loro model number: è basato su 3 cifre, ciascuna delle quali ha significati ben differenti tra di loro. In dettaglio abbiamo:
Da segnalare che manca un'indicazione per il numero 4, quanto a processori supportati; per via della particolare architettura la configurazione Opteron 8 supporta anche 4 processori, con ovviamente un massimo di 8. Pagina 2 - Perché 64bit possono fare la differenza?
Una delle principali novità introdotte con il processore Opteron è il supporto ai 64bit; molti utenti che non hanno esperienze con sistemi di calcolo dalla potenza elevata si possono domandare quale sia il reale beneficio di avere supporto ai 64bit, quando la maggior parte delle applicazioni sia domestiche che per applicazioni professionali è basata su codice a 32bit. La risposta a questa domanda è, per molti versi, semplice. I processori a 32bit possono indirizzare memoria solo utilizzando questi 32bit; per questo motivo, il massimo quantitativo di memoria che possono utlizzare è dato da 2 elevato alla 32, che porta ad ottenere 4,297,967,296 Bytes o, più comodamente, 4 Gbytes. Allo stesso modo, il massimo quantitativo di memoria che un'applicazione a 32bit può utilizzare è sempre pari a 4 Gbytes. Le cpu Intel Xeon possono emulare un indirizzamento a 36bit, che di fatto innalza il limite sino a 64 Gbytes di memoria utilzizabile; purtroppo questo, come tutte le emulazioni, avviene a discapito delle prestazioni velocistiche complessive. Passare ai 64bit permette di innalzare sia il quantitativo massimo di memoria indirizzabile dal processore, sia quello delle applicazioni utilizzabili. Se un utente di PC desktop al momento non sente l'esigenza di utilizzare un quantitativo di memoria superiore a 512 Kbytes, di certo non incontra le limitazioni di 4 Gbytes di indirizzamento dei processori a 32bit. D'altro canto, esistono numerosi ambiti applicativi nei quali 4 Gbytes di memoria rappresentano un limite. Un esempio concreto per tutti può essere dato dal master database server del cluster di server che gestisce questo sito, Hardware Upgrade: questa macchina, infatti, è fortemente limitata dal poter utilizzare solo 4 Gbytes di memoria di sistema, soprattutto pensando che deve gestire database di dati che raggiungono dimensioni tali da non poter essere completamente caricati nella memoria di sistema. Pagina 3 - Architettura x86-64 Opteron, prima cpu AMD basata sul progetto Hammer, è basata 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 il processore Opteron esegue non in emulazione applicazioni scritte per processori a 32bit; per questo motivo, questo processore può essere da subito utilizzato 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.
AMD ha inserito nella cpu Opteron 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 32e a 64bit, l'architettura x86-64 permette al processore di operare in due distinte modalità:
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.
Lo spaccato del Die della cpu Opteron permette di evidenziare il quantitativo di cache L2 di ben 1 Mbyte, integrato all'interno del Core; la Cache occupa circa metà della superficie complessiva del processore. La circuiteria della memory interface DDR è posizionata in modo da avvolgere letteralmente la cache L2, mentre il memory controller è posto sotto i 64 Kbytes di cache L1 per istruzioni. Pagina 4 - Similitudini con l'architettura K7 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, illustrato nel paragrafo precedente, sono state però introdotte varie migliorie:
Qui sotto è riportato lo schema di funzionamento, che ricorda molto da vicino quello delle cpu Athlon.
Pagina 5 - Memory controller integrato: minori latenze Una delle innovazioni del progetto Hammer del quale si è maggiormente discusso in quest'ultimo anno è l'integrazione, all'interno del Core del processore, del memory controller. Questa scelta permette di ottenere latenze di accesso alla memoria estremamente ridotte, a tutto vantaggio delle prestazioni velocistiche ottenibili; la latenza della memoria, infatti, è al momento uno dei più significativi colli di bottiglia alle prestazioni di un sistema, soprattutto quando la cache L2 non permette di contenere tutti i dati che devono essere utilizzati dal processore. Il memory controller opera all'interno del Core del processore, alla sua medesima frequenza di clock; per questo motivo, più elevata è la frequenza di clock della cpu in uso, minore sarà la latenza di accesso della memoria. Utilizzando memory controller esterni integrati nei north bridge dei chipset, invece, si ottiene un effetto opposto in quanto aumenta la frequenza di clock della cpu ma resta invariata quella del memory controller.
Un altro dei vantaggi dato dall'integrazione del memory controller nel Core della cpu è il non utilizzare il bus di sistema per trasferire dati dalla memoria alla cpu; così facendo la sua ampiezza di banda può essere utilizzata per i dati provenienti dagli altri componenti ad esso collegati, come ad esempio le periferiche di Input Output. Ovviamente, integrando il memory controller non si è legati alle scelte progettuali dei produttori di chipset, elemento che dovrebbe permettere di avere prestazioni non dipendenti da errate scelte dei chipset, o di implementazioni del memory controller nel chipset non ottimali. All'interno del processore sono integrati due componenti: il memory controller MCT e il DRAM controller DCT; il primo chip è l'interfaccia tra il Core del processore e il DRAM controller, non dipendente dal tipo di memoria utilizzato. Il secondo chip, invece, è la parte specifica per il tipo di memoria utilizzato. Per questo motivo qualora AMD voglia integrare supporto ad un nuovo standard memoria nelle cpu Opteron, sarà necessario intervenire a sostituire nel processo produttivo della cpu il solo DRAM controller DCT, una parte ridotta dell'intero Die del processore. Una delle limitazioni del memory controller integrato nel Core è dato dall'impossibilità di adottare nuove tecnologie memoria con uno specifico processore, se queste non sono supportate direttamente dalla cpu. Ad esempio, non sarà possibile sfruttare memoria DDR-II con le cpu Opteron presentate quest'oggi, in qunto AMD quando DDR-II diventerà diffusa sul mercato dovrà presentare una nuova versione di cpu, con memory controller dotato di supporto alla memoria DDR-II. Pagina 6 - HyperTransport HyperTransport è un bus point-to-point sviluppato appositamente da AMD, assieme ad un consorzio di numerose altre aziende, quale vero e proprio cuore del progetto Hammer. Lo scopo di questo bus è quello di fornire una via semplice per connettere tra di loro le varie periferiche che compongono un sistema, dal processore al controller AGP alle periferiche di Input Output. Oltre a questo, HyperTransport è stato studiato per poter permettere di passare a sistemi multiprocessore in un modo semplice, incidendo il meno possibile sui costi di produzione e allo stesso tempo mantenendo le prestazioni su standard ben superiori a quelli dei tradizionali sistemi a 2 e più vie. Il bus HyperTransport può essere utilizzato in varie configurazioni: l'ampiezza può essere selezionata tra i valori di 2, 4, 8, 16 e 32 bits, mentre la frequenza può variare da 400, 600, 800, 1000, 1200 e 1600Mhz. Lo schema seguente mostra la bandwidth massima teorica ottenibile con ciascuna combinazione:
Ogni componente collegato al bus HyperTransport deve integrare almeno un controller HyperTransport, che può avere ampiezza e frequenza variabile a seconda del tipo di applicazioni per il quale è utilizzato. Se un componente integra due controller può essere messo sul bus in qualsiasi posizione, mentre se ne integra solo uno dev'essere necessariamente posto ad uno degli estremi della catena del bus, in quanto a cascata di quel componente non vi è nulla che possa essere collegato. I tunnel sono quelle parti di bus che collegano tra di loro due controller, quindi due componenti della catena HyperTransport.
Lo schema qui sopra riportato esemplifica una catena HyperTransport che connette tra di loro 2 processori AMD Opteron, via bus da 3,2 Gbytes al secondo; ogni processore ha il proprio memory controller, pertanto a ciascuno è collegato un blocco di Slot memoria DDR. Un tunnel HyperTransport da 800 Mbytes al secondo connette i processori all'I/O Hub, che gestisce le periferiche PCI, i controller EIDE e le restanti periferiche I/O.
Inserendo nella situazione precedente anche un secondo componente, il Tunnel PCI-X, la catena HyperTransport si arricchisce di nuove connessioni: in questo caso il tunnel tra cpu e controller PCI-X è a 3,2 Gbytes al secondo, mentre da questo all'I/O Hub resta di 800 Mbytes al secondo.
L'ultima configurazione prevede l'aggiunta di un AGP Graphic Tunnel in cima alla catena, connesso con un tunnel da 6,4 Gbytes al secondo alle cpu. Queste sono a loro volta connesse tra di loro da un tunnel da 6,4 Gbytes al secondo, oltre a sfruttare un'architettura della memoria di tipo Dual DDR. Pagina 7 - Sistemi multiprocessore con cpu Opteron I benefici del bus HyperTransport sono evidenti soprattutto pensando alla realizzazione di piattaforme a 4 e più vie; lo schema seguente illustra come un sistema con 4 cpu Opteron opera.
I processori Opteron sono collegati tra di loro via tunnel HyperTransport a 6,4 Gbytes al secondo ciascuno. Ogni processore, poi, integra il proprio memory controller, ciascuno con la propria memoria. Ogni cpu, grazie a questa struttura, può utilizzare dati contenuti nella memoria associata ad una delle altre cpu del sistema. Un procesore Opteron può pertanto trasferire dati contenuti nella memoria associata ad un'altra cpu alla bandwidth massima di 3,2 Gbytes al secondo: il bus HyperTransport utilizzato, infatti, trasferisce su entrambi i fronti di clock ad un massimo di 6,4 Gbytes al secondo, pertanto da un processore all'altro i dati passano ad un massimo di 3,2 Gbytes al secondo. In abbinamento a memoria DDR333 Dual Channel ogni processore Opteron ha a disposizione una bandwidth massima teorica di 5,4 Gbytes al secondo, pertanto gli accesi da una cpu alla memoria collegata ad un'altra cpu Opteron non saranno mai tali da saturarne completamente la bandwidth a disposizione. Se questa rappresenta una limitazione, dall'altra parte bisogna pensare che le piattaforme concorrenti basate su cpu Intel Xeon devono condividere un'unico bus memoria: al crescere del numero di processori collegati, pertanto, la bandwidth complessivamente a disposizione di ogni cpu si riduce. Indubbiamente l'approccio seguito da AMD, almeno sulla carta, sembra portare ad una maggiore efficienza e a prestazioni superiori soprattutto quando il numero di processori collegati aumenta. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pagina stampata da Hardware Upgrade: http://www.hwupgrade.it Vietata la copia e la distribuzione (anche parziale) senza la previa autorizzazione di Hardware Upgrade S.r.l Per maggiori informazioni : http://www.hwupgrade.it/sito/legale/ Copyright 1997 - 2012 Hardware Upgrade S.r.l |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||