In una CPU troviamo

  • l'ALU

  • la CU

  • insieme di registri veloci

  • schema di interconnessione (tramite BUS o MUX-DEMUX)

All'interno dell'Unità di Controllo troviamo

  • PC (Program Counter), un registro di tipo contatore preselezionabile. Contiene l'indirizzo di una locazione di memoria, il cui contenuto è mandato al
  • Decodificatore di Istruzioni, che permette di riconoscere l'istruzione in entrata.
  • Il codificatore di comandi, che, a seconda dell'istruzione decodificata, attiva gli opportuni moduli generando segnali di funzione o di comando, che saranno inviati all'ALU se sono istruzioni aritmetico logiche, alla MEMORIA se sono istruzioni di trasferimento, oppure aggiorneranno il PC se sono istruzioni di salto.

In realtà, non tutto il contenuto del registro va al decodificatore. L'istruzione, infatti, si divide in codice operativo e referenziamento operandi; solo il codice è mandato al decodificatore.


Fasi di esecuzione di un'istruzione

L'Unità di Controllo è una macchina sequenziale, come d'altra parte l'Unità Aritmetico Logica. Modelliamo, quindi, la CU con un automa a due stati:

Il primo stato comprende le fasi di:

  • FETCH (caricamento): il PC contiene l'indirizzo di memoria da cui prelevare l'istruzione; quest'ultima arriva al decodificatore
  • DECODE (decodifica): l'informazione entra nel transcodificatore, che restituisce un segnale di comando o funzione

Il secondo stato è la fase di

  • EXECUTE (esecuzione)


Classificazione delle istruzioni

  1. istruzioni di trasferimento; non modificano l'operando. Il trasferimento può avvenire in quattro modi:
    • memoria->registro
    • registro->registro
    • registro->memoria
    • memoria->memoria
  2. istruzioni aritmetico-logiche; modificano l'operando (o gli operandi). Esempi di istruzioni aritmetiche: addizione, sottrazione, cambiamento di segno, moltiplicazione, divisione. Esempi di istruzioni logiche: OR, AND, NOT (più quelle che si ottengono componendoli), scorrimento, rotazione, test su stringa o singolo bit, manipolazioni su stringa o su singolo bit.
  3. istruzioni di comando; sono direttive di comportamento per la macchina. Esempi: HALT e gestione di situazioni anomale.
  4. istruzioni di salto; si distinguono in:
    • salto incondizionato; forza il contenuto del PC
    • salto condizionato; forza il contenuto del PC solo se è vera la condizione
    • salto a sottoprogramma o subroutine; forza il PC ad un nuovo programma, per poi tornare al punto di interruzione del primo programma
    • interruzioni e trap, per situazioni anomale che hanno bisogno di salti all'esecuzione di altri programmi
  5. istruzioni di ingresso e uscita.

-- GiuseppeMacario - 30 Mar 2002

Topic attachments
I Attachment History Action Size Date WhoSorted ascending Comment
GIFgif istruzione.gif r1 manage 8.0 K 2002-03-30 - 23:19 GiuseppeMacario  
GIFgif pc_memoria_transc.gif r2 r1 manage 5.5 K 2002-04-02 - 07:23 GiuseppeMacario  
GIFgif schema_alu.gif r2 r1 manage 0.9 K 2002-04-02 - 07:23 GiuseppeMacario  
GIFgif schema_cu.gif r2 r1 manage 1.0 K 2002-04-02 - 07:22 GiuseppeMacario  
GIFgif stati_cu.gif r2 r1 manage 2.4 K 2002-03-31 - 17:07 GiuseppeMacario  
Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2002-10-01 - GiuseppeMacario






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback