IDT MIPS32 4Kc Processor Core
Memory Management
79RC32438 User Reference Manual
2 - 20
November 4, 2002
Notes
Memory Management
The MMU in a 4Kc processor core will translate any virtual address to a physical address before a
request is sent to the cache controllers for tag comparison or to the bus interface unit for an external
memory reference. This translation is a very useful feature for operating systems when trying to manage
physical memory to accommodate multiple tasks active in the same memory, possibly on the same virtual
address but of course in different locations in physical memory. Other features handled by the MMU are
protection of memory areas and defining the cache protocol.
In the 4Kc processor core, the MMU is TLB based. The TLB consists of three address translation
buffers: a 16 dual-entry fully associative Joint TLB (JTLB), a 3-entry instruction micro TLB (ITLB), and a 3-
entry data micro TLB (DTLB). When an address is translated, the appropriate micro TLB (ITLB or DTLB) is
accessed first. If the translation is not found in the micro TLB, the JTLB is accessed. If there is a miss in the
JTLB, an exception is taken.
Figure 2.19 shows how the memory management unit interacts with cache accesses in the 4Kc core.
Change to CU Bits in Status
Register
Coprocessor Instruction
1
Move to EPC, ErrorPC, or DEPC ERET
1
Move to Status Register
ERET
0
Set of IP in Cause Register
Interrupted Instruction
3
Any Other Move to Coprocessor
0 Registers
Instruction Affected by Change
2
CACHE instruction operating on
I$
Instruction fetch seeing new
cache state
3
LL
Move From LLAddr
1
Move to Compare
Instruction not seeing Timer
Interrupt
4
1
1.
This is the minimum value. Actual value is system-dependent since it is a function of the sequential logic between
the SI-TimerInt output and the external logic which feeds SI-TimerInt back into one of the SI_Int inputs.
1st Instruction
2nd Instruction
Spacing
(Instructions)
Table 2.5 Instruction Hazards (Part 2 of 2)