Tutorato architettura degli elaboratori modulo I (lezione 3) Moretto Tommaso 03 November 2017 1 Algebra di Boole L aritmetica binaria è stata adottata perché i bit sono rappresentabili naturalmente tramite elementi elettronici, codificando lo 0 con uno stato di potenziale elettrico basso e l 1 con uno stato di potenziale elettrico alto. Il funzionamento dei circuiti elettronici può essere modellato tramite l algebra di Boole dove: valore logico False (0) livello di potenziale basso. valore logico True (1) livello di potenziale alto. Le operazioni logiche Booleane sono: somma (OR), prodotto (AND) e inversione (NOT): A B A + B 0 0 0 0 1 1 1 0 1 1 1 1 A B A B 0 0 0 0 1 0 1 0 0 1 1 1 A A 0 1 1 0 Infine ricordiamo le proprietà dell algebra di Bool: Identità: A+0A A 1A Nullo: A+11 A 00 Idempotente: A+AA A AA Inverso: A+( A)1 A ( A)0 Commutativa: A+BB+A A BB A Associativa: A+(B+C)(A+B)+C A (B C)(A B) C Distributiva: A (B+C)(A B)+(A C) A+(B C)(A+B) (A+C) DeMorgan: ( (A+B)( A) ( B) (A B)( A)+( B) 1
1.1 Esercizi Verificare le seguenti uguaglianze Booleane: A+(B C)(A+B) (A+C) (A+C D+A ( B)) A ( C+ D) A (B+C)+ (A+ C)A B+C Semplificare le seguenti espressioni Booleane: FA (B+C)+ B (A+C) F ( (A+B) C) F A B+A B+ (A+B C) 1.2 Soluzioni Verifichiamo l uguglianza confrontando le tablelle di verità di XA+(B C) e Y(A+B) (A+C): (X) {}}{ (A + B C) A+B A+C (Y) {}}{ (A + B) (A + C) A B C B C 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 Essendo la tabella di verità di X uguale a quella di Y possiamo affermare che l uguaglianza XY è vera. Verifichiamo ora l uguaglianza applicando le proprietà dell algebra di Bool: Y (A + B) (A + C) distributiva A A + A C + B A + B C idempotenza A + A C + B A + B C distributiva A (1 + C + B) + B C nullo A 1 + B C identità A + B C X 2
Verifichiamo l uguglianza confrontando le tablelle di verità di X (A+C D+A ( B)) e Y A ( C+ D): { (X) }} { A B C D C D A ( B) A+C D + A ( B) (A + C D + A ( B)) 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 1 0 { (Y) }} { A B C D A C+ D A ( C+ D) 0 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 Essendo la tabella di verità di X uguale a quella di Y possiamo affermare che l uguaglianza XY è vera. Verifichiamo ora l uguaglianza applicando 3
le proprietà dell algebra di Bool: X (A + C D + A ( B)) distributiva (A (1+ B) + C D) nullo (A 1 + C D) identità (A + C D) demorgan A (C D) demorgan A ( C+ D) Y Verifichiamo l uguglianza confrontando le tablelle di verità di XA (B+C)+ (A+ C) e YA B+C: { (X) }} { A B C B+C A (B + C) A+ C (A+ C) A (B + C)+ (A+ C) 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 (Y) {}}{ A B C A B A B + C 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Essendo la tabella di verità di X uguale a quella di Y possiamo affermare che l uguaglianza XY è vera. Verifichiamo ora l uguaglianza applicando le proprietà dell algebra di Bool: X A (B + C) (A+ C) distributiva A B + A C+ (A+ C) demorgan A B + A C+ A C A B + A C+ A C distributiva A B + C (A+ A) inverso A B + C 1 identità A B + C Y 4
Seplifichiamo FA (B+C)+ B (A+C) usando le proprietà dell algebra di Bool: F A (B + C)+ B (A + C) distributiva A B + A C+ B A+ B C distributiva A (B+ B) + A C+ B C inverso A 1 + A C+ B C distributiva A (1 + C)+ B C nullo A+ B C Seplifichiamo F ( (A+B) C) usando le proprietà dell algebra di Bool: F ( (A + B) C) demorgan ( A B C) distributiva A+ B+ C distributiva A + B + C Seplifichiamo F A B+A B+ (A+B C) usando le proprietà dell algebra di Bool: F A B + A B+ (A + B C) demorgan A B + A B+ A (B C) demorgan A B + A B+ A ( B+ C) distributiva A B + A B+ A B + A C distributiva A B+ A (B+ B+ C) inverso A B+ A (1+ C) nullo A B+ A 1 identità A B+ A distributiva (A+ A) ( B+ A) inverso B+ A 5
2 Forme canoniche e Minimizzazione Ogni funzione logica può essere rappresentata come tabella di verità o come equazione logica. È possibile ricavare quest ultima a partire dalla tabella di verità tramite l uso degli operatori AND, OR e NOT. Un equazione logica può essere espressa nei seguenti due modi: Somma di prodotti: per ogni entry uguale ad 1 dell ouput della tabella di verità generiamo un prodotto (mintermine) degli input, dove gli input uguali a 0 appaiono negati. Infine sommiamo tutti i prodotti ottenuti. Prodotto di somme: per ogni entry uguale ad 0 dell ouput della tabella di verità generiamo una somma (maxtermine) degli input, dove gli input uguali a 1 appaiono negati. Infine moltiplichiamo tutti le somme ottenute. 2.1 Mappe di Karnaugh Per minimizzare a mano funzioni di poche variabili, si possono rappresentare le tabelle di verità con le mappe di Karnaugh in cui: ogni quadrato (cella) della mappa individua una combinazione di variabili in input. il valore contenuto nel quadrato corrisponde al valore in output per quella particolare combinazione di variabili di input. le combinazioni delle variabili in input che etichettano i due assi delle mappe differiscono di un singolo bit tra combinazioni consecutive. Ricordiamo che raggruppando i valori (i gruppi devono essere composti da 2 i i 0 valori uguali) contenuti all interno delle mappe di Karnaugh è possibile individuare facilmene insiemi di variabili DON T CARE. 2.2 Esercizi Si vuole costruire un circuito combinatorio con le seguenti caratteristiche: Tre input A,B,C e un output Y. Funzione di output così definita: YA C0, YB C1. Si vuole costruire un circuito combinatorio con le seguenti caratteristiche: Quattro input A,B,C,D e un output Y. Dato NABCD numero binario a quattro cifre, definiamo Y come segue: Y1 N contiene un numero di 1 maggiore o uguale a 2, 0 altrimenti. 6
Si vuole costruire un circuito combinatorio con le seguenti caratteristiche: Quattro input A,B,C,D e un output Y. Dato NABCD numero binario a quattro cifre espresso in complemento a due, definiamo Y come segue: Y1 N -2, 0 altrimenti. Rappresentare le precedenti funzioni logiche con un multiplexer. 2.3 Soluzioni Cominciamo scrivendo la tabella di verità della funzione: A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 Per prima cosa esprimiamo l equazione logica associata alla tabella di verità nelle due forme canoniche (somma di prodotti e prodotto di somme): Y SP A B C + A B C + A B C + A B C Y P S (A + B + C) (A + B+ C) (A+ B + C) ( A + B+ C) Procediamo ora a minimizzare le due funzioni tramite mappe di Karnaugh: BC 00 01 11 10 A 0 1 0 0 1 0 1 0 1 1 Osservando i raggruppamenti possiamo minimizzare la funzione come segue: Y SP A C + B C 7
BC 00 01 11 10 A 0 1 0 0 1 0 1 0 1 1 Osservando i raggruppamenti possiamo minimizzare la funzione come segue: Y P S (A + C) (B+ C) Si lascia agli studenti come esercizio il compito di disegnare i circuiti corrispondenti. Cominciamo scrivendo la tabella di verità della funzione: A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Per prima cosa esprimiamo l equazione logica associata alla tabella di verità nelle due forme canoniche (somma di prodotti e prodotto di somme): Y SP A B C D+ A B C D+ A B C D+ + A B C D + A B C D + A B C D+ +A B C D + A B C D + A B C D+ +A B C D + A B C D 8
Y SP (A + B + C + D) (A + B + C+ D) (A + B+ C + D) (A+ B + C + D) ( A + B + C + D) Procediamo ora a minimizzare le due funzioni tramite mappe di Karnaugh: CD 00 01 11 10 00 0 0 1 0 AB 01 11 0 1 1 1 1 1 1 1 10 0 1 1 1 Osservando i raggruppamenti possiamo minimizzare la funzione come segue: Y SP C D + A B + B D + A D + B C + A C CD 00 01 11 10 00 0 0 1 0 AB 01 11 0 1 1 1 1 1 1 1 10 0 1 1 1 Osservando i raggruppamenti possiamo minimizzare la funzione come segue: Y P S (A + B + C) (A + C + D) (A + B + D) (B + C + D) 9
Si lascia agli studenti come esercizio il compito di disegnare i circuiti corrispondenti. Cominciamo scrivendo la tabella di verità della funzione: A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 Per prima cosa esprimiamo l equazione logica associata alla tabella di verità nelle due forme canoniche (somma di prodotti e prodotto di somme): Y SP A B C D + A B C D + A B C D+ +A B C D + A B C D + A B C D+ +A B C D Y SP (A + B + C + D) (A + B + C+ D) (A + B+ C + D) (A + B+ C+ D) (A+ B + C + D) (A+ B + C+ D) (A+ B+ C + D) (A+ B+ C+ D) ( A+ B+ C+ D) Procediamo ora a minimizzare le due funzioni tramite mappe di Karnaugh: 10
CD 00 01 11 10 00 0 0 0 0 AB 01 11 0 0 0 0 1 1 0 1 10 1 1 1 1 Osservando i raggruppamenti possiamo minimizzare la funzione come segue: Y SP A B + A C + A D CD 00 01 11 10 00 0 0 0 0 AB 01 11 0 0 0 0 1 1 0 1 10 1 1 1 1 Osservando i raggruppamenti possiamo minimizzare la funzione come segue: Y P S A ( B+ C+ D) Si lascia agli studenti come esercizio il compito di disegnare i circuiti corrispondenti. 11
Per rappresentare la funzione logica del primo esercizio dobbiamo utilizzare un multiplexer 8:1: Per rappresentare la funzione logica del primo esercizio dobbiamo utilizzare un multiplexer 16:1: 12
Per rappresentare la funzione logica del primo esercizio dobbiamo utilizzare un multiplexer 16:1: In generale i numeri rappresentano i termini (righe) della tabella che vengono selezionati dalla corrispondente combinazione delle linee di selezione (input). Per esempio la linea 5 del primo multiplexer viene selezionata da: A1, B0, C1 (valori di ingresso) a cui deve corrispondere Y0 (valore di uscita nella corrispettiva tabella di verità). Di conseguenza la linea 4 deve venir collegata al valore fisico corrispondente allo 0 (massa). Adottiamo lo stesso ragionamento per costruire tutte le altre linee. 13