Operazioni Logiche: Algebra di Boole Circuiti digitali Porte Logiche

Circuiti digitali
Operazioni Logiche:
Algebra di Boole
• 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
Fondamenti di Informatica A
Ingegneria Gestionale
Università degli Studi di Brescia
Docente: Prof. Alfonso Gerevini
Docente: A. Gerevini
Porte Logiche
Esempio di circuito
• Le porte logiche formano la base hardware su cui i
circuiti digitali sono costruiti
x1
• Sono particolari dispositivi che possono calcolare varie
funzioni dei valori 0 e 1
A
AB
B
A
A+B
A
f
x2
Ā
B
AND
NOT
OR
A
B
AB
A
A+B
B
NAND
Docente: A. Gerevini
2
Fondamenti di Informatica A – Università di Brescia
NOR
Fondamenti di Informatica A – Università di Brescia
3
Docente: A. Gerevini
Fondamenti di Informatica A – Università di Brescia
4
Reti combinatorie
Algebra di Boole
• Una rete combinatoria è costituita da
• E’ lo strumento matematico usato per lo studio
delle reti combinatorie
• E’ un particolare tipo di algebra che include:
– un gruppo di elementi (di calcolo) attivi: le
porte logiche
– collegati fra loro da elementi passivi: linee di
ingresso, di uscita e di circuito
– un insieme di supporto A (l’insieme {0,1} nel ns caso)
– degli operatori binari: AND (·) e OR (+)
– un operatore complemento: NOT (¯)
• Una rete combinatoria è un circuito
elettronico in grado di calcolare in modo
automatico funzioni binarie di una o più
variabili binarie
Docente: A. Gerevini
Fondamenti di Informatica A – Università di Brescia
• Gli operatori soddisfano certe proprietà che si
deducono da un insieme di assiomi
5
Docente: A. Gerevini
Variabili booleane
Fondamenti di Informatica A – Università di Brescia
6
Operatori booleani
• 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
• Può essere x = 1 oppure x = 0
Docente: A. Gerevini
Fondamenti di Informatica A – Università di Brescia
• Operatori booleani (o logici) fondamentali:
NOT
AND
OR
7
Docente: A. Gerevini
Negazione Logica
Prodotto Logico
Somma Logica
not(x), x, ~x
x and y, x • y, xy
x or y, x + y
Fondamenti di Informatica A – Università di Brescia
8
Le 3 funzioni di base:
Tabelle di verità
x1
x0
x1 • x0
x1
x0
x1 + x0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
AND
Docente: A. Gerevini
Assiomi dell’Algebra di Boole
Forma AND
x
0
1
Commutatività AB = BA
1
0
Distributività A+BC=(A+B)(A+C) A(B+C)=AB+AC
NOT
Docente: A. Gerevini
A+B = B+A
Identità
1A = A
0+A = A
Inverso
AĀ = 0
A+Ā = 1
OR
Fondamenti di Informatica A – Università di Brescia
9
Proprietà dell’Algebra di Boole
Elemento nullo
Idempotenza
Assorbimento
Associatività
De Morgan
Forma OR
x
Fondamenti di Informatica A – Università di Brescia
10
Altre proprietà della negazione
Forma AND
Forma OR
0A = 0
AA = A
A(A+B) = A
(AB)C=A(BC)
AB = A+B
1+A = 1
A+A = A
A+AB=A
(A+B)+C=A+(B+C)
A+B = A B
Fondamenti di Informatica A – Università di Brescia
Docente: A. Gerevini
11
• 1=1
• 0=0
• 0=1=0=1
Docente: A. Gerevini
Fondamenti di Informatica A – Università di Brescia
12
Formule (espressioni) booleane
(logiche)
Altre funzioni di base
x1
x0
x1 • x0
x1
x0
x1 + x0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
NAND
Docente: A. Gerevini
•
•
•
NOR
Fondamenti di Informatica A – Università di Brescia
13
•((x+y)· z)
•((x1· x2)+(x3· (x4+x5)))
Fondamenti di Informatica A – Università di Brescia
14
• x1x2 + x1x2x3 = x1 (x2+x2x3)
Valgono le regole classiche di semplificazione
delle parentesi e di priorità degli operatori:
((x1· x2)+(x3· (x4+x5))) ⇒ x1·x2+x3· (x4+x5)
… e il simbolo “· ” di solito si omette
Fondamenti di Informatica A – Università di Brescia
Docente: A. Gerevini
Equivalenza fra formule booleane
Esempi
Esempi di formule booleane
Docente: A. Gerevini
Le costanti 0 e 1 e le variabili (simboli a cui
possono essere associati i valori 0 e 1) sono
espressioni booleane
Se E, E1 ed E2 sono espressioni booleane lo sono
anche (E1+E2), (E1·E2) e (E)
Non esistono altre espressioni oltre a quelle che
possono essere generate da un numero finito di
applicazioni delle regole 1 e 2
15
• x1 + x2 + x2x3 + x2x3 = x1 + x2 + x3(x2+x2) =
x1 + x2 + x3
• x1x2 + x1x2x3 + x1x2 = x1x2 + x1x2x3 =
x1x2 (1 +x3) = x1x2
Docente: A. Gerevini
Fondamenti di Informatica A – Università di Brescia
16
Tabelle di verità e proprietà
dell’Algebra di Boole: Esempio
Equivalenza fra espressioni booleane
Verifica tramite tabella
x1 + x2 + x2x3 + x2x3 = x1 + x2 + x3
x3
0
0
0
0
1
1
1
1
x2
0
0
1
1
0
0
1
1
x1
0
1
0
1
0
1
0
1
Docente: A. Gerevini
x2
1
1
0
0
1
1
0
0
Assorbimento:
x2x3 x2x3 x1+x2+x2x3+x2x3 x1+x2+x3
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
17
Fondamenti di Informatica A – Università di Brescia
x
0
0
1
1
Docente: A. Gerevini
y
0
1
0
1
xy
0
0
0
1
xy
1
1
1
0
x
1
1
0
0
xy= x+y
y
1
0
1
0
Costruire le tabelle di verità delle seguenti
espressioni logiche:
–
x+y
1
1
1
0
–
•
Fondamenti di Informatica A – Università di Brescia
19
(x + y) + (xy)
che è equivalente a scrivere
(x OR y) OR NOT(x AND y)
((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
proprietà dell’algebra di Boole, dimostrare le
seguenti equivalenze espressioni booleane:
–
–
Docente: A. Gerevini
18
Esercizi
•
x
0
0
1
1
x+y x(x+y)
0
0
1
0
1
1
1
1
Fondamenti di Informatica A – Università di Brescia
Tabelle di verità e proprietà
dell’Algebra di Boole: Esempio
Proprietà di De Morgan:
y
0
1
0
1
x(x+y) = x
Docente: A. Gerevini
xyz + xyz + xyz + x = x
xy + xy + x y = x + y
Fondamenti di Informatica A – Università di Brescia
20