Livello della logica digitale (Start point)

Con livello logico digitale ci riferiamo all'hardware di un computer e più specificatamente ai circuiti logici che fanno si che esso possa funzionare, non ci riferiamo al processore, ma i microcircuiti che fanno si che il processore funzioni.

I costituenti di base del computer sono:

  • porte logiche
  • registri
  • memoria

Le porte sono fatte da transistor, che rappresentano un livello ancora più basso dell'architettura.

Circuiti digitali
...

Gli elementi di base con cui sono costruiti i calcolatori si chiamano circuiti digitali (o reti digitali). Si tratta di dispostivi che usano solo due valori logici: 0 (segnale tra 0 e 1 volt) e 1 (segnale tra 2 e 5 volt), i valori di tensione di riferimenti possono cambiare in base alla tecnologia con cui sono costruire le porte.

Un circuito digitale trasforma segnali (binari) di ingresso (input), in segnali (binari) di uscita (output).

Per il momento possiamo immaginare un circuito logico come una scatola, di cui ancora non sappiamo il contenuto, che dati un certo numero di input, restituisce un certo numero di output.

Pasted image 20230527152207.png

Circuiti combinatori e sequenziali
...

Esistono due tipi di circuiti logici:

  • i circuiti combinatori: l'output dipende solo dall'ingresso
  • i circuiti sequenziali: l'output dipende oltre che dall'ingresso anche da uno stato

Elementi primitivi dei circuiti logici
...

Gli elementi base dei circuiti logici sono chiamate porte logiche e consentono di combinare gli input (binari) in modo che restituiscano degli output specifici.
Le porte logiche non sono altro che l'implementazione degli operatori della logica booleana: and, or, not, not-and, not-or, exclusive-or. Ognuno di questi operatori si basa sull'algebra di Boole e sulle tavole di verità di queste stesse.

Pasted image 20230527164621.png

Tali porte sono costruite con dei transistor. Un transistor si comporta come un interruttore molto veloce:

  • quando è basso, il transistor si disabilita (circuito aperto) e si comporta come "una resistenza infinita", quindi è alto; viceversa quando è;
  • pochi nanosecondi per passare da uno stato all'altro: "alto" (tensione ) 1 logico, "baso" (terra) 0 logico.

Pasted image 20230527165132.png

Porte logiche
...

Immediatamente sopra abbiamo detto che 1 è il valore "alto" della tensione, mentre 0 è il valore "basso", questa è una convezione: logica positiva.

Una porta NAND (not-and), quindi vera quando i due input sono diversi e quando sono entrambi 0 sono costruite mediante l'uso di due transistor in serie, mentre una porta NOR (not-or), quindi vera quando i due input sono entrambi 0, sfrutta due transistor in parallelo:
Pasted image 20230527165613.png
A sinistra i due transistor in serie (NAND) a destra i due transistor (NOR).

Una convezione che sfrutta la logica negativa, ovvero in cui 0 è il segnale "alto" e 1 è il segnale basso, si verifica che due transistor in serie rappresentano la porta NOR, mentre due transistor in parallelo rappresentano un porta NAND.

Come sono costruite le porte elementari:

  • NOT: un transistor
  • NAND e NOR: due transistor
  • AND e OR: tre transistor (quelli della NAND/NOR con un invertitore)
  • XOR: otto transistor (A B) = (A OR B) AND (A NAND B)
    Il simbolo: è il simbolo di XOR: utilizzeremo l'uno o l'altro in maniera intercambiabile.

Basandoci sulle regole dell'algebra di Boole può essere utile rivedere le regole su cui tale algebra si basa: Algebra di Boole e applicazioni ai circuiti