DocumentCode :
704755
Title :
Pydgin: generating fast instruction set simulators from simple architecture descriptions with meta-tracing JIT compilers
Author :
Lockhart, Derek ; Ilbeyi, Berkin ; Batten, Christopher
Author_Institution :
Sch. of Electr. & Comput. Eng., Cornell Univ., Ithaca, NY, USA
fYear :
2015
fDate :
29-31 March 2015
Firstpage :
256
Lastpage :
267
Abstract :
Instruction set simulators (ISSs) remain an essential tool for the rapid exploration and evaluation of instruction set extensions in both academia and industry. Due to their importance in both hardware and software design, modern ISSs must balance a tension between developer productivity and high-performance simulation. Productivity requirements have led to “ADL-driven” toolflows that automatically generate ISSs from high-level architectural description languages (ADLs). Meanwhile, performance requirements have prompted ISSs to incorporate increasingly complicated dynamic binary translation (DBT) techniques. Construction of frameworks capable of providing both the productivity benefits of ADL-generated simulators and the performance benefits of DBT remains a significant challenge. We introduce Pydgin, a new approach to ISS construction that addresses the multiple challenges of designing, implementing, and maintaining ADL-generated DBT-ISSs. Pydgin uses a Python-based, embedded-ADL to succinctly describe instruction behavior as directly executable “pseudocode”. These Pydgin ADL descriptions are used to automatically generate high-performance DBT-ISSs by creatively adapting an existing meta-tracing JIT compilation framework designed for general-purpose dynamic programming languages. We demonstrate the capabilities of Pydgin by implementing ISSs for two instruction sets and show that Pydgin provides concise, flexible ISA descriptions while also generating simulators with performance comparable to hand-coded DBT-ISSs.
Keywords :
digital simulation; hardware-software codesign; instruction sets; program compilers; ADL-driven toolflows; ADL-generated DBT-ISS; DBT techniques; Pydgin ADL descriptions; Python-based embedded-ADL; dynamic binary translation techniques; executable pseudocode; fast instruction set simulators; general-purpose dynamic programming languages; hardware design; high-level ADL; high-level architectural description languages; high-performance DBT-ISS; metatracing JIT compilers; software design; Encoding; Manuals; Optimization; Productivity; Registers; Semantics; Syntactics;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Performance Analysis of Systems and Software (ISPASS), 2015 IEEE International Symposium on
Conference_Location :
Philadelphia, PA
Type :
conf
DOI :
10.1109/ISPASS.2015.7095811
Filename :
7095811
Link To Document :
بازگشت