17.01.2013 Views

MIPS R10000 Microprocessor User's Manual - SGI TechPubs Library

MIPS R10000 Microprocessor User's Manual - SGI TechPubs Library

MIPS R10000 Microprocessor User's Manual - SGI TechPubs Library

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CPU Exceptions 333<br />

17.3 TLB Refill Vector Selection<br />

In all present implementations of the <strong>MIPS</strong> III ISA, there are two TLB refill<br />

exception vectors:<br />

• one for references to 32-bit address space (TLB Refill)<br />

• one for references to 64-bit address space (XTLB Refill)<br />

Table 17-2 lists the exception vector addresses.<br />

The TLB refill vector selection is based on the address space of the address (user,<br />

supervisor, or kernel) that caused the TLB miss, and the value of the corresponding<br />

extended addressing bit in the Status register (UX, SX, or KX). The current<br />

operating mode of the processor is not important except that it plays a part in<br />

specifying in which address space an address resides. The Context and XContext<br />

registers are entirely separate page-table-pointer registers that point to and refill<br />

from two separate page tables, however these two registers share BadVPN2 fields<br />

(see Chapter 14 for more information). For all TLB exceptions (Refill, Invalid,<br />

TLBL or TLBS), the BadVPN2 fields of both registers are loaded as they were in the<br />

R4400.<br />

In contrast to the <strong>R10000</strong>, the R4400 processor selects the vector based on the<br />

current operating mode of the processor (user, supervisor, or kernel) and the value<br />

of the corresponding extended addressing bit in the Status register (UX, SX or<br />

KX). In addition, the Context and XContext registers are not implemented as<br />

entirely separate registers; the PTEbase fields are shared. A miss to a particular<br />

address goes through either TLB Refill or XTLB Refill, depending on the source of<br />

the reference. There can be only be a single page table unless the refill handlers<br />

execute address-deciphering and page table selection in software.<br />

NOTE: Refills for the 0.5 Gbyte supervisor mapped region, sseg/ksseg, are<br />

controlled by the value of KX rather than SX. This simplifies control of the<br />

processor when supervisor mode is not being used.<br />

<strong>MIPS</strong> <strong>R10000</strong> <strong>Microprocessor</strong> <strong>User's</strong> <strong>Manual</strong> Version 2.0 of January 29, 1997

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!