Separation of Data flow and Control flow in Reconfigurable Multi-core SoCs using the Gannet Service-based Architecture

This paper presents a mechanism for the separation of control and dataflow in NoC-based SoCs consisting of multiple heterogeneous reconfigurable IP cores. This mechanism enables full data path control by an embedded microcontroller whilst avoiding the potential communication bottleneck and without requiring centralised control over the NoC. In this work, we assume a generic SoC where data processing is performed by reconfigurable IP cores interacting through a NoC and control structures are implemented on a microcontroller. The proposed mechanism employs a service-based SoC architecture (the Gannet architecture) where the control services are implemented on a Virtual Machine and IP cores acquire service behaviour through the use of a generic data marshalling and interfacing circuit. The paper aims at demonstrating how concepts from functional programming language and dataflow machine research can be applied to address the challenges faced in the design of reconfigurable heterogeneous multi-core SoCs. The presented work is theoretical in nature but is explained by example without formal analysis and notations.

[1]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[2]  Rudy Lauwereins,et al.  Designing an operating system for a heterogeneous reconfigurable SoC , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[3]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

[4]  Gerald Jay Sussman,et al.  An Interpreter for Extended Lambda Calculus , 1975 .

[5]  Rudy Lauwereins,et al.  Networks on Chip as Hardware Components of an OS for Reconfigurable Systems , 2003, FPL.

[6]  Robin Milner,et al.  Definition of standard ML , 1990 .

[7]  Rudy Lauwereins,et al.  Interconnection Networks Enable Fine-Grain Dynamic Multi-tasking on FPGAs , 2002, FPL.

[8]  Jay van Zyl A perspective on service based architecture: the evolutionary concept that assists technology providers in dealing with a changing environment , 2002 .

[9]  Kees G. W. Goossens,et al.  Networks on silicon: combining best-effort and guaranteed services , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[10]  Norman P. Jouppi,et al.  Single-ISA heterogeneous multi-core architectures: the potential for processor power reduction , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[11]  Alberto L. Sangiovanni-Vincentelli,et al.  Addressing the system-on-a-chip interconnect woes through communication-based design , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[12]  Luca Benini,et al.  Networks on Chips : A New SoC Paradigm , 2022 .

[13]  Partha Pratim Pande,et al.  Performance evaluation and design trade-offs for network-on-chip interconnect architectures , 2005, IEEE Transactions on Computers.

[14]  H. Peter Hofstee,et al.  Power efficient processor architecture and the cell processor , 2005, 11th International Symposium on High-Performance Computer Architecture.

[15]  Wim Vanderbauwhede The Gannet Service-Based SoC: A Service-level Reconfigurable Architecture , 2006, First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06).

[16]  WadlerPhilip,et al.  Report on the programming language Haskell , 1992 .

[17]  Wim Vanderbauwhede Gannet : a functional task description language for a service-based SoC architecture , 2006 .