Architettura degli Elaboratori -...

31
Architettura degli Elaboratori Architettura degli Elaboratori Lezione7: Algebra e Circuiti Logici Michele Nappi Michele Nappi [email protected] http://www.biplab.unisa.it/ slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni

Transcript of Architettura degli Elaboratori -...

Architettura degli ElaboratoriArchitettura degli ElaboratoriLezione7: Algebra e Circuiti Logicig g

Michele NappiMichele Nappi

[email protected]

http://www.biplab.unisa.it/

slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni

Segnali Elettrici e ProcessoriSegnali Elettrici e Processori

I t li l tt i i• I computer operano con segnali elettrici con valori di potenziale discreti

• sono considerati significativi soltanto due• sono considerati significativi soltanto due potenziali (high/low)

• i potenziali intermedi che si verificano durante le• i potenziali intermedi, che si verificano durante le transizioni di potenziale, non vengono considerati

• Lʼaritmetica binaria è stata adottata proprio• L aritmetica binaria è stata adottata proprio perché i bit sono rappresentabili naturalmente tramite elementi elettronici in cui siamo in grado gdi distinguere i 2 stati del potenziale elettrico (high/low)

Segnali Elettrici e ProcessoriSegnali Elettrici e Processori (cont.)

Il f i t d i i iti l tt i i ò d ll t• Il funzionamento dei circuiti elettronici può essere modellato tramite lʼAlgebra di Boole– solo 2 valori:

• valore logico True (1 o asserted)  livello di potenziale alto• valore logico Falso (0 o deasserted)  livello di potenziale basso

– operazioni logiche Booleane: somma (OR), prodotto (AND) eoperazioni logiche Booleane: somma (OR), prodotto (AND) e inversione (NOT) logica

• OR (A+B): risultato uguale ad 1 (true) se almeno un input è 1 (true)(true)

• AND (A B): risultato uguale ad 1 (true) solo se tutti gli input sono 1 (true)

• NOT (~A): risultato uguale allʼinverso dellʼinput (0→1 oppure 1→0)

Segnali Elettrici e ProcessoriSegnali Elettrici e Processori (cont.)

il circuito calcola una o più funzioni logiche, ciascuna esprimibile tramiteuna combinazione di operazioni dellʼAlgebra di Boole sulle variabili inuna combinazione di operazioni dell Algebra di Boole sulle variabili ininput

Circuiti combinatori/sequenzialiCircuiti combinatori/sequenziali

• Circuito combinatorio– senza elementi di memoria ‐ produce output che p pdipende funzionalmente solo dallʼinput

• Circuito sequenziale• Circuito sequenziale– con elementi di memoria ‐ produce output che di d l d llʼi h d lldipende non solo dallʼinput ma anche dallo stato della memoria

• Per ora ci concentriamo sui circuiti combinatori

Funzioni LogicheFunzioni Logiche• Una funzione logica è completamente specificata da– una tabella di verità

– una equazione logicaq g

Algebra di BooleAlgebra di Boole

F i l i l t t ifi t t it• Funzione logica completamente specificata tramite una Equazione logica dellʼalgebra di Boole

• Esempio: E = ~A~BC + AB~CEsempio: E =  A BC + AB C– bit in input e output rappresentati tramite variabili logiche (con valori 0 o 1)

– input combinati tramite le operazioni di somma (OR), prodotto (AND) e inversione (NOT) logica dellʼalgebra di Boole• OR (A+B): risultato uguale ad 1 (true) se almeno un input è 1 (true)

• AND (A B): risultato uguale ad 1 (true) solo se tutti gli input sono ( ) g ( ) g p1 (true)

• NOT (~A): risultato uguale allʼinverso dellʼinput (0→1 oppure 1→0)

Algebra di BooleAlgebra di Boole (cont.)

Algebra di Boole ( )Algebra di Boole (cont.)

Dalle Equazioni Logiche ai Circuiti Combinatori

NAND (inverso dellʼoperazione AND): ~(A  B) = A NAND BNOR (inverso operazione OR): ~(A + B) = A NOR B

– Si può dimostrare che le operazioni NAND o NOR (e le corrispondenti porte) sono sufficienti per implementare qualsiasi funzione logica

NAND e NORNAND e NOR

NAND e NORNAND e NOR (cont.)

Forme CanonicheForme Canoniche

Forme CanonicheForme Canoniche

Dalle forme canoniche ai circuiti (2‐level logic)

Dalle forme canoniche ai circuiti (2‐level logic) (cont.)

MinimizzazioneMinimizzazione

• Scopo della minimizzazione

• – data una equazione in forma normale (es.data una equazione in forma normale (es. SP), si riduce il numero di prodotti, oppure il numero di variabili coinvolte in ogni prodottonumero di variabili coinvolte in ogni prodotto

• – minimizzando si riduce quindi il costo del circuito combinatorio corrispondente => meno porte, con arietà (fan‐in) ridottaporte, con arietà (fan in) ridotta

MinimizzazioneMinimizzazione (cont.)

• Esempio di minimizzazione usando le proprietà dellʼalgebra di Boolep p g– Funzione F che assume valori indipendentemente dal valore di A:dal valore di A:• F= ~AB + AB = (distributiva) 

• = B (~A+A) = (inverso)• = B ( A+A) = (inverso) 

• = B ∙1 = B (nullo)

A è i t DONʼT CARE ( h i t• – A è un input DONʼT CARE (che non importa ai fini della definizione dellʼequazione)

MinimizzazioneMinimizzazione (cont.)

Tecniche di MinimizzazioneTecniche di Minimizzazione

Mappe di KarnaughMappe di Karnaugh

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)

Mappe di KarnaughMappe di Karnaugh (cont.)