La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algebra di Boole I fondamenti dellalgebra Booleana sono stati delineati dal matematico inglese George Boole in un lavoro pubblicato nel 1847 riguardante.

Presentazioni simili


Presentazione sul tema: "Algebra di Boole I fondamenti dellalgebra Booleana sono stati delineati dal matematico inglese George Boole in un lavoro pubblicato nel 1847 riguardante."— Transcript della presentazione:

1

2 Algebra di Boole

3 I fondamenti dellalgebra Booleana sono stati delineati dal matematico inglese George Boole in un lavoro pubblicato nel 1847 riguardante lanalisi della logica e in particolare lalgebra della logica. Questa algebra include una serie di operazioni che si effettuano su delle variabili logiche, dette appunto variabili Booleane: quantità che permettono di codificare le informazioni su due soli livelli. Nell'algebra di Boole essendo, a differenza di quella tradizionale, un'algebra binaria, le variabili possono assumere soltanto due stati: 0 / 1; v/f ( vero, falso); l/h (low, high); t/f (true, false); on/off; (acceso/spento) La definizione di ciascuna operazione booleana si può dare sotto forma di tabellina (la tabella di verità) Realizzazione di Reti logiche: circuiti che realizzano una funzione logica

4 Operazioni logiche/booleane : perché sono importanti Sono facili da realizzare utilizzando circuiti elementari È possibile dimostrare che tutte le funzioni hardware interessanti (circuiti elettronici, microprocessori, ecc.) possono essere calcolate utilizzando una opportuna combinazione delle funzioni logiche Esistono procedimenti automatici per realizzare le funzioni disponibili nellhardware Possiamo scrivere programmi che dialogano direttamente con lhardware e manipolare sequenze binarie direttamente Identità con lalgebra usuale Tutte e sole le operazioni definite da Boole sono applicabili alla schematizzazione dei circuiti di commutazione elettronici

5 Boole postulo una tabella di associazione fra variabili logiche con quattro possibili coppie di valori sono associate fra loro tramite una condizione logica, ad esempio AND oppure OR. Abbiamo due possibili valori logici (1/0, vero/falso, on/off…) e quindi quattro possibili coppie : Viene definita una operazione logica AND fra queste coppie dia i seguenti risultati: La scelta dei possibili valori di accoppiamento che qui abbiamo operato e legata al nostro desiderio di implementare un qualche tipo di meccanismo o dispositivo che sia capace di operare in modo automatico su quantitabooleane. Esempio: un circuito elettronico capace di operare su valori binari (che fornisce proprio i valori sopra indicati) e il seguente :

6 + + _ _ Un esempio di implementazione di un circuito logico Consideriamo un circuito composto da due interruttori e da una lampadina: Creiamo un circuito collegando interruttori e lampadina ai poli di un generatore: Creiamo un circuito collegando interruttori e lampadina ai poli di un generatore: Off Se gli interruttori, come in questo caso, sono entrambi Off, il circuito non sara chiuso e la lampadina restera spenta:

7 + + _ _ Off Basta che anche uno solo dei due interruttori sia Off, perche il circuito rimanga interrotto e la lampadina resti spenta Off Basta che anche uno solo dei due interruttori sia Off, perche il circuito rimanga interrotto e la lampadina resti spenta Un esempio di implementazione di un circuito logico

8 + + _ _ Off Basta che anche uno solo dei due interruttori sia Off, perche il circuito rimanga interrotto e la lampadina resti spenta

9 + + _ _ On Se invece mettiamo entrambi gli interruttori sulla posizione On, il circuito verra chiuso e la lampadina si accendera!!

10 Off Switch 1 Switch 2 Lampadina On Off On Off On Possiamo istituire una corrispondenza fra il comportamento di questo circuito e la tabella di verita vista prima.

11

12 Operatori Logici o porte logiche Circuiti logici ( logic gate) per costruire reti logiche A B Z A B Z A B Z=AB AND A B Z A B Z A B Z=A+B OR A Z A Z A Z=A NOT (Inverter) AND produce 1 in output solo se entrambi gli input sono 1, zero altrimenti. AND produce 1 in output solo se entrambi gli input sono 1, zero altrimenti. OR produce 1 in output se anche uno solo dei valori in input e 1 OR produce 1 in output se anche uno solo dei valori in input e 1 NOT e un operatore di inversione, scambia lo zero con 1 e viceversa

