Capitolo 3 - Parte IV Complementi sui circuiti combinatori

Похожие документы
Dalla tabella alla funzione canonica

senza stato una ed una sola

Reti Logiche Combinatorie

Circuiti Combinatori

Aritmetica binaria e circuiti aritmetici

Esercitazioni di Reti Logiche. Lezione 4

Capitolo 2. Funzioni

Esercizi proposti - Gruppo 7

Algebra di Boole. Fondamenti di Informatica per Meccanici Energetici - Biomedici 1. Politecnico di Torino Ottobre Mr. Boole. Variabile booleana

Progetto di Circuiti Aritmetici

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

PSPICE simulazione di circuiti digitali Flip Flop M/S, Moltiplicatore parallelo, Memoria SRAM, sommatore, comparatore

Lezione 7 Sommatori e Moltiplicatori

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Elementi di informatica

Costruzione di. circuiti combinatori

Procedura per la Risoluzione di Integrali Razionali Fratti

Esercitazioni di Reti Logiche

Reti Logiche Combinatorie

Lezione 7 ALU: Moltiplicazione e divisione

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Effetto di carico in corrente continua e in regime variabile

I fasci di circonferenze

ESERCITAZIONE 4: MONOPOLIO E CONCORRENZA PERFETTA

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Rappresentazione dei numeri interi in un calcolatore

UGELLO CONVERGENTE. Dai valori noti si ricava: = = e quindi il rapporto: p a

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

NUMERI RAZIONALI E REALI

OPERAZIONI IN Q = + = = = =

I circuiti elementari

Il livello logico digitale

Moduli Combinatori. Moduli Combinatori. Corso di Architetture degli Elaboratori

LOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita

ESERCIZIO 1: Vincolo di bilancio lineare

4 STRUTTURE CMOS. 4.1 I componenti CMOS

Esercizi svolti Y Z. 1. Date le seguenti funzioni logiche ricavare le corrispondenti reti logiche realizzate con porte elementari AND, OR, NOT.

Sistemi di numerazione

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Moduli combinatori Barbara Masucci

Esercitazioni di Reti Logiche. Lezione 3

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

docente: Germana Scepi

NUMERI RAZIONALI E REALI

Unità Aritmetico-Logica

I quesiti dal N. 1 al N. 10 valgono 3 punti ciascuno

125. Simulazioni del decadimento radioattivo con la TI Voyage 200 di Pietro Romano L. S. Leonardo, Giarre (CT)

Procedimento di sintesi. Dalla tavola della verità si ricavano tante funzioni di commutazione quante sono le variabili di uscita

LE FUNZIONI ECONOMICHE

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Cinematica grafica C.R P 2

Decodificatore (decoder) 1 su m

CONOSCENZE 1. gli elementi dell'estrazione della radice quadrata di un numero 2. le proprietaá delle radici quadrate

Richiami di Algebra di Commutazione

SISTEMI. impostazione SISTEMI. progettazione. Saper utilizzare modelli di circuiti combinatori

Sistemi di particelle identiche

Esercizi svolti di termodinamica applicata

L Q = 1. e nel ciclo di Carnot questo rendimento assume valore massimo pari a : η =

Progetto di travi in c.a.p isostatiche Il fuso del cavo risultante e il fuso di Guyon

Esercitazioni di Reti Logiche

Codifica e aritmetica binaria

COMPITO A. Esercizio 1 (17 punti)

LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)

Corso di Architettura degli Elaboratori. Porte logiche (I) Architetture degli Elaboratori. Porte logiche (III) Porte logiche (II)

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per:

Dott. Dallavalle Riccardo UNITA DIATTICA nr. 5 Gli argomenti di oggi:

Транскрипт:

