一种CPU运行时间的计算方法和装置制造方法及图纸

技术编号:14339720 阅读:44 留言:0更新日期:2017-01-04 12:14
本发明专利技术提供了一种CPU运行时间的计算方法和装置,其中方法包括:通过向目标CPU发送第一获取指令,获取所述目标CPU中时间标签计数器对应的记录值,接收所述目标CPU反馈的当前记录值,根据所述当前记录值,计算所述目标CPU对应的运行时间。由于CPU中时间标签计数器记录的值是从CPU上电开始记录的,相比于现有技术中由操作系统提供的运行时间是从操作系统登录成功开始计时的,可以提高CPU运行时间的准确度。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种CPU运行时间的计算方法和装置
技术介绍
无论是Linux还是Windows操作系统,提供了很多查看CPU工作参数的程序或命令,通过它们可以获取CPU的工作状态。获取的这些CPU工作参数,可以用于硬件信息监控或对系统性能的一些测试中,例如,该CPU工作参数可以包括CPU运行时间。现有技术中,一般由操作系统提供CPU运行时间。由于现有技术中CPU运行之后,操作系统才会运行,因此,现有技术获得的CPU运行时间的准确度较低。
技术实现思路
本专利技术实施例提供了一种高精度CPU运行时间的计算方法和装置,提高了CPU运行时间的准确度。第一方面,本专利技术实施例提供了一种CPU运行时间的计算方法,包括:向目标CPU发送第一获取指令,所述第一获取指令用于获取所述目标CPU中时间标签计数器对应的记录值;接收所述目标CPU反馈的当前记录值;根据所述当前记录值,计算所述目标CPU对应的运行时间。优选地,进一步包括:向所述目标CPU发送第二获取指令,所述第二获取指令用于获取所述目标CPU对应的主频数;所述根据所述当前记录值,计算所述目标CPU对应的运行时间,包括:确定所述当前记录值对应的计数个数,以及每一个计数对应的属性信息;根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间;所述属性信息包括:每一个当前计数对应寄存器的全部位数、对应寄存器在所述时间标签计数器中对应的位数、以及每一个计数对应的进制属性。优选地,所述根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间,包括:在确定所述当前记录值对应的计数个数为两个、且确定第一个计数对应第一寄存器的全部位数为32位、所述第一寄存器在所述时间标签计数器中对应的位数为高32位、所述第一个计数对应的进制属性为二进制、以及确定第二个计数对应第二寄存器的全部位数为32位、所述第二寄存器在所述时间标签计数器中对应的位数为低32位、所述第二个计数对应的进制属性为二进制时,利用第一公式计算所述运行时间;所述第一公式包括:t1=x1×232+y1z1]]>其中,t1用于表征所述运行时间,x1用于表征所述第一个计数对应的十进制数值,y1用于表征所述第二个计数对应的十进制数值,z1用于表征所述主频数。优选地,所述根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间,包括:在确定所述当前记录值对应的计数个数为一个、且确定所述计数对应寄存器的全部位数16位、所述寄存器在所述时间标签计数器中对应的位数为16位、所述计数对应的进制属性为十进制,利用第二公式计算所述运行时间;所述第二公式包括:t2=y2z2]]>其中,t2用于表征所述运行时间,y2用于表征所述计数,z2用于表征所述主频数。优选地,所述根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间,包括:在确定所述当前记录值对应的计数个数为两个、且确定第一个计数对应第一寄存器的全部位数为16位、所述第一寄存器在所述时间标签计数器中对应的位数为高16位、所述第一个计数对应的进制属性为二进制、以及确定第二个计数对应第二寄存器的全部位数为16位、所述第二寄存器在所述时间标签计数器中对应的位数为低16位、所述第二个计数对应的进制属性为二进制时,利用第三公式计算所述运行时间;所述第三公式包括:t3=x3×216+y3z3]]>其中,t3用于表征所述运行时间,x3用于表征所述第一个计数对应的十进制数值,y3用于表征所述第二个计数对应的十进制数值,z3用于表征所述主频数。第二方面,本专利技术实施例提供了一种CPU运行时间的计算装置,其特征在于,包括:第一发送模块,用于向目标CPU发送第一获取指令,所述第一获取指令用于获取所述目标CPU中时间标签计数器对应的记录值;接收模块,用于接收所述目标CPU反馈的当前记录值;计算模块,用于根据所述当前记录值,计算所述目标CPU对应的运行时间。优选地,进一步包括:第二发送模块,用于向所述目标CPU发送第二获取指令,所述第二获取指令用于获取所述目标CPU对应的主频数;所述计算模块,包括:确定单元,用于确定所述当前记录值对应的计数个数,以及每一个计数对应的属性信息;计算单元,用于根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间;所述属性信息包括:每一个当前计数对应寄存器的全部位数、对应寄存器在所述时间标签计数器中对应的位数、以及每一个计数对应的进制属性。优选地,所述计算单元,包括:第一确定子单元,用于在确定所述当前记录值对应的计数个数为两个、且确定第一个计数对应第一寄存器的全部位数为32位、所述第一寄存器在所述时间标签计数器中对应的位数为高32位、所述第一个计数对应的进制属性为二进制;以及确定第二个计数对应第二寄存器的全部位数为32位、所述第二寄存器在所述时间标签计数器中对应的位数为低32位、所述第二个计数对应的进制属性为二进制时,触发第一计算子单元执行相应操作;所述第一计算子单元,用于利用第一公式计算所述运行时间;所述第一公式包括:t1=x1×232+y1z1]]>其中,t1用于表征所述运行时间,x1用于表征所述第一个计数对应的十进制数值,y1用于表征所述第二个计数对应的十进制数值,z1用于表征所述主频数。优选地,所述计算单元,包括:第二确定子单元,用于在确定所述当前记录值对应的计数个数为一个、且确定所述计数对应寄存器的全部位数16位、所述寄存器在所述时间标签计数器中对应的位数为16位、所述计数对应的进制属性为十进制时,触发第二计算子单元执行相应操作;所述第二计算子单元,用于利用第二公式计算所述运行时间;所述第二公式包括:t2=y2z2]]>其中,t2用于表征所述运行时间,y2用于表征所述计数,z2用于表征所述主频数。优选地,所述计算单元,包括:第三确定子单元,用于在确定所述当前记录值对应的计数个数为两个、且确定第一个计数对应第一寄存器的全部位数为16位、所述第一寄存器在所述时间标签计数器中对应的位数为高16位、所述第一个计数对应的进制属性为二进制;以及确定第二个计数对应第二寄存器的全部位数为16位、所述第二寄存器在所述时间标签计数器中对应的位数为低16位、所述第二个计数对应的进制属性为二进制时,触发第三计算子单元执行相应操作;所述第三计算子单元,用于利用第三公式计算所述运行时间;所述第三公式包括:t3=x3×216+y3z3]]>其中,t3用于表征所述运行时间,x3用于表征所述第一个计数对应的十进制数值,y3用于表征所述第二个计数对应的十进制数值,z3用于表征所述主频数。本专利技术实施例提供了一种CPU运行时间的计算方法和装置,通过向目标CPU发送第一获取指令,获取所述目标CPU中时间标签计数器对应的记录值,接收所述目标CPU反馈的当前记录值,根据所述当前记录值,计算所述目标CPU对应的运行时间。由于CPU中时间标签计数器记录的值是从CPU上电开始记录的,相比于现有技术中由操作系统提供的运行时间是从操作系统登录成功开始计时的,可以提高CPU运行时间的准确度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或本文档来自技高网...
一种CPU运行时间的计算方法和装置

