# サウンドカード上のクロックかなとも思ったのですが、サウンドカードが搭載されてないPCでも取得できるので違いますね。
PC/AT互換機のDOS上で同様のタイマー値を取得したいので、なにかヒントがあったらご教示お願いします。
(生成しているLSI、または別のクロックをもとにソフトウェアで生成されているといった情報)
http://www.kcg.ac.jp/acm/a5098.html
EYE MACHINE
http://www5f.biglobe.ne.jp/~apaslothy/bbslog.html
80mkII���F�� �f����
http://www.yoshibaworks.com/ayacy/inasoft/talk/t200404.html
管理人のひとこと2004年4月
8253互換のICだと思います。8253はプログラマブルタイマーICのルーツになるものです。今ではおそらく8253を載せているPCはないと思いますが、命令的に互換のICを載せていると思います。
URLは8253について記述のあったものです
windowsのタイマー仕組みは二つがあると思います。①DOSと共通仕組み②新規の内部正確バージョン仕組み
②のほうはマルチメディアのtimeGetTimeとパフォーマンスのQueryPerformanceCounterなどに使われています。
また、ハードによりますが、インテルベースのシステムであれば8253/8254に交換性を持っていますから、14.318MHzが基本で0.838 microsecondsの単位になります。インテルのCK410ガイドに参照すれば、ハードタイマーの仕組みがわかると思いますが。
マイクロソフトのカーネル実装はベンダーからの資料が少ないが、実装方法は何らの割込み処理で内部カウントを持っているやり方と思います。
一部ハードBIOSは32Mベースのチップを使っている情報がありますが、交換性の情報は確実ではないので、やはり14.318MHzに統一されていると思います。
ご参考になればと思います。
詳しい説明ありがとうございます。
大変参考になりました。
回答ありがとうございます。
三つ目のURLの「2004/ 4/30 10:20」に、『高分解能パフォーマンスカウンタは、一般にはCPU以外のデバイスが持っているタイマカウンタにより実現されています。AT互換機なんかでは、「プログラマブルタイマーIC」(8253と呼ばれる)により実現されています。』という言及がありますね。
すっきりしましたありがとうございます。