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.

Avanzato25 minLezione

Definizione

Una porta logica è un minuscolo circuito elettronico con uno o due ingressi e una uscita. Ogni ingresso e ogni uscita vale 1 oppure 0:
  • 1 = tensione presente (alta), che significa vero
  • 0 = tensione assente (bassa), che significa falso
Ogni porta esegue un'operazione booleana. Le porte sono la versione hardware delle operazioni AND (E), OR (O) e NOT (NON) viste nelle lezioni precedenti.
Le porte a due ingressi (ingressi AA e BB, le righe iniziano con 0,00, 0):
AABBANDORXORNANDNOR
0000011
0101110
1001110
1111000
La porta NOT (detta anche invertitore) ha un solo ingresso e lo inverte: l'ingresso 0 dà l'uscita 1, l'ingresso 1 dà l'uscita 0.
Come ricordarle:
  • AND (E): uscita 1 solo quando entrambi gli ingressi valgono 1
  • OR (O): uscita 1 quando almeno un ingresso vale 1
  • XOR (OR esclusivo): uscita 1 quando gli ingressi sono diversi
  • NAND (NOT AND): il contrario di AND, uscita 0 solo quando entrambi gli ingressi valgono 1
  • NOR (NOT OR): il contrario di OR, uscita 1 solo quando entrambi gli ingressi valgono 0
Notazione: in elettronica si scrive spesso A⋅BA \cdot B per AND, A+BA + B per OR e A‾\overline{A} per NOT. Significano esattamente la stessa cosa di A∧BA \land B, A∨BA \lor B e ¬A\neg A. XOR si scrive A⊕BA \oplus B, NAND è A⋅B‾\overline{A \cdot B} e NOR è A+B‾\overline{A + B}. Attenzione: qui 1+1=11 + 1 = 1, perché ++ significa OR.
Un circuito collega delle porte: l'uscita di una porta diventa un ingresso della successiva. Per trovare l'uscita finale, vai dagli ingressi verso l'uscita, una porta alla volta.
La tabella interattiva di questa lezione chiama gli ingressi AA e BB e scrive 1 e 0. Disegna il simbolo di ogni porta, anche di NAND e NOR.

Prova subito

Quale porta dà uscita 1 solo quando entrambi gli ingressi valgono 1?

Esempi svolti

Gli ingressi sono A=1A = 1 e B=0B = 0. Trova l'uscita di una porta AND, OR, XOR, NAND e NOR.

1

Porta AND

AND richiede che entrambi gli ingressi valgano 1, ma B=0B = 0 → AND: 00

2

Porta OR

OR richiede almeno un 1, e A=1A = 1 → OR: 11

3

Porta XOR

Gli ingressi 11 e 00 sono diversi → XOR: 11

4

Porta NAND

NAND è il contrario di AND: AND ha dato 00, quindi si inverte → NAND: 11

5

Porta NOR

NOR è il contrario di OR: OR ha dato 11, quindi si inverte → NOR: 00

Errori comuni

Pensare che una porta OR dia 00 quando entrambi gli ingressi valgono 11

Perché è sbagliato: Quella è la porta XOR. OR vale 1 quando almeno un ingresso vale 1, e questo comprende il caso in cui valgono 1 entrambi.

Corretto: OR: 1∨1=11 \lor 1 = 1. XOR: 1⊕1=01 \oplus 1 = 0. Solo XOR richiede che gli ingressi siano diversi.

Leggere A+BA + B come una normale addizione e scrivere 1+1=21 + 1 = 2

Perché è sbagliato: Nella notazione delle porte ++ significa OR, e l'uscita di una porta può valere solo 0 o 1.

Corretto: Con le porte 1+1=11 + 1 = 1 (OR). Il valore 2 compare solo quando si sommano numeri binari, e allora si scrive 1010 con una cifra di riporto.

Trattare NAND come NOT A AND NOT B, cioè come A‾⋅B‾\overline{A} \cdot \overline{B}

Perché è sbagliato: NAND inverte l'uscita di AND, non gli ingressi. Per A=1A = 1, B=0B = 0: NAND dà 1⋅0‾=1\overline{1 \cdot 0} = 1, ma 1‾⋅0‾=0⋅1=0\overline{1} \cdot \overline{0} = 0 \cdot 1 = 0.

Corretto: NAND =A⋅B‾= \overline{A \cdot B}: prima AND, poi NOT. La barra copre tutto il prodotto.

Mandare gli ingressi originali nell'ultima porta di un circuito

Perché è sbagliato: 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.

Corretto: Vai dagli ingressi verso l'uscita, scrivi l'uscita di ogni porta accanto a essa e usa quei valori per la porta successiva.

Visuale interattivo

Tabella di verità

A ∧ B
ABA ∧ B
000
010
100
111

1= Vero0= Falso

Sandbox interattivo

Calcolatrice di espressioni

Prova questi:

Cronologia

Ancora nessun calcolo

Esercizi pratici

18 esercizi
Problema 1 di 18
Facile

Quale porta dà uscita 1 solo quando entrambi gli ingressi valgono 1?

Perché è importante

Ogni dispositivo digitale che possiedi è costruito con porte logiche:
  • Chip dei computer: un processore contiene miliardi di transistor collegati in porte, e tutto ciò che fa (sommare, confrontare, memorizzare) si riduce ad AND, OR e NOT su 1 e 0
  • Sommare numeri: due porte, una XOR e una AND, bastano per sommare due cifre binarie, e catene di questi circuiti sommano numeri interi
  • Allarmi e sistemi di sicurezza: un allarme suona quando è inserito E la porta d'ingresso O una finestra è aperta
  • Auto e macchinari: la spia della cintura si accende quando il motore è acceso E la cintura NON è allacciata; una pressa funziona solo se due mani premono due pulsanti (AND)
  • Luci di casa: una luce che si accende da due punti (scale, corridoio) è un circuito XOR
