Allora, visto che ciclicamente neofiti del computer chiedono lumi su questo componente, proviamo a darne una spiegazione il più elementare possibile, dando per scontato che il Nabbo in oggetto, probabilmente non capisce una mazza nemmeno di elettricità ed elettronica.
Disclaimer: il linguaggio estrremamente semplificato e goliardico è a scopo didattico, atto a generare figure mentali elementari che possano essere costruite-assimilate dal più vasto pubblico possibile, specie quello senza minime cognizion tecniche.
Il cuore di un Computer è la CPU (Central Processing Unity), anzi, spesso si identifica il Computer con la CPU stessa.
Prima di spiegare cosa è una CPU è assolutamente necessario assimilare i concetti di bit e numeri binari.
Il codice binario o numerazione binaria è stata inventata dal matematico Pascal nel XVII secolo, che fu anche il padre della prima macchina di calcolo. Questo sistema di enumerazione è stato visto sposarsi perfettamente con una macchina di natura elettrica, da cui deriva il Linguaggio macchina.
Questo perchè un apparato elettrico riconosce solo 2 stati possibili:
1) c'è la corrente
2) non c'è la corrente
Questi due stati possono essere chiamati in innumerevoli modi, ma sostanzialmente ci si riferisce allo stesso stato.
Così abbiamo:
1) c'è la corrente - 1 - High - stato logico alto - On - acceso
2) non c'è la corrente - 0 - Low - stato logico basso - Off - spento
che sono tutti sinomi usati, ora uno ora l'altro, a seconda del contesto.
Quindi abbiamo questi 2 soli stati possibili, con la presenza della corrente/tensione, oppure no.
La prima base del calcolo (la CPU è in effetti una unità di calcolo) è necessario avere un sistema di numerazione. Ora con due soli stati possibili, è necessario avere più elementi, più ingressi, più piedini, più entrate, che abbiano ciascuna un "peso" diverso, quindi dare tensione ad un ingresso rispetto ad unaltro, ha un significato numerale diverso. Vediamo meglio...
Ora posto la tabella di un sistema binario a 4 bit. Che significa 4 bit? significa che ci sono 4 "dita" che contano, 4 ingressi, 4 entrate che possono trovarsi a 1 o 0 (High o Low, Alto o Basso ecc. ecc.)
Per ora concentratevi solo tra l'equivalenza tra il numero decimale e quello binario, l'esadecimale lo vedremo più avanti. Osservate, notate, memorizzzate la simmetria che esiste tra i numeri binari. Date un'occhiata all'insieme e notate come i numeri 1 e 0 si ripetono in maniera simmetrica e con precisi ritmi. Vedete che i numeri 1 e 0 non si susseguonoa caso ma con una precisa logica?
E' importante capire che un 1 messo in un ingresso è diverso che metterlo in un altro, così come nel sistema decimale un 1 non vale sempre 1, perchè se lo mettioamo prima di uno zero, assume valore delle decine (10), se lo mettiamo in terza posizione a partire da destra diventa 100 (centinaia) e così via.
Quindi 0010 è diverso da 0001...
La posizione del numero si chiama "Peso" e ogni posizione ha a che fare con il quadrato di 2 quindi (per comodità e per un motivo che poi vedremo, utilizzo sempre 4 cifre, anche se gli zeri a sinistra non valgono-servono ad un tubo)
0001 = 2 elevato alla 0, quindi = 1 (peso 1)
0010 = 2 elevato alla 1, quindi = 2 (peso 2)
0100 = 2 elevato alla 2, quindi = 4 (peso 4)
1000 = 2 elevato alla 3, quindi = 8 (peso 8)
poi vediamo le somme di questi danno il numero finale:
1001 = peso 8 + peso 1 = 9
Il primo numero possibile è lo 0, cioè 0000 (o anche 0, ma per comodità abbiamo detto che usiamo 4 cifre)
L'ultimo possibille, con 4 cifre, 4 dita, 4 digit (cifre in inglese), 4 bit, è 1111 (tutti 1= 15 cioè 1+2+4+80)
Con 4 cifre, che d'ora in poi chiameremo solo Bit, possiamo avere 16 combinazioni diverse, dallo 0 al 15 decimale, ovvero dallo 0000 al 1111 binario.
Un'ultima cosa prima di parlare di CPU: i "Pesi" dei valori binari vengono associati alle lettere dell'alfabeto ABCD, o meglio, DBCA, dove A è la cifra meno significativa (1 uno in tutti i sensi) e la D è l'ultima cifra binaria, quella che se c'è 1, vuol dire che vale 8 (decimale).
DCBA Numero decimale (calcolo)
0000 0 (vale 0)
0001 1 (vale 1)
0010 2 (vale 2)
0011 3 (2+1)
0100 4 (vale 4)
0101 5 (4+1)
0110 6 (4+2)
0111 7 (4+2+1)
1000 8 (vale 8)
1001 9 (8+1)
1010 10 (8+2)
1011 11 (8+2+1)
1100 12 (8+4)
1101 13 (8+4+1)
1110 14 (8+4+2)
1111 15 (8+4+2+1)
Rammentiamoci bene questi ABCD che sono i fondamenti delle CPU a 4 bit.
Eccola qua: questa CPU è un cadavere da 4 bit, il nonno dei nonni dell'Intel I7 3970X che avete dentro il vostro PC (vi piacerebbe eh??!!)
Ora facciamo un pò di pratica, quindi richiedo al Nabbo di turno che sta leggendo un discreto sforzo neuronale per capire lo schema qua sotto:
Ora, senza entrare troppo nel dettaglio tecnico, dovreste avere elementi per comprendere il principio dello schema qua sopra. In pratica si tratta di un chip di decodifica che converte un valore binario di 4 bit in una cifra esadecimale.
Osservate gli interruttori a sinistra. Identificano il "least significant byte" che è il bit meno significativo, quello che vale 1 (0001) chiamato anche ingresso A, fino al MSB, cioè il "most significant bit", il bit più significativo, quello che vale di più ed è quello chiamato D, e che vale 8 (1000).
Se chiudiamo quegli interruttori, portiamo la tensione degli ingressi al valore logico 1, mentre se l'interruttore rimane aperto (come un ponte levatoio sollevato) al piedino "di là" non arriva la tensione, quindi rimane a 0. Giocando con gli interruttori possiamo fare le varie combinazioni e vedere sul display i vari numeri da 0 a.... 9? Siete sicuri?
Ecco una nuova informazione: i numeri oltre il 9, su una sola cifra, vengono visualizzati dalle lettere dell'alfabeto fino alla F.
Vediamo come:
DCBA il display visualizza:
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Questo è il codice esadecimale, ovvero un codice d 16 numeri composti da 10 cifre numerali (da 0 a 9) e 6 lettere dell'alfabeto (dalla A alla F). Insieme formano il codeice Esadecimale, o anche DCBA.
Se io vi dico 15 in decimale, voi mi dovete rispondere F in esadecimale. Ok?
Una CPU a 8 bit ha semplicemente 8 ingressi, 8 interruttori all'ingresso che possono essere on-off, 1 o 0 ecc.
Con 8 bit ci contiamo fino a 255, ovvero 256 valori da 0 compreso (è un numero importante anche lui) fino al numero 255.
Perchè 8 bit contano fino a 255?
Se voi sommate tutti i pesi (che ricordo ogni peso vale il doppio di quello precedente) degli 8 bit abbiamo:
128+64+32+16+8+4+2+1 = 255, cioè 1111111, quindi possiamo contare da 00000000 fino a 11111111, passando da tutte le altre combinazioni possibili
E con un processore a 16 bit, 16 dita, 16 cifre, 16 piedini di ingresso?
Stesso procedimento:
32768+16384+8192+4096+2048+1024+512+256+128+64+32+16+8+4+2+1= 65535 cioè 16 numeri 1 = 1111111111111111
Osservate come ogni "peso" a sinistra assuma un valore doppio di quello precedente, e notate come questi siano numeri molto ricorrenti nel mondo dei computer, per esempio nellle espansioni di memoria, che sono sempre potenza di 2: 2GB, 4GB, 8GB, e così via.
Per il momento rimaniamo sui 4 bit, se no diventate più NaBBi di quanto già non lo siate.
(continua)
Disclaimer: il linguaggio estrremamente semplificato e goliardico è a scopo didattico, atto a generare figure mentali elementari che possano essere costruite-assimilate dal più vasto pubblico possibile, specie quello senza minime cognizion tecniche.
Il cuore di un Computer è la CPU (Central Processing Unity), anzi, spesso si identifica il Computer con la CPU stessa.
Prima di spiegare cosa è una CPU è assolutamente necessario assimilare i concetti di bit e numeri binari.
Il codice binario o numerazione binaria è stata inventata dal matematico Pascal nel XVII secolo, che fu anche il padre della prima macchina di calcolo. Questo sistema di enumerazione è stato visto sposarsi perfettamente con una macchina di natura elettrica, da cui deriva il Linguaggio macchina.
Questo perchè un apparato elettrico riconosce solo 2 stati possibili:
1) c'è la corrente
2) non c'è la corrente
Questi due stati possono essere chiamati in innumerevoli modi, ma sostanzialmente ci si riferisce allo stesso stato.
Così abbiamo:
1) c'è la corrente - 1 - High - stato logico alto - On - acceso
2) non c'è la corrente - 0 - Low - stato logico basso - Off - spento
che sono tutti sinomi usati, ora uno ora l'altro, a seconda del contesto.
Quindi abbiamo questi 2 soli stati possibili, con la presenza della corrente/tensione, oppure no.
La prima base del calcolo (la CPU è in effetti una unità di calcolo) è necessario avere un sistema di numerazione. Ora con due soli stati possibili, è necessario avere più elementi, più ingressi, più piedini, più entrate, che abbiano ciascuna un "peso" diverso, quindi dare tensione ad un ingresso rispetto ad unaltro, ha un significato numerale diverso. Vediamo meglio...
Ora posto la tabella di un sistema binario a 4 bit. Che significa 4 bit? significa che ci sono 4 "dita" che contano, 4 ingressi, 4 entrate che possono trovarsi a 1 o 0 (High o Low, Alto o Basso ecc. ecc.)
Per ora concentratevi solo tra l'equivalenza tra il numero decimale e quello binario, l'esadecimale lo vedremo più avanti. Osservate, notate, memorizzzate la simmetria che esiste tra i numeri binari. Date un'occhiata all'insieme e notate come i numeri 1 e 0 si ripetono in maniera simmetrica e con precisi ritmi. Vedete che i numeri 1 e 0 non si susseguonoa caso ma con una precisa logica?
E' importante capire che un 1 messo in un ingresso è diverso che metterlo in un altro, così come nel sistema decimale un 1 non vale sempre 1, perchè se lo mettioamo prima di uno zero, assume valore delle decine (10), se lo mettiamo in terza posizione a partire da destra diventa 100 (centinaia) e così via.
Quindi 0010 è diverso da 0001...
La posizione del numero si chiama "Peso" e ogni posizione ha a che fare con il quadrato di 2 quindi (per comodità e per un motivo che poi vedremo, utilizzo sempre 4 cifre, anche se gli zeri a sinistra non valgono-servono ad un tubo)
0001 = 2 elevato alla 0, quindi = 1 (peso 1)
0010 = 2 elevato alla 1, quindi = 2 (peso 2)
0100 = 2 elevato alla 2, quindi = 4 (peso 4)
1000 = 2 elevato alla 3, quindi = 8 (peso 8)
poi vediamo le somme di questi danno il numero finale:
1001 = peso 8 + peso 1 = 9
Il primo numero possibile è lo 0, cioè 0000 (o anche 0, ma per comodità abbiamo detto che usiamo 4 cifre)
L'ultimo possibille, con 4 cifre, 4 dita, 4 digit (cifre in inglese), 4 bit, è 1111 (tutti 1= 15 cioè 1+2+4+80)
Con 4 cifre, che d'ora in poi chiameremo solo Bit, possiamo avere 16 combinazioni diverse, dallo 0 al 15 decimale, ovvero dallo 0000 al 1111 binario.
Un'ultima cosa prima di parlare di CPU: i "Pesi" dei valori binari vengono associati alle lettere dell'alfabeto ABCD, o meglio, DBCA, dove A è la cifra meno significativa (1 uno in tutti i sensi) e la D è l'ultima cifra binaria, quella che se c'è 1, vuol dire che vale 8 (decimale).
DCBA Numero decimale (calcolo)
0000 0 (vale 0)
0001 1 (vale 1)
0010 2 (vale 2)
0011 3 (2+1)
0100 4 (vale 4)
0101 5 (4+1)
0110 6 (4+2)
0111 7 (4+2+1)
1000 8 (vale 8)
1001 9 (8+1)
1010 10 (8+2)
1011 11 (8+2+1)
1100 12 (8+4)
1101 13 (8+4+1)
1110 14 (8+4+2)
1111 15 (8+4+2+1)
Rammentiamoci bene questi ABCD che sono i fondamenti delle CPU a 4 bit.
Eccola qua: questa CPU è un cadavere da 4 bit, il nonno dei nonni dell'Intel I7 3970X che avete dentro il vostro PC (vi piacerebbe eh??!!)
Ora facciamo un pò di pratica, quindi richiedo al Nabbo di turno che sta leggendo un discreto sforzo neuronale per capire lo schema qua sotto:
Ora, senza entrare troppo nel dettaglio tecnico, dovreste avere elementi per comprendere il principio dello schema qua sopra. In pratica si tratta di un chip di decodifica che converte un valore binario di 4 bit in una cifra esadecimale.
Osservate gli interruttori a sinistra. Identificano il "least significant byte" che è il bit meno significativo, quello che vale 1 (0001) chiamato anche ingresso A, fino al MSB, cioè il "most significant bit", il bit più significativo, quello che vale di più ed è quello chiamato D, e che vale 8 (1000).
Se chiudiamo quegli interruttori, portiamo la tensione degli ingressi al valore logico 1, mentre se l'interruttore rimane aperto (come un ponte levatoio sollevato) al piedino "di là" non arriva la tensione, quindi rimane a 0. Giocando con gli interruttori possiamo fare le varie combinazioni e vedere sul display i vari numeri da 0 a.... 9? Siete sicuri?
Ecco una nuova informazione: i numeri oltre il 9, su una sola cifra, vengono visualizzati dalle lettere dell'alfabeto fino alla F.
Vediamo come:
DCBA il display visualizza:
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Questo è il codice esadecimale, ovvero un codice d 16 numeri composti da 10 cifre numerali (da 0 a 9) e 6 lettere dell'alfabeto (dalla A alla F). Insieme formano il codeice Esadecimale, o anche DCBA.
Se io vi dico 15 in decimale, voi mi dovete rispondere F in esadecimale. Ok?
Una CPU a 8 bit ha semplicemente 8 ingressi, 8 interruttori all'ingresso che possono essere on-off, 1 o 0 ecc.
Con 8 bit ci contiamo fino a 255, ovvero 256 valori da 0 compreso (è un numero importante anche lui) fino al numero 255.
Perchè 8 bit contano fino a 255?
Numero binario | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
Pesi | 2[SUP]7[/SUP] = 128 | 2[SUP]6[/SUP] = 64 | 2[SUP]5[/SUP] = 32 | 2[SUP]4[/SUP] = 16 | 2[SUP]3[/SUP] = 8 | 2[SUP]2[/SUP] = 4 | 2[SUP]1[/SUP] = 2 | 2[SUP]0[/SUP] = 1 |
Se voi sommate tutti i pesi (che ricordo ogni peso vale il doppio di quello precedente) degli 8 bit abbiamo:
128+64+32+16+8+4+2+1 = 255, cioè 1111111, quindi possiamo contare da 00000000 fino a 11111111, passando da tutte le altre combinazioni possibili
E con un processore a 16 bit, 16 dita, 16 cifre, 16 piedini di ingresso?
Stesso procedimento:
32768+16384+8192+4096+2048+1024+512+256+128+64+32+16+8+4+2+1= 65535 cioè 16 numeri 1 = 1111111111111111
Osservate come ogni "peso" a sinistra assuma un valore doppio di quello precedente, e notate come questi siano numeri molto ricorrenti nel mondo dei computer, per esempio nellle espansioni di memoria, che sono sempre potenza di 2: 2GB, 4GB, 8GB, e così via.
Per il momento rimaniamo sui 4 bit, se no diventate più NaBBi di quanto già non lo siate.
(continua)
Ultima modifica: