Ultra DMA/66の性能を徹底検証 2.実験前の下準備2-3. デバイス ドライバを設定する澤谷琢磨 |
Ultra DMA/66対応デバイスを物理的に正しく接続しただけでは、Ultra DMA/66の性能を引き出すことはできない。PCを制御するソフトウェアであるBIOS(Basic Input Output System)とオペレーティング システム(OS)が正しく設定されていないければ、Ultra DMA/66より低速なモードで動作してしまう。ここでは、Ultra DMA/66に対応させるためのBIOS、デバイス ドライバの設定について解説しよう。
BIOSで正確に認識されているか確認
BIOSは、PCに接続されているキーボードやグラフィックス、ハードディスクなどのデバイスをコントロールするソフトウェアで、PCシステムの起動時に欠かせないものだ。そのため、マザーボード上のROM(書き換え可能なEEPROMやフラッシュ メモリが用いられていることが多い)内にインストールされている。
PCの電源をオンにしてからOSが起動するまでの間、IDEハードディスクは、BIOSが提供する機能によってアクセスされる。そのため、BIOSがIDEハードディスクを正しく認識していないと、起動が正しく行えなかったり、OS上でトラブルの元になったりする。この種のトラブルで有名なのは、古いBIOS(BIOSの日付が1997年以前のもの)で、8.4Gbytes以上の容量のハードディスクが認識できない、というものだ。俗に「壁」と呼ばれるこの問題の解決方法については、「PC TIPS:容量8.4Gbytes以上のIDEハードディスクを搭載しても、すべての容量が認識できない障害を直すには?」を参照していただきたい。
BIOSベンダとしては、American Megatrends(AMI)、Phoenix Technologies、Award Software(Phoenixに買収され、現在は同社の一部門)の3社が代表的だが、どのベンダのBIOSでも起動時に検出する自動設定にしておけば、IDEデバイスを正確に検出する。なお、BIOSによる自動設定をオフにし、手動で設定を行っておくと、起動時に自動設定のためのデバイス認識が省略されるため、その分起動が高速になる。ただ、手動設定を行った状態でハードディスクを交換し、再設定を忘れると、BIOSがハードディスクを誤認識した状態となるので注意したい。今回の実験では、BIOSの再設定を行わなず、ハードディスクを交換してみたところ、WindowsのドライバでUltra DMAモードを有効にできない、というトラブルが発生した。IDEハードディスクを組み込んだ後は、必ずBIOSの設定を確認したい。
BIOSでUltra DMAをオン/オフしてもOSには無視される?
BIOSの設定は重要だが、そのすべてがOSの設定に反映されるわけではない。たとえばBIOSによっては、IDEハードディスクの転送モードを制御するオプションを用意している場合がある。しかし、編集部でテストした限りでは、Windows 98 Second Edition、Windows 2000ともに、BIOSの設定よりもOS側の設定が優先された。BIOSでUltra DMAをオフにしてもOS側で有効にできたし、逆にBIOSでUltra DMAを有効にしてもOS側でオフにすることができた。つまり、IDEハードディスクをUltra DMA/66モードで動作させることができるかどうかは、OSのドライバに大きく依存しているわけだ。
実験にはMicrosoft標準のIDEドライバを使用
IDEホストコントローラを制御するデバイス ドライバが用意されていないと、Ultra DMA/66をはじめ、高速な転送モードを有効にすることができないのは前述のとおりだ。Microsoftは、Windows 95 OSR2からIDEのバスマスタDMA転送をサポートするようになり、現在ではWindows 9x、Windows NT 4.0(SP3以降)、Windows 2000のすべてがUltra DMA/66に対応している。OSそのものがサポートしているのは、当然OSのリリース前に発表されたIDEコントローラだけだが、たとえばIntel 82801AAなどは、後述のようにINFファイルをアップデートするだけで対応可能だ。
Windows標準のドライバ以外にも、IntelやVIA Technologiesといったベンダが、自社のチップセット向けにIDEホスト コントローラ用のドライバを提供している。ただ、編集部でテストした結果、OS標準のドライバでもデータ転送速度は同等のうえ、安定して動作すると判断できたため、今回は、Microsoft標準のドライバを主体として実験を行っている(詳細は「実験の結果」を参照していただきたい)。ただし、Intel製のドライバには、現在用いているケーブルの判別(80芯ケーブルか40芯ケーブルか)や転送モードなど、ハードウェア情報を表示するツールが付属している。
Intel製ドライバに付属するユーティリティ |
Intel製のドライバ「Intel UltraATA Storage Driver」に付属する「Companion(コンパニオン)」を起動すると、現在のIDEの状態を知ることができる。ユーザーが変更できる項目は、転送レート(プログラム中ではTransfer Mode Limit)のみで、PIOモード0からUltra DMAモード4までの転送モードが選択できる。なお、変更を反映するには、[File]メニューの[Commit Changes Now]をクリックする必要がある。 |
Intel 810を採用したPCの場合
Intel 810のIDEコントローラ機能は、Intel 82801AA I/O Controller Hub(ICH1)にUSBコントローラなどとともに集積されている。Intel 82801AAは、Intel 810チップセットだけでなく、Intel 810E、Intel 820にも採用されており、2000年5月時点でIntel製として唯一のUltra DMA/66に対応したものだ。
■Windows 2000の場合
Windows 2000は、リリースが2000年2月と新しいため、IDEドライバはIntel 82801AAの情報を備えている。Intel 82801AAを採用したPCならば、Windows 2000をインストールするだけで、Ultra DMA/66が自動的に有効になる。
Windows 2000のIDEに関する情報画面 |
[管理ツール]-[デバイス マネージャ]-[IDE ATA/ATAPIコントローラ]-[プライマリIDEチャネルのプロパティ]-[詳細設定]タブで、プライマリIDEチャネルに関する情報を得ることができる。ハードディスクの転送モードはここで指定できる。動作モードは、Ultra DMAとしか表記されていないが、Ultra DMA/66に対応したハードウェアならば、Ultra DMA/66モードで動作している。 |
■Windows 98 Second Editionの場合
Windows 98 Second Editionでは、インストール後セカンダリポートに接続したIDEデバイスが認識できないというトラブルに遭遇した。これはWindows 98 Second Editionが82801AAの情報を持っていないためだ。
ハードウェアの情報は、拡張子が「.INF」のファイルに記録されているため、INFファイルと呼ばれている。Windowsに標準で含まれていないINFファイルは、基本的にその製品を販売しているベンダ(この場合はPCベンダもしくはマザーボード ベンダ)から入手すべきものだが、チップセット ベンダであるIntelのホームページからもダウンロード可能だ。ファイル名は、「infinst_enu_pv22.zip」でZIP形式で圧縮されているので、WinZIPなどのユーティリティを使って解凍する必要がある。セットアップ自体は簡単で、解凍後のSETUP.EXEを実行するだけだ。
Intel INF Updateのセットアップ画面 |
Intel INF UpdateのSETUP.EXEを実行すると、この画面が表示される。一般のアプリケーションのようにインストール先を聞かれることはない。 |
なお、Windows 98 Second Editionがプレインストールされて出荷されているIntel 810採用のPCの場合は、INFファイルもアップデートされているので、このIntel INF Updateを実行する必要はない。バックアップCD-ROMを用いず新規インストールする場合のみ必要だ。
Intel 82801AAに限らず、Windows 98 Second Editionを新規インストールした場合、自動的にUltra DMA/66モードは有効にならない。[コントロール パネル]-[システム]-[デバイス マネージャ]-[ディスク ドライブ]で、DMAのチェック ボックスをチェックする必要がある
IDE DISKのプロパティ画面 | ||||
[IDE DISKのプロパティ]の[設定]タブを開き、DMAのチェック ボックスをオンにする。これで、IDEコントローラとIDEデバイスがサポートする最も高速な転送モードが有効になる。このチェック ボックスの設定を変えると、再起動が必要になるので注意が必要。 | ||||
|
■Windows NT 4.0の場合
発売当初のWindows NT Workstation 4.0は、もともとUltra DMA/66はおろかMultiword DMAにすら対応していなかった。リリース後に提供されたService Pack 3から、IDEバスマスタDMAはサポートされるようになった。Microsoftからはっきりとした発表は行われていないが、今回テストした結果、最新のService Pack 6aを適用することで、Intel 82801AAのUltra DMA/66モードでの転送を有効にすることができた。
ただし、Service Packを適用しても、DMA転送モードは自動的には有効にならない。有効にするには、DMACGECK.EXEを実行する必要がある。
DMACHECK.EXEの実行画面 |
Windows NT 4.0のIDEドライバがService Pack 3以降で更新されていれば、この画面が表示され、DMAの有効/無効が選択できる。デフォルトでは無効になっているので注意が必要だ。 |
DMACGECK.EXEは、Service Pack 6aに含まれているが、Service Packを適用しても、このユーティリティはシステムにインストールされない。Microsoftの送付サービス(有償:1890円)で入手したService Pack 6a CD-ROMなら、Service Packがすべて展開した状態になっているので、DMACGECK.EXEを実行するのは容易だが、ダウンロード サービスから入手したService Pack 6aは、圧縮された状態で提供されている(Intel アーキテクチャ用はSP6i386.exe)。そのまま実行すると、自動的にUPDATE.EXEが実行されてしまい、DMACGECK.EXEを取り出すことはできない。/xオプションをつけて、SP6i386.exeを実行すると展開のみ行われるので、いったんファイルの展開を行った後、UPDATE.EXEを実行するのがよいだろう。ファイルの展開が行われていれば、DMACGECK.EXEは容易に実行可能だ。
SP6i386.exe /xの実行 |
VIA Apollo Pro133Aを搭載したPCの場合
VIA Apollo Pro133AチップセットのIDEコントローラは、VT82C686AにUSBコントローラやPCI-ISAブリッジとともに集積されている。Intel製以外のUltra DMA/66対応IDEコントローラの中で最も普及している製品だ。
■Windows 2000の場合
VIA VT82C686Aは、Windows 2000をインストールすればUltra DMA/66が自動的に有効になる。VIA Apollo Pro133Aについては、2000年5月16日付でWindows 2000向けINF Driver Updateがリリースされたが、このドライバを適用しても性能に変化はなかった。
VIA INF Updateの実行画面 |
このVIAINF.EXEは、VIA Technologiesのホームページよりダウンロード可能だ。 |
■Windows 98 Second Editionの場合
Windows 2000の項で触れたINFファイルのアップデートは、Windows 9x用も含まれている。配布ファイルは、Windows 2000用と共通だ。ただ、Ultra DMA/66に関しては、このINFアップデートを適用してもしなくても正常に動作した。前述のとおり、[ディスク ドライブ]プロパティで、DMAのチェック ボックスをチェックする必要がある。
なお、VIA Apolloシリーズについては、BIOSでIDEのセカンダリポートを無効にすると、Windows 98 Second Editionのデバイス マネージャでもIDEのセカンダリ ポートが無効にされ、デバイス マネージャから有効/無効を選ぶことができなくなるという問題がある。この問題を解決する方法として、Microsoftからパッチが提供されている。詳しくはMicrosoftのKnowledge Base Q245682を参照していただきたい。
■Windows NT 4.0の場合
Intel 82801AAの場合と同じく、DMACHECK.EXEを用いてUltra DMA/66を有効にする。手順は、Intel 82801AAの場合と同様だ。
Promise Ultra66 PCIカードを用いてアップデートしたPCの場合
Ultra DMA/66に対応していないPCをアップグレードする際に用いられるIDEインターフェイス カードの代表格が、Promise Ultra66だ。IDEコントローラ チップは、同社製のPDC20262を搭載している。今回はIntel 440BXチップセットを搭載したMicrostar MS-6163マザーボードと組み合わせてテストを行っている。
■Windows 2000の場合
Windows 2000には、Promise Ultra66のドライバが標準添付されており、Ultra66をPCIバスに差すだけで認識される。デバイス マネージャ上では、SCSIホスト アダプタと同じように扱われる。そのため、Ultra66に接続されたIDEハードディスクが、SCSIハードディスクとして認識されているように見えるので、勘違いしないように注意したい。
Promise Ultra66を挿入した場合のデバイス マネージャ |
Promise Ultra66のプライマリ ポートにMaxtor 53073U6を接続した場合のデバイス マネージャの画面。Promise Ultra66、53073U6ともにSCSIデバイスとして扱われている。 |
■Windows 98 Second Editionの場合
Promise Ultra66は、PCIカード上にディスクBIOSを備えているので、Windows 98 Second Editonの新規インストールも問題なく行える。カード付属の専用デバイス ドライバをインストールしないと、Ultra DMA/66モードは有効にはならないので注意が必要だ。なお、Windows 98用最新ドライバは、Promise Technologyのホームページ)からダウンロードできる。
■Windows NT 4.0の場合
Promise Ultra66に接続したハードディスクに、新規にNT 4.0をインストールする場合、インストールの初期の段階で、デバイス ドライバを外部から追加する必要がある。この手順は、一般的なSCSIカードの場合と同様だ。詳細はUltra66のマニュアルを参照していただきたい。
ここまでで、実験に必要なハードウェアとBIOS、デバイス ドライバの設定が完了した。では、次項からUltra DMA/66の性能を検証してみることにしよう。
関連記事 | |||
PC TIPS | 容量8.4Gbytes以上のIDEハードディスクを搭載しても、すべての容量が認識できない障害を直すには? | ||
INDEX | |||
[実験]Ultra DMA/66の性能を徹底検証 | |||
1. | Ultra DMA/66、Ultra DMA/100登場の背景 | ||
2. | 実験前の下準備 | ||
2-1. | 機材を揃える | ||
2-2. | 設定の確認 | ||
2-3. | デバイス ドライバを設定する | ||
3. | Ultra DMA/66の実力を測る | ||
3-1. | ハードディスク間の比較 | ||
3-2. | 転送モード間の比較 | ||
コラム Windows 2000における転送モード間の比較 | |||
3-3. | IDEコントローラ間の比較 | ||
3-4. | Windows 98標準ドライバとベンダ製ドライバとの性能比較 | ||
3-5. | アプリケーション ベンチマーク テストで性能差は現れるのか? | ||
4. | Ultra DMA/66は必要なのか? | ||
「PC Insiderの実験」 |
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう - 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は? - IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか? - スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|