Macchine a Stati finiti

Documenti analoghi
Macchine a Stati finiti

Macchine a Stati finiti

Macchine a Stati finiti

Circuiti sequenziali: macchine a stati finiti

Flip-flop, registri, la macchina a stati finiti

Macchine a Stati finiti (esercizi) Riconoscitore di stringhe

Sintesi Sequenziale Sincrona

L unità di controllo di CPU multi-ciclo. Sommario

Automi a stati finiti

1. Automi a stati finiti: introduzione

Sintesi di Reti Sequenziali Sincrone

Architettura degli elaboratori - II Le architetture multi-ciclo

L unità di controllo di CPU multi-ciclo

Introduzione. Sintesi Sequenziale Sincrona. Modello del circuito sequenziale. Progetto e strumenti. Il modello di un circuito sincrono può essere

Circuiti sequenziali e latch

CPU a ciclo multiplo: l unità di controllo

Sintesi di Reti sequenziali Sincrone

Introduzione e macchine a stati finiti

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9

Sintesi di circuiti sequenziali

Esercizio sugli automi di Moore

Flip-flop, registri, la macchina a stati finiti

Architetture sincrone e asincrone Sintesi di circuiti sequenziali

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali

Sintesi di Reti sequenziali Sincrone

Macchine Sequenziali

ALU + Bistabili. Sommario

ALU + Bistabili. Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano

Esercitazione del 12/04/ Soluzioni

Reti sequenziali. Nord

Introduzione - Modello. Introduzione - progetto e strumenti

AUTOMA A STATI FINITI

Calcolatori Elettronici

Macchine sequenziali

Capitolo 6. Reti asincrone. Elaborazione asincrona Procedimenti di sintesi e analisi Memorie binarie

Calcolatori Elettronici A a.a. 2008/2009

Esercizio 1. Utilizzare FF di tipo D (come ovvio dalla figura, sensibili al fronte di discesa del clock). Progettare il circuito con un PLA.

Capitolo 4 Reti Sequenziali. Reti Logiche T

Calcolatori Elettronici

I bistabili ed il register file

Una CPU multi-ciclo. Sommario

Esercizio sugli automi di Moore

Modelli per le macchine digitali

Circuiti sincroni circuiti sequenziali:bistabili e latch

Analisi e Sintesi di circuiti sequenziali

Progetto di Contatori sincroni. Mariagiovanna Sami Corso di reti Logiche 8 Anno

I flip-flop ed il register file. Sommario

Automa a Stati Finiti (ASF)

Firmware Multiplier. Sommario

Memorie. Laboratorio di Architetture degli Elaboratori I Corso di Laurea in Informatica, A.A Università degli Studi di Milano

Capitolo 3. Modelli. Macchine combinatorie Macchine sequenziali asincrone sincrone

Terza esercitazione. Progetto di una rete di controllo. Obiettivi Progetto e analisi di macchine a stati finiti. a.a

Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate. Architettura degli elaboratori Bistabili e Clock

NOME e COGNOME (stampatello): Compito A. Esercizio 1 (8 punti) Minimizzare l automa in tabella e disegnare l automa minimo.

Firmware Multiplier. Sommario

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

LOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita

Reti Logiche T. Esercizi reti sequenziali sincrone

Prova d esame di Reti Logiche T 13 Luglio 2016

Esercizio sugli automi di Moore

Reti logiche (2) Circuiti sequenziali

Circuiti sequenziali e latch

Reti logiche (2) Circuiti sequenziali

x y z F x y z F

Esercizio 1. semaforo verde semaforo rosso T V1 VG 1. semaforo verde-giallo semaforo rosso T G V 2. semaforo rosso semaforo verde T V2 VG 2

CPU a ciclo multiplo

Macchine sequenziali. Automa a Stati Finiti (ASF)

CPU a ciclo multiplo

Unità di controllo della pipeline

Calcolatori Elettronici Lezione 4 Reti Sequenziali Asincrone

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali

Circuiti Sequenziali & Somma FP

