Gentili utenti vi informiamo che il team di MyTech si è spostato sul canale Hitech & Scienza di Panorama.it

      non hai uno username? regìstrati   /   recupera la password

apple / google / microsoft
unmapped

Processori, l’anno della transizione

Scritto da Eugenio Moschini

64 bit, processo produttivo a 90 nanometri, super pipeline e nuovi socket: ecco tutte le novità che ci aspettano nei prossimi mesi.
Mentre il 2003 può essere visto come l’anno della consacrazione dei 64 bit di AMD, il 2004 si apre all’insegna di Intel che, con la presentazione di Prescott, preannuncia importanti novità all’orizzonte. Innanzitutto in Megahertz: la nuova pipeline a 31 stadi (ben 11 in più dell’attuale core Northwood) unita a un processo produttivo a 90 nanometri promette una rapida scalata in frequenza, che dovrebbe portare entro la fine del 2004 all’abbattimento della soglia dei 4 GHz. Il nuovo processo produttivo offre un altro indubbio vantaggio: grazie ai core più piccoli è possibile ottenere un maggior numero di die per wafer di silicio, a tutto vantaggio dell’economia di scala.

Se dal punto di vista della pura frequenza e del processo produttivo la casa di Santa Clara dimostra di avere buone carte, AMD conferma le potenzialità della sua architettura Athlon 64. Continua infatti la maturazione della piattaforma x86 a 64 bit (che comincia a raccogliere consensi anche dalle software house) mentre si rivela vincente la scelta del controller di memoria integrato, soprattutto negli ambienti di calcolo intensivo.

Il 2004 potrebbe dunque essere un anno di transizione, che vedrà i due produttori impegnati a imitare e possibilmente migliorare le tecnologie dell’avversario: AMD dovrebbe infatti introdurre un processo produttivo a 90 nanometri e da lì scalare in frequenza, mentre Intel adotterà un nuovo socket a 775 contatti progettato per le esigenze future. Ecco in breve lo stato del mercato alla luce delle novità di casa Intel, con una panoramica su quanto ci aspetta nei prossimi mesi.

Il nuovo core Prescott

Come è avvenuto nel caso del core Northwood, l’introduzione di Prescott nasconde ben più di una semplice riduzione del die e del passaggio a una tecnologia a 90 nanometri. Quando Intel passò a un processo produttivo da 130 nanometri con il core Northwood, i progettisti aggiunsero 256 KByte di cache L2 (portandola a 512 KByte) e perfezionarono una tecnologia il cui embrione era già presente in tutti i Pentium 4 fin dal progetto originale Willamette. Questa tecnologia, nata per operare in multitasking simultaneo, fu chiamata Hyper-Threading (o più brevemente HT). Inizialmente la funzione HT era disattivata nei primi chip Northwood, ma fu resa operativa al lancio della versione a 3,06 GHz, per essere successivamente introdotta in tutti i nuovi modelli con bus a 800 MHz.

Il passaggio ai 90 nanometri è stato l’occasione con cui la casa di Santa Clara ha ancora una volta migliorato la sua microarchitettura: Prescott presenta un gran numero di perfezionamenti, alcuni originati semplicemente dal nuovo processo produttivo, mentre altri nascono da un profondo cambiamento interno dell’architettura. Il più significativo, legato alla riduzione del die grazie al processo a 90 nm, è la possibilità di integrare memoria cache addizionale. Sia la L1 sia la L2 sono state raddoppiate: la cache L1 per i dati passa ora a 16 KByte mentre la quantità di L2 (unificata per dati e istruzioni) è di 1 MByte.

La riduzione del processo produttivo ha consentito a Intel di raddoppiare il quantitativo di cache ottenendo al tempo stesso un core più piccolo. Questo, grazie anche alla transizione massiccia verso i wafer da 300 mm, consente di produrre un maggior numero di processori per singolo wafer. Naturalmente la transizione ai 90 nanometri ha un costo che deve essere ammortizzato, ma questa scelta implica costi più bassi di produzione e, di conseguenza, possibilità di avere un prezzo di vendita più aggressivo.

