[发明专利]一种基于模拟器的关键路径分析方法有效
申请号: | 201310504546.6 | 申请日: | 2013-10-23 |
公开(公告)号: | CN103530471B | 公开(公告)日: | 2017-03-08 |
发明(设计)人: | 朱浩;王东辉;洪缨 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 北京亿腾知识产权代理事务所11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模拟器 关键 路径 分析 方法 | ||
技术领域
本发明涉及程序性能分析技术,尤其涉及一种基于模拟器的关键路径分析方法。
背景技术
集成开发环境(Integrated Development Environment,IDE)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
现有的集成开发环境,如微软的Visual Studio系列等,它们运行的底层硬件平台均提供了用于程序性能数据反馈的专用指令,并依托于编译器对目标源程序进行代码插桩(Code Instrumentation),然后依托处理器硬件平台的计算完成分支概率与关键路径的统计分析。
现有技术提出的关键路径的统计方法的不足之处在于,如果当前目标机不提供用于性能反馈的专用指令,那么上述软硬件协同的统计分析方法就很难被实施。
发明内容
本发明的目的是为了解决上述现有技术存在的不足之处,提供了一种实现简单、执行效率高,且不依赖底层硬件平台的关键路径分析方法。
为实现上述目的,本发明提供了一种基于模拟器的关键路径分析方法,该方法包括以下步骤:
通过模拟器统计、计算每一个分支节点在不同分支路径上的执行概率,其中分支节点对应访问链上的各节点,以及各函数发生函数调用的分支概率;
记录一条访问链中上一节点到下一节点的执行时间;
依次叠加执行时间到出口函数为止;
根据分支概率、执行时间的长度,选择关键路径。
本发明实现简单、通过模拟器实现,脱离硬件平台、可较高效率完成关键路径分析。
附图说明
图1为跳转表结构示意图;
图2为本发明实施例提供的一种基于模拟器的关键路径分析方法流程图;
图3为时间戳流程示意图;
图4为伪指令插桩示意图;
图5为函数名与程序指针的映射关系。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例通过配合伪指令可较高效率完成关键路径分析,伪指令是按照目标处理器指令集编码格式独立设计且只运行于模拟平台上的指令。伪指令实现简单并提供额外功能来辅助数据统计与分析。尽管,每种处理器平台具备独特的指令编码格式,但只要根据表1所示的指令编码格式(其中Opcode、Flag、Operand占用的位置根据目标指令集编码格式而定),对离散分布的指令操作码(Opcode)的位宽、取值进行合理设置,就可以避免潜在的冲突。
表1伪指令编码格式
其中,标志位Flag用于区分各条伪指令,Operand用于存储伪指令操作时所需的操作数,下表2为本发明实施例关键路径分析时所定义的3条伪指令。
表2伪指令定义
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310504546.6/2.html,转载请声明来源钻瓜专利网。