Le reti sequenziali sincrone memorizzano il proprio stato in dei FF-D

Prova d esame di Reti Logiche T 10 Giugno 2016

Esercizi sulle Reti Sequenziali Sincronizzate

Elementi di memoria Ciascuno di questi circuiti è caratterizzato dalle seguenti proprietà:

I Indice. Prefazione. Capitolo 1 Introduzione 1

Reti Logiche Sequenziali

Reti Logiche A Appello del 9 luglio 2009

Una CPU multi-ciclo. Sommario

Somma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione

Compito A (Per il canale Velardi P-Z) Orale: 26 febbraio aula alfa ore 10, portare la prova Circuimaker

Sintesi Sequenziale Sincrona. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Firmware Division, UC & Floating gpointer adder

UNIVERSITÀ DEGLI STUDI DI FIRENZE CORSO DI LAUREA IN INFORMATICA Corso di Architettura degli Elaboratori Esercitazione del 19/01/2018

COMPITO A. Esercizio 1 (17 punti)

AB=AB. Porte logiche elementari. Livello fisico. Universalità delle porte NAND. Elementi di memoria: flip-flop e registri AA= A. Porta NAND.

Livello logico digitale

Una CPU multi-ciclo. Sommario

Capitolo 3. Modelli. 3.1 La macchina a stati finiti 3.2 La macchina combinatoria 3.3 La macchina asincrona 3.4 La macchina sincrona

Contatore avanti-indietro Modulo 4

ANALISI E PROGETTO DI CIRCUITI SEQUENZIALI

Calcolatori Elettronici B a.a. 2004/2005

Circuiti sincroni Circuiti sequenziali: i bistabili

La pipeline. Sommario

Firmware Division, UC & Floating pointer adder

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Elementi di memoria

Transcript:

Macchine a Stati finiti Prof. Alberto Borghese Dipartimento di Scienze dell nformazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: Sezione B. /29 Sommario Macchine a stati finiti Esempio: sintesi di un controllore per venditore di bibite. Esempio: sintesi di un controllore di un semaforo. 2/29

La CPU come macchina sequenziale M FF Fase di fetch WB M Decodifica Calcolo M Decod Lettura / scrittura Write back R/W M M Exec 3/29 STG di una macchina venditrice di bibite Voglio costruire una macchinetta che eroga caffè quando l utente ha inserito 3c. Accetta o 2c e non dà resto. N = No Caffè C = Caffè. c / N =2c c / N 2c / N =2c =2c 3c / C =2c 4c / C 4/29 2

Macchina a Stati Finiti (di Moore) La Macchina di Moore è definita, in teoria degli automi, dalla sestupla: <,,, f(.), g(.), o > : insieme degli stati (in numero finito). : insieme di ingresso: tutti i simboli che si possono presentare in ingresso. : insieme di uscita: tutti i simboli che si possono generare in uscita. f(.): funzione stato prossimo: = f(,). Definisce l evoluzione della macchina nel tempo. L evoluzione è deterministica. g(.): funzione di uscita: = g() nelle macchine di Moore. Stato iniziale:. Per il buon funzionamento della macchina è previsto uno stato iniziale, al quale la macchina può essere portata mediante un comando di reset. 5/29 i o i i M Macchina a stati finiti binaria x x x K x K y o y y N Macchina di Huffman M ingressi K variabili di stato N uscite Stato 6/29 3

Descrizione di una macchina di Moore STG: State Transition Graph (Diagramma degli stati o Grafo delle transizioni). Ad ogni nodo è associato uno stato. Un arco orientato da uno stato x i ad uno stato x j, contrassegnato da un simbolo (di ingresso) α, rappresenta una transizione (passaggio di stato) che si verifica quando la macchina, essendo nello stato x i, riceve come ingresso il simbolo α. STT: State Transition Table (Tabella degli Stati). Per ogni coppia, (Stato presente ngresso), si definisce l Uscita e lo Stato Prossimo. La forma è tabellare e ricorda le tabelle della verità da cui è derivata. 7/29 Sommario Macchine a stati finiti Esempio: sintesi di un controllore per venditore di bibite. Esempio: sintesi di un controllore di un semaforo. 8/29 4

