ELEMANIA
Digitale - Espansione degli indirizzi
Espansione dello spazio degli indirizzi

Consideriamo ora un caso leggermente più complesso. Supponiamo di voler creare un banco di memoria formato da una memoria ROM con organizzazione 1k x 1 byte e da tre RAM ciascuna con organizzazione 1k x 1 byte. In questo caso la dimensione della parola rimane invariata (1 byte), mentre si vuole espandere lo spazio degli indirizzi, cioè il numero di parole.

Il banco di memoria conterrà 4 x 1k = 4096 parole e dunque avrà bisogno di 12 linee di indirizzo (essendo 212= 4096) I quattro singoli integrati invece usano 10 bit di indirizzo ciascuno. Supponiamo di voler suddividere lo spazio degli indirizzi nel seguente modo:

Indirizzo iniziale Indirizzo finale Integrato
Decimale Binario Esadecimale Decimale Binario Esadecimale
0 000000000000 000 1023 001111111111 3FF ROM
1024 010000000000 400 2047 011111111111 7FF RAM1
2048 100000000000 800 3071 101111111111 BFF RAM2
3072 110000000000 C00 4095 111111111111 FFF RAM3

La mappa di memoria corrispondente è questa:

Osserviamo che gli spazi degli indirizzi dei singoli integrati differiscono solo per il valore dei primi due bit (A11 e A10) e precisamente:

A11
A10
Integrato
0
0
ROM
0
1
RAM1
1
0
RAM2
1
1
RAM3

Possiamo dunque usare un decoder 2:4 per selezionare (tramite l'ingresso chip select, CS, che, se non attivato, manda l'integrato in alta impedenza) uno fra i quattro integrati. Lo schema del banco è il seguente:

Osserviamo che le linee di ingresso (I0-I7) arrivano contemporaneamente a tutti gli integrati. Anche le linee di uscita U0-U7 sono collegate insieme: questo è possibile solo perché il decodificatore abilita un integrato alla volta, lasciando gli altri in uno stato di alta impedenza.

Se per esempio A11=L e A10=L il decoder attiva la linea zero ed abilita la ROM, disabilitando le altre 3 memorie. Invece con A11=L e A10=H viene abilitata RAM1, eccetera.

Si noti che il segnale di ingresso R/W arriva a tutti gli integrati (tranne che alla ROM, che può solo essere letta). Se un integrato non è abilitato, esso non risponde ai comandi di lettura e scrittura.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it