Controllo con macchina a stati finiti



Похожие документы
CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 31 marzo 2015

Calcolatori Elettronici B a.a. 2006/2007

L unità di controllo di CPU multi-ciclo

Calcolatori Elettronici A a.a. 2008/2009

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Architettura di tipo registro-registro (load/store)

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

Calcolatori Elettronici

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

Reti sequenziali sincrone

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Calcolatori Elettronici

FSM: Macchine a Stati Finiti

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

Macchine sequenziali

Architettura degli Elaboratori

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

Architettura del calcolatore

Tutorato Architettura degli elaboratori

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

INTRODUZIONE ALLE MACCHINE A STATI

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

Il Processore: l Unità di Controllo Principale Barbara Masucci

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

Laurea Specialistica in Informatica

Architettura dei Calcolatori Parte Operativa e Parte Controllo

Il Processore: i registri

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

Struttura del calcolatore

Strutturazione logica dei dati: i file

Access. P a r t e p r i m a

Lezione n.9. Introduzione al linguaggio macchina

Esercitazione sulle CPU pipeline

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

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Lezione 7 Sommatori e Moltiplicatori

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

Problemi con progetto a singolo ciclo. Progetto CPU (multiciclo) Esempio di riduzione del ciclo di clock. Datapath multiciclo

Progetto CPU (multiciclo) Salvatore Orlando

Testi di Esercizi e Quesiti 1

Macchine a Stati finiti

L unità di elaborazione e di controllo

Circuiti sequenziali e elementi di memoria

Calcolatori: Algebra Booleana e Reti Logiche

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Memorie ROM (Read Only Memory)

Architettura hardware

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Flip-flop Macchine sequenziali

La macchina programmata Instruction Set Architecture (1)

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

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

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Corso di Laurea in Informatica Architetture degli Elaboratori

Esame di INFORMATICA

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

Транскрипт:

Controllo con macchina a stati finiti Durante l esecuzione di un programma applicativo i circuiti interpretano le istruzioni: del programma costituito dal< programma applicativo i servizi OS> Logica di controllo Realizza f, η Unità di controllo Registro di stato P C Memoria Registro Istruzioni indirizzo Programma Os Servizi Istruzione [3-26] Unità di elaborazione 58

Automa con stati 4 bit per codificarli (S3-S) memorizzati con 4 flip-flop di tipo D Codifica: assegnamento di un valore a ciascuno stato (useremo numero progressivo) PCWrite Control logic Inputs Outputs PCWriteCond IorD MemRead MemWrite IRWrite MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst NS3 NS2 NS NS Dobbiamo realizzare due funzioni logiche combinatorie: - funzione di uscita η(s) restituisce 6 segnali di uscita - funzione di stato futuro f(s, I) restituisce NS3 NS dove s = (S3, S2, S, S) I = (OP5,, OP) Op5 Op4 Op3 Op2 Op Op S3 S2 S S Instruction register opcode field State register 59

Tabelle di verità per le uscite di controllo (dipendono solo dallo stato): per semplificarle vengono indicati solo gli stati in cui singole uscite =. PCSource (PCSource PCSource) Dal diagramma di stato, si vede che: - PCSource vale nello stato 9 - PCSource vale nello stato 8 S3 S3 S2 S2 S S S S PCSource PCSource IorD Equazioni logiche: PCSource= S3 S2 S S PCSource= S3 S2 S S Dal diagramma di stato, si vede che vale negli stati 3 e 5 IorD= S3 S2 S S + S3 S2 S S Altre uscite ricavate con considerazioni analoghe S3 S2 S S IorD NB: campi Op don t care ( riga sta per 2 6 = 64 righe!) 6

6

Tabelle di verità per le uscite di stato futuro (dipendono da stato e campi Op) NS: pari a quando stato futuro =, 3, 5, 7, 9 Dall analisi del diagramma di stato, si vede che ad essi si può arrivare: stato : da stato a prescindere da Op stato 3 : da stato 2 con Op = lw [] stato 5: da stato 2 con Op = sw [] stato 7: da stato 6 a prescindere da Op stato 9: da stato con Op = j [] Ciò corrisponde alla tabella di verità: OP5 OP4 OP3 OP2 OP OP S3 S2 S S NS NS = S3 S2 S S + OP5 OP4 OP2 OP OP S3 S2 S S + S3 S2 S S + OP5 OP4 OP3 OP2 OP OP S3 S2 S S 62