STG di una macchina venditrice di bibite (Semplificata) Voglio costruire una macchinetta che eroga caffè quando l utente ha inserito 3c. Accetta solamente monete da c. = {c, c} = {Nulla, Caffè} = Monete accumulate = {, c, 2c, 3c} = f(,) = g() o = c c / N c / N 2c / N 3c / C 9/29 STT della vendor machine c c c c c Nulla c c 2c Nulla 2c 2c 3c Nulla 3c c c Caffè l controllore controlla ogni.5s l ingresso e ogni.5s aggiorna lo stato e l uscita. c / N c / N 2c / N 3c / C /29 5

Codifica della STT della vendor machine c () c () c () c () c () Nulla () c () c () 2c () Nulla () 2c () 2c () 3c () Nulla () 3c () c () c () Caffè () = [c, c] = {, } = [Nulla, Caffè] = {, } = [, c, 2c, 3c] = {,,, } = f(,) da sintetizzare = g() da sintetizzare c / N c / N 2c / N 3c / C /29 Macchina a Stati Finiti (di Moore) La Macchina di Moore è definita, in teoria degli automi, dalla sestupla: <,,, f(.), g(.), o > : insieme degli stati (in numero finito). : insieme di ingresso: tutti i simboli che si possono presentare in ingresso. n caso di codifica binaria, se abbiamo n linee in ingresso (variabili binarie), avremo 2 n possibili simboli da leggere in ingresso (configurazioni). : insieme di uscita: tutti i simboli che si possono generare in uscita. n caso di codifica binaria, se abbiamo m linee in uscita (variabili binarie), avremo 2 m possibili simboli in uscita (configurazioni). f(.): funzione stato prossimo: = f(,). Definisce l evoluzione della macchina nel tempo. L evoluzione è deterministica. La funzione è una funzione logica. g(.): funzione di uscita: = g() nelle macchine di Moore. E una funzione logica. Stato iniziale:. Per il buon funzionamento della macchina è previsto uno stato iniziale, al quale la macchina può essere portata mediante un comando di reset. 2/29 6

Sintesi della funzione di uscita della FSM della Vendor Machine c () c () è su 2 cifre => 2 bit e c () c () c () Nulla () c () c () 2c () Nulla () 2c () 2c () 3c () Nulla () 3c () c () c () Caffè () x = {, } = {, } = {,,, } = g() = x = F(,) =? 3/29 x Sintesi della funzione stato prossimo della FSM della Vendor Machine è su 2 cifre => 2 bit x e x x x = [, ] = [, ] = [,,, ] = F(,) => x = (x + x )_ + x_ x_ = _ (x _ + ) + x x = x + x = g() = x 2 bit di stato prossimo vengono sintetizzati sepratamente. Sono entrambi funzione dei 2 bit di stato all istante attuale e del bit di A.A. ingresso 27-28 4/29 7

nput Sintesi del circuito della FSM della Vendor Machine _ x = (x + ) + x x x x x = x + x x Q D T = {, } = {, } = {,,, } Q _ D T = F(,) => x = (x_ + _ ) + x x = x + x = g() = x 5/29 Una vendor machine più completa. Monete diverse dai c. Scelta di bevande diverse. Bevande diversi con costi diversi. Periodo di refrattarietà nella quale non si possono inserire monete (periodo di preparazione del caffè).... 6/29 8

Sommario Macchine a stati finiti. Esempio: sintesi di un controllore per venditore di bibite. Esempio: sintesi di un controllore di un semaforo. 7/29 Latch di tipo SC come macchina a stati finiti Q* = f(q,s,c) Variabile di Stato (interna) Variabili di ngresso (esterne) Q SC = SC = SC = SC = No change (Q* = Q) Clear Reset Set Q è l uscita del latch: stato presente. Q* è il valore dell uscita al tempo successivo: stato prossimo. L uscita del latch coincide con il suo stato (interno). NB non ha senso implementare il latch come macchina di Huffman. 8/29 9

