La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

© 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 1 Marco Mezzlama, Elio Piccolo Capire linformatica Algebra di Boole e Circuiti Logici.

Presentazioni simili


Presentazione sul tema: "© 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 1 Marco Mezzlama, Elio Piccolo Capire linformatica Algebra di Boole e Circuiti Logici."— Transcript della presentazione:

1 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 1 Marco Mezzlama, Elio Piccolo Capire linformatica Algebra di Boole e Circuiti Logici

2 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 2 Marco Mezzlama, Elio Piccolo Capire linformatica Perché è importante la logica è alla base del ragionamento umano costituisce il fondamento teorico per trattare i circuiti digitali che sono alla base dei calcolatori è essenziale per la costruzione degli algoritmi e quindi per i linguaggi di programmazione è alla base di linguaggi non procedurali come il Prolog

3 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 3 Marco Mezzlama, Elio Piccolo Capire linformatica LAlgebra di Boole fu ideata nella prima metà del XIX secolo dal matematico inglese George Boole, con lintento di ricondurre al rigore matematico il ragionamento umano fu utilizzata da C. E. Shannon allinizio del XX secolo per descrivere il comportamento dei circuiti a commutazione (relays), in uso nella telefonia, e da qui ai dispositivi digitali È una struttura algebrica, potrebbe essere introdotta in modo formale. Qui verrà proposta in modo intuitivo.

4 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 4 Marco Mezzlama, Elio Piccolo Capire linformatica Le basi dellalgebra booleana Nellalgebra di Boole: Si mettono in corrispondenza le proposizioni, o in generale gli eventi binari, con le variabili logiche (o booleane) Le variabili logiche sono denotate con le lettere dellalfabeto (A,B,…a,b,…) Le variabili logiche possono assumere solo due valori: Vero (T, o anche 1) o Falso (F, o anche 0)

5 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 5 Marco Mezzlama, Elio Piccolo Capire linformatica Le basi dellalgebra booleana (2) Esempi: macchina_parte P (= T, o 1, se la macchina parte, F, o 0, se non parte) semaforo_verde S (= 1 se è verde, 0 altrimenti) interruttore I (= 1 se è chiuso, 0 se aperto) Nota: lassociazione stato valore di verità è arbitraria.

6 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 6 Marco Mezzlama, Elio Piccolo Capire linformatica Le basi dellalgebra booleana (3) Nellalgebra di Boole: si possono mettere in relazione n-ple di variabili indipendenti con una particolare variabile dipendente la variabile dipendente è detta funzione booleana le funzioni booleane possono assumere solo due valori, T o F, ovvero 1 o 0 Esempio y = F(x 1, x 2, … x n ).

7 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 7 Marco Mezzlama, Elio Piccolo Capire linformatica Tavola di verità Una funzione è descritta in modo esaustivo stabilendo, per ogni combinazione delle variabili di ingresso, se vale 1 oppure 0. Si crea dunque una tabella, detta tavola di verità della funzione. Qui di seguito un esempio di tavola di verità:

8 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 8 Marco Mezzlama, Elio Piccolo Capire linformatica Esempio di tavola di verità

9 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 9 Marco Mezzlama, Elio Piccolo Capire linformatica Esempio applicativo Si può telefonare con il cellulare solo se la batteria è carica, se cè campo e cè credito. Le variabili logiche sono: Variabile dipendente: T: vale 1 (= True) se si può telefonare; Variabili indipendenti: B: vale 1 (= True) se la batteria è carica; C: vale 1 (= True) se cè campo; P: vale 1 (= True) se cè credito.

10 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 10 Marco Mezzlama, Elio Piccolo Capire linformatica Esempio applicativo (2) La tavola di verità della funzione telefonare

11 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 11 Marco Mezzlama, Elio Piccolo Capire linformatica Quante funzioni di n variabili? Il numero di combinazioni delle variabili di ingresso è 2 n. Infatti la prima variabile può assumere 2 valori, per ciascuno di essi la seconda variabile può assumere 2 valori, e così via, per un totale di 2 2 2… 2 = 2 n. Quante funzioni si possono costruire con n variabili?

12 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 12 Marco Mezzlama, Elio Piccolo Capire linformatica Quante funzioni di n variabili? (2) n varabili k combinazioni m funzioni Numero variabili: n Numero combinazioni: k = 2 n = 2^n Numero funzioni: m = 2^k = 2^(2^n) Esempio: se n = 4, k = 2^4 = 16 e m = 2^16 =

