Dreke90 di Dreke90
Genius 6795 punti

Le fasi di Fetch e Decode

Durante la fase di fetch,l'unita di controllo provvede a far caricare nel memory address register (MAR) ,e quindi sull'address bus,l'indirizzo contenuto nel contatore di programma (PC).
Il contenuto della locazione indicata arriva ,tramite il bus dati,nel read write register (RWR).
L'accesso ai bus avviene attraverso due registri temporanei che abbiamo indicato con AB e DB. Poiché il contenuto di RWR corrisponde a un codice operativo,sarà inviato al registro istruzione ;nel caso si trattasse di un generico operando ,passerebbe direttamente sul bus interno .si potrebbe immaginare tale operazione gestita da un demultiplexer. La fase di fetch si conclude con l'aggiornamento del contatore di programma.
Poiché la lunghezza delle istruzioni e variabile in base al tipo di azioni che deve essere svolta ,una semplice decodifica del codice operativo servirà all'UC per decidere quanti altri byte dovranno essere letti dalla memoria per fare in modo che l'istruzione si disponibile completamente all'interno del processore. E' questa la fase di decodifica del codice operativo o ,semplicemente,la fase di decode.

Come vedremo ,e proprio il modo in cui deve essere realizzata al fase dio decode a costituire una notevole discriminante nella progettazione di un sistema di elaborazione.
In seguito alla decodifica del codice operativo,potrebbero essere necessari altri cicli di lettura dalla memoria per il riempimento degli eventuali operandi. Questa e ,a tutti gli effetti ,una fase operativa a se stante ,che viene indicata come fetch degli operandi. L'unica differenza rispetto al fetch del codice operativo sta nel fatto che gli operandi non vengono memorizzati nel registro IR, ma da RWR vengono immediatamente dirottati sul bus interno tramite il quale raggiungeranno la corretta destinazione. Dopo ogni fetch,il contatore di programma viene incrementato.

Registrati via email