Per aumentare la potenza di elaborazione di un processore si può agire per due vie: aumentare la sua frequenza operativa (Clock) in Mhz oppure migliorare le sue capacità IPC (Instructions per Clock) ossia la possibilità di elaborare, parallelizzandole, più istruzioni per ciclo di clock. La parola clock in inglese letterale significa orologio ma in questo contesto è da intendersi come “temporizzatore”; parliamo cioè di un apposito circuito oscillante al quarzo che genera una determinata frequenza sulla quale vengono temporizzati diversi eventi logici.
Il Pentium Pro ha rappresentato un vero salto generazionale. Costituito da 5.5 milioni di transistor integrati a 0.6 micron questo processore superscalare implementa delle nuove tecniche di elaborazione dati che possiamo riassumere in:
Cache L2 integrata nel package: oltre alla cache di primo livello da 32 Kbyte anche la cache di secondo livello da 256 Kbyte è stata integrata nel chip per fornire più rapidamente i dati alle unità di esecuzione. In realtà la cache non è integrata sullo stesso pezzo di silicio (die) ma su una porzione separata che condivide con il nucleo principale lo stesso package ed un canale di comunicazione preferenziale. Questo rendeva il Pentium Pro costosissimo da produrre ma tale direzione, abbandonata con il Pentium II sarà reintrodotta in seguito nel Celeron e da li in tutti i processori successivi. Superpipeline: è stata aumentata a 14 la profondità delle pipeline di esecuzione delle istruzioni, più stadi di preparazione intermedia delle operazioni permettono di mantenere le unità di elaborazione sempre occupate e consentono di accrescere la frequenza operativa in Mhz del processore. Superscalarità spinta: sono state portati a tre i canali di elaborazione parallela delle istruzioni contro i due del Pentium. Possiamo dire, con buona approssimazione, che il Pentium Pro implementa al suo interno tre 486 operanti in parallelo. Esecuzione fuori ordine (Out of order): Nel Pentium, come abbiamo visto, era possibile l’esecuzione contemporanea di due istruzioni utilizzando due pipeline separate; l'esecuzione era legata alla sequenza definita dal programma, perciò ogni volta che un'operazione non poteva essere eseguita subito a causa di un stallo, entrambe le pipeline restavano ferme. Nel Pentium Pro invece le operazioni x86 vengono convertite in istruzioni micro-ops (micro-operazioni) con una tecnica che ricorda i processori Risc. Attraverso questo passaggio si eliminano molte delle limitazioni tipiche del set di istruzioni x86, cioè la codifica irregolare delle istruzioni e le operazioni sugli interi che richiedono il passaggio di dati dai registri interni alla memoria. Le micro-ops vengono quindi passate a un motore di esecuzione capace di eseguirle fuori ordine, modificandone la sequenza così da mandare in esecuzione quelle pronte e lasciare in attesa quelle che non sono. Con ciò se una Pipeline nel Pentium Pro va in stallo le altre due possono continuare ad operare senza essere svuotate. La sequenza delle istruzioni viene infine riordinata da una apposita sezione hardware detta Reorder Buffer alla fine della elaborazione. Esecuzione speculativa: nel Pentium Pro le funzioni di predizione dei salti sono state potenziate ed oltre alla unità di predizione dei salti è presente una elaborazione speculativa. Essa consiste nell'eseguire istruzioni che si trovano al di là di un'istruzione di salto prima che quest'ultima sia stata eseguita e che quindi si sappia con certezza che esito avrà la diramazione. Il processore non può naturalmente aggiornare i registri interni o la memoria centrale con i risultati 'speculativi' ma deve aspettare il responso della unità di branch. In caso di errata predizione del salto, il processore deve essere in grado di ritornare sui propri passi azzerando tutte le operazioni già eseguite che si riferiscono a istruzioni collocate oltre il punto di salto. Nel caso la speculazione risultasse poi sbagliata le istruzioni speculative vengono cancellate prima che giungano alla fase di termine. E’ un po’ il meccanismo logico che usano gli speculatori di borsa che vendono azioni non appena una società comincia ad andare male pur non avendo dati certi su un suo effettivo crollo ne su una sua possibile ripresa. Per quanto possa sembrare strano dopo l’architettura del Pentium Pro, che è stata la base di realizzazione di tutti i processori successivi, non ci sono state grandi mutazioni tecniche strutturali nel miglioramento delle prestazioni delle Cpu Intel atte ad aumentare il fattore Ipc.
Il nucleo del Pentium II deriva direttamente dell'architettura “P6” del Pentium Pro. Addirittura si potrebbe parlare quasi di una semplificazione (es: riduzione delle pipeline da 14 a 10 stadi, finestra per l'esecuzione fuori ordine e speculativa più piccola, etc..) con l'obbiettivo di concentrarsi più sull' aumento della frequenza operativa che non sull'aumento del fattore Ipc (Istructions per Clock). Con il Pentium II si cambia anche formato, dal vecchio processore su zoccolo (socket) Intel passa ad un nuovo formato proprietario denominato Slot I consistente in un connettore a pettine nel quale alloggiare una 'cartuccia' processore contenente il chip vero e proprio e un certo quantitativo di cache L2 ad alta velocità (512KB a metà frequenza nei modelli normali,1MB o 2MB a piena frequenza nei modelli Xeon dedicati ai server). Lo slot I sarà disponibile prima a 66MHz e successivamente a 100MHz per meglio supportare i processori con frequenze di circa 400MHz.
Dopo il Pentium II è la volta del debutto del Celeron. Intel si rende conto che l'assemblamento della cartuccia e della cache di secondo livello rendono il prodotto troppo costoso e difficile da offrire alla fascia bassa del mercato per cui prima immette sul mercato una versione del Pentium II priva della cache di secondo livello, e poi viste le scarse prestazioni di questa soluzione, mette a punto un processore dotato di cache L2 ridotta a 128K ma direttamente integrata nel die di silicio. Il Celeron debutta a 300MHz con bus a 66MHz e per molto tempo sarà il cavallo di battaglia di Intel nel settore entry-level vendendo moltissimi pezzi e sbaragliando la concorrenza di AMD. Con il Celeron debutta anche la tecnologia di integrazione a 0.25 micron con tensione di core di 2V, utilizzata anche nei Pentium II dai 350MHz in poi.
Al Pentium II succede il Pentium III, invero estremamente simile al suo predecessore. Il PIII debutta a 450MHz, utilizza ancora lo Slot I ed ha un FSB (Front Side Bus) a 100MHz. Internamente, a parte piccole ottimizzazioni, la innovazione più importante è costituita dall'introduzione delle estensioni SSE (note anche come KNI). Le SSE rappresentano per i numeri in virgola mobile quello che le MMX rappresentano per i numeri in virgola fissa. In pratica viene potenziata l'unità floating point per poter gestire operazioni di tipo SIMD (Single Istruction Multiple Data). L'unità manipola dati ampi 128bit e configurabili come 4 numeri floating point a singola precisione (32bit) o come 2 numeri a doppia precisione (64bit). Le SSE risultano utili nella manipolazione dei contenuti multimediali, nella decompressione dei filmati MPEG2 (DVD) e nell'elaborazione della geometria 3D (T&L).
L'ultima evoluzione dell' architettura P6 porta al Pentium III Coppermine. Il Core Coppermine integra nel die 256KB di cache L2 a piena frequenza, bassa latenza ed elevata banda (256bit di collegamento con il core). Con il Coppermine si torna anche al socket (socket 370), abbandonando il costoso Slot I, e si raggiungono i 133MHz di FSB. Intel coglie anche l'occasione per innaugurare la nuova tecnologia a 0.18 micron che porterà il Coppermine dai 600MHz del debutto alle soglie dei 1100MHz, frequenza alla quale la tecnolgia P6 comincia a mostrare tutti i suoi limiti costringendo Intel ad un lungo stallo nell'avanzamento tecnologico, stallo che durerà fino alla presentazione del Pentium 4 e del Pentium III Tualatin.
Mentre il Pentium 4 rappresenta di fatto il passaggio per Intel dalla sesta alla settima generazione, il Pentium III Tualatin non è altro che l'ennesima ottimizzazione della collaudata architettura P6 tesa a servire il mercato dei portatili e dei server in attesa della definitiva stabilizzazione della piattaforma Pentium 4. Il core Tualatin annovera una cache L2 integrata da ben 512KByte e una tecnologia di 0.13 micron, per il resto risulta identico al Pentium III. Nuova veste anche per il Celeron il cui bus passa a 100MHz e che nelle ultime versioni eredita la tecnologia Tualatin a 0.13 micron che permette l'integrazione di 256KByte di cache.
Fonte: Lithium
|