
2-8
MPC8240 Integrated Processor User's Manual
MOTOROLA
PowerPC Processor Core Features
2.2.5 Completion Unit
The completion unit tracks instructions from dispatch through execution, and then retires,
or completes them in program order. Completing an instruction commits the processor core
to any architectural register changes caused by that instruction. In-order completion ensures
the correct architectural state when the processor core must recover from a mispredicted
branch or any exception.
Instruction state and other information required for completion is kept in a Trst-in-Trst-out
(FIFO) queue of Tve completion buffers. A single completion buffer is allocated for each
instruction once it enters the dispatch unit. An available completion buffer is a required
resource for instruction dispatch; if no completion buffers are available, instruction
dispatch stalls. A maximum of two instructions per cycle are completed in order from the
queue.
2.2.6 Memory Subsystem Support
The processor core supports cache and memory management through separate instruction
and data MMUs (IMMU and DMMU). The processor core also provides dual 16-Kbyte
instruction and data caches, and an efTcient peripheral bus interface to facilitate access to
main memory and other bus subsystems. The memory subsystem support functions are
described in the following subsections.
2.2.6.1 Memory Management Units (MMUs)
The processor cores MMUs support up to 4 Petabytes (2
52
) of virtual memory and
4 Gbytes (2
32
) of physical memory (referred to as real memory in the PowerPC architecture
speciTcation) for instructions 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.
The MMUs translate effective addresses and enforce the protection hierarchy programmed
by the operating system in relation to the supervisor/user privilege level of the access and
in relation to the type of accessload or store.
2.2.6.2 Cache Units
The processor core provides independent 16-Kbyte, four-way set-associative instruction
and data caches. The cache block size is 32 bytes. The caches are designed to adhere to a
write-back policy, but the processor core allows control of cacheability, write policy, and
memory coherency at the page and block levels. The caches use a least recently used (LRU)
replacement algorithm.