Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Sommario
Algebra Booleana.
2/50 http::borghese.di.unimi.it\
A.A. 2023-2024
1
Le appendici del Patterson sono on-line…
http://online.universita.zanichelli.it/
patterson-4e/xstudx-appendici/
3/50 http::borghese.di.unimi.it\
A.A. 2023-2024
NOT
AND
OR
4/50 http::borghese.di.unimi.it\
A.A. 2023-2024
2
Circuiti Booleani
“An Investigation of the Laws of Thought on Which to Found the Mathematical Theories
of Logic and Probabilities” G. Boole, 1854: approccio alla logica come algebra.
Variabili (binarie, 0 = FALSE; 1 = TRUE).
Operazioni sulle variabili (NOT, AND, OR).
5/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Vengono considerate tutte le combinazioni possibili in input, terna A,B,C, dove ciascuna
variabile può assumere i valori (V,F). Le combinazioni in ingresso si possono indicizzare con
i numeri interi: 0 (000), 1 (001), 2 (010), 3 (011), 4 (100), 5 (101), 6 (110), 7 (111).
3
Porte logiche
Gli operatori logici vengono implementati da dei circuiti elettronici che vengono
chiamati porte logiche
7/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Operatore NOT
8/50 http::borghese.di.unimi.it\
A.A. 2023-2024
4
Operatore AND
Tabella della verità
A B Y
Simbolo
FF 0 0 0 F A
Y = A AND B
FV 0 1 0 F
B
VF 1 0 0 F
VV 1 1 1 V Esempio: “Se c’è il sole e c’è Michela
(Michele) vado a sciare”
Operatore OR
Tabella della verità
A B Y Simbolo
FF 0 0 0 F A
Y = A OR B
FV 0 1 1 V
B
VF 1 0 1 V
Esempio: “Se c’è il sole o c’è Michela
VV 1 1 1 V (Michele) vado a sciare”
Scrittura algebrica: Y = A OR B = A + B
10/50 http::borghese.di.unimi.it\
A.A. 2023-2024
5
Somma e prodotto logico
ABY
0 0 0 A
Somma logica Y
0 1 1
=> OR
1 0 1 B
1 1 1
ABY
0 0 0 A
Y
0 1 0 B
Prodotto logico
1 0 0
=> AND
1 1 1
11/50 http::borghese.di.unimi.it\
A.A. 2023-2024
B
Inserire un cerchietto all’ingresso corrisponde a negare (complementare) l’ingresso.
A ______
B
Y
= Y = (A + B)
12/50 http::borghese.di.unimi.it\
A.A. 2023-2024
6
Operatore NOR
A B OR(A,B) Y Operatore OR negato
0 0 0 1
A
0 1 1 0 Y
1 0 1 0 B
1 1 1 0 A
=
Y
B
_____
“Not(Or(A,B))”
Y = A + B = !(A + B)
13/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Operatore NAND
Operatore AND negato
A B AND(A,B) Y
0 0 0 1
A
Y Y
0 1 0 1
B
1 0 0 1
1 1 1 0
=
A
Y
B
“Not(And(A,B))”
Y=AB
14/50 http::borghese.di.unimi.it\
A.A. 2023-2024
7
Tabella della verità
ABY _
Y = OR(A,B)
0 0 1
0 1 0 __
Y=A+B
1 0 1
1 1 1
15/50 http::borghese.di.unimi.it\
A.A. 2023-2024
_ _
Y = A + B C va intesa come: Y = A + (B ( C ) )
Ordine di esecuzione:
__
1) C - negazione
__
2) B C - AND
__
3) A + BC
__ __
Sarebbe sbagliato leggere l’espressione logica come: Y = (A+B) C ≠ A+B C
16/50 http::borghese.di.unimi.it\
A.A. 2023-2024
8
Concatenazione degli operatori - I
In assenza di parentesi, AND ha la priorità sull’OR ed il NOT su entrambi:
A + B · C = A + (B · C)
per eseguire prima OR occorre scrivere esplicitamente: (A+B) · C
___
ABC Eseguo prima la negazione. Quindi eseguo prima l’AND di A e B, nego il risultato
dell’AND ed infine eseguo l’AND con C:
1) AB
2) !(AB)
3) (!AB) C)
17/50 http::borghese.di.unimi.it\
A.A. 2023-2024
__ _ _
A B C = [(A) (B)] C
1) Prima eseguo la negazione di A e la negazione di B in parallelo.
2) Eseguo il prodotto logico di !A, !B e C.
18/50 http::borghese.di.unimi.it\
A.A. 2023-2024
9
Porte logiche a più ingressi
Ad esempio: A
B
C Y
D
Y = A AND B AND C AND D
A
B Y
Y = A OR B OR C OR D C
D
19/50 http::borghese.di.unimi.it\
A.A. 2023-2024
20/50 http::borghese.di.unimi.it\
A.A. 2023-2024
10
Sommario
Algebra Booleana.
21/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Il Transistor
• Componente con funzionamento lineare (amplificazione) o binario (interruttore).
• Modello: interruttore tra Emettitore e Collettore, comandato dalla tensione sulla
Base. C
• Le porte logiche sono costituite da transistor.
• 2 casi “estremi”: B
– Tensione VBE bassa → C,E isolati (spento)
• Transistor in stato di INTERDIZIONE
E
– Tensione VBE alta → C,E collegati (acceso)
• Transistor in stato di SATURAZIONE (VC = VE)
C C
B B
VBE E VBE E
22/50 http::borghese.di.unimi.it\
A.A. 2023-2024
11
La tecnologia CMOS: dal 1980 a oggi
• CMOS: Complementary–MOS (Frank Wanlass, 1967 Fairchild)
– MOS: Metal – Oxide Semiconductor
– MOS complementari (N-MOS + P-MOS) che
lavorano “in coppia”: substrati comuni. Acceso se: Vin > Vdd/2
pMOS
Un MOS:
• Quando è acceso funziona da corto circuito tra D e S VIN= L
• Quando è spento funziona da circuito aperto tra D e S
Acceso se: Vin < Vdd/2
23/50 http::borghese.di.unimi.it\
A.A. 2023-2024
• Vantaggi:
– Tensione di alimentazione, VCC, “flessibile”:
VCC = 1 ÷ 15 Volt (vicina a 1 V quasi sempre) Acceso se: Vin > Vdd/2
12
La porta NOT in CMOS
2 MOS complementari
Massa
25/50 http::borghese.di.unimi.it\
A.A. 2023-2024
VCC VCC
VA VB VOUT
Vdd Vdd
VL=0 VL=0 VH=1
VH
X X VH
VL=0 VH=1 VH=1
VH=1 VL=0 VH=1
VH=1 VH=1 VL=0
VH
VH
Vss
Massa
VA = 1; VB = 1 ➔ Vout = Vss = 0
26/50 http::borghese.di.unimi.it\
A.A. 2023-2024
13
Porta AND in C-MOS
VA VB VOUT
VL=0 VL=0 VH=1
VCC VCC
X VL VH=1
VH=1
VL=0
VH=1
VH=1
VL=0
VH
VL
X Vss
Massa
27/50 http::borghese.di.unimi.it\
A.A. 2023-2024
28/50 http::borghese.di.unimi.it\
A.A. 2023-2024
14
Perchè l’elettronica digitale funziona?
29/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Tempo di commutazione
La commutazione non è istantanea
1
VCC
InputA
Output
15
Sommario
Algebra Booleana.
31/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Funzione
• Una relazione che associa ad ogni elemento dell'insieme X:{x}, detto dominio,
associa un elemento dell'insieme Y: {y], detto codominio, indicandola con y = f(x)
(Wikipedia). Sinonimi: mappa, trasformazione.
32/50 http::borghese.di.unimi.it\
A.A. 2023-2024
16
Funzioni logiche
• Funzione a n ingressi e m uscite. Per ciascuna delle 2n combinazioni degli
ingressi, viene definita ciascuna delle m uscite.
• E’ una funzione discreta con domini finiti. Si può calcolare per tutti i punti nei
quali la funzione è definita.
33/50 http::borghese.di.unimi.it\
A.A. 2023-2024
34/50 http::borghese.di.unimi.it\
A.A. 2023-2024
17
_
Dal circuito alla TT - 1
F = AB + BC
0 0
ABC F
0 0 0 0
1 1 0 0 1 0
1
0 1 0 1
0 1
1 0 1 1 0
1 0 0 0
1 0 1 0
Direzione del calcolo 1 1 0 1
1 1 1 1
35/50 http::borghese.di.unimi.it\
A.A. 2023-2024
_
Dal circuito alla TT - 2
F = AB + BC
1 0
ABC F
0 0 0 0
0 0 0 0 1 0
0
0 1 0 1
0 0
1 0 1 1 0
1 0 0 0
1 0 1 0
Direzione del calcolo 1 1 0 1
1 1 1 1
36/50 http::borghese.di.unimi.it\
A.A. 2023-2024
18
a
Circuiti equivalenti
abc y b
_ _ c
y =ab or b(!c)
000 0 abc
001 0 1
0 a
010 1
011 0 . 1 b _
100 0 abc 0 y1
101 0
110 1
0 c
·
111 1
Espressioni algebriche e abc 0
tabella danno la stessa uscita y
_ _ _
Espressioni algebriche diverse y=abc+abc+abc
(e circuiti diversi) possono
implementare la stessa Implementazione circuitale diversa. L’implementazione
funzione logica (stessa TT) circuitale di una funzione logica non è unica!
37/50 http::borghese.di.unimi.it\
A.A. 2023-2024
a
Circuiti equivalenti - 2
abc y b
_ c
y = ab or b(!c)
bc
000 0
001 0
a
010 1
011 0 . b
100 0 y
101
110
0
1
c
·
111 1
abc
Funzione e tabella
danno la stessa uscita y.
Implementazione circuitale diversa. L’implementazione
Espressioni algebriche diverse circuitale di una funzione logica (descritta da una TT)
e circuiti diversi possono non è unica! _
implementare la stessa y=abc+bc
38/50 http::borghese.di.unimi.it\
funzione
A.A. 2023-2024 logica (stessa TT).
19
Sommario
Algebra Booleana.
39/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Manipolazione algebrica - I
AND OR
Identità 1x=x 0+x=x
Algebra classica 1 N = N 0+N=N
40/50 http::borghese.di.unimi.it\
A.A. 2023-2024
20
Manipolazione algebrica - II
=
Doppia Inversione x = x
Algebra classica ----------- -----------
Associativa (x y) z = x (y z) (x + y) + z = x + (y + z)
Algebra classica (NM)K = N(MK) (N+M)+K = N+(M+K)
Assorbimento x (x + y) = x x+xy=x
Algebra classica --------------
41/50
----------------------------
A.A. 2023-2024 http::borghese.di.unimi.it\
Principio di dualità
Proprietà Commutativa:
xy=yx x+y=y+x
• Proprietà distributiva:
x (y + z) = xy + xz x +( y z) = x + yz
• Assorbimento: x (x + y) = x x+xy=x
42/50 http::borghese.di.unimi.it\
A.A. 2023-2024
21
Teoremi di De Morgan
__ _ _ ____ _ _
Enunciati: I) xy = x + y II) x + y = x y
x x
z
I
y
Y z = y
x x
II
y
z
= y
z
43/50 http::borghese.di.unimi.it\
A.A. 2023-2024
44/50 http::borghese.di.unimi.it\
A.A. 2023-2024
22
Porta Universale NOR
• NOT A = 0 NOR A
• A OR B = (A NOR B) NOR 0
• A AND B = (A NOR 0) NOR (B NOR 0)
NOT
_____
A+B
OR
AND
__ _ _
De Morgan AB = A + B
__
__ ___
_ _
AB = AB = A + B
45/50 http::borghese.di.unimi.it\
A.A. 2023-2024
___
De Morgan NOR -> AND
__
De Morgan: A+B = A B
_
A NOR
_ _
AB
_
B
_ _
Questo circuito con NOR è equivalente a AND(A,B). Come faccio con le negazioni?
NOR NOR
A !A B !B
0 0
46/50 http::borghese.di.unimi.it\
A.A. 2023-2024
23
De Morgan NOR -> AND
_
A NOR
A
B
_
B
47/50 http::borghese.di.unimi.it\
A.A. 2023-2024
De Morgan in generale
Quale funzione è implementata da questo circuito?
_
x=A xx x
A
z
B _
yy y z = nor(!x,!y) = and(x,y)
y = !B
_ _
Sostituisco il not e ottengo: z = and(A,B) = A B
48/50 http::borghese.di.unimi.it\
A.A. 2023-2024
24
Esercizio
Data la funzione booleana:
F = (A AND B) OR (B AND NOT(C))
Costruire le porte logiche: AND, OR, NOT utilizzando solo la porta NAND.
49/50 http::borghese.di.unimi.it\
A.A. 2023-2024
Sommario
Algebra Booleana.
50/50 http::borghese.di.unimi.it\
A.A. 2023-2024
25