13 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 13 Marco Mezzlama, Elio Piccolo Capire linformatica Operatori logici: lAND Operatore AND –esprime il concetto di e insieme –indicato nei seguenti modi: A AND B, A B oppure A B –opera secondo la seguente tavola di verità:

14 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 14 Marco Mezzlama, Elio Piccolo Capire linformatica AND (2) –esempio: mi_compro_il_gelato se fa_caldo AND ho_i_soldi. –viene anche detto prodotto logico, per analogia con operatore matematico. –Il simbolo circuitale dellAND:

15 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 15 Marco Mezzlama, Elio Piccolo Capire linformatica AND (3) analogo elettrico delloperatore AND: due interruttori in serie.

16 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 16 Marco Mezzlama, Elio Piccolo Capire linformatica OR Loperatore OR –Esprime il concetto di disgiunzione logica (una cosa oppure unaltra oppure entrambe) –indicato nei seguenti modi: A OR B, A + B oppure A B –opera secondo la seguente tavola di verità:

17 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 17 Marco Mezzlama, Elio Piccolo Capire linformatica OR (2) –esempio: esco_con_lombrello se piove OR nevica. –viene anche detto somma logica (ma qui lanalogia con loperatore aritmetico è più lasca) –Il simbolo circuitale dellOR:

18 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 18 Marco Mezzlama, Elio Piccolo Capire linformatica OR (3) analogo elettrico in un circuito dellOR: due interruttori in parallelo

19 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 19 Marco Mezzlama, Elio Piccolo Capire linformatica NOT Operatore NOT: –ha il significato di negazione logica –indicato nei seguenti modi: NOT A, oppure A. –Opera secondo la seguente tavola di verità:

20 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 20 Marco Mezzlama, Elio Piccolo Capire linformatica NOT (2) –Esempio: è_sereno se nuvoloso. –Il simbolo circuitale del NOT:

21 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 21 Marco Mezzlama, Elio Piccolo Capire linformatica NOT (3) –analogo elettrico delloperatore NOT: Nota: per realizzare la funzione di NOT occorre un dispositivo attivo è realizzato di solito con un semplice transistor.

22 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 22 Marco Mezzlama, Elio Piccolo Capire linformatica Altri operatori notevoli sono derivabili dagli operatori elementari sono di uso frequente o sono concettualmente rilevanti

23 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 23 Marco Mezzlama, Elio Piccolo Capire linformatica EX-OR Loperatore EX-OR (OR esclusivo): –Indicato nei seguenti modi: A EX-OR B, oppure A B –opera secondo la seguente tavola di verità:

24 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 24 Marco Mezzlama, Elio Piccolo Capire linformatica EX-OR (2) –A B è equivalente allespressione –Il simbolo circuitale dellEX-OR:

25 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 25 Marco Mezzlama, Elio Piccolo Capire linformatica EX-OR (3) Alcune interpretazioni dellEX-OR (facendo riferimento alla tavola di verità): –indica diversità (vale 1 se e solo se A e B sono diversi) –corrisponde alla somma-modulo-2 (in cui si tiene conto solo del risultato e non del riporto) –condizionamento: sia B è il segnale condizionante. Quando B=0, luscita dellEX-OR corrisponde al segnale A. Quando B=1, luscita corrisponde al segnale A invertito (invertitore pilotato).

26 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 26 Marco Mezzlama, Elio Piccolo Capire linformatica Implicazione logica Loperatore di implicazione logica –modella il costrutto logico Se A allora B –indicato come A B (cioè A implica B) –opera secondo la seguente tavola di verità:

27 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 27 Marco Mezzlama, Elio Piccolo Capire linformatica Implicazione logica (2) –vale la seguente equivalenza: (la formula equivalente permette le manipolazioni algebriche) –si noti che se la premessa è Falsa (A = 0), la formula resta Vera indipendentemente da B –esempio: Se triangolo_rettangolo allora un_angolo_novanta_gradi –è il fondamento del ragionamento deduttivo

28 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 28 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni logiche Combinazione di variabili e operatori logici possono essere valutate per ogni combinazione delle variabili presenti e possono assumere il valore 0 o 1 anche le espressioni si rappresentano mediante la tavola di verità. Nota: –Spesso loperatore di prodotto logico viene omesso: T = ab + c –vale la priorità degli operatori (nellordine, NOT, poi AND e infine OR)

29 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 29 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni equivalenti E 1 ed E 2 sono equivalenti se per tutte le combinazioni delle variabili indipendenti per cui E 1 = 1 anche E 2 = 1 e per tutte le combinazioni delle variabili indipendenti per cui E 1 = 0 anche E 2 = 0

