Automa a Stati Finiti (ASF)

Documenti analoghi
Macchine sequenziali. Automa a Stati Finiti (ASF)

Macchine sequenziali

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti sequenziali Sincrone

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

Introduzione - Modello. Introduzione - progetto e strumenti

Corso di Reti Logiche. Macchine Sequenziali. Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Contatore avanti-indietro Modulo 4

un insieme finito di segnali d uscita U (nell ascensore U={stare fermo, salire, scendere})

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali

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

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

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

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

AUTOMA A STATI FINITI

Reti sequenziali. Nord

Corso di Reti Logiche

Sintesi di Reti Sequenziali Sincrone

Macchine sincrone. In teoria. Solo un modello teorico NON ESISTE NELLA PRATICA

Macchine per l elaborazione dell informazione dalla macchina di Von Neumann al Calcolatore Elettronico

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Reti Logiche T. Esercizi reti sequenziali sincrone

Circuiti sequenziali: macchine a stati finiti

Reti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori

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 3. Modelli. Macchine combinatorie Macchine sequenziali asincrone sincrone

FSM: Macchine a Stati Finiti

Modelli per le macchine digitali

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

Calcolatori Elettronici Parte III

Reti sequenziali asincrone

STRUMENTI MATEMATICI

ITIS E. BARSANTI POMIGLIANO D ARCO CORSO DI SISTEMI ELETTRONICI AUTOMATICI Prof. Paolo Bisconti AUTOMA A STATI FINITI

ITLCC 2006/10/6 19:09 page 7 #3

DISPENSE DI PROGRAMMAZIONE

I Indice. Prefazione. Capitolo 1 Introduzione 1

Calcolatori Elettronici A a.a. 2008/2009

Luigi Piroddi

1) Codici convoluzionali. 2) Circuito codificatore. 3) Diagramma a stati e a traliccio. 4) Distanza libera. 5) Algoritmo di Viterbi

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE

Esercitazioni di Reti Logiche

Luigi Piroddi

Esercizi sulle Reti Sequenziali Sincronizzate

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

Sintesi di Reti Sequenziali Sincrone

Esercitazioni di Reti Logiche. Lezione 5

ESAME DI ARCHITETTURA I COMPITO A

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Calcolatori Elettronici Gli Automi

Minimizzazione degli stati di reti sequenziali asincrone (RSA) / sincrone (RSS)

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

Corso di elettrotecnica Materiale didattico: i grafi

Esercizi proposti 10

Automi a stati finiti

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

1. Automi a stati finiti: introduzione

Flip-flop, registri, la macchina a stati finiti

COMPITO A. Esercizio 1 (17 punti)

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Introduzione alla programmazione

Richiami di Matematica. 1. Insiemi, relazioni, funzioni. 2. Cardinalitá degli insiemi infiniti e numerabilitá. 3. Notazione asintotica.

RIDUZIONE DEL NUMERO DI STATI DI UN AUTOMA

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine Sequenziali

Algoritmi e Strutture Dati

Calcolatori Elettronici

Fondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria

LA METAFORA DELL UFFICIO

Diagrammi a blocchi 1

FONDAMENTI DI INFORMATICA Lezione n. 7. Esercizi di progetto di circuiti sequenziali

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

controllo stringa a a b a b b c c b a b x y z pila di memoria

Codifica binaria. Rappresentazioni medianti basi diverse

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

I2. Relazioni e funzioni

Codici. Introduzione. Sia A un insieme finito di simboli e C=A n l insieme di tutte le parole composte da n simboli di A

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

Compito A. Esercizio 1 (13 punti) Minimizzare l automa descritto dalla seguente tabella degli stati

17/10/16. Espressioni Booleane

Diagrammi a blocchi 1

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Dispensa 2. Data una grammatica context free esistono tre metodi diversi per costruirne la parsing table per un parser LR:

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

2.3.3 Cammini ottimi nei grafi senza circuiti

«Sciente e Tecnologie dei Beni Culturali»

AMPL Problemi su Reti

Domande di Reti Logiche compito del 29/1/2016

UNA GERARCHIA DI MACCHINE

Parole note, nuovi significati: linguaggio, determinismo e infinito

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Elementi di Architettura e Sistemi Operativi. problema punti massimi i tuoi punti problema 1 6 problema 2 7 problema 3 7 problema 4 10 totale 30

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

Possibile applicazione

La teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Sviluppo di programmi

Transcript:

Automa a Stati Finiti (ASF) E una prima astrazione di macchina dotata di memoria che esegue algoritmi Introduce il concetto fondamentale di STATO che informalmente può essere definito come una particolare condizione della macchina, in conseguenza del quale la macchina reagisce con una determinata uscita ad un determinato ingresso Poiché l uscita dipende anche dallo stato, l ASF è un automa intrinsecamente dotato di una memoria interna che può quindi influenzare le risposte date dall automa anche a parità di dati d ingresso Esempio: riconoscitore di sequenza

