Chapter 5. Memory Management
5-27
Memory Segment Model
Although both MMUs can be accessed simultaneously (both sets of segment registers and
TLBs can be accessed in the same clock), only one exception condition is reported at a time.
Exceptions are processed in strict program order, and a particular exception is processed
when the instruction that caused it is the next instruction to be retired. When a particular
instruction causes an instruction MMU exception, that exception is processed before that
instruction can cause a data MMU exception.
ITLB miss conditions are reported when there are no more instructions to be dispatched or
retired (the pipeline is empty), and DTLB miss conditions are reported when the load or
store instruction is the next instruction to be retired. In the case that both an ITLB and
DTLB miss are reported in the same clock, the DTLB miss takes precedence and is handled
Trst. Refer to Chapter 6, òInstruction Timing,ó for more detailed information about the
internal pipelines and the reporting of exceptions.
Although address translation is disabled on a soft or hard reset condition, the valid bits of
TLB entries are not automatically cleared. Thus, TLB entries must be explicitly cleared by
the system software (with the
tlbie
instruction) before address translation is enabled. Also,
note that the segment registers do not have a valid bit, and so they should also be initialized
before translation is enabled.
5.4.3.2 TLB Invalidation
The MPC7400 implements the optional
tlbie
and
tlbsync
instructions, which are used to
invalidate TLB entries.
The
tlbia
instruction is not implemented on the MPC7400 and when its opcode is
encountered, an illegal instruction program exception is generated. To invalidate all entries
of both TLBs, 64
tlbie
instructions must be executed, incrementing the value in
EA14DEA19 by one each time. See Chapter 8, òInstruction Set,ó in
The Programming
Environments Manual
for architecture information about the
tlbie
instruction.
5.4.3.2.1 tlbie Instruction
The execution of the
tlbie
instruction always invalidates four entriesboth the ITLB and
DTLB entries indexed by EA[14:19]. The
tlbie
instruction executes regardless of the
setting of the MSR[DR] and MSR[IR] bits.
The architecture allows
tlbie
to optionally enable a TLB invalidate signaling mechanism in
hardware so that other processors also invalidate their resident copies of the matching PTE.
When an MPC7400 processor executes a
tlbie
instruction it always broadcasts this
operation on the system bus as a global (M = 1) TLBIE address-only transaction
(TT[0:4] = 11000) with the 32-bit effective (not physical) address reected on the address
bus. Figure 5-8 shows the ow of events caused by execution of the
tlbie
instruction as well
as the actions taken by the MPC7400 when a TLBIE transaction is detected on the
processor bus.