美文网首页
硬件时钟

硬件时钟

作者: clive0x | 来源:发表于2021-05-28 11:33 被阅读0次

有几个概率需要了解

1.时间周期(Clock Cycle)的频率:晶体振荡器在1秒以内时钟周期的个数=1秒以内时钟脉冲的个数,Linux里面用

#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */

单位为HZ

2.时钟滴答(Clock Tick):

当PIT通道0的计数器减到0值时,它就在IRQ0上产生一次时钟中断,也即一次时钟滴答。PIT通道0的计数器的初始值决定了要过多少时钟周期才产生一次时钟中断。

3.时钟滴答的频率(HZ):1秒以内产生时间滴答个数

HZ在arm和i386上定义为100,ALPHA和IA62为1024 ,IBM Power PC为1000

i386 1个时钟滴答时间为1000ms/100=10ms。

4.时钟滴答的时间间隔(tick)

long tick = (1000000 + HZ/2) / HZ; /* timer interrupt period */   单位为us ,tick=10ms,也可以通过HZ来计算

linux中#define TICK_SIZE= tick

1s=1,000,000us

(5)宏LATCH:Linux用宏LATCH来定义要写到PIT通道0的计数器中的值,它表示PIT将没隔多少个时钟周期产生一次时钟中断。

    LATCH=(1秒之内的时钟周期个数)÷(1秒之内的时钟中断次数)=(CLOCK_TICK_RATE)÷(HZ)

Linux为取整 #define LATCH=(CLOCK_TICK_RATE + HZ/2) / HZ。

时钟周期理解:时钟脉冲,电平从0到1(或者相反)。

CLOCK_TICK_RATE和HZ都是频率:1秒以内时钟周期频率,1秒以内时钟滴答频率

TSC使用CPU频率,在现代计算机中CPU可能降频也可能超率,TSC时钟不准确。

顺序为HPET > APCI PMT>PIC>TSC

local cpu APIC只在单CPU场景上使用,如进程调度时间.

参考:

http://www.dedecms.com/knowledge/servers/linux-bsd/2012/0913/14187.html

相关文章

网友评论

      本文标题:硬件时钟

      本文链接:https://www.haomeiwen.com/subject/yotssltx.html