Macchine combinatorie

Documenti analoghi
Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

Decodificatore (decoder) 1 su m

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

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

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 2.

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Calcolatori: Algebra Booleana e Reti Logiche

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

ALGEBRA DELLE PROPOSIZIONI

Macchine sequenziali

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Memorie ROM (Read Only Memory)

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno

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

Lezione 7 Sommatori e Moltiplicatori

Laurea Specialistica in Informatica

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

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

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

Macchine sequenziali sincrone. Macchine sincrone

Calcolatori Elettronici B a.a. 2006/2007

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

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Rappresentazione dei numeri in un calcolatore

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

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

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

I.I.S. Primo Levi Badia Polesine A.S

Reti sequenziali sincrone

Amplificatori Audio di Potenza

Introduzione ai microcontrollori

Codifica binaria dei numeri relativi

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Transitori del primo ordine

Comparatori. Comparatori di uguaglianza

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

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

Le Mappe di Karnaugh.

Descrizione VHDL di componenti combinatori

LABORATORIO DI SISTEMI

Macchine a Stati finiti

Testi di Esercizi e Quesiti 1

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Componenti combinatori

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

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

Logica e codifica binaria dell informazione

Flip-flop, registri, la macchina a stati finiti

Reti combinatorie: Codificatori

Informatica. Rappresentazione dei numeri Numerazione binaria

Fasi di creazione di un programma

Logica binaria. Porte logiche.

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Sistemi di Numerazione

Algoritmi e strutture dati. Codici di Huffman

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

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

Algebra di Boole e reti logiche. Giovedì 8 ottobre 2015

2. Codifica dell informazione

Panasonic. KX-TDA Hybrid IP-PBX Systems Integrazione GSM Gruppi Ring ICD e WXDP con GSM (occorre SD Card Enhanced)

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

Informatica per la comunicazione" - lezione 7 -

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

Parte 1. Vettori di bit - AA. 2012/13 1.1

4. Operazioni binarie, gruppi e campi.

FONDAMENTI di INFORMATICA L. Mezzalira

ESEMPIO 1: eseguire il complemento a 10 di 765

Sommario. Addizione naturale

Ottimizazione vincolata

Circuiti sequenziali e elementi di memoria

Applicazioni lineari

Macchine combinatorie: progettazione. Macchine combinatorie

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

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

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

I sistemi di numerazione

4 3 4 = 4 x x x 10 0 aaa

ESERCITAZIONI PRATICHE: Ø Creazione di un decoder BCD/DEC con porte logiche. Ø Esercitazione con decoder 4511 e display 7 segmenti.

Flip-flop Macchine sequenziali

Una scuola vuole monitorare la potenza elettrica continua di un pannello fotovoltaico

Architettura degli Elaboratori

Informazione analogica e digitale

Strutturazione logica dei dati: i file

Sistema operativo: Gestione della memoria

Note a cura di M. Martellini e M. Zeni

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

Sicurezza e rispetto della privacy, finalmente non in conflitto.

TECNICHE DI SIMULAZIONE

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

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

FUNZIONE. Si scrive: A B f: A B x y=f(x) (si legge: f funzione da A in B) x f y= f(x)

Alcune nozioni di base di Logica Matematica

Transcript:

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

Analisi e Sintesi di un sistema 1/2 Per analisi di un sistema si intende l'individuazione delle relazioni di causa/effetto tra i segnali di ingresso e uscita, attraverso l'esame di una rappresentazione schematica dei suoi componenti elementari e dei collegamenti che li interconnettono, ovvero: data la rappresentazione schematica del sistema, individuarne il comportamento. Per sintesi di un sistema si intende l'individuazione dei componenti e delle interconnessioni necessarie per realizzarlo seguendo la preassegnata specifica funzionale: data la specifica funzionale individuarne la struttura.

