インテルのみ表示可能 — GUID: ajk1470783727431
Ixiasoft
インテルのみ表示可能 — GUID: ajk1470783727431
Ixiasoft
8. DMA Descriptor Controllerのプログラミング・モデル
Avalon-MM DMA Bridgeモジュールには、オプションのDMA Descriptor Controllerが含まれています。このDescriptor Controllerをイネーブルする場合、定義済みのプログラミング・モデルに従う必要があります。このプログラミング・モデルには、次の手順が含まれます。
- 次の図に示すように、 PCIe* システムメモリーでディスクリプター・テーブルを準備します。
図 58. ディスクリプター・テーブルのサンプル
- ディスクリプター・テーブルをプログラムし、すべてのディスクリプターのソースおよび送信先アドレスとサイズを提供します。
- 個々のディスクリプターの中間ステータス更新については、RD_CONTROL または WR_CONTROL Update ビットもプログラムします。これらのビットの説明については、読み出しDMA内部Descriptor Controllerレジスターおよび書き込みDMA内部Descriptor Controllerレジスターの項を参照してください。
- Read Data Moverにテーブルを独自の内部FIFOにコピーする指示を、DMA Descriptor Controllerに指示します。
- 追加のディスクリプターを使用してディスクリプター・テーブルを再プログラムする前に、MSI割り込みが最後のディスクリプターの完了を通知するのを待ちます。プログラムされた最後のディスクリプターが完了するまで、ディスクリプター・テーブルを更新できません。
以下は、コンフィグレーションの例です。
- DMA IPコアを備えたAvalon-MM Bridgeを含むエンドポイント
- 内部DMA Descriptor Controller
- 非バーストAvalon-MMスレーブ
ホストソフトウェアは、Avalon-MM DMA BridgeのBAR0非バーストAvalon-MMマスターをプログラムして、DMA Descriptor Controllerの内部レジスターに書き込むことができます。このプログラミングは、DMA Descriptor ControllerがDMA命令をPCIe ReadおよびWrite Data Moverに生成するために必要な情報を提供します。DMA Descriptor Controllerは、Avalon-MM DMA Bridgeの非バーストAvalon-MMスレーブ・インターフェイスを介して、DMAステータスをホストに送信します。DMA Descriptor Controllerの非バーストAvalon-MMマスターおよびスレーブ・インターフェイスは内部にあり、他の目的には使用できません。