Übungsblatt 6
11.07.2008 23:40:47
Ich verstehe die Aufgabe 3 a) nicht ganz. Muss ich mir das im ersten Teil so vorstellen, dass die Festplatte mit 8MB/s Daten zusammensammelt und immer dann einen Interrupt auslöst, wenn sie 8x32Bit zusammen hat, dann 1000 Taktzyklen Overhead bringt, dann einen Zyklus Datenübertragung und dann wieder mit dem Sammeln für den nächsten Übertragungsprozess beginnt? Funktioniert dies tatsächlich so? Wäre es nicht viel geschickter, größere Datenmengen zu puffern und dann nicht nur einen Zyklus zu übertragen, sondern mehrere?

Für den DMA-Teil wäre es doch die gleiche Rechnung, lediglich mit einem 16KB Block, statt mit 8x32 Bit. Mir ist da die Aufgabenstellung nicht ganz klar geworden...

Gruß,
Björn
Re: Übungsblatt 6
13.07.2008 16:35:38
Hallo,

das hast Du im Prinzip richtig verstanden: die Platte kann, wenn sie die ganze Zeit arbeitet, 8 MB pro Sekunde liefern. Immer wenn ein Datenblock mit 8 * 32 Bit übertragen worden ist, wird ein Interrupt ausgelöst, dessen Abarbeitung 1000 Zyklen kostet.

Heutzutage wird bei Festplatten mit DMA gearbeitet. Dort werden größere Datenblöcke direkt in den Hauptspeicher geschrieben (DMA = direct memory access). Deshalb ist bei Verwendung von DMA der Overhead viel kleiner.

Gruß,
Ralf.