Reti combinatorie: moduli di base

Slides:



Advertisements
Presentazioni simili
Rappresentazioni numeriche
Advertisements

Aritmetica Binaria
Dalla macchina alla rete
Sistemi di numerazione
Espressioni generali e MULTIPLEXER.
Circuiti Aritmetico-Logici
Rappresentazioni numeriche
Trasmissione delle informazioni
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Circuiti Combinatori Capitolo 3.
Architetture.
Circuiti sequenziali sincroni
Algebra binaria Luglio 2002 Luglio 2002 Algebra binaria.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Bus e interconnessione fra registri
Analisi e sintesi di circuiti combinatori
Sintesi dei circuiti sequenziali
Sintesi con circuiti LSI-MSI
27+ 12= Risultato troppo grande = = 39 = -25 errore di overflow in binario =
Informatica 3 Codifica binaria.
ARCHITETTURA DEI SISTEMI ELETTRONICI
A.S.E.25.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 25 Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse –Macchina.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Fenomeni transitoriFenomeni transitori Somma e differenza di due numeri in C2Somma e differenza.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
ARCHITETTURA DEI SISTEMI ELETTRONICI
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Fenomeni transitoriFenomeni transitori Somma e differenza di due numeri in C2Somma e differenza.
Sistemi di Numerazione
PSPICE – simulazione sommatori, comparatori
PSPICE – simulazione codificatori e decodificatori, MUX - DEMUX
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
I CODICI.
Flip-flop e Registri.
Rappresentazione binaria dei numeri interi senza segno.
Reti Combinatorie: sintesi
Codici binari decimali
Dalla macchina alla rete: reti LLC
Algebra di Boole.
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
Display a 7 segmenti Il display a 7 segmenti è un dispositivo composto da 7 diodi luminosi LED (Light-Emitting Diode) sagomati a forma di rettangolo o.
Sistema di comunicazione
Reti Logiche Luciano Gualà
Reti Logiche Reti Logiche Corso di Architetture degli Elaboratori.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Interfacciamento con mouse seriali
Rete Asincrona Una rete sequenziale asincrona è dotata di due ingressi E, X e di una uscita Z. L'uscita Z deve diventare 1 solamente quando durante l'ultima.
Rete Sincrona Una rete sequenziale sincrona, è dotata di un ingresso E, di un segnale di Clock e uno di reset. Ad ogni fronte del Clock, deve essere campionato.
PROGETTO 1 Un lettore di musica digitale è dotato di un sistema per la regolazione del volume composto da tre pulsanti + e – e [] e progettato in modo.
Aritmetica Computazionale F.Campi, A. Romani A.a
ARITMETICA BINARIA.
Tesista: Daniela Di Sclafani
Addizionatori RC e CLA Università degli Studi di Salerno
Prova di verifica Fondamenti Informatica 1 15 Febbraio 2008.
CARRY LOOKAHEAD ADDER:
Reti combinatorie: moduli di base
Unità centrale di processo
Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di un’uscita Z. I segnali X2 e X1 non cambiano mai di valore contemporaneamente. Il segnale.
Cassaforte asincrona II assegnamento. Descrizione Il progetto Cassaforte II assegnamento consiste in una codifica diversa delle variabili di stato. Codifica.
Reti Logiche A Lezione xx.x Dispositivi Programmabili
Teoria dei sistemi Autore: LUCA ORRU'.
Tesina di fine corso Argomento: Corso: Professore: Autori:
Rappresentazione dell’Informazione
Analisi e Sintesi di un contatore BCD con Quartus II
ARCHITETTURA DEI SISTEMI ELETTRONICI
RETI LOGICHE Daniele Manzaroli
Rappresentazione dell’informazione
A.S.E.14.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 14 Sommatori velociSommatori veloci Reti combinatorie frequentiReti combinatorie frequenti ComparatoriComparatori.
Conversione binario-ottale/esadecimale
CODIFICATORI (Encoder)
Transcript della presentazione:

Reti combinatorie: moduli di base

