uchan note

プログラミングや電子工作の話題を書きます

【技術書典6】「Local APICタイマー入門」を出します(ダウンロード頒布有)

大人気の技術書オンリーの同人誌即売会技術書典 6」が、2019/04/14(日)に池袋サンシャインシティで開かれます。

今回は「Local APICタイマー入門」を出しますので、そのお知らせです。

頒布情報

  • 日時 2019 年 4 月 14 日(日)
  • 場所 池袋サンシャインシティ 2F 展示ホール D(文化会館ビル 2F)
  • ブース う38「bitnos」 bitnos のサークルページ
  • 書名 Local APICタイマー入門
    • bitnos ブースでは既刊 4 種類も展示します。
  • ページ数 44(表紙含む)

f:id:uchan_nos:20190327212524p:plain:w150

その他の新刊

う38 ではその他に委託の新刊を頒布する予定です。

  • PythonとColabでできる - ゼロから作るRAW現像
    • 著者 @MuneOiz
    • デジタルカメラのRAW画像についての解説をし、RAW画像をRGBカラー画像へと現像するソフトウェアを作ってしまう意欲作
  • もしかしたら後1冊、新刊が出るかも!?

概要

時間計測はOSを構成する基礎技術です。時間計測にはタイマーと呼ばれるハードウェアが使われます。歴史的に様々なタイマーが開発されPCに搭載されてきました。本書では、2019年現在の典型的な構成のPCに搭載されているタイマーであるACPI PMタイマー、Local APICタイマー、およびTSCの制御方法を説明します。

本書の主題であるLocal APICタイマーはCPUコアに内蔵されたタイマーで、小さなオーバーヘッドで動作し、割り込みにも対応できる使い勝手の良いタイマーです。割り込みの設定方法を含め、タイマーの使い方を詳しく説明します。具体的には、機種により異なるタイマーの動作周波数の測定方法、一般的な割り込み設定の紹介、タイマー固有の割り込みの設定方法などを説明します。

Local APICタイマーの周波数測定に必要となるため、ACPI PMタイマーの使い方も説明します。このタイマーは割り込み機能は無いため通常の使用には使えませんが、動作周波数が仕様により固定されているため、周波数が未知のタイマーの周波数測定に便利です。

目次

  • 第 1 章 はじめに
    • 謝辞
    • 周波数と時間の関係
  • 第 2 章 タイマーの種類
    • PIT(Intel 8254)
    • RTC(Motorola MC146818)
    • HPET
    • ACPI PMタイマー
    • Local APICタイマー
    • TSC
  • 第 3 章 ACPI PMタイマー
    • RSDPとXSDTの取得
    • EDK IIでGUIDを使う方法
    • FADTの取得
    • タイマーの使い方
  • 第 4 章 Local APICタイマー
    • レジスタインターフェース
    • タイマーの使い方(ポーリング編)
    • 割り込み設定
    • 割り込みハンドラ
    • エラーコード付き割り込みハンドラ
    • IDT
    • 割り込み記述子
    • IDT
    • タイマーの使用方法(割り込み編)
  • 第 5 章 TSCの進化
    • TSCの進化
    • TSCの使用方法
    • Invariant TSCの検出
    • CPUID
    • Invariant TSCの検出
  • 第 6 章 UEFI環境でのRTC
    • UEFIのRTC機能
    • ランタイムサービス

チラ見

中身を数ページだけ公開します。 ブースに立ち寄るかどうかの参考になれば幸いです。

f:id:uchan_nos:20190327214641p:plain:w150 f:id:uchan_nos:20190327214723p:plain:w150 f:id:uchan_nos:20190327214806p:plain:w150

お隣ブース情報

「う38」周辺は低レイヤ系ブースが集まっています。そちらにも是非お立ち寄りください! f:id:uchan_nos:20190327214848p:plain

ダウンロード頒布

同人誌即売会の雰囲気を大事にしたいので、当日ブースまで来ていただけると嬉しいです。しかし、何らかの理由により来られない方のために、ダウンロードによる頒布を行います。

ダウンロード頒布は BOOTH より.

uchan.booth.pm