Extensible software emulator for reconfigurable instruction cell based processors

This paper presents a novel high-speed behavioural simulator (software-based emulator) for reconfigurable instruction cell based processors. These architectures are particularly suited to providing low-power, low-cost implementations of applications in a streaming environment, such as image signal processing, video playback, or base-band signal processing. As a result, many realistic applications operate on very large data sets, so simulation time plays a key role in the time to market. The key aspect of this work is an efficient serialisation algorithm (based on topological sort), able to capture the intricacies of reconfigurable processors that can be reconfigured very rapidly (ns). This allows for a new generation of high-speed emulation models to be constructed. The performance of this algorithm deployed in an interpreter-based model is compared to other simulation techniques. The emulator can achieve performance around two orders of magnitude higher than current event-driven software models, and similar to that of an FPGA-based model. This brings the simulation times low enough to be able to use this technology as the basis for feedback-directed optimisation, which can significantly improve the performance of application code.

[1]  Tughrul Arslan,et al.  Implementation of a Real Time Programmable Encoder for Low Density Parity Check Code on a Reconfigurable Instruction Cell Architecture , 2007, 2007 Asia and South Pacific Design Automation Conference.

[2]  E. Sanchez,et al.  Development and prototyping system far an 8-bit multitask micropower processor , 1995, Proceedings Sixth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype.

[3]  G. E. Nasr,et al.  An implementation scheme for a microprocessor emulator , 2000, ICECS 2000. 7th IEEE International Conference on Electronics, Circuits and Systems (Cat. No.00EX445).

[4]  Tughrul Arslan,et al.  Automated Dynamic Throughput-constrained Structural-level Pipelining in Streaming Applications , 2008, 2008 Design, Automation and Test in Europe.

[5]  Tughrul Arslan,et al.  System-level Scheduling on Instruction Cell Based Reconfigurable Systems , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[6]  P. Geoffrey Lowney,et al.  Feedback directed optimization in Compaq's compilation tools for Alpha , 1999 .

[7]  Michael Gschwind,et al.  FPGA prototyping of a RISC processor core for embedded applications , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[8]  Hassan Diab,et al.  A reconfigurable microprocessor teaching tool , 1990 .

[9]  Brad L. Hutchings,et al.  JHDL-an HDL for reconfigurable systems , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[10]  Yuichi Nakamura,et al.  Fast FPGA-Emulation-Based Simulation Environment for Custom Processors , 2006, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..

[11]  Phillip A. Laplante,et al.  Anecdotes , 2006, IEEE Ann. Hist. Comput..

[12]  Vikram S. Adve,et al.  The LLVM Compiler Framework and Infrastructure Tutorial , 2004, LCPC.

[13]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[14]  Tughrul Arslan,et al.  H.264 Decoder Implementation on a Dynamically Reconfigurable Instruction Cell Based Architecture , 2006, 2006 IEEE International SOC Conference.

[15]  Michael Gschwind,et al.  Execution-Based Scheduling for VLIW Architectures , 1999, Euro-Par.

[16]  C. Cooper,et al.  The use of Java to develop a microprocessor emulator , 1998, Proceedings. 1998 International Conference Software Engineering: Education and Practice (Cat. No.98EX220).

[17]  Heinrich Meyr,et al.  A framework for fast hardware-software co-simulation , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[18]  Tughrul Arslan,et al.  The Reconfigurable Instruction Cell Array , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[19]  Hassan Diab,et al.  A computer-aided teaching package for microprocessor systems education , 1991 .