Porte logiche
Leggere le tavole delle porte
Gli ingressi sono $A = 1$ e $B = 0$. Trova l'uscita di una porta AND, OR, XOR, NAND e NOR.
Porta AND: AND richiede che entrambi gli ingressi valgano 1, ma $B = 0$ = AND: $0$
Porta OR: OR richiede almeno un 1, e $A = 1$ = OR: $1$
Porta XOR: Gli ingressi $1$ e $0$ sono diversi = XOR: $1$
Porta NAND: NAND è il contrario di AND: AND ha dato $0$, quindi si inverte = NAND: $1$
Porta NOR: NOR è il contrario di OR: OR ha dato $1$, quindi si inverte = NOR: $0$
Answer: AND $= 0$, OR $= 1$, XOR $= 1$, NAND $= 1$, NOR $= 0$. NAND e NOR sono sempre il contrario di AND e OR.
AND seguita da NOT
$A$ e $B$ entrano in una porta AND, e la sua uscita entra in una porta NOT. Trova l'uscita $Y$ per tutte e quattro le righe di ingresso. Quale singola porta fa lo stesso lavoro?
Scrivere le righe di ingresso: Inizia da $0, 0$: le righe sono $00$, $01$, $10$, $11$ = 4 righe
Uscita della porta AND: AND vale 1 solo quando entrambi gli ingressi valgono 1 = AND: $0, 0, 0, 1$
Uscita della porta NOT: Inverti ogni valore della colonna AND = $Y$: $1, 1, 1, 0$
Confrontare con la tavola delle porte: La colonna $1, 1, 1, 0$ è la colonna NAND = $Y = \overline{A \cdot B}$
Answer: L'uscita è $1, 1, 1, 0$, quindi AND seguita da NOT si comporta esattamente come una porta NAND. Da qui viene il nome NOT AND.
Seguire un circuito con tre porte
$A$ e $B$ entrano in una porta OR. $B$ e $C$ entrano in una porta AND. Le due uscite entrano in una porta XOR, che dà $Y$. Trova $Y$ per $A = 0$, $B = 1$, $C = 0$.
Prima porta: OR di $A$ e $B$: $0 \lor 1$: almeno un ingresso vale 1 = Uscita OR $= 1$
Seconda porta: AND di $B$ e $C$: $1 \land 0$: gli ingressi non valgono entrambi 1 = Uscita AND $= 0$
Ultima porta: XOR delle due uscite: La porta XOR riceve $1$ e $0$, che sono diversi = $Y = 1$
Controllare con l'espressione: $Y = (A \lor B) \oplus (B \land C) = 1 \oplus 0$ = $Y = 1$
Answer: $Y = 1$. L'ultima porta non vede mai direttamente $A$, $B$ e $C$: vede solo le uscite delle prime due porte.
Dal circuito all'espressione booleana
$A$ passa per una porta NOT. La sua uscita e $B$ entrano in una porta AND. Quell'uscita e $C$ entrano in una porta OR, che dà $Y$. Scrivi l'espressione booleana del circuito e trova $Y$ per $A = 1$, $B = 1$, $C = 0$.
Dare un nome all'uscita della porta NOT: La porta NOT inverte $A$ = $\neg A$
Dare un nome all'uscita della porta AND: I suoi ingressi sono $\neg A$ e $B$ = $\neg A \land B$
Dare un nome all'uscita della porta OR: I suoi ingressi sono $\neg A \land B$ e $C$ = $Y = (\neg A \land B) \lor C$
Valutare per $A = 1$, $B = 1$, $C = 0$: $\neg A = 0$, poi $0 \land 1 = 0$, poi $0 \lor 0 = 0$ = $Y = 0$
Answer: $Y = (\neg A \land B) \lor C$, che in elettronica si scrive $Y = \overline{A} \cdot B + C$. Per $A = 1$, $B = 1$, $C = 0$ l'uscita è $Y = 0$.
Il semisommatore
Un computer somma due cifre binarie $A$ e $B$. Il risultato ha una cifra di somma $S$ e una cifra di riporto $C$ (per esempio $1 + 1 = 10$ in binario: $C = 1$, $S = 0$). Quali porte producono $S$ e $C$?
Scrivere le quattro somme in binario: $0 + 0 = 00$, $0 + 1 = 01$, $1 + 0 = 01$, $1 + 1 = 10$ = Risultati: 00, 01, 01, 10
Leggere la colonna della somma $S$ (cifra a destra): $S$: $0, 1, 1, 0$, che vale 1 solo quando gli ingressi sono diversi = $S = A \oplus B$ (XOR)
Leggere la colonna del riporto $C$ (cifra a sinistra): $C$: $0, 0, 0, 1$, che vale 1 solo quando entrambi gli ingressi valgono 1 = $C = A \land B$ (AND)
Controllare $1 + 1$: $S = 1 \oplus 1 = 0$ e $C = 1 \land 1 = 1$, quindi il risultato è $10$ in binario = $10_2 = 2$ ✓
Answer: $S = A \oplus B$ e $C = A \land B$. Una porta XOR e una porta AND formano un **semisommatore**, il primo mattone di ogni calcolatrice e di ogni computer.
Mistake: Pensare che una porta OR dia $0$ quando entrambi gli ingressi valgono $1$
Why: Quella è la porta XOR. OR vale 1 quando almeno un ingresso vale 1, e questo comprende il caso in cui valgono 1 entrambi.
Correct: OR: $1 \lor 1 = 1$. XOR: $1 \oplus 1 = 0$. Solo XOR richiede che gli ingressi siano diversi.
Mistake: Leggere $A + B$ come una normale addizione e scrivere $1 + 1 = 2$
Why: Nella notazione delle porte $+$ significa OR, e l'uscita di una porta può valere solo 0 o 1.
Correct: Con le porte $1 + 1 = 1$ (OR). Il valore 2 compare solo quando si sommano numeri binari, e allora si scrive $10$ con una cifra di riporto.
Mistake: Trattare NAND come NOT A AND NOT B, cioè come $\overline{A} \cdot \overline{B}$
Why: NAND inverte l'uscita di AND, non gli ingressi. Per $A = 1$, $B = 0$: NAND dà $\overline{1 \cdot 0} = 1$, ma $\overline{1} \cdot \overline{0} = 0 \cdot 1 = 0$.
Correct: NAND $= \overline{A \cdot B}$: prima AND, poi NOT. La barra copre tutto il prodotto.
Mistake: Mandare gli ingressi originali nell'ultima porta di un circuito
Why: In un circuito ogni porta riceve solo i fili collegati a lei. L'ultima porta di solito riceve le uscite delle porte precedenti, non A, B e C.
Correct: Vai dagli ingressi verso l'uscita, scrivi l'uscita di ogni porta accanto a essa e usa quei valori per la porta successiva.
Allarmi
Un allarme di casa è un piccolo circuito logico: i sensori danno 1 o 0, le porte decidono se la sirena riceve 1.
Con l'interruttore di inserimento $A$, il sensore della porta d'ingresso $D$ e il sensore della finestra $W$, l'allarme suona quando $Y = A \land (D \lor W) = 1$.
Sommare in un chip
Ogni addizione di un computer è costruita con semisommatori e sommatori completi fatti di porte.
Un semisommatore calcola la cifra di somma $S = A \oplus B$ e la cifra di riporto $C = A \land B$ di due cifre binarie.
Costruire chip con porte NAND
I produttori di chip amano le porte NAND, perché ogni altra porta si può costruire solo con porte NAND.
Collega entrambi gli ingressi di una porta NAND allo stesso segnale $A$: l'uscita è $\overline{A \cdot A} = \overline{A}$, quindi funziona come una porta NOT.
Una porta logica riceve ingressi che valgono 1 (tensione presente) o 0 (tensione assente) e dà un'uscita, anch'essa 1 o 0
AND dà 1 solo quando entrambi gli ingressi valgono 1; OR dà 1 quando almeno un ingresso vale 1; NOT inverte il suo unico ingresso
XOR dà 1 quando gli ingressi sono diversi; NAND e NOR sono il contrario di AND e OR
Notazione delle porte: $A \cdot B$ (AND), $A + B$ (OR), $\overline{A}$ (NOT), $A \oplus B$ (XOR), e qui $1 + 1 = 1$
Per trovare l'uscita di un circuito, vai dagli ingressi verso l'uscita e annota l'uscita di ogni porta
Dai un nome all'uscita di ogni porta come espressione e otterrai l'espressione booleana di tutto il circuito
Q: Perché le porte usano 1 e 0 invece di vero e falso?
A: Dentro un chip ci sono solo tensioni. Una tensione alta rappresenta 1 (vero) e una bassa 0 (falso). Usare solo due livelli rende i circuiti veloci e affidabili, perché anche un segnale un po' più debole si legge ancora chiaramente come 1.
Q: Qual è la differenza tra OR e XOR?
A: Differiscono in una sola riga: quando entrambi gli ingressi valgono 1. OR dà $1$ (almeno uno è acceso), XOR dà $0$ (gli ingressi non sono diversi). XOR è la porta o l'uno o l'altro, ma non entrambi.
Q: Perché le porte NAND sono così usate?
A: Ogni altra porta si può costruire solo con porte NAND. Per esempio, una NAND con i due ingressi collegati insieme è una porta NOT. Così una fabbrica può produrre chip con un solo tipo di porta. Vedrai l'algebra che lo spiega nella lezione Algebra di Boole.
Q: Posso controllare le porte con l'aritmetica normale?
A: Sì, con 0 e 1: AND è $A \times B$, NOT è $1 - A$, OR è $A + B - A \times B$ e XOR è $A + B - 2 \times A \times B$. Per esempio, OR per $1, 1$ dà $1 + 1 - 1 = 1$. Provalo nella calcolatrice.
Porte logiche
1 / 14
Porte logiche
Scopri come le porte AND, OR, NOT, XOR, NAND e NOR trasformano 1 e 0 in decisioni e come trovare l'uscita di un piccolo circuito.