
3-14
MPC603e & EC603e RISC Microprocessors User's Manual
MOTOROLA
check exception). In addition, areas that contain holes in the physical memory space may
be designated as guarded.
3.5.5.2 Effects of Out-of-Order Data Accesses
Most data operations may be performed out-of-order, as long as the machine appears to
follow a simple sequential model. However, the following out-of-order operations do not
occur:
Out-of-order loading from guarded memory (G = 1) does not occur. However, when
a load or store operation is required by the program, the entire cache block(s)
containing the referenced data may be loaded into the cache.
Out-of-order store operations that alter the state of the target location do not occur.
No errors except machine check exceptions are reported due to the out-of-order
execution of an instruction until it is known that execution of the instruction is
required.
Machine check exceptions resulting solely from out-of-order execution (from nonguarded
memory) may be reported. When an out-of-order instruction's result is abandoned, only one
side effect (other than a possible machine check) may occur—the referenced bit (R) in the
corresponding page table entry (and TLB entry) can be set due to an out-of-order load
operation. See Chapter 4, “Exceptions,” for more information on the machine check
exception.
Thus an out-of-order load or store instruction will not access guarded memory unless one
of the following conditions exist:
The target memory item is resident in an on-chip cache. In this case, the location
may be accessed from the cache or main memory.
The target memory item is cacheable (I = 0) and it is guaranteed that the load or store
is in the execution path (assuming there are no intervening exceptions). In this case,
the entire cache block containing the target may be loaded into the cache.
The target memory is cache-inhibited (I = 1), the load or store instruction is in the
execution path, and it is guaranteed that no prior instructions can cause an exception.
3.5.5.3 Effects of Out-of-Order Instruction Fetches
To avoid instruction fetch delay, the processor typically fetches instructions ahead of those
currently being executed. Such instruction prefetching is said to be out-of-order in that
prefetched instructions may not be executed due to intervening branches or exceptions.
During instruction prefetching, no errors except machine check exceptions are reported due
to the out-of-order fetching of an instruction until it is known that execution of the
instruction is required.
Machine check exceptions resulting solely from out-of-order execution (from nonguarded
memory) may be reported. When an out-of-order instruction's result is abandoned, only one
side effect (other than a possible machine check) may occur—the referenced bit (R) in the