Sei sulla pagina 1di 32

ALGEBRA BOOLEANA

Variabili e funzioni Logiche

L’algebra booleana è un particolare tipo di


algebra in cui le variabili e le funzioni possono
solo avere valori 0 e 1. Deriva il suo nome dal
matematico inglese George Boole che la ideò.

Si studia l’algebra booleana poiché le funzioni dell’algebra booleana sono


isomorfe ai circuiti digitali. In altre parole, il calcolatore può essere visto
come una rete logica, ciò è come un insieme di dispositivi chiamati “porte
logiche” opportunamente connessi. Tale circuito digitale può essere
espresso tramite un’espressione booleana ( o funzione booleana ) e
viceversa.

Le porte logiche sono dispositivi capaci di eseguire operazioni logiche tra


le variabili in ingresso ( segnali IN ) e produrre in uscita ( segnale OUT ) il
risultato.

Poiché le variabili sono segnali binari e possono assumere solo i valori 0 o


1 ( livelli di tensione ) una funzione booleana con n variabili di input ha
solo 2 alla n combinazioni possibili e può essere descritta dando una
tabella, detta tabella di verità, con 2 alla n righe.

Tabelle della verità: il risultato delle operazioni logiche, e quindi il


comportamento delle porte logiche è in genere definito descrivendolo
mediante tabelle di verità cioè tabelle che elencano tutte le combinazioni
dei valori di ingresso (operandi) e per ognuna il corrispondente valore del
risultato.
Algebra Booleana 4

Elementi dell’Algebra Booleana

Vengono definiti i seguenti concetti:

 variabili booleane

 operatori booleani

 funzioni booleane

 porte logiche

 circuiti logici
- combinatori
- sequenziali
Algebra Booleana 5

Variabili Booleane

Una variabile booleana è una variabile binaria che può assumere


esclusivamente due valori logici che saranno denotati con 0 e 1.

Se x è una variabile booleana, vale quindi la seguente definizione


formale:

x=0 se x = 1
x=1 se x = 0
Algebra Booleana 6

Operatori Booleani

Si definiscono gli operatori booleani o logici fondamentali:

NOT Negazione Logica


AND Prodotto Logico
OR Somma Logica
Algebra Booleana 7

Negazione o Complementazione

Definizione informale

Trattasi di una operazione unaria che restituisce il valore logico


opposto a quello della variabile di ingresso.

Rappresentazione come operatore

Per rappresentare il complemento di una variabile x vengono usate


varie notazioni. Fra le più comunemente usate ricordiamo:

not(x)
x
x
−x
Algebra Booleana 8

Negazione o Complementazione / 2

Rappresentazione dell’operazione not(x) con la tavola della verità:

x not(x)

0 1

1 0

Proprietà

not(not(x)) = x

1 = 1

0 =1 = 0 =1
Algebra Booleana 9

Prodotto Logico (AND)

Definizione informale

L’operazione di prodotto logico fra due (o più) variabili fornisce il


valore logico 1 se e solo se tutte le variabili assumono valore logico
1.

Rappresentazione come operatore

Per rappresentare il prodotto logico di due variabili x e y si usa


la notazione:

x and y
x·y
xy
Algebra Booleana 10

Prodotto Logico (AND) / 2

Rappresentazione dell’operazione x · y con la tavola della verità:

x y x·y

0 0 0

0 1 0

1 0 0

1 1 1

Proprietà

x·0 = 0

x·1 = x

x·x = x

x·x = 0
Algebra Booleana 11

Somma Logica (OR)

Definizione informale

L’operazione di somma logica fra due (o più) variabili fornisce


il valore logico 1 se e solo se almeno una delle variabili assume
valore logico 1.

Rappresentazione come operatore

Per rappresentare la somma logica di due variabili x e y si usa la


notazione:

x or y
x+y
Algebra Booleana 12

Somma Logica (OR) / 2

Rappresentazione dell’operazione x + y con la tavola della verità:

x y x+y

0 0 0

0 1 1