Analisi e Sintesi di un sistema 2/2 Analisi Data la descrizione della STRUTTURA (come è fatta) Sintesi Data la descrizione del COMPORTAMENTO (cosa deve fare) Determinarne il COMPORTAMENTO (cosa fa) Determinarne la STRUTTURA (come è fatta)

Tassonomia dei circuiti digitali I circuiti digitali possono essere classificati in due categorie Circuiti combinatori Il valore delle uscite ad un determinato istante dipende unicamente dal valore degli ingressi in quello stesso istante. Circuiti sequenziali Il valore delle uscite in un determinato istante dipende sia dal valore degli ingressi in quell istante sia dal valore degli ingressi in istanti precedenti Per definire il comportamento di un circuito sequenziale è necessario tenere conto della storia passata degli ingressi del circuito La definizione di circuito sequenziale implica due concetti: Il concetto di tempo Il concetto di stato

Macchine combinatorie Reti logiche con n ingressi x 1, x 2,, x n e m uscite y 1, y 2,, y m che realizzano la corrispondenza: y 1 = f 1 (x 1, x 2,, x n )...... y m = f m (x 1, x 2,, x n ) x 1 y 1 x n y m

La macchina combinatoria: un esempio Il campanello 1 ingresso (il pulsante), con due possibili valori (premuto, rilasciato) 1 uscita (la suoneria), con due possibili valori (suono, nessun suono) x: pulsante y: suoneria Premuto Suono y = f(x) Rilasciato Nessun suono

Macchine combinatorie Ø Una macchina combinatoria è una rete logica con n ingressi (x 1, x 2,, x n ) ed m uscite (y 1, y 2,, y m ) ed è tale che ad ogni insieme di valori degli ingressi corrisponde un preciso insieme di valori delle uscite Ø Il comportamento di una rete combinatoria nxm può essere descritto tramite:» una tabella di verità in cui viene specificato il valore dell uscita per ognuna delle possibili combinazioni dei valori degli ingressi» m funzioni booleane, una per ogni uscita, ciascuna delle quali esprime il valore della corrispondente variabile di uscita in funzione delle n variabili di ingresso

I limiti delle macchine reali Tempo di risposta Una rete ideale reagisce istantaneamente ad ogni sollecitazione in ingresso, ovvero U(t)=ω (I(t)) In una rete reale la variazione dell uscita a fronte di una variazione degli ingressi avviene con un ritardo Δ (tempo di risposta): U(t+Δ)= ω(i(t)) I Δ a) U Ritardo puro I ω Δ U b)

Il Tempo di risposta Il Tempo di risposta di una macchina è il ritardo d=t f t i con il quale una variazione sull ingresso è seguita da una variazione sull uscita 1 0 1 0 X1 X2 y

Macchine combinatorie In una macchina combinatoria i valori delle uscite dipendono esclusivamente dai valori degli ingressi macchina combinatoria ideale: tale dipendenza è istantanea macchina combinatoria reale: presenza di ritardo tra l istante in cui c è una variazione in uno degli ingressi e l istante in cui l effetto di questa variazione si manifesta sulle uscite E importante notare come ciascuna y i può essere decomposta in funzioni componenti due distinte y i possono contenere una identica funzione componente Ciò comporta, ad esempio, una potenziale diminuzione di porte elementari rispetto ad una realizzazione indipendente delle y i

Decodificatore (decoder) 1 su m Un decodificatore è una macchina che riceve in ingresso una parola codice (C) su n bit e presenta in uscita la sua rappresentazione decodificata (linee U 0, U N-1 ) su m=2 n bit C o U 0 C n-1 U m-1

Decoder 1 su 4 Esempio: decoder 1:4 B A U 0 U 1 U 2 U 3 U 0 = B. A U 1 = B. A 1 2 3 4 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 U 2 = B. A U 3 = B. A A B

