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.

Coprocessor 0 261<br />

14.19 Diagnostic Register (22)<br />

Errata<br />

CP0 register 22, the Diagnostic register, is a new 64-bit register for processorspecific<br />

diagnostic functions. (Since this register is designed for local use, the<br />

diagnostic functions are subject to change without notice.) Currently, this register<br />

helps test the ITLB, branch caches, and the branch prediction scheme. In addition,<br />

it provides choices for branch prediction algorithms, to help diagnostic program<br />

writing.<br />

The twelve fields of the Diagnostic register, shown in Figure 14-21, are described<br />

below. All fields are read-only (all writes are ignored).<br />

ITLBM: this field is a 4-bit read-only counter. This field is incremented by one for<br />

each ITLB miss, and any overflow is ignored. Its value is undefined during reset,<br />

and its value is meaningless when used in an unmapped space.<br />

BSIdx: this field defines the entry in the branch stack to be used for the latest<br />

conditional branch decoded. Its value is meaningless if the latest branch was an<br />

unconditional branch.<br />

DBRC: this field disables the use of the branch return cache (BRC).<br />

BRCV: this field indicates whether or not the branch return cache (BRC) is valid.<br />

BRC has only one entry (four instructions).<br />

BRCW: this field indicates whether or not the latest branch (JAL, JALR RX,<br />

BGEZAL, BGEZALL, BLTZAL, or BLTZALL) caused a write into BRC. It is not<br />

affected by any other type of branch.<br />

BRCH: this field indicates whether or not the latest branch (JR r31 or JALR rx,r31)<br />

has a BRC hit. It not affected by any other type of branch.<br />

MP: this field indicates whether or not the latest conditional branch verified was<br />

mispredicted.<br />

BPMode: this is a read-write field for branch prediction algorithm control.<br />

002 : 2-bit counter scheme<br />

01 2 : all conditional branches are predicted not taken<br />

10 2 : all conditional branches are predicted taken<br />

11 2 : forward conditional branches are predicted not taken and backward<br />

conditional branches are predicted taken.<br />

The default mode is 00 on processor reset.<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!