[发明专利]模拟装置、方法以及程序有效
申请号: | 201080069496.8 | 申请日: | 2010-10-12 |
公开(公告)号: | CN103154890A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 池敦;大卫·撒奇 | 申请(专利权)人: | 富士通株式会社 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/38;G06F11/28 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 舒艳君;李洋 |
地址: | 日本神*** | 国省代码: | 日本;JP |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模拟 装置 方法 以及 程序 | ||
技术领域
本发明涉及针对被虚拟模型化的系统中的处理器的指令执行,取得性能或者电力的模拟信息的处理技术。
背景技术
在系统复杂化、一般为搭载多个处理器(例如CPU)的多核构成的当前状况下,针对各核(CPU)的功能、性能、电力等的模拟处理,要求实现更高的处理速度和处理精度。
在功能、性能、消耗电力的模拟中,作为将成为评价对象的目标CPU从在主CPU中动作时的目标CPU的指令代码(目标代码)向主CPU的指令代码(主代码)变换的手法,公知采用解释器(interpreter)方式或者JIT(Just-in-Time)编译器(compiler)方式。
在基于JIT编译器方式的模拟中,针对作为模拟对象的目标CPU,将在执行过程中的程序中出现的目标CPU的指令置换成执行模拟的主CPU的指令,之后执行该置换后的指令。因此,JIT编译器方式的处理比解释器方式的处理速度快,在CPU的功能模拟中,尤其在被要求高速性的情况下,采用了JIT编译方式。
还提出了采用JIT编译器方式的CPU的性能模拟。
但是,在各单元能够按时钟独立动作,并逐个投入指令且并列执行的流水线(pipeline)处理的控制中,由于CPU的内部状态在每次执行处理时发生变化,所以不能活用反复利用暂时生成的主指令这一JIT编译器方式的优点。
因此,一般在针对控制流水线处理、乱序(out of order)处理那样的CPU的性能模拟、电力模拟中,不能应用JIP编译器方式。
非专利文献1:美国专利6,751,583B1
如上述那样,当在针对控制流水线处理、乱序处理的CPU的功能、性能、电力的模拟中采用解释器方式时,一般处理速度非常慢,存在不能作为现实的手法来加以应用的问题。
另外,在近来高速的CPU的情况下,当在功能模拟中采用了JIT编译器方式时,能够设法以实用的速度进行处理。
但是,当在性能、电力的模拟中采用了JIT编译器方式时,在目标CPU中处理前后的状况因流水线的控制而是多样的,由于需要追加与内部状态对应的庞大模拟用代码和执行其指令,所以处理负担非常大。
并且,在性能模拟中,为了适应相对目标CPU中可预料到的执行延迟的定时,也需要对主代码追加庞大的模拟用代码。例如,当执行加载指令(LD:load)的循环模拟时,在基于该指令的高速缓存访问中,会发生高速缓存缺失(cache miss)或者高速缓存命中(cache hit)中的任意一方,在高速缓存缺失的情况下,为了将所有定时计算在内来调查是否有应该考虑的惩罚循环(penalty circle)等,需要将这些条件记述追加到主代码中。
但另一方面,为了维持高的动作性,需要尽量抑制对功能代码追加的性能模拟(循环模拟)用的代码量。
发明内容
本发明的目的在于,提供一种能够进行高速模拟的技术。
本发明的一个方式公开的模拟装置是对控制流水线处理的目标处理器执行程序的指令执行的模拟的模拟装置,具备:1)代码变换部,其进行下述三个处理:将上述程序的代码分割成规定的块,并将上述块中所含的指令中该指令的执行结果依赖于外部环境的外部依赖指令的处理的执行结果设定为预测结果;进行以上述预测结果为前提的指令执行的功能模拟,获得对上述块中所含的指令的执行定时进行表示的定时信息,根据上述功能模拟的结果与上述定时信息,来计算上述预测结果中的外部依赖指令的执行时间;和根据上述功能模拟的结果,生成使主处理器执行以上述预测结果为前提的指令执行的性能模拟的主代码,其中,上述主处理器是使上述目标处理器动作的主处理器;2)模拟执行部,当在上述主处理器执行了上述生成出的主代码的执行结果中,该主代码所含的外部依赖指令的执行结果与上述预测结果不同时,以利用该外部依赖指令的规定的延迟时间和在上述外部依赖指令的前后执行的指令的执行时间而求出的修正值,来修正上述预测结果中的外部依赖指令的执行时间,作为上述功能模拟中的该外部依赖指令的执行时间。
另外,本发明的另一个方式公开的模拟方法具备上述模拟装置执行的各处理步骤。
并且,本发明的又一个方式公开的模拟程序使计算机执行上述模拟方法。
根据所公开的模拟装置,能够高速地进行模拟。
附图说明
图1是表示作为本发明的一个实施方式公开的模拟装置的构成例的图。
图2是表示块中所含的指令的例子的图。
图3是表示定时信息的例子的图。
图4是表示图2所示的指令执行的定时例的图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于富士通株式会社,未经富士通株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080069496.8/2.html,转载请声明来源钻瓜专利网。