[发明专利]基于快速模拟器QEMU的分支指令抓取方法和装置有效
申请号: | 201611144953.0 | 申请日: | 2016-12-13 |
公开(公告)号: | CN108228239B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 张立志;李策;高新博;汪文祥 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/455 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨泽;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 快速 模拟器 qemu 分支 指令 抓取 方法 装置 | ||
本发明提供一种基于快速模拟器QEMU的分支指令抓取方法和装置。本发明提供的基于快速模拟器QEMU的分支指令抓取方法,包括:在QEMU执行获取待翻译指令时,判断当前所获取的待翻译指令是否为分支指令,若是,则根据目标程序架构对当前的分支指令执行翻译操作,得到翻译分支指令,并将上述分支指令的属性信息进行存储;其中,上述分支指令的属性信息包括上述分支指令的操作码、上述分支指令的指令地址和上述分支指令的跳转地址。本发明提供的基于快速模拟器QEMU的分支指令抓取方法和装置,可抓取不同处理器架构的执行程序中的分支指令,兼容性高,成本低。
技术领域
本发明涉及计算机技术,尤其涉及一种基于快速模拟器QEMU的分支指令抓取方法和装置。
背景技术
分支预测器是中央处理器(Central Processing Unit,简称CPU)的一个关键部件,其可以帮助CPU更快的获取指令,加快CPU的运行速度,而分支指令集可以在流片前对分支指令预测器进行验证与测试,从而确定分支预测器的性能,进而决定是否需要对分支预测器做出改进。因此,为有效预测分支预测器的性能,抓取执行程序中的分支指令显得尤为重要。
现有技术一中,通过在CPU主板上添加监控电路,并将该监控电路与存储器连接,以通过监控电路抓取执行程序分支指令,并将抓取到的分支指令存储到存储器中。现有技术二中,通过在执行程序中加入一段监控程序,采用该监控程序来抓取执行程序分支指令。现有技术一及现有技术二提供的分支指令抓取方法均只能抓取一种处理器架构执行程序中的分支指令,无法适用于抓取其他处理器架构的执行程序中的分支指令。
发明内容
本发明提供一种基于快速模拟器QEMU的分支指令抓取方法和装置,以解决现有技术中的分支指令抓取方法只能抓取一种处理器架构的执行程序中的分支指令,无法抓取其他处理器架构的执行程序中的分支指令的问题。
本发明第一方面提供一种基于快速模拟器QEMU的分支指令抓取方法,包括:
在QEMU执行获取待翻译指令时,判断当前所获取的待翻译指令是否为分支指令;
若是,则根据目标程序架构对当前的分支指令执行翻译操作,得到翻译分支指令,并将所述分支指令的属性信息进行存储;其中,所述分支指令的属性信息包括所述分支指令的操作码、所述分支指令的指令地址和所述分支指令的跳转地址。
进一步地,所述根据目标程序架构对当前的分支指令执行翻译操作,并将所述分支指令的属性信息进行存储,具体包括:
根据目标程序架构对当前的分支指令执行翻译操作,得到翻译分支指令;
根据所述翻译分支指令所属的基本块中其他的翻译指令、所述翻译分支指令、所述当前的分支指令的属性信息得到翻译块,并将所述翻译块存储至缓存块表中;其中,所述缓存块表中包括至少一个翻译块,每个翻译块包括一条翻译分支指令;
将所述分支指令的属性信息存储至分支指令抓取文件中。
进一步地,所述判断当前所获取的待翻译指令是否为分支指令之前,所述方法还包括:
根据当前所获取的待翻译指令的地址,判断所述缓存块表中是否存在第一翻译块,所述第一翻译块为包含所述待翻译指令对应的翻译指令的翻译块;
若所述缓存块表中不存在所述第一翻译块,则判断当前所获取的待翻译指令是否为分支指令。
进一步地,所述方法还包括:
若所述缓存块表中存在所述第一翻译块,则获取所述第一翻译块中的分支指令的属性信息;
将所述第一翻译块中的分支指令的属性信息存储至所述分支指令抓取文件中。
进一步地,所述将所述分支指令的属性信息存储至分支指令抓取文件中之后,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611144953.0/2.html,转载请声明来源钻瓜专利网。