Concetti Chiave
- I progressi tecnologici migliorano le prestazioni delle CPU, ma è fondamentale valutare il trade-off tra prestazioni e costi.
- La riduzione dei cicli di esecuzione e la semplificazione dell'organizzazione aumentano la frequenza dei clock.
- Il parallelismo consente l'esecuzione simultanea di più istruzioni attraverso architetture superscalari e pipelining.
- Tecniche avanzate come la predizione di salto, l'esecuzione fuori ordine e speculativa migliorano l'esecuzione delle istruzioni.
- Il parallelismo a livello di istruzione e core migliora le prestazioni, ma presenta limiti strutturali e di costo.
Come aumentare le prestazioni
I progressi tecnologici sono il principale motivo del miglioramento delle prestazioni delle CPU, ma esistono anche altri modi per migliorare le prestazioni di una microarchitettura, che deve essere valutato dal trade-off prestazioni/costi:
- ridurre il numero di cicli (path di esecuzione) utilizzate per l’ implementazione delle istruzioni ISA
- semplificare l’organizzazione per aumentare la frequenza dei clock
- tecnica del parallelismo: far eseguire più istruzioni insieme (architetture superscalari, pipelining e CPU in parallelo)
Tecniche usate dalla CPU per migliorare ulteriormente l’esecuzione delle istruzioni:
- tecnica della predizione di salto
- tecnica dell’esecuzione fuori ordine
- tecnica dell’esecuzione speculativa
La Tecnica del Parallelismo
Ci sono più modi per migliorare le prestazioni di un calcolatore:
- aumentare la frequenza del clock (però bisogna considerare che ci sono limiti non superabili)
- usare il parallelismo:
-- a livello di istruzione (limiti nella struttura del codice): più istruzioni svolte contemporaneamente con tecniche di pipelining e utilizzando processori superscalari
-- a livello di core/processore (limiti nella struttura del codice e nel costo) : più core utilizzate insieme operano insieme al fine di risolvere uno stesso problema