发明名称 一种非对齐访存的处理方法
摘要 一种非对齐访存的处理方法,包括:根据目标体系结构设定翻译门限,在解释器中对访存指令进行插桩,得到非对齐访存指令的信息;当翻译单元的执行次数大于所述翻译门限时,根据所述非对齐访存指令的信息指导翻译器选择合适指令将翻译单元翻译成本地码;根据异常处理机制将解释器插桩未发现的非对齐访存指令生成相应的非对齐访存指令序列,插入到异常处理地址,嵌入到执行代码中。使用该方法可以极大的减少二进制翻译器中产生的非对齐访存异常的次数,提高二进制翻译器的效率;可以更好的处理代码执行行为随不同输入集而变化的应用程序中出现的非对齐访存异常,并且可以有效的提高二进制翻译系统的运行效率。
申请公布号 CN101299192B 申请公布日期 2010.06.02
申请号 CN200810115202.5 申请日期 2008.06.18
申请人 中国科学院计算技术研究所 发明人 李建军;武成岗;陈龙
分类号 G06F9/45(2006.01)I 主分类号 G06F9/45(2006.01)I
代理机构 北京泛华伟业知识产权代理有限公司 11280 代理人 王勇
主权项 一种非对齐访存的处理方法,包括:步骤10)、在解释器中对访存指令进行插桩,得到非对齐访存指令的信息;步骤20)、当翻译单元的执行次数大于预设的翻译门限时,根据所述非对齐访存指令的信息指导翻译器将翻译单元翻译成本地码;步骤30)、在所述本地码执行过程中,如果发生非对齐访存,则利用异常处理机制,在异常处理函数中根据操作系统保存的异常上下文信息生成相应的非对齐访存指令序列,并将所述指令序列插入到本地可执行代码中;其中,所述非对齐访存是指访存地址不是所访问数据单元字节数的整数倍。
地址 100190 北京市海淀区中关村科学院南路6号