Tempo di risposta: è il tempo che intercorre tra la prima istruzione e l’ultima; ingloba quindi molti eventi tra cui gli accessi alla memoria. Tempo di CPU: tempo effettivo in cui la CPU ha eseguito il programma, non includendo i ritardi dovuti ad I/O o esecuzioni di altri programmi. Questo si può suddividere in altri due tempi:
Questa distinzione è importante per capire un comportamento di un programma che possono non interagire mai con il sistema (molto pesante) oppure possono essere fortemente interattivi. T clock: tempo che intercorre tra il segnale alto e basso (1/0), la cui frequenza è l’inversa (1/T) Il tempo di CPU per eseguire un certo programma quindi di calcola come
$$ T_{CPU}=N\_di\_cicli\_di\_clock*T\_clock=N\_di\_cicli\_di\clock/f{clock} $$
CPI, Clock Per Instruction: è il numero di cicli clock per istruzione (in media)
$$ CPI=N\_cicli\_clock\_programma/N\_istruzioni $$
I due tempi sono legati dall’espressione
$$ T_{CPU}=CPIN\_istruzioniT\_clock $$
T medio/istruzione = tempo medio di esecuzione di un set di istruzioni
$$ T_{medio}=T_{CPU}/N\_istruzioni $$
$T_{medio}=\frac{\sum _{i=0}^Sl_it_i}{\sum {i=0}^Sl_i}$ $CPI=\sum{i=1}^n(CPI_i*f_i)$
Anche il MIPS (Millions Instructions per Second) è un’unità di misura per le prestazioni: non si tratta più di tempo di esecuzione, ma si considera solo il numero di istruzioni che vengono eseguite in une determinato tempo. Il problema di questa unità di misura non varia al variare di due macchine differenti.