Informatica Generale Marzia Buscemi IMT Lucca email: buscemi@di.unipi.it Ricevimento: Giovedì ore 16.00-18.00 presso Dipartimento di Informatica, Largo Pontecorvo 3 stanza 306 PS (lab. Global Computing) Tel. 050.2213102 o per posta elettronica Pagina web del corso: http://www.di.unipi.it/~buscemi/IG07.htm dddd
Finora abbiamo visto... come si rappresenta l’informazione (numeri, caratteri, immagini fisse, video, suoni) in un calcolatore digitale.
...adesso vediamo Come si elabora l’informazione codificata all’interno del calcolatore. (es. operazioni aritmetiche sui numeri, confronti e modifiche su dati) Il problema della progettazione dei circuiti digitali consiste nel: data in input una sequenza di bit, produrre in output un’opportuna sequenza di bit
Algebra di Boole Insieme di regole algebriche della logica binaria che stanno alla base del funzionamento dei calcolatori È costituita da: un insieme di variabili booleane A,B,C,... che possono assumere solo i valori 1 (vero) o 0 (falso). un insieme di funzioni (operazioni) che operano sulle variabili di input e danno delle variabili di output un insieme di leggi (assiomi) che definiscono le proprietà delle funzioni.
Algebra di Boole Le tre funzioni principali sono: AND (*): congiunzione logica A*B (AB) è vera se sia A sia B sono vere OR (+): “oppure” A+B è vera se almeno uno tra A e B è vero NOT ( ¯ oppure ¬ ): negazione Ā è vera se A è falsa
Tavole di verità Le tavole di verità servono a visualizzare i valori assunti dalle funzioni a partire da tutti i possibili valori delle variabili. A B A*B 1 A B A+B 1 A Ā 1 A partire da AND OR e NOT si possono ottenere tutte le funzioni che si scrivono con le tavole di verità.
A x-OR B = (A * ¬B) + (B * ¬A) Esempio: OR esclusivo Scrivere la tavola di verità di: x-OR (OR esclusivo): “A x-OR B” vera se è vera solo una tra A e B. A partire dalla tavola è possibile vedere come si può scrivere x-OR in forma AND-OR: A x-OR B = (A * ¬B) + (B * ¬A)
Esercizi Per ciascuna delle seguenti funzioni scrivere tavola e formalizzazione AND-OR. Bit di parità: dati A,B e C, vale 1 se la somma di 1 assunti in input è dispari, vale 0 altrimenti. Contatore: dati A,B e C, calcola la somma binaria degli 1 assunti in input. Sommatore: dati due numeri binari da due cifre ciascuno, ne esegue la somma.
Semplificare funzioni booleane La mappa di Karnaugh è una tecnica grafica per rappresentare e ridurre funzioni booleane. Si tratta di una versione bidimensionale delle tavole di verità che permette di ricavare facilmente funzioni ridotte in forma AND-OR.
Mappa di Karnaugh AB 00 01 11 10 CD 1 00 01 11 10 1. Raggruppare i più grandi gruppi di 1 adiacenti in numero pari a una potenza di 2.
Mappa di Karnaugh 1 ¬B¬C¬D AB 00 01 11 10 CD 00 01 11 AD 10 CD 00 01 11 10 CD 1 00 01 11 10 AD CD 2. Ogni gruppo di 1 è rappresentato dall’AND delle variabili i cui valori non cambiano, prese dirette se valgono 1, prese negate altrimenti.
Mappa di Karnaugh 1 ¬B¬C¬D AB 00 01 11 10 CD 00 01 11 AD 10 CD 00 01 11 10 CD 1 00 01 11 10 AD CD La funzione risultante è data dall’OR di tutti i gruppi: ¬B¬C¬D + AD + CD
Esercizi Scrivere le mappe di Karnaugh e le (eventuali) funzioni ridotte per: la funzione x-OR la funzione bit di parità la funzione contatore (per il primo bit) la funzione sommatore (per l’ultimo bit) la funzione incremento (dato un numero x a 3 bit dà in output x+1)