Composizione modulare di Decoder 4:16 1 C D A B DEC 2:4 U 0 U 1 U 2 U 3 DEC 2:4 DEC 2:4 DEC 2:4 DEC 2:4 U 0 U 1 U 2 U 3 U 0 U 1 U 2 U 3 U0 U 1 U 2 U 3 U 0 U 1 U 2 U 3 U 0 U 1 U 2 U 3 U 4 U 5 U 6 U 7 U 8 U 9 U 10 U 11 U 12 U 13 U 14 U 15

Encoder o codificatore Un codificatore riceve in ingresso una rappresentazione decodificata (linee x 0, x m-1 ) e fornisce in uscita una rappresentazione con un codice a lunghezza fissa di n bit L uscita è la parola codice associata a x i se x i =1 ed α=1 (abilitazione) Vincolo su ingressi: x i x j = 0 per i j x 0 x N-1 z o z m-1 α

Codificatore a 4 ingressi

z 3 = x 8 +x 9 Codificatore 8-4-2-1 z 2 = x 4 +x 5 + x 6 +x 7 z 1 = x 2 +x 3 + x 6 +x 7 z 0 = x 1 +x 3 + x 5 +x 7 +x 9 cifra Espressioni ottenute considerando opportunamente le configurazioni di ingresso dont care CODICE D 8-4-2-1 4-3-1-1 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0100 4 0100 1000 5 0101 0111 6 0110 1011 7 0111 1100 8 1000 1110 9 1001 1111

Arbitro di priorità q Un codificatore può essere preceduto da una rete a priorità che, in caso di più ingressi contemporaneamente alti, filtra quello con priorità assegnata maggiore Rete a priorità n ingressi X i n uscite corrispondenti F i, che rappresentano gli ingressi del codificatore fra gli ingressi è definita una priorità, ad esempio: per fissare le idee «X i è prioritario su X j se i < j» L'uscita Y i è alta se e solo se X i è alto e tutti gli altri ingressi prioritari su X i sono bassi. F F F 1 2 n = = = X X X 1 2 n X X 1 n 1 X 1

Arbitro di priorità a 4 ingressi

Multiplexer lineare Un Multiplexer lineare (ML) è una macchina con: n ingressi-dati (A 0,,A n-1 ) n segnali binari di selezione (α 0,, α n-1 ), dei quali al più uno è attivo una uscita-dati B, che assume valore A i se è attivo α i neutro se nessuna delle selezioni è attiva A 0 utilizzata quando più linee devono essere convogliate verso un unica linea di uscita (bus) A n-1 MUXL B α 0 α n-1

Multiplexer lineare - realizzazioni B = A 0 α 0 + A 1 α 1 +... + A n-1 α n-1, n=4 Realizzazione I Con porte AND e OR Realizzazione II A S Uscita 0 0 z 0 1 0 1 0 z 1 1 1 Con porte 3-state S=1, restituisce il valore di A S=0, restituisce un alta impedenza (apre il circuito)

Multiplexer (indirizzabile) Multiplexer Lineare i cui segnali di abilitazione sono collegati con le uscite di un decodificatore A 0 A N-1 MUX B α 0 α N-1 C

Demultiplexer lineare Un Demultiplexer Lineare è una macchina con: 1 ingresso-dati B n segnali binari di selezione (α 0,, α n-1 ), dei quali al più uno è attivo n uscite-dati (A 0,,A n-1 ), con A i =B se è attivo α i neutro se nessuna delle selezioni è attiva B DMUXL α 0 α n-1 A 0 A n-1

Demultiplexer (indirizzabile) Demultiplexer Lineare i cui segnali di abilitazione sono collegati con le uscite di un decodificatore A 0 B DEMUX A N-1 α 0 α N-1 C

Multiplexer binario Se i dati A i e B sono vettori di bit, che viaggiano su un bus si parla genericamente di multiplexer o demultiplexer A 0 A n-1 MUXL B Se i dati A i e B sono singoli bit si parla di multiplexer o demultiplexer binario A 0 A n-1 α 0 α n-1 MUXL B α 0 α n- 1

