Adaptive Multiprocessor System-on-Chip Architecture: New Degrees of Freedom in System Design and Runtime Support

The requirements for a processor, in terms of its characteristics such as RISC (Reduced Instruction Set Computer), CISC (Complex Instruction Set Computer), bitwidth, instruction set, and for the communication and memory bandwidth differ for each application to be implemented. Furthermore, the required characteristic can be different at runtime, because the application has to react to the demands of the environment. Image processing is a good example for this scenario, because this application domain needs to adapt, depending on the content of the camera frames. Integrated, e.g., in a robot, the time variant requirements for the image processing applications are obvious. Sometimes gestures, obstacles, moving targets, etc. need to be detected within a high-resolution picture obtained by one or more cameras. For such applications, a novel Runtime Adaptive Multi-Processor System-on-Chip (RAMPSoC) was invented to provide an adaptive hardware architecture at design- and at runtime. This way, new degrees of freedom in system design and runtime support are provided. To program such a flexible multiprocessor system, an efficient design methodology is of high importance to hide the complexity of the underlying hardware. In addition, a runtime operating system is needed to handle the resource management and the runtime scheduling of the applications. In this chapter, the hardware architecture, the design methodology, and the runtime operating system of RAMPSoC are described. Furthermore, a brief overview about reconfigurable computing and dynamic and partial reconfiguration are given.

[1]  Bin Liu,et al.  Star-Wheels Network-on-Chip featuring a self-adaptive mixed topology and a synergy of a circuit - and a packet-switching communication protocol , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[2]  Wayne H. Wolf The future of multiprocessor systems-on-chips , 2004, Proceedings. 41st Design Automation Conference, 2004..

[3]  N. Voros,et al.  Dynamic System Reconfiguration in Heterogeneous Platforms , 2009 .

[4]  Scott Hauck,et al.  Reconfigurable computing: a survey of systems and software , 2002, CSUR.

[5]  Jürgen Becker,et al.  Configware and morphware going mainstream , 2003, J. Syst. Archit..

[6]  Jürgen Becker,et al.  High performance reconfigurable multi-processor-based computing on FPGAs , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[7]  Jürgen Becker,et al.  A Design Methodology for Application Partitioning and Architecture Development of Reconfigurable Multiprocessor Systems-on-Chip , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[8]  Bozidar Radunovic An overview of advances in reconfigurable computing systems , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[9]  Christophe Bobda,et al.  Design of adaptive multiprocessor on chip systems , 2007, SBCCI '07.

[10]  Gerald Estrin,et al.  Organization of computer systems: the fixed plus variable structure computer , 1960, IRE-AIEE-ACM '60 (Western).

[11]  Walter Stechele,et al.  Autovision – A Run-time Reconfigurable MPSoC Architecture for Future Driver Assistance Systems (Autovision – Eine zur Laufzeit rekonfigurierbare MPSoC Architektur für zukünftige Fahrerassistenzsysteme) , 2007, it Inf. Technol..

[12]  Jeff Mason,et al.  Invited Paper: Enhanced Architectures, Design Methodologies and CAD Tools for Dynamic Reconfiguration of Xilinx FPGAs , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[13]  Jürgen Becker,et al.  CAP-OS: Operating system for runtime scheduling, task mapping and resource management on reconfigurable multiprocessor architectures , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[14]  Jürgen Becker,et al.  Message Passing Interface support for the runtime adaptive multi-processor system-on-chip RAMPSoC , 2010, ICSAMOS.

[15]  Andrea Lodi,et al.  A dataflow control unit for C-to-configurable pipelines compilation flow , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[16]  Diana Gohringer,et al.  GenerateRCS: A high-level design tool for generating reconfigurable computing systems , 2009, 2009 17th IFIP International Conference on Very Large Scale Integration (VLSI-SoC).

[17]  John Wawrzynek,et al.  BEE2: a high-end reconfigurable computing system , 2005, IEEE Design & Test of Computers.

[18]  Jürgen Becker,et al.  Dynamic Adaptive Routing Techniques In Multigrain Dynamic Reconfigurable Hardware Architectures , 2004 .

[19]  Jürgen Becker,et al.  Realization of Real-Time Control Flow Oriented Automotive Applications on a Soft-core Multiprocessor System based on Xilinx Virtex II FPGAs , 2005 .

[20]  Reiner W. Hartenstein,et al.  A decade of reconfigurable computing: a visionary retrospective , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[21]  Scott Hauck,et al.  Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation , 2007 .

[22]  Lars Braun,et al.  Adaptive real-time image processing exploiting two dimensional reconfigurable architecture , 2009, Journal of Real-Time Image Processing.

[23]  Jürgen Becker,et al.  An FPGA run-time system for dynamical on-demand reconfiguration , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..