Las asignaciones de direcciones de memoria son en gran medida el resultado de decisiones tomadas por los fabricantes de procesadores. Los usuarios pueden distribuir la memoria de forma dispersa dentro de los espacios de direcciones apropiados, pero los usuarios generalmente "siguen el flujo" y hacen lo que requiere el hardware del procesador.
Por ejemplo, si un procesador obtiene vectores de encendido y restablecimiento desde, por ejemplo, la parte inferior de la memoria, los usuarios deben disponer que la memoria del programa que contiene los vectores se encuentre en esas ubicaciones durante el inicio.
En su ejemplo, EPROM (u otra memoria del programa) probablemente estaba en 0x0000 porque el procesador observó una ubicación en o cerca de x0000 para su vector de inicio.
Es menos común, pero algunos sistemas mueven bancos de memoria para satisfacer necesidades específicas. Por ejemplo, un procesador puede tener vectores de inicio e interrupción de direcciones bajas, pero también tiene un conjunto de instrucciones que favorece las instrucciones que abordan un pequeño bloque de memoria cerca de 0x0000. Por ejemplo, el conjunto de instrucciones puede permitir que se lleven 4 o 6 bits de dirección inmediata dentro de la palabra de instrucción, lo que permite un direccionamiento eficiente de los primeros 16 o primeros 64 bytes de memoria. En tal caso, el inicio puede requerir un ROM bajo, pero el uso eficiente de las instrucciones puede requerir un RAM bajo. Ambos pueden lograrse, por ejemplo, configurando la línea de dirección 6 de la EPROM baja durante el inicio y configurándola después, moviendo el bloque de memoria de la EPROM en 64 o en cualquier posición. De manera similar, la RAM se mueve al área 0x0000. Si otros vectores interrumpidos están contenidos en un espacio de direcciones bajo, estos deben escribirse en la RAM antes de que se mueva hacia abajo.
Los decodificadores de direcciones pueden organizarse para hacer casi cualquier cosa deseada con líneas de direcciones y con lo que va a dónde. Un bloque de memoria puede repetirse N veces, o aparecer solo una vez, o puede que solo aparezca la mitad a la vez y el control de la mitad aparece controlada por un bit de E / S.