Skip to main content

Post-Silicon Verification of Multi-Core Processors

  • Chapter
  • First Online:
Post-Silicon and Runtime Verification for Modern Processors
  • 696 Accesses

Abstract

In the past four decades, microprocessor architectures have evolved from relatively simple circuits to highly optimized, performance-oriented designs with multiple parallel execution pipelines, running at gigahertz frequencies. However, in the beginning of the 21st century, designers realized that processor frequencies could no longer be increased,mainly due to power density constraints. Thus, to keep responding to users’ demand for higher performance, they turned towardsmulti-core designs. In these architectures, multiple central processing units (cores) perform independent computations in parallel, communicating through on-chip interconnect and shared memory hierarchies. Because of the shorter and simpler pipelines and lower operation frequencies of individual cores, multi-core chips deliver much higher multi-threaded performance and demand lower power than traditional architectures. Today, with two- and four- core processor systems being mainstream, this trend continues as manufacturers roll out prototypes and application-specific systems with as many as 80 processing elements. Yet, the verification of multi-core designs has become even more complex when compared to uniprocessors, due to the concurrent interaction among cores, often leading to non-deterministic behavior. Since the majority of designs rely on shared memory protocols for inter-core communication, issues such as cache coherence and memory consistency have become dominant in the multi-core verification process. At early design stages, powerful formal tools can be wielded to ensure correctness of high-levelmodels of these protocols. Verification of the implementations of cache coherence and memory consistency, however, still remains challenging, especially in the post-silicon domain, where much of the device’s internals cannot be observed. In this chapter, we briefly overview the history and basic structure of state-of-the-art multi-core architectures and discuss the challenges of their verification. We will also overview two post-silicon solutions designed for validation of cache coherence protocols and memory consistency, setting the tone for the next chapter, where we present a comprehensive low-cost framework for the post-silicon validation of these aspects.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AMD PhenomTMX4 Quad-Core and AMD PhenomTMX3 Triple-Core Processors for Home, 2009. http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_15331_15332,00.html .

  2. Dennis Abts, Steve Scott, and David J. Lilja. So many states, so little time: Verifying memory coherence in the Cray X1. In IPDPS, Proceedings of the International Symposium on Parallel and Distributed Processing, page 11.2, April 2003.

    Google Scholar 

  3. Shane Bell, Bruce Edwards, John Amann, Rich Conlin, Kevin Joyce, Vince Leung, John MacKay, Mike Reif, Liewei Bao, John Brown, Matthew Mattina, Chyi-Chang Miao, Carl Ramey, David Wentzlaff, Walker Anderson, Ethan Berger, Nat Fairbanks, Durlov Khan, Froilan Montenegro, Jay Stickney, and John Zook. TILE64TMprocessor: A 64-core SoC with mesh interconnect. In ISSCC, Proceedings of the International Solid State Circuits Conference, pages 88–598, February 2008.

    Google Scholar 

  4. Kaiyu Chen, Sharad Malik, and Priyadarsan Patra. Runtime validation of memory ordering using constraint graph checking. In HPCA, Proceedings of the International Symposium on High-Performance Computer Architecture, pages 415–426, February 2008. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, first edition, 1998.

    Google Scholar 

  5. Xiaofang Chen, Yu Yang, Ganesh Gopalakrishnan, and Ching-Tsun Chou. Reducing verification complexity of a multicore coherence protocol using assume/guarantee. In FMCAD, Proceedings of the Formal Methods in Computer Aided Design Conference, pages 81–88, November 2006.

    Google Scholar 

  6. Andrew DeOrio, Adam Bauserman, and Valeria Bertacco. Post-silicon verification for cache coherence. In ICCD, Proceedings of the International Conference on Computer Design, pages 348–355, October 2008.

    Google Scholar 

  7. David L. Dill, Andreas J. Drexler, Alan J. Hu, and C. Han Yang. Protocol verification as a hardware design aid. In ICCD, Proceedings of the International Conference on Computer Design, pages 522–525, October 1992.

    Google Scholar 

  8. Steven German. Formal design of cache memory protocols in IBM. FormalMethods in System Design, 22(2):133–141, 2003.

    Google Scholar 

  9. Mark D. Hill, Susan Eggers, Jim Larus, George Taylor, Glenn Adams, B. K. Bose, Garth A. Gibson, Paul Hansen, Jon Keller, Shing Kong, Corinna Lee, Daebum Lee, Joan Pendleton, Scott Ritchie, David A. Wood, Ben Zorn, Paul Hilfinger, Dave Hodges, Randy H. Katz, John Ousterhout, and Dave Patterson. Design decisions in SPUR. IEEE Computer, 19(11):8–22, November 1986.

    Google Scholar 

  10. Intel Corporation. IntelR CoreTM2 Duo and IntelR CoreTM2 Solo Processor for IntelR CentrinoR Duo Processor Technology Specification Update, October 2008. http://download.intel.com/design/mobile/SPECUPDT/31407918.pdf .

  11. Intel Corporation. IntelR CoreTMSolo processor - IntelR CoreTMSolo Processor support, 2009. http://www.intel.com/support/processors/mobile/coresolo/ .

  12. Poonacha Kongetira, Kathirgamar Aingaran, and Kunle Olukotun. Niagara: a 32-way multithreaded SPARC processor. IEEE Micro, 25(2):21 – 29, March 2005.

    Google Scholar 

  13. James A. Kahle, Michael N. Day, H. Peter Hofstee, Charles R. Johns, Thodore R. Maeurer, and David Shippy. Introduction to the Cell multiprocessor. IBM Journal of Research and Development, 49:589–604, 2005.

    Google Scholar 

  14. Leslie Lamport. How to make a correct multiprocess program execute correctly on a multiprocessor. IEEE Transactions on Computers, 46(7):779–782, 1997.

    Google Scholar 

  15. Milo M. K. Martin, Daniel J. Sorin, Bradford M. Beckmann, Michael R. Marty, Min Xu, Alaa R. Alameldeen, Kevin E. Moore, Mark D. Hill, and David A. Wood. Multifacet’s general execution-driven multiprocessor simulator (GEMS) toolset. SIGARCH Computer Architecture News, 33(4):92–99, 2005.

    Google Scholar 

  16. Dennis Shasha and Marc Snir. Efficient and correct execution of parallel programs that share memory. ACM Transactions on Programming Languages and Systems, 10(2):282–312, 1988.

    Google Scholar 

  17. Theo Valich. AMD delays Phenom 2.4 GHz due to TLB errata. The Inquirer, November 2007. http://www.theinquirer.net/inquirer/news/995/1025995/amd-delays-phenom-ghz-due-tlb .

  18. Sriram Vangal, Jason Howard, Gregory Ruhl, Saurabh Dighe, Howard Wilson, James Tschanz, David Finan, Priya Iyer, Arvind Singh, Tiju Jacob, Shailendra Jain, Sriram Venkataraman, Yatin Hoskote, and Nitin Borkar. An 80-tile 1.28TFLOPS network-on-chip in 65nm CMOS. In ISSCC, Proceedings of the International Solid State Circuits Conference, pages 5–7, February 2007.

    Google Scholar 

  19. David A. Wood, Garth A. Gibson, and Randy H. Katz. Verifying a multiprocessor cache controller using random test generation. IEEE Design and Test of Computers, 7(4):13–25, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ilya Wagner .

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Wagner, I., Bertacco, V. (2011). Post-Silicon Verification of Multi-Core Processors. In: Post-Silicon and Runtime Verification for Modern Processors. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-8034-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-8034-2_4

  • Published:

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-8033-5

  • Online ISBN: 978-1-4419-8034-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics