Macchine a Stati finiti

Documenti analoghi
Macchine a Stati finiti

Macchine a Stati finiti

Macchine a Stati finiti. Sommario

Circuiti sequenziali: macchine a stati finiti

Macchine a Stati finiti

Flip-flop, registri, la macchina a stati finiti

Macchine a Stati finiti (esercizi) Riconoscitore di stringhe

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

Automi a stati finiti

1. Automi a stati finiti: introduzione

Sintesi Sequenziale Sincrona

L unità di controllo di CPU multi-ciclo

Architettura degli elaboratori - II Le architetture multi-ciclo

Sintesi di Reti Sequenziali Sincrone

CPU a ciclo multiplo: l unità di controllo

Sintesi di Reti sequenziali Sincrone

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

Flip-flop, registri, la macchina a stati finiti

Sintesi Sequenziale Sincrona

Sintesi di circuiti sequenziali

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9

Macchine Sequenziali

Sintesi di Reti sequenziali Sincrone

Introduzione e macchine a stati finiti

Architetture sincrone e asincrone Sintesi di circuiti sequenziali

AUTOMA A STATI FINITI

Esercitazione del 12/04/ Soluzioni

Introduzione - Modello. Introduzione - progetto e strumenti

Macchine sequenziali

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

Reti sequenziali. Nord

Esercizio sugli automi di Moore

Calcolatori Elettronici

Automa a Stati Finiti (ASF)

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

Circuiti sequenziali e latch

Capitolo 4 Reti Sequenziali. Reti Logiche T

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

Una CPU multi-ciclo. Sommario

I bistabili ed il register file

Modelli per le macchine digitali

Calcolatori Elettronici

Macchine sequenziali. Automa a Stati Finiti (ASF)

Capitolo 3. Modelli. Macchine combinatorie Macchine sequenziali asincrone sincrone

Analisi e Sintesi di circuiti sequenziali

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

Calcolatori Elettronici A a.a. 2008/2009

Esercizio sugli automi di Moore

CPU a ciclo multiplo

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

Prova d esame di Reti Logiche T 13 Luglio 2016

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

CPU a ciclo multiplo

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

Prova d esame di Reti Logiche T 10 Giugno 2016

Esercizio sugli automi di Moore

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

I Componenti di un Sistema Digitale e Progetto Controllore data path

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

Stall on load e Hazard sul controllo. Sommario

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

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali

Reti Logiche Sequenziali

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

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

Circuiti Sequenziali & Somma FP

L unità di controllo di CPU multi-ciclo

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

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

Una CPU multi-ciclo. Sommario

Reti Logiche T. Esercizi reti sequenziali sincrone

ALU + Bistabili. Sommario

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

Tutorato architettura degli elaboratori modulo I (lezione 4)

Unità di controllo della pipeline

Livello logico digitale

x y z F x y z F

Firmware Multiplier. Sommario

DOMANDA N. 1 Quale frequenza del clock minimizza il numero di stati della rete sequenziale sincrona?

Università degli Studi di Milano - Corso Architettura degli elaboratori e delle reti Turno 1 Prof. Borghese. Cognome e nome dello studente:

Firmware Multiplier. Sommario

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

Una CPU multi-ciclo. Sommario

Reti Logiche A Appello del 9 luglio 2009

I flip-flop ed il register file. Sommario

Esercizio 1. Esercizio 1. Esercitazioni su circuiti sequenziali. Esercizio 1. Mimimizzazione. Macchina a stati finiti di Moore F* = A~S + F~S

Contatore avanti-indietro Modulo 4

Introduzione. Progetto di Contatori sincroni. Contatori definizioni caratteristiche. Contatori

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

I Indice. Prefazione. Capitolo 1 Introduzione 1

Reti logiche (2) Circuiti sequenziali

Reti logiche (2) Circuiti sequenziali

Compito A SR=SL=0. Qn-1Qn-2...Q1Q0. SR=1,SL=0 x {0,1} SR=0, SL=1. Q0Qn-1Qn-2...Q1. Q n-2 Q n-3..q 0 x

Esercizi Risolti RETI LOGICHE T (Modulo 2)

Sintesi di Reti Sequenziali Sincrone

Calcolatori Elettronici Lezione 4 Reti Sequenziali Asincrone

Reti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori

Transcript:

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

La CPU come macchina sequenziale M FF Fase di fetch WB M Decodifica Esecuzione M Decod Lettura / scrittura Write back R/W M M Exec 3/27 i o i i M x x K x K y o y y N Macchina di Huffman Stato 4/27

