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

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

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
X

カレンダー

サイド自由欄

コメント新着

私はイスラム教徒です@ Re:クロネコヤマト便がエスポ便になった - Aliexpress 荷物配達(06/18) 神神は言った: コーランで 『 人びとよ…
通りすがり@ Re:土砂流出止めブロック? - 宅地造成地に謎の黒い塊(10/23) 浸透型の雨水貯留漕かと思われます。 採石…
伝達関数大嫌い@ Re:マルツ秋葉原店のジャンク φ=3mm Pink LED - 久しぶりに秋葉原へ行く(11/03) 米国は青色 中国は黄色 だ、そうです。

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