Direct memory access bei neuen HDDs

Baudraufauf

Lieutenant
Registriert
Okt. 2012
Beiträge
649
Abend,
habe eine Frage zu Direct memory access.
Also damals hatte man PIO und UDMA (die beide bereits veraltet sind), um direkt auf den RAM zugreifen zu können (CPU wird nicht angesprochen), wenn ich das richtig verstehe.
Wie findest das denn heute statt? Sind Festplatten noch Direktzugriffspeicher? Gibt es aktuell eine neue Methode oder wird das komplett anders gelöst?

Hab im Netz leider nichts passendes gefunden. Wäre dankbar für hilfreiche Links bzw. eine kurze Erklärung falls das möglich wäre :)

Ist nicht grad meine liebste Vorlesung :freak:
 
SATA hatte schon immer Busmaster DMA. Das ist ein sehr sehr alter Hut.
 
PIO war zu Zeiten VOR DMA, mit PIO gab es keinen Direktzugriff. Du sagst es gab PIO und DMA um direkt auf den RAM zuzugreifen, aber so war es eben nicht, denn PIO und DMA sind gegensätzliche Methoden. Und es geht auch nicht (nur) um RAM. Das beste Beispiel für PIO ist sicherlich das ATA Interface zu Zeiten von PATA / IDE und diverse Anschlüsse, die man heute allgemein als "legacy" bezeichnen würde. Serielle Ports (RS-232) zum Beispiel.
Bei PIO übernimmt die CPU den Datentransfer von A nach B. Grob formuliert, A und B kann alles sein was "Speicher hat" oder Speicher adressiert um lesen oder schreiben zu können. Es beschränkt sich also nicht auf RAM und Massenspeicher.

Mit DMA wurde es dann in der Art umgebaut, dass die CPU den Transfer nur einleitet, der Rest aber eben direkt von A und B geregelt wird. Am Ende wird der CPU nur mitgeteilt, dass der Transfer fertig ist. Das hält die CPU frei für andere Aufgaben und ermöglicht extrem performante Datenübertragungen ohne das die CPU dafür schnell genug sein muss. Das war damals insbesondere ein großes Problem, wäre es heute ohne DMA aber auch noch.

Viele Protokolle und Schnittstellen, die größere Mengen Daten übertragen, beherrschen heute den ein oder anderen DMA Modus. Es handelt sich also immer noch den de facto Standard beim Speicherzugriff für größere Datenmengen bzw. schnelle Verbindungen. Und um da jetzt noch die Kurve zu kriegen, ja, so wie HominiLupus es bereits gesagt hat, auch SATA nutzt DMA.
 
Zuletzt bearbeitet:
SATA nutzt DMA ist nicht falsch, aber man muss sich dazu den SATA Host Controller betrachten und der hängt an PCIe Lanes (selbst wenn er im Chipsatz steckt, denn DMI ist PCIe x4) und damit nutzt er eben zur Übertragung zum Host die Möglichkeiten von PCIe zu denen zählt auch DMA. Die Übertragung zwischen dem Host Controller und dem Laufwerk hat damit nichts zu tun und damit haben auch die SATA Laufwerke nichts mehr mit DMA zu tun. Die geben nur auf Kompatibilitätsgründe noch an irgendwelche DMA Modie zu unterstützen, aber dies hat technisch keine Bedeutung mehr.
 
Bin leider erst heute dazu gekommen zu antworten. (alle Prüfungen vorbei :D )

Danke euch allen :)

Dann habe ich den Wikipedia Eintrag zu DMA falsch interpretiert.
 
Zurück
Oben