i-Core: A run-time adaptive processor for embedded multi-core systems

We present the i-Core (Invasive Core), an Application Specific Instruction Set Processor (ASIP) with a run-time adaptive instruction set. Its adaptivity is controlled by the runtime system with respect to application properties that may vary during run-time. A reconfigurable fabric hosts the adaptive part of the instruction set whereas the rest of the instruction set is fixed. We show how the i-Core is integrated into an embedded multi-core system and that it is particularly advantageous in multi-tasking scenarios, where it performs applications-specific as well as system-specific tasks.

[1]  Dirk Grunwald,et al.  Using IPC Variation in Workloads with Externally Specified R ates to Reduce Power Consumption , 2000 .

[2]  David H. Albonesi,et al.  Selective cache ways: on-demand cache resource allocation , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

[3]  Stamatis Vassiliadis,et al.  Fine- and Coarse-Grain Reconfigurable Computing , 2007 .

[4]  Sharad Malik,et al.  From ASIC to ASIP: the next design discontinuity , 2002, Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[5]  Muhammad Shafique,et al.  mRTS: Run-time system for reconfigurable processors with multi-grained instruction-set extensions , 2011, 2011 Design, Automation & Test in Europe.

[6]  Srivaths Ravi,et al.  A Scalable Application-Specific Processor Synthesis Methodology , 2003, ICCAD 2003.

[7]  Wolfgang Karl,et al.  A Run-time Reconfigurable Cache Architecture , 2007, PARCO.

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

[9]  Frank Vahid,et al.  Warp Processors , 2006, ACM Trans. Design Autom. Electr. Syst..

[10]  Rudy Lauwereins,et al.  Reconfigurable instruction set processors: a survey , 2000, Proceedings 11th International Workshop on Rapid System Prototyping. RSP 2000. Shortening the Path from Specification to Prototype (Cat. No.PR00668).

[11]  Margaret Martonosi,et al.  Cache decay: exploiting generational behavior to reduce cache leakage power , 2001, ISCA 2001.

[12]  Muhammad Shafique,et al.  Efficient Resource Utilization for an Extensible Processor Through Dynamic Instruction Set Adaptation , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[13]  Jörg Henkel,et al.  Rapid configuration and instruction selection for an ASIP: a case study , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[14]  Jürgen Becker,et al.  A Heterogeneous Multicore System on Chip with Run-Time Reconfigurable Virtual FPGA Architecture , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[15]  Rajesh K. Gupta,et al.  Adapting cache line size to application behavior , 1999, ICS '99.

[16]  Muhammad Shafique,et al.  RISPP: Rotating Instruction Set Processing Platform , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[17]  Jürgen Teich,et al.  Invasive Computing: An Overview , 2011, Multiprocessor System-on-Chip.

[18]  Marco Platzner,et al.  ReconOS: An RTOS Supporting Hard-and Software Threads , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[19]  Scott Mahlke,et al.  Processor acceleration through automated instruction set customization , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[20]  Wolfgang Karl,et al.  Performance Advantage of Reconfigurable Cache Design on Multicore Processor Systems , 2008, International Journal of Parallel Programming.

[21]  Holger Blume,et al.  Quantitative Analysis of Embedded FPGA-Architectures for Arithmetic , 2006, IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP'06).

[22]  Muhammad Shafique,et al.  Run-time instruction set selection in a transmutable embedded processor , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[23]  Paul Chow,et al.  The effect of reconfigurable units in superscalar processors , 2001, FPGA.

[24]  Michael Winston Dales,et al.  Managing a reconfigurable processor in a general purpose workstation environment , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[25]  Corporate SPARC architecture manual - version 8 , 1992 .

[26]  Paul Chow,et al.  Memory interfacing and instruction specification for reconfigurable processors , 1999, FPGA '99.

[27]  Muhammad Shafique,et al.  A computation- and communication- infrastructure for modular special instructions in a dynamically reconfigurable processor , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[28]  Holger Blume,et al.  Design flow for embedded FPGAs based on a flexible architecture template , 2008, 2008 Design, Automation and Test in Europe.

[29]  Juan J. Navarro,et al.  Dynamic history-length fitting: a third level of adaptivity for branch prediction , 1998, ISCA.

[30]  Jörg Henkel,et al.  Closing the SoC Design Gap , 2003, Computer.

[31]  Muhammad Shafique,et al.  KAHRISMA: A Novel Hypermorphic Reconfigurable-Instruction-Set Multi-grained-Array Architecture , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[32]  Ralph Wittig,et al.  OneChip: an FPGA processor with reconfigurable logic , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[33]  Tulika Mitra,et al.  Runtime Adaptive Extensible Embedded Processors - A Survey , 2009, SAMOS.

[34]  Srilatha Manne,et al.  Power and energy reduction via pipeline balancing , 2001, ISCA 2001.

[35]  Jorg Henkel,et al.  Designing Embedded Processors A Low Power Perspective , 2011 .

[36]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.