Macchina a Stati Finiti (di Moore) La Macchina di Moore è definita, in teoria degli automi, dalla quintupla : <,,, f(.), g(.) > : insieme degli stati (in numero finito). : alfabeto di ingresso: tutti i simboli che si possono presentare in ingresso. Se abbiamo n ingressi, avremo 2 n possibili simboli da leggere in ingresso (configurazioni). : alfabeto di uscita: tutti i simboli che si possono generare in uscita. Se abbiamo m uscite, avremo 2 m possibili simboli da presentare in uscita (configurazioni). f(.): funzione stato prossimo: = f(,). Definisce l evoluzione della macchina nel tempo. L evoluzione è deterministica. g(.): funzione di uscita: = g() nelle macchien di Moore. Per il buon funzionamento della macchina è previsto uno stato iniziale, al quale la macchina può essere portata mediante un comando di reset. 5/27 Descrizione di una macchina di Moore 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. 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 α. 6/27

Sommario Macchine a stati finiti Esempio: sintesi di un controllore per venditore di bibite. Esempio: sintesi di un controllore di un semaforo. 7/27 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. = [c, c, 2c] = [, caffè] = Monete accumulate = [, c, 2c, 3c, 4c) = F(,) = g() c / c / 2c / =2c =2c =2c 3c / 4c / 8/27

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() c / N c / N 2c / N 3c / C 9/27 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 /27

Codifica della STT della vendor machine c () c () c () c () Nulla () 2c () Nulla () 2c () 2c () 3c () Nulla () 3c () c () Caffè () = [c, c] = [, ] = [Nulla, Caffè] = [, ] = [, c, 2c, 3c] = [,,, ] = F(,) da sintetizzare = g() da sintetizzare c / N c / N 2c / N 3c / C /27 Sintesi della funzione di uscita della FSM della Vendor Machine c () c () è su 2 cifre => 2 bit e c () c () Nulla () 2c () Nulla () 2c () 2c () 3c () Nulla () 3c () c () Caffè () = [, ] = [, ] = [,,, ] = F(,) =? = g() = 2/27

Sintesi della funzione stato prossimo della FSM della Vendor Machine è su 2 cifre => 2 bit e = [, ] = [, ] = [,,, ] = F(,) => = ( +!! ) +!! =! +! = g() = 3/27 nput Sintesi del circuito della FSM della Vendor Machine ( +!! ) +!!! +! Q D T = [, ] = [, ] = [,,, ] Q D T = F(,) => = ( +!! ) +!! =! +! = g() = 4/27

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è).... 5/27 Sommario Macchine a stati finiti. Esempio: sintesi di un controllore per venditore di bibite. Esempio: sintesi di un controllore di un semaforo. 6/27

Controllore di un semaforo 2 strade: nord-sud ed est-ovest che devono essere controllate da un semaforo (per semplicità supponiamo che possa accendere solamente rosso e verde). 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 il semaforo deve cambiare colore. 7/27 Stato, nput, Output del semaforo ngresso: [Nulla, Auto NS, Auto EO, Auto Both ] Uscita: [Luce_Verde NS, Luce_Verde EO ] Stato:? f(,) =? G() =? 8/27

ngresso: [Nulla, Auto NS, Auto EO, Auto Both ] STG del semaforo, Auto NS Uscita: [Luce_Verde NS, Luce_Verde EO ] Stato: [Verde NS, Verde EO ] Verde NS / Luce NS f(,) =? G() =? Auto EO, Auto Both Auto NS, Auto Both, Auto EO Verde EO / Luce EO 9/27 STT del semaforo nput Nulla Auto NS Auto EO Auto Both Uscita Verde NS Verde NS Verde NS Verde EO Verde EO Luce NS, Auto NS Verde EO Verde EO Verde NS Verde EO Verde NS Luce EO Verde NS / Luce NS Auto EO, Auto Both Auto NS, Auto Both, Auto EO Verde EO / Luce EO 2/27

STT del semaforo binaria nput Nulla = Auto NS = Auto EO = Auto Both = Uscita Verde NS = Verde NS = Verde NS = Verde EO = Verde EO = Luce NS = Verde EO = Verde EO = Verde NS = Verde EO = Verde NS = Luce EO = ngresso: [Nulla, Auto NS, Auto EO, Auto Both ] = [,,, ] Uscita: [Luce_Verde NS, Luce_Verde EO ] = [, ] Stato: [Verde NS, Verde EO ] = [, ] f(,) =? G() =? 2/27 Sintesi della MSF del semaforo nput 2 =f(,) = g( ) Q D T 22/27

Sintesi della MSF del semaforo 2 =f() = g( ) _ = + + + = + Q D T = Uscita ngresso: [,,, ] Uscita: [, ] Stato: [, ] f(,) =? G() =? 23/27 Sintesi del circuito della MSF del semaforo 2 =f() = g( ) _ = + + + = + = Q D T 24/27

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(). 25/27 Sommario Macchine a stati finiti Esempio: sintesi di un latch di tipo D. Esempio: sintesi di un controllore di un semforo. 26/27

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. 27/27