A programmable address translation system for a modular main memory is
provided. The system is implemented using one or more General Register
Arrays (GRAs), wherein each GRA performs logical-to-physical address
translation for a predetermined address range within the system.
Predetermined bits of a logical address are used to address a GRA
associated with the logical address range. Data bits read from the GRA are
then substituted for the predetermined bits of the logical address to form
the physical address. In this manner, non-contiguous addressable banks of
physical memory may be mapped to a selectable contiguous address range. By
including within the GRA Address a number N of logical address bits used
to address contiguous logical addresses, an address translation mechanism
is provided which may be programmed to perform between 2-way and 2.sup.N
-way address interleaving. Each GRA may be re-programmed dynamically to
accommodate changing memory conditions as may occur, for example, when a
range of memory is logically removed from a system because of errors.
Furthermore, GRA reprogramming may occur while memory operations continue
within other non-associated address ranges. Additionally, address
interleaving may be selected for certain ones of the address ranges,
whereas a non-interleaving scheme may be selected for other address
ranges.
Un sistema programable de la conversión de dirección para una memoria central modular se proporciona. Se pone en ejecucio'n el sistema usando unos o más órdenes del registro general (GRAs), en donde cada GRA realiza la conversión de dirección lo'gico-a-fi'sica para una gama de dirección predeterminada dentro del sistema. Los pedacitos predeterminados de una dirección lógica se utilizan para tratar un GRA asociado a la gama de dirección lógica. Los bits de datos leyeron en el GRA entonces se substituyen para los pedacitos predeterminados de la dirección lógica para formar la dirección física. De este modo, los bancos direccionables no-contiguos de la memoria física se pueden traz a una gama de dirección contigua seleccionable. Incluyendo dentro de la dirección de GRA un número N de los pedacitos lógicos de la dirección usados para tratar direcciones lógicas contiguas, un mecanismo de la conversión de dirección es proporcionado que se puede programar para realizarse entre bidireccional y 2.sup.N - interpolación de la dirección de la manera. Cada GRA se puede reprogramar dinámicamente para acomodar condiciones de la memoria que cambian como puede ocurrir, por ejemplo, cuando una gama de la memoria se quita lógicamente de un sistema debido a errores. Además, GRA que reprograma puede ocurrir mientras que las operaciones de memoria continúan dentro de otras gamas de dirección no asociadas. Además, la interpolación de la dirección se puede seleccionar para las ciertas de las gamas de dirección, mientras que un esquema de la no-interpolacio'n se puede seleccionar para otras gamas de dirección.