校正设备、校正方法和计算机产品技术

技术编号:8387065 阅读:134 留言:0更新日期:2013-03-07 07:45
一种校正设备,包括:获取器,用于获取块组之中的给定块中的指令的执行时间,所述块组包括通过划分程序代码获得的块;检测器,用于检测由在给定块之前执行的在前块中的尾部指令指定的第一资源组和由给定块的头部指令指定的第二资源组;识别器,用于识别检测到的第一资源组和检测到的第二资源组共有的资源;计算器,用于根据当头部指令使用所识别的资源时的时间和当尾部指令使用所识别的资源结束时的时间来计算由在前块导致的延迟时间段;校正器,用于基于所计算的延迟时间段来校正所获取的给定块中的指令的执行时间;以及输出装置,用于输出校正的执行时间。

【技术实现步骤摘要】

本文讨论的实施方式涉及校正模拟结果的校正设备、校正方法和计算机产品
技术介绍
在现有技术中已经公开了模拟中央处理单元(CPU)的功能和性能的技术。例如,存在这样一种技术对程序代码进行转换从而能够在对受到评估的目标CPU进行模拟的主CPU上执行操作,从而模拟目标CPU的功能、性能和功耗。 例如,存在这样一种技术在模拟之前,目标CPU的代码被转换成能够由主计算机在子程序单元中直接执行的主机代码,并且对在通过将代码分为子程序单元而获得的块的输入和输出之间使用的寄存器进行分析。例如,见日本专利公布No. H9-6646。但是,基于上述的传统技术,由于针对每个块执行模拟,所以如果针对多个块连续执行模拟,则模拟结果不准确并且偏离真实执行结果。
技术实现思路
根据实施例的一个方面,一种校正设备,包括获取器,用于获取块组之中的给定块中的指令的执行时间,所述块组包括通过划分程序码获得的块;检测器,用于检测由在给定块之前执行的在前块中的尾部指令指定的第一资源组和由给定块的头部指令指定的第二资源组;识别器,用于识别检测的第一资源组和检测的第二资源组共用的资源;计算器,用于从当头部指令使用识别的资源时的时间和由尾部指令使用识别的资源结束时的时间计算由在前块导致的延迟时间段;校正器,用于基于计算的延迟时间段校正获取的给定块中的指令的执行时间;以及输出装置,用于输出校正的执行时间。通过在权利要求中特别指出的元素和组合实现并获得本专利技术的目标和优点。应该明白,上述总体描述和下面详细描述全是示例性和解释性的并且并非限制本专利技术。附图说明图I是示出了根据第一实施例的模拟设备的操作例子的图。图2是示出模拟设备的硬件配置的例子的框图。图3是示出模拟设备的功能配置的例子的框图。图4是示出了目标代码的例子的图。图5是示出了定时信息的例子的图。图6是示出了预测信息的图。图7是示出了指令校正值信息的例子的图。图8是示出了算术单元信息的例子的图。图9A和图9B是示出了目标程序的执行定时的图。图IOA和图IOB是示出了主机代码产生的例子的图。图11是示出了第一校正器的处理代码的例子的图。图12A、12B、12C和12D是示出了由第一校正器执行的执行结果的第一校正例子的图。图13A、13B、13C和13D是示出了由第一校正器执行的执行结果的第二校正例子的·图。图14A、14B、14C和14D是示出了由第一校正器执行的执行结果的第三校正例子的图。图15A和图15B示出了由第二校正器执行的执行结果的第一校正例子的图。图16是示出了由第二校正器执行的执行结果的第二校正例子的图。图17是示出了由第二校正器执行的执行结果的第三校正例子的图。图18是示出了由第二校正器执行的执行结果的第四校正例子的图。图19是代码转换器处理的例子的流程图。图20是模拟执行器处理的例子的流程图。图21是第一模拟结果校正处理的流程图。图22是第二模拟结果校正处理的流程图。图23是示出了由根据第二实施例的模拟设备执行的校正的例子的图。具体实施例方式将参照附图解释本专利技术的优选实施例。将描述根据实施例的校正设备的例子,并且假设这样一种状态执行模拟目标CPU的模拟设备执行根据实施例的校正处理。图I是示出了根据第一实施例的模拟设备的操作例子的图。模拟设备100通过目标CPU执行对指令执行的性能模拟。例如,由于针对目标CPU的目标程序101在主CPU上运行,所以模拟设备100使用解释方案。另外,模拟设备100通过实时(JIT)编辑方案产生主机代码并且执行该主机代码。这里,目标CPU是经历模拟的CPU的控制模型。模拟设备100输出针对每个指令的循环模拟信息作为由目标CPU执行的指令执行的性能模拟。这里,目标CPU是在例如嵌入式系统中采用的简化指令集计算机(RISC)架构CPU。与主CPU对应的模拟设备100例如是具有复杂指令集计算机(CISC)架构CPU的计算机。基于这种结构,模拟设备100连续地模拟块102和块103,该块102和块103是通过将目标程序101划分成给定块所获得的。块102的尾部指令是加载指令(LD指令)并且助记码是“LD rl, ”。另外,块103的头部指令是加法指令(ADD指令)并且助记码是“ADDrl, r2, r3”。该LD指令和ADD指令被插入到目标CPU的流水线(pipeline)中并且进行执行。参照图1,将关于(A)执行根据实施例的校正处理之前的模拟结果和(B)执行校正处理以后的模拟结果进行描述。关于模拟结果,LD指令和ADD指令顺序执行取得阶段(表示为“f”并且在下文中称作f-阶段)、解码阶段(表示为“d”并且在下文中称作d-阶段)以及执行阶段(表示为“e”并且在下文中称作e-阶段)。不管指令如何,f-阶段和d-阶段都被执行I个周期。在LD指令的情况下,e-阶段被执行2个周期,在ADD指令的情况下,e-阶段被执行一个周期。另外,LD指令的e-阶段的执行时间被假设为t。在图I中的(A)处所示的模拟结果表示在4个周期内执行的从LD指令的开始到ADD指令的结束的处理。然而,在t+Ι,寄存器rl冲突并且如果目标CPU实际执行处理,则ADD指令的e-阶段的执行时间是t+2。由于在图I中的(A)处所示的模拟结果与实际性能不同,因此模拟结果的准确度较差。在图I中的(B)处所示的模拟结果针对这样一种状态,当在校正之前由ADD指令使用rl时的时间t+Ι与当由LD指令使用rl结束时的时间t+2之差(I个周期)被计算作为延迟时间段并且ADD指令的e-阶段的执行时间被校正。在图I的(B)中,模拟结果表示在5个周期内执行的从LD指令的开始到ADD指令的结束的处理,其与实际执行时间相同, 并且准确度得到提高。因此,根据实施例的校正处理使用基于当下一块的头部指令使用资源时的时间和当前块对资源的使用结束的时间而获得的延迟时间段并且资源变得可由下一块使用,并且执行校正。在下文中,将参照图2到图22描述执行图I中所示的操作的模拟设备100。图2是示出模拟设备的硬件配置的例子的框图。在图2中,模拟设备100包括中央处理单元(CPU) 201、只读存储器(ROM) 202、随机访问存储器(RAM) 203、磁盘驱动器204、磁盘205、光盘驱动器206和光盘207。模拟设备100还包括显示器208、接口(I/F)209、键盘210和鼠标211,用作用户或另外装置的输入和输出装置。各个部件通过总线212进行连接。CPU 201管理模拟设备100的整体控制。ROM 202存储例如引导程序的程序。RAM203用作CPU 201的工作区域。在CPU 201的控制之下,磁盘驱动器204控制关于磁盘205的数据的读和写。磁盘205存储在磁盘驱动器204的控制之下写入的数据。在CPU 201的控制之下,光盘驱动器206控制关于光盘207的数据的读和写。光盘207存储在光盘驱动器206的控制之下写入的数据,该数据由计算机进行读取。包括ROM202、磁盘205和光盘207的存储装置中的任何一个可以存储根据实施例的模拟程序。除了光标、图标和/或工具箱以外,显示器208例如显示诸如文本、图像、功能信息等等的数据。可以采用阴极射线管(CRT)、薄膜晶体管(TFT)液晶显示器、等离子体显示器等等作为显示器208。I/F 本文档来自技高网...

【技术保护点】
一种校正设备,包括:获取器,用于获取块组之中的给定块中的指令的执行时间,所述块组包括通过划分程序代码获得的块;检测器,用于检测由在给定块之前执行的在前块中的尾部指令指定的第一资源组和由给定块的头部指令指定的第二资源组;识别器,用于识别由检测到的第一资源组和检测到的第二资源组共有的资源;计算器,用于根据当头部指令使用所识别的资源时的时间和当尾部指令使用所识别的资源结束时的时间来计算由在前块导致的延迟时间段;校正器,用于基于所计算的延迟时间段来校正所获取的给定块中的指令的执行时间;以及输出装置,用于输出校正的执行时间。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:桑村慎哉池敦
申请(专利权)人:富士通株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1