Super pipeline

La filosofia che sta alla base del nuovo Prescott è la stessa che sta alla base di tutta l’architettura Pentium 4: la crescita delle prestazioni si ottiene con la scalata in frequenza. Uno dei metodi più utilizzati per incrementare questo valore è aumentare la lunghezza della pipeline. Il vantaggio di una pipeline a più stadi è la possibilità di eseguire un minor lavoro ad ogni passo; in questo modo la lunghezza dei cicli può essere ridotta, consentendo così di aumentare la frequenza di clock e quindi la velocità di esecuzione. Uno dei problemi è dovuto al fatto che le unità di esecuzione presenti nella pipeline operano a frequenze nell’ordine dei GHz, mentre il recupero dei dati dalla memoria di sistema può richiedere più di cento cicli di clock, creando stalli nella pipeline. Il flusso di dati da elaborare deve quindi essere costante e corretto, così che ogni istruzione e dato si trovino al loro posto nel momento in cui se ne ha bisogno. Se non si vuole perciò un processore inoperoso, che perda cicli utili aspettando i dati, bisogna assicurarsi che l’istruzione o i dati richiesti siano presenti in un buffer che affianca la pipeline o al massimo in uno stadio superiore della cache, senza doverli recuperare dalla memoria centrale. Con Prescott Intel ha lavorato in modo particolare per evitare che si verifichino stalli della pipeline; se una pipeline così profonda dovesse essere svuotata di frequente si avrebbe un rapido degrado delle prestazioni, pur disponendo di una frequenza di clock molto elevata.

La maggior parte del software non richiede semplicemente un flusso lineare di istruzioni e dati, ma coinvolge loop e salti. L’abilità di predire quando l’esecuzione del codice subirà un salto, e da qui conoscere come il codice entrerà nella pipeline, è nota come branch prediction. Una pipeline molto profonda richiede perciò anche una tecnica di predizione dei salti molto accurata, infatti se la pipeline è riempita con le istruzioni non corrette (inteso nel senso di non necessarie) deve essere prima svuotata e poi ricaricata. In questo caso il prezzo da pagare in termini di prestazioni è estremamente salato. Per esempio, una predizione sbagliata e lo svuotamento della pipeline implica una penalità di 20 cicli nel caso di un Pentium 4 con core Willamette o Northwood. La già profonda pipeline, nel caso di Prescott, è stata estesa a 31 stadi e in questo caso lo svuotamento della pipeline causato da una imperfetta predizione dei salti potrebbe impattare in maniera molto negativa. Per questo Intel ha lavorato per migliorare la parte di predizione dei salti. Prima di addentrarci nelle novità dobbiamo sottolineare che tutti i Pentium 4 hanno in effetti 2 aree dove vengono determinate le predizioni di salto. La prima nel front end della pipeline, dove è caricato il flusso di istruzioni x86, e la seconda nella trace cache (la parte di cache L1 per le istruzioni che contiene le micro-ops).

La maggior parte della sequenza di istruzioni è gestita dalla trace cache durante la normale esecuzione dei programmi. La profondità della pipeline è misurata proprio dal punto del puntatore della istruzione nel trache cache dal Btb (Branch Target Buffer, tabella di puntamento dei salti) associata con la trache cache. Il Btb della trache cache ha ora 2.048 entrate (un netto incremento se lo confrontiamo alle 512 del precedente Pentium 4) contro le 4.096 entrate del Btb nel front end.

Predizione dei salti

