■ CD-ROM転送速度とBIOS設定の関係 ■
家の環境では何故かCD-ROMからCD-Rへ直にコピーすることが出来ません。バッファアンダーランが多発します。つまりCD-ROM側の読み出し速度不足という事になりますが、TEAC
CD-532E-Bはカタログ値では最大x32で読めるはずで最内周での転送レート不足が原因と言うことでしょうか?ではCD
Speed 99で測ってみます。

最内周では読み込みでx14とx12書き込みで問題はありません。平均でx12以上でているので問題は無いはずです。ここで注目するところはCPU
usageです。CPU使用率がx8では40%にも到達しています。これはDMAが有効になっているとしてもかなり大きい値であり、CD-R側でもCPUパワーを使用するはずなのでCPUパワー不足で転送が間に合わなくなっているようです。
しかしおかしいのはカタログ値のx32でなくx18で頭打ちになっているのはどうしてなのか疑問が残ります。これもCPU
usageを見れば一目瞭然です。CPU使用率が倍々になっています。x8で40%って事はx16では80%にもなっていることが予想されます。つまりx18あたりでCPU使用率が100%になりドライブ速度が生かせて無いことになります。
DMAが有効であるにも関わらず何故CPUパワーがこんなに必要なのか・・・。結論は簡単で、DMAが有効になっていない事になります。しかしOS設定ではDMAのチェックは有効になっています。残るはBIOS設定になります。
私のPCは自作マシンですがBIOS上からは全て認識しないように設定されています。これはBIOSからIDE系のスキャンをするとその分起動時間がかかる為です。BIOS上で認識させないとCDブートが出来ないだけでOS上ではチップセットドライバが読み込まれる段階でドライブを認識しますのでOS上では問題なく認識できます。
ではBIOS上で認識させて再計測です

と見事CPU使用率、最高速度共に問題が解決しました。うーんBIOS認識させないとDMAが有効にならないのはちょっと納得いかないのですが・・・と言うもDVDがまともに見れないはずなんですが、OS上で設定してやれば問題なく見れてます。逆にOS上からDMA設定をしないとまともに見るのは難しい状況です。
と言うことでRICOH MP9120Aで再計測してみたところほぼ同じ様な結果になりました。BIOS認識が無いと読み込みはx24で頭打ち、しかもCPU使用率がx8で77%となってます。しかしBIOS認識後は読み込みx32、CPU使用率に至ってはx8で7%です(画像はこちら)。これはBIOSで認識させた方がいいに決まってます。
ここで一つ気づいたことがあります。それはCD-RライティングソフトやCD
SPEEDはOSの用意するファイル読み込みコマンドでは無くCD-ROMデバイスに対して直接セクタを読みコマンドを使っているのでは無いかと言うことです。つまりOSが用意するコマンドではDMAが有効になっていれば一般的な使用では問題ない事になります。
測定方法は一般的なファイル読み込みをするプログラムで時間を計測する事です。ここではファイル比較プログラムFileComp32でBIOS認識あり無しで時間計測してみました。方法はCD-ROMの内容を一旦HDDにコピーしそれをCD-ROMと比較します。OSのDMA設定は共に有効です。
BIOS上で認識させて比較した場合・・・約3分14秒
BIOS上で認識させず比較した場合・・・約3分37秒
と劇的な差は出ませんでした。これはCPUに余力があるのかHDD読み込みと交互に行う為思った程差がで無いと言った感じです。しかしBIOS認識させた方が速いと言う結論です。と言うことはDMA有効になって無いんですかね・・・今度はOSのDMA設定を解除した場合です。
BIOS上で認識させて比較した場合・・・約3分23秒
BIOS上で認識させず比較した場合・・・約4分46秒
まとめると
| BIOS認識無し | DMA有効 | 約3分37秒 | BIOS認識無しだと劇的な差が出ます |
| DMA無効 | 約4分46秒 | ||
| BIOS認識有り | DMA有効 | 約3分14秒 | BIOS認識有りだと僅差です |
| DMA無効 | 約3分23秒 |
BIOSで認識させると何故かBIOS認識しない時のDMA有効よりも速くなります。つまりDMA無効+BIOS認識の方が、DMA有効+BIOS認識無しより速いという逆転現象が起きてます。しかしBIOS認識が無くなると極端に遅くなるのが分かります。つまりBIOS認識させていなくてもDMAは無効では無い様です。
DVD再生は?
こうなってくると、DVDはDMA有効で無いとまともに再生出来ないと言う説もどうでしょう。と言うのも昔DMA無効で平気で再生出来てたので。さてBIOS認識有りDMA無効にしてPowerDVDで再生。CPU使用率が高いものの問題なく再生できちゃいます。良くある音が飛ぶなんて事もありません!さすがに並列処理させるには厳しい感じがしますが、見るだけなら全く問題ないです。
訂正 Windows 2000だとBIOS有効+DMA無効だと音飛びが発生してまともにDVDを見ることが出来ませんでした。と言うことでWin98のDMA設定のバグの可能性が高いかも。
結論
BIOS認識させないとDMAが正常に機能しない、もしくはチップセットの完全なサポートを得られないのでは無いかと思います。つまりDMAが無い古いデバイスでも極端に足を引っ張らない様にチップセットが補助している、と書いてましたがWin2000での様子を見る限りだとWin9xドライバのバグかDMA設定に問題があるような気がします。BIOS認識とOSでの関わりがはっきりとわからないので原因を追及は出来ませんが、Win98とWin2000での挙動が違う以上ドライバ周りの問題と考えた方がよさそうです。
どのみちBIOS認識はさせた方が良いと言うことですね。起動時間は多少遅くなりますが、有効にする価値はあると思います。
▲Indexに戻る 02/01/09 Update