APP下载

基于中间表示规则替换的二进制翻译中间代码优化方法

2021-08-24庞建民

国防科技大学学报 2021年4期
关键词:指令规则优化

李 男,庞建民

(1. 战略支援部队信息工程大学, 河南 郑州 450001;2. 数学工程与先进计算国家重点实验室, 河南 郑州 450002)

二进制翻译技术[1-2]是作为程序等价变换工具产生并发展起来的,被定义为一种机器上的指令序列到另一种机器上指令序列的等价转换过程。它在丰富国产平台软件生态的过程中,发挥了重要作用。

二进制翻译按照实现方式主要包含静态翻译和动态翻译[3]。静态翻译采用的是一种先翻译后执行的“离线翻译”方式,实现了“一次翻译,多次执行”,其翻译过程与执行过程彼此独立,翻译时间不计入系统时间。动态翻译采用的是一种边翻译、边执行的“捆绑式”工作方式,可以实现多源到多目标的程序翻译,由于可以获得运行时信息,因此动态翻译能够解决静态翻译难以解决的动态地址发现和自修改代码的问题。但是,动态翻译本身需要占用部分系统时间。翻译优化问题一直是动态翻译的研究热点[4-6]。本文在不引起歧义的情况下,将待翻译二进制文件的生成平台称为源平台,将动态二进制翻译器运行的平台称本地平台或目标平台。

1 问题的提出

动态二进制翻译在实现多源到多目标的程序翻译过程中,为了屏蔽不同源平台间的硬件差异,引入了中间代码,可以将任何源平台的指令先转化成中间代码,再转化成目标平台指令。在中间代码生成过程中,动态二进制翻译采用了内存虚拟机制,借助临时变量和环境变量,将对源平台特定寄存器的访问操作转化为与寄存器无关的内存访问操作。……

登录APP查看全文

猜你喜欢

指令规则优化
听我指令:大催眠术
超限高层建筑结构设计与优化思考
撑竿跳规则的制定
民用建筑防烟排烟设计优化探讨
关于优化消防安全告知承诺的一些思考
数独的规则和演变
一道优化题的几何解法
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
让规则不规则