La predizione statica dei salti (una tecnica per conoscere prima dell’esecuzione effettiva sia il comportamento di un salto in avanti sia le richieste dei cicli di loop o di un salto all’indietro) è stata migliorata in Prescott. Nelle precedenti architetture Pentium 4 erano integrati algoritmi per il calcolo della predizione statica che trattavano i salti all’indietro come semplice parte di un loop, ma questo non è sempre vero. I salti di loop solitamente sono più corti rispetto agli altri tipi di salto all’indietro. Se la diramazione non è inclusa nel Btb e deve essere predetta staticamente, un controllo è fatto sui rami in entrambe le direzioni e distanze. Se si supera la soglia predeterminata per un salto la predizione del salto fallisce. In questo caso in Prescott è stata aggiunta la logica che aiuta a determinare se un salto all’indietro fa parte di un loop o di un altro tipo di salto all’indietro. L’accuratezza della predizione dinamica è stata migliorata aggiungendo un predittore di salto indiretto. Per inciso questo è simile a quanto fatto nell’architettura del Pentium-M (core Banias). Dai dati diffusi dalla casa di Santa Clara questa nuova soluzione dovrebbe incrementare il successo dei salti nei benchmarck Spec di un 2-20%.

Altri cambiamenti architetturali

Oltre al settore di predizione dei salti altre parti dell’architettura di Prescott sono state rivisitate per spremere il massimo da questo processore: nella cache L1 per i dati è stata incrementata l’associatività da 4 a 8 vie e le dimensioni sono state raddoppiate (gli 8 KByte di Northwood sono passati ai 16 KByte di Prescott). La nuova cache L2 da 1 MByte, di tipo unificato per dati e istruzioni, è ancora di tipo associativo a 8 vie, come nei precedenti Pentium 4, e ha ancora una linea di cache a 128 byte. Funziona con frequenza sincrona al core e questo implica che, nel caso di una frequenza di 3,4 GHz, la banda passante tra cache e Cpu è di 108 GByte/s.

Le dimensioni dei programmatori dei processi per le istruzioni x87 e per tutti i livelli delle istruzioni Sse sono state incrementate per migliorare l’abilità di trovare il parallelismo nel flusso dei dati multimediali, mentre sono state incrementate le dimensioni e l’efficacia delle code che alimentano tutti i programmatori dei processi, non solo quelli appartenenti a un sottoinsieme. Aumentare la dimensione della coda dei programmatori di processi implica la riduzione dello stallo degli allocatori, consentendo alla loro logica di continuare l’assegnazione micro-ops alle code degli scheduler delle diverse unità funzionali che seguono nella pipeline, mentre le richieste delle risorse di elaborazione delle nuove micro-ops entrano negli stadi dell’allocatore. È stato inoltre aggiunto un moltiplicatore dedicato per le operazioni sui numeri interi.

In precedenza il moltiplicatore della virgola mobile era stato usato per le moltiplicazioni su di essi, ma questo incrementava la latenza a causa della necessità di spostare gli operandi all’unità Fp e poi di nuovo reindirizzare il risultato all’unità degli interi.

Un maggior numero di micro-ops può ora essere decodificato dentro la trace cache più che nei precedenti Pentium 4, mentre rimane il microcode Rom, un lento sistema di decodifica per le istruzioni più complesse e/o infrequenti.

Sse 3, 13 nuove istruzioni multimediali

Il nuovo Pentium 4 con core Prescott aggiunge 13 nuove istruzioni Sse conosciute finora con il nome in codice di PNI (Prescott New Instructions). Queste, studiate principalmente per le esigenze del software multimediale, si dividono in sei sottogruppi. Le 13 Sse 3 comprendono una istruzione per velocizzare la conversione da floating point a interi, cinque nuove istruzioni per migliorare il caricamento, lo spostamento e la duplicazione nelle operazioni Simd (Single Instruction Multiple Data, singola istruzione con dati multipli), una istruzione per il miglioramento del caricamento di dati non allineati, quattro istruzioni per una manipolazione più efficiente degli array di dati (utile nella grafica 3D, in modo particolare quando si processano i vertex buffer).
Il processo produttivo a 90 nanometri con tecnologia strained silicon e una cache L2 da 1 MByte sono solo alcune delle nuove caratteristiche del core Prescott. Infatti la casa di Santa Clara ha colto l’occasione per apportare numerose modifiche all’architettura, tra cui ricordiamo una pipeline più profonda a 31 stadi e 13 nuove istruzioni multimediali, le Sse 3.
Le ultime due istruzioni sono specifiche per la gestione della sincronizzazione dei thread, e dunque in grado di migliorare le prestazioni dell’Hyper-Threading. Come nel caso delle altre versioni delle istruzioni Sse, le applicazioni devono essere ricompilate e, in alcuni casi, finemente regolate, per trarre vantaggio dalle nuove istruzioni. Poiché diverse versioni di sampling di Prescott erano già disponibili sul mercato, per le prime applicazioni compatibili Sse 3 non si è dovuto attendere molto. Ad oggi infatti sono già disponibili cinque applicazioni (tutte nel campo dell’encoding video: MainConcept, xMPEG, Ligos, Real (RV9) e On2), mentre altri produttori, tra cui Adobe e Pinnacle, hanno confermato la loro disponibilità a integrare il supporto alle Sse 3 nelle nuove versioni del loro software.

