Perché i computer ragionano in binario?

di Lorenzo Neri

Perché i computer ragionano in binario?

È una domanda che prima o poi si fanno tutti nella vita e se non te la sei mai fatta beh, sappi che i computer ragionano in codice binario!

0101110101110

Ma la vera domanda è: perché i computer ragionano in binario?

Potremmo optare per una risposta in tecnichese, ma non lo faremo 😀

Bisogna partire molto molto in basso.

A livello microscopico.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Devi sapere che alla base dei processori, delle memorie, delle schede video, delle schede audio… Qualsiasi cosa che all’interno del tuo computer è in grado di elaborare informazioni o memorizzare le foto dei tuoi gattini, è fatta di tanti, tantissimi transistor.

Che cos’è un transistor

Un transistor è un componente elettronico molto particolare e molto insolito, anche lungo e complesso da spiegare in un articolo come questo.

Ti basta sapere che il transistor è quel componente elettronico che viene utilizzato per memorizzare un singolo bit.

Qua temo di dover fare ancora un passo indietro.

Che cos’è un bit

Il bit come i libri di testo raccontano, nient’altro è che l’unità più piccola di informazione possibile.In parole più dirette, ce lo dobbiamo immaginare come una scatola.

Questa scatola, possiamo riempirla con una pallina, oppure lasciarla vuota.

La scatola vuota, rappresenta l’assenza di informazione.

La scatola piena, rappresenta la presenza di informazione.

Quando la scatola è vuota, non abbiamo nulla al suo interno.

Che numero ti viene in mente per rappresentare il “nulla”?

Ti sento urlare “ZERO”!

Ebbene sì, di solito si usa proprio lo zero 🙂 Invece, quando la scatola è piena, abbiamo una pallina, una sola.“UNO” appunto: uno è il numero usato per rappresentare la presenza di informazione.

Un bit è questo: è una scatola al cui interno può esserci presenza di informazione e quindi il bit ha come valore “1”, diversamente c’è assenza di informazione, quindi ha come valore “0”.

È molto probabile che tu possa pensare: “Lorenzo ma posso usare numeri più piccoli! Ad esempio 0,000001 oppure 0,000000000001…. Perchè non usarli?”

Pensiero lecito, ti rispondo subito.

Ci sono troppi decimali di mezzo. Ogni cifra va memorizzata!Per ognuna di quelle cifre, bisogna tenerne conto e memorizzarla! Quindi, servirebbe più di un bit 😉 Torniamo al discorso del transistor.

Perché si usano i transistor nelle memorie e nelle unità di calcolo: ecco perché i computer ragionano DAVVERO in binario

I transitor dicevo prima, sono in grado di memorizzare un bit ciascuno, ma non solo: se ne mettiamo tanti, tantissimi assieme, permettono di far passare segnali elettrici in tempi veramente veramente istantanei.

Se messi assieme, possiamo realizzare i circuiti logici:

Risultato immagini per logic circuit

E tramite i circuiti logici, possiamo realizzare architetture come le RAM, le ROM e le CPU.

Risultato immagini per and cmos circuit

Quello che vedi qui, è un esempio di porta AND realizzata in tecnologia CMOS: quei quattro elementi che vedi nel circuito, sono quattro transistor.
Ora che abbiamo capito cos’è un bit e cos’è un transistor, arriviamo al dunque, anzi.


Perché non si utilizzano altri componenti elettronici nei circuiti digitali


Potremmo realizzare dei computer che lavorano con i segnali analogici.
Qua c’è un problema però.
Ti faccio un esempio: hai presente la corrente alternata?
Quella che usi in casa tua per intenderci!

Risultato immagini per alternate current


Questo è quello che più o meno fa la corrente di casa tua circa 50 volte al secondo: ha un comportamento sinusoidale.Se non ti sentissi ancora in confidenza con la trigonometria, la sinusoide è la funzione che vedi nel grafico: il nome puoi capire tu stesso da cosa derivi.
Quello che succede, in un 50esimo di secondo alla corrente di casa tua è questo:

