skip to main content
research-article

Deconfigurable microprocessor architectures for silicon debug acceleration

Published: 23 June 2013 Publication History

Abstract

The share of silicon debug in the overall microprocessor chips development cycle is rapidly expanding due to the ever growing design complexity and the limited efficiency of pre-silicon validation methods. Massive application of short random test programs on the prototype microprocessor chips is one of the most effective parts of silicon debug. However, a major bottleneck and source of "noise" in this phase is that large numbers of random test programs fail due to the same or similar design bugs. This redundant behavior adds long delays in the debug flow since each failing random program must be separately examined, although it does not usually bring new debug information. The development of effective techniques that detect dominant modes of failure among random programs and triage them into common categories eliminate redundant debug sessions and significantly boost silicon debug.
We propose the employment of deconfigurable microprocessor architectures along with self-checking random test programs to reduce the redundant debug sessions and make the triage step of silicon debug more efficient. Several hardware components of high performance microprocessor micro-architectures can be deconfigured while keeping the functional completeness of the design. This is the property we exploit in our silicon debug methodology for the triaging of random test programs. We support our methodology by a hardware mechanism dedicated to silicon debug that groups the failing test programs into categories depending on the microprocessor hardware components that need to be deconfigured for a random test program to be correctly executed. Identical deconfiguration sequences for multiple test programs indicate the existence of redundancy among them and group them together. This grouping significantly reduces the number of failing tests that must be debugged afterwards. Detailed evaluation of the method on an x86 microprocessor demonstrates its efficiency in reducing the debug sessions and thus in accelerating silicon debug.

References