Il futuro di Prescott

Il primo Prescott appena presentato è dotato di un socket 478, compatibile dunque in teoria con la maggior parte delle schede madri basate su chipset Intel 865 e 875. Tuttavia, poiché le necessità di alimentazione di Prescott sono più elevate di quanto inizialmente ipotizzato, le più datate piattaforme i865 e i875 potrebbero non supportare, dal punto di vista dell’alimentazione, la nuova famiglia di Cpu. Il socket 478 dovrebbe accompagnare i processori Prescott fino alla frequenza di 3,6 GHz, per essere abbandonato nella seconda metà del 2004 con l’introduzione del formato a 775 pin. Questo nuovo socket, progettato presumibilmente per integrare il controller della memoria direttamente nel core, sarà adottato in abbinamento alle nuove schede madri con form factor Btx, in grado di supportare il futuro Pci Express. Il socket 775 vedrà infine l’adozione di un nuovo packaging, che passerà dall’attuale mPga a Lga (Land Grid Array). I 64 bit di AMD

L’Athlon 64, il primo processore x86 a 64 bit, rappresenta al momento la risposta di AMD all’architettura NetBurst di Intel. La peculiarità della nuova famiglia di Athlon, presentata il 23 settembre scorso come evoluzione diretta del progetto Opteron, è l’introduzione nell’architettura x86 di un’estensione a 64 bit. Sulla carta questa soluzione (definita dalla casa come AMD64, o x86-64) è senz’altro meno innovativa rispetto alla versione a 64 bit promossa da Intel (la IA-64), ma è attualmente l’unica in grado di garantire il pieno supporto a un mondo software ibrido a 32/64 bit. L’aspetto fondamentale consiste proprio nel fatto che è possibile eseguire in maniera nativa il codice a 32 bit insieme a quello a 64 bit, un vantaggio chiave per chi vuole mantenere la piena efficienza del software attuale e allo stesso tempo garantirsi il supporto ai 64 bit. Se dal punto di vista hardware i 64 bit sono ormai una realtà, il mondo software sta muovendo i suoi passi lentamente. Ma proprio in questi giorni Microsoft ha reso pubblica (per ora sono in inglese e in versione di valutazione) la sua versione a 64 bit di Windows XP.
Le nuove famiglie di Cpu AMD sono realizzate con un processo produttivo a 0,13 micron e tecnologia Soi (Silicon on Insulator) e contano 105,9 milioni di transistor. Entrambi i modelli sono dotati di una cache L2 esclusiva di 1 MByte che si affianca ai 128 KByte di cache L1 in architettura Harward (cioè con dati e istruzioni separate e accessibili contemporaneamente). Oltre all’introduzione dei 64 bit, la nuova famiglia x86-64 si caratterizza per l’integrazione del controller della memoria direttamente all’interno del processore. In questo modo la latenza nell’accesso ai dati viene più che dimezzata rispetto alle soluzioni tradizionali. L’integrazione del controller per la memoria riduce drasticamente l’importanza del Northbridge nei chipset semplificando il disegno delle schede madri, così da garantire un supporto più agevole alla piattaforma.

