2

DMA がメモリにデータを転送する特定のサイズはありますか? たとえば、データが物理メモリ (DRAM) に読み書きされるときの CPU 側からは、一般に 64 バイト (キャッシュ ブロック サイズ) の粒度です。私の質問は: デバイスが DMA を使用してメモリに書き込む場合、コントローラーは実際のデータ転送に同様の固定サイズを使用しますか?

より大きなパケットは常に固定サイズのブロックに分割される可能性があるため、DMA トランザクションにさまざまなサイズの転送が可能かどうかを尋ねているわけではないことに注意してください。

ありがとうアルカ

4

1 に答える 1

2

これはプラットフォームに大きく依存します。PCI-Eに関するこの情報シートによると:

Intel デスクトップ チップセットは最大 64 バイトの最大ペイロードをサポートしますが、Intel サーバー チップセットは最大 128 バイトの最大ペイロードをサポートします。これの主な理由は、フロント サイド バスでのスヌーピング用にキャッシュ ライン サイズを一致させるためです。... Intel 以外のベンダーが製造したチップセットは、より高い値をサポートしています。512 バイトは、サーバー ノース ブリッジの一般的に知られている最大ペイロード値です。

PCI-Eについて話していると仮定すると、必要な検索用語は「PCI Express」と「ペイロードサイズ」です。

于 2013-07-12T15:09:31.260 に答える