[发明专利]一种基于处理器流水线分析的时间和时序校准方法及装置有效
| 申请号: | 202110765305.1 | 申请日: | 2021-07-07 |
| 公开(公告)号: | CN113254084B | 公开(公告)日: | 2021-09-24 |
| 发明(设计)人: | 赵国亮;周启平;景涛 | 申请(专利权)人: | 航天中认软件测评科技(北京)有限责任公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/455 |
| 代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 王艳斌 |
| 地址: | 100195 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 处理器 流水线 分析 时间 时序 校准 方法 装置 | ||
1.一种基于处理器流水线分析的时间和时序校准方法,其特征在于,包括:
识别仿真运行程序的多个基本块;
根据处理器流水线,分析各所述基本块中第一条指令的取指时间和最后一条指令的写回时间,并根据分析的时间确定各所述基本块的第一执行时间;其中,多个所述基本块以及与各所述基本块对应的第一执行时间形成执行时间查询表;
将所述仿真运行程序装载至预设仿真器,并通过所述仿真器执行所述仿真运行程序中的指令;
每当所述仿真器执行完成一条指令时,根据最新完成的当前指令和预设的时间更新操作,更新所述仿真器执行的逻辑时间;其中,所述时间更新操作包括:
记录所述仿真器执行完所述当前指令时的程序执行轨迹;
从多个所述基本块中,确定至少一个与所述程序执行轨迹相匹配的基本块,按照所述程序执行轨迹将确定的匹配基本块排列为基本块序列;
根据所述执行时间查询表确定所述基本块序列对应的执行时间序列;
基于所述执行时间序列确定所述仿真器执行的逻辑时间。
2.根据权利要求1所述的方法,其特征在于,所述基于所述执行时间序列确定所述仿真器执行的逻辑时间,包括:
获取所述基本块序列中排列在最后的末端基本块,所述末端基本块的最后一条指令为所述当前指令;
根据所述末端基本块中第一条指令的取指时间和所述当前指令的写回时间,确定所述末端基本块的第二执行时间;
基于所述执行时间序列和所述第二执行时间确定所述仿真器执行的逻辑时间。
3.根据权利要求2所述的方法,其特征在于,所述基于所述执行时间序列和所述第二执行时间确定所述仿真器执行的逻辑时间,包括:
获取所述执行时间序列中,除所述末端基本块之外的其他各个基本块的第一执行时间;
将其他各个基本块的第一执行时间与所述末端基本块的第二执行时间之间的时间之和,确定为所述仿真器执行的逻辑时间。
4.根据权利要求1所述的方法,其特征在于,所述根据处理器流水线,分析各所述基本块中第一条指令的取指时间和最后一条指令的写回时间,包括:
根据处理器流水线,分析各所述基本块中各条指令的起点时间和完成时间;
按照时间轴对各所述基本块中各条指令的起点时间和完成时间进行重叠排列;
根据排列结果确定第一条指令的第一取值时间和最后一条指令的第一写回时间。
5.根据权利要求4所述的方法,其特征在于,所述根据分析的时间确定各所述基本块的第一执行时间,包括:
针对各所述基本块,将该基本块对应的所述第一取值时间和所述第一写回时间之间的时间差值,确定为该基本块的第一执行时间。
6.根据权利要求1所述的方法,其特征在于,在确定任意一个所述基本块的第一执行时间之后,所述方法还包括:
判断当前确定第一执行时间的基本块是否为最后一个基本块;
如果是,则将多个所述基本块的第一执行时间形成所述执行时间查询表。
7.根据权利要求1所述的方法,其特征在于,所述识别仿真运行程序的多个基本块,包括:
对仿真运行程序的所有指令进行反汇编识别,形成指令序列;
识别所述指令序列中的分支指令和跳转指令;
根据所述分支指令和所述跳转指令,将所述指令序列划分为多个基本块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天中认软件测评科技(北京)有限责任公司,未经航天中认软件测评科技(北京)有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110765305.1/1.html,转载请声明来源钻瓜专利网。





