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.

252 Chapter 14.<br />

14.11 Cause Register (13)<br />

1<br />

The 32-bit read/write Cause register describes the cause of the most recent<br />

exception.<br />

Figure 14-13 shows the fields of this register; Table 14-12 describes the Cause<br />

register fields. A 5-bit exception code (ExcCode) indicates one of the causes, as<br />

listed in Table 14-13.<br />

All bits in the Cause register, with the exception of the IP[1:0] bits, are read-only;<br />

IP[1:0] are used for software interrupts.<br />

BD<br />

CE<br />

Table 14-12 Cause Register Fields<br />

Field Description<br />

Indicates whether the last exception taken occurred in a branch<br />

delay slot.<br />

1 → delay slot<br />

0 → normal<br />

Coprocessor unit number referenced when a Coprocessor<br />

Unusable exception is taken. This bit is undefined for any other<br />

exception.<br />

Indicates an interrupt is pending. This bit remains unchanged for<br />

NMI, Soft Reset, and Cache Error exceptions.<br />

IP<br />

1 → interrupt pending<br />

0 → no interrupt<br />

ExcCode Exception code field (see Table 14-13)<br />

0<br />

Reserved. Must be written as zeroes, and returns zeroes when<br />

read.<br />

Cause Register<br />

31 30 29 28 27 16 15<br />

BD 0 CE 0 IP7<br />

IP0<br />

1<br />

2 12<br />

Figure 14-13 Cause Register Format<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 />

8 7 6 2 1 0<br />

Exc<br />

Code<br />

8 1 5 2<br />

0<br />

0

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

Saved successfully!

Ooh no, something went wrong!