Aunti di Elettronica Digitale Caitolo 3 - arte IV Comlementi sui circuiti combinatori Introduzione... Sommatori...2 Introduzione...2 Half-adder...3 Full-adder...4 Sommatore binario arallelo...7 roagazione del carry...9 Sottrattori... Introduzione... Half-subtractor... Full-subtractor... INTRODUZIONE I circuiti logici er sistemi digitali ossono essere combinazionali o sequenziali: un circuito combinazionale consiste di orte logiche le cui uscite sono determinate direttamente dalla resente combinazione di ingressi, senza invece considerare la combinazione di ingressi recedente. Un circuito combinazionale realizza quindi una recisa oerazione di elaborazione degli ingressi, comletamente secificata da un set di funzioni booleane; un circuito sequenziale, invece, aggiunge degli elementi di memoria alle orte logiche: le uscite sono funzione sia degli ingressi sia dello stato degli elementi di memoria; lo stato degli elementi di memoria, a sua volta, è una funzione degli ingressi recedenti. Di conseguenza, le uscite di un circuito sequenziale diendono non solo dagli ingressi resenti, ma anche da quelli assati. Un circuito combinazionale consiste essenzialmente di variabili di ingresso, orte logiche e variabili di uscita. Le orte logiche ricevono i segnali dagli ingressi e generano i segnali er le uscite. Questo rocesso trasforma l informazione binaria contenuta nei dati di ingresso in una re-determinata informazione contenuta nei dati di uscita. In molte alicazioni, la sorgente e/o la destinazione dei dati è costituita da registri, situati sia vicino al circuito combinazionale sia un una unità remota esterna. er definizione, erò, un registro esterno non influenza minimamente il funzionamento di un circuito combinazionale, in quanto, se così fosse, dovremmo arlare di circuito sequenziale. Ogni variabile di ingresso er un circuito combinazionale uò avere due distinti conduttori:

Aunti di Elettronica dei Sistemi digitali - Caitolo 3 quando il conduttore è uno solo, allora esso raresenta la variabile o nella forma normale o in quella comlementata: in questo caso, è necessario inserire nel circuito una o iù orte NOT che consentano di ottenere, ove necessario, la comlementazione della variabile; quando, invece, i conduttori sono due, allora una orta la variabile in forma normale, mentre l altro orta la variabile comlementata: in questo caso, non sono quindi necessari invertitori aggiuntivi. Nella maggior arte dei sistemi digitali, le celle di memoria sono raresentate da circuiti (fli-flo) che forniscono sia l uscita in forma normale sia l uscita in forma comlementata. Sommatori INTRODUZIONE I sistemi digitali realizzano una notevole varietà di rocedure er l elaborazione delle informazioni. Tuttavia, le rinciali funzioni realizzate sono le oerazioni aritmetiche, la cui oerazione di base è sicuramente la somma di due bit. La semlice somma di due bit orta chiaramente a 4 ossibili situazioni: + + + + Le rime tre somme danno un risultato di lunghezza ; l ultima, invece, in cui entrambi gli addendi valgono, la somma è lunga 2 bit: di questi due bit, quello iù significativo (cioè quello a sinistra) è il cosiddetto carry (riorto), la cui imortanza è nota: quando i due addendi contengono ciascuno iù di bit, il carry ottenuto dalla somma di due bit è sommato alla somma dei due bit successivi (cioè quelli immediatamente a sinistra). Un circuito logico che realizza la somma di 2 bit senza tener conto di alcun riorto è detto halfadder (semi-sommatore); un circuito logico che invece realizza l addizione di 3 bit (i 2 bit che costituiscono i due addendi iù il bit del carry) è detto invece full-adder (addizionatore comleto). Quindi, in generale, un adder è un circuito logico che somma due bit, dando il risultato sotto forma di bit somma (S) e bit del carry (C); se il circuito è un half-adder, esso non tiene conto di un eventuale riorto roveniente da una somma recedente, mentre, se si tratta di un full-adder, esso tiene conto dell eventuale riorto. 2

arte IV - Comlementi sui circuiti combinatori HALF-ADDER La tavola di verità di un half-adder (2 ingressi e 2 uscite) è immediata: x y S C E immediato allora trovare le esressioni booleane delle funzioni S e C, in termini di rima forma canonica: S x' y + xy' x y C xy La funzione S è l EXOR degli ingressi, mentre la funzione C è l AND degli ingressi. Lo schema logico di un half-adder è allora il seguente: Se, anziché usare la orta EXNOR volessimo usare solo orte AND,OR e NOT, allora il circuito diventa il seguente: otremmo anche ensare di realizzare le funzioni C e S non iù nella rima forma canonica (somma di rodotti), ma nella seconda forma canonica (rodotto di somme). er fare questo, ci basta scrivere che S x' y + xy' x + y x' + y' C xy Il corrisondente circuito è il seguente: ( )( ) 3