Modello di Automa a Stati Finiti Un ASF è una quintupla <Q, I, U, t, w> dove: Q: insieme finito di stati interni q Q I: insieme finito di ingressi i I U: insieme finito di uscite u U t: funzione di transizione t: QxI Q w: funzione di uscita w: QxI U MODELLO ASF DI MEALY w: Q U MODELLO ASF DI MOORE

Significato delle funzioni t e w Funzione stato prossimo t Ad ogni stato presente e per ogni simbolo di ingresso la funzione t associa uno stato futuro: t : Q I Q Ad ogni coppia {stato, simbolo di ingresso} è associato, se specificato, uno stato futuro Funzione d'uscita w Genera il simbolo d'uscita Macchine di Mealy. L uscita dipende sia dallo stato sia dall ingresso: w : Q I U Macchine di Moore. L uscita dipende solamente dallo stato: w : Q U

Tabella degli stati Una macchina sequenziale può essere descritta mediante la Tabella degli stati Indici di colonna sono i simboli di ingresso i I Indici di riga sono i simboli di stato q Q che indicano lo stato presente Elementi sono: Macchine di Mealy: La coppia {q, u }: q = t ( i, q ) è il simbolo stato prossimo u = w ( i, q ) è il simbolo di uscita Macchine di Moore: Il simbolo stato prossimo q : q' = t ( i, q ) è il simbolo stato prossimo Nelle macchine di Moore i simboli d'uscita sono associati allo stato presente

Macchine di Mealy Tabella degli stati Macchine di Moore i 1 i 2.. S t+1 j / u j S t+1 k / u k.... S t+1 m / u m S t+1 l / u l................ i 1 i 2.. S j t+1 S k t+1.... S m t+1 S l t+1................ u 1 u 2....

Rappresentazione grafica di un ASF E possibile rappresentare graficamente un ASF mediante un grafo detto diagramma degli stati Stato: rappresentato da un nodo (cerchio) Transizione: rappresentata da un arco orientato (freccia) Ciascun arco viene etichettato con l ingresso che causa la transizione e la conseguente uscita, separati da un simbolo (/) Se l uscita non è specificata, può essere indicata con il simbolo -

Diagramma degli stati Spesso, la stesura della Tabella degli stati stati è preceduta da una rappresentazione grafica ad essa equivalente, denominata Diagramma degli stati Il Diagramma degli stati è un grafo orientato G(V,E,L) V - Insieme dei nodi Ogni nodo rappresenta uno stato Ad ogni nodo è associato un simbolo d'uscita (macchine di Moore) E - Insieme degli archi Ogni arco rappresenta le transizioni di stato L - Insieme degli: Ingressi e Uscite (macchine di Mealy) Ingressi (macchine di Moore)

Grafo degli stati Grafo degli stati 8 ogni nodo corrisponde ad uno stato ogni transizione (arco) indica il prossimo stato in corrispondenza di un determinato ingresso Mealy: uscita associata all arco Moore: uscita associata al nodo (stato) 0 / 0 S 0 1 / 1 1 / 0stato corrente 0 / 0 stato prossimo S 2 S 1 0 / 0 1/0 uscita prodotta ingresso applicato ad esempio, trovandosi nello stato S 1, nel caso sia applicato il valore di ingresso 0, la macchina si posta nel nuovo stato S 2 producendo come uscita il valore 0

Tabelle e grafi degli stati 0 1 S 0 S 0 /0 S 1 /0 S 1 S 2 /0 S 1 /0 S 2 S 0 /0 S 0 /1 Mealy 0 1 U S 0 S 0 S 1 0 S 1 S 2 S 1 0 S 2 S 0 S 0 1 Moore S 0 1 / 0 0 / 0 S 1 1/0 S 0 /0 1 0 S 1 /0 1 0 / 0 1 / 1 S 2 0 / 0 0 1 S 2 /1 0 9

Esempio Macchina di Mealy Questo esempio mostra l equivalenza delle due rappresentazioni nel caso di una macchina di Mealy Diagramma degli stati Tabella degli stati 0/1 0 1 1/1 s 0 1/1 0/1 s 1 0/0 S 0 S 1 /1 S 2 /1 S 1 S 3 /0 S 2 /1 1/0 S 2 S 1 /1 S 3 /0 s 2 1/0 s 3 0/0 S 3 S 3 /0 S 0 /0

Esempio Macchina di Moore Questo esempio mostra l equivalenza delle due rappresentazioni nel caso di una macchina di Moore Diagramma degli stati 00 1 s 0 0 1 0 s 1 01 0 1 10 s 2 1 s 3 11 0 Tabella degli stati 0 1 U S 0 S 1 S 2 00 S 1 S 3 S 2 01 S 2 S 1 S 3 10 S 3 S 3 S 0 11

