Chapter 5. Memory Management
5-33
Memory Segment Model
5.4.5 Page Table Search Operation
If the translation is not found in the TLBs (a TLB miss), the MPC7400 initiates a table
search operation which is described in this section. Formats for the PTE are given in òPTE
Format for 32-Bit Implementations,ó in Chapter 7, òMemory Management,ó of
The
Programming Environments Manual.
5.4.5.1 Conditions for a Page Table Search Operation
For instruction accesses, the MPC7400 processor does not initiate a table search operation
for an ITLB miss until the completion buffer is empty and the completed store queue is
empty. Also, the instruction buffer must be empty, and there must be no other exceptions
pending.
Also, the MMU does not perform a hardware table search due to DTLB misses (or to
modify the C bit) until the access is absolutely required by the program ow and there are
no other exceptions pending.
In the MPC7400, a TLB miss (and subsequent page table search operation) occurs
transparently to the program. Thus, if a TLB miss occurs as a misaligned access crosses a
translation boundary, the second portion of the misaligned access is completed
automatically once the table search operation completes successfully. If the table search
operation results in a page fault, an exception occurs and upon returning from the page fault
handling routine, the entire misaligned access is restarted beginning with the Trst portion
of the access.
Note that, as described in Chapter 6, òInstruction Timing,ó store gathering does not occur
while a page table search operation is in progress.
The AltiVec data stream touch instructions (
dst
[
t
] and
dstst
[
t
]) provide the ability to
prefetch up to 128 Kbytes of data per instruction. As described in Chapter 6, òInstruction
Timing,ó a
dst
[
t
] or
dstst
[
t
]
instruction can be retired from the completion buffer as soon
as the instruction is loaded into the vector touch queue (VTQ). However, if a line fetch in
the VTQ requires a table search operation before the instruction is retired, then the table
search operation is delayed until the instruction is retired. If a line fetch in the VTQ requires
a table search operation after the instruction has been retired, the table search operation is
initiated immediately.
To further increase performance, the VTQ stream engines operate in parallel with the other
execution units. Thus, the TLBs are non-blocking, and are available to the instruction unit
and LSU for both instruction and data address translation during a VTQ-initiated table
search operation.