1 0 1

1 1 1

Proprietà

x+0 = x

x+1 = 1

x+x = x

x+x = 1
Algebra Booleana 13

Porte Logiche

Le porte logiche sono dispositivi elettronici capaci di eseguire op-


erazioni logiche su variabili booleane.

A 


A

B

 
Algebra Booleana 14

Porta AND

A 

Alcune proprietà della porta AND.

 
 




 



!" !$#&%
A
Algebra Booleana 15

Porta OR

A 

Alcune proprietà della porta OR.

 
 




  

!" !$#&% 
A
Algebra Booleana 16

Proprietà dell’algebra Booleana

Le proprietà degli operatori logici N OT , AN D e OR, permettono


di stabilire le seguenti proprietà.

 Idempotenza
x+x = x
x ·x = x

 Elemento nullo (forcing function)


x+1 = 1
x ·0 = 0

 Proprietà Commutativa
x+y = y +x
x ·y = y ·x

 Proprietà Associativa
x + (y + z) = (x + y) + z = x + y + z
x · (y · z) = (x · y) · z = x · y · z
Algebra Booleana 17

Reciprocità dei Teoremi

dell’algebra Booleana

Le proprietà che valgono per l’operatore + valgono anche per


l’operatore · purchè si scambino gli 1 con gli 0 (e viceversa).
Algebra Booleana 18

Teoremi dell’algebra Booleana

 Distributività

La proprietà distributiva vale sia rispetto alla somma di


prodotti (come nell’algebra ordinaria) che rispetto al prodotto
di somme.

x · y + x · z = x · (y + z)

(x + y) · (x + z) = x + y · z
Algebra Booleana 19

Teoremi dell’algebra Booleana

Verifica dei teoremi di distributività mediante la tavola della


verità.

x y z xy xz xy + xz y+z x(y + z)
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 0 0 0 1 0
0 1 1 0 0 0 1 0
1 0 0 0 0 0 0 0
1 0 1 0 1 1 1 1
1 1 0 1 0 1 1 1
1 1 1 1 1 1 1 1

x y z yz x + yz x+y x+z (x + y)(x + z)


0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
0 1 1 1 1 1 1 1
1 0 0 0 1 1 1 1
1 0 1 0 1 1 1 1
1 1 0 0 1 1 1 1
1 1 1 1 1 1 1 1
Algebra Booleana 20

Teoremi dell’algebra Booleana

 Assorbimento

Il teorema dell’assorbimento può assumere varie forme.

x + (x · y) = x

x · (x + y) = x

(x + y) · y = x · y

x·y +y = x+y
Algebra Booleana 21

Teoremi dell’algebra Booleana

 Teoremi di De Morgan

x·y = x+y

x+y = x·y

Le equivalenze dettate dal teorema di De Morgan sono utili per


effettuare eventuali semplificazioni nelle espressioni logiche,
soprattutto quando si voglia passare da logica positiva a logica negativa.

Logica positiva – segnali “attivi alti”


valore True associato al segnale alto (es. +5 V)

Logica negativa – segnali “attivi bassi”


valore True associato al segnale basso (es. 0 V)

Generalmente si adotta la logica positiva per i bit che rappresentano


valori numerici, mentre per i bit che rappresentano valori o comandi
logici si sceglie tra logica positiva o negativa in base ad altre
considerazioni di progetto.
Algebra Booleana 22

Teoremi dell’algebra Booleana

 Legge di Cancellazione

Nell’algebra booleana non vale la legge di cancellazione

Dall’espressione:

x+y = x+z
non è possibile dedurre:

y = z
Algebra Booleana 23

Teoremi dell’algebra Booleana

 Legge di Cancellazione

Si dimostra la non validità della legge di cancellazione medi-


ante la tavola della verità.

x y z x+y x+z x+y =x+z y =z

0 0 0 0 0 1 1
0 0 1 0 1 0 0
0 1 0 1 0 0 0
0 1 1 1 1 1 1
1 0 0 1 1 1 1
1 0 1 1 1 1 0
1 1 0 1 1 1 0
1 1 1 1 1 1 1
Algebra Booleana 24

