Porte logiche: cosa sono e come funzionano

Hai sentito parlare di porte logiche ma non hai idea di cosa siano? Eccoti allora spiegato sia cosa sono le porte logiche e sia come funzionano le porte logiche.

Indice

Cosa sono le porte logiche?

Ti sei mai chiesto come fa un computer ad eseguire delle operazioni matematiche sui dati che riceve in ingresso?

In generale, ogni dato fornito in ingresso (cioè in input) al computer è un tipo di dato che può essere rappresentato mediante dei segnali elettrici di acceso (on in inglese) o di spento (off in inglese), rispettivamente, cioè, mediante degli uni o degli zeri (meglio conosciuti come bit).

Per riuscire a produrre dei segnali in uscita (cioè in output) che rappresentano il risultato dell’elaborazione richiesta, un computer deve perciò combinare ed elaborare tutti i dati ricevuti in ingresso.

Per fare questo, un computer impiega miliardi di minuscoli componenti elettronici, detti comunemente porte logiche, che raggruppati insieme formano i circuiti digitali attraverso i quali viene costruito un qualsiasi computer.

In poche parole, una porta logica non è altro che un circuito digitale in grado di restituire in uscita un segnale che dipende dai valori di uno o più segnali ricevuti in ingresso.

Come funzionano le porte logiche?

Generalmente i circuiti più complessi sono capaci di combinare tra loro i vari segnali ricevuti in ingresso in modo tale da fornire in uscita dei nuovi risultati. Le principali porte logiche sono comunque soltanto tre: NOT, AND e OR.

Porta logica NOT

La porta logica più semplice di tutte è costituita da un solo ingresso e da una sola uscita. Questo circuito prende dunque in ingresso un segnale elettrico, acceso (cioè 1) oppure spento (cioè 0), e lo inverte semplicemente. Quindi:

  • se il segnale che si fornisce in ingresso a questa porta logica è 1, il circuito in questione risponde con 0;
  • se, invece, il segnale che si fornisce in ingresso a questa porta logica è 0, il circuito in questione risponde con 1.

In altre parole, il segnale in uscita da questo circuito è esattamente sempre uguale all’opposto del segnale ricevuto in ingresso. Proprio per tale motivo questa porta logica viene chiamata NOT (ossia non in inglese).

Porta logica AND

Un’altra porta logica fondamentale è quella costituita da un circuito che riceve in ingresso due segnali: 1 oppure 0. In questo caso:

  • se almeno uno dei segnali in ingresso è 0, allora anche il risultato è 0;
  • se entrambi i segnali in ingresso sono 1, allora anche il risultato in uscita è 1.

In altre parole, questo circuito restituisce 1 solo se il primo segnale in ingresso e il secondo segnale in ingresso sono entrambi 1. Dato che la congiunzione e si scrive in inglese and (si pronuncia end), questa porta logica viene allora chiamata AND.

Porta logica OR

L’ultima porta logica più importante è costituita sempre da un circuito che riceve in ingresso due segnali: 1 oppure 0. In questo caso, però, abbiamo che:

  • se almeno uno dei segnali in ingresso è 1, allora anche il risultato in uscita è 1;
  • se entrambi i segnali in ingresso sono 0, allora anche il risultato in uscita è 0.

In altre parole, questo circuito restituisce 1 solo se il primo segnale in ingresso è 1 oppure solo se il secondo segnale in ingresso è 1. Dato che la disgiunzione oppure si scrive in inglese or, questa porta logica viene allora chiamata OR.

Da notare che, nel caso particolare di questo circuito, il risultato in uscita è 1 anche quando entrambi i segnali in ingresso sono pari a 1.

Porte logiche NOT, AND e OREcco la porta logica NOT, la porta logica AND e la porta logica OR con le rispettive tabelle della verità.

Altre porte logiche

Oltre alle porte logiche appena citate esistono anche altre porte logiche (come, ad esempio, NAND, NOR e XOR), ma il principio che le accomuna tutte è sempre il medesimo, ovvero un ben preciso sistema che definisce come si comporta l’uscita in funzione dei valori ricevuti in ingresso.

In pratica, le porte logiche non sono altro che delle particolari funzioni matematiche che, in ingresso o in uscita, acquisiscono o restituiscono solo due valori: 0 e 1.

Il sommatore

Se si collegano insieme dei circuiti elementari è possibile creare dei circuiti più complessi che eseguono delle operazioni ancora più complesse. Ad esempio, è possibile realizzare un circuito che fa la somma di due bit.

Questo circuito, chiamato sommatore (in inglese adder, pronunciato èdder), riceve in ingresso due singoli bit – ognuno dei quali può essere 0 oppure 1 – e li elabora per calcolare la loro somma.

La somma data da questi due bit può essere quindi:

  • 0 + 0 = 00;
  • 0 + 1 = 01;
  • 1 + 1 = 10 (ovvero il numero 2 espresso mediante il sistema binario).

In questo caso c’è bisogno di due fili in uscita perché servono due cifre binarie per rappresentare la somma di due bit (infatti anche se si sommano due numeri decimali di un’unica cifra si ottiene un risultato con due cifre, ossia, ad esempio, 6 + 4 = 10).

Una volta ottenuto un circuito per sommare due bit di dati è possibile collegare insieme molti sommatori con riporto per fare la somma di numeri ancora più grandi.

Prendiamo, ad esempio, un sommatore per numeri a 8 bit che addiziona i numeri 26 e 52. Ognuno di questi due numeri è rappresentato usando 8 bit (quindi il 26 corrisponde a 00011010 mentre il 52 corrisponde a 00110100) e si hanno perciò 16 differenti segnali elettrici in ingresso al circuito in questione.

Il circuito di un sommatore per numeri a 8 bit contiene 8 sommatori con riporto per numeri a 2 bit che, insieme, calcolano la somma dei numeri 26 e 52 che è uguale a 78 (ovvero a 01001110 nel sistema binario).

Attraverso l’utilizzo di altri circuiti elettrici è possibile eseguire altre semplici operazioni matematiche come la sottrazione e la moltiplicazione. Tutti i calcoli che svolge un computer non sono nient’altro, quindi, che tantissime semplici operazioni messe insieme le une con le altre.

Volendo, ogni singola operazione svolta da un computer è così semplice che potrebbe essere svolta anche da una persona. Ma questi circuiti digitali che si trovano dentro ad un computer sono estremamente più veloci, tanto è vero che riescono a fare miliardi di queste operazioni in un singolo secondo.

Diverso tempo fa questi circuiti erano molto più grandi e decisamente più lenti. Un sommatore per numeri a 8 bit poteva essere grande come un frigorifero e metterci alcuni minuti per eseguire un semplice calcolo. Oggi, invece, i circuiti dei computer hanno dimensioni microscopiche e sono estremamente più veloci.

Ma perché i computer moderni pur essendo più piccoli sono anche più veloci? Semplicemente perché più piccoli sono i circuiti, più breve è la distanza che deve percorrere il segnale elettrico lungo il suo percorso. Inoltre, l’elettricità si muove quasi alla velocità della luce, quindi anche per questo motivo i circuiti moderni possono eseguire miliardi di calcoli in un solo secondo.

Conclusioni

Una volta capito che mediante gli uni e gli zeri sotto forma di segnali elettrici siamo in grado di costruire dei circuiti digitali che rappresentano le porte logiche, non ci vuole molto a capire che mettendo insieme miliardi di questi minuscoli circuiti è possibile costruire i computer proprio come li conosciamo.

Arrivati dunque a questo punto dovresti aver finalmente capito sia cosa sono le porte logiche e sia come funzionano le porte logiche.