Fondamenti di Informatica - Algebra di Boole FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Algebra di Boole © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Fondamenti di Informatica - Algebra di Boole Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione). In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali. © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Fondamenti di Informatica - Algebra di Boole Algebra di Boole costanti operatori variabili assiomi teoremi e proprietà © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3 Fondamenti di Informatica - Algebra di Boole Costanti • Due soli valori, convenzionalmente indicati con 0 e 1 • Talvolta indicati anche con “vero” e “falso” • Detti anche “valori logici”, corrispondono ai valori che possono assumere i bit © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4 Fondamenti di Informatica - Algebra di Boole Operatori • Sono definiti da tabelle che esaustivamente ne descrivono il comportamento (il numero di combinazioni di valori di ingresso è finito) • Le tabelle vengono dette “tabelle della verità” • Spesso si utilizzano anche descrizioni di tipo funzionale © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5 Fondamenti di Informatica - Algebra di Boole Operatori • Si possono utilizzare diverse notazioni: – porte logiche (corrispondono ai dispositivi elettronici che svolgono la funzione dell’operatore) – notazione algebrica (come nell’algebra tradizionale) – tabella della verità – mappa di Karnaugh © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6 Fondamenti di Informatica - Algebra di Boole Mappe di Karnaugh A 0 B ! 1 0 AB ! 1 00 0 1 01 11 10 00 01 AB C 00 CD 01 11 10 11 10 © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7 Fondamenti di Informatica - Algebra di Boole Mappe di Karnaugh • Topologicamente sono dei TORI: © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8 Fondamenti di Informatica - Algebra di Boole Mappe di Karnaugh • Topologicamente sono dei TORI: AB 00 01 11 10 00 0 1 1 1 01 1 0 1 0 CD 11 0 1 1 0 10 0 1 0 0 0 1 0 1 1 1 © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9 Fondamenti di Informatica - Algebra di Boole Operatore AND U = AB U = A•B U = A AND B U=A∧B A 0 B A B U 0 0 1 1 0 1 0 1 0 0 0 1 1 A 0 0 0 1 0 1 U B © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10 Fondamenti di Informatica - Algebra di Boole Operatore AND • Descrizione funzionale (applicabile a porte a N ingressi): A•B vale 0 se almeno un ingresso vale 0 A•B vale 1 se tutti gli ingressi valgono 1 © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11 Fondamenti di Informatica - Algebra di Boole Operatore OR U = A+B U = A OR B U=A∨B A 0 B A B U 0 0 1 1 0 1 0 1 0 1 1 1 1 A 0 0 1 1 1 1 U B © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12 Fondamenti di Informatica - Algebra di Boole Operatore OR • Descrizione funzionale (applicabile a porte a N ingressi): A+B vale 0 se tutti gli ingressi valgono 0 A+B vale 1 se almeno un ingresso vale 1 © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13 Fondamenti di Informatica - Algebra di Boole Operatore NOT (“inverter”) U=A U = NOT A U = A’ U= A A U 0 1 1 0 A 0 1 1 0 A © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) U 14 Fondamenti di Informatica - Algebra di Boole Altri operatori • AND seguito da NOT = NAND • OR seguito da NOT = NOR • OR esclusivo (EXOR) © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 15 Fondamenti di Informatica - Algebra di Boole Operatore NAND U = AB U = A•B U = A NAND B U = (A•B) ecc. A 0 B A B U 0 0 1 1 0 1 0 1 1 1 1 0 1 A 0 0 0 1 0 1 U B © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 16 Fondamenti di Informatica - Algebra di Boole Operatore NOR U = A+B U = A NOR B U = (A+B) ecc. A 0 B A B U 0 0 1 1 0 1 0 1 0 1 1 1 1 A 0 0 1 1 1 1 U B © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 17 Fondamenti di Informatica - Algebra di Boole Operatore EXOR U=A B U = A EXOR B mappa a scacchiera A 0 B A B U 0 0 1 1 0 1 0 1 0 1 1 0 1 A 0 0 1 1 1 0 U B © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 18 Fondamenti di Informatica - Algebra di Boole Operatore EXOR • A B = AB + AB • 3 possibili descrizioni funzionali – complementatore pilotato – comparatore – generatore di parità © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 19 Fondamenti di Informatica - Algebra di Boole Operatore EXOR • Descrizione funzionale come complementatore pilotato: se A = 0 → U = B se A = 1 → U = B A (controllo) U B (dato) © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 20 Fondamenti di Informatica - Algebra di Boole Operatore EXOR • Descrizione funzionale come comparatore: se A = B → U = 0 se A ≠ B → U = 1 A U B © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 21 Fondamenti di Informatica - Algebra di Boole Operatore EXOR • Descrizione funzionale come generatore di parità: AB A1 A2 ... An = 1 se e solo se il numero di ingressi a 1 è dispari C 00 01 11 10 0 0 1 0 1 1 1 0 1 0 bit di parità © 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 22