2.9 Inquadramento storico e approfondimento
Sin dalla nascita dell'informatica, i progettisti si sono posti obiettivi riguardanti le prestazioni.
La prima misura di prestazioni fu il tempo richiesto per eseguire una singola operazione, ad esempio un'addizione;
dato che la maggior parte delle istruzioni richiedeva lo stesso tempo per essere eseguita, la durata di ciascuna forniva
indicazioni anche per le altre. Via via che i tempi di esecuzione per le varie istruzioni iniziarono a diversificarsi,
il tempo richiesto da una sola di esse cessò di essere utile ai fini dei confronti. Si calcolò
quindi una combinazione di istruzioni (instruction mix) misurando la frequenza relativa delle
istruzioni in un calcolatore, all'interno di diversi programmi. Il prodotto del tempo di esecuzione di un'istruzione
per il suo peso nella combinazione forniva il tempo di esecuzione medio per istruzione; questo
confronto risultò più deciso anche per via della somiglianza tra i diversi insiemi di istruzioni. Il
passo dal tempo di esecuzione medio ai MIPS (milioni di istruzioni per secondo) fu breve.
2.9.1 MIPS, MOPS ed altri FLOPS
Una delle definizioni di MIPS che si è rivelata particolarmente fuorviante è quella di
MIPS di picco; i MIPS di picco si ottengono scegliendo una combinazione di istruzioni che minimizzi
il CPI, anche se tale combinazione si può rivelare del tutto inutile. In pratica spesso si commercializzano
i processori attirando i clienti con la misura dei MIPS di picco, che può distorcere notevolmente il quadro
reale delle prestazioni. Un tentativo fatto per continuare ad utilizzare il termine MIPS, rendendolo significativo
al variare dei set di istruzioni, fu di individuare una definizione di MIPS relativa ad un elaboratore identificato
di comune accordo come termine di riferimento. I cosiddetti MIPS relativi sono quindi stati definiti
come segue:
|
MIPS relativi = |
TEMPO di riferimento
TEMPO in valutazione
|
× MIPS di riferimento |
|
dove:
- TEMPO di riferimento=
- tempo di esecuzione di un programma sul calcolatore di riferimento;
- TEMPO in valutazione=
- tempo di esecuzione dello stesso programma sul calcolatore in corso di valutazione;
- MIPS di riferimento=
- valutazione concordata, in MIPS, del calcolatore di riferimento.
I MIPS relativi sono proporzionali al tempo di esecuzione solamente per un determinato programma e per un
determinato valore dei suoi dati di ingresso. Anche quando questi due elementi sono identificati, diviene sempre
più difficile reperire calcolatori di riferimento per via del loro invecchiamento. Gli anni '70 e '80
videro la crescita del mercato dei supercomputer, caratterizzati da elevate prestazioni nel caso di programmi facenti
un pesante uso di elaborazioni in virgola mobile: nasce in questo periodo il termine MFLOPS (milioni
di operazioni in virgola mobile al secondo).
|