CPU e RAM: questi sconosciuti

Mattepuffo's logo
CPU e RAM: questi sconosciuti

CPU e RAM: questi sconosciuti

Quando acquistiamo un pc, tra le cose a cui guardiamo, ci sono la CPU e la RAM.

Ma quasi nessuno, a parte quelli del settore, sa effettivamente a cosa servono e perchè sono fondamentali.

Oggi proverò a dare una semplice e basilare spigeazione di questi due componenti.

La CPU (Central Processing Unit), chiamato anche processore, è l'unità che esegue i calcoli.

Senza di questa il pc neanche si accende.

Per eseguire questi calcoli, però, ha bisogno di un posto dove immagazzinare le informazioni necessarie; anche se vogliamo fare una semplice somma tra due numeri, la CPU avrà bisogno di memorizzare i due numeri sui quali eseguire l'operazione.

Queste informazioni vengono inserite nella RAM (Random Acceess Memory), che è una memoria dinamica ad alta velocità.

Il problema, però, è che la scrittura dei dati in maniera disordinata nella RAM, non è molto efficiente; potrebbe diventare difficile trovare i dati dentro 32 GB di memoria.

Qui entrano in gioco i cosidetti registri del processore, un tipo di memoria ridotta ma molto veloce.

In questi registri non vengono inserite le informazioni, ma dei puntatori alle celle di memoria della RAM.

Tanto per fare un esempio banale, supponiamo di avere nel nostro programma una variabile che rappresenta il numero 1.

Questo numero verrà memorizzato in una particolare cella di memoria della RAM, che viene cotraddistinta da un numero univoco che rappresenta il suo indirizzo.

Questo indirizzo viene memorizzato nel registro, che quindi saprà esattamente dove si trova la nostra variabile.

Per certi versi assomiglia agli indici di un database, o all'elenco degli indirizzi di una città.

Di registri ne esistono varie tipologie; senza entrare troppo nel dettaglio possiamo suddividerli in base al numero di bit che possono contenere: 8, 16, 32, 64.

Visto che i registri contengono gli indirizzi della RAM, è evidente che se può contenere più bit può anche rappresentare più indirizzi.

Per calcolare esattamente quanti, ci basta pensare che i bit possono avere solo due valori: 0 e 1.

Quindi un registro a 32 bit potrà contenere 2 alla 32esima diversi indirizzi (4294967296); che trodotto in byte sono circa 4096 MB, cioè 4 GB.

Ed ecco perchè i sistemi operativi che si basano su CPU a 32 bit non possono usare più di 4 GB di RAM.

Mentre i registri a 64 bit possono contenere fino 184 seguito da 19 zeri indirizzi; in sostanza tutta la RAM che ci pare.

Già da parecchi anni le CPU possono eseguire istruzioni a 64 bit; ed infatti su Linux uso versioni a 64 bit da anni, ed il Mac è di base a 64 bit da diverse versioni.

Anche Windows dalla versione 7 produce versioni a 64 bit ben funzionanti (Windows XP a 64 bit non lo calcolo nemmeno).

Ad oggi, tranne casi particolari, non c'è una motivazione nell'usare versioni a 32 bit; e questo è confermato dal fatto che molte distro Linux stanno eliminando la versione a 32 bit.

E' vero che le versioni a 64 consumano più RAM; di contro, però, ne possiamo "manipolare" una quantità maggiore, senza considerare che le CPU a 64 bit sono tendenzialmente più potenti, e possono svolgere una mole maggiore di calcoli.

Enjoy!


Condividi

Commentami!