美文网首页
硬件时钟

硬件时钟

作者: 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