Algebra di Boole - diegm - Università degli Studi di Udine

Fondamenti di Informatica - Algebra di Boole
FONDAMENTI DI INFORMATICA
Prof. PIER LUCA MONTESSORO
Facoltà di Ingegneria
Università degli Studi di Udine
Algebra di Boole
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
1
Fondamenti di Informatica - Algebra di Boole
Nota di Copyright
Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright
e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi
inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio,
musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli
Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca,
scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero
dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di
lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su
supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non
esplicitamente autorizzata per iscritto, a priori, da parte degli autori.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della
pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in
progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza
preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi
incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento
dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste
slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono
mai essere rimossi e devono essere riportati anche in utilizzi parziali.
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
2
Fondamenti di Informatica - Algebra di Boole
Algebra di Boole
costanti
operatori
variabili
assiomi
teoremi e
proprietà
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
3
Fondamenti di Informatica - Algebra di Boole
Costanti
• Due soli valori, convenzionalmente
indicati con 0 e 1
• Talvolta indicati anche con “vero” e
“falso”
• Detti anche “valori logici”, corrispondono
ai valori che possono assumere i bit
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
4
Fondamenti di Informatica - Algebra di Boole
Operatori
• Sono definiti da tabelle che
esaustivamente ne descrivono il
comportamento (il numero di
combinazioni di valori di ingresso è
finito)
• Le tabelle vengono dette “tabelle della
verità”
• Spesso si utilizzano anche descrizioni di
tipo funzionale
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
5
Fondamenti di Informatica - Algebra di Boole
Operatori
• Si possono utilizzare diverse notazioni:
– porte logiche (corrispondono ai dispositivi
elettronici che svolgono la funzione
dell’operatore)
– notazione algebrica (come nell’algebra
tradizionale)
– tabella della verità
– mappa di Karnaugh
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
6
Fondamenti di Informatica - Algebra di Boole
Mappe di Karnaugh
A
0
B
!
1
0
AB
!
1
00
0
1
01
11
10
00
01
AB
C
00
CD
01
11
10
11
10
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
7
Fondamenti di Informatica - Algebra di Boole
Mappe di Karnaugh
• Topologicamente sono dei TORI:
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
8
Fondamenti di Informatica - Algebra di Boole
Mappe di Karnaugh
• Topologicamente sono dei TORI:
AB
00
01
11
10
00
0
1
1
1
01
1
0
1
0
CD
11
0
1
1
0
10
0
1
0
0
0
1
0
1
1
1
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
9
Fondamenti di Informatica - Algebra di Boole
Operatore AND
U = AB
U = A•B
U = A AND B
U=A∧B
A
0
B
A
B
U
0
0
1
1
0
1
0
1
0
0
0
1
1
A
0
0
0
1
0
1
U
B
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
10
Fondamenti di Informatica - Algebra di Boole
Operatore AND
• Descrizione funzionale (applicabile a
porte a N ingressi):
A•B vale 0 se almeno un
ingresso vale 0
A•B vale 1 se tutti gli
ingressi valgono 1
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
11
Fondamenti di Informatica - Algebra di Boole
Operatore OR
U = A+B
U = A OR B
U=A∨B
A
0
B
A
B
U
0
0
1
1
0
1
0
1
0
1
1
1
1
A
0
0
1
1
1
1
U
B
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
12
Fondamenti di Informatica - Algebra di Boole
Operatore OR
• Descrizione funzionale (applicabile a
porte a N ingressi):
A+B vale 0 se tutti gli
ingressi valgono 0
A+B vale 1 se almeno un
ingresso vale 1
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
13
Fondamenti di Informatica - Algebra di Boole
Operatore NOT (“inverter”)
U=A
U = NOT A
U = A’
U= A
A
U
0
1
1
0
A
0
1
1
0
A
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
U
14
Fondamenti di Informatica - Algebra di Boole
Altri operatori
• AND seguito da NOT = NAND
• OR seguito da NOT = NOR
• OR esclusivo (EXOR)
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
15
Fondamenti di Informatica - Algebra di Boole
Operatore NAND
U = AB
U = A•B
U = A NAND B
U = (A•B)
ecc.
A
0
B
A
B
U
0
0
1
1
0
1
0
1
1
1
1
0
1
A
0
0
0
1
0
1
U
B
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
16
Fondamenti di Informatica - Algebra di Boole
Operatore NOR
U = A+B
U = A NOR B
U = (A+B)
ecc.
A
0
B
A
B
U
0
0
1
1
0
1
0
1
0
1
1
1
1
A
0
0
1
1
1
1
U
B
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
17
Fondamenti di Informatica - Algebra di Boole
Operatore EXOR
U=A B
U = A EXOR B
mappa a scacchiera
A
0
B
A
B
U
0
0
1
1
0
1
0
1
0
1
1
0
1
A
0
0
1
1
1
0
U
B
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
18
Fondamenti di Informatica - Algebra di Boole
Operatore EXOR
• A B = AB + AB
• 3 possibili descrizioni funzionali
– complementatore pilotato
– comparatore
– generatore di parità
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
19
Fondamenti di Informatica - Algebra di Boole
Operatore EXOR
• Descrizione funzionale come
complementatore pilotato:
se A = 0 → U = B
se A = 1 → U = B
A (controllo)
U
B (dato)
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
20
Fondamenti di Informatica - Algebra di Boole
Operatore EXOR
• Descrizione funzionale come
comparatore:
se A = B → U = 0
se A ≠ B → U = 1
A
U
B
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
21
Fondamenti di Informatica - Algebra di Boole
Operatore EXOR
• Descrizione funzionale come
generatore di parità:
AB
A1 A2 ... An = 1
se e solo se il numero di
ingressi a 1 è dispari
C
00
01
11
10
0
0
1
0
1
1
1
0
1
0
bit di parità
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
22