いつDMAが使用されると、メモリのブロック全体が I/O デバイスからメイン メモリに転送されます。
私はこのブロックのサイズに興味があります。具体的には、次の質問に対する答えに興味があります。
- ブロックのサイズは一定ですか (一定でない場合、サイズが変化する条件は何ですか)?
- ブロックのサイズはハードウェア、ソフトウェア、またはその両方によって決まりますか?
答え1
DMA 転送のサイズは、カウント レジスタに書き込むことによってプログラムされます。したがって、「ブロック」のサイズは一定ではなく、ソフトウェアによって決定されます。一般的に、転送サイズの制約など、独自の癖を持つさまざまな特殊な DMA コントローラが存在する可能性があります。