Controllore di un semaforo 2 strade: nord-sud, NS, ed est-ovest, EO, che devono essere controllate da un semaforo. l sistema di controllo dà via libera alternativamente alla direttrice NS o EO. l sistema di controllo pilota un semaforo il quale accenderà alternativamente il verde solla direttrice NS o sulla direttrice EO (quando il semaforo non è verde, per semplicità supponiamo che sia rosso). l semaforo può commutare ogni 3 secondi (clock con frequenza =?). Supponiamo che esista una video-camera in grado di leggere, per ogni direttrice, se esiste almeno un auto in attesa, oppure un auto che si accinga ad attraversare (le due condizioni sono trattate allo stesso modo). l semaforo deve cambiare colore (da rosso a verde quando esiste un auto in attesa sulla sua direttrice. Se ci sono due auto in attesa sulle due direttrici, viene posto a verde il semaforo rosso e a rosso il semaforo verde (viene dato via libera all altra direttrice). Supponiamo che all accensione venga dato via libera alla direttrice NS. 9/29 Stato, nput, Output del semaforo ngresso: {Nulla, Auto NS, Auto EO, Auto Both } Uscita: {Luce NS, Luce EO } Stato:? f(,) =? G() =? 2/29

ngresso: {Nulla, Auto NS, Auto EO, Auto Both } STG del semaforo, Auto NS Uscita: {Luce EO, Luce NS } Stato: {, } / Luce NS f(,) =? G() =? Auto EO, Auto Both Auto NS, Auto Both, Auto EO / Luce EO 2/29 STT del semaforo nput Nulla Auto NS Auto EO Auto Both Uscita Luce NS, Auto NS Luce EO / Luce NS Auto EO, Auto Both Auto NS, Auto Both, Auto EO / Luce EO 22/29

STT del semaforo binaria nput Nulla = Auto NS = Auto EO = Auto Both = Uscita = = = = = Luce NS = = = = = = Luce EO = ngresso: {Nulla, Auto NS, Auto EO, Auto Both } = {,,, } Uscita: {Luce EO, Luce NS } = {, } Stato: {, } = {, } f(,) =? G() =? 23/29 Sintesi della MSF del semaforo nput 2 =f(,) = g() Q D T 24/29 2

nput 2 Sintesi della MSF del semaforo =f(,) = g() Q D T = i i + i i + i i + i i = i + i _ = Uscita ngresso: {,,, } Uscita: {, } Stato: {, } f(,) =? G() =? 25/29 nput 2 Sintesi del circuito della MSF del semaforo =f(,) = g() Q D T = i i + i i + i i + i i = i + i _ = i i 26/29 3

passi della progettazione di una MSF l committente fornisce le specifiche di funzionamento. Definizione delle variabili di nput, Stato e Output. Definizione degli insiemi di simboli che possono essere assunti dalle variabili di nput e di Output. Costruzione dello STG => Definizione dell insieme di simboli che possono essere assunti dallo stato. Costruzione della STT => Definizione implicita delle funzioni stato prossimo ed uscita. Codifica della STT => Definizione del numero di bit per nput, Stato e Output. STT Codificata => Circuiti combinatori che sintetizzano le funzioni f(,) e g(). 27/29 Esercizi Costruire una macchina a stati finiti (di Moore), in grado di individuare all interno di una parola di e le seguenti configurazioni: e. Le configurazioni si possono concatenare (e.g. da uscita vera, al secondo e terzo ). Stato iniziale. Costruire una macchina a stati finiti (di Moore), con due ingressi, x e x 2, che fornisce quando negli ultimi 3 istanti si è verificata la seguente configurazione: t = -2 t = - t = x x 2 x Stato iniziale x = x 2 =. Costruire un venditore di bibite che distribuisce una bibita quando si raggiungono i 35 cents inseriti. Non dà resto. 28/29 4

Sommario Macchine a stati finiti. Esempio: sintesi di un controllore per venditore di bibite. Esempio: sintesi di un controllore di un semaforo. 29/29 5