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.
Debe cumplirse que 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 2: a partir de la dirección 4 (0100)
Ubicación 3: a partir de la dirección 0 (0000)
Ubicación 4: a partir de la dirección 8 (1000)
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