Codificatore Realizza la funzione di codifica binaria, ossia associare ad ogni elemento di un insieme G composto da m simboli, una sequenza distinta di n bit Per ogni simbolo tale circuito genera il codice corrispondente 2nm m linee di ingresso x0,..,xm-1, n linea di uscita y0,..,yn-1 La linea xi è associata al simbolo i-simo Quando xi=1, e xj=0 (ji), in uscita è presente il codice corrispondente al simbolo i-simo X0 y0 X1 yn-1 Xm-1

Esempio Codifica cifre decimali in BCD y3y2y1y0 y0 0000 1 0001 2 0010 5 7 9 y0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 2 3 6 7 y1 4 5 6 7 y2 8 9 y3

Decodificatore Realizza la funzione inversa del codificatore, a partire da una parola di un codice in binario genera una uscita che identifica uno dei simboli dell’insieme G. Per ogni configurazione di ingresso, una sola uscita vale 1, le altre hanno valore 0 y y x 1 x m-1 y n-1

Esempio Decoder BCD-Cifre decimali (prima realizzazione) . x3x2x1x0 y9y8y7y6y6y5y4y3y2y1y0 x3 x2 x1 x0 y0 0000 0 0 0 0 0 0 0 0 0 1 0001 0 0 0 0 0 0 0 0 1 0 0010 0 0 0 0 0 0 0 1 0 0 0011 0 0 0 0 0 0 1 0 0 0 0100 0 0 0 0 0 1 0 0 0 0 0101 0 0 0 0 1 0 0 0 0 0 0110 0 0 0 1 0 0 0 0 0 0 0111 0 0 1 0 0 0 0 0 0 0 1000 0 1 0 0 0 0 0 0 0 0 1001 1 0 0 0 0 0 0 0 0 0 x3 x2 x1 x0 y1 . x3 x2 x1 x0 y9

Esempio …. Decoder BCD-Cifre decimali (seconda realizzazione) x3x2x1x0 y9y8y7y6y6y5y4y3y2y1y0 x3 x2 0000 0 0 0 0 0 0 0 0 0 1 0001 0 0 0 0 0 0 0 0 1 0 0010 0 0 0 0 0 0 0 1 0 0 0011 0 0 0 0 0 0 1 0 0 0 0100 0 0 0 0 0 1 0 0 0 0 0101 0 0 0 0 1 0 0 0 0 0 0110 0 0 0 1 0 0 0 0 0 0 0111 0 0 1 0 0 0 0 0 0 0 1000 0 1 0 0 0 0 0 0 0 0 1001 1 0 0 0 0 0 0 0 0 0 x3 x2 x3 x2 x1 x0 x1 x0 x1 x0 x1 x0 …. y0 y1

Decodificatore con enable E’ dotato di un ulteriore ingresso di abilitazione E (detto anche strobe) Il decodificatore è abilitato (ossia il processo di decodifica ha luogo) solo quando E=1 E E

Realizzazione di funzioni tramite decoder x2x1x0 f 000 1 001 010 011 100 101 110 111 E E fusibile

Realizzazione di funzioni tramite decoder (con Enable tree-state) fusibile

ROM (Read Only Memory) Una ROM è un circuito combinatorio Insieme di locazioni di memoria che possono essere lette specificandone l’indirizzo Una ROM è un circuito combinatorio (dato un ingresso c’è una sola uscita) Ingresso (indirizzo) Uscita (word)

Schema logico di una ROM Funzioni di commutazioni realizzate come OR di mintermini fusibile

Implementazione ROM con C-MOS ROM 4x4 (numero parole x dimensione parola) Vdd R R R R “Interruttore” Assenza collegamento =1 Indirizzo DEC Uscita

Implementazione ROM (2) Esempio, indirizzo 01, uscita=0001 Vdd R R R R Indirizzo 1 DECODER Uscita 0 0 0 1

ROM temporizzazioni ta : tempo di propagazione dall'ingresso X all'uscita Z tcs: tempo di propagazione dall'ingresso cs all'uscita Z toe: tempo di propagazione dall'ingresso oe all'uscita Z t v: tempo di mantenimento dell'uscita da quando commuta X o cs o oe td: tempo di disabilitazione dell'uscita da quando commuta cs o oe

