[发明专利]一种动态二进制翻译指令集模拟器计时方法有效

专利信息
申请号: 201410178279.2 申请日: 2014-04-29
公开(公告)号: CN103955357B 公开(公告)日: 2017-03-15
发明(设计)人: 郭向英;张西超;赵雷;陈睿 申请(专利权)人: 北京控制工程研究所
主分类号: G06F9/40 分类号: G06F9/40
代理公司: 中国航天科技专利中心11009 代理人: 安丽
地址: 100080 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 动态 二进制 翻译 指令 模拟器 计时 方法
【权利要求书】:

1.一种动态二进制翻译指令集模拟器计时方法,其特征在于步骤如下:

(1)初始化用于记录模拟器模拟执行时间的时间量SimTim为0、定义用于表示基本块内所有指令的周期数总和的计数量X、定义实时事件发生时刻Counter,所述的Counter表示从当前时刻开始,执行Counter个时钟周期后,模拟器开始执行需要处理的实时事件E;

(2)定义翻译代码缓存区TC以及定义缓存区LC,所述的缓存区LC用于保存最近访问内存区域的读写延迟参数,通过查询该缓存区可快速获得所访问内存区的读写延迟参数;

(3)定义用来保存不同内存区域的指令延迟周期数的内存延迟量、并根据等待状态配置寄存器的值对内存延迟量进行设置;

(4)设置模拟器PC寄存器的值为目标程序起始地址;

(5)查询缓存区TC,判断模拟器PC寄存器所指地址的指令是否已被翻译,若被翻译则进入步骤(13),否则进入步骤(6);

(6)动态翻译基本块,动态翻译基本块具体步骤如下:

a)记录当前时刻时间量SimTim的值S,并将计数量X设置为0,同时初始化指令翻译地址addr为PC寄存器的值;

b)根据当前指令翻译地址addr对基本块内的指令取指,同时查询缓存区LC获取读写延迟参数,并将该延迟参数的值累加到时间量SimTim中;

c)对取指指令进行动态翻译,并将该指令的周期数t累加到X中,即:X=X+t;

d)判断当前取指指令是否为跳转或分支指令,若是则进入步骤e),若不是则判断当前指令是否为内存访问指令,若是内存访问指令则进入步骤e),若不是则将当前指令翻译地址addr更新为其后继地址并进入步骤a);

e)记录当前时刻时间量SimTim的值TS;

f)计算基本块每执行一次所占用的指令周期数NTC=(TS–S)+X,其中(TS–S)为基本块中指令取指需要的指令周期数;

g)将SimTim的值恢复为S;

7)判断实时事件发生时刻Counter是否大于等于基本块指令周期NTC,若大于等于则进入步骤(9),否则进入步骤(8);

8)重新执行步骤(6),翻译一个指令周期数为Counter的基本块并进入步骤(9);

9)记录当前时刻时间量SimTim的值PS,执行基本块的动态翻译代码,执行后更新时间量SimTim的值为SimTim=SimTim+NTC,同时更新Counter=Counter–(SimTim-PS);

10)根据基本块的执行结果更新PC值;

11)判断Counter是否小于等于0或模拟器是否被停止运行,若是则退出基本块执行;否则,进入骤(5)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制工程研究所,未经北京控制工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410178279.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top