Circuiti digitali Operazioni Logiche: Algebra di Boole • Il calcolatore può essere visto come un insieme di circuiti digitali • Un circuito digitale è un sistema in cui l’informazione viene rappresentata mediante una grandezza fisica della quale si considerano soltanto valori discreti • Alla grandezza fisica vengono fatti corrispondere solamente due valori logici corrispondenti a due livelli di tensione contrassegnati come alto e basso • Questi livelli sono identificati da una coppia di simboli: – 0 1 – Falso Vero – Aperto Chiuso Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Docente: A. Gerevini Porte Logiche Esempio di circuito • Le porte logiche formano la base hardware su cui i circuiti digitali sono costruiti x1 • Sono particolari dispositivi che possono calcolare varie funzioni dei valori 0 e 1 A AB B A A+B A f x2 Ā B AND NOT OR A B AB A A+B B NAND Docente: A. Gerevini 2 Fondamenti di Informatica A – Università di Brescia NOR Fondamenti di Informatica A – Università di Brescia 3 Docente: A. Gerevini Fondamenti di Informatica A – Università di Brescia 4 Reti combinatorie Algebra di Boole • Una rete combinatoria è costituita da • E’ lo strumento matematico usato per lo studio delle reti combinatorie • E’ un particolare tipo di algebra che include: – un gruppo di elementi (di calcolo) attivi: le porte logiche – collegati fra loro da elementi passivi: linee di ingresso, di uscita e di circuito – un insieme di supporto A (l’insieme {0,1} nel ns caso) – degli operatori binari: AND (·) e OR (+) – un operatore complemento: NOT (¯) • Una rete combinatoria è un circuito elettronico in grado di calcolare in modo automatico funzioni binarie di una o più variabili binarie Docente: A. Gerevini Fondamenti di Informatica A – Università di Brescia • Gli operatori soddisfano certe proprietà che si deducono da un insieme di assiomi 5 Docente: A. Gerevini Variabili booleane Fondamenti di Informatica A – Università di Brescia 6 Operatori booleani • Una variabile booleana è una variabile binaria che può assumere uno dei due valori logici denotati con 0 e 1 • Usiamo ad esempio i simboli x, y, z, … per indicare variabili booleane • Può essere x = 1 oppure x = 0 Docente: A. Gerevini Fondamenti di Informatica A – Università di Brescia • Operatori booleani (o logici) fondamentali: NOT AND OR 7 Docente: A. Gerevini Negazione Logica Prodotto Logico Somma Logica not(x), x, ~x x and y, x • y, xy x or y, x + y Fondamenti di Informatica A – Università di Brescia 8 Le 3 funzioni di base: Tabelle di verità x1 x0 x1 • x0 x1 x0 x1 + x0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 AND Docente: A. Gerevini Assiomi dell’Algebra di Boole Forma AND x 0 1 Commutatività AB = BA 1 0 Distributività A+BC=(A+B)(A+C) A(B+C)=AB+AC NOT Docente: A. Gerevini A+B = B+A Identità 1A = A 0+A = A Inverso AĀ = 0 A+Ā = 1 OR Fondamenti di Informatica A – Università di Brescia 9 Proprietà dell’Algebra di Boole Elemento nullo Idempotenza Assorbimento Associatività De Morgan Forma OR x Fondamenti di Informatica A – Università di Brescia 10 Altre proprietà della negazione Forma AND Forma OR 0A = 0 AA = A A(A+B) = A (AB)C=A(BC) AB = A+B 1+A = 1 A+A = A A+AB=A (A+B)+C=A+(B+C) A+B = A B Fondamenti di Informatica A – Università di Brescia Docente: A. Gerevini 11 • 1=1 • 0=0 • 0=1=0=1 Docente: A. Gerevini Fondamenti di Informatica A – Università di Brescia 12 Formule (espressioni) booleane (logiche) Altre funzioni di base x1 x0 x1 • x0 x1 x0 x1 + x0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 NAND Docente: A. Gerevini • • • NOR Fondamenti di Informatica A – Università di Brescia 13 •((x+y)· z) •((x1· x2)+(x3· (x4+x5))) Fondamenti di Informatica A – Università di Brescia 14 • x1x2 + x1x2x3 = x1 (x2+x2x3) Valgono le regole classiche di semplificazione delle parentesi e di priorità degli operatori: ((x1· x2)+(x3· (x4+x5))) ⇒ x1·x2+x3· (x4+x5) … e il simbolo “· ” di solito si omette Fondamenti di Informatica A – Università di Brescia Docente: A. Gerevini Equivalenza fra formule booleane Esempi Esempi di formule booleane Docente: A. Gerevini Le costanti 0 e 1 e le variabili (simboli a cui possono essere associati i valori 0 e 1) sono espressioni booleane Se E, E1 ed E2 sono espressioni booleane lo sono anche (E1+E2), (E1·E2) e (E) Non esistono altre espressioni oltre a quelle che possono essere generate da un numero finito di applicazioni delle regole 1 e 2 15 • x1 + x2 + x2x3 + x2x3 = x1 + x2 + x3(x2+x2) = x1 + x2 + x3 • x1x2 + x1x2x3 + x1x2 = x1x2 + x1x2x3 = x1x2 (1 +x3) = x1x2 Docente: A. Gerevini Fondamenti di Informatica A – Università di Brescia 16 Tabelle di verità e proprietà dell’Algebra di Boole: Esempio Equivalenza fra espressioni booleane Verifica tramite tabella x1 + x2 + x2x3 + x2x3 = x1 + x2 + x3 x3 0 0 0 0 1 1 1 1 x2 0 0 1 1 0 0 1 1 x1 0 1 0 1 0 1 0 1 Docente: A. Gerevini x2 1 1 0 0 1 1 0 0 Assorbimento: x2x3 x2x3 x1+x2+x2x3+x2x3 x1+x2+x3 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 17 Fondamenti di Informatica A – Università di Brescia x 0 0 1 1 Docente: A. Gerevini y 0 1 0 1 xy 0 0 0 1 xy 1 1 1 0 x 1 1 0 0 xy= x+y y 1 0 1 0 Costruire le tabelle di verità delle seguenti espressioni logiche: – x+y 1 1 1 0 – • Fondamenti di Informatica A – Università di Brescia 19 (x + y) + (xy) che è equivalente a scrivere (x OR y) OR NOT(x AND y) ((x + z) + y) + (xz) che è equivalente a scrivere NOT ((x OR z) OR y) OR (x AND z) Usando le tabelle di verità, o gli assiomi e le proprietà dell’algebra di Boole, dimostrare le seguenti equivalenze espressioni booleane: – – Docente: A. Gerevini 18 Esercizi • x 0 0 1 1 x+y x(x+y) 0 0 1 0 1 1 1 1 Fondamenti di Informatica A – Università di Brescia Tabelle di verità e proprietà dell’Algebra di Boole: Esempio Proprietà di De Morgan: y 0 1 0 1 x(x+y) = x Docente: A. Gerevini xyz + xyz + xyz + x = x xy + xy + x y = x + y Fondamenti di Informatica A – Università di Brescia 20