Nelle lezioni precedenti hai scritto espressioni booleane su carta. Le porte logiche sono le stesse espressioni costruite in hardware: imparare a leggere un circuito significa imparare la lingua dei computer.

Applicazioni nel mondo reale

Allarmi

Un allarme di casa è un piccolo circuito logico: i sensori danno 1 o 0, le porte decidono se la sirena riceve 1.

Esempio:

Con l'interruttore di inserimento AA, il sensore della porta d'ingresso DD e il sensore della finestra WW, l'allarme suona quando Y=A∧(D∨W)=1Y = A \land (D \lor W) = 1.

1Provaci tu stesso

Un allarme usa Y=A∧(D∨W)Y = A \land (D \lor W): A=1A = 1 quando il sistema è inserito, D=1D = 1 quando la porta d'ingresso è aperta, W=1W = 1 quando la finestra è aperta.

In quante di tutte le combinazioni di ingresso possibili suona l'allarme?

Passo 1: Scrivi l'espressione matematica

Scrivi il numero di combinazioni di ingresso come potenza di 2:

Sommare in un chip

Ogni addizione di un computer è costruita con semisommatori e sommatori completi fatti di porte.

Esempio:

Un semisommatore calcola la cifra di somma S=A⊕BS = A \oplus B e la cifra di riporto C=A∧BC = A \land B di due cifre binarie.

2Provaci tu stesso

Un semisommatore riceve gli ingressi A=1A = 1 e B=1B = 1. Dà S=A⊕BS = A \oplus B e C=A∧BC = A \land B, e il risultato si legge come il numero binario CSCS.

Quanto valgono S e C, e quale numero normale rappresenta il risultato?

Passo 1: Scrivi l'espressione matematica

Scrivi l'addizione che esegue il circuito:

Costruire chip con porte NAND

I produttori di chip amano le porte NAND, perché ogni altra porta si può costruire solo con porte NAND.

Esempio:

Collega entrambi gli ingressi di una porta NAND allo stesso segnale AA: l'uscita è A⋅A‾=A‾\overline{A \cdot A} = \overline{A}, quindi funziona come una porta NOT.

3Provaci tu stesso

Un piccolo chip contiene 4 porte NAND. Una porta NOT richiede 1 porta NAND, una porta AND ne richiede 2 (una NAND seguita da una NAND usata come NOT). Una progettista ha bisogno di 3 porte AND e 2 porte NOT.

Di quante porte NAND e di quanti chip ha bisogno?

Passo 1: Scrivi l'espressione matematica

Scrivi il numero di porte NAND con un solo calcolo:

Punti chiave

  • 1Una porta logica riceve ingressi che valgono 1 (tensione presente) o 0 (tensione assente) e dà un'uscita, anch'essa 1 o 0
  • 2AND dà 1 solo quando entrambi gli ingressi valgono 1; OR dà 1 quando almeno un ingresso vale 1; NOT inverte il suo unico ingresso
  • 3XOR dà 1 quando gli ingressi sono diversi; NAND e NOR sono il contrario di AND e OR
  • 4Notazione delle porte: A⋅BA \cdot B (AND), A+BA + B (OR), A‾\overline{A} (NOT), A⊕BA \oplus B (XOR), e qui 1+1=11 + 1 = 1
  • 5Per trovare l'uscita di un circuito, vai dagli ingressi verso l'uscita e annota l'uscita di ogni porta
  • 6Dai un nome all'uscita di ogni porta come espressione e otterrai l'espressione booleana di tutto il circuito

Domande frequenti

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.
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.
Differiscono in una sola riga: quando entrambi gli ingressi valgono 1. OR dà 11 (almeno uno è acceso), XOR dà 00 (gli ingressi non sono diversi). XOR è la porta o l'uno o l'altro, ma non entrambi.
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.
Sì, con 0 e 1: AND è A×BA \times B, NOT è 1−A1 - A, OR è A+B−A×BA + B - A \times B e XOR è A+B−2×A×BA + B - 2 \times A \times B. Per esempio, OR per 1,11, 1 dà 1+1−1=11 + 1 - 1 = 1. Provalo nella calcolatrice.

Glossario

Porta logica
Un circuito elettronico che esegue un'operazione booleana su ingressi che valgono 1 o 0
Ingresso / uscita
I segnali che entrano in una porta e l'unico segnale che ne esce
Circuito
Porte collegate da fili, in cui l'uscita di una porta è un ingresso di un'altra
Invertitore
Un altro nome della porta NOT, che cambia 1 in 0 e 0 in 1
OR esclusivo (XOR)
Una porta la cui uscita vale 1 quando i suoi ingressi sono diversi, scritta A⊕BA \oplus B
Semisommatore
Un circuito di una porta XOR e una porta AND che somma due cifre binarie: S=A⊕BS = A \oplus B, C=A∧BC = A \land B

Scheda formule

AND (E)

Y=A⋅B=A∧BY = A \cdot B = A \land B

1 solo quando entrambi gli ingressi valgono 1

OR (O)

Y=A+B=A∨BY = A + B = A \lor B

1 quando almeno un ingresso vale 1

NOT (NON)

Y=A‾=¬AY = \overline{A} = \neg A

Inverte l'ingresso

XOR

Y=A⊕BY = A \oplus B

1 quando gli ingressi sono diversi

NAND

Y=A⋅B‾Y = \overline{A \cdot B}

Contrario di AND: 0 solo quando entrambi gli ingressi valgono 1

NOR

Y=A+B‾Y = \overline{A + B}

Contrario di OR: 1 solo quando entrambi gli ingressi valgono 0

Altro su questo argomento