2.3.5 DMA-Controller

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
<p>
<p>
Ein {{#index:DMA-Controller|Controller, DMA|Direct Memory Access}}'''DMA-Controller''' ist eine weitere Hardware-Komponente, die zum Ziel hat, die Geschwindigkeit des Gesamtsystems zu erhöhen. Erreicht werden soll dies durch eine Reduzierung der Anzahl an Interrupts, die bei der Kommunikation zwischen der CPU und den E/A-Geräten ausgelöst werden.
Ein {{#index:DMA-Controller|Controller, DMA|Direct Memory Access}}'''DMA-Controller''' ist eine Hardware-Komponente, die zum Ziel hat, die Geschwindigkeit des Gesamtsystems zu erhöhen. Erreicht werden soll dies u.a. durch eine Reduzierung der Anzahl an Interrupts, die bei der Kommunikation zwischen der CPU und den E/A-Geräten ausgelöst werden.
</p>
</p>


Zeile 15: Zeile 15:
</p>
</p>
</loop_area>
</loop_area>
</p>
<p>
Die Abkürzung DMA steht für '''Direct Memory Access''', auf Deutsch also: '''direkter Speicherzugriff''', und beschreibt die Möglichkeit, Datenwörter direkt zwischen dem Hauptspeicher und einem DMA-fähigen Peripheriegerät auszutauschen, ohne dass daran die CPU beteiligt ist.
</p>
<p>
Die CPU wird also durch einen vorhandenen DMA-Controller entlastet. Sie muss lediglich zu Beginn und am Ende der Übertragung eingreifen. Der genaue Ablauf ist wie folgt:
</p>
<p>
# Daten sollen von einem Peripheriegerät in den Hauptspeicher übertragen werden (oder umgekehrt).
# Die CPU versorgt den DMA-Controller mit allen notwendigen Informationen. (Beteiligte Komponenten, Start- und Zieladressen, Anzahl zu übertragener Datenwörter, Übertragungsrichtung)
# Die CPU erteilt dem DMA-Controller die Erlaubnis, mit der Datenübertragung zu beginnen.
# Der DMA-Controller steuert die Übertragung aller Datenwörter zwischen den beteiligten Komponenten. Die Übertragung geschieht über das Bus-System.
# Sobald alle Daten übertragen sind, informiert der DMA-Controller mit einem Interrupt über den Abschluss des Datentransfers.
# Auf der CPU wird die zugehörige Interruptbehandlungsroutine ausgeführt.
# Die Datenübertragung per DMA ist abgeschlossen.
</p>
</p>



Version vom 25. September 2013, 10:19 Uhr

Ein {{#index:DMA-Controller|Controller, DMA|Direct Memory Access}}DMA-Controller ist eine Hardware-Komponente, die zum Ziel hat, die Geschwindigkeit des Gesamtsystems zu erhöhen. Erreicht werden soll dies u.a. durch eine Reduzierung der Anzahl an Interrupts, die bei der Kommunikation zwischen der CPU und den E/A-Geräten ausgelöst werden.

Wichtig

Wichtige Voraussetzung!

Du erinnerst dich doch noch an den enormen Aufwand, der betrieben wurde, um ein einzelnes Datenwort von der Festplatte, über die CPU in den Hauptspeicher zu kopieren, oder?

Und daran, dass für jedes einzelne Datenwort ein Interrupt ausgelöst wurde, oder?

Falls nicht: Lies dir erst das Kapitel Kommunikation mit E/A-Geräten noch einmal durch, und schau dir das Video an!

Die Abkürzung DMA steht für Direct Memory Access, auf Deutsch also: direkter Speicherzugriff, und beschreibt die Möglichkeit, Datenwörter direkt zwischen dem Hauptspeicher und einem DMA-fähigen Peripheriegerät auszutauschen, ohne dass daran die CPU beteiligt ist.

Die CPU wird also durch einen vorhandenen DMA-Controller entlastet. Sie muss lediglich zu Beginn und am Ende der Übertragung eingreifen. Der genaue Ablauf ist wie folgt:

  1. Daten sollen von einem Peripheriegerät in den Hauptspeicher übertragen werden (oder umgekehrt).
  2. Die CPU versorgt den DMA-Controller mit allen notwendigen Informationen. (Beteiligte Komponenten, Start- und Zieladressen, Anzahl zu übertragener Datenwörter, Übertragungsrichtung)
  3. Die CPU erteilt dem DMA-Controller die Erlaubnis, mit der Datenübertragung zu beginnen.
  4. Der DMA-Controller steuert die Übertragung aller Datenwörter zwischen den beteiligten Komponenten. Die Übertragung geschieht über das Bus-System.
  5. Sobald alle Daten übertragen sind, informiert der DMA-Controller mit einem Interrupt über den Abschluss des Datentransfers.
  6. Auf der CPU wird die zugehörige Interruptbehandlungsroutine ausgeführt.
  7. Die Datenübertragung per DMA ist abgeschlossen.

Hinweis

Weiterführende Literatur

erläutern in Kapitel 4.6 (DMA) weitere Hintergründe zum Thema. Die Lektüre dieser Quelle sei ausdrücklich empfohlen.

Studierende sind oftmals berechtigt, eine PDF-Version dieses Buches ohne entstehende Kosten über ihre Hochschulen von Springerlink zu beziehen.



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png