Se guardi bene il grafico, la sinusoide tocca il punto più alto (220) e quello più basso (-220): sono i volt.
Tutto questo, in un cinquantesimo di secondo.
Ora ti faccio una domanda.


Quanti valori ci sono in quel grafico?

In altre parole: quanti valori tocca la sinusoide oltre allo zero e ai due punti di minimo e massimo?

Te lo dico io: infiniti.

Al momento “zero” vale zero, ma al momento “zero più un miliardesimo di secondo” vale zero più qualcosina di minuscolo, al momento “zero più qualche manciata di decimo di secondo” vale magari qualcosa in più, eccetera.
Siccome il tempo lo possiamo dividere in minuscoli pezzettini, abbiamo infiniti valori: sono incalcolabili!

Noi non possiamo fisicamente salvare valori infiniti.Hai idea di quanti hard disk possano servire?

Pensa a quanti byte sarebbero necessari!
E di fatto, nei computer non esistono segnali analogici.

“Ma che dici Lorenzo! Posso ascoltare la musica con il mio computer!”

Oh certo che puoi, ma non è un segnale analogico come quello che abbiamo visto: vengono presi tanti, tantissimi valori che gli assomigliano.Ma non ci sono tutti.
Questo processo, si chiama campionamento.
Il campionamento fa questo: cerca di prendere abbastanza valori del segnale analogico per replicarlo quanto più possibile. Ma non li può prendere tutti fino all’ultimo: non ti basterebbe la memoria.
Motivo per cui, si utilizzano i transistor e si utilizzano i segnali digitali.

Un segnale digitale non ha infinite variazioni, ne ha un numero ben specifico.

Vedi quanto è quadrato e brutto rispetto alla sinusoide di prima? Se prendessi X bit assieme, quelli sono i valori che potrebbero assumere nel tempo.
Chiarito tutto questo, arriviamo finalmente al dunque, ovvero: Perchè piace così tanto ai computer il codice binario?

Ops, mi sono dimenticato di dirlo: il codice binario non è nient’altro che il “linguaggio” usato dai computer. Sono ovviamente i bit! Se tu metti più bit assieme, ottieni dei valori scritti in binario.

Si chiama binario perchè…

Risultato immagini per rails free images

No ovviamente non per questo!
Ma perché come abbiamo visto prima, un bit può avere due valori: assenza di informazione (0), presenza di informazione (1).
Binario, deriva da questa definizione.

Ora, un transistor ce lo dobbiamo immaginare proprio come la scatola di prima: se passa corrente, contiene un “1”, se non passa corrente contiene uno “0”.

Se ne mettiamo tanti assieme, possiamo realizzare tante belle cose, come quelle che ti stanno permettendo di leggere queste righe ad esempio! 😀
Ovviamente penserai: “Lorenzo ma come si fa a tramutare il binario in testo, interfacce grafiche, videogiochi…?”

Facciamo un piccolo passo base.Pensiamo alle lettere dell’alfabeto: quante lettere ha?

Ventisei giusto?
Abbiamo detto che con un bit possiamo codificare due informazioni: 0 e 1.Con due bit: 00,01,10,11. Quattro!

Senza perderci con questa tiritera, per memorizzare 26 lettere servono 5 bit: se ti stai chiedendo come ho fatto, ragionaci 😉
Quindi con 5 bit almeno, memorizziamo una lettera, ma non abbiamo considerato le maiuscole, i caratteri speciali, la punteggiatura, tante cose!
Pensa che per memorizzare tutto questo, ci basta un byte.


Che cos’è un byte

Un byte sono semplicemente otto bit.
Con otto bit, possiamo generare 256 elementi diversi.
Più byte abbiamo a disposizione, più cose possiamo rappresentare: colori, immagini, video, questo blog, le tue applicazioni… tutto. Ecco, perché i computer ragionano in binario: perché è il modo più veloce per far ragionare i circuiti di cui è fatto, ma soprattutto per capire le informazioni da elaborare e memorizzare tramite i bit 🙂

Ecco perchè i computer ragionano in binario.

Ringrazio Wikipedia per la concessione delle immagini.

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più