Targeting code diversity with run-time adjustable issue-slots in a chip multiprocessor

This paper presents an adaptable softcore chip multiprocessor (CMP). The processor instruction set architecture (ISA) is based on the VEX ISA. The issue-width of the processor can be adjusted at run-time (before an application starts). The processor has eight 2-issue cores that can run independently from each other. If not in use, each core can be taken to a lower power mode by gating off its source clock. Multiple 2-issue cores can be combined at run-time to form a variety of configurations of very long instruction word (VLIW) processors. The CMP is implemented in the Xilinx Virtex-6 XC6VLX240T FPGA. It has a single ISA and requires no specialized compiler support. The CMP can target a variety of applications having instruction and/or data level parallelism. We found that applications/kernels with larger instruction level parallelism (ILP) performs better when run on a larger issue-width core, while applications with larger data level parallelism (DLP) performs better when run on multiple 2-issue cores with the data distributed among the cores.

[1]  Fan Yang,et al.  A modular VLIW Processor , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[2]  Paolo Faraboschi,et al.  Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools , 2004 .

[3]  Andrew A. Kennings,et al.  Symmetric multiprocessing on programmable chips made easy , 2005, Design, Automation and Test in Europe.

[4]  A. Lodi,et al.  A VLIW processor with reconfigurable instruction set for embedded applications , 2003, 2003 IEEE International Solid-State Circuits Conference, 2003. Digest of Technical Papers. ISSCC..

[5]  Geoffrey Brown,et al.  Lx: a technology platform for customizable VLIW embedded processing , 2000, ISCA '00.

[6]  Engin Ipek,et al.  Core fusion: accommodating software diversity in chip multiprocessors , 2007, ISCA '07.

[7]  Jürgen Becker,et al.  Parallel and flexible multiprocessor system-on-chip for adaptive automotive applications based on Xilinx MicroBlaze soft-cores , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[8]  Eduardo Sanchez,et al.  Spyder: a reconfigurable VLIW processor using FPGAs , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[9]  Patrick Akl,et al.  Customizing the Datapath and ISA of Soft VLIW Processors , 2007, HiPEAC.

[10]  Stephan Wong,et al.  The Delft Reconfigurable VLIW Processor , 2010 .

[11]  SankaralingamKarthikeyan,et al.  Exploiting ILP, TLP, and DLP with the polymorphous TRIPS architecture , 2003 .

[12]  Kurt Keutzer,et al.  An FPGA-based soft multiprocessor system for IPv4 packet forwarding , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[13]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[14]  J. Gregory Steffan,et al.  Efficient multi-ported memories for FPGAs , 2010, FPGA '10.

[15]  Ioannis Papaefstathiou,et al.  MPLEM: An 80-processor FPGA Based Multiprocessor System , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[16]  Geoffrey Brown,et al.  A hardware compilation flow for instance-specific VLIW cores , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[17]  Alex K. Jones,et al.  An FPGA-based VLIW processor with custom hardware execution , 2005, FPGA '05.

[18]  Susan Xu,et al.  A Multi-MicroBlaze Based SOC System: From SystemC Modeling to FPGA Prototyping , 2008, 2008 The 19th IEEE/IFIP International Symposium on Rapid System Prototyping.

[19]  Geoffrey Brown,et al.  ρ-VEX: A reconfigurable and extensible softcore VLIW processor , 2008, 2008 International Conference on Field-Programmable Technology.

[20]  William J. Dally,et al.  Smart Memories: a modular reconfigurable architecture , 2000, ISCA '00.