A virtual memory mapping system for translating a logical address for a memory reference to a block of virtual memory into a physical address for the memory reference in real memory, wherein the block of virtual memory is divided into a plurality of logical partitions, and wherein a logical address includes a virtual block number addressing the block of memory in virtual memory space, a plurality of logical partition selection bits selecting the selected logical partition within the block of memory, and a real address offset, the virtual memory mapping system comprising:
- an address translation buffer containing a plurality of entries, wherein each entry in the address translation buffer is associated with a block of virtual memory and includes a virtual block number, a real block number addressing the block of memory in real memory, and a plurality of logical partition valid bits, wherein a logical partition of the block of virtual memory is indicated as valid in real memory by an associated logical partition valid bit among the plurality of logical partition valid bits;
- means for combining the real block number with the logical partition selection bits and the real address offset to form a physical address in real memory for the memory reference in the selected logical partition, when the selected logical partition is indicated as valid by the associated logical partition valid bit;
- a comparator that receives a logical address for a memory reference to a selected logical partition of a block of virtual memory and determines if there is a match between the virtual block number of the received logical address and a virtual block number for any entry in the address translation buffer;
- selection means for selecting the logical partition valid bit associated with the selected logical partition;
- and
- a physical address register that receives and stores the real block number, the logical partition selection bits and the real address offset as a physical address to the real memory for the memory reference, when the logical partition valid bit associated with the selected logical partition indicates the selected partition is valid in real memory regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory.