Macchine sequenziali

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

Automa a Stati Finiti (ASF)

Macchine sequenziali. Automa a Stati Finiti (ASF)

Sintesi di Reti Sequenziali Sincrone

Macchine sequenziali sincrone. Macchine sincrone

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Sintesi di Reti Sequenziali Sincrone

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

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

Reti sequenziali sincrone

Flip-flop Macchine sequenziali

FSM: Macchine a Stati Finiti

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

Flip-flop, registri, la macchina a stati finiti

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,...

Sintesi di Reti sequenziali Sincrone

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Le Macchine di Turing

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it

Appunti sulla Macchina di Turing. Macchina di Turing

Macchine combinatorie

Esercitazione RSS FONDAMENTI DI INFORMATICA B. Università degli studi di Parma Dipartimento di Ingegneria dell informazione DIDATTICA A DISTANZA

Chapter 1. Circuiti sequenziali: macchine a stati

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

Circuiti sequenziali e elementi di memoria

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

Macchine a Stati finiti

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

Introduzione ai microcontrollori

Macchine a stati finiti sincrone

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I)

Laurea Specialistica in Informatica

Sintesi di Reti Sequenziali Sincrone

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

Esercizio su MT. Svolgimento

Calcolatori Elettronici B a.a. 2006/2007

Dispense di Informatica per l ITG Valadier

Rappresentazione dei numeri in un calcolatore

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Algoritmi e strutture dati. Codici di Huffman

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

INTRODUZIONE ALLE MACCHINE A STATI

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Sintesi di Reti sequenziali Sincrone

Metodi Computazionali

ESEMPIO 1: eseguire il complemento a 10 di 765

Corso di Calcolo Numerico

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Sommario. 1 Realizzazione del STG. Introduzione. 1 traduzione delle specifiche informali in specifiche formali (STG o

Testi di Esercizi e Quesiti 1

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Architettura dei Calcolatori Parte Operativa e Parte Controllo

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

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

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

ALGEBRA DELLE PROPOSIZIONI

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Controllo con macchina a stati finiti

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Energia nelle reazioni chimiche. Lezioni d'autore di Giorgio Benedetti

UML Component and Deployment diagram

Luigi Piroddi

Reti sequenziali e strutturazione firmware

I CONTATORI SINCRONI

Fasi di creazione di un programma

Sintesi Sequenziale Sincrona

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

1 Carattere 1 2 Carattere 2 4 Carattere 4 X Carattere diverso da 1, 2, 4. Porta chiusa Porta aperta

13. Campi vettoriali

Laboratorio di Informatica

STRUTTURE NON LINEARI

Lezione 8. La macchina universale

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Metodologie e strumenti per il reengineering del workflow management

B+Trees. Introduzione

Codifiche a lunghezza variabile

Strutturazione logica dei dati: i file

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

I metodi formali nel processo di sviluppo del software

Corso di Laurea in Informatica Architetture degli Elaboratori

Comparatori. Comparatori di uguaglianza

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Codici a barre. Marco Dell Oro. January 4, 2014

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

CONTATORI ASINCRONI. Fig. 1

Appunti di Sistemi Elettronici

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

x y z F x y z F F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario

Capitolo 13. Interrogare una base di dati

Transcript:

Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria

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 i 1 i 2.. Q o Q 1 Q m Q j t+1 / u j Q k t+1 / u k.... Q m t+1 / u m Q l t+1 / u l................ Macchine di Moore Q o Q 1 Q m i 1 i 2.. Q t+1 j Q t+1 k.... Q t+1 m Q t+1 l................ 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 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) 9 0 / 0 S 0 1 / 1 1 / 0 stato 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 1 / 0 1 S 0 0 / 0 S 1 1/0 S 0 /0 0 S 1 /0 0 / 0 1 / 1 S 2 0 / 0 0 1 1 S 2 /1 0 10

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 I Q U 0 1 0 0 0 1 0 1 14

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 15

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 16

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

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. 18

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 19

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) 24

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

I flip flop Generalità Elementi fondamentali (semplici reti sequenziali) per la memorizzazione per la costituzione di registri per la costruzione di reti sequenziali Memorizzano un bit avendo in uscita 2 stati stabili stato di SET, o alto, o stato "l : Q=1, Q=0; stato di RESET, o basso, o stato "0 : Q=0, Q=1

I registri Registro: sequenza di flip-flop utilizzati per memorizzare informazione Un registro è un elemento di memoria E composto da bistabili (flip-flop) E in grado di memorizzare un insieme di bit L informazione memorizzata in un registro prende il nome di parola

Flip flop D D Q Q stati i D A=0 A=1 A a) 0 1 0 1 Q q 0 q 0 q 0 q 0 q 1 0 Equazione di stato: q 1 q 1 q 1 q 0 q 1 1 b) Q = AD + AQ p