Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra...

20
Corso Corso Corso Corso di di di di Calcolatori Calcolatori Calcolatori Calcolatori Elettronici Elettronici Elettronici Elettronici I I I Algebra Algebra Algebra Algebra di di di di Boole Boole Boole Boole Reti Reti Reti Reti logiche logiche logiche logiche Anno Accademico 2007/2008 Francesco Tortorella Università degli Studi di Cassino

Transcript of Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra...

Page 1: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

CorsoCorsoCorsoCorso didididiCalcolatoriCalcolatoriCalcolatoriCalcolatori ElettroniciElettroniciElettroniciElettronici IIII

Algebra Algebra Algebra Algebra didididi BooleBooleBooleBooleRetiRetiRetiReti logichelogichelogichelogiche

Anno Accademico 2007/2008

Francesco Tortorella

Università degli Studi

di Cassino

Page 2: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 1/19

Le reti logiche

• Tutte le informazioni trattate finora sono codificate tramite stringhe di bit

• Le elaborazioni da compiere su tali informazioni consistono nel costruire, a partire da determinate configurazioni di bit, altre configurazioni che, nella codifica prefissata, rappresentano i risultati richiesti

• I circuiti elettronici che realizzano tali operazioni sono detti circuiti di commutazione (switchingcircuits) o reti logiche

Page 3: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 2/19

Progetto di reti logiche

• Il progetto delle reti logiche si svolge in primo luogo tenendo conto delle funzionalità del circuito, indipendentemente dalla realizzazione fisica (progetto logico)

• Ciò consente:– di prescindere dai particolari realizzativi– di risolvere a livello logico eventuali problemi

implementativi

• Strumento fondamentale: l’algebra di Boole

Page 4: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 3/19

L’algebra di Boole

• Consente di descrivere in forma algebrica le funzioni dei circuiti

• Fornisce dei metodi per l’analisi e la sintesi (a livello logico) dei circuiti

• Tramite l’algebra di Boole si stabilisce una corrispondenza biunivoca tra– operazioni dell’algebra e componenti elementari– espressioni algebriche e circuiti

Page 5: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 4/19

L’algebra di Boole

• Nel progetto delle reti logiche si impiega un sistema algebrico in cui ogni variabile può assumere solo uno tra due valori: 0 e 1

• Sulle variabili si applicano le operazioni:– prodotto logico (*) o AND– somma logica (+) o OR– negazione (!) o NOT

Operazioni binarie

Operazioni unaria

Page 6: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 5/19

1+1=11*1=1

1+0=11*0=0

!1=00+1=10*1=0

!0=10+0=00*0=0

NOTORAND

Page 7: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 6/19

Proprietà dell’algebra di Boole

• Commutativa: a+b=b+a a*b=b*a• Associativa: (a+b)+c=a+(b+c) (a*b)*c=a*(b*c)• Idempotenza: (a+a)=a (a*a)=a• Assorbimento: a+(a*b)=a a*(a+b)=a• Distributiva: a*(b+c)=a*b+a*c a+(b*c)=(a+b)*(a+c)• Min e max: a*0=0 a+1=1• Elem.to neutro: a+0=a a*1=a• Complemento: a*(!a)=0 a+(!a)=1• De Morgan: !(a+b)=!a*!b !(a*b)=!a+!b

Page 8: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 7/19

Funzioni logiche

• Una variabile può essere definita come funzione di altre variabili:w=f(x,y,z)

• Si dicono funzioni logiche elementari le funzioni:

z=x*y (funzione AND)z=x+y (funzione OR)

y=!x (funzione NOT)• Quante sono le possibili funzioni in 2 variabili ?

Page 9: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 8/19

101010101010101011

110011001100110001

111100001111000010

111111110000000000

f(x,y)yx

AND XOR OR EQU

Page 10: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 9/19

Funzioni ed espressioni

Una funzione logica può essere definita, oltre che in forma tabellare(tabella di verità), tramite espressioni algebriche

Esempio:f = x+y*!z+!y*zf = x*!z+x*y+y*!z+!y*z

1111

1011

1101

1001

0110

1010

1100

0000

fzyx

Espressioni equivalenti

Come passare dall’una all’altra ?

Page 11: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 10/19

Letterali, mintermini, maxtermini