13 A B Z A B Z A B Z=AB NAND A B Z A B Z A B Z=A+B NOR A B Z A B Z A B Z=A B Exclusive-OR (XOR) A B Z A B Z A B Z=A B Exclusive-NOR (XNOR) NAND agisce prima come lAND e poi ne complementa loutput. NAND agisce prima come lAND e poi ne complementa loutput. NOR agisce prima come lOR e poi ne complementa loutput. NOR agisce prima come lOR e poi ne complementa loutput. XOR restituisce un 1 se il numero di 1 in ingresso e dispari. XOR restituisce un 1 se il numero di 1 in ingresso e dispari. XNOR agisce prima come lXOR e poi ne inverte loutput. XNOR agisce prima come lXOR e poi ne inverte loutput. Quelli indicati sono solamente i tipi basilari di gate logici, sui quali e poi possibile costruire logiche piu complesse:

14 A B C Z = ABC A B C Z A B C Z Questo gate di tipo AND con tre ingressi si comportera in modo analogo a quello con due ingressi: si avra in output un 1 se e solo se tutti gli ingressi sono posti ad 1. La tabella di verita sara composta da otto combinazioni dei tre ingressi A,B,C Questo gate di tipo AND con tre ingressi si comportera in modo analogo a quello con due ingressi: si avra in output un 1 se e solo se tutti gli ingressi sono posti ad 1. La tabella di verita sara composta da otto combinazioni dei tre ingressi A,B,C Questo esercizio puo essere ampliato a piacere costruendo elementi adatti a risolvere sistemi logici di arbitraria complessita... Questo esercizio puo essere ampliato a piacere costruendo elementi adatti a risolvere sistemi logici di arbitraria complessita...

15 ORANDNOT

16 Proprieta

17

18 Regole di De Morgan

19

20 Funzioni Logiche Data una espressione booleana si può trovare la tabella della verità che la rappresenta. Per determinare il valore dellespressione si può determinare il valore delle sotto espressioni che compongono lespressione iniziale: Esempio: F= ( A AND ( NOT B )) OR C prima NOT B, poi A AND (NOT B) ed infine tutta lespressione (A AND (NOT B)) OR C:

21 Esempio xyzxyx +yx + z(x + y )(x + z )yzu U= (X OR (NOT Y)) AND ((NOT X ) OR Z) OR (Y AND Z) Esempio

22 Reti Logiche e porte logiche nellelettronica digitale Le reti logiche sono strettamente legate allalgebra di boole, sono reti composte da tre tipi di elementi (AND, OR e NOT) collegati tra loro detti porte logiche. Ogni porta logica ha degli ingressi booleani (sulla sinistra) ed una uscita booleana (sulla destra) gli elementi hanno una rappresentazione grafica che è la seguente:

23 Le porte logiche possono essere combinate fra loro, si può quindi codificare in linguaggio binario qualsiasi diagramma di flusso (flow chart) e convertirlo poi in circuito logico. Per esempio, la frase: "se è bel tempo ed è caldo esco; tuttavia, se ho un impegno esco in ogni caso" richiede una porta AND ed una porta OR unite tra loro come in figura.

24 La combinazione di più porte logiche, permette di ottenere risultati più articolati. Per esempio, nella figura sotto è mostrata una porta NOR, costituita dalla combinazione di due porte AND, due porte NOT ed una porta OR. Questa porta permette di selezionare un valore positivo (1) se e solo se uno dei due dati in ingresso è positivo (a differenza della porta OR che fornisce un valore unitario anche se entrambi i dati in ingresso sono positivi). Si possono così costruire circuiti in grado di effettuare operazioni matematiche e se combiniamo tra loro più porte logiche si possono ottenere rapidamente, e senza confusione, decisioni immediate per problemi anche complessi.

