Prof. G. Ascia
Algebra di commutazione
Calcolatori Elettronici
1
Algebra booleana
Prof. G. Ascia
ƒ Operazione:
una operazione op sull'insieme S={s1,s2,...} è una
funzione
op : SxS→S
che da SxS (S cartesiano S) porta in S.
Calcolatori Elettronici
2
Operazione: esempi
Prof. G. Ascia
ƒ L’operazione * di moltiplicazione sull’intervallo [0,1]
consente di ottenere un valore incluso in [0,1] a partire
da elementi inclusi in [0,1]
ƒ La somma + sull’intervallo [0,1] non è un’operazione
Es. : 0,5+0,6 non appartiene all’intervallo [0,1]
ƒ La sottrazione - sull’insieme dei naturali non è una
operazione.
Es : 5-10 non appartiene ai naturali
Calcolatori Elettronici
3
Algebra booleana
Prof. G. Ascia
ƒ E’ una quintupla <B, op1, op2, a, b>
– B: Insieme in cui vengono eseguite le operazioni
– op1, op2: Operazioni a due elementi che agiscono
sugli elementi di B
– a, b: Elementi neutri di B per le operazioni op1 e
op2
ƒ Tra le possibili algebre Booleane quella a 2
valori è detta Algebra di Commutazione
Calcolatori Elettronici
4
Algebra di commutazione
Prof. G. Ascia
• B: {0, 1}
• op1: AND
– Vale 1 solamente se applicata a due valori uguali
a 1 altrimenti vale 0
• op2: OR
– Vale 0 solamente se applicata a due valori uguali
a 0 altrimenti vale 1
• a, b: 1, 0
• Dalla presenza di due soli valori in B è direttamente
derivabile la seguente operazione a un valore:
– NOT: vale 1 se applicata al valore 0 e 0 se è
applicata al valore 1 :
Calcolatori Elettronici
5
Descrizione delle funzioni
Prof. G. Ascia
ƒ Una generica funzione dell’algebra di
commutazione può essere descritta in 3 modi:
– f(Bn) → Bm
– fi(Bn) → B, i = 1,2,…,m
– Tabella della verità
ƒ Esempi
– AND: B × B → B
– OR: B × B → B
– NOT: B → B
Calcolatori Elettronici
6
Algebra di commutazione
Prof. G. Ascia
x
0
0
1
1
AND
y
0
1
0
1
z
0
0
0
1
Calcolatori Elettronici
OR
x y
0 0
0 1
1 0
1 1
z
0
1
1
1
NOT
x z
0 1
1 0
7
Simbologia
Prof. G. Ascia
ƒ Utilizzando le tre operazioni elementari si possono
scrivere delle espressioni tra variabili di
commutazione che descrivono in forma compatta il
comportamento delle funzioni
ƒ Simbologia
– z = AND(x, y) →
z = x • y → z = xy
– z = OR(x, y) →
z=x+y
– z = NOT(x)
→
z = x’
Calcolatori Elettronici
8
Proprietà dell’algebra di commutazione
Prof. G. Ascia
1) Elemento neutro
x+1=1
x+0=x
2) Idempotenza
x+x=x
x*0=0
x*1=x
x*x=x
3) Complementazione
x+x’=1
x*x’=0
Calcolatori Elettronici
9
Proprietà dell’algebra di commutazione
Prof. G. Ascia
4) Commutatività
x+y=y+x
x*y=y*x
5) Associatività
(x+y)+z=x+(y+z)
(x*y)*z=x*(y*z)
6) Assorbimento
x+xy=x
x*(x+y)=x
Calcolatori Elettronici
10
Proprietà dell’algebra di commutazione
Prof. G. Ascia
7) Distribuitività
x+y*z= (x+y)*(x+z)
x*(y+z)=x*y+x*z
8) Involuzione
(x’)’=x
9) Dualità (De Morgan)
(x1+x2+….+xn)’ = x’1* x’2 *….*x’n
(x1* x2*….* xn)’ = x’1+x’2+….+x’n
Calcolatori Elettronici
11
Teorema di Shannon
Prof. G. Ascia
ƒ Data una funzione Booleana f(Bn)=B è
sempre vero che:
– f(x1,x2,…,xn) = x1f(1,x2,…,xn) + x1’f(0,x2,…,xn)
– f(x1,x2,…,xn) = (x1+f(0,x2,…,xn)) • (x1’+f(1,x2,…,xn))
Calcolatori Elettronici
12
Algebra di Commutazione
Prof. G. Ascia
ƒ Una funzione f è detta completamente specificata se il suo
valore è specificato in corrispondenza di tutto il dominio.
ƒ Se il valore della funzione non è specificato in
corrispondenza di alcune assegnazioni, la funzione è detta
non completamente specificata.
ƒ Tali assegnazioni individuano delle condizioni di
indifferenza e il valore di f in corrispondenza di esse è
denotato con il simbolo “-”.
ƒ Per tali configurazioni la funzione può assumere
indifferentemente il valore 0 od il valore 1.
Calcolatori Elettronici
13
Algebra di Commutazione
Prof. G. Ascia
Funzione non completamente specificata
x
0
0
0
0
1
1
1
1
Calcolatori Elettronici
y
0
0
1
1
0
0
1
1
z f(x,y,z)
0
1
0
0
0
1
1
0
0
1
1
0
1
1
-
14
Operatori funzionalmente completi
Prof. G. Ascia
ƒ La terna di operatori AND, OR e NOT sono
funzionalmente completi ovvero permettono di
rappresentare qualsiasi funzione di commutazione.
ƒ La coppia (AND, NOT) è funzionalmente completa.
-Dimostrazione:
NOT(OR(x,y)) = AND(NOT(x),NOT(y))
OR(x,y) = NOT(AND(NOT(x),NOT(y)))
ƒ La coppia (OR, NOT) è funzionalmente completa.
-Dimostrazione:
NOT(AND(x,y)) = OR(NOT(x), NOT(y))
AND(x,y) = NOT(OR(NOT(x), NOT(y)))
Calcolatori Elettronici
15
Operatori funzionalmente completi
Prof. G. Ascia
ƒ Esistono altri due operatori che sono funzionalmente
completi:
– NAND:
– NOR:
NAND (x,y) = NOT (AND (x,y))
NOR (x,y) = NOT (OR (x,y))
Dimostrazione:
A partire dal NAND possiamo ottenere la coppia (AND,NOT):
• NOT(x) =NAND(x,x);
• AND(x,y) = NOT(NAND(x,y))
A partire dal NOR possiamo ottenere la coppia (OR,NOT):
• NOT(x) =NOR(x,x);
• OR(x,y) = NOT(NOR(x,y))
Calcolatori Elettronici
16
Espressioni booleane
Prof. G. Ascia
• Si definisce espressione booleana una combinazione di
variabili booleane e costanti (0,1) attuata mediante gli operatori
+, *, ‘.
Es.
e=x*y+x+z’+y*w
• Si definisce letterale ogni presenza in forma diretta o negata di
una variabile in una espressione e numero di letterali il loro
numero.
letterale
• Es.
e4=x*y’+y*z
L’espressione e4 ha 4 letterali
Calcolatori Elettronici
17
Espressioni booleane: numero di livelli
Prof. G. Ascia
• Si definisce numero di livelli di una espressione il massimo
tra i numeri di operazioni che agiscono in cascata sui letterali.
e = x*y+x+z’+y*w
x
y
è un’espressione a due livelli con 6 letterali
x
z’
y
w
*
*
+
è un’espressione a tre livelli con 5 letterali
z
x
w
*
e = (x+y)*z+x*w
x
y
+
*
+
Calcolatori Elettronici
18
Espressioni booleane
Prof. G. Ascia
• Una espressione e può essere utilizzata per rappresentare
quella funzione booleana f che assume
– valore 1 in corrispondenza delle assegnazioni per le quali e=1
– valore 0 in corrispondenza delle assegnazioni per le quali e=0.
• Due espressioni e1, e2 nelle stesse variabili sono
equivalenti se e1=e2 per tutte le assegnazioni delle variabili.
Es. Le espressioni
e1=xy’+xy’z+xz
sono equivalenti.
e2=xy’+xz
• Data una funzione f, esiste un numero infinito di espressioni
che la possono rappresentare.
Calcolatori Elettronici
19
Porte Logiche
Prof. G. Ascia
• L’algebra di commutazione può essere utilizzata per
descrivere sistemi caratterizzati da grandezze fisiche
che possono assumere 2 soli livelli logici.
• Sono stati individuati sistemi molto semplici che
realizzano le operazioni OR, AND, NOT, NAND, NOR
a cui viene dato il nome di porte logiche
NOT
Calcolatori Elettronici
AND
OR
NAND
NOR
20
Porte Logiche
Prof. G. Ascia
• Utilizzando le porte, si può far corrispondere ad una
espressione booleana un insieme interconnesso di
porte, detto rete logica
• F=(ab+a’c’)(d+e)
b
a
a’
c’
ab
a’c’
f
d
e
Calcolatori Elettronici
ab+a’c’
d+e
21
Termine prodotto
Prof. G. Ascia
• Per una funzione di n variabili f(x1,..,xn) si definisce prodotto
fondamentale o prodotto minimo (minterm) il prodotto
(AND) tra tutte le n variabili presenti in modo diretto o negato.
Esempio: ab’c’, abc’, a’b’c, a’bc’ rappresentano minterm di
una funzioni a tre variabili f(a,b,c).
• Se un minterm assume valore 1 anche la funzione f assume il
valore 1.
• Per una configurazione delle n variabile un solo minterm
assume valore 1.
MinT1=ab’c’
assume il valore 1 solo per a=1, b=0, c=0;
MinT2=abc’
assume il valore 1 solo per a=1, b=1, c=0.
Calcolatori Elettronici
22
Termine prodotto
Prof. G. Ascia
• I mintermini di una funzione vengono spesso identificati
con il numero in base 10 corrispondente al valore binario
del mintermine. (Es., m1=a’b’c, m4= ab’c’)
• On-set: Insieme dei mintermini
Calcolatori Elettronici
23
Implicante
Prof. G. Ascia
• Un implicante di una funzione di n variabili f(x1,..,xn) è il
prodotto (AND) P tra m letterali (con m<n) tale che ogni volta
che P=1 anche f=1.
Esempi
Data la funzione a tre variabili f3v(a,b,c) con minterm:
ab’c’, abc’, a’b’c, ab’c
ac’ e b’c sono implicanti della funzione f3v.
Data la funzione a quattro variabili f4v(a,b,c,d) con minterm:
ab’c’d, abc’d, a’b’cd, a’b’cd’
ac’d e ab’c sono implicanti della funzione f4v.
Calcolatori Elettronici
24
Termine somma
Prof. G. Ascia
• Per una funzione di n variabili f(x1,..,xn) si definisce somma
fondamentale o somma massima (maxterm) la somma
(OR) tra tutte le n variabili presenti in modo diretto o negato.
Esempio: a+b’+c e a+b+c rappresentano due maxterm di
una funzioni di tre variabili booleane.
• Se un maxterm assume valore 0 anche la funzione f assume
il valore 0.
• Per una configurazione delle n variabile un solo maxterm
assume valore 0.
MaxT1= a+b’+c assume il valore 0 solo per a=0, b=1, c=0;
MaxT2= a+b+c assume il valore 0 solo per a=0, b=0, c=0.
Calcolatori Elettronici
25
Termine somma
Prof. G. Ascia
• I maxtermini di una funzione vengono spesso identificati
con il numero in base 10 corrispondente al valore binario
del maxtermine. (Es., M6=a’+b’+c, M3= a+b’+c’)
• Off-set: Insieme dei maxtermini
Calcolatori Elettronici
26
Implicato
Prof. G. Ascia
• Un implicato di una funzione di n variabili f(x1,..,xn) è la
somma (OR) S tra m letterali (con m<n) tale che ogni volta
che S=0 anche f=0.
Es.
Data la funzione f3v(a,b,c) a tre variabili, con i seguenti
maxterm:
a+b’+c, a+b+c, a+b’+c’
sono presenti i seguenti implicati:
a+c e a+b’
Calcolatori Elettronici
27
Forme canoniche
Prof. G. Ascia
• Si chiama forma canonica SP (Somma di Prodotti)
l’espressione di una funzione ottenuta per mezzo della
somma (logica) dei minterm individuati dalle assegnazioni
in corrispondenza delle quali f assume il valore 1.
• Si chiama forma canonica PS (Prodotto di Somme)
l’espressione di una funzione ottenuta per mezzo del
prodotto (logico) dei maxterm individuati dalle
assegnazioni in corrispondenza delle quali f assume il
valore 0.
• Data una funzione f esiste una sola forma canonica SP e
una sola forma PS che la rappresenta.
Calcolatori Elettronici
28
Esempio di forma SP
Prof. G. Ascia
x
0
0
1
1
y f(x,y)
0
0
1
1
=
0
1
1
0
x
0
0
1
1
y P1(x,y)
0
0
1
1
+
0
0
1
0
x
0
0
1
1
P1=x’y
f(x,y) =
y P2(x,y)
0
0
1
0
0
1
1
0
P2=xy’
x’y
+
xy’
Si ricorda che nel mintermine una variabile compare nella forma x
se nella corrispondente configurazione di ingresso ha valore 1,
con x’ se ha valore 0.
Calcolatori Elettronici
29
Esempio di forma PS
Prof. G. Ascia
x
0
0
1
1
y f(x,y)
0
0
1
1
=
0
1
1
0
x
0
0
1
1
y S1(x,y)
0
0
1
1
*
0
1
1
1
S1=(x’y’)’=x+y
f(x,y) =
(x+y)
x
0
0
1
1
y S2(x,y)
0
1
1
1
0
1
1
0
S2=(xy)’=x’+y’
*
(x’+y’)
Si ricorda che nel maxtermine una variabile compare nella forma
x se nella corrispondente configurazione di ingresso ha valore 0,
con x’ se ha valore 1.
Calcolatori Elettronici
30
Esempio di forma PS
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z f(x,y,z)
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
Prof. G. Ascia
f(x,y,z) = (x+y+z) * (x+y’+z’) * (x’+y’+z)
Calcolatori Elettronici
31
Notazione contratta di forma canonica SP
Prof. G. Ascia
Data una funzione booleana f, se consideriamo i numeri
decimali pi corrispondenti alle configurazioni Pi delle variabili
in cui è presente un 1, la f può essere rappresentata come
sommatoria dei pi.
f(x1,x2,..,xn)= Σi(pi)
Per la funzione
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z f(x,y,z)
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
f(x,y,z)= Σ(1,4,5,7)
Calcolatori Elettronici
32
Notazione contratta di forma canonica PS
Prof. G. Ascia
Data una funzione booleana f, se consideriamo i numeri
decimali si corrispondenti alle configurazioni Si delle variabili
in cui è presente uno 0, la f può essere rappresentata come
produttoria dei si.
f(x1,x2,..,xn)= Πi(si)
Per la funzione
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z f(x,y,z)
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
f(x,y,z)= Π(0,2,6)
Calcolatori Elettronici
33
Notazione contratta per funzioni non
completamente specificate
Prof. G. Ascia
Data una funzione booleana f non completamente
specificata, le configurazioni Si relative alle condizioni di
indifferenza vengono aggiunte a quelle in cui la funzione è
specificata mediante un ulteriore sommatoria o produttoria
relativa solo a tali configurazioni.
f(x1,x2,..,xn)= Σi(pi)+ dΣ (pi)
f(x,y,z)= Σ(1,4,5,7)+dΣ (2,3)
f(x1,x2,..,xn)= Πi(si)+ dΠi(si)
f(x,y,z)= Π(0,2,6)+d Π(1,3)
Calcolatori Elettronici
34