Operazioni logiche - Università degli Studi di Roma "Tor Vergata"

annuncio pubblicitario
Università degli Studi di Roma – Tor Vergata
Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica
Operazioni logiche
L’algebra di Boole
Rev.1.1 of 2012-04-26
Componenti logiche di un elaboratore
Possiamo immaginare il nostro sistema come una scatola nera
dove ci sono milioni di circuiti elettronici equivalenti ad
interruttori
y1=f(i1,i2,i3,…in)
i1
i2
i3
i4
i5
Elaboratore
Sistema
combinatorio
A  b*c
in
y1
y2
y3
y4
y5
ym
Dato che i valori di ingresso possono
solo essere 0 ed 1 le combinazioni di n
ingressi sono
2n che corrispondono
2n
2 funzioni distinte di n variabili
n=2
Cin=4
fout=16
n=3
Cin=8
fout = 256
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
y2=f(i1,i2,i3,…in)
y3=f(1,i2,i3,…in)
.
ym=f(i1,i2,i3,…in)
y  f (i1 , i2 ,....in )
y, i1 , i2 ,....in  0,1
Slide 2 of 35 _
Rete combinatoria
U1
I1
U2
U3
I2
U4
...…
...…
U70
I3
…..
U255
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 3 of 35 _
Algebra do boole
L’algebra di Boole (1815-1864) o algebra della logica
permette di realizzare con circuiti elettronici tutte le
funzioni logico matematiche (regole combinatorie)
necessarie al funzionamento dei calcolatori, questa
algebra è oggi molto utilizzata anche nei motori di
ricerca su Internet e sulle basi di dati.
Per convenzione le variabili sono indicate (A,B,C,D,…Z) e
possono avere solo valori 0 o 1 (Falso o Vero)
Gli operatori che agiscono sui valori booleani ingresso
producono valori booleani di uscita
Leggi che ne definiscono le proprietà distributiva,
commutativa, etc. …..
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 4 of 35 _
Algebra di boole
Operatori logici
AND
OR
funzione moltiplicazione logica) A  B
funzione somma logica)
A+B
NOT
funzione logica di negazione
XOR
funz. logica di esclusività
NAND e NOR e XNOR
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
A
A
B
funzioni negate
Slide 5 of 35 _
Funzioni boolene
Dato che i valori di ingresso possono solo essere 0 ed 1 le
combinazioni di
ingresso possono essere 2n con n numero di ingressi
Le funzioni distinte di n variabili saranno 22n
Le variabili di ingresso sono indicate normalmente con lettera
maiuscola
Es una sola variabile di ingresso 2 possibili stati ingressi 0 o 1
Funzioni di uscita 4 come in tabella
A
0
f0
0
f1
0
f2
1
f3
1
1
0
1
0
1
La funzione f 2 è la funzione
invertente NOT
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 6 of 35 _
Funzioni boolene
Se consideriamo 2 variabili di ingresso la tabella delle funzioni di
uscita diventa …. dove ci sono alcune funzioni particolari
f4  f5 f6
f 2  f 3  f 10
f 4  f 11
f5 B
f3 A
f 1 AND
ingressi
f 11  f 3  f 8
f 8 NOR f 10 B
f 12 A
f 6 XOR f 7 OR f 9 XNOR
f 14 NAND
A B
f0
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
f12 f13
f14
f15
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
Slide 7 of 35 _
Funzione AND – tabelle delle verità
A
A and B
B
A
A
0
0
1
1
B
0
1
0
1
B
A and B
0
0
0
1
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 8 of 35 _
Funzione OR – tabelle delle verità
A
A
A or B
B
B
A
0
0
1
1
B
0
1
0
1
A or B
0
1
1
1
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 9 of 35 _
Funzione XOR – tabelle delle verità
La funzione Exclusive
OR o di esclusività
restituisce vero (1) solo
quando uno solo degli
ingressi e vero
A
A xor B
B
A
0
0
1
1
B
0
1
0
1
A xor B
0
1
1
0
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
La funzione negata può
essere anche vista come
funzione di coincidenza:
È vera solo quando gli
ingressi sono uguali
Slide 10 of 35 _
Funzione NOT
NAND
A
Not A
0
1
1
0
NOR
XNOR
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 11 of 35 _
Esempi di realizzazione
Realizziamo la funzione
la tabella delle verità è
_
f6 XOR
f4
A
B
1
0
1
1
0
0
0
1
f2
AABB
0
1
0
0
_
A
B
0
1
0
0
1
1
1
0
AABB
0
0
1
0
A
B
f
0
0
0
0
1
1
1
0
1
1
1
0
( A  B)  (A  B)
AABB
0
1
0
0
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
AABB
0
0
1
0
f
0
1
1
0
Slide 12 of 35 _
Proprietà delle espressioni booleane
Identità di base
Identità OR
Identità AND
X+0 = X
X1=X
X+1 = 1
X0=0
X+X = X
XX=X
X  X 1
X =
X 0
XX
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 13 of 35 _
Proprietà delle espressioni booleane
Proprietà
Identità OR
Identità AND
Commutativa
X+Y = Y+X
XY=YX
Associativa
X+(Y+Z) = (X+Y)+Z
X (Y  Z)=(X  Y)  Z
Distributiva
X (Y+Z) = X  Y+X  Z
X+(Y  Z) = (X+Y) (X+Z)
De Morgan
X  Y  X Y
(dualità)
De Morgan
X  X Y  X  Y
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
X Y  X  Y
X  ( X  Y)  X  Y
Slide 14 of 35 _
Proprietà espressioni
A B

A B
A
B
A+B
A B
A
B
A B
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
A B

