Introduzione
Negli
ultimi mesi abbiamo assistito ad una sorta di rincorsa al Gighertz,
intendendo con ci� l�adozione di processori con clock sempre
pi� spinti. � stato da poco annunciata la disponibilit� del
Pentium 4 a 2 GHz: se, dalla nascita del pc, abbiamo dovuto
attendere 19 anni per veder raggiunta la soglia del gigahertz,
ne sono occorsi meno di due per raddoppiare questo valore.
Per
migliorare le prestazioni di un processore, (tralasciando le
complicate e costosissime architetture dei moderni supercomputer
di cui abbiamo dato una rapida panoramica nell'articolo sul
Cray che � disponibile qui)
esistono
diverse strade.
La
pi� semplice � appunto quella di salire in frequenza (frequency
ramping), non modificando l�architettura di base: per salire
in frequenza si pu� diminuire la dimensione del transistor,
oppure adottare degli accorgimenti in sede di integrazione del
chip (es: tecnologia del rame, SOI �vedi
articolo relativo).
Quella
pi� "difficile" prevede invece l�adozione di architetture
interne pi� complesse: soluzioni superscalari, pipeline
profonde, esecuzioni fuori ordine, accorgimenti che in altri
termini permettono l�esecuzione di pi� istruzioni al secondo
sfruttando il fatto che ci sono a disposizione pi� ALU, pi�
registri, buffer pi� capienti...insomma, pi� risorse .
Qual
� il lato negativo in tutto questo? La complessit� nel design
del processore: se il codice digerito dal processore è
sullo stile x86, che � un codice contorto, poco parallelizzabile,
con istruzioni spesso collegate fra di loro, la soluzione sicuramente
più semplice � salire di molto in frequenza. � questa
la strategia seguita dal Pentium4, che prevede una pipeline
profonda, composta da molti stadi, ognuno dei quali dotato di
poca logica e dunque in grado di eseguire il compito assegnatogli
in frazioni di nanosecondo. (vedi il concetto di critical
path�articolo RISC vs CISC)
Da
un pò di tempo � saltata fuori la notizia che il Pentium4
ha una marcia in pi� rispetto all�Athlon: la capacit� di gestire
in hardware il multithreading simultaneo. In realtà
si tratterebbe di una forte predisposizione dell'architettura
che però, per politiche Intel non è ancora stata
implementata sull'attuale Pentium4. Con molta probabilità
ce l�avr� invece il suo successore, il Foster, che, a detta
della stessa Intel, sar� equiparabile ad una sorta di doppio
processore per le applicazioni che vi gireranno!
Bello
eh? Ci avete capito qualcosa? no? Rimediamo subito...
L�articolo
che segue � rivolto a coloro i quali siano interessati a capire
cosa sia il tanto misterioso on-chip multi-threading
targato Intel, che dovrebbe fare la sua comparsa con il successore
dell�attuale P4; sappiate da subito che la Intel non si �
inventata nulla, e che la soluzione che il suo ufficio marketing
ha battezzato con l�altisonante sigla "hyper�threading"
� un aspetto del concetto di on-chip multithreading, sulla cui
teoria e sulle cui implicazioni e problematiche si � lavorato
molto negli ultimi 8 anni.