8 per pagina - Server users.dimi.uniud.it

annuncio pubblicitario
Level 5
Analogico — Digitale
Problem-oriented language level
Translation (compiler)
Level 4
Assembly language level
Level 3
Operating system machine level
Nei calcolatori: segnale elettrico rappresenta
l’informazione.
Due metodi:
• telegrafo: segnale presente - assente (digitale)
• telefono: segnale modulato (analogico)
Translation (assembler)
Partial interpretation (operating system)
Level 2
Instruction set architecture level
Level 1
Microarchitecture level
Calcolatore digitale segue il paradigma del telegrafo:
– tolleranza ai disturbi, affidabilità
– semplicità di progettazione
– rappresentazione astratta dell’informazione
– less is more.
Interpretation (microprogram) or direct execution
Hardware
Level 0
Digital logic level
(Architettura degli Elaboratori)
porte logiche, algebre booleane
1 / 46
(Architettura degli Elaboratori)
Codifica dell’informazione
Dispositivi con una serie di
segnali di ingresso (input) e di
segnali in uscita (output).
In questo caso: logica positiva.
Logica negativa: all’assenza di tensione si associa 1.
porte logiche, algebre booleane
3 / 46
A
D
B
E
C
F
(Architettura degli Elaboratori)
Combinatori – Sequenziali
porte logiche, algebre booleane
porte logiche, algebre booleane
4 / 46
Porte logiche
Due classi di circuiti logici:
• COMBINATORI: l’uscita dipende solo
dall’ingresso attuale, non c’è memoria.
• SEQUENZIALI: l’uscita dipende anche dagli
ingressi passati (o dallo stato), hanno memoria
della storia passata.
(Architettura degli Elaboratori)
2 / 46
Circuiti logici
Tensione – segnale — cifra (binaria): bit .
• tensione presente: 2 - 3 volt —
segnale presente — 1,
• tensione assente: ∼ 0 volt —
segnale assente — 0.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Semplici circuiti combinatori.
Elementi base della costruzione:
ogni circuito combinatorio può essere ottenuto
collegando in modo opportuno un insieme di porte
logiche.
5 / 46
(Architettura degli Elaboratori)
Porte logiche fondamentali
porte logiche, algebre booleane
6 / 46
Comportamento delle
porte logiche
AND
• La porta logica AND ha uscita 1 se tutti gli
ingressi sono a 1 (e zero altrimenti)
• La porta logica OR ha uscita 1 se almeno uno
OR
degli ingressi è a 1 (e zero altrimenti)
• La porta logica NOT ha uscita 1 se l’ingresso ha
valore 0 (e zero altrimenti)
Le porte AND, OR possono avere più di 2 ingressi
(con il comportamento descritto sopra).
NOT
Come si realizzano le porte logiche?
(Architettura degli Elaboratori)
porte logiche, algebre booleane
7 / 46
(Architettura degli Elaboratori)
porte logiche, algebre booleane
8 / 46
Paragone: elettronica —
idraulica
Paragone: elettronica —
idraulica
Fornire un idea intuitiva del significato delle
grandezze 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
• interruttore — rubinetto;
• condensatore — serbatoio;
• transistor — rubinetto regolato da una pressione
idraulica.
(Architettura degli Elaboratori)
9 / 46
Realizzazione fisica porte
logiche
+VCC
+VCC
+VCC
Vout
V1
Vout
Vout
V2
Vin
V1
V2
Emitter
Base
(Architettura degli Elaboratori)
porte logiche, algebre booleane
(b)
(a)
Informale:
• La porta logica OR ha uscita 1 se almeno uno
degli ingressi è a 1 (e zero altrimenti)
• D ha valore 1 se almeno uno degli ingressi ha
valore 1 (D è vero se almeno uno degli ingressi
è vero)
• E ha valore 1 se esattamente due ingressi
hanno valore 1
• F ha valore 1 se tutte tre gli ingressi hanno
valore 1
11 / 46
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Tabella di verità
• Descrizione esaustiva del comportamento: per
ogni combinazione dei valori di ingresso,
specifica i valori di uscita;
• una tabella con tante righe quante le
combinazioni di ingresso.
• Insieme finito di combinazioni di ingresso;
• se ci sono n ingressi, le possibili combinazioni
sono: 2n .
porte logiche, algebre booleane
A
0
0
0
0
1
1
1
1
13 / 46
B
0
0
1
1
0
0
1
1
C D E F
0
1
0
1
0
1
0
1
(Architettura degli Elaboratori)
Tabella di verità
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
porte logiche, algebre booleane
porte logiche, algebre booleane
14 / 46
Tabelle di verità per le
porte logiche
C D E F
0 0 0 0
1 1 0 0
0 1 0 0
1 1 1 0
0 1 0 0
1 1 1 0
0 1 1 0
1 1 0 1
(Architettura degli Elaboratori)
12 / 46
(c)
Formale: tabelle di verità
(Architettura degli Elaboratori)
10 / 46
Descrizione
comportamento circuiti
Transistor: elemento fondamentale per la
realizzazione dei circuiti, amplifica il segnale.
Collector
porte logiche, algebre booleane
NOT
A
X
A
NAND
X
B
A
0
1
(a)
15 / 46
X
1
0
NOR
A
X
B
A
0
0
1
1
B
0
1
0
1
(b)
(Architettura degli Elaboratori)
X
1
1
1
0
AND
A
X
B
A
0
0
1
1
B
0
1
0
1
X
1
0
0
0
(c)
porte logiche, algebre booleane
OR
A
X
B
A
0
0
1
1
B
0
1
0
1
(d)
X
0
0
0
1
A
0
0
1
1
B
0
1
0
1
X
0
1
1
1
(e)
16 / 46
Dal circuito alla tabella di
verità
Sintesi di circuiti
Data una tabella di verità, definire un circuito.
AB
A
B
AB + AC
A
Ricetta (algoritmo):
• considero tutte le righe della tabella di verità 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 porta
OR.
A(B + C)
B
AC
C
B+C
C
A
B
C
AB
AC
AB + AC
A
B
C
A
B+C
A(B + C)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
(a)
(Architettura degli Elaboratori)
(b)
porte logiche, algebre booleane
17 / 46
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Sintesi di circuiti
Esercizio
Realizzare un circuito con tabella di verità:
A B C
X
0 0 0
1
0 0 1
1
0 1 0
0
0 1 1
0
1 0 0
0
1 0 1
1
1 1 0
0
1 1 1
0
Altri metodi:
• esisto un metodo duale (principio di dualità:
scambio 0 ↔ 1, AND ↔ OR)
• mappe di Karnaugh: permette di ottenere
circuiti compatti, con poche porte.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
19 / 46
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Algebra booleana
porte logiche, algebre booleane
Algebra dei valori di verità:
• ideata nell’ambito della logica [Bool].
• In logica: è necessario formalizzazione
linguaggio;
• la valutazione della verità di una espressione
viene ridotta ad un calcolo;
• si considerano solo due possibili valori di verità:
vero (1), falso (0).
21 / 46
Formalizzazione del
linguaggio
porte logiche, algebre booleane
(Architettura degli Elaboratori)
porte logiche, algebre booleane
22 / 46
Algebra booleana
Operazioni (connettivi base)
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 verità di una frase a partire dalla verità
delle asserzioni atomiche.
(Architettura degli Elaboratori)
20 / 46
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 più semplice.
[George Bool (1815-1864), Claude Shannon
(1916-2001)]
(Architettura degli Elaboratori)
18 / 46
23 / 46
AND
OR
NOT
·
+
∧
∨
¬
prodotto logico
somma logica
negazione
(binaria)
(binaria)
(unaria)
Valori (valori di verità)
TRUE
FALSE
1
0
t
f
Connetivi e valori hanno diverse scritture a seconda
dell’ambito: logica, progettazione di circuiti.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
24 / 46
Comportamento delle
operazioni
Applicazioni all’informatica
Rappresentare un circuito mediante un espressione
algebrica [Shannon]
Coincide con quello delle porte logiche:
• l’espressione (A AND B) è vera se A è vera e
anche B è vera
(es: piove e splende il sole)
• (A OR B) è vera se almeno una tra A e B sono
vere
(es: o piove o splende il sole)
• (NOT A) è vera se A è falsa.
(es: non piove)
(Architettura degli Elaboratori)
porte logiche, algebre booleane
circuiti logici
porte logiche
input
output
segnali intermedi
25 / 46
Corrispondenza circuiti espressioni
(Architettura degli Elaboratori)
AB
A
⇒
⇒
⇒
⇒
⇒
funzioni, espressioni
operazioni base
argomenti (variabili)
valore dell’espressione
sotto-espressioni
porte logiche, algebre booleane
26 / 46
Corrispondenza circuiti espressioni
B
Ai circuiti formati da porte logiche posso associare
espressioni (e viceversa).
AB + AC
A
A(B + C)
B
AC
C
B+C
C
A
B
D
C
D = ((A + B) + C)
(Architettura degli Elaboratori)
porte logiche, algebre booleane
27 / 46
A
B
C
AB
AC
AB + AC
A
B
C
A
B+C
A(B + C)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
(a)
(Architettura degli Elaboratori)
Corrispondenza
espressioni - circuiti
porte logiche, algebre booleane
28 / 46
Corrispondenza non
perfetta
E = ((A · B) + (B · C) + (A · C)) · (A · B · C)
Ambiguità: un circuito può essere rappresentato con
più formule.
Alcuni circuiti non hanno una corrispondente
espressione algebrica.
• circuiti in cui un’uscita comanda più ingressi;
• circuiti con retroazione:
A
B
S
E
C
(b)
Q
Clock
Q
R
(Architettura degli Elaboratori)
porte logiche, algebre booleane
29 / 46
disegnare è più complicato.
Convenzioni nella scrittura
porte logiche, algebre booleane
30 / 46
Equivalenze algebriche
Le usali convenzioni dell’algebra:
• il segno di prodotto può essere omesso, e volte
indicato con × o ∗ (AB, A × B, A ∗ B);
• il prodotto ha precedenza sulla somma;
• per l’associatività delle operazioni di AND e OR,
si possono omettere le parentesi
(A + B) + C = A + B + C = A + (B + C).
Inoltre:
• la negazione può essere anche rappresentata
da 0
es: (A + B)0 = A + B;
(Architettura degli Elaboratori)
C’(Architettura
è maggiore
libertàportenel
collegare fili che nello
degli Elaboratori)
logiche, algebre booleane
scrivere espressioni.
31 / 46
Ogni algebra caratterizza da un insieme di
equivalenze.
Equivalenze booleane utili per:
• stabilire equivalenze tra circuiti;
• semplificare circuiti.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
32 / 46
Equivalenze booleane
Equivalenze duali
Identità
0+A=A
Elem. nullo
1+A=1
Idempoten.
A+A=A
Inverso
A+A=1
Commutat.
A+B =B+A
Associat. (A + B) + C = A + (B + C)
Distribut.
A(B + C) = AB + AC
Assorbim.
A + (A · B) = A
De Morgan
A+B =A·B
Identità
1·A=A
Elem. nullo
0·A=0
Idempoten.
A·A=A
Inverso
A·A=0
Commutat.
A·B =B·A
Associat.
(A · B) · C = A · (B · C)
Distribut. A + BC = (A + B)(A + C)
Assorbim.
A · (A + B) = A
De Morgan
A·B =A+B
Negazione
Negazione
A=A
(Architettura degli Elaboratori)
porte logiche, algebre booleane
33 / 46
(Architettura degli Elaboratori)
Considerazioni
Associativa, Distributiva (somma sul prodotto),
Elemento nullo ·, sono valide anche per
l’algebra degli interi (le altre no).
• Tutte equivalenze della algebra degli interi
restano valide tenuto conto che negazione non
ha nessuna attinenza con le operazioni di
opposto o inverso.
• Equivalenze dimostrabili mediante tabelle di
verità,
oppure mediante argomenti di logica.
porte logiche, algebre booleane
35 / 46
di eliminare le costanti 0 e 1, dalle espressioni.
• Le leggi di De Morgan e Negazione permettono
di portare la negazione a livello di variabili.
• Le proprietà Commutativa, Associativa, Inverso,
Idempotenza e Assorbimento permettono di
riordinare i termini ed eliminare doppioni.
• La proprietà distributiva permette di riscrivere
ogni espressione come somma di prodotti
(forma normale) (polinomio).
(Architettura degli Elaboratori)
• 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 può derivare da altre equivalenze:
Identità, Distributiva, Elemento nullo.
37 / 46
Esempio:
• E = A + A · (B + 0)
e = A · (A + B · 1)
• E
f1 = E
f2 .
Proprietà: se E1 = E2 allora E
(Architettura degli Elaboratori)
porte logiche, algebre booleane
38 / 46
Definizione mediante
espressioni
NAND NOR XOR XNOR
B
0
1
0
1
36 / 46
Ogni proprietà booleana resta valida se scambiamo
• la costante 0 con la costante 1
(e 1 con 0);
• l’operazione + con l’operazione ·
(e · con +).
Formalmente
Definizione: data un espressione booleana, E,
e si ottiene scambiando tra loro
l’espressione duale E
le operazioni + e × e le costanti 0 e 1.
Altre porte logiche
A
0
0
1
1
porte logiche, algebre booleane
Principio di dualità
Attraverso le regole indicate si possono semplificare
le seguenti espressioni.
porte logiche, algebre booleane
34 / 46
• Le proprietà Identità, Elemento nullo permettono
Esempi di applicazione
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Semplificazione di
espressioni
• Alcune equivalenze: Identità, Commutativa,
(Architettura degli Elaboratori)
A=A
A NAND B A NOR B A XOR B A XNOR B
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
A NAND B = A · B
A NOR B = A + B
A XOR B = (A · B) + A · B = (A + B) · (A + B)
A XNOR B = A · B + A · B
Le porte NAND e NOR possono essere
generalizzate ad n ingressi.
Una NAND con n ingressi restituisce il valore negato
di una porte AND con n ingressi.
Esercizio: ha senso definire una porta XOR con n
ingressi? Se “sı̀”, descriverne il comportamento.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
39 / 46
(Architettura degli Elaboratori)
porte logiche, algebre booleane
40 / 46
Rappresentazione grafica
NAND e NOR: porte
logiche complete
A
A
A
A
(a)
A
NAND
NOR
A
XOR
AB
A+B
B
B
A
AB
A
A+B
B
B
(b)
(Architettura degli Elaboratori)
porte logiche, algebre booleane
41 / 46
NAND e NOR: porte
logiche complete
porte logiche, algebre booleane
può apparire anche all’ingresso delle porte logiche:
AB
A1 · A2 · A3 + B1 · B2 + C1 · C2 · C3 · C4 =
=
A+B
A+B
(a)
AB
=
A+B
A+B
(c)
43 / 46
(Architettura degli Elaboratori)
AB
=
AB
(d)
porte logiche, algebre booleane
44 / 46
Esercizi
Un insieme A con tre operazioni: +, ×, e due
costanti: 0, 1,
che soddisfano le proprietà sopra elencate: Identità,
Elemento nullo, Inverso, . . .
Esempio: (l’insieme delle parti) l’insieme formato dai
sottoinsiemi di numeri naturali
con le operazioni: unione +, intersezione ×, e
complemento ,
e con le costanti: insieme vuoto, insieme completo.
Nella progettazione di circuiti ci si limita all’algebra di
commutazione (0, 1)
porte logiche, algebre booleane
=
(b)
Algebre di Bool in
matematica
(Architettura degli Elaboratori)
42 / 46
Bolla di inversione
Ogni “polinomio” può essere implementato con porte
NAND:
A1 · A2 · A3 + B1 · B2 + C1 · C2 · C3 · C4 =
A1 · A2 · A3 · B1 · B2 · C1 · C2 · C3 · C4
Nei circuiti integrati vengono impiegate
esclusivamente porte NAND o NOR: più
economiche da implementare.
Esercizio: come rappresentare, in modo efficiente,
ogni
circuito
con porte
NOR?
(Architettura
degli Elaboratori)
porte logiche,
algebre booleane
(c)
(Architettura degli Elaboratori)
45 / 46
Esemplificare le espressioni:
• A + AB
• A B C + AB C + A BC + ABC
• A + B + C + ABC
• ABC + ABC + ABC + ABC
(Architettura degli Elaboratori)
porte logiche, algebre booleane
46 / 46
Scarica