E ossibile anche trovare un altra esressione della funzione S: infatti, ossiamo scrivere che [( x y) ']' [ xy + x' y' ]' [ C x' y' ]' S x y + In base a questa esressione, ossiamo realizzare l half adder mediante il seguente circuito: FULL-ADDER Il sommatore comleto è un circuito combinazionale che realizzare la somma aritmetica di 3 bit: 2 di questi raresentano i due addendi, mentre l altro raresenta il carry, er esemio roveniente da una somma recedente. La tabella della verità di questo circuito (costituito da 3 ingressi e 2 uscite) è allora la seguente: x y C S C L ingresso C raresenta il carry recedente ed è un ingresso a tutti gli effetti. Le funzioni S e C ossiede entrambe 4 mintermini e solo il mintermine 7 è comune ad entrambe. Realizzando il circuito con entrambe le funzioni in forma canonica, abbiamo quanto segue: 4

arte IV - Comlementi sui circuiti combinatori Vediamo adesso di semlificare le due funzioni, trovandone le forme minime mediante le mae di Karnaugh: x \ yc 4 5 7 3 2 6 S x' y' C + x' yc' + xy' C' + xyc x \ yc 4 5 3 7 6 2 C yc + xc + xy Abbiamo dunque ricavato che S non è minimizzabile, mentre lo è C. Il nuovo circuito è allora il seguente: 5

Aunti di Elettronica dei Sistemi digitali - Caitolo 3 ossiamo anche fare qualche assaggio in iù sull esressione di S e di C: S x' y'c + x' yc' + xy'c' + xyc ( x' y' + xy) C + ( x' y + xy' ) C' ( x y) 'C + ( x y) C' ( x y) C C yc xyc xy + xc + x' yc + xy + xyc ( x + x' ) yc + x( y + y' ) C + xy( C + C' ) + xy'c ( C + C' ) + ( x' y + xy' ) C xy + ( x y) C + xyc + xyc' xyc + x' yc + xy'c + xyc' In base a queste esressioni, ossiamo realizzare il full-adder con il seguente circuito: Ricordando la struttura di un half-adder, si vede abbastanza facilmente che un full-adder si ottiene tramite due half-adder ed una orta OR. 6

arte IV - Comlementi sui circuiti combinatori SOMMATORE BINARIO ARALLELO Abbiamo dunque illustrato, nei recedenti aragrafi, come sia fatto un sommatore comleto (fulladder), cioè un circuito combinatorio che effettua la somma di 3 bit in ingresso (2 bit costituiscono i due addendi, mentre il terzo è il carry), dando in uscita sia la somma vera e roria sia l eventuale riorto. Un circuito come questo viene anche usato quando i dati da sommare non hanno lunghezza di bit, ma di n bit. Facciamo subito un esemio, considerando la somma dei numeri binari A e B, la cui somma è S: quando vengono sommati i rimi due bit, un full-adder roduce sia la somma, sia l eventuale riorto; quest ultimo diventa il carry di ingresso er il successivo fulladder, il quale somma il carry alla coia di bit immediatamente iù a sinistra ed il ciclo si riete fino all ultima coia, quella cioè di bit iù significativi. Tutto questo è mostrato nella seguente tabella: carry IN addendo addendo 4 3 2 C IN A B som ma carry OUT C S OUT I rimi due bit da sommare sono A e B e bisogna evidentemente considerare un carry di ingresso ari a (C IN, ): la somma è, il che significa che S e che il carry di uscita vale C OUT,. Questo carry di uscita diventa il carry di ingresso er la coia di bit successivi (quindi C IN,2 ), che sono A 2 e B 2 : la somma, er cui S 2 e C OUT,2. Usando questo come carry in ingresso er la terza coia di bit adder (C IN,3 ), i bit da sommare sono adesso A 3 e B 3, er cui la somma è, ossia S 3 e C OUT,3. Infine, questo carry diventa quello di ingresso er l ultima coia di bit (C IN,4 ), il quale somma i bit A 4 e B 4, dando come uscite S 4 e C OUT,4. Questo meccanismo uò essere imlementato in due modi diversi: nel modo seriale, si usa un solo circuito full-adder, cui erò va aggiunta una memoria che tenga conto, doo ogni somma, del carry di ingresso, in modo da utilizzarlo er la somma successivo: in questo caso, i due oerandi A e B vengono inviati al circuito, in modo aunto seriale, uno er volta. Si tratta evidentemente di un circuito sequenziale (data la resenza dell elemento di memoria), il cui funzionamento sarà descritto nei successivi caitoli; nel modo arallelo, invece, i due oerandi vengono trasferiti comletamente e contemoraneamente al circuito, il quale è formato da un numero di full-adder ari alla lunghezza dei due oerandi: in questo caso, il carry di uscita di ogni full-adder viene direttamente ortato al carry di ingresso del full-adder immediatamente a sinistra (fa eccezione ovviamente il carry di uscita dell ultimo full-adder, quello iù a sinistra, che fornisce semlicemente l eventuale riorto dell intera somma). Il circuito combinatorio che effettua una somma in arallelo (binary arallel adder) è dunque fatto nel modo seguente, nell iotesi di oerandi da 4 bit ciascuno: 7

Aunti di Elettronica dei Sistemi digitali - Caitolo 3 Un sommatore binario arallelo da 4 bit è un tiico circuito MSI. Esso uò essere usato in molte alicazioni che effettuano oerazioni matematiche. E interessante osservare che se avessimo voluto sintetizzare il circuito combinatorio con il metodo tradizionale, avremmo dovuto trovarne la tabella della verità, considerando 9 ingressi (4 bit er ogni oerando ed il bit del carry er il rimo full-adder) e 5 uscite. Avremo cioè dovuto trovare la tabella di verità di 5 funzioni di 9 variabili, ossia 5 tabelle con 2 9 52 righe, il che è imensabile. Al contrario, con il metodo descritto rima, che fondamentalmente è un metodo iterativo di mettere in cascata un certo numero di funzioni note, siamo riusciti ad ottenere una semlice ma efficiente imlementazione. Considerando infine lo schema logico del singolo full-adder, l intero circuito logico è il seguente: 8

roagazione del carry arte IV - Comlementi sui circuiti combinatori Dobbiamo adesso necessariamente fare alcune considerazioni circa il funzionamento reale del circuito. In rimo luogo, l addizione di 2 numeri binari in arallelo richiede che tutti i bit dei due addendi siano disonibili, er il calcolo, nello stesso istante, il che significa che i segnali elettrici corrisondenti agli 8 bit (4 er ogni addendo) ed al bit del carry iniziale vengano alicati contemoraneamente ai in di ingresso del circuito (si uò ensare ad un unico integrato che contenga l intero circuito, come in effetti accade nella realtà). Come in tutti i circuiti combinatori, er ottenere l uscita corretta bisogna asettare che il segnale si sia roagato attraverso tutte le orte, da quelle in ingresso a quelle di uscita. Il temo totale di roagazione è ari alla somma dei temi di roagazione introdotti dalle singole orte. E evidente allora che il maggior temo di roagazione, in un circuito logico come quello riortato oco fa, è quello del carry: dato che ogni bit della somma diende dal valore del carry di ingresso, è evidente che ogni stadio darà l uscita finale stabile solo quando il carry di quello stesso stadio si è roagato attraverso tutte le orte logiche che ci sono sul suo ercorso. er chiarirci le idee, consideriamo l uscita S4, ossia la somma di due bit iù significativi: gli ingressi A4 e B4 arrivano nello stesso istante in cui arrivano tutti gli altri ingressi e, dato che ogni circuito combinazionale risonde immediatamente alla sollecitazione in ingresso, doo un certo temo l uscita S4 va ad un certo valore: questo valore, erò, non necessariamente sarà quello corretto, in quanto sicuramente non è ancora arrivato il valore corretto del carry C4, che diende dal carry di uscita dello stadio recedente. Stesso discorso vale ovviamente er gli stadi recedenti. E ossibile analizzare il circuito e ricavare, er isezione, il ritardo che il carry imiega er assare dall ingresso C all uscita C out : si nota infatti facilmente che, in ogni stadio, il carry deve oltreassare rima una orta AND e oi una orta NOT, er cui, trascurando i ritardi dovuti ai collegamenti tra le orte e ritenendo che tutte le orte introducano un uguale ritardo, è evidente che, dall istante in cui avviene l alicazione degli ingressi, è necessario un temo 8 rima di oter avere il valore corretto di C out. er avere, invece, il valore corretto di S4, è facile vedere che è necessario un temo ari a 6. La roagazione del carry è dunque un fondamentale fattore limitante er la velocità con cui due numeri binari ossono essere sommati in arallelo. Così come in tutti i circuiti combinatori, un sommatore arallelo binario darà l uscita corretta solo doo un certo temo, iù o meno lungo a seconda del numero di orte, dall alicazione dell ingresso. E imortante sottolineare che non conta il numero di orte in sé, quanto invece il numero di livelli su cui tali orte sono sistemate: infatti, un circuito di orte sarà estremamente veloce se le orte sono sullo stesso livello, ossia ricevono i segnali nello stesso istante, mentre sarà iù lento se alcune di queste orte devono asettare l uscita di quelle del livello recedente. Consideriamo ad esemio il singolo full-adder 9

Aunti di Elettronica dei Sistemi digitali - Caitolo 3 Qui, i livelli sono 3: il rimo livello è costituito dall EXOR dei due bit x ed y e dall AND di x e C ; il secondo livello è costituito dall altro EXOR e dall altra orta AND; l ultimo livello è costituito dalla orta OR. Se tutte le oerazioni aritmetiche di un sistema digitale sono realizzate tramite addizioni successive, è evidente che il temo consumato durante il rocesso di addizione è veramente critico. Una ovvia soluzione al roblema è quella di ridurre il temo di roagazione del carry tramite un utilizzo di orte veloci, che introducano cioè ritardi di roagazione minimi. Non si uò d altra arte scendere al di sotto dei limiti fisici dei circuiti elettronici che imlementano le singole orte. Sottrattori INTRODUZIONE La sottrazione di due numeri binari uò essere effettuata rendendo il comlemento del sottraendo e sommandolo al minuendo. Con questo metodo, l oerazione di sottrazione diventa una oerazione di addizione, che richiede quindi un full-adder del tio descritto rima. D altra arte, è anche ossibile imlementare la sottrazione in maniera diretta, cioè eseguendo le stesse oerazioni che facciamo normalmente con una enna e un foglio: in questo caso, ogni bit del sottraendo è sottratto dal corrisondente bit del minuendo, in modo da ottenere la differenza. Se il minuendo è iù iccolo del sottraendo, viene relevato un dalla osizione immediatamente iù a sinistra. Il fatto che un è stato relevato deve essere ovviamente tenuto in conto quando si fa la sottrazione er la coia di bit immediatamente a sinistra. HALF-SUBTRACTOR Un semi-sottrattore è un circuito combinazionale che sottrae due bit dando in uscita la loro differenza. Esso disone anche di una uscita che indica se è stato relevato un o meno. La tabella della verità è allora la seguente: x y diff borrow La colonna diff dà la differenza tra i due bit considerati, mentre la colonna borrow indica se è stato relevato un (quando borrow) oure no (nel qual caso borrow). Dato che D diff x' y + xy' x y B borrow x' y

arte IV - Comlementi sui circuiti combinatori il corrisondente circuito è immediato: Questo circuito è estremamente simile a quello del semisommatore: infatti, la funzione D è identica alla funzione S (somma), mentre la funzione B differisce dalla funzione C(carry) solo er il fatto che l ingresso x viene comlementato. FULL-SUBTRACTOR Un sottrattore comleto è un circuito combinazionale che realizza la sottrazione tra due bit, tenendo conto che un otrebbe essere stato relevato da uno stadio meno significativo osto in cascata. Il circuito ha dunque 3 ingressi e 2 uscite, in accordo alla seguente tavola della verità: x y B D B Le mae di Karnaugh e le esressioni minime delle due funzioni sono le seguenti: x \ yc 4 5 7 3 2 6 D x' y' B + x' yb' + xy' B' + xyb x \ yc 4 5 3 7 2 6 B x' y + x' B + yb Ancora una volta, l esressione di D è assolutamente analoga a quella della funzione S (somma) di un sommatore comleto, mentre l esressione di B è leggermente diversa da quella della funzione C(carry).

Aunti di Elettronica dei Sistemi digitali - Caitolo 3 Il corrisondente circuito è fatto nel modo seguente: ossiamo rovare anche qui a maniolare l esressione di D e di B: D x' y'b + x' yb' + xy' B' + xyb ( x' y' + xy) B + ( x' y + xy' ) B' ( x y) B B x' y + x' B + yb x' y( B + B' ) + x' ( y + y' ) B + ( x + x' ) ( B + B' ) + ( x' y' + xy) B x' y + ( x y) ' B x' y yb x' yb + x' yb' + x' y' B + xyb Adottando queste esressioni, ossiamo realizzare il circuito nel modo seguente: Autore: SANDRO ETRIZZELLI e-mail: sandry@iol.it sito ersonale: htt://users.iol.it/sandry succursale: htt://digilander.iol.it/sandry 2