[发明专利]一种指令集仿真缓冲区动态自适应技术在审
申请号: | 201410080738.3 | 申请日: | 2014-03-06 |
公开(公告)号: | CN103870248A | 公开(公告)日: | 2014-06-18 |
发明(设计)人: | 任永青;魏明;周启平;吴华亮;程胜 | 申请(专利权)人: | 北京神舟航天软件科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京世誉鑫诚专利代理事务所(普通合伙) 11368 | 代理人: | 孙国栋 |
地址: | 100094*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 仿真 缓冲区 动态 自适应 技术 | ||
技术领域
本发明属于计算机仿真技术领域,具体地说,涉及一种指令集仿真缓冲区动态自适应技术。
背景技术
嵌入式计算机系统数字化仿真技术在软件开发和测试工作中广泛引用,在硬件设备不具备或资源受限情况下,能够快速构件纯软件模拟的虚拟设备,使得开发人员提前进行软件开发测试;此外,由于计算机系统数字化仿真能够将运行过程的所有信息显示和记录,相对于硬件具有更好的可观察性。数字化仿真广泛使用的主要阻碍是仿真速度,由于硬件是高速并行执行,目前微处理器的执行频率可以达到数GHz以上,而数字化仿真则采用软件方法串行的执行过程,通常硬件一个时钟节拍执行完成的指令,软件仿真开销则要高一个或两个数量级。
数字仿真的核心是指令集,即仿真目标处理器每一条指令都必须通过软件的方式重新实现,尤其是为达到时钟精确的微结构仿真,取指、译码、读操作系统、执行、访存和写回寄存器等流水操作都是主要的性能损耗,因为每一条指令都需要经历这些过程。
根据统计经验,软件运行具有时间局部性和空间局部性。空间局部性是指后续执行所使用代码和数据很大可能位于当前代码和数据附近,时间局部性是指当前执行所使用的代码和数据很大可能将被立即重复使用。嵌入式系统全数字仿真工具需要模拟所有的处理器指令集,为充分利用时间局部性,将已经执行结束的指令译码信息进行保存,能够避免重复操作,实践证明,译码缓冲能 够显著提高仿真性能。但是译码缓冲区大小设置却没有好的设置方式,不同应用领域差异显著。作为通用的数字化仿真工具,在面临不合适大小的缓冲区时,可能造成无法利用局部性执行信息等后果,造成仿真性能下降。
发明内容
为解决背景技术中的问题,本发明提供了一种指令集仿真缓冲区动态自适应技术,满足不同类型的应用需求,使得数字化仿真工具能够作为通用产品,提出指令集仿真缓冲区动态自适应技术,实现资源利用和性能优化的最佳权衡。
本发明的技术方案是:
一种指令集仿真缓冲区动态自适应技术,其特征在于:包括三个流程:执行前初始设置阶段、执行过程阶段和执行后新初始设置阶段;
执行前初始设置阶段:嵌入式全数字仿真软件在运行目标应用程序之前,缓冲区具有默认设置功能,设置默认设置;
执行过程阶段:执行过程是一个缓冲区不断调整的动态过程,即步骤为:执行、性能反馈、更新设置、执行;循环经过N(N为大于1的整数)次迭代,最终完成执行过程,同时实现缓冲区的合理设置;
执行后新初始设置阶段:在整个应用运行结束后,根据执行过程对缓冲区设置信息,形成针对该应用的新初始设置,在下一次运行该应用时能够基于新设置运行,实现资源和性能的平衡。
在执行过程阶段中,缓冲区动态调整的粒度可以在指令级,根据当前性能统计结果信息,增减缓冲区资源,性能统计的结果可以是单周期内执行的指令数。
由于采用了上述技术方案,与现有技术相比较,本发明在各种处理器仿真软件中广泛使用,包括解释执行、二进制翻译等,针对取指、译码和运行结果, 都可以进行缓存,利用程序的局部性进行复用,能够显著提高数字化仿真的性能。
指令集缓冲区合理设置维问题,满足不同类型的应用需求,使得数字化仿真工具能够作为通用产品,提出本发明实现资源利用和性能优化的最佳权衡。
附图说明
图1为本发明一种实施例的指令集仿真缓冲区动态自适应技术示意图;
图2为本发明一种实施例的指令级动态自适应方法示意图;
图3为本发明一种实施例的任务级动态自适应方法示意图;
图4为本发明一种实施例的应用信息制导动态自适应示意图。
具体实施方式
实施例
如图1所示,一种指令集仿真缓冲区动态自适应技术,其特征在于:包括三个流程:执行前初始设置阶段、执行过程阶段和执行后新初始设置阶段。
执行前初始设置阶段:嵌入式全数字仿真软件在运行目标应用程序之前,缓冲区具有默认设置功能,设置默认设置。
执行过程阶段:执行过程是一个缓冲区不断调整的动态过程,即步骤为:执行、性能反馈、更新设置、执行;循环经过N(N为大于1的整数)次迭代,最终完成执行过程,同时实现缓冲区的合理设置。
执行后新初始设置阶段:在整个应用运行结束后,根据执行过程对缓冲区设置信息,形成针对该应用的新初始设置,在下一次运行该应用时能够基于新设置运行,实现资源和性能的平衡。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神舟航天软件科技有限公司,未经北京神舟航天软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410080738.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:鸡蛋箱
- 下一篇:用于保存和恢复线程组操作状态的技术