ふるた技工所(てっこうしょ)

ふるた技工所(てっこうしょ)

PR

キーワードサーチ

▼キーワード検索

プロフィール

Aちゃん22

Aちゃん22

フリーページ

2017.07.16
XML
カテゴリ: カテゴリ未分類
今時の PC に i8253(i8254) Programmable Interval Timer は完全に残っているのだろうか? 古い OS のために Channel 0 (Timer Interrupt) と Channel 2 (PC speaker beep) は Super I/O chip または Chip set の中に回路が組み込まれているはず。

Channel 1 (D-RAM Refresh Timer) は回路が存在するのだろうか? Windows7 に対応している ZOTAC Geforce 6100-ITX (chipset Nvidia nForce 430) にて Channel 1 の I/O port 0x41 を port 0x43 を制御して読み出してみると、count down していることが分かった。回路が作りこまれている。

D-RAM 制御はプロセッサ内蔵の D-RAM controller または (少し古い構成ならば) North bridge に入っている。今時 D-RAM refresh 回路を i8253-i8237 (PIT-DMAC) の組み合わせで構成するとは思えない。

僅かでも消費電力削減を狙うなら i8253 のライブラリに手を入れて Channel 1 の Gate や FF を削減するか、何かの制御ビットでステートを固定するような論理合成するかもと思っていた。

Linux Kernel 4.1.27 をベースに i8253 を platform device として追加するパッチ を作る。 i8253 channel 1 refresh timer をアクセスするモジュール も作る。

忘れ去られた古代遺跡の様な回路のために Kernel に 約 200 行, Module に約 350 行追加だ。「DOS と symdeb あるいは debug で i8253 channel 1 が有るかくらい確かめられるよね」と思いつつデバイスドライバを投入、有るかどうか分からない遺跡に辿り着けるのだろうかという不安が付きまとっていた。


  0040-0043 : timer0
    0041-0041 : refresh_counter
    0043-0043 : control_word
  0050-0053 : timer1


sudo insmod i8253_ref.ko を実行して、channel 1 counter を読みだしてみる。DEVICE_ATTR() で作った counter node が API だ。

$ cd /sys/devices/platform/i8253_ref.0.auto/
$ ls -la
total 0
drwxr-xr-x 3 root root 0 Jul 16 13:06 .
drwxr-xr-x 13 root root 0 Jul 16 13:00 ..
-r--r--r-- 1 root root 4096 Jul 16 13:06 counter
lrwxrwxrwx 1 root root 0 Jul 16 13:06 driver -> ../../../bus/platform/drivers/i8253_ref
-rw-r--r-- 1 root root 4096 Jul 16 13:00 driver_override
-r--r--r-- 1 root root 4096 Jul 16 13:00 modalias
drwxr-xr-x 2 root root 0 Jul 16 13:00 power
-rw-r--r-- 1 root root 4096 Jul 16 13:06 rate
lrwxrwxrwx 1 root root 0 Jul 16 13:00 subsystem -> ../../../bus/platform
-rw-r--r-- 1 root root 4096 Jul 16 13:00 uevent
$ i=0;while (( $i < 10 ));do cat counter ; i=$(( $i + 1 ));done
1809
1553
4361
3848
2066
3333
1038
1295
3333
1552


counter 値が変化している。常に変化する順序回路と繋がっていることは確かだ。rate node で reload 値を設定すると設定したとおりに範囲が変化する。カウンターだと思ってよいだろう。

仮想マシンにも i8253 channel 1 の遺跡は有るのだろうか?





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2017.07.16 13:29:24
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

カレンダー

サイド自由欄

コメント新着

Aちゃん22 @ Re[1]:秋月八潮店 カラーつまみ詰め放題 300 円 - 46 個入った(05/10) クマノフさん、こんにちは、 あぁ、高さバ…
クマノフ@ Re:秋月八潮店 カラーつまみ詰め放題 300 円 - 46 個入った(05/10) こんにちは 確か使用上の注意が出ていたと…
Aちゃん22 @ Re[7]:ようやく転職エージェントに会うも - 3 分で終了(04/01) ご無沙汰してますさん、こんにちは、 反応…
ご無沙汰してます@ Re[6]:ようやく転職エージェントに会うも - 3 分で終了(04/01) Aちゃん22さんへ 調べて頂いて恐縮です。…
Aちゃん22 @ Re[5]:ようやく転職エージェントに会うも - 3 分で終了(04/01) ご無沙汰してますさん、こんにちは。 思い…

© Rakuten Group, Inc.
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: