LE MEMORIE
Per cominciare lo studio delle memoria bisogna iniziare a parlare dalla sua più piccola parte: le celle di memoria. Per definizione, le celle di memoria sono le unità elementari della memoria; esse possono contenere solo un bit (0 o 1). Un insieme di 8 bit viene definito byte, mentre un gruppo di bit che codifica le singole informazioni scambiate tra i vari sistemi digitali e denominato parola (word). In sintesi, le memorie sono organizzate in parole di lunghezza fissa (esse sono formate da multipli di 8 bit). Più celle di memoria formano una locazione che può contenere un intera parola o solamente parte di essa. Più locazioni di memoria formano la memoria stessa. Ogni locazione viene associata a un indirizzo che permette di individuarne la posizione.
SCHEMA DI UNA MEMORIA
A0 - A12 = N indirizzi che servono alla memoria
D0 - D7 = N dati che vengono scambiati tra memoria e CPU
CS (Chip Select) = entrata per la selezione della memoria
OE (Output Enable) = permette l'uscita dei dati
R/W = entrata di lettura e scrittura da memoria
Il numero di indirizzi che SERVONO al corretto funzionamento della memoria corrispondono all'esponente della potenza con base 2 che sta indicare il numero di locazioni (8K = 2 alla 13sima perché 2 alla 13sima = 2 alla 10ima (1024bit) X 2 alla terza (8 bit)). A differenza del numero di indirizzi, il numero di fili del bus dati dipendono dal numero a destra della memoria (8K X 8).
Espansione di memoria
In una macchina non è obbligatorio inserire solamente una memoria ma è possibile mettere più moduli. E' importante fare la distinzione tra ESPANSIONE DI CAPACITA' (locazioni) ed ESPANSIONE DI PAROLA. Nella prima, si espandono il numero di LOCAZIONI; nella seconda si ha un aumento della LUNGHEZZA di bit della singola locazione (aumento della lunghezza della parola o word).
Mappa di memoria
32K X 4
|
Qui di fianco si ha un esempio di una MAPPA DI MEMORIA che indica come sono collegati tra di loro i singoli moduli. Leggendola in VERTICALE si ha una espansione di capacità, leggendola in ORIZZONTALE un espansione di parola. Si può notare in fondo alla mappa un modulo tratteggiato con l'indicazione "8K LIBERI" che sta ad indicare che quel modulo non c'è ma tutto il sistema è predisposto per ospitare un altro modulo. |
Per coloro che frequentano un istituto informatico questo esercizio dovrebbe essere utile. La domanda che dobbiamo porci è: "Ma gli indirizzi, come vengono visti?". Rispondiamo dicendo che gli indirizzi sono indicati con cifre esadecimali e per trovare il primo e l'ultimo di ogni modulo, formatosi dalla espansione di capacità, bisogna avere il numero reale delle locazioni (in questo caso vediamo nel primo banco 4K che non è altro che 4 * 1024 = 4096)
dopodiché togliere una sola cifra (come i bit, gli indirizzi partono da 0 e non da 1. Questo giustifica la sottrazione di una cifra 4096 - 1 = 4095). Dopo questo passo, il numero che avremo dovrà essere convertito in esadecimale e cosi otterremo l'ULTIMO INDIRIZZO DEL PRIMO BANCO (nel esempio 0FFF). Il primo indirizzo di qualsiasi mappa di memoria è 0000. Per ottenere gli indirizzi successivi, al primo numero trasformato in esadecimale si deve aggiungere una cifra (la cifra che avevamo tolto prima 4095 + 1 = 4096) dopodiché convertirlo sempre in esadecimale e si avrà il PRIMO INDIRIZZO DEL SECONDO BANCO (1000). L'ULTIMO INDIRIZZO DEL SECONDO BANCO SI HA dalla somma dei numeri delle locazioni del primo banco di memoria con il secondo (il primo banco 4K e il secondo 4K formano 8K 4K + 4K = 8K che non è altro che 8 * 1024 = 8192). Sottraiamo una cifra al numero ottenuto prima (8192 - 1 = 8191) e convertirlo in esadecimale (1FFF). Questo procedimento e da ripetere finché non si arriverà alla fine della mappa di memoria |