Letterale: variabile affermata o negataTermine: prodotto o somma di letteraliMintermine: prodotto di letterali di tutte le variabili di una certa funzioneMaxtermine: somma di letterali di tutte le variabili di una certa funzione

EsempioMintermine: x!yzMaxtermine: !x+y+z 1111

1011

1101

1001

0110

1010

1100

0000

fzyx

Page 12: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 11/19

Forme canoniche

Una funzione definita tramite tabella di verità può essere espressa algebricamente in due diverse forme canoniche:Somma di minterminif = !x!yz+!xy!z+x!y!z+x!yz+xy!z+xyz

Prodotto di maxterminif =(x+y+z)(x+!y+!z) 1111

1011

1101

1001

0110

1010

1100

0000

fzyx

Page 13: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 12/19

Esiste una equivalenza tra le funzioni logiche e le porte elementari delle reti logiche (Shannon)

z=x*y

z=x+y

y=!x

Equivalenza con i circuiti logici

xy

xy

x

z

z

y

Page 14: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 13/19

Equivalenza con i circuiti logici

L’equivalenza si estende alle espressioni ed ai circuiti

111

001

010

100

zyx

x

yz

z = xy+!x!y

Page 15: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 14/19

Minimizzazione delle funzioni logiche

• Ad una funzione descritta tramite tabella di veritàpossono essere associate più espressioni algebriche. Quale scegliere ?

• Vista l’equivalenza con i circuiti, conviene scegliere l’espressione corrispondente al circuito a minimo costo (� minimizzazione)

• Il costo può esprimersi in base a:– numero di porte– numero di ingressi– eterogeneità delle porte

Page 16: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 15/19

Minimizzazione delle funzioni logiche

• I metodi per la minimizzazione si basano sulle proprietàdell’algebra di Boole.Esempio:

f = !x!yz+!xy!z+x!y!z+x!yz+xy!z+xyz

x!y!z+x!yz = x!y(!z+z) = x!yxy!z+xyz = xy(!z+z) = xyx!yz+xyz = xz(!y+y) = xzx!y!z+xy!z = x!z(!y+y) = x!z!x!yz+x!yz = !yz(!x+x) = !yz!xy!z+xy!z = y!z(!x+x) = y!z

x!y+xy = x(!y+y) = x

xz+x!z = x(z+!z) = x

Forma minima: f = x+!yz+y!z

Page 17: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 16/19

1111

1110

10110100

Le mappe di Karnaugh

1111

1011

1101

1001

0110

1010

1100

0000

fzyx

xyz

• Due mintermini si dicono adiacenti se differiscono in un solo letterale.

• Le mappe di Karnaugh sono una rappresentazione grafica che evidenzia l’adiacenza tra mintermini

xy!z x!y!z

x!z

x!yz

xz

!xy!z

x

xyz

y!z

!yz

!x!yz Forma minima: f = x+!yz+y!z

Page 18: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 17/19

Si verificano quando ci sono combinazioni delle variabili di ingresso che non sono possibili o, in corrispondenza delle quali, il valore di uscita non è influente.

x = “don’t care”

Ai fini del progetto, i valori don’t care possono essere specificati in modo da minimizzare l’espressione della funzione

Funzioni non completamente specificate

0111

x011

x101

1001

x110

1010

1100

1000

fzyx

xx11

1x110

10110100xyz

Page 19: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 18/19

Funzioni non completamente specificate

xx11

1x110

10110100xyz

xx11

1x110

10110100xyz

f = !x+!y

f = !y+!z

Le soluzioni ottenibili sono diverse. La scelta va fatta sulla base delle specifiche del progetto e sulla convenienza complessiva

Page 20: Lezione 9 - Algebra di Boolewebuser.unicas.it/tortorella/CalcEl1_0708/PDF/Lezione 9 - Algebra di... · L’algebra di Boole • Consente di descrivere in forma algebrica le funzioni

F. Tortorella © 2008

Università degli Studi

di Cassino

Calcolatori Elettronici ILezione 9 - 19/19

Fasi del progetto di una rete logica

1. Definizione delle specifiche• Identificazione delle variabili in ingresso e in uscita

2. Definizione della tabella di verità della funzione

3. Minimizzazione 4. Definizione del circuito