ハードウェアタイマー

読み:ハードウェアタイマー
外語:hardware timer 英語
品詞:名詞

パーソナルコンピューターなど、コンピューター基板上に搭載されたカウンター機能。

目次

タイマー割り込みといった、コンピューターに欠かせない定期処理や同期処理などに使われる。

ハードウェアクロックと併用し、一度時計を読んだ後はタイマーだけでカウントアップする実装も存在する。時計の読み込みは一般に遅いので、全体的なパフォーマンスを向上させるための技術である。

主としてPC/AT互換機で使われているもの。

PIT(Programmable Interval Timer)

PC/AT互換機であれば、ほぼ確実に存在するタイマー。

一般にi8254互換である。NTSCの色副搬送波周波数の1/3、つまり約1193182Hz(3579545/3Hz)で動作する。時計とNTSCとは無関係だが、発振器が安く、入手しやすいため、NTSC以外でもよく使われた。

カウンターは16ビットで、3つのタイマーを持つ。OSが使うのは、このうちタイマー0である。

  • タイマ0: 割り込み
  • タイマ1: DRAMリフレッシュ
  • タイマ2: システムスピーカー発振(BEEP)

FreeBSD等のdmesgでは、次のように表示されて認識される。

Timecounter "i8254" frequency 1193182 Hz quality 0

HPET (High Precision Event Timer)

ICH4時代のもの以降に搭載されているらしい。旧称はマルチメディアタイマー(Multimedia Timer)で、CMOS RTCとPITの置き換えを想定している。元々は単独のチップだったが、のちにノースブリッジに吸収された。

動作周波数は10MHz以上。カウンターは64ビットだが、ラッチ機能がないため、32ビットCPUからはクロックを止めない限りは32ビットでしか利用できない。

FreeBSD等のdmesgでは、次のように表示されて認識される。

acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0

Timecounter "HPET" frequency 14318180 Hz quality 900

ACPI PM timer

ACPIの機能を持ったマザーボードに搭載されている。

基準周波数は、NTSCの色副搬送波周波数3579545Hz。時計とNTSCとは無関係だが、発振器が安く、入手しやすいため、NTSC以外でもよく使われた。

カウンターは24ビットである。

FreeBSD等のdmesgでは、次のように表示されて認識される。

Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000

acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0

Local APIC Timer

Pentium以降、Local APICに内蔵されているタイマー。

カウンターは32ビットだが、基準周波数はCPUクロックと同じで、1、2、4、8、16、32、64、128分周させることができる。

TSC (Time Stamp Counter)

Pentium以降で搭載されたカウンター。

カウンターは64ビットで、基準周波数はCPUクロックと同じ。

分周機能や、基準周波数の取得方法などはなく、またパワーマネージメント機能でクロック周波数が低下すると、それに応じてカウントも遅くなる場合がある。HLT命令でカウンターが止まることもあるらしい。

加えて、コアが複数あるCPUや、マルチプロセッサー環境で、各コアのカウンターは同期しないなど様々な難点があるが、rdtsc命令を使って1命令で読み出せるため高速である。

関連する用語
ハードウェアクロック

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club