Operazioni Logiche:
Algebra di Boole
Elementi di Informatica e
Programmazione
Ingegneria Gestionale
Università degli Studi di Brescia
Docente: Prof. Ivan Serina Prof. Alfonso Gerevini
Circuiti digitali
• Il calcolatore può essere visto come un insieme di circuiti digitali
• Un circuito digitale è un sistema in cui l’informazione viene rappresentata mediante una grandezza fisica della quale si considerano soltanto valori discreti
• Alla grandezza fisica vengono fatti corrispondere
solamente due valori logici corrispondenti a due livelli di
tensione contrassegnati come alto e basso
• Questi livelli sono identificati da una coppia di simboli:
– 0 1
– Falso Vero – Aperto Chiuso
2
Porte Logiche
• Le porte logiche formano la base hardware su cui i • Le porte logiche formano la base hardware su cui i
circuiti digitali sono costruiti
• Sono particolari dispositivi che possono calcolare varie funzioni dei valori 0 e 1
A B AB A A+B B Ā A B AND B OR NOT A B AB NAND A B A+B NOR
Esempio di circuito
x x1 x2 fReti combinatorie
• Una rete combinatoria è costituita da
• Una rete combinatoria è costituita da
– un gruppo di elementi (di calcolo) attivi: le
porte logiche
– collegati fra loro da elementi passivi: linee di
ingresso, di uscita e di circuito
• Una rete combinatoria è un circuito
• Una rete combinatoria è un circuito
elettronico in grado di calcolare in modo
automatico funzioni binarie di una o più
variabili binarie
5
Algebra di Boole
• E’ lo strumento matematico usato per lo studio
• E’ lo strumento matematico usato per lo studio
delle reti combinatorie
• E’ un particolare tipo di algebra che include:
– un insieme di supporto A (l’insieme {0,1} nel ns caso) – degli operatori binari: AND (·) e OR (+)
– un operatore complemento: NOT (¯ )
• Gli operatori soddisfano certe proprietà che si
deducono da un insieme di assiomi
6
Variabili Booleane
• Una variabile booleana è una
variabile
• Una variabile booleana è una
variabile
binaria
che può assumere uno dei due
valori logici denotati con 0 e 1
• Usiamo ad esempio i simboli x, y, z, … per
indicare variabili booleane
indicare variabili booleane
• Può essere x = 1 oppure x = 0
Operatori Booleani
• Operatori booleani (o logici) fondamentali:
• Operatori booleani (o logici) fondamentali:
NOT
Negazione Logica
not(x), x, ~x
AND
Prodotto Logico
x and y, x • y, xy
OR
Somma Logica
x or y, x + y
Le 3 funzioni di base:
Tabelle di verità
x x x ••••x x x x + x x1 x0 x1••••x0 0 0 0 0 1 0 1 0 0 1 1 1 x1 x0 x1+ x0 0 0 0 0 1 1 1 0 1 1 1 1 x x 0 1 1 0 NOT 1 1 1 1 1 1 AND OR NOT 9Assiomi dell’Algebra di Boole
Forma AND
Forma OR
Forma AND
Forma OR
Commutatività AB = BA A+B = B+A Distributività A+BC=(A+B)(A+C) A(B+C)=AB+AC
Identità 1A = A 0+A = A
Inverso AĀ = 0 A+Ā = 1
10
Proprietà dell’Algebra di Boole
Forma AND Forma OR Forma AND Forma ORElemento nullo 0A = 0 1+A = 1
Idempotenza AA = A A+A = A
Assorbimento A(A+B) = A A+AB=A
Associatività (AB)C=A(BC) (A+B)+C=A+(B+C) Associatività (AB)C=A(BC) (A+B)+C=A+(B+C)
De Morgan AB = A+B A+B = A B
Altre proprietà della negazione
• 1 = 1
• 1 = 1
• 0 = 0
Altre funzioni di base
x x x ••••x x x x + x x1 x0 x1 ••••x0 0 0 1 0 1 1 1 0 1 1 1 0 x1 x0 x1+ x0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 NAND NOR 13Formule (espressioni) booleane
1. Le costanti 0 e 1 e le variabili (simboli a cui
1. Le costanti 0 e 1 e le variabili (simboli a cui
possono essere associati i valori 0 e 1) sono
espressioni booleane
2. Se E, E
1ed E
2sono espressioni booleane lo sono
anche (E
1+E
2), (E
1·E
2) e (E)
3. Non esistono altre espressioni oltre a quelle che
possono essere generate da un numero finito di
applicazioni delle regole 1 e 2
14
Esempi di formule Booleane
((x+y)·z)
((x+y)·z)
((x
1·x
2)+(x
3·(x
4+x
5)))
Valgono le regole classiche di semplificazione
delle parentesi e di priorità degli operatori:
delle parentesi e di priorità degli operatori:
((x
1·x
2)+(x
3·(x
4+x
5))) ⇒ x
1·x
2+x
3·(x
4+x
5)
… e il simbolo “·” di solito si omette
Equivalenza fra formule Booleane
Esempi
• x
1x
2+ x
1x
2x
3= x
1(x
2+x
2x
3)
• x
1+ x
2+ x
2x
3+ x
2x
3= x
1+ x
2+ x
3(x
2+x
2) =
x
11+ x
22+ x
33• x
1x
2+ x
1x
2x
3+ x
1x
2= x
1x
2+ x
1x
2x
3=
x
1x
2(1 +x
3) = x
1x
2Equivalenza fra espressioni booleane
Verifica tramite tabella
x + x + x x + x x = x + x + x
?
x
1+ x
2+ x
2x
3+ x
2x
3= x
1+ x
2+ x
3?
x3 x2 x1 x2 x2x3 x2x3 x1+x2+x2x3+x2x3 x1+x2+x3 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 17Tabelle di verità e proprietà
dell’Algebra di Boole: Esempio
Assorbimento: x(x+y) = x
x
y
x+y
x(x+y)
0
0
0
0
0
1
1
0
1
0
1
1
Assorbimento: x(x+y) = x1
0
1
1
1
1
1
1
18Tabelle di verità e proprietà
dell’Algebra di Boole: Esempio
Proprietà di De Morgan: x y = x + y
x
y
xy
xy
x
y
x + y
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
Proprietà di De Morgan: x y = x + y1
0
0
1
0
1
1
1
1
1
0
0
0
0
Esercizi
•
Costruire le
tabelle di verità
delle seguenti
espressioni logiche:
espressioni logiche:
1. (x + y) + (xy) che è equivalente a scrivere (x OR y) OR NOT(x AND y) 2. ((x + z) + y) + (xz) che è equivalente a scrivere
NOT ((x OR z) OR y) OR (x AND z)
•
Usando le tabelle di verità, o gli assiomi e le
•
Usando le tabelle di verità, o gli assiomi e le
proprietà dell’algebra di Boole, dimostrare le
seguenti equivalenze tra espressioni Booleane:
1. xyz + xyz + xyz+ x = x 2. xy + xy + x y = x + y