16.1 Error Checking in the Processor

Types of Error Checking


The processor uses two types of error checking: parity (error detection only), and single-bit error correction/double-bit error detection (SECDED).

Parity Error Detection

Parity is the simplest error detection scheme. By appending a bit to the end of an item of data--called a parity bit--single bit errors can be detected; however, these errors cannot be corrected.

There are two types of parity:

Odd and even parity are shown in the example below:



The example above shows a single bit in Data(3:0) with a value of 1; this bit is Data(1).

The example below shows odd and even parity bits for various data values:



Parity allows single-bit error detection, but it does not indicate which bit is in error--for example, suppose an odd-parity value of 00011 arrives. The last bit is the parity bit, and since odd parity demands an odd number (1,3,5) of 1s, this data is in error: it has an even number of 1s. However it is impossible to tell which bit is in error. To resolve this problem, SECDED ECC was developed.

SECDED ECC Code

The ECC code chosen for processor secondary cache data and tag is single-bit error correction and double-bit error detection (SECDED) code.*1 SECDED ECC code is an improvement upon the parity scheme; not only does it detect single- and certain multi-bit errors, it corrects single-bit errors.

Secondary Cache Data Bus SECDED Code

The SECDED code protecting secondary cache data bus has the properties listed below:

Secondary Cache Tag Bus SECDED Code

The SECDED ECC code protecting the secondary cache tag bus has the following properties:



Copyright 1996, MIPS Technologies, Inc. -- 21 MAR 96

Generated with CERN WebMaker
statistics