Download MPC603e RISC Microprocessor User`s Manual

Transcript
Page Table Search Operation
TLB. When this occurs, the processor automatically saves information about the access and
the executing context. Table 5-9 provides a summary of the implementation-specific
exceptions, registers, and instructions that can be used by the TLB miss exception handler
software in 603e systems. Refer to Chapter 4, “Exceptions,” for more information about
exception processing.
Table 5-9. Implementation-Specific Resources for Table Search Operations
Resource
Exceptions
Registers
Instructions
Name
Description
Instruction TLB miss
exception
(vector offset 0x1000)
No matching entry found in ITLB.
Data TLB miss on load
exception
(vector offset 0x1100)
No matching entry found in DTLB for a load data access.
Data TLB miss on store
exception—also caused
when changed bit must
be updated
(vector offset 0x1200)
No matching entry found in DTLB for a store data access or matching DLTB
entry has C = 0 and access is a store.
IMISS and DMISS
When a TLB miss exception occurs, the IMISS or DMISS register contains
the 32-bit effective address of the instruction or data access that caused the
miss exception.
ICMP and DCMP
The ICMP and DCMP registers contain the word to be compared with the
first word of a PTE in the table search software routine to determine if a PTE
contains the address translation for the instruction or data access. The
contents of ICMP and DCMP are automatically derived by the 603e when
a TLB miss exception occurs.
HASH1 and HASH2
The HASH1 and HASH2 registers contain the primary and secondary
PTEG addresses that correspond to the address causing a TLB miss.
These PTEG addresses are automatically derived by the 603e by
performing the primary and secondary hashing function on the contents of
IMISS or DMISS, for an ITLB or DTLB miss exception, respectively.
RPA
The system software loads a TLB entry by loading the second word of the
matching PTE entry into the RPA register and then executing the tlbli or
tlbld instruction (for loading the ITLB or DTLB, respectively).
tlbli rB
Loads the contents of the ICMP and RPA registers into the ITLB entry
selected by <ea> and SRR1[WAY].
tlbld rB
Loads the contents of the DCMP and RPA registers into the DTLB entry
selected by <ea> and SRR1[WAY].
In addition, the 603e contains the following features that do not specifically control the
603e MMU, but that are implemented to increase performance and flexibility in the
software table search routines whenever one of the three TLB miss exceptions occurs:
•
5-32
Temporary GPR0–GPR3. These registers are available as r0–r3 when MSR[TGPR]
is set. The 603e automatically sets MSR[TGPR] for these cases, allowing these
exception handlers to have four registers that are used as scratchpad space, without
having to save or restore this part of the machine state that existed when the
exception occurred. Note that MSR[TGPR] is cleared when the rfi instruction is
MPC603e RISC Microprocessor User’s Manual