【摘要】 一种非对齐访存的处理方法,包括:根据目标体系结构设定翻译门限,在解释器中对访存指令进行插桩,得到非对齐访存指令的信息;当翻译单元的执行次数大于所述翻译门限时,根据所述非对齐访存指令的信息指导翻译器选择合适指令将翻译单元翻译成本地码;根据异常处理机制将解释器插桩未发现的非对齐访存指令生成相应的非对齐访存指令序列,插入到异常处理地址,嵌入到执行代码中。使用该方法可以极大的减少二进制翻译器中产生的非对齐访存异常的次数,提高二进制翻译器的效率;可以更好的处理代码执行行为随不同输入集而变化的应用程序中出现的非对齐访存异常,并且可以有效的提高二进制翻译系统的运行效率。 【专利类型】发明授权 【申请人】中国科学院计算技术研究所 【申请人类型】科研单位 【申请人地址】100190 北京市海淀区中关村科学院南路6号 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810115202.5 【申请日】2008-06-18 【申请年份】2008 【公开公告号】CN101299192B 【公开公告日】2010-06-02 【公开公告年份】2010 【授权公告号】CN101299192B 【授权公告日】2010-06-02 【授权公告年份】2010.0 【IPC分类号】G06F9/45 【发明人】李建军; 武成岗; 陈龙 【主权项内容】一种非对齐访存的处理方法,包括:步骤10)、在解释器中对访存指令进行插桩,得到非对齐访存指令的信息;步骤20)、当翻译单元的执行次数大于预设的翻译门限时,根据所述非对齐访存指令的信息指导翻译器将翻译单元翻译成本地码;步骤30)、在所述本地码执行过程中,如果发生非对齐访存,则利用异常处理机制,在异常处理函数中根据操作系统保存的异常上下文信息生成相应的非对齐访存指令序列,并将所述指令序列插入到本地可执行代码中;其中,所述非对齐访存是指访存地址不是所访问数据单元字节数的整数倍。 【当前权利人】中国科学院计算技术研究所 【当前专利权人地址】北京市海淀区中关村科学院南路6号 【统一社会信用代码】12100000400012342E 【引证次数】2.0 【自引次数】1.0 【他引次数】1.0 【家族引证次数】2.0 【家族被引证次数】21