Das Verfahren Direct Memory Access (DMA) wird von komplexen Controllern benutzt, um Daten unabhängig von der CPU in den bzw. aus dem Hauptspeicher zu transferieren. Ohne DMA müsste ansonsten jedes Byte über die CPU 'geschleift' werden.
复杂控制器使用直接内存访问 (DMA) 方法将数据传入和传出主内存,而与 CPU 无关。如果没有 DMA,每个字节都必须在 CPU 上“循环”。
Angenommen, in einem Programm ist eine Datei geöffnet, die auf einer Festplatte liegt. Der Dateizeiger springt an das Ende der Datei, welches sich allerdings noch nicht im Arbeitsspeicher befindet und daher nachgeladen werden muss. Bei diesem Datentransfer ist der DMA-Controller beteiligt, damit die CPU während dessen anderen Aufgaben nachgehen kann.
假设一个文件在位于硬盘驱动器上的程序中打开。文件指针跳转到文件的末尾,该文件尚未在内存中,因此必须重新加载。DMA 控制器参与此数据传输,以便 CPU 可以在此过程中执行其他任务。
Skizzieren Sie den Ablauf des Datentransfers.
概述数据传输过程。
ACK ist auich hier die Abkürzung für Acknowledge. Das Gegenteil von ACK ist NACK.
ACK 也是 Acknowledge(确认)的缩写。ACK 的反义词是 NACK。
Zum Schluss würde der DMA-Controller eine Unterbrechung auslösen, die dann auch das eigentliche Programm fortsetzt. Diese soll hier allerdings nicht betrachtet werden.
最后,DMA 控制器将触发中断,然后继续执行实际程序。但是,这里不会考虑这一点。