Symmetric Multiprocessor Design for Hybrid CPU/FPGA SoCs

  • Shane Santner
  • Wesley Peck
  • Jason Agron
  • David Andrews
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4943)


This paper presents the design of a Symmetric Multiprocessor (SMP) hybridthreads (hthreads) system that allows multiple threads to execute in parallel across multiple processors controlled by a single hardware scheduler. This approach increases the performance of software at a minimal cost to hardware. The issues that must be addressed for extending a uniprocessor kernel include system initialization, processor identification, context switching and concurrency control. As a proof of concept this paper shows how hthreads, an existing hardware/software co-designed kernel can be extended to control multiple processors from a single, centralized hardware scheduler. Analysis results from executing on hardware reveal that for computationally intensive programs the typical speedup is in the range of 1.65x. This shows improvement in system performance while also illustrating issues associated with bus arbitration and memory access times.


Context Switching Multiple Processor Cache Coherency Memory Access Time Thread Manager 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Xilinx University Program,
  2. 2.
    Avnet Electronics Marketing,
  3. 3.
    Peck, W., Anderson, E., Agron, J., Stevens, J., Baijot, F., Andrews, D.: Hthreads: A Computational Model for Reconfigurable Devices (August 2006)Google Scholar
  4. 4.
    Agron, J., Peck, W., Anderson, E., Andrews, D., Komp, E., Sass, R., Baijot, F., Stevens, J.: Run-Time Services for Hybrid CPU/FPGA Systems on Chip (December 2006)Google Scholar
  5. 5.
    Andrews, D., Peck, W., Agron, J., Preston, K., Komp, E., Finley, M., Sass, R.: hThreads: A Hardware/Software Co-Designed Multithreaded RTOS Kernel (September 2005)Google Scholar
  6. 6.
  7. 7.
    Hybridthreads - Main Page,
  8. 8.
    Sourceware: libc __malloc_lock/__malloc_unlock implementation,
  9. 9.
    Xilinx - Programmable Logic Devices,
  10. 10.
    Silberschatz, A., Baer, P., Gagne, G., Gagne, G.: Operating System Concepts, 6th edn. (2001)Google Scholar
  11. 11.
    Xilinx: Designing Multiprocessor Systems in Platform Studio,
  12. 12.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Shane Santner
    • 1
  • Wesley Peck
    • 2
  • Jason Agron
    • 1
  • David Andrews
    • 1
  1. 1.University of KansasLawrenceUSA
  2. 2.The NNSA’s Kansas City Plant managed and operated by Honeywell FM&TKansas CityUSA

Personalised recommendations