PCI Expressのマルチチャネル DMA インテル® FPGA IPユーザー ガイド

ID 683821
日付 4/20/2022
Public
ドキュメント目次

8.1.2.2. ディスクリプター・メモリー管理

チャネルの初期化時に、デバイスはディスクリプターとデータ メモリーを割り当てます。

ディスクリプター・メモリー(1)

ディスクリプター内のデータの最大長は 1 MB です。リンクは、次のディスクリプターが他のページにあるかどうかを指定します。

AVST H2D/D2H ディスクリプター
  • 送信元アドレス
  • 宛先アドレス
  • データ長
  • ファイルの開始 (SOF)
  • ファイルの終わり (EOF)
  • ディスクリプター・インデックス
  • リンク

アプリケーションは、これらの値を libmqdma を介してハードウェアに渡す必要があります。

データ・メモリー

ユーザー空間のデータ ページは、通常の TLB エントリー・ページ・サイズである 4 KB よりもはるかに大きくなる可能性があります。libqdma ライブラリーは、メモリーを整理するためのアロケータを実装しています。

以下は、チャネル列挙の一部としてソフトウェアが更新するハードウェア レジスターです。
  • Q_START_ADDR_LQ_START_ADDR_H: ディスクリプター配列の開始の物理アドレスが含まれます。
  • Q_SIZE: ディスクリプター数の対数値
  • Q_CONS_HEAD_ADDR_LQ_CONS_HEAD_ADDR_H: FPGA がヘッドの値を同期するリングのヘッド インデックスの物理アドレス。