Prof. G. Ascia Algebra di commutazione Calcolatori Elettronici 1 Algebra booleana Prof. G. Ascia Operazione: una operazione op sull'insieme S={s1,s2,...} è una funzione op : SxS→S che da SxS (S cartesiano S) porta in S. Calcolatori Elettronici 2 Operazione: esempi Prof. G. Ascia L’operazione * di moltiplicazione sull’intervallo [0,1] consente di ottenere un valore incluso in [0,1] a partire da elementi inclusi in [0,1] La somma + sull’intervallo [0,1] non è un’operazione Es. : 0,5+0,6 non appartiene all’intervallo [0,1] La sottrazione - sull’insieme dei naturali non è una operazione. Es : 5-10 non appartiene ai naturali Calcolatori Elettronici 3 Algebra booleana Prof. G. Ascia E’ una quintupla <B, op1, op2, a, b> – B: Insieme in cui vengono eseguite le operazioni – op1, op2: Operazioni a due elementi che agiscono sugli elementi di B – a, b: Elementi neutri di B per le operazioni op1 e op2 Tra le possibili algebre Booleane quella a 2 valori è detta Algebra di Commutazione Calcolatori Elettronici 4 Algebra di commutazione Prof. G. Ascia • B: {0, 1} • op1: AND – Vale 1 solamente se applicata a due valori uguali a 1 altrimenti vale 0 • op2: OR – Vale 0 solamente se applicata a due valori uguali a 0 altrimenti vale 1 • a, b: 1, 0 • Dalla presenza di due soli valori in B è direttamente derivabile la seguente operazione a un valore: – NOT: vale 1 se applicata al valore 0 e 0 se è applicata al valore 1 : Calcolatori Elettronici 5 Descrizione delle funzioni Prof. G. Ascia Una generica funzione dell’algebra di commutazione può essere descritta in 3 modi: – f(Bn) → Bm – fi(Bn) → B, i = 1,2,…,m – Tabella della verità Esempi – AND: B × B → B – OR: B × B → B – NOT: B → B Calcolatori Elettronici 6 Algebra di commutazione Prof. G. Ascia x 0 0 1 1 AND y 0 1 0 1 z 0 0 0 1 Calcolatori Elettronici OR x y 0 0 0 1 1 0 1 1 z 0 1 1 1 NOT x z 0 1 1 0 7 Simbologia Prof. G. Ascia Utilizzando le tre operazioni elementari si possono scrivere delle espressioni tra variabili di commutazione che descrivono in forma compatta il comportamento delle funzioni Simbologia – z = AND(x, y) → z = x • y → z = xy – z = OR(x, y) → z=x+y – z = NOT(x) → z = x’ Calcolatori Elettronici 8 Proprietà dell’algebra di commutazione Prof. G. Ascia 1) Elemento neutro x+1=1 x+0=x 2) Idempotenza x+x=x x*0=0 x*1=x x*x=x 3) Complementazione x+x’=1 x*x’=0 Calcolatori Elettronici 9 Proprietà dell’algebra di commutazione Prof. G. Ascia 4) Commutatività x+y=y+x x*y=y*x 5) Associatività (x+y)+z=x+(y+z) (x*y)*z=x*(y*z) 6) Assorbimento x+xy=x x*(x+y)=x Calcolatori Elettronici 10 Proprietà dell’algebra di commutazione Prof. G. Ascia 7) Distribuitività x+y*z= (x+y)*(x+z) x*(y+z)=x*y+x*z 8) Involuzione (x’)’=x 9) Dualità (De Morgan) (x1+x2+….+xn)’ = x’1* x’2 *….*x’n (x1* x2*….* xn)’ = x’1+x’2+….+x’n Calcolatori Elettronici 11 Teorema di Shannon Prof. G. Ascia Data una funzione Booleana f(Bn)=B è sempre vero che: – f(x1,x2,…,xn) = x1f(1,x2,…,xn) + x1’f(0,x2,…,xn) – f(x1,x2,…,xn) = (x1+f(0,x2,…,xn)) • (x1’+f(1,x2,…,xn)) Calcolatori Elettronici 12 Algebra di Commutazione Prof. G. Ascia Una funzione f è detta completamente specificata se il suo valore è specificato in corrispondenza di tutto il dominio. Se il valore della funzione non è specificato in corrispondenza di alcune assegnazioni, la funzione è detta non completamente specificata. Tali assegnazioni individuano delle condizioni di indifferenza e il valore di f in corrispondenza di esse è denotato con il simbolo “-”. Per tali configurazioni la funzione può assumere indifferentemente il valore 0 od il valore 1. Calcolatori Elettronici 13 Algebra di Commutazione Prof. G. Ascia Funzione non completamente specificata x 0 0 0 0 1 1 1 1 Calcolatori Elettronici y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 1 0 0 0 1 1 0 0 1 1 0 1 1 - 14 Operatori funzionalmente completi Prof. G. Ascia La terna di operatori AND, OR e NOT sono funzionalmente completi ovvero permettono di rappresentare qualsiasi funzione di commutazione. La coppia (AND, NOT) è funzionalmente completa. -Dimostrazione: NOT(OR(x,y)) = AND(NOT(x),NOT(y)) OR(x,y) = NOT(AND(NOT(x),NOT(y))) La coppia (OR, NOT) è funzionalmente completa. -Dimostrazione: NOT(AND(x,y)) = OR(NOT(x), NOT(y)) AND(x,y) = NOT(OR(NOT(x), NOT(y))) Calcolatori Elettronici 15 Operatori funzionalmente completi Prof. G. Ascia Esistono altri due operatori che sono funzionalmente completi: – NAND: – NOR: NAND (x,y) = NOT (AND (x,y)) NOR (x,y) = NOT (OR (x,y)) Dimostrazione: A partire dal NAND possiamo ottenere la coppia (AND,NOT): • NOT(x) =NAND(x,x); • AND(x,y) = NOT(NAND(x,y)) A partire dal NOR possiamo ottenere la coppia (OR,NOT): • NOT(x) =NOR(x,x); • OR(x,y) = NOT(NOR(x,y)) Calcolatori Elettronici 16 Espressioni booleane Prof. G. Ascia • Si definisce espressione booleana una combinazione di variabili booleane e costanti (0,1) attuata mediante gli operatori +, *, ‘. Es. e=x*y+x+z’+y*w • Si definisce letterale ogni presenza in forma diretta o negata di una variabile in una espressione e numero di letterali il loro numero. letterale • Es. e4=x*y’+y*z L’espressione e4 ha 4 letterali Calcolatori Elettronici 17 Espressioni booleane: numero di livelli Prof. G. Ascia • Si definisce numero di livelli di una espressione il massimo tra i numeri di operazioni che agiscono in cascata sui letterali. e = x*y+x+z’+y*w x y è un’espressione a due livelli con 6 letterali x z’ y w * * + è un’espressione a tre livelli con 5 letterali z x w * e = (x+y)*z+x*w x y + * + Calcolatori Elettronici 18 Espressioni booleane Prof. G. Ascia • Una espressione e può essere utilizzata per rappresentare quella funzione booleana f che assume – valore 1 in corrispondenza delle assegnazioni per le quali e=1 – valore 0 in corrispondenza delle assegnazioni per le quali e=0. • Due espressioni e1, e2 nelle stesse variabili sono equivalenti se e1=e2 per tutte le assegnazioni delle variabili. Es. Le espressioni e1=xy’+xy’z+xz sono equivalenti. e2=xy’+xz • Data una funzione f, esiste un numero infinito di espressioni che la possono rappresentare. Calcolatori Elettronici 19 Porte Logiche Prof. G. Ascia • L’algebra di commutazione può essere utilizzata per descrivere sistemi caratterizzati da grandezze fisiche che possono assumere 2 soli livelli logici. • Sono stati individuati sistemi molto semplici che realizzano le operazioni OR, AND, NOT, NAND, NOR a cui viene dato il nome di porte logiche NOT Calcolatori Elettronici AND OR NAND NOR 20 Porte Logiche Prof. G. Ascia • Utilizzando le porte, si può far corrispondere ad una espressione booleana un insieme interconnesso di porte, detto rete logica • F=(ab+a’c’)(d+e) b a a’ c’ ab a’c’ f d e Calcolatori Elettronici ab+a’c’ d+e 21 Termine prodotto Prof. G. Ascia • Per una funzione di n variabili f(x1,..,xn) si definisce prodotto fondamentale o prodotto minimo (minterm) il prodotto (AND) tra tutte le n variabili presenti in modo diretto o negato. Esempio: ab’c’, abc’, a’b’c, a’bc’ rappresentano minterm di una funzioni a tre variabili f(a,b,c). • Se un minterm assume valore 1 anche la funzione f assume il valore 1. • Per una configurazione delle n variabile un solo minterm assume valore 1. MinT1=ab’c’ assume il valore 1 solo per a=1, b=0, c=0; MinT2=abc’ assume il valore 1 solo per a=1, b=1, c=0. Calcolatori Elettronici 22 Termine prodotto Prof. G. Ascia • I mintermini di una funzione vengono spesso identificati con il numero in base 10 corrispondente al valore binario del mintermine. (Es., m1=a’b’c, m4= ab’c’) • On-set: Insieme dei mintermini Calcolatori Elettronici 23 Implicante Prof. G. Ascia • Un implicante di una funzione di n variabili f(x1,..,xn) è il prodotto (AND) P tra m letterali (con m<n) tale che ogni volta che P=1 anche f=1. Esempi Data la funzione a tre variabili f3v(a,b,c) con minterm: ab’c’, abc’, a’b’c, ab’c ac’ e b’c sono implicanti della funzione f3v. Data la funzione a quattro variabili f4v(a,b,c,d) con minterm: ab’c’d, abc’d, a’b’cd, a’b’cd’ ac’d e ab’c sono implicanti della funzione f4v. Calcolatori Elettronici 24 Termine somma Prof. G. Ascia • Per una funzione di n variabili f(x1,..,xn) si definisce somma fondamentale o somma massima (maxterm) la somma (OR) tra tutte le n variabili presenti in modo diretto o negato. Esempio: a+b’+c e a+b+c rappresentano due maxterm di una funzioni di tre variabili booleane. • Se un maxterm assume valore 0 anche la funzione f assume il valore 0. • Per una configurazione delle n variabile un solo maxterm assume valore 0. MaxT1= a+b’+c assume il valore 0 solo per a=0, b=1, c=0; MaxT2= a+b+c assume il valore 0 solo per a=0, b=0, c=0. Calcolatori Elettronici 25 Termine somma Prof. G. Ascia • I maxtermini di una funzione vengono spesso identificati con il numero in base 10 corrispondente al valore binario del maxtermine. (Es., M6=a’+b’+c, M3= a+b’+c’) • Off-set: Insieme dei maxtermini Calcolatori Elettronici 26 Implicato Prof. G. Ascia • Un implicato di una funzione di n variabili f(x1,..,xn) è la somma (OR) S tra m letterali (con m<n) tale che ogni volta che S=0 anche f=0. Es. Data la funzione f3v(a,b,c) a tre variabili, con i seguenti maxterm: a+b’+c, a+b+c, a+b’+c’ sono presenti i seguenti implicati: a+c e a+b’ Calcolatori Elettronici 27 Forme canoniche Prof. G. Ascia • Si chiama forma canonica SP (Somma di Prodotti) l’espressione di una funzione ottenuta per mezzo della somma (logica) dei minterm individuati dalle assegnazioni in corrispondenza delle quali f assume il valore 1. • Si chiama forma canonica PS (Prodotto di Somme) l’espressione di una funzione ottenuta per mezzo del prodotto (logico) dei maxterm individuati dalle assegnazioni in corrispondenza delle quali f assume il valore 0. • Data una funzione f esiste una sola forma canonica SP e una sola forma PS che la rappresenta. Calcolatori Elettronici 28 Esempio di forma SP Prof. G. Ascia x 0 0 1 1 y f(x,y) 0 0 1 1 = 0 1 1 0 x 0 0 1 1 y P1(x,y) 0 0 1 1 + 0 0 1 0 x 0 0 1 1 P1=x’y f(x,y) = y P2(x,y) 0 0 1 0 0 1 1 0 P2=xy’ x’y + xy’ Si ricorda che nel mintermine una variabile compare nella forma x se nella corrispondente configurazione di ingresso ha valore 1, con x’ se ha valore 0. Calcolatori Elettronici 29 Esempio di forma PS Prof. G. Ascia x 0 0 1 1 y f(x,y) 0 0 1 1 = 0 1 1 0 x 0 0 1 1 y S1(x,y) 0 0 1 1 * 0 1 1 1 S1=(x’y’)’=x+y f(x,y) = (x+y) x 0 0 1 1 y S2(x,y) 0 1 1 1 0 1 1 0 S2=(xy)’=x’+y’ * (x’+y’) Si ricorda che nel maxtermine una variabile compare nella forma x se nella corrispondente configurazione di ingresso ha valore 0, con x’ se ha valore 1. Calcolatori Elettronici 30 Esempio di forma PS x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 Prof. G. Ascia f(x,y,z) = (x+y+z) * (x+y’+z’) * (x’+y’+z) Calcolatori Elettronici 31 Notazione contratta di forma canonica SP Prof. G. Ascia Data una funzione booleana f, se consideriamo i numeri decimali pi corrispondenti alle configurazioni Pi delle variabili in cui è presente un 1, la f può essere rappresentata come sommatoria dei pi. f(x1,x2,..,xn)= Σi(pi) Per la funzione x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 f(x,y,z)= Σ(1,4,5,7) Calcolatori Elettronici 32 Notazione contratta di forma canonica PS Prof. G. Ascia Data una funzione booleana f, se consideriamo i numeri decimali si corrispondenti alle configurazioni Si delle variabili in cui è presente uno 0, la f può essere rappresentata come produttoria dei si. f(x1,x2,..,xn)= Πi(si) Per la funzione x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 f(x,y,z)= Π(0,2,6) Calcolatori Elettronici 33 Notazione contratta per funzioni non completamente specificate Prof. G. Ascia Data una funzione booleana f non completamente specificata, le configurazioni Si relative alle condizioni di indifferenza vengono aggiunte a quelle in cui la funzione è specificata mediante un ulteriore sommatoria o produttoria relativa solo a tali configurazioni. f(x1,x2,..,xn)= Σi(pi)+ dΣ (pi) f(x,y,z)= Σ(1,4,5,7)+dΣ (2,3) f(x1,x2,..,xn)= Πi(si)+ dΠi(si) f(x,y,z)= Π(0,2,6)+d Π(1,3) Calcolatori Elettronici 34