【24h】

A Novel Chaining Approach to Indirect Control Transfer Instructions

机译:一种间接控制转移指示的新型链接方法

获取原文

摘要

Both dynamic binary translation systems and optimization systems store the translated or optimized code in the software maintained code cache for reuse. The performance of the code cache is crucial. Translated code is usually organized as code blocks in the code cache and each code block transfer control to the next one through a control transfer instruction. As the target address of a control transfer instruction is in the form of its source program counter, the conventional code cache system has to check the address mapping table for the translated target address to find the required target code block, which will cause considerable performance degradation. Control transfer instructions can be divided into two categories as direct control transfer instructions and indirect control transfer instructions. For indirect control transfer instructions, the target address is hold in the register or memory element whose content can be changed during the execution of the program. It is difficult to chain the indirect control transfer instructions with a fixed translated target address through pure software approaches. A novel indirect control transfer chaining approach is proposed in this paper. The principle of the technique is to insert custom chaining instructions into the translated code block while translating the indirect control transfer instructions and execute those chaining instructions to implement dynamical chaining. Some special hardware and software assists are proposed in this paper. Evaluation of the proposed approach is conducted on a code cache simulator. Experiment results show that our hardware assisted indirect control transfer instruction chaining approach can improve the performance of the code cache system dramatically.
机译:动态二进制转换系统和优化系统都存储软件中的翻译或优化代码维护的代码缓存以进行重用。代码缓存的性能至关重要。翻译的代码通常被组织为代码高速缓存中的代码块,并且通过控制传输指令将每个代码块传输控制到下一个。由于控制传输指令的目标地址处于其源程度计数器的形式,传统的代码高速缓存系统必须检查转换目标地址的地址映射表以查找所需的目标代码块,这将导致相当大的性能下降。控制传输指令可分为两类直接控制传输指令和间接控制传输指令。对于间接控制传送指令,目标地址在寄存器或存储元件中保持在程序期间可以在程序期间更改内容。难以通过纯软件方法将间接控制转移指令链接到固定的翻译目标地址。本文提出了一种新颖的间接控制转移链方法。该技术的原理是将自定义链式指令插入转换的代码块,同时转换间接控制传输指令并执行那些链接指令以实现动态链接。本文提出了一些特殊的硬件和软件辅助。在代码缓存模拟器上进行了对所提出的方法的评估。实验结果表明,我们的硬件辅助间接控制传输指令链接方法可以急剧提高代码缓存系统的性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号