|
发表于 2003-2-10 21:09:58
|
显示全部楼层
There is always a google!我向大家推荐一下
http://www.google.com/linux
这是google的linux分类搜索,很好用的。
RTC我在编译mplayer的时候遇到过问题,不过不影响用,就没太在意。
2、请教Linux中的3种timer的区别与联系?
Linux中有3种timer:
1、Real Time Clock(RTC)
2、Programmalbe Interval Timer(PIT)
3、Time Stamp Counter.(TSC)
其中RTC是位于CMOS中的,其频率范围是2HZ--8192HZ.
PIT主要由8254时钟芯片实现的
TSC的主体是位于CPU里面的一个64位的TSC寄存器。每个CPU时钟周期其值加一。
但这三者的具体联系我不是很清楚,那位大虾介绍一下吧。
RTC是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,RTC经过8254电路的频产生一个频率较低一点的OS(系统)时钟TSC,系统时钟每一个cpu周期加一,每次系统时钟在系统初起时通过RTC初始化。8254本身工作也需要有自己的驱动时钟(PIT),可以参考一些单片机方面的书籍。
还是不明白。
按你的意思,那就是RTC的精确度比TSC更高了。但是我查资料发现8254的震荡频率最高是4.194304MHz,也就是说TSC的频率比这个频率更少,而现在的CPU的频率已经超过了GHz,如果每个cpu周期TSC时钟加一,那么TSC的频率岂不可以达到GHz级,这样岂不矛盾了吗?
另外一些资料说利用TSC可以实现比PIT更精确的定时,也就是不可能由PIT产生了。麻烦你再详细一点好吗?
8254本身只是一个定时/计数器,他本身要正常工作需要一个晶振的支持,就好像一个将1mA的电流放大到1A的放大器本身工作也需要一个驱动电流一样,4.194304MHz应该就是你的8254的工作晶振,4.194304MHz不是RTC,RTC是输入给8254的脉冲,经过分频产生os时钟,linux每个系统时钟周期10ms,cpu本身工作(处理指令,数据)也有自己的指令周期,他们是不同的,另外你所说的资料我没看过,有些地方说法可能会有点误差。
2、请教Linux中的3种timer的区别与联系?
Linux中有3种timer:
1、Real Time Clock(RTC)
2、Programmalbe Interval Timer(PIT)
3、Time Stamp Counter.(TSC)
其中RTC是位于CMOS中的,其频率范围是2HZ--8192HZ.
PIT主要由8254时钟芯片实现的
TSC的主体是位于CPU里面的一个64位的TSC寄存器。每个CPU时钟周期其值加一。
但这三者的具体联系我不是很清楚,那位大虾介绍一下吧。
RTC是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,RTC经过8254电路的频产生一个频率较低一点的OS(系统)时钟TSC,系统时钟每一个cpu周期加一,每次系统时钟在系统初起时通过RTC初始化。8254本身工作也需要有自己的驱动时钟(PIT),可以参考一些单片机方面的书籍。
还是不明白。
按你的意思,那就是RTC的精确度比TSC更高了。但是我查资料发现8254的震荡频率最高是4.194304MHz,也就是说TSC的频率比这个频率更少,而现在的CPU的频率已经超过了GHz,如果每个cpu周期TSC时钟加一,那么TSC的频率岂不可以达到GHz级,这样岂不矛盾了吗?
另外一些资料说利用TSC可以实现比PIT更精确的定时,也就是不可能由PIT产生了。麻烦你再详细一点好吗?
8254本身只是一个定时/计数器,他本身要正常工作需要一个晶振的支持,就好像一个将1mA的电流放大到1A的放大器本身工作也需要一个驱动电流一样,4.194304MHz应该就是你的8254的工作晶振,4.194304MHz不是RTC,RTC是输入给8254的脉冲,经过分频产生os时钟,linux每个系统时钟周期10ms,cpu本身工作(处理指令,数据)也有自己的指令周期,他们是不同的,另外你所说的资料我没看过,有些地方说法可能会有点误差。 |
|