Architettura degli Elaboratori I INTRODUZIONE ALLE MACCHINE A STATI Filippo Mantovani Corso di Laurea in Informatica Università degli Studi di Ferrara Ferrara, 08 Maggio 2008
Tante parti, un unico scopo... LOGICA COMBINATORIA (l'algebra di Boole, le tabelle di verità) TEMPO (CLOCK) LOGICA SEQUENZIALE (elementi che MEMORIZZANO informazioni) SCOPO: Scoprire come si costruiscono macchine che possano pilotare/controllare i dati (le istruzioni) che circolano all'interno di un calcolatore. Mantovani Filippo, 08/05/2008-2 -
Macchina a stati: Una MACCHINA A STATI (o FSM) e' composta da: 1 elemento di memoria (a n-bit) che contiene lo stato attuale; 1 funzione che determina il prossimo stato sulla base dello stato corrente e di alcuni input; 1 funzione che determina gli output in base allo stato corrente e agli input. Mantovani Filippo, 08/05/2008-3 -
Rappresentazione di FSM...Quindi una macchina a stati può essere vista a sua volta come una funzione logica composta da più funzioni. DOMANDA: RISPOSTA: In quanto funzione logica può avere una tabella di verità? NO, perché e' composta da una funzione sequenziale e la sua rappresentazione in termini di porte logiche richiederebbe dei CICLI. PROBLEMA: Come rappresentiamo/studiamo quindi una funzione logica che implementa una macchina a stati? Mantovani Filippo, 08/05/2008-4 -
Il distributore di bevande Supponiamo di voler formalizzare il funzionamento di un distributore di bevande mediante una macchina a stati. Supponiamo che il distributore: 1) distribuisca solo bevande del valore di 2 ; 2) accetti solo monete da 2, 1 e 50 cent; 3) non dia il resto ma accumuli eventuale credito residuo per l'utente successivo. Mantovani Filippo, 08/05/2008-5 -
Il distributore di bevande Gli stati sono 4: S0: il credito accumulato e' 0 o 2 ; S1: il credito accumulato e' 0.5 ; S2: il credito accumulato e' 1 ; S3: il credito accumulato e' 1.5 ; Il segnale di controllo e' 1: M: l'importo della moneta inserita (avra' quindi valori 0, 0.5, 1, 2). Mantovani Filippo, 08/05/2008-6 -
Diagramma a bolle REGOLE di COMPILAZIONE di UN BUON DIAGRAMMA A BOLLE: Ogni stato viene rappresentato con una bolla. Da ogni bolla devono uscire le frecce rappresentanti i controlli che influenzano la transizione di stato. Ogni freccia (transizione di stato) e' sempre associata a una label (etichetta col nome del controllo che fa transire lo stato) e deve essere sempre e solo MONODIREZIONALE. Non ci sono limiti grafici, ma il grafico non deve lasciare ambiguità e deve essere ASSOLUTAMENTE coerente con la descrizione della macchina!!! Mantovani Filippo, 08/05/2008-7 -
Esercizio Compilare il diagramma a bolle per la macchina a stati che descrive il funzionamento del distributore appena visto... Mantovani Filippo, 08/05/2008-8 -
Tabella di transizione: REGOLE di COMPILAZIONE di UNA BUONA TABELLA DI TRANSIZIONE: Ogni tabella deve riportare come colonne i segnali di controllo, lo stato attuale e lo stato prossimo. Le righe della tabella devono essere tante quante sono necessarie per rendere esaustivo il trattamento di tutte le possibili transizioni di stato. NB: il numero di righe R e' dato da: dove s e' il numero di stati, c il numero di controlli e n e' il numero di valori che può assumere ciascun controllo. E' possibile utilizzare shortcut, ma la tabella non deve lasciare ambiguità!!! c R=s i=1 n i Mantovani Filippo, 08/05/2008-9 -
Esercizio Compilare la tabella di transizione della macchina a stati che descrive il comportamento del distributore appena visto... Mantovani Filippo, 08/05/2008-10 -
Esercizio Qual e' il numero minimo di registri a 1 bit che servono per memorizzare lo stato di una macchina a stati con 18 stati? Mantovani Filippo, 08/05/2008-11 -
Cosa abbiamo imparato? Mediante l'uso della logica combinatoria, della logica sequenziale e del concetto di clock riusciamo a creare/descrivere sistemi sincroni che evolvono su stati noti reagendo a determinati input (MACCHINE A STATI o FSM). Conosciamo due modi per studiare/descrivere macchine e stati finiti: le tabelle di transizione e i diagrammi a bolle. Mantovani Filippo, 08/05/2008-12 -
Perché tutto questo? Poiché l'architettura di un tipico calcolatore può essere schematizzata come segue: Il control-path di ogni processore (e quindi anche del MIPS) e' gestito da macchine a stati... Mantovani Filippo, 08/05/2008-13 -
Perché tutto questo? Mantovani Filippo, 08/05/2008-14 -
Domande... Mantovani Filippo, 08/05/2008-15 -
Make your choice! Mantovani Filippo, 08/05/2008-16 -