analogico — digitale circuiti logici porte logiche porte...
TRANSCRIPT
Level 1
Level 2
Level 3
Level 4
Level 5
Level 0
Problem-oriented language level
Translation (compiler)
Assembly language level
Translation (assembler)
Operating system machine level
Microarchitecture level
Partial interpretation (operating system)
Instruction set architecture level
Hardware
Digital logic level
Interpretation (microprogram) or direct execution
(Architettura degli Elaboratori) porte logiche, algebre booleane 1 / 54
Analogico — DigitaleNei calcolatori: segnale elettrico rappresental’informazione.Due metodi:• telegrafo: segnale presente - assente (digitale)• telefono: segnale modulato (analogico)
Calcolatore digitale segue il paradigma del telegrafo:– tolleranza ai disturbi, affidabilita– semplicita di progettazione– rappresentazione astratta dell’informazione– less is more.
(Architettura degli Elaboratori) porte logiche, algebre booleane 2 / 54
Codifica dell’informazione
Tensione – segnale — cifra (binaria): bit .• tensione presente: 2 - 3 volt —
segnale presente — 1,• tensione assente: ∼ 0 volt —
segnale assente — 0.
In questo caso: logica positiva.Logica negativa: all’assenza di tensione si associa 1.
(Architettura degli Elaboratori) porte logiche, algebre booleane 3 / 54
Circuiti logici
Dispositivi con una serie disegnali di ingresso (input) e disegnali in uscita (output).
F
DABC
E
(Architettura degli Elaboratori) porte logiche, algebre booleane 4 / 54
Combinatori – Sequenziali
Due classi di circuiti logici:• COMBINATORI: l’uscita dipende solo
dall’ingresso attuale, non c’e memoria.• SEQUENZIALI: l’uscita dipende anche dagli
ingressi passati (o dallo stato), hanno memoriadella storia passata.
(Architettura degli Elaboratori) porte logiche, algebre booleane 5 / 54
Porte logiche
Semplici circuiti combinatori.
Elementi base della costruzione:
ogni circuito combinatorio puo essere ottenutocollegando in modo opportuno un insieme di portelogiche.
(Architettura degli Elaboratori) porte logiche, algebre booleane 6 / 54
Porte logiche fondamentali
AND
OR
NOT
(Architettura degli Elaboratori) porte logiche, algebre booleane 7 / 54
Comportamento delleporte logiche
• La porta logica AND ha uscita 1 se tutti gliingressi sono a 1 (e zero altrimenti)
• La porta logica OR ha uscita 1 se almeno unodegli ingressi e a 1 (e zero altrimenti)
• La porta logica NOT ha uscita 1 se l’ingresso havalore 0 (e zero altrimenti)
Le porte AND, OR possono avere piu di 2 ingressi(con il comportamento descritto sopra).
Come si realizzano le porte logiche?(Architettura degli Elaboratori) porte logiche, algebre booleane 8 / 54
Paragone: elettronica —idraulica
Fornire un idea intuitiva del significato dellegrandezze elettriche.I due sistemi sono governate da leggi fisiche simili.• corrente elettrica, flusso di elettroni (Ampere) —
portata, flusso d’acqua;• fili elettrici — tubi di un sistema idraulico;• tensione elettrica (Volt) — pressione, spinta;• batteria - alimentatore — pompa idraulica;• resistenza (Ohm) — strozzatura, resistenza al
flusso;(Architettura degli Elaboratori) porte logiche, algebre booleane 9 / 54
Paragone: elettronica —idraulica
• interruttore — rubinetto;• condensatore — serbatoio;• transistor — rubinetto regolato da una pressione
idraulica.
(Architettura degli Elaboratori) porte logiche, algebre booleane 10 / 54
Realizzazione fisica portelogiche
Transistor: elemento fondamentale per larealizzazione dei circuiti, amplifica il segnale.
Collector
Base
+VCC
Vout
Vin
Emitter
(a)
Vout
+VCC
+VCC
Vout
V2
(b)
V1
V1
(c)
V2
(Architettura degli Elaboratori) porte logiche, algebre booleane 11 / 54
Descrizionecomportamento circuiti
Informale:• La porta logica OR ha uscita 1 se almeno uno
degli ingressi e a 1 (e zero altrimenti)• D ha valore 1 se almeno uno degli ingressi ha
valore 1 (D e vero se almeno uno degli ingressie vero)
• E ha valore 1 se esattamente due ingressihanno valore 1
• F ha valore 1 se tutte tre gli ingressi hannovalore 1
(Architettura degli Elaboratori) porte logiche, algebre booleane 12 / 54
Formale: tabelle di verita
• Descrizione esaustiva del comportamento: perogni combinazione dei valori di ingresso,specifica i valori di uscita;
• una tabella con tante righe quante lecombinazioni di ingresso.
• Insieme finito di combinazioni di ingresso;• se ci sono n ingressi, le possibili combinazioni
sono: 2n.
(Architettura degli Elaboratori) porte logiche, algebre booleane 13 / 54
Tabella di verita
A B C D E F0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
(Architettura degli Elaboratori) porte logiche, algebre booleane 14 / 54
Tabella di verita
A B C D E F0 0 0 0 0 00 0 1 1 0 00 1 0 1 0 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1
(Architettura degli Elaboratori) porte logiche, algebre booleane 15 / 54
Tabelle di verita per leporte logiche
(b)
NANDA
B
X
A B X
0 0 1
0 1 1
1 0 1
1 1 0
(c)
NORA
B
X
A B X
0 0 1
0 1 0
1 0 0
1 1 0
ANDA
B
X
(d)
A B X
0 0 0
0 1 0
1 0 0
1 1 1
ORA
B
X
(e)
A B X
0 0 0
0 1 1
1 0 1
1 1 1
(a)
NOT
A
A X
X
0 1
1 0
(Architettura degli Elaboratori) porte logiche, algebre booleane 16 / 54
Dal circuito alla tabella diverita
C
B
A A(B + C)
B + C
A
B
C
AB + AC
AB
AC
(a) (b)
A B C AB AC AB + AC
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 0 0
1 0 0 0 0 0
1 0 1 0 1 1
1 1 0 1 0 1
1 1 1 1 1 1
A B C A B + C A(B + C)
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 1 0
0 1 1 0 1 0
1 0 0 1 0 0
1 0 1 1 1 1
1 1 0 1 1 1
1 1 1 1 1 1
(Architettura degli Elaboratori) porte logiche, algebre booleane 17 / 54
Sintesi di circuitiData una tabella di verita, definire un circuito.
Ricetta (algoritmo):• considero tutte le righe della tabella di verita con
uscita 1• per ciascuna di esse costruisco un circuito che
vale 1 solo quando gli ingressi (input)coincidono con gli input associati alla riga,uso porte NOT e AND
• riunisco le uscite delle porte AND con una portaOR.
(Architettura degli Elaboratori) porte logiche, algebre booleane 18 / 54
Sintesi di circuiti
Altri metodi:• esisto un metodo duale (principio di dualita:
scambio 0↔ 1, AND↔ OR)• mappe di Karnaugh: permette di ottenere
circuiti compatti, con poche porte.
(Architettura degli Elaboratori) porte logiche, algebre booleane 19 / 54
Mappe di Karnaugh
Metodo per ottenere circuiti minimali.
Il metodo precedente per la sintesi di circuiti creacircuiti con piu porte logiche del necessario.
Puo essere migliorato:
• spesso un gruppo di porte AND puo esseresostituito da un’unica porta AND.
• ossia: un gruppo di 1 viene rappresentato da ununica porta AND.
(Architettura degli Elaboratori) porte logiche, algebre booleane 20 / 54
Mappe di Karnaugh:Tabelle di verita scritti nella forma di matrici:
Notare l’ordine di scittura delle combinazioni00, 01, 11, 10ordine da seguire esattamente.
(Architettura degli Elaboratori) porte logiche, algebre booleane 21 / 54
Mappe di Karnaugh:
Sono evidenziati i gruppi di 1 realizzabili con ununica porta AND:• appaiono in un rettangolo (quadrato) di 2, 4, 8
. . . (2n) elementi;• in ogni rettangolo:
• alcune variabili assumono tutte le possibilicombinazioni,
• altre assumo sempre lo stesso valore,
nell’AND associato appaiono solo quest’ultime(le prime sono ininfluenti).
(Architettura degli Elaboratori) porte logiche, algebre booleane 22 / 54
Esempio:
F = AC + BC + AB
La variabile che assume entrambi i valori, nellacoppia di 1 adiacenti, puo essere omessa.
(Architettura degli Elaboratori) porte logiche, algebre booleane 23 / 54
Mappe di Karnaugh:gruppi di 4 “uni”
F = V3V4 + V2V3 + V1V3
(Architettura degli Elaboratori) porte logiche, algebre booleane 24 / 54
Mappe di Karnaugh: latiopposti.
I lati opposti vanno considrati contigui.
F = YZ + XZ + WXY(Architettura degli Elaboratori) porte logiche, algebre booleane 25 / 54
Principio di dualitaVersione duale delle mappe di Karnaugh:
Correzione: Sn = (A+C +D)(A+B+D)(A+B+C).(Architettura degli Elaboratori) porte logiche, algebre booleane 26 / 54
Specifiche incomplete,valori indefiniti
A volte, alcune combinazioni lasciate indeterminate.L’implementazione sceglie i valori che portano alcircuito piu semplice.
(Architettura degli Elaboratori) porte logiche, algebre booleane 27 / 54
Mappe di Karnaugh con 5o 6 variabili
Si usa la terza dimensione. Disegnare 2 o 4 mappedi Karnaugh a 4 variabili, casselle corrispondenti inmappe adiacenti sono considerate adiacenti.
(Architettura degli Elaboratori) porte logiche, algebre booleane 28 / 54
Algebra booleana
Descrive un circuito con un espressione algebrica,utile per:• rappresentare sinteticamente un circuito,• verificare l’equivalenza tra due circuiti,• semplificare un circuito: trasformarlo in un
circuito equivalente piu semplice.[George Bool (1815-1864), Claude Shannon(1916-2001)]
(Architettura degli Elaboratori) porte logiche, algebre booleane 29 / 54
Algebra booleana
Algebra dei valori di verita:• ideata nell’ambito della logica [Bool].• In logica: e necessario formalizzazione
linguaggio;• la valutazione della verita di una espressione
viene ridotta ad un calcolo;• si considerano solo due possibili valori di verita:
vero (1), falso (0).
(Architettura degli Elaboratori) porte logiche, algebre booleane 30 / 54
Formalizzazione dellinguaggio
Frasi composte da proposizioni base (atomiche)come:splende il sole — piove — nevica;combinate con l’uso di connettivi (e, o, non):• piove e splende il sole• o piove o splende il sole• non piove• se piove allora – non splende il sole e – non
nevica.Si calcola la verita di una frase a partire dalla veritadelle asserzioni atomiche.
(Architettura degli Elaboratori) porte logiche, algebre booleane 31 / 54
Algebra booleanaOperazioni (connettivi base)
AND · ∧ prodotto logico (binaria)OR + ∨ somma logica (binaria)
NOT ¬ negazione (unaria)
Valori (valori di verita)TRUE 1 tFALSE 0 f
Connetivi e valori hanno diverse scritture a secondadell’ambito: logica, progettazione di circuiti.
(Architettura degli Elaboratori) porte logiche, algebre booleane 32 / 54
Comportamento delleoperazioni
Coincide con quello delle porte logiche:• l’espressione (A AND B) e vera se A e vera e
anche B e vera(es: piove e splende il sole)
• (A OR B) e vera se almeno una tra A e B sonovere(es: o piove o splende il sole)
• (NOT A) e vera se A e falsa.(es: non piove)
(Architettura degli Elaboratori) porte logiche, algebre booleane 33 / 54
Applicazioni all’informatica
Rappresentare un circuito mediante un espressionealgebrica [Shannon]
circuiti logici ⇒ funzioni, espressioniporte logiche ⇒ operazioni baseinput ⇒ argomenti (variabili)output ⇒ valore dell’espressionesegnali intermedi ⇒ sotto-espressioni
(Architettura degli Elaboratori) porte logiche, algebre booleane 34 / 54
Corrispondenza circuiti -espressioni
Ai circuiti formati da porte logiche posso associareespressioni (e viceversa).
C
B
A
D
D = ((A + B) + C)
(Architettura degli Elaboratori) porte logiche, algebre booleane 35 / 54
Corrispondenza circuiti -espressioni
C
B
A A(B + C)
B + C
A
B
C
AB + AC
AB
AC
(a) (b)
A B C AB AC AB + AC
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 0 0
1 0 0 0 0 0
1 0 1 0 1 1
1 1 0 1 0 1
1 1 1 1 1 1
A B C A B + C A(B + C)
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 1 0
0 1 1 0 1 0
1 0 0 1 0 0
1 0 1 1 1 1
1 1 0 1 1 1
1 1 1 1 1 1
(Architettura degli Elaboratori) porte logiche, algebre booleane 36 / 54
Corrispondenzaespressioni - circuiti
E = ((A · B) + (B · C) + (A · C)) · (A · B · C)
A
B
EC
disegnare e piu complicato.(Architettura degli Elaboratori) porte logiche, algebre booleane 37 / 54
Corrispondenza nonperfetta
Ambiguita: un circuito puo essere rappresentato conpiu formule.Alcuni circuiti non hanno una corrispondenteespressione algebrica.• circuiti in cui un’uscita comanda piu ingressi;• circuiti con retroazione:
S
Q
Q
R
Clock
C’e maggiore liberta nel collegare fili che nelloscrivere espressioni.
(Architettura degli Elaboratori) porte logiche, algebre booleane 38 / 54
Convenzioni nella scritturaLe usali convenzioni dell’algebra:• il segno di prodotto puo essere omesso, e volte
indicato con × o ∗ (AB, A× B, A ∗ B);• il prodotto ha precedenza sulla somma;• per l’associativita delle operazioni di AND e OR,
si possono omettere le parentesi(A + B) + C = A + B + C = A + (B + C).
Inoltre:• la negazione puo essere anche rappresentata
da ′ es: (A + B)′ = A + B;
(Architettura degli Elaboratori) porte logiche, algebre booleane 39 / 54
Equivalenze algebriche
Ogni algebra caratterizza da un insieme diequivalenze.
Equivalenze booleane utili per:• stabilire equivalenze tra circuiti;• semplificare circuiti.
(Architettura degli Elaboratori) porte logiche, algebre booleane 40 / 54
Equivalenze booleaneIdentita 0 + A = A
Elem. nullo 1 + A = 1Idempoten. A + A = A
Inverso A + A = 1Commutat. A + B = B + AAssociat. (A + B) + C = A + (B + C)Distribut. A(B + C) = AB + ACAssorbim. A + (A · B) = ADe Morgan A + B = A · BNegazione A = A
(Architettura degli Elaboratori) porte logiche, algebre booleane 41 / 54
Equivalenze dualiIdentita 1 · A = A
Elem. nullo 0 · A = 0Idempoten. A · A = A
Inverso A · A = 0Commutat. A · B = B · AAssociat. (A · B) · C = A · (B · C)Distribut. A + BC = (A + B)(A + C)Assorbim. A · (A + B) = ADe Morgan A · B = A + BNegazione A = A
(Architettura degli Elaboratori) porte logiche, algebre booleane 42 / 54
Considerazioni• Alcune equivalenze: Identita, Commutativa,
Associativa, Distributiva (somma sul prodotto),Elemento nullo ·, sono valide anche perl’algebra degli interi (le altre no).
• Tutte equivalenze della algebra degli interirestano valide tenuto conto che negazione nonha nessuna attinenza con le operazioni diopposto o inverso.
• Equivalenze dimostrabili mediante tabelle diverita,oppure mediante argomenti di logica.
(Architettura degli Elaboratori) porte logiche, algebre booleane 43 / 54
Semplificazione diespressioni
• Le proprieta Identita, Elemento nullo permettonodi eliminare le costanti 0 e 1, dalle espressioni.
• Le leggi di De Morgan e Negazione permettonodi portare la negazione a livello di variabili.
• Le proprieta Commutativa, Associativa, Inverso,Idempotenza e Assorbimento permettono diriordinare i termini ed eliminare doppioni.
• La proprieta distributiva permette di riscrivereogni espressione come somma di prodotti(forma normale) (polinomio).
(Architettura degli Elaboratori) porte logiche, algebre booleane 44 / 54
Esempi di applicazioneAttraverso le regole indicate si possono semplificarele seguenti espressioni.
• De Morgan: A · B + C, A · B · C, A + B + C.• Distributiva: ((A + B) · C + A) · B• Con alcune regole: A · (1 + B) + 1 · A + B
A · B · C · A · B · C(A + B) · (A · B · 0) · (A · B · C)
Assorbimento, si puo derivare da altre equivalenze:Identita, Distributiva, Elemento nullo.
(Architettura degli Elaboratori) porte logiche, algebre booleane 45 / 54
Principio di dualitaOgni proprieta booleana resta valida se scambiamo• la costante 0 con la costante 1 (e 1 con 0);• l’operazione + con l’operazione · (e · con +).
FormalmenteDefinizione: data un espressione booleana, E ,l’espressione duale E si ottiene scambiando tra lorole operazioni + e × e le costanti 0 e 1.Esempio:• E = A + A · (B + 0)• E = A · (A + B · 1)
Proprieta: se E1 = E2 allora E1 = E2.(Architettura degli Elaboratori) porte logiche, algebre booleane 46 / 54
Altre porte logiche
NAND NOR XOR XNOR
A B A NAND B A NOR B A XOR B A XNOR B0 0 1 1 0 10 1 1 0 1 01 0 1 0 1 01 1 0 0 0 1
(Architettura degli Elaboratori) porte logiche, algebre booleane 47 / 54
Definizione medianteespressioni
A NAND B = A · BA NOR B = A + BA XOR B = (A · B) + A · B = (A + B) · (A + B)A XNOR B = A · B + A · B
Le porte NAND e NOR possono esseregeneralizzate ad n ingressi.Una NAND con n ingressi restituisce il valore negatodi una porte AND con n ingressi.
Esercizio: ha senso definire una porta XOR con ningressi? Se “sı”, descriverne il comportamento.
(Architettura degli Elaboratori) porte logiche, algebre booleane 48 / 54
Rappresentazione grafica
NORNAND XOR
(Architettura degli Elaboratori) porte logiche, algebre booleane 49 / 54
NAND e NOR: portelogiche complete
A + B
A + B
A
A
B
B
AB
AB
A
A
A
A
(a)
(b) (c)
A
B
A
B
(Architettura degli Elaboratori) porte logiche, algebre booleane 50 / 54
NAND e NOR: portelogiche complete
Ogni “polinomio” puo essere implementato con porteNAND:A1 · A2 · A3 + B1 · B2 + C1 · C2 · C3 · C4 =
A1 · A2 · A3 + B1 · B2 + C1 · C2 · C3 · C4 =
A1 · A2 · A3 · B1 · B2 · C1 · C2 · C3 · C4
Nei circuiti integrati vengono impiegateesclusivamente porte NAND o NOR: piueconomiche da implementare.Esercizio: come rappresentare, in modo efficiente,ogni circuito con porte NOR?(Architettura degli Elaboratori) porte logiche, algebre booleane 51 / 54
Bolla di inversionepuo apparire anche all’ingresso delle porte logiche:
(a)
AB = A + B
(c)
A + BAB =
(b)
A + B = AB
AB=
(d)
A + B
(Architettura degli Elaboratori) porte logiche, algebre booleane 52 / 54
Algebre di Bool inmatematica
Un insieme A con tre operazioni: +,×, e duecostanti: 0,1,che soddisfano le proprieta sopra elencate: Identita,Elemento nullo, Inverso, . . .Esempio: (l’insieme delle parti) l’insieme formato daisottoinsiemi di numeri naturalicon le operazioni: unione +, intersezione ×, ecomplemento ,e con le costanti: insieme vuoto, insieme completo.Nella progettazione di circuiti ci si limita all’algebra dicommutazione (0, 1)
(Architettura degli Elaboratori) porte logiche, algebre booleane 53 / 54
Esercizi
Esemplificare le espressioni:• A + AB• A B C + AB C + A BC + ABC• A + B + C + ABC• ABC + ABC + ABC + ABC
sia algebricamente che attraverso le mappe diKarnaugh.
(Architettura degli Elaboratori) porte logiche, algebre booleane 54 / 54