Algebra degli Insiemi

L’Algebra degli insiemi (o Teoria degli insiemi) è formalmente


identica all’algebra booleana a condizione che:

⇒ Le variabili logiche siano interpretate come possibili sottoin-


siemi di un insieme universo U .

⇒ Il prodotto logico · (AN D) sia interpretato come l’operazione


di intersezione fra insiemi.

⇒ La somma logica + (OR) sia interpretata come l’operazione


di unione fra insiemi.
Algebra Booleana 25

Operazione di nand logico

Definizione informale

L’operazione di nand logico è l’operazione negata dell’operazione


and.

Il simbolo nand è una contrazione di not and.

Quindi l’operazione di nand logico fra due (o più) variabili fornisce


il valore logico 1 se almeno una delle variabili assume il valore
logico 0.

Rappresentazione come operatore

Per rappresentare il nand logico non esiste un simbolo specifico.

x nand y



Algebra Booleana 26

Operazione nand logico / 2

Rappresentazione dell’operazione x nand y con la tavola della


verità:

x y x nand y

0 0 1

0 1 1

1 0 1

1 1 0

Proprietà

x nand 0 = 1

x nand 1 = x

x nand x = x

x nand x = 1

x nand y = x · y
Algebra Booleana 27

Porta NAND

Con il solo operatore NAND, si possono rappresentare gli opera-


tori NOT, AND e OR.

A    


A #$&%'#($)% 

B



  ! 
"

Algebra Booleana 28

Operazione di nor logico

Definizione informale

L’operazione di nor logico è l’operazione negata dell’operazione


or.

Il simbolo nor è una contrazione di not or.

Quindi l’operazione di nor logico fra due (o più) variabili fornisce


il valore logico 1 se nessuna delle variabili assume il valore logico
1.

Rappresentazione come operatore

Per rappresentare il nor logico non esiste un simbolo specifico.

x nor y

A 

Algebra Booleana 29

Operazione nor logico / 2

Rappresentazione dell’operazione x nor y con la tavola della


verità:

x y x nor y

0 0 1

0 1 0

1 0 0

1 1 0

Proprietà

x nor 0 = x

x nor 1 = 0

x nor x = x

x nor x = 0

x nor y = x + y
Algebra Booleana 30

Porta NOR

Con il solo operatore NOR, si possono rappresentare gli operatori


NOT, AND e OR.

A   A



   % !"$#
&



 A  
 
Algebra Booleana 31

Operazione di or esclusivo (exor) / 1

Definizione informale

L’operazione di or esclusivo (exor) fra due (o più) variabili fornisce


il valore logico 1 se il numero delle variabili che assumono valore
logico 1 è dispari.

Rappresentazione come operatore

Per rappresentare l’operatore exor si usa comunemente la seguente


notazione:


x y

x exor y



Algebra Booleana 32

Operazione or esclusivo (exor) / 2

Rappresentazione dell’operazione x exor y con la tavola della


verità:


x y x y

0 0 0

0 1 1

1 0 1

1 1 0

Proprietà

x 0 = x


x 1 = x


x x = 0


x x = 1

 
x y = x y
Algebra Booleana 33

Operazione or esclusivo (exor) / 3

Proprietà


x y = x·y +x·y

 l’operatore exor può essere visto come un comparatore di


uguaglianza:


if x = y then x y = 0


else x y = 1

 l’operatore exor può essere visto come un invertitore control-


lato:


if x = 0 then x y = y


else x y = y
Algebra Booleana 34

exor come invertitore controllato

Mettendo una variabile x come ingresso di una porta exor, si può


ottenere in uscita il valore x stesso forzando il secondo ingresso a
0, o il valore complementato x̄ forzando il secondo ingresso a 1.

x x x

0 1


x 0 x 0=x

0 0 0

1 0 1


x 1 x 1 = x̄

0 1 1

1 1 0