Con considerazioni analoghe si ricavano le altre uscite di stato futuro Abbiamo la specifica di entrambe le funzioni combinatorie Realizzazione in 2 (*2) modi alternativi: ) Tramite ROM - unica ROM per entrambe le funzioni - due ROM separate 2) Tramite PLA - unica PLA - due PLA separate Confrontiamo le varie soluzioni 63

Unica ROM opcode S3--S 4 6 ROM 4 6 Segnali di uscita NS3--NS Dimensione: 2 * 2 = 2 Kbit Parola di uscita Combinazioni possibili dei valori di ingresso 64

Definendo un ordine dei bit di ingresso e di uscita, è possibile specificare il contenuto della ROM: - bit di ingresso (stato + opcode) 4 bit di stato futuro - 4 bit indirizzo (stato) 6 bit di controllo... xxxxxxxxxxxxxxxx... parole ripetute 2 6 volte (6 opcode don t care) 6 parole (non corrispondenti a stato) don t care anch esse ripetute 2 6 volte Possiamo evitare lo spreco dovuto alle ripetizioni per 2 6 usando due ROM separate (stato futuro e uscite controllo): la ROM per le uscite di controllo ha solo 4 ingressi (bit di stato) e quindi evita di ripetere la stessa parola di memoria per tutte le 2 6 combinazioni degli ingressi! 65

Due ROM separate S3-- 4 6 ROM Segnali di uscita opcode S3-- 4 6 ROM 2 4 NS3-- Dimensione: 2 4 * 6 + 2 * 4 = 4,3 Kbit Nelle ROM ci sono comunque molti elementi duplicati: - molte combinazioni dell ingresso non si verificano (ROM le codifica tutte) p.es. ho 4 bit per stati: 6-=6 combinazioni non si verificano - a volte le uscite non dipendono da [tutti] i valori dell ingresso. p.es. da stato si passa sempre a stato per qualunque valore di opcode, mentre ROM 2 duplica la parola NS () per 2 6 volte 66

Unico PLA Ciascuna uscita è OR di termini prodotto (mintermini) Op5 Op4 Op3 Op2 Op Op - Rappresentate solo le righe della tabella di verità con uscita - Ciascun mintermine può rappresentare più righe (input don t care) In questo caso: 7 mintermini ( dipendono solo da stato corrente) Dimensione: proporzionale a *7 + 7*2 = 5 S3 S2 S S PCWrite PCWriteCond IorD MemRead MemWrite IRWrite MemtoReg PCSource PCSource ALUOp ALUOp ALUSrcB ALUSrcB ALUSrcA RegWrite RegDst NS3 NS2 NS NS 67

Due PLA ) PLA a 4 ingressi (stato corrente) e 6 uscite di controllo mintermini (quelli che dipendevano solo da stato corrente, usati dalle uscite di controllo) Dimensione: 4* + *6 = 2 2) PLA a ingressi (stato e opcode) e 4 uscite di stato futuro mintermini (cfr. figura del PLA: sono quelli usati da uscite di stato futuro, dei quali 7 dipendono da stato e opcode) Dimensione: * + *4 = 4 Dimensione totale: proporzionale a 2 + 4 = 34 68

Riepilogo 2 Riduzione a ROM 2 Kbit 4.3 Kbit /5 PLA 5 34 3/5 Riduzione a /4 /3 69

FINORA ABBIAMO VISTO: Processore a singolo ciclo [Unità di controllo combinatoria] - specifica e implementazione: cfr. reti combinatorie Processore multi-ciclo [Unità di controllo sequenziale] - specifica come FSM e implementazione come FSM Parti combinatorie: - specifica con tab. di verità equazioni logiche - realizzazione con ROM PLA (singole o doppie) - ORA VEDIAMO LA SPECIFICA COME microprogramma 7