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.

300 Chapter 14.<br />

14.37 TLBWR Instruction<br />

TLBWR<br />

31 26 25 24<br />

Format: TLBWR<br />

Description:<br />

Operation:<br />

Exceptions:<br />

The G bit of the TLB is written with the logical AND of the G bits in the EntryLo0 and<br />

EntryLo1 registers.<br />

The TLB entry pointed at by the contents of the TLB Random register is loaded with the<br />

contents of the EntryHi and EntryLo registers.<br />

In the R4400, this instruction had to be executed in unmapped spaces, and in the<br />

<strong>R10000</strong> processor it can be executed in unmapped spaces without any hazard.<br />

There is no hazard to executing a TLB write in mapped space unless the write affects<br />

those instructions that have been fetched and buffered by the processor. If necessary,<br />

a flush to the instruction-fetch pipeline, such as execution of a jump register<br />

instruction, after a TLB write can avoid this hazard.<br />

In the R4400 processor, a TLB write instruction is used to write the whole page frame<br />

number from the EntryLo registers to the TLB entry. Depending on the page size<br />

specified in the corresponding PageMask register, the lower bits of PFN may not be<br />

used for address translation. In the <strong>R10000</strong> processor, the lower bits not used for<br />

address translation are forced to zeroes during a TLB write. This does not affect TLB<br />

address translation, however a TLB read may not retrieve what was originally written.<br />

Coprocessor unusable exception<br />

Write Random TLB Entry<br />

COP0<br />

0 1 0 0 0 0<br />

CO<br />

1<br />

0<br />

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0<br />

TLBWR<br />

0 0 0 1 1 0<br />

6<br />

1<br />

19<br />

6<br />

32, 64T: TLB[Random5...0 ] ←<br />

PageMask || (EntryHi and not PageMask) || EntryLo1 || EntryLo0<br />

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

TLBWR<br />

6 5<br />

0

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

Saved successfully!

Ooh no, something went wrong!