
1-12
MPC603e & EC603e RISC Microprocessors User's Manual
MOTOROLA
dispatch stalls. A maximum of two instructions per cycle are completed in order from the
queue.
1.1.5 Memory Subsystem Support
The 603e provides support for cache and memory management through dual instruction
and data memory management units. The 603e also provides dual 16-Kbyte instruction and
data caches, and an efficient processor bus interface to facilitate access to main memory and
other bus subsystems. The memory subsystem support functions are described in the
following subsections.
1.1.5.1 Memory Management Units (MMUs)
The 603e’s MMUs support up to 4 Petabytes (2
52
) of virtual memory and 4 Gigabytes (2
32
)
of physical memory (referred to as real memory in the architecture specification) for
instruction and data. The MMUs also control access privileges for these spaces on block
and page granularities. Referenced and changed status is maintained by the processor for
each page to assist implementation of a demand-paged virtual memory system. A key bit is
implemented to provide information about memory protection violations prior to page table
search operations.
The LSU calculates effective addresses for data loads and stores, performs data alignment
to and from cache memory, and provides the sequencing for load and store string and
multiple word instructions. The instruction unit calculates the effective addresses for
instruction fetching.
After an address is generated, the higher-order bits of the effective address are translated by
the appropriate MMU into physical address bits. Simultaneously, the lower-order address
bits (that are untranslated and therefore, considered both logical and physical), are directed
to the on-chip caches where they form the index into the four-way set-associative tag array.
After translating the address, the MMU passes the higher-order bits of the physical address
to the cache, and the cache lookup completes. For caching-inhibited accesses or accesses
that miss in the cache, the untranslated lower-order address bits are concatenated with the
translated higher-order address bits; the resulting 32-bit physical address is then used by the
memory unit and the system interface, which accesses external memory.
The MMU also directs the address translation and enforces the protection hierarchy
programmed by the operating system in relation to the supervisor/user privilege level of the
access and in relation to whether the access is a load or store.
For instruction accesses, the MMU performs an address lookup in both the 64 entries of the
ITLB, and in the IBAT array. If an effective address hits in both the ITLB and the IBAT
array, the IBAT array translation takes priority. Data accesses cause a lookup in the DTLB
and DBAT array for the physical address translation. In most cases, the physical address
translation resides in one of the TLBs and the physical address bits are readily available to
the on-chip cache.