インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

17.5.1. DMAマスター・インターフェイス

DMAインターフェイスは、システム・インターコネクトでバスマスターとして機能します。このインターフェイスでは、データの記述子と実際のデータパケットの2種類のデータが転送されます。このインターフェイスは、全二重イーサネット・パケット・トラフィックの転送に非常に効率的です。このポートでは、異なるDMAチャネルからの読み出しおよび書き込みデータ転送を同時に実行することはできますが、送信記述子の読み出しおよびライトバックを同時に実行することはできません。

DMA転送は、ソフトウェアでコンフィグレーション可能なバースト・トランザクション数にインターフェイスで分割されます。dmagrpグループのAXI_Bus_Modeレジスターを使用して、バースト動作をコンフィグレーションします。

このインターフェイスは、DMAチャネルごと、およびチャネル内の読み出しDMA要求または書き込みDMA要求ごとに一意のIDを割り当てます。個別のIDをもつデータ転送は、並べ替えおよびインターリーブが可能です。

DMAインターフェイスをコンフィグレーションし、キャッシュ可能なアクセスを実行することができます。このコンフィグレーションは、DMAインターフェイスが非アクティブの際にシステム・マネージャーで行うことができます。

書き込みデータ転送は通常、システム・インターコネクトがデータバーストの最後のビートを受け入れた直後にOK応答が返るポステッド書き込みとして実行されます。ただし、記述子 (ステータスまたはタイムスタンプ) は常にノンポステッド書き込みとして転送され、転送完了割り込みロジックとの競合状態を回避します。

スレーブは、エラー応答を発行する場合があります。これが発生すると、EMACは元の要求を生成したDMAチャネルを無効にし、割り込み信号をアサートします。ホストは、ハードリセットまたはソフトリセットでEMACをリセットし、DMAを再起動してこの状態からの回復を行う必要があります。

EMACは、最大16の未処理のトランザクションをインターフェイス上でサポートします。未処理のトランザクションをバッファーすることにより、バック・プレッシャーの動作がスムーズになり、システムの負荷が高い状態においてリソース競合のボトルネックが発生した際のスループットが向上します。