Quando si utilizza un computer, si inviano ai suoi circuiti delle informazioni (input). Queste possono essere dati oppure comandi: i dati sono gli elementi sui quali il computer deve operare, i comandi dicono alla macchina cosa deve fare.

Al termine dell’elaborazione, il computer restituisce altre informazioni che costituiscono l’output.

La parte del computer che effettua l’elaborazione prende il nome di CPU (Central Processing Unit, unità centrale di elaborazione). Per elaborare i dati la CPU utilizza opportune memorie, dove vengono collocati i dati e i programmi che devono elaborarli. La struttura di un qualunque dispositivo per l’elaborazione delle informazioni è rappresentata da uno schema a blocchi chiamato modello di Von Neumann.

Schema a blocchi: modello di Von Neumann
Schema a blocchi del modello di Von Neumann (CPU, memoria, input/output, bus).
Nota didattica. Le fasi di input, elaborazione e output non sono sempre rigidamente separate: in molte applicazioni (giochi, simulazioni, strumenti musicali digitali) input e output si alternano in modo continuo.

Le informazioni d’ingresso (input) possono essere fornite in molti modi. Un videogioco con joystick invia alla CPU un flusso costante di comandi (movimenti e azioni); il computer elabora rapidamente questi input e produce gli output corrispondenti (animazioni, punteggi, effetti sonori).

Nei moderni computer troviamo vari dispositivi di ingresso e uscita. Immancabili tastiera e mouse; sono diffusi anche scanner, fotocamere digitali e tavolette grafiche. Per l’uscita, oltre al monitor sono comuni stampanti e casse acustiche; in ambito grafico si usa talvolta un plotter.

Esempi di periferiche di input e output
Periferiche di input (tastiera, mouse, joystick, tavoletta) e output (monitor, stampante, casse).

Informazioni numeriche e codice binario

Tutte le informazioni per il PC sono rappresentate in forma numerica. Un computer “comprende” solo numeri; inoltre utilizza un formato numerico particolare: il binario, basato su due simboli, 0 e 1. Lettere, suoni, colori e immagini sono convertiti in sequenze di bit (binary digits).

Noi siamo abituati alla numerazione decimale (base 10). I computer usano il binario (base 2): 0/1 corrispondono a assenza/presenza di segnale (due stati logici del circuito).

Un esempio intuitivo è l’interruttore di una lampada: aperto (0, lampada spenta) / chiuso (1, lampada accesa). Con una rete di milioni (oggi miliardi) di “interruttori” microscopici, il processore e le memorie rappresentano e manipolano informazioni.

Interruttore aperto: stato logico 0
Stato logico 0: interruttore aperto (off).
Interruttore chiuso: stato logico 1
Stato logico 1: interruttore chiuso (on).

Per memorizzare numeri in binario, ogni bit ha un peso (da destra verso sinistra: 1, 2, 4, 8, 16, 32, 64, 128, …). Con 8 bit si hanno 256 combinazioni (0–255): questo blocco è detto byte. Il byte è l’unità base di misura della memoria. (Oggi i PC tipicamente hanno decine di gigabyte di RAM e dischi/SSD dell’ordine dei terabyte.)

Pesi dei bit in un byte da 8 bit
Pesi dei bit in un byte (da 20=1 a 27=128).

Regola generale. Con n bit si ottengono 2^n combinazioni. Con 8 bit: 2^8 = 256.

Un binario più “corto”: l’esadecimale

Scrivere lunghe sequenze binarie è scomodo per gli umani; si usa quindi la numerazione esadecimale (hex, base 16), che raggruppa i bit a quartine (nibble). Ogni gruppo di 4 bit corrisponde a una cifra esadecimale (0–9, A–F).

Esempio. 1492 in binario è 10111010100. Per trasformarlo in esadecimale si raggruppano i bit a 4 a partire da destra (aggiungendo zeri a sinistra se necessario): 0101 1101 0100 → 0x05D4 (cioè 5D4, spesso scritto 05D4 su 16 bit).
Corrispondenza fra sistema binario, decimale ed esadecimale.
Binario Decimale Esadecimale
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 10 10
1011 11 11
1100 12 12
1101 13 13
1110 14 14
1111 15 15

Approfondimento: il codice ASCII

ASCII (American Standard Code for Information Interchange) è un codice che associa numeri a caratteri e simboli. La versione originale usa 7 bit: 2^7 = 128 simboli. L’ASCII esteso usa 8 bit (256 simboli). Ad esempio, lo spazio ha codice 0x20 (esadecimale), cioè 32 (decimale).

Perché 2, 4, 8…? In base 2 ogni posizione vale una potenza di 2: il valore di un numero binario è la somma dei pesi delle posizioni per cui il bit vale 1.