Dependable Memory - Laboratoire Interface Capteurs ...
Dependable Memory - Laboratoire Interface Capteurs ...
Dependable Memory - Laboratoire Interface Capteurs ...
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