30 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 30 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni equivalenti (2) Esempio di equazioni equivalenti:

31 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 31 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni equivalenti (3)

32 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 32 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni complementari E 1 ed E 2 sono complementari se: –per tutte le combinazioni delle variabili indipendenti per cui E 1 = 1 risulta E 2 = 0 e –per tutte le combinazioni delle variabili indipendenti per cui E 1 = 0 risulta E 2 = 1 Nota: se due espressioni sono complementari: E 1 = E 2

33 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 33 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni complementari (2) Esempio di funzioni complementari:

34 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 34 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni complementari (3)

35 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 35 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni duali E 2 è duale di E 1 se può essere ottenuta da E 1 : sostituendo l'operatore OR con l'operatore AND e viceversa (tenendo conto delle precedenze degli operatori in E 1 !!); sostituendo il valore 0 con il valore 1 e viceversa. Regola di complementazione: l'espressione complementare di E 1 può essere ottenuta dalla sua duale E 2 complementando tutte le variabili in E 2 (teorema di De Morgan).

36 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 36 Marco Mezzlama, Elio Piccolo Capire linformatica Espressioni duale e complementare F(a,b,c) = a (b + c) Fd = a + (b c) F = a + (b c) abcFFdF

37 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 37 Marco Mezzlama, Elio Piccolo Capire linformatica Teoremi dellalgebra di Boole si possono dimostrare per induzione completa: è sufficiente fare la tavola di verità. vale inoltre una proprietà legata alla dualità: è stato dimostrato che se vale un teorema, vale anche il teorema duale, senza che di debba ripetere la dimostrazione. ecco le proprietà e i teoremi più importanti:

38 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 38 Marco Mezzlama, Elio Piccolo Capire linformatica Teoremi dellalgebra di Boole (2)

39 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 39 Marco Mezzlama, Elio Piccolo Capire linformatica Teoremi dellalgebra di Boole (3)

40 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 40 Marco Mezzlama, Elio Piccolo Capire linformatica Teoremi dellalgebra di Boole (4)

41 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 41 Marco Mezzlama, Elio Piccolo Capire linformatica Teoremi dellalgebra di Boole (5)

42 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 42 Marco Mezzlama, Elio Piccolo Capire linformatica Teoremi dellalgebra di Boole (6) Da notare che nellalgebra di Boole la proprietà distributiva vale sia per il prodotto (logico) che per la somma (logica).

43 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 43 Marco Mezzlama, Elio Piccolo Capire linformatica Dalle funzioni alle espressioni logiche Una funzione logica si rappresenta mediante la sua tavola di verità Esempio: un comitato di tre persone A, B e C prende le decisioni a maggioranza. Si vuole la funzione che esprima che una mozione è approvata (passa, P). Con le stesse lettere A, B e C si indicano le variabili logiche che assumono il valore 1 se la corrispondente persona ha dato voto favorevole, 0 altrimenti.

44 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 44 Marco Mezzlama, Elio Piccolo Capire linformatica Dalle funzioni alle espressioni logiche (2) Tavola di verità della funzione approvazione a maggioranza:

45 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 45 Marco Mezzlama, Elio Piccolo Capire linformatica Dalle funzioni alle espressioni logiche (3) È possibile rappresentare questa funzione mediante una espressione? Si ricorre al concetto di equivalenza: una funzione può essere rappresentata mediante una espressione che abbia la stessa tavola di verità. Una delle possibili espressioni si ricava seguendo il seguente algoritmo: –si individuano le combinazioni per le quali la funzione vale 1; –ogni combinazione fornisce un termine, formato dalla congiunzione (operatore AND) di tutte le variabili, affermate se le variabili in quella combinazione assumono il valore 1, negate se assumono il valore 0; –lespressione è la disgiunzione (operatore OR) di tutti i termini

46 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 46 Marco Mezzlama, Elio Piccolo Capire linformatica Dalle funzioni alle espressioni logiche (4) Espressione equivalente del tipo somma di prodotti (min term): Applicando i teoremi di base (quello della fusione diretta), si ottiene la forma minima:

47 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 47 Marco Mezzlama, Elio Piccolo Capire linformatica Esempio applicativo:lanalisi di un circuito Dato il circuito in figura, desumerne il funzionamento.

