DMA トランザクションおよび DMA 転送

フレームワークがバス マスター DMA 操作をどのように処理するかを理解するには、次の 2 つの用語を知っておく必要があります。

  • DMA transaction
    DMA トランザクションは、アプリケーションからの単一の読み取り要求または書き込み要求などの、完全な I/O 操作です。

  • DMA transfer
    DMA 転送は、コンピューター メモリからデバイス、またはデバイスからコンピューター メモリにデータを転送する単一のハードウェア操作です。

 

1 つの DMA トランザクションは常に 1 つ以上の DMA 転送で構成されますが、1 つのトランザクションは多数の転送で構成できます。

フレームワークベースのドライバーが I/O 要求を受信すると、通常、ドライバーはその要求を表す 1 つの DMA トランザクション オブジェクトを作成します。フレームワークはトランザクションのサービスを開始する際、デバイスが 1 回の転送でトランザクション全体を処理できるかどうかを確認します。トランザクションが大きすぎる場合、フレームワークはトランザクションを複数の転送に分割します。