Performance improvements using coarse-grain reconfigurable logic in embedded SOCs

A hardware/software partitioning methodology for improving applications' performance in embedded single-chip systems is presented. Critical software parts are accelerated on hardware of a system comprised by an embedded processor and coarse-grain reconfigurable hardware. The reconfigurable hardware is realized by a 2-dimensional array of processing elements. The partitioning method uses a basic-block level analysis procedure for detecting kernels in software. A mapping algorithm for coarse-grain reconfigurable arrays has been developed for estimating the execution time of kernels on the reconfigurable hardware. The proposed partitioning flow has been largely automated for a program description in C language. Analytical hardware/software experiments on five real-world applications are given. The results show that by mapping critical parts on coarse-grain reconfigurable hardware, speedups ranging from 1.2 to 3.7, with an average value of 2.3, are achieved.

[1]  Frank Vahid,et al.  SpecSyn: an environment supporting the specify-explore-refine paradigm for hardware/software system design , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Gerard J. M. Smit,et al.  Mapping Wireless Communication Algorithms onto a Reconfigurable Architecture , 2004, The Journal of Supercomputing.

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

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

[5]  Jörg Henkel A low power hardware/software partitioning approach for core-based embedded systems , 1999, DAC '99.

[6]  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.

[7]  Jürgen Becker,et al.  Scalable processor instruction set extension , 2005, IEEE Design & Test of Computers.

[8]  Rajesh Gupta,et al.  Network topology exploration of mesh-based coarse-grain reconfigurable architectures , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[9]  Majid Sarrafzadeh,et al.  Instruction generation and regularity extraction for reconfigurable processors , 2002, CASES '02.

[10]  Kunle Olukotun,et al.  REMARC : Reconfigurable Multimedia Array Coprocessor , 1999 .

[11]  Frank Vahid,et al.  Improving Software Performance with Configurable Logic , 2002, Des. Autom. Embed. Syst..

[12]  Markus Weinhardt,et al.  PACT XPP—A Self-Reconfigurable Data Processing Architecture , 2003, The Journal of Supercomputing.

[13]  Rudy Lauwereins,et al.  Exploiting Loop-Level Parallelism on Coarse-Grained Reconfigurable Architectures Using Modulo Scheduling , 2003, DATE.