Esempio applicativo. Evoluzione dei microprocessori

Nell’analisi dell’evoluzione dei microprocessori si esaminerà l’ampio spettro dei processori Intel (dal 486 al Pentium II) che copre quasi il 90% del mercato dei desktop.

La CPU funziona in vari modi come una piccola fabbrica di bit, che assorbe materie prime sotto forma di dati ed istruzioni e li converte in bit utilizzabili. Come una fabbrica, la CPU usa una linea di produzione per elaborare i bit ricavandone il prodotto finito e usa il bus per spostare i bit dentro e fuori. La CPU provoca anche inquinamento sotto forma di radiazioni elettromagnetiche e di calore.

Sebbene ogni operazione svolta dalla CPU sia assai minuta, la linea di assemblaggio svolge tali operazioni in sequenza ad una velocità incredibile, circa 500 milioni di operazioni al secondo. Le CPU più recenti usano più di una linea di assemblaggio, una tecnica chiamata superscalar pipelining (canalizzazione superscalare) che permette ai moderni PC di realizzare anche la riproduzione fluida dei filmati e il multitasking di più applicazioni.

Quando Intel distribuì la prima CPU Pentium ai costruttori, nel marzo 1993, fu un vero avvenimento, in quanto fu la prima CPU ad offrire la tecnica di canalizzazione superscalare, che usa due canali per le istruzioni per operare su più di un’istruzione per volta. I Pentium 60 e 66MHz si scaldavano molto durante il funzionamento, dissipando 16W nel lavoro normale. Nel 1994 Intel migliorò le cose riducendo le dimensioni del chip, in modo da riscaldare meno, pur raggiungendo frequenze di clock di 75, 90 e 100MHz. I nuovi chip utilizzavano la stessa tecnica moltiplicativa dei processori 486DX2 e DX4, lavorando a frequenze 1,5 o 2 volte quella della scheda madre. Ne risultarono significativi miglioramenti delle prestazioni senza dover riprogettare i componenti della scheda madre per le più alte frequenze di clock.

Intel lanciò versioni più veloci di Pentium a coppie, basate sul fattore di moltiplicazione della frequenza di clock sul bus di sistema. Per esempio nel 1995 i Pentium 120 e 133MHz operavano ad una frequenza doppia di quella della scheda madre (60 e 66MHz). I Pentium 150 e 166MHz portarono a 2,5 il fattore di moltiplicazione, mentre gli ultimi Pentium a 200MHz e 180MHz (il meno diffuso) lavoravano con il fattore 3.

Il Pentium forniva ben più che un semplice aumento di velocità rispetto al 486; le nuove CPU disponevano di un bus dati esterno a 64bit e di 16kB di cache L1 (8kB per ciascun canale istruzioni), valori doppi rispetto al 486. Il ruolo della cache di 1° livello (L1), integrata nel processore, è analogo a quello della cache di 2° livello (L2), solitamente esterna e di dimensioni maggiori. La cache L1 occupa spazio prezioso sul chip della CPU e richiede complicati algoritmi per individuare ciò di cui avrà bisogno la CPU in seguito, ma il guadagno di prestazioni è innegabile. Infatti un processore può accedere ai bit internamente molto più rapidamente di quanto possa prelevandoli dalla memoria esterna; di contro, se il codice o i dati necessari non si trovano nella cache, il processore perde tempo nel cercare inutilmente all’interno della cache.

Il Pentium, inoltre, raddoppiò le prestazioni della FPU (floating point unit) rispetto al 486DX. La FPU, l’unità di calcolo in virgola mobile, è un processore dedicato al calcolo con i numeri reali, utilizzato da applicazioni che richiedono l’elaborazione delle immagini fotografiche, la progettazione in 3D, i software per il CAD e i giochi in 3D.

Il Pentium classico è la CPU che ha portato Intel alle massime vette nel mercato dei PC, ma è solo un momento importante nella storia dei computer. Con la creazione del Pentium MMX, Intel ha soddisfatto largamente la richiesta in forte aumento di multimedialità nei software, che vanno dai giochi ai browser per il Web, ad un costo accettabile. Il funzionamento interno della CPU, i due canali, la FPU e il bus dati non sono invariati rispetto al Pentium base.

