ABSTRACT
Verification of modern processors is an expensive, time consuming, and challenging task. Although it is estimated that over half of total design time is spent on verification, we often find processors with bugs released into the market. This paper proposes an architecture that tolerates, not just the typically infrequent bugs found in current processors, but a significantly larger set of bugs. The objective is to allow for a much quicker time to market. We propose an architecture built around Beta Cores, which are cores partially verified. Our proposal intelligently activates and deactivates a simple single issue in-order Checker Core to verify a buggy superscalar out-oforder Beta Core.
Our Beta Core Solution (BCS), which includes the Beta Core, the Checker Core, and the logic to detect potentially buggy situations consumes just 5% more power than the stand-alone Beta Core. We also show that performance is only slightly diminished with an average slowdown of 1.6%. By leveraging program signatures,our BCS only needs a simple in-order Checker Core, at half the frequency, to verify a complex 4 issue out-of-order Beta Core. The BCS architecture allows for a decrease in verification effort and thus a quicker time to market.
Supplemental Material
- Intel Corportation, "Intel xeon processor, specification update doc. no.249678-056", Dec 2006.Google Scholar
- Intel Corportation, "Intel core 2 extreme processor x6800 and intel core 2 duo desktop processor e6000 and e4000, specification update doc. no.313279-024", Feb 2008.Google Scholar
- Intel Corportation, "Intel pentium m processor, specification update doc. no.252665-033", Jan 2008.Google Scholar
- Intel Corportation, "Intel pentium 4 processor, specification update doc. no.249199-069", May 2007.Google Scholar
- AMD, "Revision Guide for AMD Family 10h Processors", 2011.Google Scholar
- F. Mesa-Martinez and J. Renau, "Effective optimistic-checker tandem core design through architectural pruning", in MICRO '07: Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture, Washington, DC, USA, Dec. 2007, pp. 236--248, IEEE Computer Society. Google ScholarDigital Library
- B. Greskamp and J. Torrellas, "Paceline: Improving single-thread perfomance in nanoscale cmps through core overclocking", in the 16th International Conference on Parallel Architectures and Compilation Techniques, Washington, DC, USA, Sep. 2007, IEEE Computer Society. Google ScholarDigital Library
- S. Sarangi, A. Tiwari, and J. Torrellas, "Phoenix: Detecting and recovering from permanent processor design bugs with programmable hardware", Microarchitecture, IEEE/ACM International Symposium on, vol. 0, pp. 26--37, Dec. 2006. Google ScholarDigital Library
- K. Constantinides, O. Mutlu, and T. Austin, "Online design bug detection: Rtl analysis, flexible mechanisms, and evaluation", in 41st Annual International Symposium on Microarchitecture (MICRO-41), Nov. 2008. Google ScholarDigital Library
- S. Fenstermaker, D. George, A. Kahng, St. Mantik, and B. Thielges, "METRICS: A System Architecture for Design Process Optimization", in International Conference on Design Automation, Jun. 2000, pp. 705--710. Google ScholarDigital Library
- N.J. Wang, J. Quek, T.M. Rafacz, and S.J. Patel, "Characterizing the Effects of Transient Faults on a High-Performance Processor Pipeline", in International Conference on Dependable Systems and Networks. Jun. 2004, IEEE Computer Society. Google ScholarDigital Library
- M. Cowell and A. Postula, "Rachael SPARC: An Open Source 32-bit Microprocessor Core for SoCs", in Proceedings of the 2006 9th EUROMICRO Conference on Digital System Design, Aug. 2006, pp. 415--422. Google ScholarDigital Library
- T. Austin, "DIVA: A reliable substrate for deep submicron microarchitecture design", in the 32th International Symposium on Microarchitecture, Nov. 1999, pp. 196--207. Google ScholarDigital Library
- M. Gomaa, C. Scarbrough, T. Vijaykumar, and I. Pomeranz, "Transient-Fault Recovery for Chip Multiprocessors", in International Symposium on Computer Architecture, San Diego, California, Jun. 2003, pp. 98--109. Google ScholarDigital Library
- Z. Purser, K. Sundaramoorthy, and E. Rotenberg, "A study of slipstream processors", in the 33th International Symposium on Microarchitecture, 2000, pp. 269--280. Google ScholarDigital Library
- S. Reinhardt and S. Mukherjee, "Transient fault detection via simultaneous multithreading", in ISCA, 2000, pp. 25--36. Google ScholarDigital Library
- E. Rotenberg, "AR-SMT: A microarchitectural approach to fault tolerance in microprocessors", in Symposium on Fault-Tolerant Computing, 1999, pp. 84--91. Google ScholarDigital Library
- C. Weaver and T.M. Austin, "A Fault Tolerant Approach to Microprocessor Design", in DSN '01: Proceedings of the 2001 International Conference on Dependable Systems and Networks (formerly: FTCS), Washington, DC, USA, Jul. 2001, pp. 411--420, IEEE Computer Society. Google ScholarDigital Library
- Todd Austin, "Diva: A dynamic approach to microprocessor verification", Journal of Instruction-Level Parallelism, vol. 2, pp. 2000, May 2000.Google Scholar
- I. Wagner and V. Bertacco, "Engineering trust with semantic guardians", in Proceedings of the conference on Design, automation and test in Europe, San Jose, CA, USA, Apr. 2007, DATE '07, pp. 743--748, EDA Consortium. Google ScholarDigital Library
- S. Sudhakrishnan, L. Su, and J. Renau, "Processor verification with hwbughunt", in ISQED '08: Proceedings of the 9th international symposium on Quality Electronic Design, Washington, DC, USA, Mar. 2008, pp. 224--229, IEEE Computer Society. Google ScholarDigital Library
- J. Gaisler, "The Leon-2 Processor", 2003.Google Scholar
- T. Sherwood, E. Perelman, G. Hamerly, and B. Calder, Automatically characterizing large scale program behavior, in Proceedings of the 10th international conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Oct. 2002, vol. 30, pp. 45--57. Google ScholarDigital Library
- C. Bazeghi, F.J. Mesa-Martínez, and J. Renau, "Complexity: Estimating Processor Design Effort", in International Symposium on Microarchitecture, Nov. 2005. Google ScholarDigital Library
Index Terms
- Releasing efficient beta cores to market early
Recommendations
Releasing efficient beta cores to market early
ISCA '11Verification of modern processors is an expensive, time consuming, and challenging task. Although it is estimated that over half of total design time is spent on verification, we often find processors with bugs released into the market. This paper ...
Early experiences with the intel many integrated cores accelerated computing technology
TG '11: Proceedings of the 2011 TeraGrid Conference: Extreme Digital DiscoveryWe report on early programming experiences with the Intel® Many Integrated Core (Intel® MIC) Co-processor. This new and x86 based technology is Intel's answer to GPU-based accelerators by NVIDIA, AMD and others. Accelerators have generally sparked ...
Algebraic models of simultaneous multithreaded and multi-core processors
CALCO'07: Proceedings of the 2nd international conference on Algebra and coalgebra in computer scienceMuch current work on modelling and verifying microprocessors can accommodate pipelined and superscalar processors. However, superscalar and pipelined processors are no longer state-of-the-art: Simultaneous Multithreaded (SMT) and Multi-core, or Chip-...
Comments