Le differenze tra le due famiglie (l’Athlon 64 e l’Athlon 64 FX-51) sono legate proprio al controller della memoria: mentre l’Athlon 64 supporta un controller di memoria a 64 bit, l’Athlon 64 FX-51 dispone di un controller di memoria a 128 bit in grado di gestire un doppio canale ad aggregazione di banda. In entrambi i casi comunque il controller integrato, funzionante alla stessa velocità del processore, garantisce tempi di latenza estremamente bassi che migliorano le prestazioni di tutte le applicazioni che fanno largo uso di memoria, soprattutto nel caso di accessi casuali.

La banda passante massima raggiungibile tra Cpu e memoria, utilizzando moduli Ddr PC3200, risulta quindi di 6,4 GByte/s per i processori Athlon 64 FX e di 3,2 GByte/s per gli Athlon 64. Inoltre, grazie all’interfaccia diretta tra memoria e processore, al crescere della frequenza di funzionamento della Cpu si riducono anche i tempi di latenza con una funzione quasi lineare. Oltre al numero di controller i due prodotti sono differenziati anche per il tipo di memoria supportato, Ecc registered per l’Athlon FX e unbuffered per l’Athlon 64. Le differenze nella gestione della memoria si riflettono nel diverso numero di piedinatura: la linea FX sfrutta il socket 940 e un packaging ceramico identico a quello dei processori Opteron, mentre la linea Athlon 64 utilizza il socket 754 e un packaging di tipo plastico come la precedente linea Athlon XP.

Per quanto riguarda il bus di sistema entrambe le Cpu sfruttano un link HyperTransport di tipo non coerente dotato di due canali a 16 bit, uno in upload e uno in download, funzionante a 1.600 MHz e in grado di garantire una banda passante di 6,4 GByte/s. Essendo questo un link di tipo punto-punto possiamo considerare la banda passante complessiva tra Cpu e sistema pari alla somma di quella tra processore e memoria e di quella garantita dal link HyperTransport, cioè 12,8 GByte/s per l’Athlon 64 FX e 9,6 GByte/s per l’Athlon 64.

Dal punto di vista logico l’Athlon 64 è a tutti gli effetti un’architettura x86 e nel suo nucleo si trova un processore superscalare a nove vie, con esecuzione fuori ordine (out-of-order execution) e caratterizzato da un’architettura Cisc-Risc. Anche l’Athlon 64 (come le altre Cpu della casa di Sunnyvale che lo hanno preceduto) traduce le istruzioni x86 dapprima in istruzioni Mops (Macro operations) a lunghezza fissa, e successivamente in Rops (Risc operations o operazione interne Risc). Sebbene la maggior parte di queste Rops siano eseguibili direttamente in hardware, alcune istruzioni x86 sono ugualmente troppo ostiche anche dopo la conversione. Queste operazioni, una volta individuate, sono bloccate e inviate in un percorso di decodifica parallelo fino alle routine del microcodice o Micro-Rom. Poiché il microcodice introduce sensibili ritardi nel percorso di esecuzione è stato ottimizzato il processo di decodifica da istruzioni x86 a Rop. Inoltre, rispetto al K7, sono stati riprogettati il primo stadio della pipeline (responsabile del prelievo dell’istruzione) e la logica di decodifica per consentire il trasferimento di un maggior numero di istruzioni, per singolo ciclo di clock, tra le unità di decodifica e quelle di esecuzione. Per fare questo è stato necessario ridefinire gli stadi della pipeline e, per mantenere un maggior grado di scalabilità in frequenza, sono stati aggiunti due ulteriori stadi. Il risultato finale è una pipeline a 12 stadi (contro i 10 dell’Athlon) per le operazioni su interi e a 17 stadi per quelle su floating point.

Il futuro di AMD

