12.12.2012 Views

Dependable Memory - Laboratoire Interface Capteurs ...

Dependable Memory - Laboratoire Interface Capteurs ...

Dependable Memory - Laboratoire Interface Capteurs ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

2.4. FT PROCESSOR DESIGN TRENDS 43<br />

branch address is calculated. The processor takes a minor performance hit but is able to continue<br />

correct instruction execution.<br />

Tags for level-1 instruction and data caches are parity-protected. Both level-1 caches are inclusion<br />

caches; tag information is duplicated in the level-2 tag. When a parity error is detected in a level-1 tag<br />

access, the level-2 tag is interrogated for the correct copy of the tag. The level-1 cache access is then<br />

re-executed. The last major SRAM array on the chip is the Translation Look-aside Buffer (TLB).<br />

TLB is protected by parity check and a parity error in the TLB is treated as a miss. The correct<br />

page table entry is fetched from the ECC-protected main memory during re-execution. In addition<br />

to implementing cache and TLB protection, the SPARC64 V is designed to detect single bit SRAM<br />

errors in other smaller SRAM arrays and recover from those errors as well.<br />

The processor logic circuits are protected by byte parity check to detect single bit logic errors in<br />

each byte. Parity check bits are calculated at the location of new data value generation and passed<br />

with the associated data through the processor logic circuits. Parity bits are checked at the receiving<br />

end.<br />

Arithmetic/logic units are equipped with byte parity predictors. The byte parity predictors calcu-<br />

late the parity bits for each output byte of an arithmetic/logic unit using the same input signals as the<br />

unit to be checked. These independently calculated byte parity bits are compared with the byte parity<br />

bits calculated from the output of the arithmetic/logic unit. Multipliers are checked with a modulo-3<br />

scheme.<br />

The byte parity predictors in the arithmetic/logic unit do not detect point errors that result in an<br />

even number of bit flips in the output byte, and the modulo-3 scheme used in the multipliers do<br />

not detect point errors that give the same modulo-3 residue. These checks, however, do detect the<br />

majority of single point errors and are cost-effective compared to a full duplication and compare<br />

implementation. When a parity error is detected in the logic circuits or small SRAM arrays, the<br />

processor stops issuing new instructions and clears all intermediate states. It then restarts execution<br />

at the instruction directly following the last correctly executed instruction by using the check-pointed<br />

states. This action is called instruction retry.<br />

The checkpoint and instruction retry mechanisms are implemented in the processor for recovery<br />

from branch misprediction. Thus, the additional cost associated with utilizing these mechanisms for<br />

error recovery is small. Furthermore, many microprocessors today feature either ECC or byte parity<br />

for large on-chip SRAM arrays. Compared with those microprocessors, the SPARC64 V micropro-<br />

cessor only requires additional transistors for implementing byte parity bits, byte parity predictors and<br />

the associated parity checkers in the logic circuits and small SRAM arrays. The number of transistors<br />

devoted to the error detection mechanisms of the SPARC64-V microprocessor is about 10% of the<br />

transistors for logic gates, latches and parity-protected small SRAM arrays.<br />

LEON3 FT<br />

LEON3 is the successor of the LEON2 processor developed for the European Space Agency

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

Saved successfully!

Ooh no, something went wrong!