這確實是PC歷史的一個特點。 最初的IBM-PC使用了一個稱爲實時時鐘的芯片,該芯片備份了電池(您是否記得需要更換這些電池上的電池?)當機器斷電並保持時間時,這些芯片就會工作。這些頻率是32.768 kHz(2^15個週期/秒),因此可以很容易地計算16位系統的時間。 這個實時時鐘然後被寫入到CMOS中,該CMOS在較早的操作系統中通過中斷系統可用。
一個較新的標準從微軟和英特爾是出於所謂的高精度事件計時器指定的10MHz的 http://www.intel.com/hardwaredesign/hpetspec_1.pdf 時鐘速度甚至較新的PC架構,藉此,並把它的北橋控制器和HPET可以在100MHz囤甚至更大。 在10Mhz下,我們應該能夠獲得100納秒的分辨率,在100MHZ下,我們應該能夠獲得10納秒的分辨率。
以下操作系統已知不能夠使用HPET:視窗XP,Windows Server 2003和更早的Windows版本,老版本的Linux版本
以下操作系統已知能夠使用HPET: Windows Vista,Windows 2008,Windows 7,基於x86版本的Mac OS X,使用2.6內核和FreeBSD的Linux操作系統。
隨着Linux內核,需要新的「RTC-CMOS」硬件時鐘設備驅動程序,而不是原來的「RTC」司機
所有這一切說我們如何訪問這些額外的分辨率是多少? 我可以截斷並從以前的計算器的論文中,而不是 - 只要搜索HPET,你會發現關於如何獲得更精細的定時器工作
http://en.wikipedia.org/wiki/High_Precision_Event_Timer#Problems顯然,HPET的某些實現具有諷刺意味的是由於讀取緩慢或漂移等問題而產生精度問題。儘管如此,在大多數情況下仍然可以使用,特別是對於媒體播放/同步(因爲這就是它最初的意思)。 – Alex 2015-05-15 20:43:57