25 I circuiti elettronici digitali sono costituiti da transistor. Un transistor permette di far passare o non far passare elettroni. Il passaggio di elettroni è un segnale elettronico binario (1 se passano elettroni, 0 se non passano). La caratteristica che distingue gli interruttori elettronici dai più comuni interruttori elettrici è che essi sono comandati da un segnale elettronico binario e non dall'intervento umano. Questo significa che è possibile usare il segnale elettronico di un transistor per comandare un altro transistor e così ottenere un nuovo segnale elettronico che, a sua volta, può comandare un altro transistor e così via. L'insieme di questi interruttori elettronici che si comandano a vicenda viene detto circuito elettronico. Vi sono infinite possibilità di costruzione di circuiti elettronici, ma essenzialmente sono tutte riconducibili agli elementi fondamentali qui esaminati. Circuiti Elettronici Digitali

26 Le reti logiche elaborano informazione rappresentata da segnali digitali. Sono gli elementi architettonici dei calcolatori. Lalgebra di Boole costituisce il mezzo matematico fondamentale per descrivere il funzionamento di queste reti, che nella maggior parte dei casi elaborano segnali binari. Reti Logiche

27 Un uscita di un elemento può essere collegata ad un ingresso di un altro elemento per realizzare una rete logica. Una rete logica ha un insieme di segnali booleani di ingresso e un insieme di segnali booleani di uscita vediamo un esempio: Questa rete ha due ingressi X e Y ed una uscita F, a questa rete può essere associata una espressione booleana che determina il valore di F in funzione di X e Y, in questo caso si ha: F = ( NOT (X AND Y) ) AND ( (NOT X) OR Y ) I calcolatori elettronici sono realizzati utilizzando milioni di componenti elementari AND/OR/NOT.

28 Funzioni logiche: realizzazione con porte NAND, NOR Le porte NAND, NOR sono molto piu numerose delle AND, OR nei progetti normali in quanto sono piu facili da costruire usando dei transistor Qualsiasi espressione logica puo essere realizzata con porte NAND, NOR, NOT In realta, NOT e inutile (NOT = NAND o NOR con gli ingressi collegati insieme) X01X01 Y01Y01 X NOR Y 1 0 X01X01 Y01Y01 X NAND Y 1 0

29 Logica multi-livello: conversione tra forme Reti NAND-NAND e NOR-NOR Leggi di DeMorgan: (A + B)' = A' B'; (A B)' = A' + B' Scritte diversamente: A + B = (A' B')'; (A B) = (A' + B')' In altre parole: OR e come NAND con ingressi complementati AND e come NOR con ingressi complementati NAND e come OR con ingressi complementati NOR e come AND con ingressi complementati Equivalenza OR/NAND AA BB A A B B A +B A B AA B B A +B A B OR Nand

30 Logica multi-livello: conversione tra forme Equivalenza AND/NOR Si possono convertire reti con AND ed OR in reti con NAND e NOR, introducendo le inversioni opportune (bolle) Per mantenere i livelli logici, ogni inversione deve avere uninversione corrispondente Si possono convertire reti con AND ed OR in reti con NAND e NOR, introducendo le inversioni opportune (bolle) Per mantenere i livelli logici, ogni inversione deve avere uninversione corrispondente AA BB A A B B A B A +B AA B B A B A +B AND NOR

31 Logica multi-livello: conversione tra forme Esempio: trasformare rete AND/OR in rete NAND/NAND NAND AND OR NAND (A) (C) (B) (D)

32 reti combinatorie: i segnali di uscita dipendono unicamente dai segnali di ingresso applicati alla rete allistante considerato. reti sequenziali: i segnali di uscita dipendono dai segnali di ingresso applicati alla rete nel tempo, fino allistante considerato. Reti combinatorie e reti sequenziali

33 Reti combinatorie una rete combinatoria realizza una funzione booleana con n ingressi ed m uscite Assegnando le variabili binarie x 1 x 2 ….x m ai segnali di ingresso e le variabili z 1 z 2 ….z m ai segnali di uscita, il comportamento della rete si specifica tramite una tabella del tutto analoga a quella che si impiega per assegnare le funzioni booleane Ciascuna variabile di uscita è quindi esprimibile in forma algebrica, come espressione booleana delle variabili di ingresso. ogni espressione booleana la si può rappresentare usando solo and, or e not

34 Fine


Scaricare ppt "Algebra di Boole I fondamenti dellalgebra Booleana sono stati delineati dal matematico inglese George Boole in un lavoro pubblicato nel 1847 riguardante."

Presentazioni simili


Annunci Google