Molte
roboanti dichiarazioni hanno preceduto il lungamente atteso
lancio del processore Willamette sul mercato: potenza
di calcolo doppia rispetto alla migliore concorrenza, architettura
rivoluzionaria etc. Come ho già detto, persone molto competenti
prima di me si sono occupate di sviscerare le debolezze tecniche
del progetto Pentium4 (funzionante per ora esclusivamente
con la tristemente nota Rambus) mettendolo a diretto confronto
col suo concorrente per elezione, l'Athlon Thunderbird,
recentemente dotato di supporto per la memoria DDR. Ne riferirò
quindi solo sommariamente, senza la pretesa di esaurire l'argomento.
Dati alla mano (dopo aver navigato per molti siti che
riporterò in calce all'articolo), il P4 risulta inferiore
all'Athlon in quasi tutti i benchmarks. Le applicazioni da
ufficio (dal fotoritocco all'elaborazione di database) lo
vedono soccombere per margini più o meno significativi rispetto
al suo concorrente. Nell'elaborazione di dati audiovisivi
(codifica DivX, Mpeg4) l'Athlon lascia il P4 nella polvere.
Per brevità, gli unici benchmark che mostrano qualche significativo
grado di superiorità del P4 sull'Athlon sono: quelli pubblicati
da Intel ( vi sorprende? ), quelli orientati a misurare la
larghezza di banda massima della memoria, giochi 3D. Tutti
i benchmark poi riguardano la comparazione fra il P4 a 1.4-1.5GHz
e il più recente Athlon a 1200MHz; riportando i due contendenti
a parità di clock lo svantaggio del P4 si amplifica.
Fra i punti di forza del P4 il vantaggio sull'ampiezza
di banda della memoria, apparentemente molto ragguardevole,
è del tutto teorico. In soldoni (per le puntualizzazioni tecniche
rinvio ai siti di riferimento) la Rambus, per sue peculiarità
progettuali, fornisce sulla piattaforma i850 un'ampiezza di
banda molto rilevante grazie all'uso di due canali paralleli
e di altre soluzioni specifiche. Quello che Intel non dice,
e che fa di queste misurazioni dei valori non indicativi,
è che questa enorme ampiezza di banda viene saturata solo
da grandi quantità di dati prelevati sequenzialmente dalla
memoria: in applicazioni più vicine al mondo reale, al contrario,
il processore cerca dati posizionati casualmente nella memoria;
questo fa emergere il tallone di Achille della tecnologia
Rambus, causa di molte critiche anche precedenti all'introduzione
del Pentium4 (i tristemente noti chipset 820 e 840 per P3):
innanzitutto l'inaccettabilmente elevata latenza di accesso
(la velocità con la quale i dati vengono reperiti e resi disponibili
alla CPU) che, se nel caso di una lettura sequenziale passa
in second'ordine, nel caso di molte letture casuali si somma
risultando in tempi lunghissimi e molto penalizzanti. Le basse
prestazioni iniziano a trovare qualche giustificazione ma
ci sono altri fattori che aggravano la debolezza della memorie.
Com'è noto uno dei problemi architetturali più gravi
che affliggono i moderni computer è la sproporzione fra la
capacità di elaborazione della CPU e la relativa lentezza
della memoria. Fino a qualche anno fa questo problema non
esisteva: il Pentium, nella sua primissima edizione (core
P5 a 60 e 66MHz) lavorava alla stessa frequenza della memoria.
Di lì in poi le frequenze operative dei processori sono cresciute
a ritmi incalzanti. Le memorie invece (escluse DDR e RDR)
hanno solo raddoppiato la loro velocità dai tempi del Pentium,
arrivando ai 133MHz delle ultime sdram. Un esempio: se una
CPU funziona a 800MHz e la sua memoria a 100, per ogni dato
letto dalla RAM la CPU dovrà attendere non meno di 8 cicli
di clock; non è sbagliato quindi affermare che i processori
moderni passano la maggior parte del tempo ad aspettare i
dati più che a usarli nei calcoli.
Questo problema è stato aggirato dai produttori di
hardware con l'adozione di memorie cache sempre più grandi,
veloci e vicine alla CPU: ad iniziare dal Pentium Pro (su
piattaforme x86) anche la cache L2 è stata incorporata, in
principio con grossi costi produttivi, nel 'package' o nel
'die' del processore, tendenza seguita attualmente da tutti
i produttori di CPU. L'utilità della cache sta nella sua capacità
di operare alla stessa frequenza della CPU e di permettere
al processore di sfruttare prelevare dati ogni ciclo di clock
piuttosto che spendere cicli ad aspettare che dati provenienti
dalla RAM o peggio dalla memoria di massa, siano disponibili.
Va dunque immaginata una linea ideale al cui estremo c'è la
CPU, seguita da cache L1, cache L2, RAM, memorie di massa;
in questa china, allontanandosi dalla CPU si accumulano stati
di attesa via via più grandi (il che spiega anche per quale
motivo l'aumento di memoria RAM comporti un beneficio sulle
prestazioni quasi sempre rilevante). Purtroppo la cache è
costosa da produrre e da implementare dal momento che i processori
devono attenersi a consumi bassi e dimensioni ridotte.
Dal momento che presumibilmente Intel, al di là delle
dichiarazioni alla stampa, è sempre stata perfettamente a
conoscenza delle lacune della tecnologia Rambus (tenuta in
piedi maggiormente per motivi commerciali che per vantaggi
tecnici), sarebbe stato, almeno a posteriori, sensato dotare
il processore di una grossa cache sia di primo che di secondo
livello e di ottime tecniche di predizione dei salti ed esecuzione
speculativa (tecniche il cui impiego serve a prevedere quali
saranno i dati richiesti dal processore e porli già da prima
che vengano richiesti nella cache ed, eventualmente, iniziarne
l'elaborazione al di fuori della sequenza programmata).
Al contrario, in un nostalgico (?) salto indietro
di qualche anno, ha dotato il suo nuovo "mostro di potenza"
di soli 8k di cache L1 (la stessa quantità presente nei 486!!!)
contro i 128 dell'Athlon e del nuovo Cyrix Samuel. L'impatto
di questa discutibile scelta tecnica pesa su un quadro che,
come sostenuto, già vede nella memoria, particolarmente nella
sua latenza di accesso, un punto debole. Inoltre la lunghissima
pipeline a 20 stadi, in cui le tecniche di predizione si occupano
di accodare dati utili al processore prima che questo li richieda
ha, in caso di errore nell'accodamento, tempi di svuotamento
enormi e non ammortizzabili con le attuali frequenze operative.
Un ulteriore problema del P4 sta nelle enormi dimensioni del
die (il cuore della CPU in ci sono tutti i transistor del
core e della cache L2, 217mm2 contro 91 dell'Athlon) e le
conseguenti: 1: ciclopiche richieste di energia (si parla
di oltre 40w); 2: forti necessità di dissipazione termica;
3: tragiche conseguenze sui costi di produzione e quindi sulla
vendita.
L'eccessivo
ingombro del die ha anche indotto Intel ha ridurre le dimensioni
e quindi la potenza della FPU, scelta questa che va completamente
in contro tendenza rispetto al notevole potenziamento della
FPU attuato nel K7 da AMD. In ultimo il socket 423 su cui
è attualmente alloggiato il P4 sarà presto sostituito da una
nuova soluzione a 478 piedini, con prevedibili conseguenze
sulla rapidità con cui le attuali piattaforme P4 diverranno
obsolete.
Questi
sono solo esempi tramite i quali, più che esaurire le debolezze
tecniche del P4 (ce ne sarebbero molte altre), si vuole dare
l'idea della paradossale differenza fra la realtà dei fatti
e l'immagine patinata di grande innovatore tecnologico con
la quale Intel cerca ancora, disperatamente, di rivestirsi.
Non troppo disperatamente però, per alcuni buoni motivi:
1: strategie di marketing poco "leali" (nei limiti in
cui si può parlare di lealtà in questo campo): basti l'esempio
del Pentium3, capace di convincere un modem 56k di essere
una linea T1 da 1,5Mb e "accelerare la navigazione Internet";
2: frequente incompetenza o 'furberia' dei rivenditori
al dettaglio e OEM che assecondano la campagna pubblicitaria
di Intel;
3: poca informazione degli utenti che spesso si affidano
ciecamente alle configurazioni predefinite.