[gesichtete Version] | [gesichtete Version] |
Zeile 44: | Zeile 44: | ||
</p> | </p> | ||
<br /> | |||
== Es geht nicht immer direkt == | |||
<p> | |||
Der beschriebene direkte Weg der Daten von der Quelle zum Ziel ist natürlich der bevorzugte Weg. Jedoch ist dieser nicht immer möglich. Die folgende Aufgabe beschäftigt sich mit einem entsprechenden Szenario. | |||
</p> | |||
<br /> | |||
== Aufgabe 1 == | |||
<p> | |||
<loop_area type="task"> | |||
<loop_task title="Umweg DMA-Controller"> | |||
<p> | |||
Betrachte noch einmal den Aufbau des DMA-Controllers. | |||
<p /> | |||
<p> | |||
Angenommen Quelle und Ziel bei einer Übertragung per DMA sind beide der Hauptspeicher, dann sollen also Daten von einer Stelle des Hauptspeichers an eine andere Stelle des Hauptspeichers kopiert werden. | |||
</p> | |||
<p> | |||
Erläutere warum in diesem Fall keine direkte Übertragung von der Quelle über den Bus zum Ziel möglich ist. | |||
</p> | |||
<p> | |||
Ersatzweise springt der DMA-Controller ein: | |||
<p /> | |||
<p> | |||
* Von der Quelle, | |||
* über den Bus, | |||
* zum DMA-Controller, | |||
* und von hier | |||
* wieder über den Bus, | |||
* zum Ziel. | |||
</p> | |||
<p> | |||
Aber dem DMA-Controller aus der Abbildung fehlt für diesen Fall noch etwas, oder? Was ist gemeint? | |||
</p> | |||
</loop_task> | |||
</loop_area> | |||
</p> | |||
<p> | <p> |
Ohne den DMA-Controller wurden Daten immer über dem Umweg CPU transportiert. Dieses Video hat den Ablauf beispielhaft gezeigt.
Umweg über CPU
Mit DMA-Controller können die Daten den direkten Weg nehmen, wie das folgende Beispiel zeigt:
Es kommt also auf das Zusammenspiel zwischen dem DMA-Controller, dem Bussystem, dem Hauptspeicher und dem weiteren beteiligten DMA-fähigen Gerät an. Um einen möglichst schnellen Datentransfer zu erreichen macht es allemal Sinn, die Daten ohne Umweg zu transportieren.
Du hast bereits bemerkt, dass an dieser Stelle eine stark vereinfachte Darstellung des Sachverhalts erfolgt. Generell wird hier davon ausgegangen,
Auf eine tiefere Auseinandersetzung mit den angedeuteten Details wird an dieser Stelle bewusst verzichtet, da es den Rahmen dieses Lernmoduls sprengen würde.
Der beschriebene direkte Weg der Daten von der Quelle zum Ziel ist natürlich der bevorzugte Weg. Jedoch ist dieser nicht immer möglich. Die folgende Aufgabe beschäftigt sich mit einem entsprechenden Szenario.
Betrachte noch einmal den Aufbau des DMA-Controllers.
Angenommen Quelle und Ziel bei einer Übertragung per DMA sind beide der Hauptspeicher, dann sollen also Daten von einer Stelle des Hauptspeichers an eine andere Stelle des Hauptspeichers kopiert werden.
Erläutere warum in diesem Fall keine direkte Übertragung von der Quelle über den Bus zum Ziel möglich ist.
Ersatzweise springt der DMA-Controller ein:
Aber dem DMA-Controller aus der Abbildung fehlt für diesen Fall noch etwas, oder? Was ist gemeint?
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png