Strutturazione a livelli Le funzionalità di un sistema di elaborazione nel suo complesso possono essere viste come ripartite secondo un certo numero li livelli, o macchine virtuali secondo un certo numero li livelli, o macchine virtuali {MV0, MV1, …, MVn}. Ogni livello è caratterizzato da: • Un insieme Ri di risorse, oggetti visibili a chi programma a quel livello; • Un linguaggio Li per il controllo e la gestione degli elementi di Ri. Il livello MV0 è quello di componenti fisici a partire dai quali viene costruita un’astrazione. Il livello MVn è quello che possiamo chiamare delle “applicazioni” in quanto fornisce la visione degli oggetti e degli strumenti mediante i quali il sistema viene utilizzato dall’esterno. Il livello MV0, e solo quello, viene detto della macchina hardware. I livelli sono ordinati secondo una relazione gerarchica. Ogni istruzione primitiva o meccanismo, del linguaggio L, è l’implementata da un programma P, scritto nel linguaggio L. Il concetto che sta alla base della struttura a livelli è che per ogni livello MVi l’insieme dei livelli MVj permette di implementare complessivamente il supporto a tempo di esecuzione (STE) di Li, cioè una collezione di algoritmi e strutture dati che provvedono all’interpretazione dei meccanismi di Li. Al livello MV1, della macchina firmware, è interpretato direttamente dall’hardware. A questo livello viene data la descrizione tanto del funzionamento interno di ogni unità di elaborazione quanto di quello di più unità interagenti. La macchina hardware viene virtualizzata mediante un insieme di microprogrammi, cioè sequenze di operazioni di trasferimento tra registri. Il livello MV2 è indicato erroneamente come macchina assembler. In effetti il linguaggio L2 è un sotto insieme di un linguaggio assembler. Continua »
Storia dell'architettura: Walter Gr... guarda il video »