skip to main content
research-article

Shared Memory Multicore MicroBlaze System with SMP Linux Support

Published:09 August 2016Publication History
Skip Abstract Section

Abstract

In this work, we present PolyBlaze, a scalable and configurable multicore platform for FPGA-based embedded systems and systems research. PolyBlaze is an extension of the MicroBlaze soft processor, leveraging the configurability of the MicroBlaze and bringing it into the multicore era with Linux Symmetric Multi-Processor (SMP) support. This work details the hardware modifications required for the MicroBlaze processor and its software stack to enable fully validated SMP operations, including atomic operation support, shared interrupts and timers, and exception handling. New in this work, we present a scalable and flexible memory hierarchy optimized for Field Programmable Gate Arrays (FPGAs), which manages atomic operations and provides support for future flexible memory hierarchies and heterogeneous systems. Also new is an in-depth analysis of key performance characteristics, including memory bandwidth, latency, and resource usage. For all system configurations, bandwidth is found to scale linearly with the addition of processor cores until the memory interface is saturated. Additionally, average memory latency remains constant until the memory interface is saturated; after which, it scales linearly with each additional processor core.

References

  1. 2013. The 3.7 Linux Kernel. Retrieved from https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.7.10.tar.xz.Google ScholarGoogle Scholar
  2. Aeroflex Gaisler. 2016. GRLIB IP Core User’s Manual. Retrieved fro, www.gaisler.com/products/grlib/grip.pdf.Google ScholarGoogle Scholar
  3. Jason Agron and David Andrews. 2009. Building heterogeneous reconfigurable systems with a hardware microkernel. In Proceedings of the 7th IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’09). ACM, New York, NY, 393--402. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Altera Inc. (2011, May) The NIOS Soft CPU Family. Retrieved from http://www.altera.com/literature/ hb/nios2/n2cpu_nii5v1.pdf.Google ScholarGoogle Scholar
  5. AMD Inc. 2013. BIOS and Kernel Developers Guide (BKDG) For AMD Family 10h Processors. AMD Inc. support.amd.com/TechDocs/31116.pdf.Google ScholarGoogle Scholar
  6. Sameh Asaad, Ralph Bellofatto, Bernard Brezzo, Chuck Haymes, Mohit Kapur, Benjamin Parker, et al. 2012. A cycle-accurate, cycle-reproducible multi-FPGA system for accelerating multi-core processor simulation. In Proceedings of the ACM/SIGDA International Symposium on FPGAs (FPGA’12). ACM, 153--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Todd Austin, Eric Larson, and Dan Ernst. 2002. SimpleScalar: An infrastructure for computer system modeling. Computer 35, 2 (2002), 59--67. DOI:http://dx.doi.org/10.1109/2.982917 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Daniel Burke, John Wawrzynek, Krste Asanovic, Alex Krasnov, Andrew Schultz, Greg Gibeling, and Pierre-Yves Droz. 2008. RAMP blue: Implementation of a multicore 1000 processor FPGA system. In Reconfigurable Systems Summer Institute. Urbana, IL.Google ScholarGoogle Scholar
  9. Derek Chiou, Dam Sunwoo, Joonsoo Kim, Nikhil A. Patil, William Reinhart, Darrel Eric Johnson, Jebediah Keefe, and Hari Angepat. 2007. FPGA-accelerated simulation technologies (FAST): Fast, full-system, cycle-accurate simulators. In Proceedings of the 40th Annual IEEE/ACM Int’l Symp. on Microarchitecture. 249--261. DOI:http://dx.doi.org/10.1109/MICRO.2007.16 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Chuck Thacker, MSR Silicon Valley. 2010. Beehive: A manycore computer for FPGAs (v6). Retrieved from research.microsoft.com/en-us/um/people/birrell/beehive/BeehiveV6.pdf.Google ScholarGoogle Scholar
  11. IBM Corp. 2005. PPC405Fx Embedded Processor Core Users Manual. Retrieved from www-01.ibm.com/chips/ techlib/techlib.nsf/techdocs/D060DB54BD4DC4F2872569D 2004A30D6/$file/ppc405fx_um.pdf.Google ScholarGoogle Scholar
  12. Intel Corp. 2016. Intel 64 and IA-32 Architectures Software Developers Manual: Volume 3B: System Programming Guide, Part 2. Intel Corp. Retrieved from www.intel.com/Assets/PDF/manual/253669.pdf.Google ScholarGoogle Scholar
  13. Peter S. Magnusson, Magnus Christensson, Jesper Eskilson, Daniel Forsgren, Gustav Hållberg, Johan Högberg, Fredrik Larsson, Andreas Moestedt, and Bengt Werner. 2002. Simics: A full system simulation platform. Computer 35, 2 (2002), 50--58. DOI:http://dx.doi.org/10.1109/2.982916 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Matthews, L. Shannon, and A. Fedorova. 2010. A configurable framework for investigating workload execution. In Proceedings of the 2010 International Conference on Field-Programmable Technology (FPT). 409--412. DOI:http://dx.doi.org/10.1109/FPT.2010.5681447Google ScholarGoogle ScholarCross RefCross Ref
  15. E. Matthews, L. Shannon, and A. Fedorova. 2012. Polyblaze: From one to many. Bringing the microblaze into the multicore era with linux SMP support. In Proceedings of the 2012 22nd International Conference on Field Programmable Logic and Applications (FPL). 224--230. DOI:http://dx.doi.org/ 10.1109/FPL.2012.6339185Google ScholarGoogle ScholarCross RefCross Ref
  16. Oracle Corp. 2015. OpenSPARCT1. Retrieved from http://www.oracle.com/technetwork/systems/opensparc/ opensparc-t1-page-1444609.html.Google ScholarGoogle Scholar
  17. Graham Schelle, Jamison Collins, Ethan Schuchman, Perry Wang, Xiang Zou, Gautham Chinya, et al. 2010. Intel Nehalem processor core made FPGA synthesizable. In Proceedings of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA’10). ACM, New York, NY, 3--12. DOI:http://dx.doi.org/10.1145/1723112.1723116 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Sun Microsystems Inc. 2008. OpenSPARC T1 Microarchitecture Specification. Retrieved from http://www.oracle.com/technetwork/systems/opensparc/t1-01-opensparct1-mic ro-arch-1538959.html.Google ScholarGoogle Scholar
  19. UC Berkeley. 2016. RAMP - Research Accelerator for Multiple Processors. Retrieved from ramp.eecs.berkeley.edu/, accessed July 2016.Google ScholarGoogle Scholar
  20. Perry H. Wang, Jamison D. Collins, Christopher T. Weaver, Blliappa Kuttanna, Shahram Salamian, Gautham N. Chinya, et al. 2009. Intel® atom processor core made FPGA-synthesizable. In Proceedings of the ACM/SIGDA International Symposium on FPGAs. 209--218. DOI:http://dx.doi.org/10.1145/ 1508128.1508160 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Xilinx Inc. 2010. LogiCORE IP XPS Interrupt Controller (v2.01a). Retrieved from www.xilinx.com/support/documentation/ipdocumentation/xpsintc.pdf.Google ScholarGoogle Scholar
  22. Xilinx Inc. 2010. LogiCORE IP XPS Timer/Counter (v1.02a). Retrieved from www.xilinx.com/support/documentation/ipdocumentation/xpstimer.pdf.Google ScholarGoogle Scholar
  23. Xilinx Inc. 2010. MicroBlaze Processor Reference Guide. Retrieved from www.xilinx.com/support/documentation/sw_manuals/xilinx12_4/mb_ref_guide.pdf.Google ScholarGoogle Scholar
  24. Xilinx Inc. 2016. PetaLinux Tools. Retrieved from http://www.xilinx.com/tools/petalinux-sdk.htm, accessed July 2016.Google ScholarGoogle Scholar
  25. Peter Yiannacouras, Jonathan Rose, and J. Gregory Steffan. 2005. The microarchitecture of FPGA-based soft processors. In Proceedings of the 2005 International Conference on Compilers, Architectures and Synthesis for Embedded Systems. 202--212. DOI:http://dx.doi.org/10.1145/1086297.1086325 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Sergey Zhuravlev, Sergey Blagodurov, and Alexandra Fedorova. 2010. Addressing contention on multicore processors via scheduling. In Proceedings of the International Conference on Architectural Support for Programming Languages and OSes. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Shared Memory Multicore MicroBlaze System with SMP Linux Support

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Reconfigurable Technology and Systems
          ACM Transactions on Reconfigurable Technology and Systems  Volume 9, Issue 4
          Regular Papers and Special Section on Field Programmable Gate Arrays (FPGA) 2015
          September 2016
          161 pages
          ISSN:1936-7406
          EISSN:1936-7414
          DOI:10.1145/2984740
          • Editor:
          • Steve Wilton
          Issue’s Table of Contents

          Copyright © 2016 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 August 2016
          • Accepted: 1 December 2015
          • Revised: 1 August 2015
          • Received: 1 March 2015
          Published in trets Volume 9, Issue 4

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!