Schnittstellen und Busstandards
Welche Aussage zum DMA-Mechanismus mit einem Ring von Deskriptoren im Speicher, der bei Netzwerkkarten, NVMe-SSDs usw. weit verbreitet ist, ist richtig?
- ADie CPU schreibt die Daten Byte für Byte in das Register des Geräts und überträgt sie so
- BDie CPU schreibt nur Adresse und Länge des Transfers in einen Deskriptor und teilt dies dem Gerät mit; das Gerät liest den Deskriptor und führt den Transfer selbstständig aus
- CDeskriptoren gibt es nur im Gerät, und die CPU kann sie nicht sehen
Antwort und Erläuterung anzeigen
Antwort: B. Die CPU schreibt nur Adresse und Länge des Transfers in einen Deskriptor und teilt dies dem Gerät mit; das Gerät liest den Deskriptor und führt den Transfer selbstständig aus
Ein Deskriptor-Ring ist ein Mechanismus, bei dem eine im Hauptspeicher aufgereihte Tabelle mit Angaben, von welcher Adresse wie viele Byte gesendet werden sollen, ringförmig genutzt wird. Die CPU schreibt den Inhalt des Transfers in einen freien Deskriptor und teilt dem Gerät einmal über ein Register mit, bis wohin geschrieben wurde. Das Gerät liest per DMA den Deskriptor, überträgt die Daten und markiert fertige Deskriptoren als abgeschlossen. CPU und Gerät können viele Transfers vorantreiben, ohne aufeinander zu warten.