A Fail-Silent Reconfigurable Superscalar Processor

We propose a reconfigurable superscalar processor with two modes of operation: In safety mode the two pipelines run in lock step, executing the same instruction sequence, thus allowing to detect hardware failures. In performance mode different instruction streams are executed in parallel, just like in a standard superscalar processor. Considering that many embedded applications comprise a mixture of safety-critical and non safety-critical functions, the ability to dynamically switch between the two modes allows an efficient utilization of the duplicated pipeline. To complement the error detection enabled by the duplicated pipeline, non-duplicated components such as the register file are secured by parity. A systematic failure analysis shows that the proposed implementation can indeed detect all single faults in safety mode and that the ability to switch modes does not compromise the fail safe property. These encouraging results are finally confirmed by extensive fault injection experiments.

[1]  R. Baumann The impact of technology scaling on soft error rate performance and limits to the efficacy of error correction , 2002, Digest. International Electron Devices Meeting,.

[2]  Li Xiao,et al.  Fast and low-cost search schemes by exploiting localities in P2P networks , 2005, J. Parallel Distributed Comput..

[3]  T. Takayanagi,et al.  Deep-submicron design challenges for a dual-core 64b UltraSPARC microprocessor implementation , 2004, 2004 International Conference on Integrated Circuit Design and Technology (IEEE Cat. No.04EX866).

[4]  Yervant Zorian,et al.  2001 Technology Roadmap for Semiconductors , 2002, Computer.

[5]  G. Russell,et al.  Design of highly reliable VLSI processors incorporating concurrent error detection/correction , 1991, Euro ASIC '91.

[6]  David R. Karger,et al.  Chord: a scalable peer-to-peer lookup protocol for internet applications , 2003, TNET.

[7]  Heinrich Theodor Vierhaus,et al.  Online Check and Recovery Techniques for Dependable Embedded Processors , 2001, IEEE Micro.

[8]  Andreas Steininger,et al.  A Reconfigurable Generic Dual-Core Architecture , 2006, International Conference on Dependable Systems and Networks (DSN'06).

[9]  I. L. Sayers,et al.  Implementation of 32-bit RISC processor incorporating hardware concurrent error detection and correction , 1990 .

[10]  D. E. Lenoski A highly integrated, fault-tolerant minicomputer: the NonStop CLX , 1988, Digest of Papers. COMPCON Spring 88 Thirty-Third IEEE Computer Society International Conference.

[11]  E. E. Swartzlander,et al.  Concurrent error detection in ALUs by recomputing with rotated operands , 1992, Proceedings 1992 IEEE International Workshop on Defect and Fault Tolerance in VLSI Systems.

[12]  Janak H. Patel,et al.  Concurrent Error Detection in ALU's by Recomputing with Shifted Operands , 1982, IEEE Transactions on Computers.

[13]  Balaram Sinharoy,et al.  IBM Power5 chip: a dual-core multithreaded processor , 2004, IEEE Micro.

[14]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[15]  Hector Garcia-Molina,et al.  Designing a super-peer network , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[16]  Li Xiao,et al.  Dynamic Layer Management in Superpeer Architectures , 2005, IEEE Trans. Parallel Distributed Syst..

[17]  Eberhard Böhl,et al.  The fail-stop controller AE11 , 1997, Proceedings International Test Conference 1997.