DMAとPIO

ここに書いた内蔵DVDドライブがネットワークより負荷が高い件ですが、ドライブはDMAを使うのでCPUのメモリアクセスを妨げるのかなあと思ってたんですが、ヘタレさんのコメントでやっぱりおかしいと思い出しました。

DMAはCPUの負担を低減するはずなんです。それに600Mhzは、今となっては準化石ですが、DVD再生が何とか可能なスペックのはずなんです。

それでさらに思い出したのは、昔母艦であった内蔵DVDドライブが極端に遅くなってCPU負荷が異常に高くなった現象。原因はデータ転送がPIOモードになったこと。

DMAはCPUに負担をかけずにデータ転送をする仕組みなのに対し、PIOはCPUが付きっきりになります。どうもPCがハングアップしたときなどに勝手にPIOにされてしまうことがあります。

それで件の準化石PCを調べると、案の定IDEセカンダリチャンネルのデバイス0(内蔵DVDが普通繋がっているところ)はPIOモードでした(^^ゞ

それで、DMAモードに変更してリブートしましたが、PIOモードのまま(--;)。そう言えばもう一つ手続きがあったような。確かデバイスドライバを削除したような。

と言うわけでセカンダリチャンネルのデバイスドライバを削除し、リブートすると...目出度くDMAモードになりました(^_^)

それで再度アプリを確認すると、GOMとKMは全く問題なく、VLCにカクカクが僅かに残りますが合格点ですね。

モニター一体型のDVDプレイヤーが出来上がってしまいましたが、さて何に使うんでしょう?(^^ゞ