[1]
M. Abramovici, P. Bradley, K. Dwarakanath, P. Levin, G. Memmi, D. Miller. "A reconfigurable Design-for-Debug Infrastructure for SoCs", Design Automation Conference (DAC), 2006.
[2]
A. Adir, S. Copty, S. Landa, A. Nahir, G. Shurek, A. Ziv, C. Meissner, J. Schumann, "A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation", Design, Automation, and Test in Europe Conference (DATE), 2011.
[3]
N. Aggarwal, P. Ranganathan, N. Jouppi, J. Smith, "Configurable Isolation: Building high availability systems with commodity multi-core processors", International Symposium on Computer Architecture (ISCA), 2007.
[4]
M. Behm, J. Ludden, Y. Lichtenstein, M. Rimon and M. Vinov, "Industrial Experience with Test Generation Languages for Processor Verification", Design Automation Conference (DAC), 2004.
[5]
T. Bojan, I. Frumkin and R. Mauri, "Intel� First Ever Converged Core Functional Validation Experience: Methodologies, Challenges, Results and Learning", Microprocessor Test and Verification Workshop (MTV), 2007.
[6]
F. Bower, D. Sorin and S. Ozev, "A mechanism for online diagnosis of hard faults in microprocessors", International Symposium on Microarchitecture (MICRO), 2005.
[7]
F. Bower, P. Shealy, S. Ozev and D. Sorin, "Tolerating hard faults in microprocessor array structures", International Conference on Dependable Systems and Networks (DSN), 2004.
[8]
J. Carretero, X. Vera, J. Abella, T. Ramirez, M. Monchiero and A. Gonzalez, "Hardware/Software-based diagnosis of load-store queues using expandable activity logs", International Symposium on High Performance Computer Architecture (HPCA), 2011.
[9]
E. Daoud and N. Nicolici, "Embedded Debug Architecture for Bypassing Blocking Bugs During Post-Silicon Validation", IEEE Transactions on VLSI, 19(4):559--570, 2011.
[10]
D. Feltham, T. Callahan, H. Gartler, L. P. Looi, K. Tiruvallur, R. Mauri, C. Looi, C. Fleckenstein, M. S. Clair, B. Spry, "The Road to Production - debugging and Testing the Nehalem Family of Processors", Intel Technology Journal, 14(3):128--146, 2010.
[11]
N. Foutris, D. Gizopoulos, M. Psarakis, X. Vera, A. Gonzalez, "Accelerating Microprocessor Silicon Validation by Exposing ISA diversity", International Symposium on Microarchitecture (MICRO), 2011.
[12]
Y-C. Hsu, F. Tsai, W. Jong and Y-T Chang, "Visibility Enhancement for Silicon Debug", Design Automation Conference (DAC), 2006.
[13]
Intel� 64 and IA-32 Architectures Optimization Reference Manual, Intel Corporation, Nov. 2009.
[14]
Intel� 64 and IA-32 Architectures Software Developer's Manual, Intel Corporation, Jun.2010.
[15]
International Technology Roadmap for Semiconductors, 2009.
[16]
D. Josephson, "The Good, the Bad, and the Ugly of Silicon Debug", Design Automation Conference (DAC), 2006.
[17]
D. Josephson, "The manic depression of microprocessor debug", International Test Conference (ITC), 2002.
[18]
D. Josephson, S. Poehhnan and V. Govan, "Debug Methodology for McKinley Processor", International Test Conference (ITC), 2001.
[19]
D. Lin, T. Hong, F. Fallah, N. Hakim and S. Mitra, "Quick Detection of Difficult Bugs for Effective Post-Silicon Validation", Design Automation Conference (DAC), 2012.
[20]
R. McLaughlin, S. Venkataraman, C. Lim, "Automated debug of speed path failures using functional tests", VLSI Test Symposium (VTS), 2009.
[21]
A. Meixner and D. Sorin, "Detouring: Translating Software to Circumvent Hard Faults in Simple Cores", International Conference on Dependable Systems and Networks (DSN), 2008.
[22]
S. Mitra, S. A. Seshia, N. Nicolici, "Post-silicon Validation Opportunities, Challenges and Recent Advances", Design Automation Conference (DAC), 2010.
[23]
A. Nahir, "Post-Silicon Validation -- Tackling 4 Billions Risks per Second", MEDIAN Workshop, 2012.
[24]
S-B. Park, T. Hong and S. Mitra, "Post-Silicon Bug Localization in Processors Using Instruction Footprint Recording and analysis", IEEE Transactions on CAD, 28(10):1545--1558, 2009.
[25]
P. Patra, "On the Cusp of a Validation Wall", IEEE Design & Test of Computers, 27(2):193--196, 2007.
[26]
M. Powell, A. Biswas, S. Gupta, S. Mukherjee, "Architectural core salvaging in a multi-core processor for hard-error tolerance", International Symposium on Computer Archtecture (ISCA), 2009.
[27]
B. Romanescu, D. Sorin, "Core cannibalization architecture: Improving lifetime chip performance for multicore processors in the presence of hard faults", International Conference on Parallel Architectures and Compilation Techniques (PACT), 2008.
[28]
H. Rotithor, "Post Silicon Validation Methodology for Microprocessors", IEEE Design & Test of Computers, 17(4):77--88, 2000.
[29]
S. R. Sarangi, B. Greskamp, J. Torrellas, "CARDE: Cycle-Accurate Deterministic Replay for Hardware Debugging", International Conference on Dependable Systems and Networks (DSN), 2006.
[30]
P. Shivakumar, S. Keckler, C. Moore, D. Burger, "Exploiting microarchitectural redundancy for defect tolerance", International Conference on Computer Design (ICCD), 2003.
[31]
E. Singerman, Y. Abarbanel and S. Baartmans, "Transaction Based Pre-to-Post Silicon Validation", Design Automation Conference (DAC), 2011.
[32]
J. Srinivasan, S. Adve, P. Bose, J. Rivers, "Exploiting structural duplication for lifetime reliability enhancement", International Symposium on Compute Architecture (ISCA), 2005.
[33]
S. Sudhakrishman, L. Su and J. Renau, "Processor Verification using hwBugHunt", International Symposium on Quality Electronic Design (ISQED), 2008.
[34]
I. Wagner and V. Bertacco, "Reversi: Post-Silicon Validation System for Modern Microprocessors", International Conference on Computer Design (ICCD), 2008.
[35]
M. Yourst, "PTLsim: A cycle Accurate Full System x86-64 Microarchitectural Simulator", International Symposium on Performance Analysis of Systems and Software (ISPASS), 2007.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGARCH Computer Architecture News
ACM SIGARCH Computer Architecture News  Volume 41, Issue 3
ICSA '13
June 2013
666 pages
ISSN:0163-5964
DOI:10.1145/2508148
Issue’s Table of Contents
  • cover image ACM Other conferences
    ISCA '13: Proceedings of the 40th Annual International Symposium on Computer Architecture
    June 2013
    686 pages
    ISBN:9781450320795
    DOI:10.1145/2485922
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 June 2013
Published in�SIGARCH�Volume 41, Issue 3

Check for updates

Author Tags

  1. deconfiguration
  2. microprocessor silicon debug
  3. validation

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media