Algebra di Boole e reti combinatorie

Transcript

Algebra di Boole e reti combinatorie
Algebra di Boole e reti logiche
Giovedì 8 ottobre 2015
Punto della situazione
• Abbiamo visto le varie rappresentazioni dei
numeri in binario e in altre basi e la loro
aritmetica
• Adesso vedremo la logica digitale usata dal
calcolatore nell’ottica di
• Costruire l’ALU, Unità Logica Aritmetica, e altri
moduli combinatorici
• L’ALU è usata da quasi tutti i tipi di istruzioni
dell’architettura che studieremo
AND ovvero il prodotto
AND(x,y) con x, y variabili che possono assumere valore
Vero o Falso.
Risultato Vero se entrambe le variabili sono poste a Vero,
Falso, altrimenti.
Interpretando Vero come 1 e Falso come 0
AND(x,y) corrisponde al prodotto x  y.
x
y
xy
AND(F,F) = F
00=0
0
0
0
AND(F,V) = F
01=0
0
1
0
AND(V,F) = F
10=0
1
0
0
AND(V,V) = V
11=1
1
1
1
Tavola di verità
OR ovvero la somma
OR(x,y) con x, y variabili che possono assumere valore
Vero o Falso.
Risultato Vero se almeno una variabile è posta a Vero,
Falso, altrimenti.
Interpretando Vero come 1 e Falso come 0
OR(x,y) corrisponde alla somma x + y, in cui 1+1 = 1.
OR(F,F) = F
OR(F,V) = V
OR(V,F) = V
OR(V,V) = V
0+0=0
0+1=1
1+0=1
1+1=1
x
0
0
1
1
y
0
1
0
1
x+y
0
1
1
1
Tavola di verità
NOT ovvero la negazione
NOT(x) con x variabile che può assumere valore Vero o
Falso.
Risultato Vero se la variabile è posta a Falso;
Falso, altrimenti.
Interpretando Vero come 1 e Falso come 0
NOT(x) corrisponde alla negazione.
NOT(V) = F
NOT(F) = V
0 =1
1=0
x
0
1
x
1
0
XOR o OR esclusivo
XOR(x,y) con x, y variabili che possono assumere valore
Vero o Falso.
Risultato Vero se una variabile è posta a Vero, ma non
entrambe,
Falso, altrimenti.
Interpretando Vero come 1 e Falso come 0
XOR(x,y) corrisponde a x  y + x  y = x  y
XOR(F,F) = F
XOR(F,V) = V
XOR(V,F) = V
XOR(V,V) = F
00=0
01=1
10=1
11=0
x
0
0
1
1
y
0
1
0
1
xy
0
1
1
0
f1(0,1)=0, f1(1,1) = 1
f2(0,1,0)= 11 + 0 + 0 = 1
f3(0,0,0)= 1 + 0(0 + 1) = 1
La combinazione delle variabili e degli operatori
viene chiamata espressione logica.
Mappa di verità o tavola di verità: tabella che
definisce i valori dell’output per ogni possibile input
Espressione SOP
Letterale = variabile o la sua negazione
• Un’espressione booleana è in forma normale SOP
(Sum Of Products) quando è l’OR/somma di
AND/prodotto di letterali
x1 x2 x3  x1 x3  x1 x3
• Mintermine = prodotto di letterali in cui compare ogni
variabile o vera o negata
• Una espressione normale SOP è in forma canonica SOP
se i suoi termini sono tutti mintermini
x1 x2 x3  x1 x2 x3  x1 x2 x3
Scambiando Somma con Prodotto si definiscono le
espressioni POS
Espressione POS
Letterale = variabile o la sua negazione
• Un’espressione booleana è in forma normale POS
(Product Of Sums ) quando è il prodotto (AND) di
somme (OR) di letterali
( x2  x3 )( x1  x3 )
• Maxtermine = somma di letterali in cui compare ogni
variabile o vera o negata
• Una espressione normale POS è in forma canonica POS
se i suoi termini sono tutti maxtermini
( x1  x2  x3 )( x1  x2  x3 )
Circuito per l’ AND
Circuito per l’ OR
Circuito per lo XOR
Rete logica
Una rete logica è un’interconnessione di porte
logiche AND, OR, NOT, in modo che ogni uscita
da una porta alimenti al più un ingresso di una
porta e non vi sono cicli
Valori in uscita
x1= 0, x2= 0, x3= 1
Analisi di una rete: dalla rete alla funzione
• Ogni rete logica calcola una funzione booleana
dei suoi ingressi
f(x1,x2,x3) = x3 ( x1 . x2) + (x1+x3)
Risultato principale
Corrispondenza fra funzioni logiche e reti logiche:
• Per ogni funzione logica possiamo costruire una rete
logica che la realizza e viceversa
• Ogni funzione logica può essere espressa in termini
soltanto di AND, OR, NOT.
Analisi: data una rete determinare la funzione
calcolata
Sintesi: data una funzione logica costruire una rete
che la calcola
Analisi e Sintesi di reti
• Analisi è abbastanza semplice:
– Calcola per ogni porta logica di cui sono specificati
tutti gli input l’espressione booleana associata
all’output
• Fino ad ottenere l’espressione associata al terminale d’uscita
della rete
•
1.
2.
3.
Vediamo ora la sintesi di una funzione logica f:
Da f alla tavola di verità
Dalla tavola di verità all’espressione «SOP»
Dall’espressione «SOP» ad una rete a due stadi: il primo di
porte AND, il secondo con una sola porta OR
Tavole di verità di mintermini
Per ogni mintermine, la tavola di verità ha un solo valore 1.
Per esempio:
se f = x3 x2 x1 allora avrà un solo 1 in corrispondenza di x3=0, x2=1,
x1=1.
• Ricorda:
x3 x2 x1 f
• Il prodotto è 1 sse ogni fattore è 1
0 0 0 0
Viceversa, se la tavola di verità di f ha un
solo valore 1 necessariamente f è un
mintermine.
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
f = x3 x2 x 1
Dalla tavola di verità alla SOP
Se invece la tavola di verità ha più occorrenze di 1:
f ha valore 1 se:
x3 x2 x1 f
x3=0, x2=1, x1=1 oppure
0 0 0 0
x3=1, x2=0, x1=1
0 0 1 0
Espressione canonica SOP
0 1 0 0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
x 3 x2 x1
x 3 x2 x1
f = x3 x2 x1 + x3 x 2 x1
1. Per ogni 1 nella tavola di verità trovare il
mintermine corrispondente
2. Sommare i mintermini ottenuti
Sintesi di una rete: dalla funzione alla rete
Quindi abbiamo che:
• Per ogni funzione logica possiamo costruire una rete
logica che la realizza (e viceversa)
• Ogni funzione logica può essere espressa in termini
soltanto di AND OR NOT.
Dalla tavola di verità alla SOP: esempio 1
Supponiamo di avere una funzione f data
tramite la sua tavola di verità
Espressione SOP
Dalla tavola di verità alla SOP: esempio 2
Dalla tavola di
verità
all’espressione
SOP
Espressione SOP
Dall’espressione
SOP alla rete a
due livelli: un
livello varie
porte AND, un
secondo livello
solo una porta
OR
• Lo vedremo nelle prossime lezioni
Riferimenti
Appendice B di [PH] «The Basic of Logic Design»:
Gates, Truth tables, and Logic Equations: B.1, B.2
Nella III edizione è l’Appendice C
Oppure [P] cap. 3, parr. 4.1, 4.2
Esercizio (maggioranza)
Sia f(x,y,z) la funzione che vale 1 se (e solo se) la
maggioranza delle variabili vale 1.
Effettuare la sintesi di f:
1. Da f alla tavola di verità
2. Dalla tavola di verità all’espressione SOP
3. Dall’espressione SOP ad una rete a due stadi: il
primo di porte AND, il secondo con una sola
porta OR
Esercizi
• Disegnare una rete logica che realizza lo XOR
fra due variabili
• L’operazione di NAND di 2 variabili è la
negazione dell’AND, mentre quella di NOR è la
negazione dell’OR.