時間計測はOSを構成する基礎技術です.時間計測にはタイマーと呼ばれるハードウェアが使われます.歴史的に様々なタイマーが開発されPCに搭載されてきました.本書では,2019年現在の典型的な構成のPCに搭載されているタイマーであるACPI PMタイマー,Local APICタイマー,およびTSCの制御方法を説明します.
本書の主題であるLocal APICタイマーはCPUコアに内蔵されたタイマーで,小さなオーバーヘッドで動作し,割り込みにも対応できる使い勝手の良いタイマーです.割り込みの設定方法を含め,タイマーの使い方を詳しく説明します.具体的には,機種により異なるタイマーの動作周波数の測定方法,一般的な割り込み設定の紹介,タイマー固有の割り込みの設定方法などを説明します.
Local APICタイマーの周波数測定に必要となるため,ACPI PMタイマーの使い方も説明します.このタイマーは割り込み機能は無いため通常の使用には使えませんが,動作周波数が仕様により固定されているため,周波数が未知のタイマーの周波数測定に便利です.
目次プレビュー
- 第1章 はじめに
- 第2章 タイマーの種類
- 第3章 ACPI PMタイマー
-
3.1 RSDPとXSDTの取得
-
3.2 FADTの取得
-
3.3 タイマーの使い方
-
4.1 レジスタインターフェース
-
4.2 タイマーの使い方(ポーリング編)
-
4.3 割り込み設定
-
4.4 割り込みハンドラ
-
4.5 IDT
-
4.6 タイマーの使用方法(割り込み編)
-
5.1 TSCの進化
-
5.2 TSCの使用方法
-
5.3 Invariant TSCの検出
-
6.1 UEFIのRTC機能
-
6.2 ランタイムサービス