【技术保护点】
一种CPU运行时间的计算方法,其特征在于,包括:向目标CPU发送第一获取指令,所述第一获取指令用于获取所述目标CPU中时间标签计数器对应的记录值;接收所述目标CPU反馈的当前记录值;根据所述当前记录值,计算所述目标CPU对应的运行时间。

【技术特征摘要】
1.一种CPU运行时间的计算方法,其特征在于,包括:向目标CPU发送第一获取指令,所述第一获取指令用于获取所述目标CPU中时间标签计数器对应的记录值;接收所述目标CPU反馈的当前记录值;根据所述当前记录值,计算所述目标CPU对应的运行时间。2.根据权利要求1所述的方法,其特征在于,进一步包括:向所述目标CPU发送第二获取指令,所述第二获取指令用于获取所述目标CPU对应的主频数;所述根据所述当前记录值,计算所述目标CPU对应的运行时间,包括:确定所述当前记录值对应的计数个数,以及每一个计数对应的属性信息;根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间;所述属性信息包括:每一个当前计数对应寄存器的全部位数、对应寄存器在所述时间标签计数器中对应的位数、以及每一个计数对应的进制属性。3.根据权利要求2所述的方法,其特征在于,所述根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间,包括:在确定所述当前记录值对应的计数个数为两个、且确定第一个计数对应第一寄存器的全部位数为32位、所述第一寄存器在所述时间标签计数器中对应的位数为高32位、所述第一个计数对应的进制属性为二进制、以及确定第二个计数对应第二寄存器的全部位数为32位、所述第二寄存器在所述时间标签计数器中对应的位数为低32位、所述第二个计数对应的进制属性为二进制时,利用第一公式计算所述运行时间;所述第一公式包括:t1=x1×232+y1z1]]>其中,t1用于表征所述运行时间,x1用于表征所述第一个计数对应的十进制数值,y1用于表征所述第二个计数对应的十进制数值,z1用于表征所述主频数。4.根据权利要求2所述的方法,其特征在于,所述根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间,包括:在确定所述当前记录值对应的计数个数为一个、且确定所述计数对应寄存器的全部位数16位、所述寄存器在所述时间标签计数器中对应的位数为16位、所述计数对应的进制属性为十进制,利用第二公式计算所述运行时间;所述第二公式包括:t2=y2z2]]>其中,t2用于表征所述运行时间,y2用于表征所述计数,z2用于表征所述主频数。5.根据权利要求2所述的方法,其特征在于,所述根据每一个计数、每一个计数对应的属性信息、以及所述主频数,计算所述运行时间,包括:在确定所述当前记录值对应的计数个数为两个、且确定第一个计数对应第一寄存器的全部位数为16位、所述第一寄存器在所述时间标签计数器中对应的位数为高16位、所述第一个计数对应的进制属性为二进制、以及确定第二个计数对应第二寄存器的全部位数为16位、所述第二寄存器在所述时间标签计数器中对应的位数为低16位、所述第二个计数对应的进制属性为二进制时,利用第三公式计算所述运行时间;所述第三公式包括:t3=x3×216+y3z3]]>其中,t3用于表征所述运行时间,x3用于表征所述第一个计数对应的十进制数值,y3用于表征所述第二个计数对应的十进制数值,z3用于表征所述主频数。6.一种CPU运行时间的计算装置,其特征在于,包括:第一发送模块,用于向目标CP...

【专利技术属性】
技术研发人员:刘骏
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1