[发明专利]一种动态二进制翻译指令集模拟器计时方法有效
申请号: | 201410178279.2 | 申请日: | 2014-04-29 |
公开(公告)号: | CN103955357B | 公开(公告)日: | 2017-03-15 |
发明(设计)人: | 郭向英;张西超;赵雷;陈睿 | 申请(专利权)人: | 北京控制工程研究所 |
主分类号: | G06F9/40 | 分类号: | G06F9/40 |
代理公司: | 中国航天科技专利中心11009 | 代理人: | 安丽 |
地址: | 100080 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 二进制 翻译 指令 模拟器 计时 方法 | ||
技术领域
本发明涉及一种动态二进制翻译指令集模拟器计时方法,属于嵌入式软件领域。
背景技术
指令集模拟器用于在软件层面对目标计算机的CPU指令集、中断控制器、外设等进行全系统模拟,从而使得软件能够在不做任何修改前提下运行于不同体系结构的计算机。
而对于运行航天嵌入式软件的指令集模拟器,由于软件对实时性有很高的要求,所以不仅要求模拟器能够正确模拟指令的执行结果,还要求能够提供指令计时功能,并且计时精度能够满足软件对实时性的要求。
指令集模拟器的这种计时功能是在模拟指令执行的过程中,通过统计模拟执行指令在物理计算机上执行时需要的时钟周期数来实现的。传统基于解释技术的指令集模拟器的计时方法是在解释执行一条指令后,再计算该指令需要耗费的时钟周期数及内存延迟周期数,然后累加起来计算出总的指令模拟执行时间。
由于解释型指令集模拟器的指令模拟效率很低,逐条指令计算时钟周期的方式在指令模拟的过程中开销占比较小,所以采用这种方法可以实现精确计时。但对于采用动态二进制翻译技术的指令集模拟器,由于动态翻译过程中以基本块为单位,直接将一种体系结构的指令动态翻译成另外一种体系结构的指令,如果仍采用这种指令计时方式,计时开销会显著增加,甚至会超过模拟指令功能所占用的开销,这将会严重降低动态翻译的效果,进而影响动态二进制翻译模拟器的性能。
针对这种以基本块为翻译单元的编译型模拟器,常用的计时方式有两种:一种是根据宿主计算机的运行时间来估算模拟执行的指令周期数,这种方式的优点是模拟执行过程中计时几乎不占开销,指令模拟效率非常的高,但由于估算的误差很大,所以对于实时性较强的嵌入式软件,这种方法难以适用。
另一种是以分支或跳转指令划分的基本块为单位统计模拟执行的指令总数,以此来估算模拟执行的指令周期数。虽然后一种方法相比前一种方法的计时精度有了很大提高,但这种基本块的划分方式没有考虑某些指令具有多个执行周期,以及不同架构的嵌入式处理器可能具有的不同内存延迟特性问题,例如:
当基本块中包含内存访问指令时,由于这些内存访问指令所访问的内存地址可能会发生变化,所以无法准确预测基本块每次执行时所耗费的指令周期数,如下面一段TSC695F程序:
START:
(1)set0x1,%g2
(2)mov%g2,%g3
(3)nop
(4)ld[%g1],%f0
(5)set0x12000000,%g2
(6)st%g2,[%g2+%g1]
(7)add%i6,%l4,%i6
(8)sub%i6,0x60,%i6
(9)sub%i6,0x60,%o6
(10)jmp START
(11)nop
(12)nop
按照传统的划分方法,语句(1)~(11)会被划分到一个基本块内(因为这里的call指令带一个延迟槽,所以第11条语句也被包括在内)。
根据TSC695F手册,这个基本块内ld、jmp指令周期为2,st指令周期为3,其他指令周期为1,假设这段代码所在内存区域延迟参数为2,ld和st指令所访问内存区域的读、写参数分别是X和Y,则这个基本块的指令周期数N及其执行一次需要的总指令周期数T为:
N=(1+1+1+2+1+3+1+1+1+2+1)+(2*11)
T=N+X+Y
对于航天嵌入式实时性软件,由于运行过程中包含一些需要实时触发的事件,如运行至某时刻D,需要处理事件E。这就要求模拟器运行至一个基本块之前先进行判断,假设当前模拟器已经模拟运行的时间为S,则在执行基本块前,需要先判断(S+T)是否小于或等于D,只有条件满足时才能执行基本块的翻译代码,否则将造成事件E无法及时处理。
但由于这个基本块中包含了ld和st指令,并且所访问的内存区域在运行时可能发生变化,所以T的值是一个未知数,这将造成模拟器难以在执行基本块翻译代码之前事先判断实时事件的响应时机。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制工程研究所,未经北京控制工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410178279.2/2.html,转载请声明来源钻瓜专利网。