Multiplexer (MUX 2n:1) Ingressi Uscita m=2n ingressi dati n ingressi di selezione (controllo) Uscita Una fra le m, a seconda del controllo S y 1 .. 2n-1 X0 X1 X2n-1 x0 x1 1 y m-1 xm-1 sn-1 s0

MUX 4-2 s 1 s 0 s 1 s 0 Y X 0 X 1 X 2 X 3 X 0 X 1 Y X 2 X 3

MUX - Generatore di funzioni 1 1 2 3 4 5 6 7 y=f(x0x1x2)=m0+m2+m3+m6=S(0,2,3,6) y=M1M4M5M7=P(1,4,5,7) x0x1x2

DEMUX 2-4 s1 s0 d d 1 Y d 2 d 3

Half Adder - Semisommatore Ingresso 2 bit, uscita 2 bit In Out A B C S 0 0 0 1 1 0 1 1 HA A B S C A+ B= ------ C S C=AB S=(not A)B + A(not B)=AB A B S C HA

Full Adder – Addizionatore completo Cin+ A+ B= ---------- Cout S S vale 1 solo quando un numero dispari di bit di ingresso vale 1. Quindi, S=AB C In Out A B Cin Cout S 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 0 1 1 AB Cin 1 Cin A B Cout=CB+AB+CA + Cout S

Ripple Carry Adder (RCA) an-1 bn-1 a1 b1 a0 b0 Full Adder Full Adder Full Adder cn c0 cn-1 c2 c1 sn-1 s1 s0 an-1 bn-1 a0 b0 Il tempo per ottenere il risultato è pari ad nTc, dove Tc è il tempo di propagazione del riporto n-bit Ripple Carry Adder cn c0 sn-1 s0

ALU (bit slice) + cin op a y b cout 0 0 0 1 1 0 11 a AND b a OR b (a+b+cin) mod 2 ?? a 1 2 y + b op seleziona il tipo di operazione (la configurazione 11 non è ammessa-prevista) cout

ALU a 32 bit (bit slice) … …… op cin cout cin cout cin cout a0 y0 b0 … …… cin a31 ALU31 y31 cout b31

ALU (bit slice) + Inverti B op cin a y b cout 0 0 0 1 1 0 1 - a AND b A AND (NOT b) a OR b A OR (NOT b) (a+b+cin) mod 2 (a-b)* cin a 1 2 y + b 1 * = rappresentazioni in complemento a 2 cout

ALU a 32 bit … …… Inverti B op cin cout cin cout y0 ALU0 b0 cout op InvertiB y 0 0 0 1 1 0 - 1 A AND B A OR B A + B A-B a1 cin ALU1 y1 cout b1 … …… Per stabilire se si verifica overflow È sufficiente confrontare se in corrispondenza del MSB, cincout cin a31 ALU31 cout y31 b31 Overflow detection Overflow

Supporto ALU per i salti Vogliamo ampliare la ALU in modo che sia in grado di rilevare la condizione a=b Tale condizione è utile per far eseguire istruzioni in modo condizionato (jump) Indichiamo con Zero la variabile binaria cosi definita: Zero=1 se e solo se a=b Per calcolare Zero osserviamo che a=b <-> a-b=0 Pertanto Zero=1 se e solo se tutti i bit dell’operazione a-b sono nulli. Ossia, Zero coincide col mintermine m0 definito sulgli n bit r0 … rn-1 che rappresentatno la differenza. Zero=m0= (not r0)(not r1)…(not rn-1)= not (r0+r1 .. +rn-1)

ALU a 32 bit … …… Inverti B op cin cout cin Zero cout cin cout a0 y0 … …… cin a31 ALU31 cout y31 b31 Overflow detection Overflow

Progetto di un sommatore con operandi a due bit a1b1a0b0 rout s1s0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 Sintesi Confronto con approccio iterativo

Commento sulle operazioni aritmetiche Sottrazione: si può implementare come addizione con opernadi rappresentati in complemento a due Moltiplicazione: si può implementare come somme successive Divisione: si può implementare come sottrazioni successive Quindi tutte le operazioni si potrebbero implementare solo con il circuito addizionatore, anche se poi le moltiplicazioni e le divisioni si realizzano, per motivi di velocità, con circuiti sequenziali ad hoc.