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

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

17.6.3. 記述子の概要

イーサネット・サブシステムのDMAは、DMAコントローラーの章で説明されているように、単一の拡張記述子に基づきデータを転送します。拡張記述子は、システムメモリーで作成されます。記述子アドレスは、ワードでアライメントされている必要があります。

拡張記述子または代替記述子の形式では、通常の記述子形式の4 DWORDではなく、8 DWORD (32バイト) を保有することができます。

拡張または代替記述子構造の機能は次のとおりです。

  • 代替記述子構造は、最大8KBのバッファーをサポートするように実装されます (ジャンボフレームに効果的です)。
  • TDES0、TDES1、RDES0 (高度なタイムスタンプまたはIPCフルオフロードのコンフィグレーション)、およびRDES1では、制御ビットとステータスビットの再割り当てがあります。
  • 高度なタイムスタンプを選択すると、送信記述子はTDES6およびTDES7にタイムスタンプを格納します。
  • 高度なタイムスタンプ、IPCフル・チェックサム・オフロード・エンジン、またはレイヤー3およびレイヤー4のフィルター機能が選択されている場合は、受信記述子構造は、拡張ステータス (RDES4) およびタイムスタンプ (RDES6およびRDES7) の格納にも使用されます。
  • 記述子構造には、次のオプションのいずれかを選択することができます。
    • レジスター448 (Timestamp Control Register) でタイムスタンプが有効になっている場合、もしくはレジスター0 (MAC Configuration Register) でチェックサム・オフロードが有効になっている場合は、レジスター0 (Bus Mode Register) のビット7 (Descriptor Size) を設定し、ソフトウェアで記述子ごとに32バイト (8 DWORD) のメモリーを割り当てる必要があります。
    • タイムスタンプまたはチェックサム・オフロードが有効になっていない場合は、拡張記述子 (DES4からDES7) は必要ありません。そのため、ソフトウェアでは、レジスター0 (Bus Mode Register) のビット7 (Descriptor Size) を0にクリアすることにより、デフォルトサイズの16バイト (4 DWORD) で記述子を使用することができます。