7UDVIRUPD]LRQH GL (VSUHVVLRQL...

Post on 18-Jun-2020

0 views 0 download

Transcript of 7UDVIRUPD]LRQH GL (VSUHVVLRQL...

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 1

Università degli Studi dell’Insubria

Dipartimento di Scienze Teoriche e Applicate

Architettura degli elaboratori

Il Livello Logico-Digitale:

Trasformazione diEspressioni Booleane

Marco TariniDipartimento di Scienze Teoriche e Applicate

marco.tarini@uninsubria.it

Idea: ottimizzare l’espressione prima di implementarla in un circuito

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 38 -

Funzionebooleana(tav. verita)

espressionebooleana

prodotto di sommeOPPUREsomma di prodotti

sintesi di espressionein 1ma oppure 2daforma canonica

rete combinatoriaottimizzata

Ottimizzazioneusando regole di riscrittura delle espr. booleane

espressionebooleanapiù semplice

implementazionedell’espressionebooleanain un circuitocombinatorio

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 2

Rete combinatoriaRete combinatoria

Trasformazione di espressioni booleane

Porte logicheArchitettura degli elaboratori - 39 -

Espressione booleana

A + /A /BTransfor-mazione

passare da una espressione booleana ad una equivalente(stessa funzione booleana)con lo scopo di ridurne la complessità

Regole di trasformazione delle espressioni booleane

Porte logicheArchitettura degli elaboratori - 41 -

con AND

1 A = A

0 A = 0

A A = A

A /A = 0

A B = B A

(A B) C = A (B C)

A + B C = (A + B) (A + C)

A (A + B) = A

/(A B) = /A + /B

con OR (duale)

0 + A = A

1 + A = 1

A + A = A

A + /A = 1

A + B = B + A

(A + B) + C = A + (B + C)

A (B + C) = A B + A C

A + A B = A

/(A + B) = /A /B

Legge

Identità

Elemento nullo

Idempotenza

Inverso

Commutativa

Associativa

Distributiva

Assorbimento

De Morgan

Tertium non datur / / A = A

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 3

Porte logicheArchitettura degli elaboratori - 42 -

Regole di trasformazione: note

Le regole di trasformazione (o «di riscrittura»)ci consentono di passare da una espressione ad un’altra, equivalente.

l’equivalenza è garantita dalla teoria!

Obiettivo delle riscritture: ottimizzare l’espressione di partenza

Cioè: rendere il circuito associato piú economico, o piú veloce, etc

Gli A, B nelle regole rappresentano sotto-espressioni qualsiasi

(non necessariamente variabili: es: (A(B+C) + A(B+C)) = A(B+C)

Tutte le regole sono in doppia copia: una per l’AND una per l’OR

una è la regola DUALE dell’altra

cioè una è ottenuta dall’altra scambiando fra di loro:AND <==> OR e 0 <==> 1

Ciascuna regola si può usare in un verso, o nel verso opposto

XXX = YYY posso passare da XXX a YYY… oppure viceversa

Alcune regole somigliano a quelle dell’algebra numerica tradizionale

Altre sono piuttosto diverse (per esempio i due assorbimenti)!

De Morgan explained

Nel primale:

«affermare che sia vero A e-anche Bsignificanegare che uno qualsiasi dei due sia falso»

Porte logicheArchitettura degli elaboratori - 43 -

/(A B) = /A + /B A B =/ ( /A + /B )cioè

Nel duale:

«affermare che sia vero A oppure B (o entrambi)significanegare che siano entrambi falsi»

/(A + B) = /A /B A + B = / ( /A /B )cioè

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 4

De Morgan: una conseguenza

DeMorgan ci mostra che possiamo, se lo vogliamo, fare a meno di porte OR .

potremmo sempre sostituirle con porte AND (più alcuni NOT)

e viceversa!

ecco le leggi di De Morgan… …a circuito:

Porte logicheArchitettura degli elaboratori - 44 -

Un altro assorbimento

Porte logicheArchitettura degli elaboratori - 45 -

A + /A B = A + B A (/A + B) = AB

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 5

Porte logicheArchitettura degli elaboratori - 46 -

Esempio di applicazione delle regole di riscrittura

Si consideri la funzione booleana di 3 variabili G(a,b,c) espressa dalla seguente equazione:

G(a,b,c) = (/a /b /c) + (/a /b c) + (/a /b c) + (/a b c) +(a /b c) + (a b c)

Semplificare l’espressione. Indicare le operazioni svolte

Espressione

(a b c) + (a b c) + (a b c) + (a b c) + (a b c) + (a b c)

a b (c +c) + a c (b +b) + a c (b +b)

a b + a c + a c

a b + c (a + a)

a b + c

Regola utilizzata

X + X = X

XY + XZ = X (Y + Z)

X + !X = 1 e X1=X

XY + XZ = X (Y + Z)

X + !X = 1

(a b c) + (a b c) + (a b c) + (a b c) + (a b c)

Teorema del consenso

Porte logicheArchitettura degli elaboratori - 47 -

Dimostrazione

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 6

Porte NAND e porte NOR

Convenienti:

Sono le porte più economiche da realizzare (solo 2 transistor)

Hanno la latenza minore (vel maggiore) delle porte a 2 ingressi

Molto popolari!

Nota:

A NOR A = \A

B NAND B = \B

(verificare nella tabella!)

quindi: con un NAND (o un NOR) posso fare un NOT

Un NAND seguito da un NOT = AND

Un NOR seguito da un NOT = ORPorte logicheArchitettura degli elaboratori - 48 -

A /A

/AA

/AA

equivalenti

Porte NAND e porte NOR

Se ho a disposizione solo porte NAND…

(e quindi posso fare anche il NOT)

…allora posso fare anche l’AND , negando il risutato del NAND

A AND B = NOT (A NAND B)

Porte logicheArchitettura degli elaboratori - 49 -

ABA

B

NOT

AND(con due NAND!)

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 7

Porte NAND e porte NOR

Se ho a disposizione solo porte NAND…

(e quindi posso fare anche il NOT e anche l’AND )

…allora posso fare anche l’OR , grazie a DeMorgan.

A OR B = NOT (NOT A AND NOT B) = (NOT A) NAND (NOT B)

Porte logicheArchitettura degli elaboratori - 50 -

A+BA

B

OR(con tre NAND!)

Operatori binari (porte logiche) universali

Come abbiamo visto, usando solo porte { AND, OR, NOT }possiamo implementare a circuito qualsiasi funzione booleana data(con qualsiasi numero di parametri) – v. forme canoniche

Ma, come abbiamo visto, grazie a De-Morgan:con porte AND e NOT possiamo «fare» porte OR

(e viceversa, con OR e NOT possiamo «fare» porte AND)

Quindi, potremmo limitarci a porte AND e NOT e fare tutto con loro

(oppure OR e NOT )

Usando solo NAND possiamo fare NOT e AND

quindi possiamo fare tutto

Usando solo NOR possiamo fare NOT e OR

quindi possiamo fare tutto

per questo, NAND e NOR sono detti operatori universali (sono gli unici due!)

Porte logicheArchitettura degli elaboratori - 51 -

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 8

Avvertenza

Per progettare un buon circuito (= ottimizzato) che usa solo porte NAND (o solo NOR)non ci si può limitare ad:

costruire un circuito ottimizzato con le porte NOT, AND e OR(come abbiamo visto in questa lezione)

sostiture queste porte con i circuiti visti che usano solo NAND.(NOT = 1 NAND, AND = 2 NAND, OR = 3 NAND)

Funzionerebbe, ma il risultato sarebbe molto lontano dall’ottimo!

Porte logicheArchitettura degli elaboratori - 52 -

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 53 -

Due reti equivalenti

F1 = AB + AC

F2 = A(B + C)

F1 = AB + AC =

= A (B + C) == F2

A

F1

B

C

AB

AC

AB+AC

A

F2

B

C B+C

A(B+C)

Proprietà distributiva

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 9

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 54 -

Ottimizzazione: esempio

/A B C + A /B C + A B /C + A B C =

/A B C + A /B C + A B /C + A B C + A B C + A B C =

/A B C + A B C + A /B C + A B C + A B /C + A B C =

(/A + A) B C + A C (/B + B) + A B (/C + C) =

BC + AC + AB

Meno costosa e più veloce! (provare)

oppure, andando avanti con le riscrittureBC + AC + AB = C (A+B) + AB

Ancora meno costosa (solo 4 porte a due ingressi, anziché 5)

Velocità?

Velocità alta VS costo ridotto :come spesso capita, possono essere due obbiettivi contrastanti

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 55 -

Ottimizzazione: esempio

Altro possibile svolgimento

/A B C + A /B C + A B /C + A B C =

/A B C + A /B C + A B ( /C + C ) =

/A B C + A /B C + A B 1 =

/A B C + A /B C + A B =

/A B C + A ( /B C + B ) =

/A B C + A ( C + B ) =

/A B C + A B + A C =

B ( /A C + A ) + A C =

B ( C + A ) + A C .

// metto in evidenza AB

// regola: inversa

// regola: idempotenza

// metto in evidenza A

// assorbimento

// distribuisco A

// metto in evidenza B

// assorbimento

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 10

Esempio dell’intero processo 1/5

Numeri a led (cosiddetti “Seven-segment display”) :

costruiamo un piccolo circuito combinatorio che calcolalo stato (acceso, spento) di uno dei 7 led del display

dobbiamo accendere sul display una cifra in base 8espresso da tre bit dati in igresso in base 2

la cifra da esprimere è espressa con tre bit A,B,C

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 56 -

000ABC

001ABC

010ABC

011ABC

100ABC

101ABC

110ABC

111ABC

Esempio dell’intero processo 2/5

Numeri a led (“Seven-segment display”) in base 8: risolviamo per il led in alto

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 57 -

000ABC

001ABC

010ABC

011ABC

100ABC

101ABC

110ABC

111ABC

acceso spento acceso acceso spento acceso acceso acceso A B C X

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

tabelladi veritá

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 11

Esempio dell’intero processo 3/5

Come SOMMA DI PRODOTTI(1ma forma canonica)

\A \B \C + \A B \C + \A B C + A \B C + A B \C + A B C

Come PRODOTTO DI SOMME(2da forma canonica)

( A + B + \C ) ( \A + B + C)

(usiamo questa! meno 0 che 1)

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 58 -

A B C X

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

Esempio dell’intero processo 4/5

Ottimizzazione:// start: 5 operatori binari, 2 not

( A + B + \C ) ( \A + B + C)= // distributiva: ( X + Y ) ( X + Z ) = X + YZ

B + ( A + \C ) ( \A + C)= // distr (2 volte): X( Z + K ) = XZ+XK

B + A \A + AC + \C \A + C \C = // inverso (2 volte): X \X = 0

B + 0 + AC + \C \A + 0 = // elem neutro

B + AC + \A \C // end: 4 opeatori binari, 2 not

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 59 -

Marco Tarini - Università dell'Insubria A.A. 2017-1018

Architettura degli elaboratori - Circuiti combinatori - 3 12

Esempio dell’intero processo 5/5

Rete combinatoria per: B + AC + \A\C

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 60 -

A

B

C

or a tre ingressi(costa due or)

Esercizi proposti

Simulare la rete che abbiamo costruito e verificarese soddisfa la tabella di verita’

Stimare la velocita’ del circuito(tempi di latenza (nanosec): AND:2, OR:3, NOT:1)

Costruire la tabella di verita’ per l’espressione boolana ottimizzatae verificare che sia la stessa tabella di verita’

Scrivere l’espressione booleana associata al circuito e verificare chesia la stessa espressione booleana ottimizzata

Costruire la tabella di verita’ per l’espressione booleana non ottimizzata e verificare che sia la tabella dalla quale siamo partiti

Ottimizzare anche l’espressione in 1ma forma normale

Scrivere il circuito risultante. Paragonarlo con quello ottenuto dalla 2 forma.

Scrivere il circuito (ottimizzato) per qualche altro led!Ripetere gli esercizi sopra per qualche altro led

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 61 -