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

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

17.6.2.1. 記述子リストとデータバッファー†

DMAは、MACが受信したデータフレームをホストメモリーの受信バッファーに転送し、ホストメモリーの送信バッファーからデータフレームを送信します。ホストメモリーにある記述子は、これらのバッファーへのポインターとして機能します。

記述子リストは2つあります (1つは受信用、もう1つは送信用)。各リストのベースアドレスは、レジスター3 (Receive Descriptor List Address Register) とレジスター4 (Transmit Descriptor List Address Register) にそれぞれ書き込まれます。記述子リストは、(暗黙的または明示的に) 前方リンクされています。最後の記述子で最初のエントリーを指し、リング構造を作成することが可能です。記述子の明示的なチェーン化は、受信記述子と送信記述子の両方で、Second Address Chained (RDES1[14] およびTDES0[20]) を設定することで実現します。記述子リストは、ホストの物理メモリーアドレス空間にあります。各記述子では、最大2つのバッファーを指すことができます。これにより、メモリー内の連続したバッファーではなく、物理的にアドレス指定された2つのバッファーを使用することができます。

データバッファーはホストの物理メモリー空間にあり、フレーム全体またはフレームの一部で構成されますが、単一のフレームよりも多くのフレームにすることはできません。バッファーにはデータのみが含まれ、バッファーのステータスは記述子に保持されます。データチェーンとは、複数のデータバッファーに広がるフレームを指しています。ただし、単一の記述子を複数のフレームに広げることはできません。フレームの終わりが検出されると、DMAは次のフレームのバッファーにスキップします。データチェーンは有効にすることも無効にすることもできます。

記述子のリング構造
記述子のチェーン構造
注: 記述子構造の制御ビットは、アプリケーションが8KBのバッファーを使用できるように割り当てられます。説明はすべて、デフォルトの記述子構造についてを示しています。