minilogo.gif (2094 bytes)

Introduzione all'architettura dei calcolatori

left.gif (1019 bytes) up.gif (1014 bytes) right.gif (1020 bytes)

Classificazione delle architetture

Possiamo individuare tre motivi essenziali per tentare una classificazione sistematica delle architetture dei calcolatori; in primo luogo, una classificazione ragionata ci consente di comprendere appieno le proprietà delle architetture già esistenti; in secondo luogo, l'analisi delle zone rimaste vuote nello schema di classificazione può suggerire strutture alternative (il che peraltro non implica che queste siano poi effettivamente suscettibili di implementazione). In terzo luogo, infine, una classificazione adeguata consente di costruire modelli utilizzabili delle prestazioni di un'architettura, permettendo così di stabilire in anticipo perché e in che modo una particolare architettura può fornire un miglioramento delle prestazioni.

La classificazione di Flynn

Già nel 1966 Flynn proponeva una classificazione delle architetture dei calcolatori [7], rimasta ancor oggi molto popolare, che si basa sulla molteplicità delle istruzioni e dei dati.

Si hanno così quattro grandi famiglie:

La classificazione di Feng

In epoca successiva Feng suggeriva [6] l'uso del grado di parallelismo per classificare le architetture dei calcolatori. Il massimo numero di cifre binarie (bit) che possono essere elaborate nell'unità di tempo viene detto massimo grado di parallelismo P. Sia Pi il numero di bit che possono essere processati all'interno dell'i-esimo ciclo del processore; è possibile allora definire un grado medio di parallelismo su T cicli come

In generale, Pi non è maggiore di P. Si può quindi definire un tasso di utilizzazione m relativo a T cicli come

Se la potenza di calcolo del processore è pienamente utilizzata, se quindi il parallelismo è pienamente sfruttato, allora abbiamo Pi = P per ogni i, e m = 1 che equivale a un'utilizzazione al 100%. Il tasso di utilizzazione dipende ovviamente dal programma applicativo in corso di esecuzione, e da come esso è stato suddiviso in segmenti suscettibili di elaborazione parallela.

Altri schemi di classificazione

Nel 1977 Haendler introduceva un ulteriore schema di classificazione [9] basato sia sul numero delle unità di controllo e delle unità aritmetiche presenti nel sistema, sia sul grado di pipelining associato a ciascuno di essi.

Più recentemente, Skillicorn [16] ha proposto uno schema di classificazione ancor più sofisticato, basato sulla classificazione e la differenziazione delle unità funzionali di elaborazione che abbiamo discusso in precedenza; tale schema può tuttavia essere riguardato essenzialmente come un'estensione e una generalizzazione di quello di Feng.

minilogo.gif (2094 bytes)

Introduzione all'architettura dei calcolatori

left.gif (1019 bytes) up.gif (1014 bytes) right.gif (1020 bytes)

© 1997-2003 Paolo Marincola (Rome, Italy)
e-mail:
pmaNOSPAM@acm.org (eliminare i caratteri "NOSPAM" per ottenere l'indirizzo esatto)
Commenti, osservazioni e suggerimenti sono estremamente graditi.

Last revised: 2003-12-06 19:43