Macchine sequenziali Le macchine sequenziali sono realizzazioni di automi a stati finiti in cui i valori di I, U e Q sono codificati in binario Problema della tempificazione: in corrispondenza di quali eventi avvengono le transizioni di stato? Esistono diversi modelli realizzativi di macchine sequenziali che differiscono per il modo con cui viene risolto il problema della tempificazione

Esempio Vogliamo realizzare una macchina in grado di riconoscere la sequenza 101 la macchina avrà un ingresso I su cui arriva una sequenza di 1 o 0 una uscita U che si alza solo quando in ingesso è appena arrivata una sequenza 101 0 1 0 0 0 1 0 1 13 I Q U

Esempio potremo usare una macchina a stati finiti con tre stati S 0, S 1, S 2 con i seguenti significati S 0 è lo stato in cui non è stato riconosciuto ancora niente in ingresso S 1 è lo stato in cui ci si trova se è stata riconosciuta una sequenza di un bit uguale a 1 S 2 è lo stato in cui ci si trova se è stata riconosciuta la sequenza 10. A questo punto, se arriva un 1 si sarà riconosciuta la sequenza 101, se arriva 0 non si è riconosciuto niente. In ogni caso, si ritorna in S 0, ma con uscite diverse a seconda che si sia riconosciuta o meno la sequenza 14

Esempio Automa in grado di riconoscere la sequenza in ingresso 101 1/0 0 1 S 0 S 0 /0 S 1 /0 S 0 0/0 S 1 1/0 S 1 S 2 /0 S 1 /0 S 2 S 0 /0 S 0 /1 0/0 1/1 S 2 0/0 descrizione tramite tabella descrizione tramite grafo 15

Modello fondamentale Una Macchina Sequenziale può essere realizzata con: Una macchina Combinatoria Un ritardo Stato Ingresso d Macchina Combinatoria Stato Prossimo Uscita 16

Le Parti della Macchina L ingresso della macchina combinatoria è l ingresso della macchina sequenziale più l uscita del ritardo (lo stato precedente). L uscita della macchina combinatoria è l uscita della macchina sequenziale più il prossimo stato della macchina. 17

Stati stabili sotto un ingresso Una macchina con ingressi a livelli ha uno stato stabile q sotto un ingresso i se τ(q,i) = q ( τ funzione prossimo stato) In altre parole, applicando in maniera continua l ingresso i la macchina permane nello stato q Se partendo da qualsiasi stato ed applicando qualsiasi ingresso è sempre possibile arrivare in uno stato stabile, la macchina si dice asincrona 18

Stati stabili q1 i 1 q2 i 2 q3 i 3 Stato stabile sotto i3 i 1 i 2 i 3 q1 q2 q2 q3 q3 q3

Sintesi di una macchina sequenziale La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema 2. Costruzione della tabella degli stati 3. Riduzione del numero degli stati: ottimizzazione 4. Assegnamento degli stati: codifica 5. Costruzione della tabella delle eccitazioni 6. Sintesi della rete combinatoria che realizza la funzione stato prossimo 7. Sintesi della rete combinatoria che realizza la funzione d'uscita

Macchina Asincrona

Macchina Asincrona

Macchine asincrone i 1 i 2 i 3 q1 q1 q2 q3 q2 q4 q2 q3 q3 q1 q4 q3 q4 q4 q4 q3 La macchina è asincrona: partendo da qualsiasi stato ed applicando una qualsiasi sequenza fissa in ingresso si perviene ad uno stato stabile. Es.: Partendo da q1 ed applicando i 2 si rimane in q2 (purché i 2 sia applicato per un tempo sufficiente a far arrivare la macchina nello stato q2) 23

Macchine asincrone Applicando una sequenza di due ingressi in una macchina asincrona, la transizione tra uno stato stabile e l altro avviene mediante una transizione orizzontali e poi k transizioni verticali verso lo stato stabile (ciclo lungo k) i 1 i 2 i 3 q1 q1 q2 q3 q2 q4 q2 q3 q3 q1 q4 q3 q4 q4 q4 q3 L unica condizione necessaria a garantire il passaggio da uno stato stabile ad un nuovo stato stabile noto è che il nuovo ingresso sia applicato per un tempo sufficiente a permettere la transizione attraverso gli stati intermedi Le uscite possono essere assegnate ai soli stati stabili

Macchine asincrone ritardo puro della macchina combinatoria (Δ c ) più ritardo delle linee (Δ l ) ritardo inerziale della macchina combinatoria E c stato ingressi Δ s Δ l Macchina Combinatoria Δ c E c uscite La transizione tra due stati stabili avviene soltanto se la durata d dell ingresso che genera la transizione attraverso k stati consecutivi è tale che d > k (E c + Δ S )

Macchina Asincrona