Anche se il supporto all’architettura x86-64 è stato progettato da AMD per avere un’influenza minima sulle dimensioni del die e per non influenzare negativamente il processo di scaling in frequenza, la casa di Sunnyvale ad oggi incontra difficoltà nel realizzare Cpu sempre più veloci. Bisognerà dunque attendere la transizione a una tecnologia a 90 nm con i core Athens (Opteron) e San Diego (Athlon 64) prima che AMD possa schiacciare il piede sull’acceleratore dei MHz. Fino ad allora la casa di Sunnyvale dovrà spremere al massimo il processo a 0,13 micron per tenere testa alle proposte di Intel. L’introduzione del processo produttivo a 90 nanometri dovrebbe inoltre comportare la transizione a un diverso socket, a 939 piedini.

Questo cambio di formato, che riguarderà la linea dei processori per desktop e non quella Opteron (che dovrebbe mantenere il socket attuale a 940 pin) consentirà anche all’Athlon 64 di avere un controller per la memoria a 128 bit in grado di utilizzare la comune memoria di tipo unbuffered. Oggi sia Athlon 64 FX sia Opteron obbligano all’impiego di memoria di tipo registered, leggermente meno veloce e molto più costosa della Ddr di tipo unbuffered. Il rovescio della medaglia in questo caso è la mancata compatibilità tra i due socket. Anche se AMD non ha ancora ufficializzato il passaggio a questo nuovo formato, tutto lascia presupporre l’abbandono della memoria registered nel mondo desktop.

Rimarrà invariato invece il formato 754, quello adottato dall’Athlon 64 dotato di un controller integrato per la memoria a 64 bit. Le ultime novità riguardano la fascia bassa del mercato: la linea attuale che prevede modelli con una memoria cache L2 da 1 MByte, è stata affiancata da una versione con soli 512 KByte di memoria L2. Questo nuovo core (conosciuto con il nome in codice Newcastle) è destinato al mercato entry-level dei processori ed è destinato a diventare il vero erede del Duron.

Nuove tecnologie: Silicon on insulator e Strained Silicon

La legge di Moore, sicuramente la più nota tra le equazioni empiriche dell’ambito informatico, si è mantenuta vera da oltre 20 anni. Spesso citata a torto come connessa alla frequenza, la legge di Moore è legata invece al numero di transistor che, secondo il cofondatore di Intel, raddoppiano ogni 18 mesi. Più piccole sono le dimensioni dei transistor e maggiore è la velocità con cui possono variare di stato e quindi aumenta la possibilità di raggiungere frequenze e prestazioni più elevate. Inoltre un minore spessore del materiale dielettrico permette di velocizzare il flusso di elettroni nel canale di conduzione con un incremento delle prestazioni del transistor. Il rovescio della medaglia è che al decrescere delle dimensioni aumenta la possibilità che si presentino correnti di dispersione. L’impiego di un dielettrico ad alta capacitanza può in questo caso risolvere il problema. Per questo tanto AMD quanto Intel hanno ormai abbandonato la tecnica costruttiva classica (denominata bulk silicon) che prevedeva la realizzazione delle zone source e drain direttamente nel substrato silicico. Intel prevede di migliorare le caratteristiche dei transistor impiegando la tecnologia Strained Silicon: depositando un sottile strato di silicio su una base di germanio, caratterizzato da maglie del cristallo più ampie, si ottiene uno stiramento del reticolo del silicio che tende a uniformarsi a quello del germanio. Come risultato il substrato di silicio, oltre a mantenere le proprietà fisiche proprie, acquisisce una maggiore mobilità degli elettroni, che devono attraversare maglie più larghe. Questa tecnologia permette di ottenere transistor più efficienti senza sostanziali modifiche del processo produttivo. Da parte sua anche AMD ha introdotto con la famiglia Athlon 64 la tecnologia Soi, che prevede l’utilizzo di un sottile film isolante posto tra il substrato e lo spessore di silicio. In questo modo i source e i drain rimangono isolati dal substrato così da eliminare le capacità parassite.

Commenti   (Inserisci un commento)

Ancora nessun commento.

Effettua il login