La memoria e il sistema di memorizzazione in un computer

La memoria e il sistema di memorizzazione in un computer

La memoria in un computer

La memoria è quella parte del calcolatore in cui sono immagazzinati i programmi ed i dati. Senza una memoria in cui i processori possano leggere e scrivere informazioni, non esisterebbero calcolatori digitali con programmi memorizzati.

La memoria rappresenta una parte essenziale nonché una delle chiavi di successo (assieme alla capacità di processamento e alla riprogrammabilità) del computer grazie alla possibilità di memorizzare, nei moderni sistemi elettronici, grandi quantità di dati. In essa sono memorizzati dati d’archivio dell’utente e le istruzioni dei programmi facenti parte del software di base o applicativo.

Una memoria in un computer può essere considerata astrattamente come una sequenza finita di celle in cui ogni cella contiene una sequenza finita di bit, normalmente gestiti a gruppi di otto detti byte. Pertanto lo spazio fisico della memoria può essere immaginato come una sequenza di posizioni, ognuna contenente un byte. Ogni posizione è individuata da un preciso indirizzo di memoria, normalmente espresso tramite un numero intero positivo. Ad oggi la tecnologia implementativa di gran lunga più usata è la memoria elettronica, la memoria magnetica e quella ottica.

La memoria e il sistema di memorizzazione in un computer
Piramide di classificazione delle memorie in un computer

Sistema di memorizzazione e i bit

L’unità fondamentale della memoria è la cifra binaria, detta bit. Ogni bit può contenere uno 0 oppure un 1. E’ dunque l’unità più semplice possibile da memorizzare ed elaborare.

Spesso si dice che i calcolatori usano l’aritmetica binaria perché è più efficiente; in realtà, l’aritmetica binaria gode di due pregi: l’efficienza e l’affidabilità. Cominciamo proprio dall’affidabilità: l’informazione digitale può essere  memorizzata distinguendo tra i  diversi valori di qualche grandezza fisica continua (o, meglio, analogica), come la tensione o la corrente;  quanti  più  valori  devono essere distinti, tanto meno separazione esisterà tra valori adiacenti e quindi tanto meno la memoria sarà affidabile; allora, nel caso del sistema di  numerazione  binaria, i valori da distinguere sono solo due, il che lo rende  il  sistema  più  affidabile possibile per la codifica delle  informazioni.

Talvolta, si pubblicizzano alcuni calcolatori, come i grandi mainframe  IBM,  dicendo che sono dotati dell’aritmetica decimale oltre che di quella binaria. Il “trucco”, in questa affermazione, è semplice: si usano 4 bit per memorizzare una singola cifra decimale, secondo una tecnica chiamata BCD (Binary-Coded Decimal). Evidentemente, dato che 4 bit forniscono 24=16 combinazioni, 10 di queste sono usate per le 10 cifre decimali (da 0 a 9), mentre le rimanenti 6  rimangono  inutilizzate. Così facendo, ad esempio, il numero 1944 sarà codificato nel modo seguente:

sistema decimale:      0001  1001  0100 0100

sistema binario:        0000011110011000

In entrambi i casi, sono stati usati 16 bit, ma con una differenza fondamentale: i 16 bit del formato decimale possono memorizzare solo i numeri da 0 a 9999, permettendo cioè solo 10000 combinazioni, mentre invece i 16 bit binari  consentono di rappresentare 65536 diverse combinazioni, ossia più di 6 volte tanto. Per questa ragione si dice che l’aritmetica binaria è più efficiente.

Gli indirizzi di memoria

La memoria principale di un calcolatore è costituita da un numero di celle (o locazioni), ognuna delle quali può immagazzinare un  elemento  di  informazione. Ogni cella è individuata da un proprio numero (detto indirizzo) con il quale i programmi possono riferirsi ad essa. Se una memoria ha N celle, allora tali celle avranno indirizzi compresi tra 0 e  N-1.

Ogni cella di memoria contiene lo stesso numero di  bit. Se una cella contiene K  bit, allora essa può  contenere una  qualsiasi delle 2K combinazioni diverse di tali  bit. Le celle adiacenti hanno ovviamente indirizzi consecutivi.

I calcolatori che usano l’ aritmetica binaria esprimono anche gli indirizzi di memoria tramite numeri binari. Ad esempio, se un indirizzo di memoria binario è costituito da M bit, significa che il numero massimo di  celle  direttamente indirizzabili è 2M. Il numero di bit nell’indirizzo è dunque collegato al numero  massimo di celle direttamente indirizzabili, ma invece non dipende affatto dal numero di bit per ogni cella. Ad esempio, una memoria con 212  celle ciascuna da 8 bit avrebbe bisogno di indirizzi a 12 bit così come una memoria con 212 celle da 60  bit: ciò che conta è il numero di celle e non la loro dimensione.

La cella è l’unità indirizzabile più piccola. Negli ultimi anni,  molti  costruttori hanno standardizzato celle a 8 bit, dette byte. A loro volta, i byte sono raggruppati in parole. Il numero di byte costituenti una parola varia da  calcolatore  e  calcolatore: ad esempio, un calcolatore con una parola a 16 bit ha evidentemente 2 byte/parola, mentre invece un calcolatore con una parola a 32 bit ha evidentemente 4 byte/parola (questo è il caso oggi più comune e frequente nei computer).

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *