DSP Instruction Set Simulation

An instruction set simulator is an important tool for system architects and for software developers. However, when implementing a simulator, there are many choices which can be made and that have an effect on the speed and the accuracy of the simulation. They are especially relevant to DSP simulation. This chapter explains the different strategies for implementing a simulator.

[1]  James E. Fowler,et al.  Compiled instruction set simulation , 1991, Softw. Pract. Exp..

[2]  Babak Falsafi,et al.  ProtoFlex: Co-simulation for Component-wise FPGA Emulator Development , 2006 .

[3]  Florian Brandner,et al.  Precise simulation of interrupts using a rollback mechanism , 2009, SCOPES.

[4]  David I. August,et al.  The liberty structural specification language: a high-level modeling language for component reuse , 2004, PLDI '04.

[5]  Wei Qin,et al.  Constructing Portable Compiled Instruction-set Simulators-An ADL-driven Approach , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[6]  Xinping Zhu,et al.  A multiprocessing approach to accelerate retargetable and portable dynamic-compiled instruction-set simulation , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[7]  Yu Zhang,et al.  Parallelization of IBM mambo system simulator in functional modes , 2008, OPSR.

[8]  Nikil Dutt,et al.  Processor Description Languages , 2008 .

[9]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.

[10]  Erik R. Altman,et al.  BOA: Targeting Multi-Gigahertz with Binary Translation , 1999 .

[11]  Dionisios N. Pnevmatikatos,et al.  ReSim, a trace-driven, reconfigurable ILP processor simulator , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[12]  R. C. Cofer,et al.  Rapid System Prototyping with FPGAs: Accelerating the Design Process , 2005 .

[13]  James R. Bell,et al.  Threaded code , 1973, CACM.

[14]  Martin Burtscher,et al.  Automatic Synthesis of High-Speed Processor Simulators , 2004, 37th International Symposium on Microarchitecture (MICRO-37'04).

[15]  Masato Edahiro,et al.  FIDES: An advanced chip multiprocessor platform for secure next generation mobile terminals , 2008, ACM Trans. Embed. Comput. Syst..

[16]  Lei Gao,et al.  A fast and generic hybrid simulation approach using C virtual machine , 2007, CASES '07.

[17]  Iain D. Craig,et al.  Virtual machines , 2005 .

[18]  Rodolfo Azevedo,et al.  The ArchC Architecture Description Language and Tools , 2005, International Journal of Parallel Programming.

[19]  Ravi Nair,et al.  Process Virtual Machines , 2005 .

[20]  Igor Böhm,et al.  Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator , 2011, PLDI '11.

[21]  Haibo Chen,et al.  COREMU: a scalable and portable parallel full-system emulator , 2011, PPoPP '11.

[22]  K. Ebcioglu,et al.  Daisy: Dynamic Compilation For 10o?40 Architectural Compatibility , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[23]  Oscar Almer,et al.  Scalable multi-core simulation using parallel dynamic binary translation , 2011, 2011 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[24]  Arvind,et al.  A-Ports: an efficient abstraction for cycle-accurate performance models on FPGAs , 2008, FPGA '08.

[25]  James R. Larus Assemblers, Linkers, and the SPIM Simulator , 1993 .

[26]  Donald J. Patterson,et al.  Computer organization and design: the hardware-software interface (appendix a , 1993 .

[27]  R. C. Cofer,et al.  Rapid system prototyping with FPGAs , 2005 .

[28]  David J. Lilja,et al.  Simulation of computer architectures: simulators, benchmarks, methodologies, and recommendations , 2006, IEEE Transactions on Computers.

[29]  R. Nigel Horspool,et al.  Ultra fast cycle-accurate compiled emulation of inorder pipelined architectures , 2007, J. Syst. Archit..

[30]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[31]  Michael Gschwind,et al.  Dynamic and Transparent Binary Translation , 2000, Computer.

[32]  Dam Sunwoo,et al.  FPGA-Accelerated Simulation Technologies (FAST): Fast, Full-System, Cycle-Accurate Simulators , 2007, MICRO.

[33]  Babak Falsafi,et al.  A complexity-effective architecture for accelerating full-system multiprocessor simulations using FPGAs , 2008, FPGA '08.

[34]  Michael Gschwind,et al.  Optimization and precise exceptions in dynamic compilation , 2001, CARN.

[35]  Wolfgang Rosenstiel,et al.  Cycle accurate binary translation for simulation acceleration in rapid prototyping of SoCs , 2005, Design, Automation and Test in Europe.

[36]  Alex K. Jones,et al.  Guest Editors’ Introduction to Security in Reconfigurable Systems Design , 2009, TRETS.

[37]  Michael Gschwind,et al.  Dynamic Binary Translation and Optimization , 2001, IEEE Trans. Computers.

[38]  Todd A. Proebsting Optimizing an ANSI C interpreter with superoperators , 1995, POPL '95.

[39]  Dam Sunwoo,et al.  The FAST methodology for high-speed SoC/computer simulation , 2007, ICCAD 2007.

[40]  Michael Gschwind,et al.  Optimizations and oracle parallelism with dynamic translation , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

[41]  Mendel Rosenblum,et al.  Embra: fast and flexible machine simulation , 1996, SIGMETRICS '96.

[42]  Sharad Malik,et al.  The Liberty Simulation Environment: A deliberate approach to high-level system modeling , 2006, TOCS.

[43]  Gert Goossens,et al.  Design of ASIPs in multi-processor SoCs using the Chess/Checkers retargetable tool suite , 2006, International Symposium on System-on-Chip.

[44]  Sandro Rigo,et al.  Optimizations for compiled simulation using instruction type information , 2004 .

[45]  Anoop Gupta,et al.  Complete computer system simulation: the SimOS approach , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[46]  Heinrich Meyr,et al.  Retargetable compiled simulation of embedded processors using a machine description language , 2000, TODE.

[47]  Takeshi Yoshimura,et al.  A fast hardware/software co-verification method for systern-on-a-chip by using a C/C++ simulator and FPGA emulator with shared register communication , 2004, Proceedings. 41st Design Automation Conference, 2004..

[48]  Richard Johnson,et al.  The Transmeta Code Morphing/spl trade/ Software: using speculation, recovery, and adaptive retranslation to address real-life challenges , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[49]  Rainer Leupers,et al.  A universal technique for fast and flexible instruction-set architecture simulation , 2002, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[50]  Nikil D. Dutt,et al.  A retargetable framework for instruction-set architecture simulation , 2006, TECS.

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

[52]  Nigel P. Topham,et al.  High Speed CPU Simulation Using LTU Dynamic Binary Translation , 2009, HiPEAC.

[53]  Soha Hassoun,et al.  A transaction-based unified simulation/emulation architecture for functional verification , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[54]  Arvind,et al.  Quick Performance Models Quickly: Closely-Coupled Partitioned Simulation on FPGAs , 2008, ISPASS 2008 - IEEE International Symposium on Performance Analysis of Systems and software.

[55]  C. May Mimic: a fast system/370 simulator , 1987, PLDI 1987.

[56]  Nikil D. Dutt,et al.  Generic pipelined processor modeling and high performance cycle-accurate simulator generation , 2005, Design, Automation and Test in Europe.

[57]  Nikil D. Dutt,et al.  Hybrid-compiled simulation: An efficient technique for instruction-set architecture simulation , 2009, TECS.

[58]  David Keppel,et al.  Shade: a fast instruction-set simulator for execution profiling , 1994, SIGMETRICS.

[59]  Ravi Nair,et al.  System Virtual Machines , 2005 .

[60]  Nikil D. Dutt,et al.  Instruction set compiled simulation: a technique for fast and flexible instruction set simulation , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[61]  Olivier Temam,et al.  UNISIM: An Open Simulation Environment and Library for Complex Architecture Design and Collaborative Development , 2007, IEEE Computer Architecture Letters.

[62]  Babak Falsafi,et al.  ProtoFlex: Towards Scalable, Full-System Multiprocessor Simulations Using FPGAs , 2009, TRETS.

[63]  Richard L. Sites,et al.  Binary translation : Digital's alpha chip project , 1993 .

[64]  Luca Benini,et al.  Scalable instruction set simulator for thousand-core architectures running on GPGPUs , 2010, 2010 International Conference on High Performance Computing & Simulation.

[65]  Richard L. Sites,et al.  Binary translation , 1993, CACM.

[66]  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).

[67]  R. Nigel Horspool,et al.  An Approach to the Problem of Detranslation of Computer Programs , 1980, Comput. J..

[68]  Peter S. Magnusson Efficient instruction cache simulation and execution profiling with a threaded-code interpreter , 1997, WSC '97.

[69]  Markus Freericks,et al.  Describing instruction set processors using nML , 1995, Proceedings the European Design and Test Conference. ED&TC 1995.

[70]  Wolfgang Rosenstiel,et al.  Instruction set emulation for rapid prototyping of SoCs , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.