DISE: a programmable macro engine for customizing applications

DISE: a programmable macro engine for customizing applications
复制标题

DISE:用于定制应用程序的可编程宏引擎

DOI:
--
复制
发表时间:
2003
期刊:
30th Annual International Symposium on Computer Architecture, 2003. Proceedings.
影响因子:
--
通讯作者:
A. Roth
A. Roth
中科院分区:
--
文献类型:
--
作者:
Marc L. Corliss;E. C. Lewis;A. Roth

文献摘要

被引文献

相似文献

动态指令流编辑 (DISE) 是一种软件-硬件协作方案,用于向应用程序高效添加定制功能,例如安全/安全检查、分析、动态代码解压缩和动态优化。在DISE中,应用程序定制函数(ACF)被制定为将某些指令宏扩展为参数化指令序列的规则。处理器对获取的指令执行规则,向执行引擎提供包含 ACF 代码的指令流。动态指令宏扩展广泛应用于当今的许多处理器中,以将复杂的 ISA 转换为更易于执行、更细粒度的内部形式。 DISE 采用了该技术并为其添加了编程接口。 DISE 统一了一大类 ACF 的实现,否则这些 ACF 需要专用硬件小部件或静态二进制重写。我们展示了两个 ACF(内存故障隔离和动态代码解压缩)的 DISE 实现及其组成。仿真表明,DISE ACF 比软件同类产品具有更好的性能,并且比硬件实现更具灵活性(有时会转化为性能)。
Dynamic instruction stream editing (DISE) is a cooperative software-hardware scheme for efficiently adding customization functionality $e.g, safety/security checking, profiling, dynamic code decompression, and dynamic optimization - to an application. In DISE, application customization functions (ACFs) are formulated as rules for macro-expanding certain instructions into parameterized instruction sequences. The processor executes the rules on the fetched instructions, feeding the execution engine an instruction stream that contains ACF code. Dynamic instruction macro-expansion is widely used in many of today's processors to convert a complex ISA to an easier-to-execute, finer-grained internal form. DISE coopts this technology and adds a programming interface to it. DISE unifies the implementation of a large class of ACFs that would otherwise require either special-purpose hardware widgets or static binary rewriting. We show DISE implementations of two ACFs - memory fault isolation and dynamic code decompression - and their composition. Simulation shows that DISE ACFs have better performance than their software counterparts, and more flexibility (which sometimes translates into performance) than hardware implementations.