linux 时间 time(2)-频率(时钟周期/指令周期/CPU周期)和 jiffies

1. 频率

单位时间内完成振动或振荡的次数或周数
常用单位是赫兹。1赫兹等于1次/秒或1周/秒 

频率单位有:
Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。
其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz

[root@localhost hello]# cat /proc/cpuinfo  //虚拟机 pc台式机的频率
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 94
model name      : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz

1.1 LINUX系统时钟频率

LINUX系统时钟频率是一个常数HZ来决定的,如:通常f=3.40GHz,那么他的精度度就是0.29ns(纳秒)。 
1GHz周期是1ns。
也就是说每0.29ns一次中断。所以一般来说Linux的精确度是1ns之内。

1.2 时钟周期

时钟周期也称为振荡周期,定义为时钟频率的倒数。
时钟周期是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。时钟周期是一个时间的量。

1GHz周期是1ns。
周期单位:
s(秒)、ms(毫秒)、μs(微秒)、ns(纳秒),
其中:1s=1000ms,1 ms=1000μs,1μs=1000ns。

一个指令周期,包含多个 CPU 周期,而一个 CPU 周期包含多个时钟周期。

1.3 指令周期

指令周期(Instruction Cycle):取出并执行一条指令的时间。

计算机执行指令的过程可以分为以下三个步骤:
1.Fetch(取指)也就是从 PC 寄存器里找到对应的指令地址
2.Decode(译码)根据指令寄存器里面的指令,解析成要进行什么样的操作
3.Execute(执行指令)进行算术逻辑操作、数据传输或者直接的地址跳转

对于一个指令周期来说,我们取出一条指令,然后执行它,至少需要两个 CPU 周期。取出指令至少需要一个 CPU 周期,执行至少也需要一个 CPU 周期,复杂的指令则需要更多的 CPU 周期。而一个CPU周期是若干时钟周期之和。

一个指令周期,包含多个 CPU 周期,而一个 CPU 周期包含多个时钟周期。

1.4 CPU周期

CPU周期亦称机器周期,在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。

通常用内存中读取一个指令字的最短时间来规定CPU周期。

如:对于一个指令周期来说,我们取出一条指令,然后执行它,至少需要两个 CPU 周期。

1.5 总结

周期之间的关系:
在这里插入图片描述

所以,我们说一个指令周期,包含多个 CPU 周期,而一个 CPU 周期包含多个时钟周期。

参考:CPU中的指令周期、CPU周期和时钟周期
https://zhuanlan.zhihu.com/p/90829922

1.6 台式机CPU 3.4GHz含义

1. 频率:单位时间内完成振动或振荡的次数或周数
	1赫兹等于1次/秒或1周/秒
	
2. 时钟周期也称为振荡周期,定义为时钟频率的倒数。
	比如:LINUX系统时钟频率是一个常数HZ来决定的,通常HZ=100,一秒振动100次。
	那么他的精度度就是10ms(毫秒)。
	也就是说每10ms一次中断。所以一般来说Linux的精确度是10毫秒
	2GHz是0.5ns。
	
3. 1GHz等于十亿赫兹(1,000,000,000 Hz)
	1GHz表示处理器时钟运行频率为1000兆赫兹,时钟周期是其到数,1ns(纳秒)
	
4.  我的台式机,我的电脑里面看到CPU频率是 3.4GHz,时钟周期就是0.29ns

2. jiffies - 电脑开机到现在总共的时钟中断次数

是记录着从电脑开机到现在总共的时钟中断次数
每发生一次中断,Jiffies变数会被加一

2.1 jiffies初始化

	jiffies的初始值并不是0,而是300s后即将溢出的的值。这是为了存在溢出问题的情况下,尽早暴露问题。

2.2 32/64位jiffies

32位jiffies变量会在50天后溢出
64位jiffies变量会在497天或1.38年天后溢出
当时钟中断发生时,jiffies 值就加1。因此连续累加一年又四个多月后就会溢出
(假定HZ=100,1个jiffies等于1/100秒,jiffies可记录的最大秒数为 (2^32 -1)/100=42949672.95秒,约合497天或1.38年),
即当取值到达最大值时继续加1,就变为了0。

参考

https://www.cnblogs.com/wanghuaijun/p/7531151.html
https://www.cnblogs.com/arnoldlu/p/7234443.html

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值