A B  A  B
A B
A
B
A B
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
A
B
AB
A B
0
0
0
0
1
1
1
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
XX
Slide 15 of 35 _
Realizzazione pratica delle porte
NOT
NAND
NOR
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 16 of 35 _
Esempi combinazioni elementari
AB  AB
AND
AB
A
X Y  X  Y
X Y  X Y
B
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
AB  AB
OR
Slide 17 of 35 _
Realizzare una funzione
F  X Y  Z
X
Y
Z
Y
F
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 18 of 35 _
Forme canoniche
Le forme canoniche permettono di rappresentare le funzioni
booleane come :
Somma di prodotti (SofP)
dove m = numero ingressi
n = 2m combinazioni di ingresso
F (A  B)( A  B)(A  B )( A  B )
n
f    zkj
k 1 j 1
n
Prodotti di somme (PofS)
F (A  B)( A  B)(A  B )( A  B )
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
m
m
f    zkj
k 1 j1
Slide 19 of 35 _
Forme canoniche
Consideriamo la funzione di 3 ingressi
A,B,C
F(A,B,C)
Se rappresentata nella prima forma
A
B
C
F
canonica
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
Dove la variabile generica X compare
nella sua forma normale se nella
variabile d’ingresso vale 1
Mentre nella sua forma negata X se
nella variabile d’ingresso vale 0
quello che ci interessa affinché la
funzione sia soddisfatta sono i
cosiddetti mintermini
(valore 1 della funzione)
F  ( A  B  C)  ( A  B  C)  (A  B  C)  ( A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)
X
X
X
X
F  ( A  B  C)  ( A  B  C)  (A  B  C)  (A  B  C)
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 20 of 35 _
Forme canoniche
Teorema:
Ogni funzione booleana è algebrica in quanto
rappresentabile con una equazione algebrica
F  ( A  B  C)  ( A  B  C)  (A  B  C)  (A  B  C)
n
m
f   zkj
k 1 j 1
La funzione è espressa come funzione OR dei
minterm o somma di minterm che sono le
espressioni che devono produrre 1 su F
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 21 of 35 _
Forme canoniche
Consideriamo la funzione di 3 ingressi
A,B,C
F(A,B,C)
Se rappresentata nella seconda forma
A
B
C
F
canonica
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
X
Dove la variabile generica X compare
nella sua forma normale se nella
variabile d’ingresso vale 0
Mentre nella sua forma negata X se
nella variabile d’ingresso vale 1
quello che ci interessa affinché la
funzione sia soddisfatta sono i
cosiddetti maxtermini
(valore 0 della funzione)
X
X
X
F  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)
F  (A  B  C)  (A  B  C)  ( A  B  C)  ( A  B  C)
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 22 of 35 _
Forme canoniche
Teorema:
Ogni funzione booleana è algebrica in quanto
rappresentabile con una equazione algebrica
F  (A  B  C)  (A  B  C)  ( A  B  C)  ( A  B  C)
n
m
f   zkj
k 1 j1
La funzione è espressa come funzione AND dei
maxtermini o prodotto di maxtermini che sono
le espressioni che devono produrre 0 su F
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 23 of 35 _
Esempio funzione 4/5/6
A
B
C
D
Z
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
F  (A  B  C  D)  (A  B  C  D)  (A  B  C  D)
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 24 of 35 _
Half add
A
B
Half
Add
Somma
Riporto
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
A
B
SUM Carry
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
XOR
AND
Slide 25 of 35 _
Full adder
A
B
Somma
Full
Add
Riporto
R
Somma
A
B
R
SUM Carry
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
SUM
R
S xor R
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
La somma con il riporto
non è altro che la XOR
tra la somma ed il
riporto di ingresso
F  ( A  B  C)  ( A  B  C)  (A  B  C)  ( A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)
X
X
X
X
F ( A  B  C)( A  B  C ) (A  B  C ) (A  B  C)
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 26 of 35 _
Full adder
A
B
Full
Add
Somma
Riporto
R
A
B
R
SUM
Rip
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
Riporto
F  ( A  B  C)  ( A  B  C)  (A  B  C)  ( A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)  (A  B  C)
F ( A  B  C)(A  B  C)(A  B  C ) (A  B  C)
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 27 of 35 _
Esempi di full adder
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 28 of 35 _
Addizionatore su 8 bit
Ponendo più unità full adder in cascata si possono ottenere
oggetti che possono operare su blocchi multipli di Byte / Word
consecutivi.
Tempi di latenza affinché si possa avere la propagazione del
riporto fino al bit più significativo
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 29 of 35 _
Esercizio
Realizzare un circuito comparatore a 4 bit tra due dati A e B
A3
B3
A2
B2
A1
B1
A0
B0
F
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 31 of 35 _
Comparatore 2 dati a 4 bit
A0
B0
A1
A
B
XOR
0
0
0
0
1
1
1
0
1
1
1
0
B1
A2
B2
A3
B3
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 32 of 35 _
Tabella delle verità del complementatore
A3
A2
A1
A
C
U
0
0
0
1
0
1
0
1
1
1
1
0
A
A
A0
Compl.
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Slide 35 of 35 _
Sommatore / sottrattore
Provare a realizzare uno schema logico per effettuare un
sommatore o sottrattore binario a 4 bit
A3
A2
A1
A0
Compl.
B3
B2
B1
B0
Compl.
Complementatore A
Complementatore B
Il complementatore permette di
avere disponibile il
complemento per creare il
sottraendo in una sottrazione
Compl.=1
uscita complementata
Carry out
Sommatore / sottrattore a 4 bit A + B
Informatica - Ingegneria Medica -2012 - Franco Del Bolgia
Carry in
Slide 36 of 35 _
Università degli Studi di Roma – Tor Vergata
Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica
Fine Lezione 4
Scarica