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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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 .
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.
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.
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.
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.
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.
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.
Steven German. Formal design of cache memory protocols in IBM. FormalMethods in System Design, 22(2):133–141, 2003.
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.
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 .
Intel Corporation. IntelR CoreTMSolo processor - IntelR CoreTMSolo Processor support, 2009. http://www.intel.com/support/processors/mobile/coresolo/ .
Poonacha Kongetira, Kathirgamar Aingaran, and Kunle Olukotun. Niagara: a 32-way multithreaded SPARC processor. IEEE Micro, 25(2):21 – 29, March 2005.
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.
Leslie Lamport. How to make a correct multiprocess program execute correctly on a multiprocessor. IEEE Transactions on Computers, 46(7):779–782, 1997.
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.
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.
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 .
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.
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.
Author information
Authors and Affiliations
Corresponding author
Rights 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)