Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
L'algebra booleana deve il suo nome al logico e matematico inglese George Boole (1815 1864)
che ebbe il merito di formularla. Egli svilupp i concetti espressi da Leibniz sul sistema binario e
descrisse gli operatori logici, che da lui presero il nome di operatori booleani, su cui si fonda un
modello di calcolo che consente:
di operare sulle proposizioni logiche su cui si articola il ragionamento allo stesso modo che
su entit matematiche;
di spiegare il comportamento dei componenti elettronici denominati porte logiche che sono
alla base del funzionamento dei calcolatori elettronici
Come tutte le algebre essa si sviluppa partendo dalla definizione di un insieme di supporto X e di
operatori binari che associano a coppie di elementi di X un elemento dello stesso insieme.
Gli operatori sono due:
l'operatore di somma che si indicher con
l'operatore di prodotto che si indicher con
Entrambi gli operatori sono funzioni definite nel dominio X X e hanno per codominio X.
Perch sia un'algebra devono valere le seguenti propriet definite assiomaticamente per ogni x, y, z
appartenenti a X:
I. propriet commutativa:
a) della somma: x y = y x
b) del prodotto: x y = y x
II. propriet distributiva:
) della somma rispetto al prodotto: x (y z) = (x y) (x z)
) del prodotto rispetto alla somma: x (y z) = (x y) (x z)
III. dell'esistenza dell'elemento neutro:
a) O per la somma: x = x
b) I per il prodotto: x = x
con O ed I appartenenti all'insieme X;
IV. del complemento x' per il quale sussiste:
) x x' =
) x x' =
Il complemento x' di x unico. Per dimostrarlo si assuma per assurdo che esista un altro x che
gode della propriet di essere complemento di x. Allora:
x' = x' O
per la III.a
= x' (x x)
per la IV.a
= (x' x) (x' x)
per la II.a
= (x' x) I
per la IV.a
= (x x') (x x)
per la I.a e la IV.a
= x (x' x)
per la II.b
= x I
per la IV.a
= x
per la III.b
Data la univocit del complemento si introduce un terzo operatore denominato complemento ed
indicato con . Con la notazione x' = x si fa riferimento al complemento di x. Si noti che:
O = I
I = O
x = (x)
Le quattro propriet rappresentano le regole fondamentali del modello di algebra. Con esse si
possono dimostrare le ulteriori propriet:
V. associativa:
) della somma: x (y z) = (x y) z
) del prodotto: x (y z) = (x y) z
VI. idempotenza:
a) per la somma: x x = x
b) per il prodotto: x x = x
VII.
assorbimento:
) della somma: x (x y) = x
) del prodotto: x (x y) = x
VIII.
del minimo e del massimo:
a) per il minimo: x O = O
) per il massimo: x I = I
Si osservi che tutti gli assiomi sono caratterizzati dal principio di dualit che recita che da una
qualsiasi identit booleana se ne ricava un'altra sostituendo l'operatore di somma con quello di
prodotto e l'elemento O con I. Il principio di dualit non dice che le due identit sono uguali o
equivalenti, ma afferma soltanto che se una identit valida nell'algebra di boole lo anche la sua
duale.
Infine si dimostra che valgono le due relazioni di De Morgan: l'una duale dell'altra:
1. (x y) = (x y)
2. (x y) = (x y)
Per la prima il complemento di una somma uguale al prodotto dei complementi dei termini; per la
seconda il complemento di un prodotto uguale alla somma dei complementi dei fattori.
Per il principio di dualit basta dimostrare la validit di una delle due relazioni. Si applichino le
propriet del complemento alla 1):
a) (x y) (x y) = I
b) (x y) (x y) = O
La a) si dimostra con i seguenti passaggi:
(x y) (x y) =
(x y x ) (x y y) =
(y I ) (x I) =
I I =I
La b) si dimostra con passaggi duali:
(x y) (x y) =
(x y x ) (x y y) =
(y O ) (x O) =
O O =O
Si noti che applicando ad entrambi i membri delle due relazioni di De Morgan la complementazione
si ottiene:
1. ((x y)) = (x y)
2. ((x y)) = (x y)
Ma la doppia negazione si pu eliminare ottenendo:
1. x y = (x y)
2. x y = (x y)
dalla quale emerge che:
l'operatore somma si ottiene da una espressione in cui compaiono gli operatori di
complemento e prodotto;
l'operatore prodotto si ottiene da una espressione in cui compaiono gli operatori di
complemento e somma.
Se si definiscono:
le costanti booleane gli elementi appartenenti all'insieme X di sostegno;
le variabili booleane i simboli (a, b, c) a cui possono essere associati insiemi di costanti
booleane;
allora si possono costruire espressioni con gli operatori di complementazione, somma e prodotto.
E = a b (b (c a))
In assenza di parentesi si stabilisce:
che si eseguano per prime le complementazioni;
successivamente i prodotti
ed infine le somme.
Due espressioni si dicono equivalenti se:
assumono lo stesso valore comunque si assegni valore alle variabili in esse contenute;
o possibile trasformare una delle due nell'altra applicando i postulati dell'algebra.
Binaria
Insieme di sostegno
somma
Somma logica
OR
prodotto
Prodotto logico
AND
complemento
Negazione
NOT
minimo
zero
massimo
uno
{0,1}
Per gli operatori logici si soliti far ricorso ad una notazione pi semplice:
per la somma si usa il simbolo +:
a AND b a + b
per il prodotto si usa il puntino che per pu anche essere omesso:
a OR b a b oppure solo ab
per la negazione si soprasegna la variabile
NOT a x
Nell'algebra binaria si definisce funzione booleana y su n variabili booelane:
y = f(x1, x2, ., xn)
la corrispondenza che associa ad ogni combinazione di valori delle n variabili indipendenti x1, x2,
., xn un valore booleano della variabile dipendente y. Poich ognuna delle variabili pu assumere
due soli valori, la funzione f viene ad essere definita su un insieme discreto di valori uguale proprio
alle 2n combinazioni di valori delle n variabili. La tabella che riporta tutte le 2n combinazioni di
valori delle n variabili e i valori corrispondenti della funzione viene detta tavola di verit.
Dalle tavole di verit si nota che l'OR tra due variabili logiche a e b assume valore 0 quando
entrambe le variabili sono zero, ed il valore 1 negli altri tre casi. L'AND assume invece il valore
uno quando entrambe le variabili valgono 1 e zero in tutti gli altri casi. Il NOT, che si applica ad una
sola variabile, uguale ad 1 se la variabile 0, e 0 in caso contrario.
a
0
0
1
1
b
0
1
0
1
ab
0
0
0
1
a
0
0
1
1
b
0
1
0
1
a+b
0
1
1
a a
0 1
1 0
Una qualsiasi funzione f si presenta come unespressione composta dagli operatori OR, AND e
NOT: la presenza di parentesi fissa lordine di esecuzione; in assenza delle parentesi si esegue
prima il NOT, poi lAND ed infine lOR.
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
ab + (bc)
1
1
1
1
1
1
0
1
a + (bc)
1
1
1
1
0
0
1
0
Due funzioni che presentano la stessa tavola di verit sono equivalenti. A titolo di esempio si
dimostra la relazione di De Morgan:
ab = a + b
costruendo le tavole di verit di primo e secondo membro e verificando che sono uguali.
a
0
0
1
b
0
1
0
1
ab
1
1
1
a+b
1
1
1
0
Poich una funzione booleana definita su due variabili pu assumere solo quattro valori, 24 sono le
possibili funzioni diverse:
a
0
0
1
1
con:
b
0
1
0
1
f0
0
0
0
0
f1
0
0
0
1
f2
0
0
1
0
f3
0
0
1
1
f4
0
1
0
0
f5
0
1
0
1
f6
0
1
1
0
f7
0
1
1
1
f8
1
0
0
0
f9
1
0
0
1
f10
1
0
1
0
f11
1
0
1
1
f12
1
1
0
0
f13
1
1
0
1
f14
1
1
1
0
f15
1
1
1
1
f6: a b + a b ; detta or esclusiva o XOR che risulta uguale ad 1 quando i valori di a e b sono
diversi;
f7: a + b; ossia lOR;
8: a + b ; ossia il complemento dellOR detta anche NOR;
f
f9: ab + ab; detta equivalenza EQV che risulta uguale ad 1 quando i valori di a e b sono
uguali;
f10: b ; il complemento di b;
f11: a+ b ; detta implicazione b a, con b antecedente;
f12: a ; il complemento di a;
f13: a + b; detta implicazione a b, con a antecedente;
f14: ab ; ossia il complemento dellAND detta anche NAND;
f15: tautologia.
La tavola di verit consente anche di determinare la forma algebrica di una funzione f che essa
rappresenta. Infatti fissata una tavola di verit, si ricavano da essa due rappresentazioni della
funzione dette forme normali, non solo tra loro equivalenti ma equivalenti anche a qualsiasi altra
espressione indicante la stessa funzione.
Se si indica con letterale loccorrenza di una variabile a in una espressione sia nella sua forma
semplice a che in quella complementata a , si definisce:
mintermine un prodotto di letterali
maxtermine una somma di letterali.
Per n variabili si determinano 2n mintermini o maxtermini diversi, tanti quante sono le
combinazioni dei letterali nelle due forme ammesse (semplice e complementata). I mintermini sono
particolari funzioni che assumono valore 1 per una sola combinazione dei valori delle variabili
indipendenti: nello specifico il valore della variabile deve essere 1 se il suo letterale nella forma
semplice, 0 se complementata. Dualmente i maxtermini sono particolari funzioni che assumono
valore 0 per una sola combinazione dei valori delle variabili indipendenti: nello specifico il valore
della variabile deve essere 0 se il suo letterale nella forma semplice, 1 se complementata. In una
tavola di verit ad ogni riga corrisponde pertanto un unico mintermine che assume valore 1 e un
unico maxtermine che assume valore 0.
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c Mintermine = 1 Maxtermine = 0
0
a+b+c
abc
1
abc
a+b+c
0
abc
a+b+c
1
abc
a+b+c
0
abc
a+b+c
1
abc
a+b+c
0
abc
a+b+c
1
abc
a+b+c
Il passaggio dalla tavola di verit alla forma algebrica della funzione pu essere ottenuto:
b
0
0
1
c
0
1
0
f1
1
0
1
f2
0
0
0
f3
0
0
0
0 1 1 0 0 1
1 0 0 0 0 1
1 0 1 1 0 1
1 1 0 0 0 1
1 1 1 0 1 1
Ad ogni funzione corrisponde una sola forma SOP ed una sola forma POS, tra loro equivalenti.
f SOP
f1 abc + abc + abc
POS
( a + b + c )( a + b + c )( a + b + c )( a + b + c )( a + b + c )( a + b + c )
f2
abc
f3
( a + b + c )( a + b + c )( a + b + c )( a + b + c )( a + b + c )( a + b + c )
(a+ b+ c)
( a+ b + c )( a+ b + c )( a+ b + c )
SOP conviene quando la funzione assume il valore 1 un numero di volte inferiore al valore 0 (primi
due casi dellesempio); conviene la POS in caso contrario (terzo caso in tabella).
A titolo di esempio si determinino le due funzioni somma (S) e riporto (R) utili per il calcolo della
somma algebrica di due bit. Per la tavola di verit di S si ricorda che essa assume valore 0 quando i
due termini sono entrambi uguali, e il valore 1 nel caso hanno valore diverso. La funzione R assume
il valore 1 solo quando a e b hanno entrambi valore 1: infatti la somma algebrica di 1+1 in binario
uguale a 0 con riporto 1.
a b S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Anche lalgebra degli insiemi un modello isomorfo allalgebra di Boole nel quale si definiscono:
luniverso T come insieme contenente un qualsiasi altro insieme, compreso linsieme che
non ha elementi detto insieme vuoto;
lunione di A e B come linsieme di tutti gli elementi appartenenti ad entrambi;
lintersezione di A e B come linsieme contenente gli elementi che sono presenti
contemporaneamente in A e B;
la complementazione dellinsieme A come linsieme di tutti gli elementi delluniverso T che
ad esso non appartengono.
Boole
Insiemi
Insieme di
sostegno
somma
prodotto
complemento
Complemento
minimo
Insieme Vuoto
massimo
Insieme Universo
Nellalgebra degli insiemi le relazioni dell'algebra possono essere illustrate su un piano mediante i
diagrammi di Venn. In tale rappresentazione gli insiemi vengono rappresentati con figure piane con
contorno chiuso e linsieme T con un rettangolo nel quale sono contenute tutte le altre figure.
diagrammi di Venn.
Una proposizione pu essere negata con il non: la nuova proposizione falsa se in partenza era
vera, falsa altrimenti.
oggi non una giornata fortunata
La logica delle preposizioni unalgebra di Boole nella quale valgono le definizioni di tabella.
Boole
Insieme di sostegno
Logica proposizione
Due soli valori di verit {falso,vero}
somma
Disgiunzione
oppure
prodotto
Congiunzione
complemento
Negazione
non
minimo
contraddizione
falso
massimo
tautologia
vero
F
F
V
V
F
V
F
V
F
V
V
V
Insieme di sostegno
somma
prodotto
Tratte in sequenza
complemento
Passaggio da ON a
OFF e viceversa
NOT
minimo
Assenza di flusso
OFF
massimo
Presenza di flusso
ON
Nel caso di circuiti elettrici la condizione di OFF corrisponde ad un circuito aperto, e quella di ON
ad uno chiuso: condizioni che determinano il transito di corrente.
Le porte logiche
Le porte (in inglese gate) sono i componenti di base con cui costruire un qualsiasi circuito digitale.
Una porta presenta pi ingressi xi ma una sola uscita che una funzione logica y=f(x1,x2,..,xn). Il
numero degli ingressi di una porta detto fan-in, il fan-out il numero di collegamenti che si
possono attestare sullunica uscita. Collegando tra loro le uscite di una porta con gli ingressi di altre
porte si costruisce un circuito che si comporta logicamente.
Come tutti i circuiti anche quelli digitali eseguono la trasformazione con un tempo che dipende
dalle tecnologie utilizzate: tale tempo misura il ritardo introdotto dal circuito per produrre il segnale
in uscita a partire dalla disponibilit dei segnali in ingresso. Pi questo ritardo piccolo, maggiore
la velocit di calcolo mostrata dal circuito. Oggi con le moderne tecnologie VLSI (very large scale
integration) che usano piastrine di silicio (in inglese chip), contenenti su dimensioni microscopiche
milioni di porte logiche, si raggiungono tempi di calcolo uguali a frazioni di secondo.
Le porte logiche fondamentali sono quelle che realizzano le funzioni OR, AND e NOT. Ad esse si
aggiungono anche le porte NAND e NOR. Ad ognuna di esse si associa un simbolo grafico per
agevolare la comprensione dello schema dei circuiti.
NOT o inverter
AND
OR
NAND
NOR
Limportanza delle porte NAND e NOR deriva dal fatto che un qualsiasi circuito digitale pu essere
realizzato utilizzando solo porte del primo o del secondo tipo. Dalla osservazione delle loro tavole
di verit si ricava che le due porte si comportano da NOT se ai loro ingressi si applica lo stesso
segnale.
x
0
0
1
1
y
0
1
0
1
x NAND y
1
1
1
0
x NOR y
1
0
0
0
x x x NAND x x NOR x
0 0 1
1
1 1 0
Circuiti equivalenti
Poich le due relazioni di De Morgan affermano che:
1. ab = a + b = (a NOR a) NOR (b NOR b)
2. a + b = ab = (a NAND a) NAND (b NAND b)
si dimostra che un qualsiasi circuito si ottiene con sole porte NOR o con sole porte NAND.
Circuiti equivalenti
Circuiti equivalenti
Reti combinatorie
Una rete combinatoria un insieme di porte logiche tra loro interconnesse per realizzare un circuito
costituito da n ingressi e m uscite.
Poich ogni uscita yi funzione degli n ingressi, la rete combinatoria descritta da un gruppo di m
espressioni logiche. La rete combinatoria realizza quindi linsieme delle trasformazioni descritte
dalle singole espressioni logiche secondo la funzione Z=F(X) con la quale alle 2n combinazioni dei
valori di ingresso corrisponde la combinazione dei valori delle m uscite. La funzione F viene
rappresentata mediante una tabella che detta tabella di transizione.
Si costruisca un addizionatore binario che calcoli la somma algebrica di due bit a e b e di un
eventuale riporto r; come risultato si abbia il bit di somma s e il nuovo riporto r.
a b r s r
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Dalla tabella di transizione si ricava una implementazione del circuito:
s = (a + b + r)(a + b + r)(a + b + r)(a + b + r)
r'= abr + abr + abr + abr
Si noti che nel disegno sono state introdotte, per semplificare lo schema, porte logiche con fan-in
maggiore di due: si pu facilmente dimostrare che:
abc = (ab)c
a+b+c = (a+b)+c
abcd = ((ab)c)d
a+b+c+d = ((a+b)+c)+d
che utlizzano porte logiche con soli due ingressi.
Reti sequenziali
Con le reti combinatorie una qualsiasi funzione aritmetico-logica pu essere realizzata seppur con
un gran numero di porte logiche; inoltre il valore delle uscite al tempo t dipende solo dal valore dei
segnali di ingresso al tempo t-d dove d il ritardo della rete e il ripetersi di una eguale
configurazione di ingresso produce sempre la medesima risposta delle uscite.
Una rete combinatoria non in grado di realizzare una delle funzionalit pi importanti per un
calcolatore elettronico, cio la possibilit di memorizzare linformazione e di usarla per le
successive elaborazioni. Serve allora una rete capace di evolvere ad ogni istante ricordando quanto
calcolato nellistante precedente.
Le reti sequenziali sono reti logiche nelle quali il valore dei segnali dell'uscita ad un certo istante t
dipende non solo dallo stato degli ingressi in quello stesso istante, ma anche dagli stati degli
ingressi precedenti. Pertanto necessario che la rete abbia memoria della storia passata per far s
che il comportamento ingresso/uscita ne venga condizionata.
Una rete sequenziale si realizza con una rete combinatoria nella quale un dispositivo di memoria
riporta in ingresso una parte dei segnali di uscita. La retroazione deve consentire che i segnali
prodotti in uscita si ripresentino allingresso in un istante successivo per determinare il nuovo
valore delluscita.
Il dispositivo di memoria nel presentare i segnali allingresso introduce uno specifico ritardo: la rete
pu quindi evolvere facendo s che in ingresso i segnali si presentino con una frequenza che sfrutti
proprio tale ritrado affinch le uscite siano funzione degli ingressi allo stesso istante e delle uscite
dellistante precedente. Reti di questo tipo vengono dette asincrone per distinguerle da quelle
sincrone nelle quali il comportamento regolato da un segnale che scandisce il tempo ad intervalli
prefissati. Caratteristiche di tale segnale, che viene detto clock, sono proprio il suo periodo T, ossia
lintervallo di tempo dopo il quale si ripresenta, o la sua frequenza che misura il numero di periodi
nellunit di tempo (1/T) e si misura in Herz.
Gli impulsi del clock fissano il tempo in cui la rete produce luscita sulla base degli ingressi e dei
valori retrozionati dalla memoria.
A titolo di esempio si calcoli la somma algebrica di due byte eseguendo in sequenza la somma di
due bit alla volta a partire da quelli di peso meno significativo. Si realizzi la somma con una rete
sequenziale sincrona basata sul semplice addizionatore operante su due bit a cui sia stata aggiunta la
retroazione del bit di riporto: in tale modo alla somma di due bit partecipa il riporto prodotto dalla
somma dei bit precedenti.
Uscita
B10+B20+r0
B11+B21+r(B10+B20)
B12+B22+r(B11+B21)
B13+B23+r(B12+B22)
B14+B24+r(B13+B23)
B15+B25+r(B14+B24)
B16+B26+r(B15+B25)
B17+B27+r(B16+B26)
stati evolvono ad intervalli di tempo regolari ricevendo informazioni in ingresso che in base allo
stato in cui si trovano, provvedono sia a generare un uscita che a (eventualmente) cambiare il
proprio stato.