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 AABB 0 1 0 0 _ A B 0 1 0 0 1 1 1 0 AABB 0 0 1 0 A B f 0 0 0 0 1 1 1 0 1 1 1 0 ( A B) (A B) AABB 0 1 0 0 Informatica - Ingegneria Medica -2012 - Franco Del Bolgia AABB 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 X1=X X+1 = 1 X0=0 X+X = X XX=X X X 1 X = X 0 XX 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 XY=YX 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 AB A B 0 0 0 0 1 1 1 Informatica - Ingegneria Medica -2012 - Franco Del Bolgia XX 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 AB AB AND AB A X Y X Y X Y X Y B Informatica - Ingegneria Medica -2012 - Franco Del Bolgia AB AB 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 j1 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 j1 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