skip to main content
research-article

Shared Memory Multicore MicroBlaze System with SMP Linux Support

Published: 09 August 2016 Publication History

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.
[2]
Aeroflex Gaisler. 2016. GRLIB IP Core User’s Manual. Retrieved fro, www.gaisler.com/products/grlib/grip.pdf.
[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.
[4]
Altera Inc. (2011, May) The NIOS Soft CPU Family. Retrieved from http://www.altera.com/literature/ hb/nios2/n2cpu_nii5v1.pdf.
[5]
AMD Inc. 2013. BIOS and Kernel Developers Guide (BKDG) For AMD Family 10h Processors. AMD Inc. support.amd.com/TechDocs/31116.pdf.
[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.
[7]
Todd Austin, Eric Larson, and Dan Ernst. 2002. SimpleScalar: An infrastructure for computer system modeling. Computer 35, 2 (2002), 59--67.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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. 10.1109/FPL.2012.6339185
[16]
Oracle Corp. 2015. OpenSPARCT1. Retrieved from http://www.oracle.com/technetwork/systems/opensparc/ opensparc-t1-page-1444609.html.
[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.
[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.
[19]
UC Berkeley. 2016. RAMP - Research Accelerator for Multiple Processors. Retrieved from ramp.eecs.berkeley.edu/, accessed July 2016.
[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. 1508128.1508160
[21]
Xilinx Inc. 2010. LogiCORE IP XPS Interrupt Controller (v2.01a). Retrieved from www.xilinx.com/support/documentation/ipdocumentation/xpsintc.pdf.
[22]
Xilinx Inc. 2010. LogiCORE IP XPS Timer/Counter (v1.02a). Retrieved from www.xilinx.com/support/documentation/ipdocumentation/xpstimer.pdf.
[23]
Xilinx Inc. 2010. MicroBlaze Processor Reference Guide. Retrieved from www.xilinx.com/support/documentation/sw_manuals/xilinx12_4/mb_ref_guide.pdf.
[24]
Xilinx Inc. 2016. PetaLinux Tools. Retrieved from http://www.xilinx.com/tools/petalinux-sdk.htm, accessed July 2016.
[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.
[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.

Cited By

View all
  • (2022)Co-Design of Multicore Hardware and Multithreaded Software for Thread Performance Assessment on an FPGAComputers10.3390/computers1105007611:5(76)Online publication date: 9-May-2022
  • (2022)Parallelised Multithreaded Applications on a 4-core Field Programmable Gate Array (FPGA) ArchitectureRecent Advances in Electrical & Electronic Engineering (Formerly Recent Patents on Electrical & Electronic Engineering)10.2174/235209651566622060316524715:3(255-264)Online publication date: May-2022
  • (2022)Characterizing energy and performance of soft-core-based homogeneous multiprocessor systemsThe Journal of Supercomputing10.1007/s11227-021-04273-778:7(9079-9101)Online publication date: 1-May-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 09 August 2016
Accepted: 01 December 2015
Revised: 01 August 2015
Received: 01 March 2015
Published in TRETS Volume 9, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. FPGA-based
  2. Linux
  3. computer architecture
  4. multiprocessing systems
  5. performance evaluation

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)3
Reflects downloads up to 30 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Co-Design of Multicore Hardware and Multithreaded Software for Thread Performance Assessment on an FPGAComputers10.3390/computers1105007611:5(76)Online publication date: 9-May-2022
  • (2022)Parallelised Multithreaded Applications on a 4-core Field Programmable Gate Array (FPGA) ArchitectureRecent Advances in Electrical & Electronic Engineering (Formerly Recent Patents on Electrical & Electronic Engineering)10.2174/235209651566622060316524715:3(255-264)Online publication date: May-2022
  • (2022)Characterizing energy and performance of soft-core-based homogeneous multiprocessor systemsThe Journal of Supercomputing10.1007/s11227-021-04273-778:7(9079-9101)Online publication date: 1-May-2022
  • (2020)Recommender system implementations for embedded collaborative filtering applicationsMicroprocessors & Microsystems10.1016/j.micpro.2020.10299773:COnline publication date: 1-Mar-2020
  • (2017)A scrubbing scheduling approach for reliable FPGA multicore processors with real-time constraints2017 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT)10.1109/DFT.2017.8244441(1-4)Online publication date: Oct-2017

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media