[发明专利]一种VxWorks下代码运行时间的精确计算方法在审
申请号: | 202110687561.3 | 申请日: | 2021-06-21 |
公开(公告)号: | CN113778782A | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 赵昶宇;张华波 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 程何 |
地址: | 300000 天津市*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 vxworks 代码 运行 时间 精确 计算方法 | ||
1.一种VxWorks下代码运行时间的精确计算方法,其特征在于,包括如下步骤:
S1,获取VxWorks操作系统下代码运行时间和处理器时间标签计数值的对应关系,并生成计时因子;
S2,计算被测试代码在VxWorks操作系统上的运行时间。
2.根据权利要求1所述的一种VxWorks下代码运行时间的精确计算方法,其特征在于,所述S1具体包括如下步骤:
计算rdtsc指令的基准误差;
计算1s对应的处理器时间标签计数器值,并获取计时因子。
3.根据权利要求2所述的一种VxWorks下代码运行时间的精确计算方法,其特征在于,所述计算rdtsc指令的基准误差包括如下步骤:
连续调用至少三次rdtsc指令,每次调用间隔5条机器指令;
再调用一次rdtsc指令,将最新获取的处理器时间标签计数器值与上一次调用rdtsc指令获取的处理器时间标签计数器值作差,得到差值base1;
再调用一次rdtsc指令,将最新获取的处理器时间标签计数器值与上一次调用rdtsc指令获取的处理器时间标签计数器值作差,得到差值base2;
将差值base1与差值base1的较小值作为rdtsc指令的基准误差base。
4.根据权利要求2所述的一种VxWorks下代码运行时间的精确计算方法,其特征在于,所述计算1s对应的处理器时间标签计数器值包括如下步骤:
连续调用至少三次rdtsc指令,每次调用间隔5条机器指令,保存最后一次调用rdtsc指令获取的处理器时间标签计数器值,记为T1;
定时1s,1s定时到后,调用rdtsc指令获取当前的处理器时间标签计数器值,记为T2;
1s对应的处理器时间标签计数器值=T2-T1-基准误差。
5.根据权利要求4所述的一种VxWorks下代码运行时间的精确计算方法,其特征在于,所述计时因子包括:毫秒级计时因子⊿t=(T2-T1-基准误差)/1000;微妙级计时因子⊿t=(T2-T1-基准误差)/1000000;纳秒级计时因子⊿t=(T2-T1-基准误差)/1000000000。
6.根据权利要求1所述的一种VxWorks下代码运行时间的精确计算方法,其特征在于,所述S2包括如下步骤:
在运行被测试代码前,调用rdtsc指令获取当前的处理器时间标签计数器值为Count1;
运行被测试代码;
在运行被测试代码后,调用rdtsc指令获取当前的处理器时间标签计数器值为Count2;
根据计时的精度需求,得到被测试代码的运行时间=(Count2-Count1-rdtsc指令的基准误差)/⊿t;其中,⊿t为与计时精度需求对应的计时因子。
7.一种VxWorks下代码运行时间的精确计算系统,其特征在于,包括:
第一模块,获取VxWorks操作系统下代码运行时间和处理器时间标签计数值的对应关系,并生成计时因子;
第二模块,计算被测试代码在VxWorks操作系统上的运行时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110687561.3/1.html,转载请声明来源钻瓜专利网。