1

Quantificare gli effetti sulle prestazioni che risultano dall'uso di una cache nel caso in cui un programma abbia un totale di 500 istruzioni, tra cui un ciclo di 100 istruzioni che sia eseguito 25 volte. Determinare il rapporto tra il tempo di esecuzione senza la cache e il tempo di esecuzione con la cache. Questo rapporto e' chiamato accelerazione (speedup).
Assumere che gli accessi alla memoria principale richiedano 10 unita' di tempo e gli accessi alla cache richiedano 1 unita' di tempo. Inoltre facciamo le seguenti assunzioni ai fini di semplificare i calcoli e illustrare facilmente i vantaggi dell'uso della cache.
- Il tempo di esecuzione del programma e' proporzionale al tempo totale necessario a prelevare istruzioni dalla memoria principale o dalla cache, trascurando gli accessi dovuti al prelievo degli operandi.
- Inizialmente tutte le istruzioni sono memorizzate nella memoria principale e la cache e' vuota.
- La cache e' sufficientemente grande da contenere tutte le istruzioni del ciclo.

Sbagliato,II tempo di esecuzione senza la cache e':
T= 400 X 10 + 100 X 10 X 25 = 29.000
Il tempo di esecuzione con la cache e':
Tcache = 5 0 0 X 10 + 100 X 1 X 24 = 7.400
Quindi l'accelerazione e':
T/Tcache = 3,92

Giusto,II tempo di esecuzione senza la cache e':
T= 400 X 10 + 100 X 10 X 25 = 29.000
Il tempo di esecuzione con la cache e':
Tcache = 5 0 0 X 10 + 100 X 1 X 24 = 7.400
Quindi l'accelerazione e':
T/Tcache = 3,92