Le prime CPU Pentium MMX per i desktop furono progettate per 166 e 200MHz e come sostanziale novità presentavano il set d’istruzioni arricchito; infatti il Pentium MMX aggiungeva 57 nuove istruzioni rispetto al 486, mirate alle funzioni grafiche, alla compressione/decompressione video e audio e all’elaborazione dei segnali. Le nuove istruzioni permettono al Pentium MMX di fare in un passo solo ciò che nel Pentium classico richiedeva una decina di passi. I test hanno dimostrato che le applicazioni per l’elaborazione delle immagini, tipo Adobe Photoshop, sono quelle che ricevono i maggiori vantaggi dalla tecnologia MMX. Le CPU Pentium MMX usano una tensione di alimentazione interna più bassa (2,8V) per diminuire il calore dissipato, mentre la tensione sulla scheda madre è di 3,3V: questa doppia tensione richiede che la scheda madre sia dotata di una speciale regolazione di tensione.

Per capire l’evoluzione del Pentium MMX occorre sottolineare che nella progettazione delle CPU ci sono due filosofie: il RISC (Reduced Instruction Set Computing), che cerca di aumentare le prestazioni eseguendo rapidamente una sequenza di istruzioni semplici, e il CISC (Complex Instruction Set Computing) che usa un più ampio gruppo di istruzioni per fare di più in un singolo passo.

Intel con il processore Pentium Pro, ampliando l’architettura superscalare per superare i colli di bottiglia del CISC, ha realizzato un veloce nucleo RISC entro un’interfaccia compatibile con CISC; ci si chiede perché Intel non sia passata completamente all’intero set di istruzioni RISC, che offre il modo migliore per arrivare ad alte frequenze. La ragione risiede nella compatibilità che Intel doveva garantire per i software creati con le istruzioni x86, introdotte nel Pentium MMX, per mantenere il vantaggio ottenuto rispetto ai concorrenti.

Il Pentium Pro è un “mostro” da 5,5 milioni di transistor con la cache L2, esterna sulla scheda madre nei precedenti Pentium, incorporata in una seconda cavità del contenitore ceramico della CPU. La cache L2 integrata, con un bus dedicato, lavora così alla stessa velocità della CPU, mentre le cache L2 delle CPU precedenti lavoravano alla velocità del bus della scheda madre e consente un immediato aumento delle prestazioni.

Nel maggio 1997, l’Intel introduce il Pentium II con eccellenti prestazioni e con un nuovo connettore di sistema che ha modificato il modo di lavorare della CPU con la scheda madre. Il Pentium II conserva il nucleo del Pentium Pro e il medesimo supporto MMX del Pentium MMX; inoltre ha la cache L1 per istruzioni e dati raddoppiata rispetto al Pentium Pro. Le modifiche maggiori del Pentium II si notano all’esterno del nucleo; Intel ha adottato uno schema a cartuccia in cui il processore e la cache L2 sono collocati all’interno di un modulo dalle dimensioni di un pacchetto di sigarette. Questo modulo, detto SEC (Single Edged Connector) s’innesta verticalmente entro un nuovo slot posto sulle apposite schede madre per il Pentium II. Questo sistema consente una migliore dissipazione del calore, permettendo al processore di lavorare ad una temperatura più bassa. La cache L2 è comunque collocata all’interno della cartuccia SEC separata dal chip e collegata tramite un bus dedicato, che lavora a metà frequenza rispetto alla CPU. Questa nuova struttura offre rendimenti in fase di produzione, abbassando i costi e permettendo al nucleo della CPU di funzionare a 400MHz e più e permette di ottenere velocità maggiori dalla cache L2 che lavora più velocemente delle memorie poste sulla scheda madre, attualmente limitate a 100MHz.

Nel concludere questa panoramica sui processori si descrive la struttura del Pentium Celeron, una CPU economica che Intel ha introdotto parallelamente al Pentium II per non perdere le quote di mercato alla portata della maggior parte delle tasche. Il Pentium Celeron usa lo stesso nucleo del Pentium II e s’inserisce nello medesimo connettore sulla scheda madre, ma non possiede la cartuccia SEC con incorporata la cache L2.È montato su un circuito stampato e integra una cache L2 ridotta (128kB) che funziona alla stessa frequenza della CPU.

 

Fig.C: alcune caratteristiche delle CPU

Pentium II

Pentium Celeron

Frequenza interna di clock

Cache L1

Frequenza cache L2

Supporto MMX

Bus dati (interno/esterno)

Numero di transistor

Tecnologia costruttiva

Tipo d’involucro

333, 350, 400, 450 MHz

16kB/16kB

200, 225 MHz

Si

32/64 bit

7,5 milioni

0,25 micron CMOS

Slot su circuito stampato

300, 333 MHz

16kB/16kB

300, 333 MHz (128kB)

Si

32/64 bit

7,5 milioni

0,25 micron CMOS

Slot su circuito stampato