Ubicación en el espacio de direcciones

Dado un espacio de direcciones dn-1, dn-2,…,d1, d0 y una memoria de capacidad 2m palabras(m n)se trata de hallar la función lógica de selección (SC) que ubique a la memoria en un segmento de direcciones consecutivas Di,…Dj, así como las señales locales de dirección de la memoria.

Ubicación en el espacio

Debe cumplirse que Dj – Di + 1 = 2m

Dj – Di + 1 = 2m

Si la memoria debe ocupar posiciones consecutivas, las líneas menos significativas del bus de direcciones se conectarán con las líneas de direcciones locales de la memoria:

ld0 = d0
ld1 = d1
ldm-2 = dm-2
ldm-1 = dm-1

La función de selección será una función booleana del bus de direcciones:

SC = fb(dn-1, dn-2,…,d1, d0)

Ejemplo: Ubicar una memoria de 8 palabras en un espacio de 4 líneas de dirección (d3,d2,d1,d0).

Ubicación 1: a partir de la dirección 5 (0101)

ubicación 1

Ubicación 2: a partir de la dirección 4 (0100)

ubicación 2

Ubicación 3: a partir de la dirección 0 (0000)

ubicación 3

Ubicación 4: a partir de la dirección 8 (1000)

Ubicación 4

Conclusión: la función de selección es más simple cuanto más alineado se encuentre el bloque de memoria en el espacio de direcciones. La máxima alineación la tendremos cuando se cumpla que:

dirección inicial mod 2n = 0

Es decir, el resto de dividir la dirección inicial por el tamaño de bloque es igual a 0.

Fuente: Estructura de Computadores, Facultad de Informática, UCM