[发明专利]一种面向RISC-V汇编指令级的关键路径自动检测方法有效
| 申请号: | 202210974046.8 | 申请日: | 2022-08-15 |
| 公开(公告)号: | CN115390915B | 公开(公告)日: | 2023-03-31 |
| 发明(设计)人: | 许瑾晨;李飞;周蓓;宋广辉;张作言 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
| 主分类号: | G06F8/75 | 分类号: | G06F8/75;G06F8/73;G06F9/30 |
| 代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 刘莹莹 |
| 地址: | 450000 河*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 risc 汇编 指令 关键 路径 自动检测 方法 | ||
本发明提供一种面向RISC‑V汇编指令级的关键路径自动检测方法。该方法包括:对待检测汇编程序中的所有分支进行编码;遍历待检测汇编程序所涉及的所有浮点寄存器,从而判断是否有至少两个全局无依赖的浮点寄存器,若是,则设计全局无依赖式插桩探针,若否,则设计辅助寄存器式插桩探针;识别分支标识以定位到各个分支的首行位置,将全局无依赖式插桩探针和/或辅助寄存器式插桩探针自动插桩至各个分支的首行位置;使用测试集对插桩后的待检测汇编程序进行测试,将测试集生成的编码结果输出到结果文件,对结果文件中相同的编码结果进行统计,对数量最多的编码结果进行解码以得到关键路径。
技术领域
本发明涉及汇编程序关键路径的自动检测和汇编程序测试技术领域,具体涉及大量测试集在汇编程序中所经过的关键分支路径问题,特别涉及一种面向RISC-V汇编指令级的关键路径自动检测方法。
背景技术
在涉及汇编程序关键路径检测方法的技术,目前有基于辅助表的汇编程序控制流路径检测方法,此类方法是将由c语言编写的路径探针程序插入到待检测的汇编程序各分支里面,为了保证原寄存器的值不被路径探针调用的寄存器覆盖,需要将所有整数寄存器的值提前压栈,保存寄存器的现场,调用结束之后再将原寄存器的值取栈。待检测结束,通过查阅辅助表得到控制流路径的行号。
该方法主要存在以下问题:
(1)基于辅助表的汇编程序控制流路径检测方法由于需要将所有整数寄存器进行压栈和取栈,产生的访存时间减低了程序的性能,除此之外,辅助表的构造不具有通用性,每需要检测不同程序的控制流路径都要重新构建辅助表。
(2)主流的路径控制流分析工具IDA Pro和Intel Pin,代码体积庞大,实现复杂,产生的中间数据难以整理,并且不适用于RISC-V汇编程序关键路径分析。
(3)RISC-V指令集架构相比于X86和ARM的软件生态还不够成熟,将其他路径分析工具移植到RISC-V架构具有一定的难度,且不易维护,亟需一些适用于RISC-V指令集架构的关键路径自动检测方法分析出测试数据通过率最高的关键路径,以用于对RISC-V汇编程序的优化等工作。
发明内容
为了至少能够解决上述问题中的部分问题,本发明提供一种面向RISC-V汇编指令级的关键路径自动检测方法。
本发明提供的一种面向RISC-V汇编指令级的关键路径自动检测方法,包括:
步骤1:对待检测汇编程序中的所有分支进行编码;
步骤2:遍历待检测汇编程序所涉及的所有浮点寄存器,从而判断待检测汇编程序中是否有至少两个全局无依赖的浮点寄存器,若是,则执行步骤3,若否,则执行步骤4;
步骤3:基于两个全局无依赖的浮点寄存器和分支编码,设计全局无依赖式插桩探针;
步骤4:调用非全局无依赖的其他浮点寄存器作为辅助寄存器,基于辅助寄存器和分支编码,设计辅助寄存器式插桩探针;
步骤5:识别分支标识以定位到各个分支的首行位置,将全局无依赖式插桩探针和/或辅助寄存器式插桩探针自动插桩至各个分支的首行位置;
步骤6:使用测试集对插桩后的待检测汇编程序进行测试,将测试集生成的编码结果输出到结果文件,对结果文件中相同的编码结果进行统计,对数量最多的编码结果进行解码以得到关键路径;所述测试集是指由若干个用于检测关键路径的测试样本组成的集合。
进一步地,步骤1具体包括:
按照分支顺序,分别对每个分支进行二进制编码、十进制编码和十六进制编码;其中,针对第i个分支,其二进制编码由首位为1末尾为i-1个0组成;其十进制编码即为二进制编码对应的十进制数,其十六进制编码即为二进制编码对应的十六进制数;i=1,2,3…,n。
进一步地,步骤3具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210974046.8/2.html,转载请声明来源钻瓜专利网。





