Chinaunix首页 | 论坛 | 博客
  • 博客访问: 301832
  • 博文数量: 94
  • 博客积分: 2163
  • 博客等级: 大尉
  • 技术积分: 932
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-20 09:23
文章存档

2012年(2)

2011年(92)

分类: LINUX

2011-10-08 08:39:17

  主板上的晶体振荡器把原始脉冲------>8254/8253.在计时器中有PIT通道用来计算原始脉冲个数(PIT是被初始化某个值的,和此linux定义的HZ(中断次数频率)有关系,以及原始脉冲频率有关, PIT数值 = 原始脉冲频率 / 中断次数 ,因为这是以晶体振荡器的脉冲作为时间流逝单位)
  在后面计算CPU频率,要利用在某段时间内TSC的个数,(TSC是计算CPU时钟周期的个数的,每一个时钟周期其计算一次)。在某个时间段内,当然ULK上说用可编程间隔计时器,就是上面的PIT通道。
  5ms,我认为对于这个PIT有点少,因为不能发出一个时钟中断。不过,我认为也不是用时钟中断作为计时的单位的,那么就用其中的PIT变化量。Changed (PIT)就是已经计数的个数(也就是原始脉冲的计数)。
   一个时钟中断的持续时间 = Num(PIT) = 以毫秒为单位(1000ms/HZ)
   changed(PIT)/ Num(PIT) = X 毫秒 / 一个时钟中断的持续时间。
 
  这有个问题:如果PIT重新载入了怎么办?还要用(little + PIT) - big = changed (pit)?
  也许是吧,有兴趣的可以再查资料。
查到告诉我。 谢谢。




阅读(1376) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~