[問題] CPU 如何處理計時器?

看板Programming作者 (Myrmarachne)時間16年前 (2009/06/22 15:20), 編輯推噓8(8012)
留言20則, 6人參與, 最新討論串1/3 (看更多)
無論是哪種語言,常常會用到計時器。 例如:30 秒之後做某個動作。 我不懂的是,CPU 是如何做計時器的? 該不會是每最小單位時間 CPU 都偵測是不是過 30 秒了? 這樣不是很笨也很沒效率嗎? 但除了 CPU 每最小單位時間都偵測一次, 我想不到什麼機制來完成計時器的功能。 可否有前輩指導一下?非常感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.46.88

06/22 15:32, , 1F
好像是有硬體支援吧
06/22 15:32, 1F

06/22 15:39, , 2F

06/22 15:39, , 3F
不知道是不是這個
06/22 15:39, 3F

06/22 15:40, , 4F
另外,你說的隨時偵測問題,那可以用中斷解決
06/22 15:40, 4F

06/22 15:40, , 5F
8254 晶片吧
06/22 15:40, 5F

06/22 15:41, , 6F
可以開一個 thread 來檢查, 或windows
06/22 15:41, 6F

06/22 15:41, , 7F
用 OnTimer
06/22 15:41, 7F

06/22 15:47, , 8F
我記得每過一定時間會有一個中斷
06/22 15:47, 8F

06/22 15:47, , 9F
可以用那中斷來檢查
06/22 15:47, 9F

06/22 15:47, , 10F
不過那應該是os的工作
06/22 15:47, 10F

06/22 15:47, , 11F
所以用os提供的機制來做timer
06/22 15:47, 11F

06/22 19:10, , 12F
Windows的話: http://ppt.cc/fmuc
06/22 19:10, 12F

06/22 19:20, , 13F
Raymond Chen 的 Blog 常常可以看到一些比較
06/22 19:20, 13F

06/22 19:20, , 14F
不為人知的知識啊
06/22 19:20, 14F

06/22 20:16, , 15F
嗯. 因此自05年起就常駐在我的RSS feed
06/22 20:16, 15F

06/24 10:54, , 16F
PC停電時使用充電電池推動的電子表與cmos
06/24 10:54, 16F

06/24 10:56, , 17F
RAM供BIOS設定與啟動,8353 Timer 最早是
06/24 10:56, 17F

06/24 10:58, , 18F
用主板cga的15750.0HZ六位有效震蕩器提供
06/24 10:58, 18F

06/24 11:01, , 19F
1/16秒時脈中斷,這個時間太長.winOS 改了
06/24 11:01, 19F

06/25 07:43, , 20F
你要問的就是 watchdog 阿
06/25 07:43, 20F
文章代碼(AID): #1AFp2hx1 (Programming)
文章代碼(AID): #1AFp2hx1 (Programming)