Documento di Andrea Bobbio sull'Algebra Booleana: Variabili e Funzioni Logiche. Il Pdf, di livello universitario e materia Informatica, esplora i concetti fondamentali dell'Algebra Booleana, definendo operatori come NOT, AND e OR, e include la tavola della verità per la negazione.
See more47 Pages
Unlock the full PDF for free
Sign up to get full access to the document and start transforming it with AI.
1 Algebra Booleana ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-20012
Il calcolatore può essere visto come una rete logica cioè come un insieme di dispositivi chiamati porte logiche opportunamente connessi. Le porte logiche sono dispositivi capaci di eseguire operazioni logiche su segnali binari. I segnali binari sono livelli di tensione. Il valore esatto della tensione del segnale non è significativo: conta l'appartenenza ad un livello contrassegnato alto e ad un livello contrassegnato basso. Questi livelli sono identificati tramite una coppia di simboli: 0 1 Low High False True Open Close3
Le tecniche di composizione delle porte logiche in una rete sono derivate da una particolare algebra operante su variabili binarie e chiamata Algebra Booleana (o Switching Algebra). L'algebra Booleana prende il nome dal matematico inglese George Boole (1815-1864) autore del testo The mathematical analysis of logic. A lui è legato lo sviluppo della logica simbolica e degli operatori binari. Nel 1938 Shannon ha dimostrato come l'algebra booleana potesse essere presa a fondamento per la progettazione di circuiti logici digitali.4
Vengono definiti i seguenti concetti: o variabili booleane ¿ operatori booleani o funzioni booleane porte logiche » circuiti logici - combinatori - sequenziali5
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 x=1 se se x = 06
Si definiscono gli operatori booleani o logici fondamentali: NOT Negazione Logica AND Prodotto Logico OR Somma Logica7
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 − x8
x not (x) 0 1 1 0
not(not(x)) = x Ī = 1 0 = 1 = 0 = 19
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 xy10
x y x. y 0 0 0 0 1 0 1 0 0 1 1 1
x.0 = 0 x . 1 = x x . x = x x.x=011
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: xor y x+y12
x y x + y 0 0 0 0 1 1 1 0 1 1 1 1
x +0 = x x + 1 = 1 x+ x = x x + x = 113
Le porte logiche sono dispositivi elettronici capaci di eseguire op- erazioni logiche su variabili booleane. A A · B B A A + B B A A14
A A · B B Alcune proprietà della porta AND. A 0 A.0= 0 0 A A A ·1 = A 1 A A A . A = A A A 0 A. A = 0 A15
A B A + B Alcune proprietà della porta OR. A A A + 0 = A 0 A 1 A+ 1 = 1 1 A A A + A = A A A 1 A + A = 1 A16
Le proprietà degli operatori logici NOT, AND e OR, permettono di stabilire le seguenti proprietà.
x + x = x x . x = x
x+ 1 = 1 x.0= 0
x+y =y+ x x.y=y .x
x + (y + z) = (x + y) + 2 = x + y + z x . (y . z) = (x . y) . z = x . y . z17
Le proprietà che valgono per l'operatore + valgono anche per l'operatore · purchè si scambino gli 1 con gli 0 (e viceversa).18
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 · z19
x y z xy xy + xz y+ z x(y + z) 00 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 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) 00 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 120
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+y21
x . y = x + y x+y = x.y22
Nell'algebra booleana non vale la legge di cancellazione Dall'espressione: x+y = x+z non è possibile dedurre: y = 223
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+zy=z 000 0 0 1 1 001 0 1 0 0 010 1 0 0 0 011 1 1 1 1 100 1 1 1 1 101 1 1 1 0 110 1 1 1 0 111 1 1 1 124
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 · (AND) sia interpretato come l'operazione di intersezione fra insiemi. => La somma logica + (OR) sia interpretata come l'operazione di unione fra insiemi. => Il valore 1 (elemento neutro rispetto a .) sia sosti- tuito dall'insieme universo U (elemento neutro rispetto all'intersezione). => Il valore 0 (elemento neutro rispetto a +) sia sostituito dall'insieme vuoto ¢ (elemento neutro rispetto all'unione). È quindi possibile dimostrare le proprietà e i teoremi dell'algebra booleana ricorrendo alla rappresentazione degli insiemi medianti diagrammi di Venn.25
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 A B A · B26
x y x nand y 0 0 1 0 1 1 1 0 1 1 1 0
x nand 0 = 1 x nand 1 = x x nand x = x x nand x = 1 x nand y = x . y27
Con il solo operatore NAND, si possono rappresentare gli opera- tori NOT, AND e OR. A A Da A . A = A A A A A . B = A . B B A A · B B A A . B = A + B B A A + B B28
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 B A + B C29
x y x nor y 0 0 1 0 1 0 1 0 0 1 1 0
x nor 0 = x x nor 1 = 0 x nor x = x x nor x = 0 x nory = x+y30
Con il solo operatore NOR, si possono rappresentare gli operatori NOT, AND e OR. A A O A + A = A A C A A + B = A · B B A A · B B A A+B=A +B O B B A A + B31
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: roy x exor y A B A@B32
x y roy 0 0 0 0 1 1 1 0 1 1 1 0
xe0= x x01 = x xox=0 xox=1 xey=roy33
xey=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 = y34
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 & forzando il secondo ingresso a 1. x x x 0 1 x 0 xe0= x 0 0 0 1 0 1 x 1 x01= x 0 1 1 1 1 035
Si abbiano due parole di 4 bit (x3 x2 x1 x0) e (y3 92 91 30). La rete logica in figura verifica se le due parole sono uguali e diverse: in particolare se l'uscita è 0 le parole sono uguali, se l'uscita è 1 le parole sono diverse. X3 y3 X2 0 uguali y2 X1 1 diversi y1 X0 y036
Si abbia una parola di 8 bit con bit di parità (x7 x6 X5 x4 x3 x2 x1 20 xp). La rete logica in figura verifica se il numero totale di 1 della parola è pari o dispari: in particolare se l'uscita è 0 il numero di 1 è pari, se l'uscita è 1 il numero di 1 è dispari. X7 X6 X5 X4 X3 U X2 X1 X0 Xp