ELEMANIA
Digitale - Banchi di memoria
Banchi di memoria

In informatica un banco di memoria (o memoria composta) è un insieme di integrati di memoria collegati insieme in modo da condividere linee dati e linee di indirizzo. In pratica si tratta di più integrati distinti che possono essere utilizzati esternamente come un unico dispositivo di memoria.

Le ragioni per cui si può avere la necessità di creare un banco di memoria sono:

  1. necessità di mettere insieme memorie di diverso tipo (es. ROM e RAM);
  2. necessità di disporre di una capacità di memoria superiore a quella di un singolo integrato;
  3. necessità di espandere il numero di bit della parola degli integrati di memoria.

A titolo di esempio in figura seguente è mostrato un banco formato da 8 integrati da 512MB ciascuno per formare un'unica memoria totale da 4 GB:

Spazio degli indirizzi

In generale il banco di memoria si presenta esternamente come un unico dispositivo dotato di un unico insieme di indirizzi (detto spazio degli indirizzi o spazio di memoria). Internamente lo spazio degli indirizzi dovrà essere opportunamente suddiviso fra i diversi integrati che fanno parte del banco.

Supponiamo per esempio di avere un unico banco di memoria formato da 4 integrati (IC1, IC2, IC3, IC4) con organizzazione 64 x 4 bit ciascuno. Ogni integrato possiede dunque 6 linee di indirizzo (dato che 26= 64).

Se i quattro integrati vengono collegati insieme per formare un banco di memoria, la capacità totale del banco sarà pari a 64 x 4 x 4 = 1024 bit (128 Byte). Come tale capacità venga suddivisa e organizzata all'interno del banco dipende dalla soluzione di progetto che è scelta.

Espansione degli indirizzi

Considerando tutte le parole da 4 bit presenti nei 4 integrati che formano il nostro banco di esempio, il numero totale di indirizzi del banco (pari al numero totale di parole) è pari a 256 (64 x 4). Tale valore corrisponde a 28 e dunque sono necessari 8 bit di indirizzo totali per indirizzare ogni singola parola del banco. Lo spazio degli indirizzi del banco è dunque compreso fra 00000000 e 11111111 ovvero fra 00h e FFh, usando il più comodo sistema esadecimale.  

Questo spazio degli indirizzi deve essere suddiviso fra i 4 integrati che compongono il banco, per esempio nel seguente modo:

Indirizzo iniziale Indirizzo finale Integrato
Decimale Binario Esadecimale Decimale Binario Esadecimale
0 00000000 00 63 00111111 3F IC1
64 1000000 40 127 01111111 7F IC2
128 10000000 80 191 10111111 BF IC3
192 11000000 C0 255 11111111 FF IC4

Lo spazio degli indirizzi costituisce dunque una specie di mappa che ci permette di orientarci all'interno di un banco di memoria. Per esempio nel nostro caso l'indirizzo

(70)10 = (1000110)2 = (46)16

corrisponde all'indirizzo (6)10 = (000110)2 = (6)16 di IC2. Si noti che l'indirizzo "interno" di IC2 è stato specificato usando solo sei bit (infatti tale integrato ha solo sei bit di indirizzo).

Una semplice rappresentazione grafica di un banco di memoria, detta mappa di memoria, è la seguente:

Questo tipo di organizzazione del banco viene detta espansione degli indirizzi di memoria, per ovvie ragioni. I numeri 0...3 indicati sul lato superiore della mappa indicano i bit di ogni parola del nostro banco (quattro bit, numerati da 0 a 3).

Espansione della parola ed espansione di parola e indirizzi

In realtà esistono anche altre soluzioni per combinare i quattro integrati per formare un banco di memoria. Si consideri infatti la seguente mappa di memoria (riferita sempre agli stessi integrati):

In questo caso viene effettuata una espansione della parola di memoria. Infatti tutti e quattro i banchi condividono gli stessi indirizzi, cioè il numero totale di parole è rimasto invariato (64 parole). Ciò che è cambiato è la dimensione di ogni parola che è adesso diventata 16bit, suddivisi fra i quattro integrati di memoria come mostrato dalla mappa. 

Una terza possibile organizzazione del banco (che può essere considerata una via di mezzo fra le due precedenti) è la seguente:

In questo esempio viene espansa sia la parola (che diventa 8 bit) che il numero di indirizzi (cioè di parole, 128). La mappa di memoria mostra come è organizzata la suddivisione dei bit all'interno del banco. Nelle prossime lezioni vedremo alcuni esempi di progetto di banchi di memoria per espandere il numero di indirizzi o le dimensioni della parola. 

 

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it