20.02.2013 Views

Sable CPU Module Specification

Sable CPU Module Specification

Sable CPU Module Specification

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Copyright © 1993 Digital Equipment Corporation.<br />

7.2.1.3 Hardware 0 - Hardware Error<br />

Interrupts generating a Hardware Interrupt 0 are caused by the detection of hardware<br />

errors on the <strong>CPU</strong>, I/O, Memory modules, and/or the Cobra-bus. These errors<br />

consist of RAM array correctable and uncorrectable errors as well as bus transport<br />

and protocol errors. Correctable error interrupts are individually maskable at each<br />

modules detection point. Before servicing the Hardware Error Interrupt it should be<br />

cleared in the local System Interrupt Clear register.<br />

B-Cache Tag Parity or Uncorrectable EDC Error<br />

A given <strong>CPU</strong> module must scrub its own B-Cache Tag Parity and Uncorrectable<br />

EDC errors. If the error causing this interrupt is a result of this module initiating<br />

a transaction, then it also causes a machine check exception and the processing of<br />

the error is left up to the machine check handler. If however this node was not<br />

the transaction initiator, (Cobra-bus probe) then the interrupt should initiate the<br />

scrubbing/logging process.<br />

Parity errors in the Tag or Tag Control Stores of a B-Cache can only be scrubbed<br />

using the FORCE EDC/CONTROL and SDV bits of the BCC CSR.<br />

When scrubbing dirty entries from the B-Cache using the Allocate Invalid Address<br />

Space, if a Tag, or Tag Control parity error is detected, the expected location will not<br />

be scrubbed. If an Uncorrectable data error is encountered, the data will be written<br />

to the Cobra-bus coincident with the assertion of the CUCERR L signal. This causes<br />

the location to be written into Main Memory with a bad EDC code. The Tag Control<br />

Store of the B-Cache location in question will not be updated.<br />

B-Cache Single Bit EDC Error<br />

A given <strong>CPU</strong> module must scrub its own B-Cache Single bit EDC errors. If the error<br />

causing this interrupt is a result of this module initiating a transaction, and if EDC<br />

correction is disabled in the B-Cache Control Register, it will also cause a machine<br />

check exception and the processing of the error is left up to the machine check handler.<br />

If however this node was not the transaction initiator, (Cobra-bus probe) and<br />

EDC correction was disabled, then the interrupt should initiate the scrubbing/logging<br />

process.<br />

When scrubbing dirty entries from the B-Cache using the Allocate Invalid Address<br />

Space, if a Tag, or Tag Control parity error is detected, the expected location will not<br />

be scrubbed. If an Uncorrectable data error is encountered, the data will be written<br />

to the Cobra-bus coincident with the assertion of the CUCERR L signal. This causes<br />

the location to be written into Main Memory with a bad EDC code. The Tag Control<br />

Store of the B-Cache location in question will not be updated.<br />

When EDC correction is enabled, no machine checks occur for this error, so the<br />

interrupt handler is responsible for scrubbing/logging errors that occur in its own<br />

cache.<br />

As compared with hardware error correction, this approach is vulnerable to singlebit<br />

errors which may occur during I-stream reads of the PAL code machine check<br />

handler, to single-bit errors which occur in multiple quadwords of a cache fill block,<br />

and to single-bit errors which occur as a result of multiple silo’ed load misses.<br />

Exceptions and Interrupts 175

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

Saved successfully!

Ooh no, something went wrong!