Pydgin: generating fast instruction set simulators from simple architecture descriptions with meta-tracing JIT compilers

Pydgin: generating fast instruction set simulators from simple architecture descriptions with meta-tracing JIT compilers
复制标题

Pydgin:使用元跟踪 JIT 编译器从简单的架构描述生成快速指令集模拟器

DOI:
--
复制
发表时间:
2015
期刊:
IEEE International Symposium on Performance Analysis of Systems and Software
影响因子:
--
通讯作者:
C. Batten
C. Batten
中科院分区:
--
文献类型:
--
作者:
Derek Lockhart;Berkin Ilbeyi;C. Batten

文献摘要

参考文献

被引文献

相似文献

指令集模拟器 (ISS) 仍然是学术界和工业界快速探索和评估指令集扩展的重要工具。由于它们在硬件和软件设计中的重要性,现代国际空间站必须平衡开发人员生产力和高性能模拟之间的紧张关系。生产力要求催生了“ADL 驱动”工具流,可以从高级架构描述语言 (ADL) 自动生成 ISS。与此同时,性能要求促使国际空间站采用日益复杂的动态二进制翻译(DBT)技术。构建能够同时提供 ADL 生成的模拟器的生产力优势和 DBT 的性能优势的框架仍然是一个重大挑战。我们推出 Pydgin,这是一种 ISS 构建的新方法,可解决设计、实施和维护 ADL 生成的 DBT-ISS 的多重挑战。 Pydgin 使用基于 Python 的嵌入式 ADL 将指令行为简洁地描述为可直接执行的“伪代码”。这些 Pydgin ADL 描述用于通过创造性地适应为通用动态编程语言设计的现有元跟踪 JIT 编译框架来自动生成高性能 DBT-ISS。我们通过为两个指令集实现 ISS 来展示 Pydgin 的功能,并表明 Pydgin 提供简洁、灵活的 ISA 描述,同时还生成性能与手工编码的 DBT-ISS 相当的模拟器。
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.
使用并行动态二进制翻译的可扩展多核模拟
DOI: 10.1109/samos.2011.6045461
发表时间: 2011
期刊: --
影响因子: --
作者:
Almer O
通讯作者: Almer O
在动态二进制翻译器中使用并行任务场的广义即时跟踪编译
DOI: 10.1145/1993498.1993508
发表时间: 2011
期刊: --
影响因子: --
作者:
Böhm I
通讯作者: Böhm I