Evolution in architectures and programming methodologies of coarse-grained reconfigurable computing

In order to meet the increased computational demands of, e.g., multimedia applications, such as video processing in HDTV, and communication applications, such as baseband processing in telecommunication systems, the architectures of reconfigurable devices have evolved to coarse-grained compositions of functional units or program controlled processors, which are operated in a coordinated manner to improve performance and energy efficiency. In this survey we explore the field of coarse-grained reconfigurable computing on the basis of the hardware aspects of granularity, reconfigurability, and interconnection networks, and discuss the effects of these on energy related properties and scalability. We also consider the computation models that are being adopted for programming of such machines, models that expose the parallelism inherent in the application in order to achieve better performance. We classify the coarse-grained reconfigurable architectures into four categories and present some of the existing examples of these categories. Finally, we identify the emerging trends of introduction of asynchronous techniques at the architectural level and the use of nano-electronics from technological perspective in the reconfigurable computing discipline.

[1]  Bruce M. Maggs,et al.  Proceedings of the 28th Annual Hawaii International Conference on System Sciences- 1995 Models of Parallel Computation: A Survey and Synthesis , 2022 .

[2]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[3]  Ranga Vemuri,et al.  An integrated multicomponent synthesis environment for MCMs , 1993, Computer.

[4]  André DeHon,et al.  The Density Advantage of Configurable Computing , 2000, Computer.

[5]  Adrian E. Lawrence HCSP : Imperative State and True Concurrency , 2002 .

[6]  E. Rijpkema,et al.  Compaan: deriving process networks from Matlab for embedded signal processing architectures , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[7]  M. Horowitz,et al.  Efficient on-chip global interconnects , 2003, 2003 Symposium on VLSI Circuits. Digest of Technical Papers (IEEE Cat. No.03CH37408).

[8]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[9]  Andy D. Pimentel,et al.  The Artemis Workbench for System-level Performance Evaluation of Embedded System Architectures at Multiple Abstraction Levels , 2005 .

[10]  Wolfgang Fichtner,et al.  Practical design of globally-asynchronous locally-synchronous systems , 2000, Proceedings Sixth International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC 2000) (Cat. No. PR00586).

[11]  Reiner W. Hartenstein,et al.  Coarse grain reconfigurable architecture (embedded tutorial) , 2001, ASP-DAC '01.

[12]  Prakash Panangaden,et al.  The Expressive Power of Indeterminate Dataflow Primitives , 1992, Inf. Comput..

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

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

[15]  Alain J. Martin,et al.  Asynchronous Techniques for System-on-Chip Design , 2006, Proceedings of the IEEE.

[16]  Stylianos Perissakis,et al.  Stream computations organized for reconfigurable execution , 2006, Microprocess. Microsystems.

[17]  Thomas D. Burd,et al.  Energy efficient microprocessor design , 2001 .

[18]  Massoud Pedram,et al.  Architectures for silicon nanoelectronics and beyond , 2007, Computer.

[19]  Bertil Svensson,et al.  Analyzing the Advantages of Run-Time Reconfiguration in Radar Signal Processing , 2005, IASTED PDCS.

[20]  Daniel Marcos Chapiro,et al.  Globally-asynchronous locally-synchronous systems , 1985 .

[21]  Michael R. Butts,et al.  A Structural Object Programming Model, Architecture, Chip and Tools for Reconfigurable Computing , 2007 .

[22]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[23]  André DeHon,et al.  Hybrid CMOS/nanoelectronic digital circuits: devices, architectures, and design automation , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[24]  Jan M. Rabaey,et al.  Reconfigurable processing: the solution to low-power programmable DSP , 1997, 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[25]  William H. Mangione-Smith Application Design for Configurable Computing , 1997, Computer.

[26]  Tobias Bjerregaard,et al.  A survey of research and practices of Network-on-chip , 2006, CSUR.

[27]  Henry Hoffmann,et al.  On-Chip Interconnection Architecture of the Tile Processor , 2007, IEEE Micro.

[28]  Seth Copen Goldstein,et al.  NanoFabrics: spatial computing using molecular electronics , 2001, Proceedings 28th Annual International Symposium on Computer Architecture.