48 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 48 Marco Mezzlama, Elio Piccolo Capire linformatica Lanalisi di un circuito (2) Siano A, B e C le variabili logiche associate agli interruttori (= 1 se chiuso, 0 altrimenti). Sia L la variabile associata alla lampadina (= 1 se accesa, 0 spenta). La tavola di verità si realizza controllando se, per ogni combinazione delle variabili indipendenti, la luce è accesa o spenta.

49 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 49 Marco Mezzlama, Elio Piccolo Capire linformatica Lanalisi di un circuito (3) Considerando le combinazioni per cui L = 1, si ottiene:

50 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 50 Marco Mezzlama, Elio Piccolo Capire linformatica Lanalisi di un circuito (4) Applicando i teoremi (proprietà distributiva e X+X=X), si minimizza lespressione: la luce si accende solo se è chiuso linterruttore C e insieme uno dei due interruttori A o B.

51 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 51 Marco Mezzlama, Elio Piccolo Capire linformatica Sintesi di un circuito Problema: in una stanza lilluminazione è comandata da due deviatori A e B, situati in punti diversi. Allinizio la luce è spenta e i due deviatori si trovano in una posizione che chiamiamo X. Se uno dei due deviatori, diciamo A, viene spostato nella posizione Y, vogliamo che la luce si accenda. Se anche laltro deviatore viene spostato in posizione Y, vogliamo che la luce si spenga.

52 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 52 Marco Mezzlama, Elio Piccolo Capire linformatica Sintesi di un circuito (2) Siano A e B le variabili logiche associate ai deviatori. A ciascuna posizione assunta da un deviatore associamo un valore logico: ad esempio associamo 0 alla posizione X, 1 alla posizione Y. Sia L la variabile associata alla luce (= 0 se spenta, 1 se accesa). La tavola di verità della funzione L è la seguente:

53 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 53 Marco Mezzlama, Elio Piccolo Capire linformatica Sintesi di un circuito (3) Considerando le combinazioni per cui L = 1, si ha lespressione:

54 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 54 Marco Mezzlama, Elio Piccolo Capire linformatica Sintesi di un circuito (4) Ricordando che lAND si ottiene con una connessione serie e lOR con una connessione parallela, si ottiene il circuito:

55 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 55 Marco Mezzlama, Elio Piccolo Capire linformatica Esempio: il full-adder La somma S di 2 numeri binari A e B di n bit può essere ricondotta a n somme elementari di 3 bit tenendo conto che: a k, b k sono i bit di peso k di A e B s k è il k-esimo bit di S r k è il riporto generato dalla somma dei bit di peso k-1, k-2,... 0 di A e B. r -1 = 0

56 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 56 Marco Mezzlama, Elio Piccolo Capire linformatica Full-adder: tabelle di verità Si possono ricavare le tabelle di verità di s k e r k in funzione di a k, b k e r k akak bkbk r k-1 sksk rkrk

57 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 57 Marco Mezzlama, Elio Piccolo Capire linformatica Full-adder: espessioni booleane akak bkbk r k-1 sksk rkrk a k b k r k-1

58 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 58 Marco Mezzlama, Elio Piccolo Capire linformatica Full adder: semplificazione delle espressioni Le espressioni di s k e r k sono date da:

59 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 59 Marco Mezzlama, Elio Piccolo Capire linformatica Full adder: schema circuitale Le funzioni che forniscono s k ed r k possono essere realizzate in un unico circuito elettronico (full adder):

60 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 60 Marco Mezzlama, Elio Piccolo Capire linformatica Sommatore a n bit Il full-adder può essere usato come circuito base per un sommatore a n bit: anan bnbn r n-1 a0a0 b0b0 0 a n-1 b n-1 r n- 2 r0r0 r n- 1 rnrn s0s0 s n-1 snsn carry

61 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 61 Marco Mezzlama, Elio Piccolo Capire linformatica Esercizio Problema: Si considerino due valori A = a 1 a 0 e B = b 1 b 0 espressi in complemento a 2 su 2 bit. Scrivere lespressione di una funzione booleana F che è vera se e solo se A = -B Soluzione: conviene considerare i bit che costituiscono A e B come variabili indipendenti e scrivere la funzione come F (a 0,a 1,b 0,b 1 ).

62 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 62 Marco Mezzlama, Elio Piccolo Capire linformatica Esercizio (2)

63 © 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 63 Marco Mezzlama, Elio Piccolo Capire linformatica Esercizio (3)


Scaricare ppt "© 2010 Marco Mezzalama, Elio Piccolo, Capire linformatica 1 Marco Mezzlama, Elio Piccolo Capire linformatica Algebra di Boole e Circuiti Logici."

Presentazioni simili


Annunci Google