Next Previous Contents

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).


Next Previous Contents