[29]  Andy D. Pimentel,et al.  The Artemis workbench for system-level performance evaluation of embedded systems , 2008, Int. J. Embed. Syst..

[30]  Fadi J. Kurdahi,et al.  MorphoSys: An Integrated Reconfigurable System for Data-Parallel and Computation-Intensive Applications , 2000, IEEE Trans. Computers.

[31]  Mike Butts,et al.  TeraOPS hardware: A new massively-parallel MIMD computing fabric IC , 2006, 2006 IEEE Hot Chips 18 Symposium (HCS).

[32]  Viktor K. Prasanna,et al.  A Methodology for Energy Efficient Application Synthesis Using Platform FPGAs , 2004, ERSA.

[33]  Fadi J. Kurdahi,et al.  A compiler framework for mapping applications to a coarse-grained reconfigurable computer architecture , 2001, CASES '01.

[34]  Marco Platzner,et al.  Zippy - a coarse-grained reconfigurable array with support for hardware virtualization , 2005, 2005 IEEE International Conference on Application-Specific Systems, Architecture Processors (ASAP'05).

[35]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[36]  Reiner W. Hartenstein Coarse grain reconfigurable architectures , 2001, Proceedings of the ASP-DAC 2001. Asia and South Pacific Design Automation Conference 2001 (Cat. No.01EX455).

[37]  Lionel M. Ni,et al.  Routing Techniques in Direct Networks , 1993 .

[38]  Frank Vahid,et al.  Energy savings and speedups from partitioning critical software loops to hardware in embedded systems , 2004, TECS.

[39]  Wayne Luk,et al.  Reconfigurable computing: architectures and design methods , 2005 .

[40]  Viktor K. Prasanna,et al.  PyGen: a MATLAB/Simulink based tool for synthesizing parameterized and energy efficient designs using FPGAs , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[41]  Reiner W. Hartenstein Trends in reconfigurable logic and reconfigurable computing , 2002, 9th International Conference on Electronics, Circuits and Systems.

[42]  Henry Hoffmann,et al.  Evaluation of the Raw microprocessor: an exposed-wire-delay architecture for ILP and streams , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[43]  Yanbing Li,et al.  Hardware-software co-design of embedded reconfigurable architectures , 2000, DAC.

[44]  Robert Stephens,et al.  A survey of stream processing , 1997, Acta Informatica.

[45]  Vikas Agarwal,et al.  Clock rate versus IPC: the end of the road for conventional microarchitectures , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[46]  William J. Dally,et al.  Programmable Stream Processors , 2003, Computer.

[47]  André DeHon,et al.  MATRIX: a reconfigurable computing architecture with configurable instruction distribution and deployable resources , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[48]  Seth Copen Goldstein,et al.  NanoFabrics: spatial computing using molecular electronics , 2001, ISCA 2001.

[49]  Dominique Lavenier,et al.  Evaluation of the streams-C C-to-FPGA compiler: an applications perspective , 2001, FPGA '01.

[50]  Michel Robert,et al.  Metrics for reconfigurable architectures characterization: remanence and scalability , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[51]  William J. Dally,et al.  Principles and Practices of Interconnection Networks , 2004 .

[52]  Henry Hoffmann,et al.  A stream compiler for communication-exposed architectures , 2002, ASPLOS X.

[53]  George A. Constantinides Perturbation analysis for word-length optimization , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[54]  Seth Copen Goldstein,et al.  Tartan: evaluating spatial computation for whole program execution , 2006, ASPLOS XII.

[55]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[56]  Christoforos E. Kozyrakis,et al.  The stream virtual machine , 2004, Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004..

[57]  Seth Copen Goldstein,et al.  Pegasus: An Efficient Intermediate Representation , 2002 .

[58]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

[59]  Jens Sparsø,et al.  A router architecture for connection-oriented service guarantees in the MANGO clockless network-on-chip , 2005, Design, Automation and Test in Europe.

[60]  Nikolay Kavaldjiev,et al.  A run-time reconfigurable Network-on-Chip for streaming DSP applications , 2006 .

[61]  M. Horowitz,et al.  How scaling will change processor architecture , 2004, 2004 IEEE International Solid-State Circuits Conference (IEEE Cat. No.04CH37519).