Efficienza del processore

Il processore per molti è un pezzo silicio che fa andare il computer, ma all'interno nasconde tante cose. In questo primo articolo affrontiamo il tema della frequenza e delle cache.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Efficienza del processore

La ragione principale per cui il 486 era considerato realtivamente veloce rispetto al 386 è che eseguiva il doppio delle istruzioni nello stesso numero di cicli. La stessa cosa è vera per un Pentium; esegue il doppio di istruzioni in un dato numero di cicli. Perciò, data la stessa frequenza di lavoro, un Pentium è il doppio più veloce di un 486, e di conseguenza il 486 con una frequenza di 133 MHz (come l'AMD 5x86-133) non è veloce quanto il Pentium a 75 MHz!

Questo è il motivo per cui i megahertz di un Pentium valgono circa rispetto a quelli di un 486, per le istruzioni completate per ciclo. I Pentium II e III sono circa il 50% più veloci rispetto all'equivalente Pentium a una data frequenza di clock perché possono eseguire così tante più istruzioni nello stesso numero di cicli.

Sfortunatamente dopo il Pentium III è diventato molto più difficile confrontare le varie CPU solo con la frequenza. Questo stato di cose deriva di una differente architettura interna che rende alcuni processori più efficienti di altri, ma queste stesse differenze di efficienza risultano in una circuiteria capace di lavorare a differenti frequenze massime. Minore è l'efficienza del circuito, maggiore è la frequenza di lavoro che può raggiungere, e viceversa. Un'altra differenza è che alcuni dei processori più recenti includono diverse dimensioni di cache L2 e L3.

Uno dei fattori più importanti nell'efficienza è il numero di stadi nella pipeline interna del processore:

Processore Profondità Pipeline
Pentium III 10 stadi
Pentium M/Core 10 stadi
Athlon/XP 10 stadi
Athlon 64/Phenom/II/FX 12 stadi
Core 2/i3/i5/i7 14 stadi
Pentium 4 20 stadi
Pentium 4 Prescott 31 stadi
Pentium D 31 stadi

Una pipeline più profonda spezza la lista d'istruzioni in microstep più piccoli, e questo consente di raggiungere frequenze generalmente più alte usando la stesso processo produttivo. Questo significa però anche meno istruzioni generali da eseguire in un singolo ciclo rispetto ai processori con pipeline più corte. Questo è il motivo per cui se una branch prediction o un speculative execution step fallisce, l'intera pipeline deve essere ripulita e riempita. Perciò, se confrontate un Core i7 di Intel o un AMD FX con un Pentium 4 alla stessa frequenza, il Core i7 e l'FX eseguiranno più istruzioni nello stesso numero di cicli.

Una pipeline più profonda potrebbe essere quindi meno efficiente, ma le frequenze più alte che si ottengono compensano. La pipeline profonda 20 o 31 stadi nell'architettura P4 consente di avere frequenze più alte usando lo stesso processo produttivo rispetto ad altri chip. Ad esempio, il processo a 0,13 micron ha consentito ai Pentium 4 di arrivare fino a 3.4 GHz, mentre l'Athlon XP si è fermato a 2.2 GHz (modello 3200+). Anche se il Pentium 4 eseguiva meno istruzioni per ogni ciclo, le velocità di cycling generalmente superiori compensavano la perdita di efficienza; la frequenza superiore e il processo più efficiente in effetti si cancellavano a vicenda.

Sfortunatamente una pipeline profonda combinata con frequenze più alte presentava uno svantaggio quanto ai consumi e al calore generato. Un problema che, si decise, era troppo grande: così Intel passò a un progetto più efficiente con la nuova microarchitettura Core. Piuttosto che aumentare solo le frequenze, le prestazioni sono state migliorate combinando più core in un solo chip, incrementando ulteriormente l'efficienza delle istruzioni. Questo ha dato il via alla spinta verso i processori multicore, oggi lo standard.

Una cosa è chiara in tutta questa confusione: la frequenza da sola non è un buon modo per confrontare i chip, a meno che non siano dello stesso produttore, modello e famiglia.

Per confrontare lealmente diverse CPU con frequenze differenti, Intel originariamente aveva pensato a una serie specifica di test chiamata Intel Comparative Microprocessor Performance (iCOMP). L'indice iCOMP è stata pubblicato nelle versioni iCOMP, iCOMP 2.0 e iCOMP 3.0.

L'indice iCOMP 2.0 è stato derivato da diversi benchmark indipendenti come un'indicazione delle prestazioni del processore. I test bilanciano prove con calcoli integer e in virgola mobile con prestazioni multimediali.