ハードウェアクロック
読み:ハードウェアクロック
外語:hardware clock
パーソナルコンピューター
など、
コンピューター
の
基板
上に搭載された時計機能。ハードウェアで搭載されているため、ハードウェアクロックという。
目次
概要
特徴
読み出し
CMOS RTC (AT realtime clock)
概要
リアルタイムクロック
(RTC)とも呼ばれ、古くは専用のICが
マザーボード
上に搭載され利用されていた。現在は、この程度の機能はチップセット(あるいはCPU本体)に内蔵されており、さらにより高性能(高精度)になっていることが多い。
この時計機能は、マザーボード上に付けられた電池によりバックアップされており、コンピューターの電源を切った状態でも時刻を刻み続ける。
オペレーティングシステム
(OS)は、起動時などに読み取り、以降は独自に
ハードウェアタイマー
を用いた
タイマー割り込み
を使ってカウントする。これをシステムクロックといい、ユーザーが普段目にするのは、このシステムクロックである。手動またはNTP等様々な手段により、OS起動中に両者は同期が図られる。
特徴
読み出し
製品によっては、時刻などの情報が複数のフィールドに分割され、個別にしか読み込めない仕様となっていることがある。
通常、このようなものはラッチ機能と呼ばれる機能を持ち、読み出し中の更新を停止して(内部でのカウントは継続されている)読み出し中にカウントがずれることを防げるようになっている。
ただし中にはそのような機能を持たないものもあり、その場合、時刻が変わる瞬間に読んでしまうと誤った情報を読み出してしまう。以下に例を示す。
タイマー → 読み出した値
23:59:59 → 23:--:--
23:59:59 → 23:59:--
00:00:00 → 23:59:00
23:59:59または00:00:00として読み込まれれば支障がないところ、秒を読む寸前に日付が変わってしまったため、23:59:00という大きくずれた時刻となってしまった。
ハードウェアタイマー
の単なるカウンターの場合でも同様だが、このような場合は複数回読み直して比較するしかなく、しかし動作周波数が高い場合はどうしてもずれてしまうので、一致判定には限度がある。カウンターであれば、ある程度の誤差を認め、ずれが許容範囲から越えていないかどうかをチェックすることになる。
CMOS RTC (AT realtime clock)
PC/AT互換機であれば、ほぼ確実に存在するハードウェアクロックである。
一般にMotorola MC146818互換で、32768Hzで動作する。日時の情報は「年/月/日 時:分:秒」の各フィールドで、精度は1秒である。
PC/ATのハードウェアクロックで、唯一カレンダー時刻を持った時計機能であり、電池でバックアップされているのは、このRTCである。コンピューターの電源が切れていても、電池がある限り動作しつづける。
FreeBSD等の
dmesg
では、次のように表示されて認識される。
atrtc0: <AT realtime clock> port 0x70-0x73 on acpi0
再検索