WannDMAverwendet wird, wird der gesamte Speicherblock vom E/A-Gerät in den Hauptspeicher übertragen.
Mich interessiert die Größe dieses Blocks, genauer gesagt die Antworten auf diese Fragen:
- Ist die Größe des Blocks konstant (wenn nicht, unter welchen Bedingungen ändert sie sich)?
- Wird die Größe des Blocks durch Hardware oder Software oder beides bestimmt?
Antwort1
Die Größe der DMA-Übertragung wird durch Schreiben eines Zählregisters programmiert. Somit ist die Größe des „Blocks“ nicht konstant, sondern wird durch Software bestimmt. Dies gilt im Allgemeinen, es kann natürlich alle möglichen speziellen DMA-Controller geben, mit ihren eigenen Eigenheiten, wie z. B. Beschränkungen der Übertragungsgröße.