Loading article…
コンピューティングにおいて、バス マスタリングは、多くのバス アーキテクチャでサポートされている機能であり、バスに接続されたデバイスがダイレクト メモリ アクセス(DMA) トランザクションを開始できるようにします。システムDMA コントローラが実際に転送を行う サードパーティ DMAとは対照的に、ファースト パーティ DMAとも呼ばれます。
バスの種類によっては、トランザクションを開始できるデバイスが 1 つだけ (通常はCPUまたはそのプロキシ) 許可されます。PCIなどの最新のバス アーキテクチャのほとんどは、複数のデバイスがバス マスターになることを許可しています。これは、汎用オペレーティング システムのパフォーマンスが大幅に向上するためです。 一部のリアルタイム オペレーティング システムでは、スケジューラがバスを調停できなくなり、確定的な遅延を提供できなくなるため、周辺機器がバス マスターになることを禁止しています。
バス マスタリングにより、理論的には 1 つの周辺機器が他の周辺機器と直接通信できるようになりますが、実際には、ほとんどすべての周辺機器がメイン メモリへの DMA を実行するためだけにバスをマスタリングします。
複数のデバイスがバスを制御できる場合、複数のデバイスが同時にバスを操作しようとするのを防ぐためのバス調停スキームが必要です。これにはさまざまなスキームが使用されます。たとえば、 SCSI では各 SCSI ID に対して固定の優先順位があります。PCI では使用するアルゴリズムを指定せず、優先順位の設定は実装に任されています。
参照
参考文献
- バスマスタリングの仕組み - Tweak3D
- バスマスタリングとは? - Brevard ユーザーグループ
