アカウント名:
パスワード:
マザーボード上のRTC精度なんてたかが知れているから原子時計も安くなったことだし、USBドングルみたいな形で、と思ったが電源の問題があるか。# NTP使えないところでは需要あるかも
マザーボード上のRTCは、パソコンのシャットダウン中およびスリープ中に時刻を維持するために使われているだけです。OSの稼働中は、OSがスケジューラーが、タイマ割込みとCPUのTSCとを連携させて、時刻を掲示している。割込み禁止されたり、SMIが発生したりすると、当然OSによる経時の誤差が大きくなるので、NTPによる同期が必要になってきます。
でもさー、重い処理をするとCPUが遅くなる事とかザラにあるけどそれでも時計が狂わないのってなんでなんだろう。
マウスカーソルがちょっと引っかかっる度に、その分遅くなりそう。
それとも、OSの見た目では処理落ちしているけどCPUのクロック周波数的には常に一定のクロックを刻んでいるのかな
省電力機能でSMIを発行されてCPUのクロックは常に変化している。だから、定期割込みのタイマ割込みのたびに、一周期にTSCでいくつカウントされたかを常にチェックして、微妙に調整しているのだ。そのため、省電力機能に不具合があったりすると、計時が出鱈目になる。
# Linuxのスケジューラーをいじっているときに計算式を間違えて、64倍速で時刻が進んでしまうカーネルを作ったことがある。# 割禁デバイスドライバには滅んでもらいたい。
マザーボード上のRTCはただのバックアップ用です。稼働中は、OSが時刻をカウントしてます。
Windowsなら15msのタイマー割り込みを受けて、内部の時刻をカウントアップをしているわけでしょ。そのタイマ割り込みの出元はRTC やったりするんやないの?
今時はHPETやTSCじゃないのかな。ACPIも歴史あるし、今時RTCとか使うのかな?
おまけhttps://www.valinux.co.jp/technologylibrary/document/linuxkernel/timer0003/ [valinux.co.jp]
IRQ8のRTCはバックアップ用です。実際起動時とシャットダウン時とスリープの前後にしかアクセスしてません。IRQ0のシステムタイマーってのが15msのタイマー割り込みのソースです。
GPSの時刻情報をだけを受信するモジュールとか作れないかな時刻情報なら衛星1つだけでもいいはずだし。大気の誤差とかまあいいでしょう
電波時計って時刻が確定するのに1分受信し続ける必要があってつらいけどGPS電波なら1パケット(?)受信するだけで時刻確定したりしないかな
電源の問題がないなら凄く簡単に作れるよ。1秒毎に送られてくるから秒単位でなら凄く簡単に時間を合わせられる。ただ鉄筋コンクリートのビルの中だと厳しいかも。
GPS時計&NTPサーバなんてのを自作してる人もいるね。ネットのない環境で正確に時間を合わせたい場合に使えそう。
測位が終わらんと時刻も決まらん大気の誤差より衛星までの距離分の誤差になるからもう少し大きい高度約二万キロなんでミリ秒単位はある♯真上にあるやつのみをつかめるわけじゃないので事前補正は無理だろう
作れなくはないけど測位モジュールができている以上誰がこんだけ誤差がある計時のみを作るかって話
適当なこと言うなよ。測位しなくてもUTC時刻は出るぞ。一個掴めば秒単位の時刻が出る。4個掴めば地方時が出る。置いておけばマイクロ秒単位に収束する。次にお前は「1PPS信号の精度は1秒」と言いそうなので言っておくが、そんなこともないからな。
> 適当なこと言うなよ。測位しなくてもUTC時刻は出るぞ。
間違ってますよ。それはUTC時刻ではありません。
正しい時刻を求めるには受信した時刻から、衛星までの距離に応じた電波の遅延分を時刻に加算する必要があります
言い換えるとあなたは数ミリ秒遅れた時刻(しかもその遅れが何秒かさえ解ってない)をUTC時刻と勘違いしているだけです
GPS を使った NTP サーバは数万円で簡単に手に入るよ。
RTC だけの精度が原子時計レベルになったらレベルでも暗号とかあっちの方面では嬉しいのかな。スマホが原子時計を内蔵できるくらいになったら色々凄いことになると思うけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
狂わない時計も欲しい (スコア:0)
マザーボード上のRTC精度なんてたかが知れているから
原子時計も安くなったことだし、USBドングルみたいな形で、と思ったが
電源の問題があるか。
# NTP使えないところでは需要あるかも
Re: (スコア:0)
マザーボード上のRTCは、パソコンのシャットダウン中およびスリープ中に時刻を維持するために使われているだけです。
OSの稼働中は、OSがスケジューラーが、タイマ割込みとCPUのTSCとを連携させて、時刻を掲示している。
割込み禁止されたり、SMIが発生したりすると、当然OSによる経時の誤差が大きくなるので、NTPによる同期が必要になってきます。
Re: (スコア:0)
でもさー、重い処理をするとCPUが遅くなる事とかザラにあるけど
それでも時計が狂わないのってなんでなんだろう。
マウスカーソルがちょっと引っかかっる度に、その分遅くなりそう。
それとも、OSの見た目では処理落ちしているけど
CPUのクロック周波数的には常に一定のクロックを刻んでいるのかな
Re: (スコア:0)
省電力機能でSMIを発行されてCPUのクロックは常に変化している。だから、定期割込みのタイマ割込みのたびに、一周期にTSCでいくつカウントされたかを常にチェックして、微妙に調整しているのだ。そのため、省電力機能に不具合があったりすると、計時が出鱈目になる。
# Linuxのスケジューラーをいじっているときに計算式を間違えて、64倍速で時刻が進んでしまうカーネルを作ったことがある。
# 割禁デバイスドライバには滅んでもらいたい。
Re:狂わない時計も欲しい (スコア:1)
# 省電力と称してタイマまで止めくさるSoCは滅びよまったく
Re: (スコア:0)
マザーボード上のRTCはただのバックアップ用です。稼働中は、OSが時刻をカウントしてます。
Re: (スコア:0)
Windowsなら15msのタイマー割り込みを受けて、内部の時刻をカウントアップをしているわけでしょ。
そのタイマ割り込みの出元はRTC やったりするんやないの?
Re: (スコア:0)
今時はHPETやTSCじゃないのかな。
ACPIも歴史あるし、今時RTCとか使うのかな?
おまけ
https://www.valinux.co.jp/technologylibrary/document/linuxkernel/timer0003/ [valinux.co.jp]
Re: (スコア:0)
IRQ8のRTCはバックアップ用です。実際起動時とシャットダウン時とスリープの前後にしかアクセスしてません。
IRQ0のシステムタイマーってのが15msのタイマー割り込みのソースです。
Re: (スコア:0)
GPSの時刻情報をだけを受信するモジュールとか作れないかな
時刻情報なら衛星1つだけでもいいはずだし。大気の誤差とかまあいいでしょう
電波時計って時刻が確定するのに1分受信し続ける必要があってつらいけど
GPS電波なら1パケット(?)受信するだけで時刻確定したりしないかな
Re: (スコア:0)
電源の問題がないなら凄く簡単に作れるよ。
1秒毎に送られてくるから秒単位でなら凄く簡単に時間を合わせられる。
ただ鉄筋コンクリートのビルの中だと厳しいかも。
GPS時計&NTPサーバなんてのを自作してる人もいるね。
ネットのない環境で正確に時間を合わせたい場合に使えそう。
Re: (スコア:0)
測位が終わらんと時刻も決まらん
大気の誤差より衛星までの距離分の誤差になるからもう少し大きい
高度約二万キロなんでミリ秒単位はある
♯真上にあるやつのみをつかめるわけじゃないので事前補正は無理だろう
作れなくはないけど測位モジュールができている以上誰が
こんだけ誤差がある計時のみを作るかって話
Re: (スコア:0)
適当なこと言うなよ。測位しなくてもUTC時刻は出るぞ。一個掴めば秒単位の時刻が出る。4個掴めば地方時が出る。置いておけばマイクロ秒単位に収束する。
次にお前は「1PPS信号の精度は1秒」と言いそうなので言っておくが、そんなこともないからな。
Re: (スコア:0)
> 適当なこと言うなよ。測位しなくてもUTC時刻は出るぞ。
間違ってますよ。それはUTC時刻ではありません。
正しい時刻を求めるには
受信した時刻から、衛星までの距離に応じた電波の遅延分を時刻に加算する必要があります
言い換えると
あなたは数ミリ秒遅れた時刻(しかもその遅れが何秒かさえ解ってない)を
UTC時刻と勘違いしているだけです
Re: (スコア:0)
GPS を使った NTP サーバは数万円で簡単に手に入るよ。
RTC だけの精度が原子時計レベルになったらレベルでも暗号とかあっちの方面では嬉しいのかな。
スマホが原子時計を内蔵できるくらいになったら色々凄いことになると思うけど。