20.02.2013 Views

Sable CPU Module Specification

Sable CPU Module Specification

Sable CPU Module Specification

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.

HW_MTPR Rx,ITBIS<br />

HW_MTPR Ry,DTBIS<br />

Copyright © 1993 Digital Equipment Corporation.<br />

5. An MXPR ITB_TAG, ITB_PTE, ITB_PTE_TEMP cannot follow a HW_REI that<br />

remains in PAL mode. (Address bit of the EXC_ADDR is set) This rule implies<br />

that it is not a good idea to ever allow exceptions while updating the ITB. If an<br />

exception interrupts flow of the ITB miss routine and attempts to REI back, and<br />

the return address begins with a HW_MxPR instruction to an ITB register, and<br />

the REI is predicted correctly to avoid any delay between the two instructions,<br />

then the ITB register will not be written. Code example:<br />

HW_REI ; return from interrupt<br />

HW_MTPR R1,ITB_TAG ; attempts to execute very next cycle, instr ignored<br />

6. The ITB_TAG,ITB_PTE and ITB_PTE_TEMP registers can only be accessed in<br />

PAL mode. If the instructions HW_MTPR or HW_MFPR to/from the above registers<br />

are attempted while not in PAL mode by setting the HWE (hardware enable)<br />

bit of the ICCSR, the instructions will be ignored.<br />

7. Machine check exceptions taken while in PAL mode may load the EXC_ADDR<br />

register with a restart address one instruction earlier than the proper restart<br />

address. Some HW_MxPR instructions may have already completed execution<br />

even though the restart address indicates the HW_MxPR as the return instruction.<br />

Re-execution of some HW_MxPR instructions can alter machine state. (e.g.<br />

TB pointers, EXC_ADDR register mask)<br />

The mechanism used to stop instruction flow during machine check exceptions<br />

causes the machine check exception to appear as a D-stream fault on the following<br />

instruction in the hardware pipeline. In the event that the following instruction<br />

is a HW_MxPR, a D-stream fault will not abort execution in all cases. Although<br />

the EXC_ADDR will be loaded with the address of the HW_MxPR instruction as<br />

if it were aborted, a HW_REI to this restart address will incorrectly re-execute<br />

this instruction.<br />

Machine check service routines should check for MXPR instructions at the return<br />

address before continuing.<br />

8. When writing the PAL_BASE register, exceptions may not occur. An exception<br />

occurring simultaneously with a write to the PAL BASE may leave the register in<br />

a metastable state. All asynchronous exceptions but reset can be avoided under<br />

the following conditions:<br />

PAL mode .................... blocks all interrupts<br />

machine checks disabled ..... blocks I/O error exceptions<br />

(via ABOX_CTL reg or MB isolation)<br />

Not under trap shadow ....... avoids arithmetic traps<br />

The trap shadow is defined as :<br />

less than 3 cycles after a non-mul integer operate that may overflow<br />

less than 22 cycles after a MULL/V instruction<br />

less than 24 cycles after a MULQ/V instruction<br />

less than 6 cycles after a non-div fp operation that may cause a trap<br />

less than 34 cycles after a DIVF or DIVS that may cause a trap<br />

less than 63 cycles after a DIVG or DIVT that may cause a trap<br />

9. The sequence HW_MTPR PTE, MTPR TAG is NOT allowed. At least two null<br />

cycles must occur between HW_MTPR PTE and HW_MTPR TAG.<br />

Cobra Specific ( Privileged Architecture Library Code ) PALcode 233

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

Saved successfully!

Ooh no, something went wrong!