Ein Freund von mir hat mir gesagt, dass der DMA-Controller auf der x86-Architektur nicht zwischen zwei verschiedenen RAM-Speicherorten übertragen kann. Es kann nur zwischen RAM und Peripherie (z. B. PCI-Bus) übertragen werden.
Ist das wahr?
Weil AFAIK DMA-Controller sollte zwischen beliebigen Geräten die am BUS sitzen und eine Adresse haben. Insbesondere sehe ich kein Problem, wenn Quell- und Zieladressen zum selben physischen Gerät gehören.
Warum RAM von einem Ort zum anderen kopieren? x86 verfügt über ein Speicher-Paging-System, sodass jede Speicherseite im virtuellen Speicher an jeder Adresse sichtbar sein kann.
– GJ.
28. November 2010 um 16:55 Uhr