Muxl/Dmuxl: un esempio Supponiamo di avere un centralino telefonico in cui n utenti sorgente vogliono parlare con m utenti destinazione vincolo: l utente di destinazione abilitato deve sentire solo l utente sorgente abilitato A 0 A 1 MUXL DMUXL B 0 B 1 A n-1 0 1 0.. 0 0 0 0..0 1 Linee di sel. utente sorgente Linee di sel. utente destinaz. B m-1 L utente A 1 è abilitato a parlare con l utente B m-1

Half Adder r

Full Adder (1/2) r r

Full Adder (2/2) R = XYr + XYr + XY r + XYr = XY + Yr + Xr r

Full Adder con 2 Half Adder

Addizionatore binario E possibile isolare il fattore (a b) Rielaborando le precedenti espressioni è quindi possibile ottenere le seguenti espressioni per l addizionatore completo: S R = ( a b) r = H r = ab + r( a b) = G + rh

Addizionatore binario Pertanto, un addizionatore completo può essere ottenuto a partire da due semiaddizionatori: S = ( a b) r = H r R = a b + r ( a b) = G + r H a b HA G = a b H = a b R= G + H r r HA H r S = H r

Addizionatore binario: riporto Le diverse componenti dell espressione di R assumono un significato particolare: G = a b riporto generato : indica la creazione di un riporto all interno dell addizionatore binario P = H = a b riporto propagato : indica se, in presenza di un riporto in ingresso, lo stesso verrò propagato in uscita Il riporto in uscita può quindi essere espresso come R=G+Pr

Addizionatore binario Per il semiaddizionatore valgono le eguaglianze H = a b = d( a, b) = ab + ab G = a b Similmente per l addizionatore completo valgono le eguaglianze S = a b r = d( a, b, r) = abr + abr + abr + abr R = abr + abr + abr + abr = ab + br + ar = ab + r( a + b)

Addizionatori binari n i = r i non-riporto Indica assenza di riporto in ingresso K i = a i b i Riporto killed Indica che, indipendentemente dalla presenza di un riporto entrante, il riporto in uscita sarà comunque zero N i = K i + P i n i Propagazione del non-riporto Indica assenza di riporto in uscita

R i X i Y i S i Addizionatori seriali Usa un unico addizionatore operante sulla singola cifra Opera in momenti successivi su cifre diverse degli addendi Richiede un blocco con memoria E lento rispetto ad addizionatori che lavorano in parallelo sulle diverse cifre degli addendi r i Add - Δ mod - b

Addizionatore binario parallelo Opera sulle cifre degli addendi in parallelo anche se il riporto deve propagarsi attraverso l intera struttura Richiede un numero maggiore di risorse rispetto all addizionatore seriale X n - 1 Y n - 1 R n - 1 r 2 X 1 Y 1 X Y 0 0 r 1 R =c 0 Add - Add - Add - mod - b mod - b mod - b C= R n - 1 S n - 1 R n - 2 R 1 S 1 R 0 S 0

Addizionatore parallelo: tempo di risposta Gli addizionatori ottenuti collegando in cascata n addizionatori di cifra sono anche chiamati addizionatori a propagazione del riporto (carry-ripple o carry-propagate) ε = tempo di risposta di uno stadio Allo stadio i, il riporto uscente o è generato o è ucciso o è propagato Tempo di ritardo complessivo: Limite inferiore ε (in tutti gli stadi il riporto è generato o ucciso) Tempo di ritardo complessivo: Limite superiore nε (un riporto entrante nel primo stadio che è propagato in tutti gli stadi) Tempo di ritardo complessivo = kε (k n), dove k è la più lunga catena di condizioni di propagazione.

Porte di parola Porte con abilitazione: B=αA = α AND A Parola: Vettore di bit V = {v o, v 1,, v n } Porta di parola con abiitazione: α V = {α v o,, α v n } Porta generica di parola: A AND B = = {a 0 AND b 0,, a n AND b n }