INTRODUZIONE ALLE MACCHINE A STATI

Похожие документы
Laurea Specialistica in Informatica

Chapter 1. Circuiti sequenziali: macchine a stati

Le Mappe di Karnaugh.

Reti sequenziali sincrone

Macchine sequenziali

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

Macchine a Stati finiti

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

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Sistema operativo: Gestione della memoria

Introduzione alla Programmazione

Fasi di creazione di un programma

Corso di Laurea in Informatica Architetture degli Elaboratori

Esame di INFORMATICA

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Strutturazione logica dei dati: i file

Architettura di un calcolatore

Appunti di Sistemi Elettronici

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Il database management system Access

Controllo con macchina a stati finiti

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Raggruppamenti Conti Movimenti

Struttura del calcolatore

MODELLISTICA DI IMPIANTI E SISTEMI 2

Corso di Informatica

Origini e caratteristiche dei calcolatori elettronici

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Logica binaria. Porte logiche.

FSM: Macchine a Stati Finiti

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

Tutorato Architettura degli elaboratori

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

Calcolatori: Algebra Booleana e Reti Logiche

Automazione Industriale (scheduling+mms) scheduling+mms.

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Dispense di Informatica per l ITG Valadier

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

Il concetto di Dare/Avere

Dispensa di Informatica I.1

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

I file di dati. Unità didattica D1 1

Colorare coi numeri La rappresentazione delle immagini

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

Esercizi per il recupero del debito formativo:

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Testi di Esercizi e Quesiti 1

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

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

Elementi di UML (7): Diagrammi dei componenti e di deployment

Aritmetica dei Calcolatori 1

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Gestione Archivio Soci

Analizzatore lessicale o scanner

Sintesi di Reti Sequenziali Sincrone

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Database. Si ringrazia Marco Bertini per le slides

Esempi di algoritmi. Lezione III

Manuale operativo - Procedura per la costruzione, la pubblicazione di questionari

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Le Basi di Dati. Le Basi di Dati

EDICOLA MANAGER EM Importer

Pratica guidata 6 Tablet

ALGEBRA DELLE PROPOSIZIONI

Il sistema monetario

Informatica Futura Srl

introduzione I MICROCONTROLLORI

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

SISTEMI DI SUPPORTO ALLE DECISIONI

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Mutua esclusione distribuita

ARCHITETTURA DELL ELABORATORE

Progettazione della componente applicativa

Gestione della memoria centrale

Registri. «a2» Copyright Daniele Giacomini --

Tesi Di Laurea. Anno Accademico 2010/2011. relatore Ch.mo prof. Cinque Marcello. correlatore Ch.mo Ing. Catello Cacace

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Laboratorio di Architettura degli Elaboratori - A.A. 2012/13

Sgravi Contrattazione di Secondo Livello: dettaglio dei Controlli, dei Formati e dei messaggi di errore.

Introduzione alla Progettazione per Componenti

1. BASI DI DATI: GENERALITÀ

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Modellazione di sistema

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Metodologie di programmazione in Fortran 90

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

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

Manuale Gestore. Utilizzo Programma. Magazzino

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

Транскрипт:

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 -