Sequenziali Porte logiche Porte logiche fond

Level 5
Analogico — Digitale
Problem-oriented language level
Translation (compiler)
Level 4
Nei calcolatori: segnale elettrico rappresenta
l’informazione.
Assembly language level
Translation (assembler)
Level 3
Operating system machine level
Level 2
Instruction set architecture level
Level 1
Microarchitecture level
Level 0
Digital logic level
Due modi
• telegrafo: segnale presente - assente (segnale
digitale)
• telefono: segnale modulato (segnale analogico)
Calcolatore digitale: come il telegrafo,
rappresentazione astratta dell’informazione –
tolleranza ai disturbi – semplicità di progettazione –
affidabilità.
Partial interpretation (operating system)
Interpretation (microprogram) or direct execution
Hardware
(Architettura degli Elaboratori)
porte logiche, algebre booleane
1 / 51
(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 / 51
A
D
B
E
C
F
(Architettura degli Elaboratori)
Combinatori – Sequenziali
porte logiche, algebre booleane
porte logiche, algebre booleane
4 / 51
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 / 51
Circuiti logici
Tensione – segnale — cifra (binaria).
• 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 progettazione:
ogni circuito combinatorio può essere ottenuto
collegando in modo opportuno un insieme di porte
logiche.
5 / 51
(Architettura degli Elaboratori)
Porte logiche fondamentali
porte logiche, algebre booleane
6 / 51
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
degli ingressi è a 1 (e zero altrimenti)
• La porta logica NOT ha uscita 1 se l’ingresso ha
valore 0 (e zero altrimenti).
OR
Le porte AND, OR possono avere più di 2 ingressi
(con il comportamento descritto sopra).
NOT
Che tipo di circuiti realizzano le porte logiche?
(Architettura degli Elaboratori)
porte logiche, algebre booleane
7 / 51
(Architettura degli Elaboratori)
porte logiche, algebre booleane
8 / 51
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.
9 / 51
(Architettura degli Elaboratori)
Realizzazione fisica porte
log.
+VCC
+VCC
+VCC
Vout
V1
Vout
Vout
V2
Vin
V1
V2
Emitter
Base
(Architettura degli Elaboratori)
(a)
porte logiche, algebre booleane
(b)
(c)
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 / 51
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Formale: tabelle di verità
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 / 51
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 / 51
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 / 51
Tabella di verità
• Descrizione esaustiva del comportamento: per
(Architettura degli Elaboratori)
10 / 51
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 / 51
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 / 51
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 / 51
(Architettura degli Elaboratori)
Sintesi di circuiti
porte logiche, algebre booleane
18 / 51
Mappe di Karnaugh
Metodo per ottenere circuiti minimali.
Il metodo precedente per la sintesi di circuiti crea
circuiti con più porte logiche del necessario.
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
Può essere migliorato:
• spesso un gruppo di porte AND può essere
sostituito da un’unica porta AND.
• ossia: un gruppo di 1 viene rappresentato da un
unica porta AND.
19 / 51
(Architettura degli Elaboratori)
Mappe di Karnaugh:
tabelle di verità (nella forma di matrici) dove:
sono evidenziati i gruppi di 1 realizzabili con un
unica porta AND
• appaiono in un rettangolo di 2, 4, 8 . . . (2n )
elementi;
• nell’AND associato ad un gruppo di 1, le variabili
che nel gruppo assumano entrambi i valori sono
omesse dalla formula;
• i lati opposti sono considerati contigui.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
21 / 51
porte logiche, algebre booleane
20 / 51
Esempi di mappe di
Karnaugh:
F = AC + BC + AB
La variabile che assume entrambi i valori, nella
coppia di 1 adiacenti, può essere omessa.
(Architettura degli Elaboratori)
Mappe di Karnaugh:
porte logiche, algebre booleane
22 / 51
Mappe di Karnaugh:
Esercizio per casa.
F = V3 V4 + V2 V3 + V1 V3
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Principio di dualità: versione duale delle mappe di
Karnaugh.
23 / 51
(Architettura degli Elaboratori)
porte logiche, algebre booleane
24 / 51
Algebra booleana
Algebra booleana
Algebra dei valori di verità:
• ideata nell’ambito della logica [Bool],
• formalizzazione linguaggio,
• la valutazione della verità di una espressione
viene ridotta ad un calcolo logico,
• solo due possibili valori: vero (1), falso (0).
Descrive un circuito con un espressione algebrica,
utile per:
• rappresentare sinteticamente un circuito,
• trasformare un circuito in uno equivalente.
[George Bool (1815-1864), Claude Shannon
(1916-2001)]
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Formalizzazione del
linguaggio
porte logiche, algebre booleane
·
+
AND
OR
NOT
∧
∨
¬
TRUE
FALSE
1
0
t
f
(Architettura degli Elaboratori)
porte logiche, algebre booleane
28 / 51
Rappresentare un circuito mediante un espressione
algebrica [Shannon]
circuiti logici
porte logiche
input
output
segnali intermedi
29 / 51
Corrispondenza circuiti espressioni
(Architettura degli Elaboratori)
AB
A
⇒
⇒
⇒
⇒
⇒
funzioni, espressioni
operazioni base
argomenti (variabili)
valore dell’espressione
sotto-espressioni
porte logiche, algebre booleane
30 / 51
Corrispondenza circuiti espressioni
B
Ai circuiti formati da porte logiche posso associare
espressioni (e viceversa).
AB + AC
A
A(B + C)
B
AC
C
A
B
D
C
D = ((A + B) + C)
31 / 51
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)
porte logiche, algebre booleane
(binaria)
(binaria)
(unaria)
Applicazioni all’informatica
Coincide con quello delle porte logiche:
• (A AND B) è vero se A è vero e anche B è vero
(piove e splende il sole)
• (A OR B) è vero se almeno uno tra A e B sono
veri
(o piove o splende il sole)
• (NOT A) è vero se A è falso
non piove
(Architettura degli Elaboratori)
prodotto logico
somma logica
negazione
Valori
27 / 51
porte logiche, algebre booleane
26 / 51
Operazioni
Comportamento delle
operazioni
(Architettura degli Elaboratori)
porte logiche, algebre booleane
Algebra booleana
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)
(Architettura degli Elaboratori)
25 / 51
(Architettura degli Elaboratori)
(b)
porte logiche, algebre booleane
32 / 51
Corrispondenza
espressioni - circuiti
Corrispondenza non
perfetta
E = ((A · B) + (B · C) + (A · C)) · (A · B · C)
Ambiguità nel passaggio da formule a rircuiti.
Circuiti senza espressione algebrica corrispondente.
A
• circuiti in cui un’uscita comanda più ingressi;
• circuiti con retroazione:
B
S
Q
E
C
Clock
Q
R
C’è maggiore libertà nel collegare fili che nello
scrivere espressioni.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
33 / 51
(Architettura degli Elaboratori)
porte logiche, algebre booleane
34 / 51
disegnare è più complicato.
Convenzioni nella scrittura
Proprietà algebriche
Le usali convenzioni dell’algebra:
• il segno di prodotto può essere omesso, e volte
indicato con (×, ∗);
• il prodotto ha precedenza sulla somma;
• si omettono le parentesi per l’associatività delle
operazioni (somma, prodotto)
(A + B) + C = A + B + C = A + (B + C).
Inoltre:
• la negazione può essere anche rappresentata
da 0 (A0 = A);
(Architettura degli Elaboratori)
porte logiche, algebre booleane
35 / 51
Ogni algebra caratterizza da un insieme di proprietà
(equazioni).
Proprietà booleane utili per:
• stabilire equivalenze tra circuiti;
• semplificare circuiti.
(Architettura degli Elaboratori)
Equazioni booleane
porte logiche, algebre booleane
Equazioni 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
(Architettura degli Elaboratori)
A=A
porte logiche, algebre booleane
37 / 51
(Architettura degli Elaboratori)
Considerazioni
Associativa, Distributiva (somma sul prodotto),
Elemento nullo ·, sono valide anche per
l’algebra degli interi (le altre no).
• Tutte equazioni della algebra degli interi restano
valide tenuto conto che negazione non
corrisponde a opposto o inverso.
• Equazioni dimostrabili mediante tabelle di verità,
oppure mediante argomenti di logica.
porte logiche, algebre booleane
A=A
porte logiche, algebre booleane
38 / 51
Semplificazione di
espressioni
• Alcune equazioni: Identità, Commutativa,
(Architettura degli Elaboratori)
36 / 51
39 / 51
• Le proprietà Identità, Elemento nullo permettono
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)
porte logiche, algebre booleane
40 / 51
Esempi di applicazione
Principio di dualità
Attraverso le regole indicate si possono semplificare
le seguenti espressioni.
• De Morgan: AB + C, ABC, A + B + C.
• Distributiva: ((A + B)C + A)B
• Con alcune regole: A(0 + B) + 1B + 0
ABC + ABC + ABC + 0.
Assorbimento: mostrare come la proprietà di
Assorbimento si possa derivare dalle altre (Identità,
Distributiva, Elemento nullo).
(Architettura degli Elaboratori)
porte logiche, algebre booleane
41 / 51
Se nelle definizioni (tabelle di verità) di +, ×, e
scambiamo tra loro le operazioni + e × e le costanti
0 e 1, otteniamo delle definizioni valide.
Esempi:
tabelle di verità,
proprietà algebriche.
(Architettura degli Elaboratori)
Principio di dualità
Esempio:
• E = A + A · (B + 0)
e = A · (A + B · 1)
• E
L’espressione duale fornisce risultati duali. Da cui:
f1 = E
f2 .
Proprietà: se E1 = E2 allora E
Nell’algebra booleana, ogni uguaglianza ha una
duale.
porte logiche, algebre booleane
43 / 51
Definizione mediante
espressioni
porte logiche, algebre booleane
NAND NOR XOR XNOR
A B A NAND B A NOR B A XOR B A XNOR B
0 0
1
1
0
1
0 1
1
0
1
0
1 0
1
0
1
0
1 1
0
0
0
1
(Architettura degli Elaboratori)
porte logiche, algebre booleane
44 / 51
Rappresentazione grafica
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
(Architettura degli Elaboratori)
42 / 51
Altre porte logiche
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.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
NAND
45 / 51
(Architettura degli Elaboratori)
NAND e NOR: porte
logiche complete
NOR
XOR
porte logiche, algebre booleane
46 / 51
NAND e NOR: porte
logiche complete
A
A
Ogni “polinomio” può essere implementato con porte
NAND:
A
A
(a)
A1 · A2 · A3 + B1 · B2 + C1 · C2 · C3 · C4 =
A
A
AB
A1 · A2 · A3 + B1 · B2 + C1 · C2 · C3 · C4 =
A+B
B
B
A1 · A2 · A3 · B1 · B2 · C1 · C2 · C3 · C4
Esercizio: come rappresentare, in modo efficiente,
ogni circuito con porte NOR?
A
AB
A
A+B
B
B
(b)
(Architettura degli Elaboratori)
(c)
porte logiche, algebre booleane
47 / 51
(Architettura degli Elaboratori)
porte logiche, algebre booleane
48 / 51
Bolla di inversione
può apparire anche all’ingresso delle porte logiche:
AB
=
A+B
A+B
=
A+B
A+B
(c)
(Architettura degli Elaboratori)
AB
(b)
(a)
AB
=
=
AB
(d)
porte logiche, algebre booleane
49 / 51
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 di
Karnaugh.
(Architettura degli Elaboratori)
porte logiche, algebre booleane
51 / 51
Algebre di Bool in
matematica
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)
(Architettura degli Elaboratori)
porte logiche, algebre booleane
50 / 51