Skip to main content
Log in

On the Impact of Performance Faults in Modern Microprocessors

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

Abstract

Modern microprocessors incorporate a variety of architectural features, such as branch prediction and speculative execution, which are not critical to the correctness of their operation yet are essential towards improving performance. Accordingly, while faults in the corresponding hardware may not necessarily affect functional correctness, they may, nevertheless, adversely impact performance. In this paper, we investigate quantitatively the performance impact of such faults using a superscalar, dynamically-scheduled, out-of-order, Alpha-like microprocessor, on which we execute SPEC2000 integer benchmarks. We provide extensive fault simulation-based experimental results that elucidate the various aspects of performance faults and we discuss how this information may guide the inclusion of additional hardware for performance loss recovery and yield enhancement.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. The instruction cache stores four 32-bit instructions per line, aligned to 16 bytes. However, the first instruction to be fetched in each cycle may not be aligned on a 16-byte boundary. Thus, to guarantee delivery of 4 instructions, two cache lines need to be accessed.

  2. While our performance impact analysis is performed at the RT-Level, we note that a recent study reveals a very strong correlation between the impact of RT-Level and Gate-Level faults on the execution of workload in the IVM processor [25]; hence, we expect that the obtained results are representative of what would be obtained through gate-level fault simulation.

  3. The definitions of architectural state and architectural state corruption used herein are borrowed from [20], where it is stated that “In IVM, Microarchitectural state consists of all the SRAM cells, latches, and flip-flops used to implement a processor microarchitecture. Architectural state is a subset of microarchitectural state defined as the state of the machine that is exposed at the instruction set architecture level (e.g., the program counter, register files, and memory state). So Architectural state corruption is any change in PC, register files, and memory state.”

References

  1. Jouppi NP (1990) Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. In: International symposium on computer architecture, pp 364–373

  2. Kroft D (1981) Lookup-free instruction fetch/prefetch cache organization. In: International symposium on computer architecture, pp 81–87

  3. McFarling S (1993) Combining branch predictors, Tech. Rep. TR TN-36

  4. Sprangle E, Chappell R, Alsup Ms, Patt Y (1997) The agree predictor: a mechanism for reducing negative branch history interference. In: International symposium on computer architecture, pp 284–291

  5. Wang K, Franklin M (1997) Highly accurate data value prediction using hybrid predictors. In: International symposium on microarchitecture, pp 281–290

  6. Yeh TY, Patt YN (1992) Alternative implementations of two-level adaptive branch prediction. In: International symposium on computer architecture, pp 124–134

  7. Loh GH (2006) Revisiting the performance impact of branch predictor latencies. In: International symposium on performance analysis of systems and software. IEEE Computer Society, Los Alamitos, pp 59–69

    Chapter  Google Scholar 

  8. Hao E, Chang PY, Patt YN (1994) The effect of speculatively updating branch history on branch prediction accuracy, revisited. In: International symposium on microarchitecture, pp 228–232

  9. Jimenez DA (2002) Delay-sensitive branch predictors for future technologies, Ph.D. thesis, University Texas at Austin

  10. Almukhaizim S, Verdel T, Makris Y (2003) Cost-effective graceful degradation in speculative processor subsystems: the branch prediction case. In: International conference on computer design. IEEE Computer Society, Los Alamitos, pp 194–197

    Chapter  Google Scholar 

  11. Almukhaizim S, Petrov P, Orailoglu A (2001) Low-cost, software-based self-test methodologies for performance faults in processor control subsystems. In: Custom integrated circuits conference, pp 263–266

  12. Almukhaizim S, Petrov P, Orailoglu A (2001) Faults in processor control subsystems: testing correctness and performance faults in the data prefetching unit. In: Asian test symposium. IEEE Computer Society, Los Alamitos, pp 319–324

    Chapter  Google Scholar 

  13. Gizopoulos D, Paschalis A, Zorian Y (2004) Embedded processor-based self-test. Kluwer

  14. Hatzimihail M, Psarakis M, Gizopoulos D, Paschalis A (2007) A methodology for detecting performance faults in microprocessors via performance monitoring hardware. In: International test conference, pp 1–10

  15. Sanchez E, Reorda MS, Tonda (2011) On the functional test of branch prediction units based on branch history table. In: International conference on VLSI and system-on-chip, pp 278–283

  16. Bernardi P, Ciganda L, Grosso M, Sanchez E, Sonza Reorda M (2012) A SBST strategy to test microprocessors’ branch target buffer. In: International symposium on design and diagnostics of electronic circuits & systems, pp 306–311

  17. Sato T (1998) First step to combining control and data speculation. In: International workshop on innovative architecture, pp 53–60

  18. Gonzalez J, Gonzalez A (1998) The potential of data value speculation to boost ILP. In: International conference on supercomputing, pp 21–28

  19. Karimi N, Maniatakos M, Makris Y, Jas A (2008) On the correlation between controller faults and instruction-level errors in modern microprocessors. In: International test conference, pp 24.1.1–24.1.10

  20. Wang NJ, Quek J, Rafacz TM, Patel SJ (2004) Characterizing the effects of transient faults on a high-performance processor pipeline. In: International conference on dependable systems and networks, pp 61–70

  21. Wang NJ, Mahesri A, Patel SJ (2007) Examining ACE analysis reliability estimates using fault-injection. SIGARCH Comput Archit News 35(2):460–469

    Article  Google Scholar 

  22. Burger D, Austin TM, Bennett S (1996) Evaluating future microprocessors: the simplescalar tool set, Tech. Rep CS-TR-1996-1308

  23. Hennessy JL, Patterson DA (2003) Computer architecture: a quantitative approach, 3rd edn. Morgan Kaufmann, San Francisco, CA

    Google Scholar 

  24. Wang NJ, Patel SJ (2005) Restore: symptom based soft error detection in microprocessors. In: International conference on dependable systems and networks, pp 30–39

  25. Maniatakos M, Karimi N, Tirumurti C, Jas A, Makris Y (2009) Instruction-level impact comparison of RT- vs. gate-level faults in a modern microprocessor controller. In: VLSI test symposium, pp 9–14

  26. Baraza JC, Gracia J, Blanc S, Gil D, Gil PJ (2008) Enhancement of fault injection techniques based on the modification of VHDL code. IEEE Trans VLSI 16(6):693–706

    Article  Google Scholar 

  27. Karimi N, Maniatakos M, Tirumurti C, Jas A, Makris Y (2009) Impact analysis of performance faults in modern microprocessors. In: International conference on computer design, pp 91–96

Download references

Acknowledgments

This work is supported by a generous gift from Intel Corp. The first author performed this research while being a visiting student at Yale University. A preliminary version of parts of the work reported herein was presented at the 2009 International Conference on Computer Design [27]. The authors would like to thank Prof. Sanjay Patel and Nicholas Wang from the University of Illinois at Urbana-Champaign for sharing the IVM microprocessor model and for providing technical assistance in its installation and usage.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Naghmeh Karimi.

Additional information

Responsible Editor: M. Violante

Rights and permissions

Reprints and permissions

About this article

Cite this article

Karimi, N., Maniatakos, M., Tirumurti, C.(. et al. On the Impact of Performance Faults in Modern Microprocessors. J Electron Test 29, 351–366 (2013). https://doi.org/10.1007/s10836-013-5360-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-013-5360-5

Keywords

Navigation