DMA - Controller
Direct Memory Access-Controller ist eine Hardware-Komponente, die die Geschwindigkeit des Gesamtsystems erhöht.
→ Erreicht werden soll dies durch Reduzierung der Anzahl an Interrupts, die bei der Kommunikation zwischen der CPU und den E/A-Geräten ausgelöst werden und durch die Spezialisierung des DMA-Controllers.
→ Die Daten sollen zwischen dem Hauptspeicher und einem weiteren DMA-fähigen Peripheriegerät übertragen werden.
- Vorher: Bei einem Datentransfer ohne DMA-Controller ereignete sich ein Interrupt pro Datenwort.
- mit DMA-Controller: nur noch ein Interrupt für die gesamte Übertragung
- Lösung: Datenwörter direkt zwischen dem Hauptspeicher und einem DMA-fähigen Peripheriegerät auszutauschen
- CPU muss lediglich zu Beginn und am Ende der Übertragung eingreifen.
Allgemeiner Ablauf
1. Die CPU versorgt aus Steuerwerk DMA-Controller mit Informationen zu beteiligte Komponenten, Start- und Zieladresse, Anzahl zu übertragener Datenwörter und Übertragungsrichtung und erteilt DMA-Controller Erlaubnis, mit Datenübertragung zu beginnen.
2. Der DMA-Controller steuert die Übertragung aller Datenwörter
3. HD gibt die Datenwörter zurück
4. DMA lässt die Datenwörter auf den RAM schreiben
- Wenn alle Daten übertragen sind, informiert DMA-Controller mit einem Interrupt über den Abschluss des Datentransfers
- Der Interrupt-Controller empfängt den Interrupt und leitet ihn an die CPU weiter
- Auf CPU wird die zugehörige ISR ausgeführt und die Datenübertragung per DMA ist abgeschlossen.
No Comments