beautypg.com

NEC Network Controller uPD98502 User Manual

Page 151

background image

CHAPTER 2 V

R

4120A

Preliminary User’s Manual S15543EJ1V0UM

151

(3) TLB modified exception

(a) Cause

The TLB Modified exception occurs when the TLB entry that matches with the virtual address referenced by the

store instruction is valid (V bit is 1) but is not writeable (D bit is 0). This exception is not maskable.

(b) Processing

The common exception vector is used for this exception, and the Mod code in the ExcCode field of the Cause

register is set.

When this exception occurs, the BadVAddr, Context, Xcontext, and EntryHi registers contain the virtual address

that failed address translation. The EntryHi register also contains the ASID from which the translation fault

occurred. The contents of the EntryLo register are undefined.

The EPC register contains the address of the instruction that caused the exception. However, if this instruction is

in a branch delay slot, the EPC register contains the address of the preceding jump or branch instruction, and the

BD bit of the Cause register is set to 1.

(c) Servicing

The kernel uses the failed virtual address or virtual page number to identify the corresponding access control bits.

The page identified may or may not permit write accesses; if writes are not permitted, a write protection violation

occurs.

If write accesses are permitted, the page frame is marked dirty (/writeable) by the kernel in its own data structures.

The TLBP instruction places the index of the TLB entry that must be altered into the Index register. The word data

containing the physical page frame and access control bits (with the D bit set to 1) is loaded to the EntryLo

register, and the contents of the EntryHi and EntryLo registers are written into the TLB.