ハード,OSの連携でプラグ&プレイを実現

 プラグ&プレイの基本機能は,
(1)デバイスを自動的に識別し,
(2)割り込みとI/Oアドレスが競合しないように調整し,
(3)適切なデバイス・ドライバをインストールすることである。
 ただし,一口に「デバイスを自動認識する」といっても,話はそう単純ではない。
 まず1つには,OSがデバイスの存在をドライバなしに認識する必要がある。これは前述の話と矛盾する。なぜなら,OSがデバイスへのアクセス機能を備えているなら,デバイス・ドライバなど必要ないからだ。この問題をWindows OS(ソフトウエア)だけで解決するのは不可能なので,ハードウエア側からのサポートも必要とした。
 プラグ&プレイ機能は,マザーボードのBIOSとデバイスの両方の助けを必要とする。まず,マザーボードのBIOSには,電源投入時に各デバイスやコントローラ・チップに組み込まれた「コンフィギュレーション・レジスタ」というメモリーをチェックしてもらう。
 コンフィギュレーション・レジスタには,メーカーID(Vendor ID)や,機種を特定するためのID(Device ID),デバイスが使用するメモリー空間やI/Oアドレス(Base Address Register)といった情報が記録されている。BIOSはマザーボードに接続された機器の割り込み番号やI/Oアドレスを,重複しないように自動的に変更する。
 例えばプラグ&プレイに対応した拡張ボードを追加した場合を考えてみよう。マシンが起動すると,BIOSは接続されているボードのコンフィギュレーション・レジスタを参照して,I/Oアドレスと割り込みが他のハードウエアと重複していないかチェックする。もし重複があれば,BIOSがコンフィギュレーション・レジスタを変更して,重複しないように調整する。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です