DMA, kann mich jemand aufklären?

Jensematz

Grand Admiral Special
Mitglied seit
29.12.2003
Beiträge
4.440
Renomée
195
Hallo,
ich wüder gern wissen was der DMA Modus ist und wie man ihn verändern kann.
Wenn ich richtig gesehen habe läuft mein IDE-Controler auf DMA 5 / ultra DMA 100.
Meine Platten und das Bord unterstützen aber Ultra 133, warum läuft "nur" ultra 100?
Wie kann ich 133 einstellen.
Danke für eure Hilfe!
 
Das kann man mit entsprechenden Hersteller Tools meist in der Firmware der Laufwerke einstellen.

Aber du wirst keinen Unterschied merken.

MfG
 
Ich dachte wenn zb eine Platte U133 hat und das Bord dies unterstützt läuft es automatisch? Die Slave-Platte läuft zb nur auf U33 obwohl sie auch 133 könnte. Muss ich das verstehen???
Wiso muss ich das in der Firmware eistellen, ist das nicht im OS unter XP machbar?
 
Hi,

das Problem ist, dass Windows XP "in-the-box" nur ATA100 beherrscht. Um ATA133 freizuschalten, musst Du entweder einen IDE-Filtertreiber installieren, der den Standard-Treiber um ATA133 Funktionalität ergänzt, oder einen IDE-Miniport Treiber, der den Standard-Treiber ersetzt. Ausführliche Informationen dazu findest Du hier:
http://www.planet3dnow.de/artikel/diverses/nf2config/3.shtml#config_filter

Allerdings sollte mit der Installation des nForce2 Treiberpakets einer von den beiden IDE-Treibern installiert und ATA133 damit aktiv sein!

Wenn Du eine Platte als Slave an irgendeinen Port hängst, musst Du darauf achten, dass der Master mindestens gleich schnell ist! Hängst Du nämlich z.B. eine ATA100 Platte als Slave an eine Kabel, an dem ein ATA66 CD-ROM arbeitet, schaltet die Platte auch auf ATA66 zurück! Weitere Infos zur IDE-Verkabelung siehe hier:
http://www.planet3dnow.de/artikel/diverses/nf2config/4.shtml#trouble_kabel
 
oh la la... Danke habe mir auch gestern deinen nForce Config-Guide durchgelesen, Was die ATA Sachen angeht hab ich aber nicht viel verstanden da ich mich mit diesem Thema noch nie beschäftigt habe. Aber klasse das es jemaden gibt der sich die Zeit nimmt die verständlich dazustellen.
Hat das was zu sagen das ich die IDE Treiber den nForce2 Paketes mitinstaliert habe? Da war doch was im Guide, oder?
 
Kommt drauf an. Geh mal bitte unter Systemsteuerung/ System/ Hardware/ Geräte-Manager/ IDE ATA/ATAPI Controller. Was steht da als Gerät drin?
 
Also macht es doch so viel aus? Hatte den zweiten aufgrund "Crashman"'s Aussage geschrieben. Wie gesagt das Thema ist neu für mich.
 
Kann ich dir erst heuta Abend sagen da ich nicht zu hause bin.
 
Im Geräte Manager hab ich den "NVIDIA nForce2(tm) SPP/IGP ATA Controller" drin.
 
Was ist der DMA Modus?

Es gibt im PC 3 Hauptarten eine Datenübertragung durchzuführen:
Port Input/Output (PIO)
Memory mapped
Direct Memory Access (DMA)

Bei allem was am IDE hängt und auch beim Floppy kommt entweder der PIO oder der DMA zum Einsatz. Der PIO ist der ältere Modus, der auch einfacher zu realisieren ist.

PIO -> Das Betriebssystem sagt dem HDD Controller welche Daten es will. Der HDD Controller liefert diese Daten dann über Hardware Ports, das heist, das Betriebssystem muss peinlich genau alle so und so viele µs einen bestimmten Hardwareport auslesen (die Steuerung wann gelesen werden muss kann und läuft in der Praxis über Interrupts, was wenigstens das Timing enorm vereinfacht).
Das Problem sind die vielen Portzugriffe, die sind nämlich alles andere als schnell. Die Daten wandern dabei vom HDD Controller über die CPU (die die IO Zugriffe oft künslich verlangsamen muss, damit alte Hardware noch läuft) in den RAM.

Der DMA vereinfacht die ganze Sache enorm. Der DMA ist eigentlich (früher) nur ein kleiner Chip auf dem Mainboard, der idR mit 4.irgendwas MHz taktet - der DMA Baustein hat einen 8bit Datenbus, was eine Datenrate von max. 4MB/s ergibt (so sah es beim 8086er aus, inzwischen ist der DMA Baustein deutlich leistungsfähiger geworden).
Nun sagt das OS dem DMA Bausteinchen die Eckdaten für einen bestimmten Kanal (wohin in den Speicher geschrieben/gelesen werden soll und sowas). Dem IDE Controller sagt das OS nun nur noch (nebst welche Sektoren gelesen werden sollen und sowas) den entsprechenden DMA Kanal, und dann wandern die Daten vom IDE Controller über den DMA direkt in den Speicher - ohne die CPU auch nur irgendwie damit zu belästigen.
 
Stimmt... aber dazu sollte man wissen, dass Input/Output immer Ports bezeichnet (also PIO läuft immer über Ports ab).
 
Original geschrieben von Jensematz
Im Geräte Manager hab ich den "NVIDIA nForce2(tm) SPP/IGP ATA Controller" drin.
Ok, dann hast Du den IDE-Miniport Treiber installiert. Der sollte ATA133 unterstützen!

Mach auf den Eintrag "NVIDIA nForce2(tm) SPP/IGP ATA Controller" bitte mal nen Doppelklick drauf. Dann sollte Dir der Treiber anzeigen, in welchem Betriebsmodus die Festplatten definitiv arbeiten! :) Nicht vergessen, dass auch die CD-Laufwerke am IDE-Controller hängen. Also nicht verwechseln. Mach am besten mal nen Screenshot und häng ihn hier rein. Ferner poste mal bitte, wie Du die einzelnen Geräte verkabelt und beschaltet (Master/Slave) hast :)
 
Original geschrieben von Nero24
Wenn Du eine Platte als Slave an irgendeinen Port hängst, musst Du darauf achten, dass der Master mindestens gleich schnell ist! Hängst Du nämlich z.B. eine ATA100 Platte als Slave an eine Kabel, an dem ein ATA66 CD-ROM arbeitet, schaltet die Platte auch auf ATA66 zurück!

Bist du dir sicher ?

Laut "c't" ist das schon lange nicht mehr der Fall, und meine 120er IBM würde in dem Falle nur mit UDMA Modus 2 laufen (33MB), was aber, wenn ich den Benchmarks trauen kann, nicht möglich ist. Sie ist deutlich schneller ...
 
@Nero24

muss ich wieder auf heute Abend verschieben, hatte gestern keine Zeit mehr.
Die Primary-Master-Platte hängt mit dem Secondary-Slave (DVD-Rom) zusammen, die Primary-Slave-Platte mit dem Secondary-Master (CD-Brenner).
Die Platten laufen aktuell auf ATA100 und die Player auf ATA33. Ich benutze je 60cm Rundkabel (ATA133 tauglich).
 
Jetzt hört mal zu, Samsung hat alle Festplatte mit dem Buchstaben N hinten in der Bezeichnung auf UDMA 100 runtergeregelt, weil es sonst vielleicht zuProblemen kommen kann. Jetzt guck mal da oben in die geposteten Links rein, da steht wie du deine Festplatte auf UDMA 133 schalten kannst.

Gruß GSJLink
 
Original geschrieben von GSJLink
Jetzt hört mal zu, Samsung hat alle Festplatte mit dem Buchstaben N hinten in der Bezeichnung auf UDMA 100 runtergeregelt, weil es sonst vielleicht zuProblemen kommen kann. Jetzt guck mal da oben in die geposteten Links rein, da steht wie du deine Festplatte auf UDMA 133 schalten kannst.
Das erklärt nicht, wieso seine Platte nur im UDMA-33 Modus läuft? *noahnung*

Original geschrieben von Sykon
Bist du dir sicher ?

Laut "c't" ist das schon lange nicht mehr der Fall, und meine 120er IBM würde in dem Falle nur mit UDMA Modus 2 laufen (33MB), was aber, wenn ich den Benchmarks trauen kann, nicht möglich ist. Sie ist deutlich schneller ...
Ganz sicher. Wollte das vor etwa einem dreiviertel Jahr auf meinem nForce2 System machen, weil's von der Kabellänge günstiger ausgegangen wäre. Sobald ich aber die ATA133 Maxtor als Slave an das Kabel des DVD-ROMs (ATA66) gehängt habe, hat sich die Festplatte ebenfalls auf ATA66 zurückgeschaltet. Umgekehrt (höherwertigeres Gerät als Master) war kein Problem...
 
Original geschrieben von Nero24
Ganz sicher. Wollte das vor etwa einem dreiviertel Jahr auf meinem nForce2 System machen, weil's von der Kabellänge günstiger ausgegangen wäre. Sobald ich aber die ATA133 Maxtor als Slave an das Kabel des DVD-ROMs (ATA66) gehängt habe, hat sich die Festplatte ebenfalls auf ATA66 zurückgeschaltet. Umgekehrt (höherwertigeres Gerät als Master) war kein Problem...

Dann ist das entweder ein Problem:

a) des Chipsatzes
b) des Chipsatztreibers
c) von Windows

Die Bezeichnung Master/Slave besteht schan lange nur noch auf Grund der ursprünglichen Konvention, die Laufwerke sind aber grundsätzlich gleichberechtigt. Der Chipsatz (oder besser der Treiber) handelt mit jedem angeschlossenem Gerät die Übertragungsrate individuell aus.
 
Hol dir trotzdem mal das udma6.exe und versuch mal von udma 33 auf 133 umzuschalten. Schade kanns ja net.

Gruß GSJLink
 
Original geschrieben von PuckPoltergeist
Dann ist das entweder ein Problem:

a) des Chipsatzes
b) des Chipsatztreibers
c) von Windows

ich würde das auf a) und b) begrenzen. vermutlich eines der seltsamen nforce2-phänomene.

das sind der übertragungsmodus am langsameren gerät ausrichtet, ist unsinnig. aber beim
nforce2 scheint im zweifel ja nichts unmöglich zu sein. :]


mfg
cruger
 
Original geschrieben von cruger
ich würde das auf a) und b) begrenzen. vermutlich eines der seltsamen nforce2-phänomene.

das sind der übertragungsmodus am langsameren gerät ausrichtet, ist unsinnig. aber beim
nforce2 scheint im zweifel ja nichts unmöglich zu sein. :]


mfg
cruger

Unter Linux ist mir jetzt nichts derartiges bekannt, weshalb ich denke, dass es kein allgemeines Chipsatzproblem des Nforce ist.
 
Original geschrieben von intel_hasser
Der DMA vereinfacht die ganze Sache enorm. Der DMA ist eigentlich (früher) nur ein kleiner Chip auf dem Mainboard, der idR mit 4.irgendwas MHz taktet - der DMA Baustein hat einen 8bit Datenbus, was eine Datenrate von max. 4MB/s ergibt (so sah es beim 8086er aus, inzwischen ist der DMA Baustein deutlich leistungsfähiger geworden).
Nun sagt das OS dem DMA Bausteinchen die Eckdaten für einen bestimmten Kanal (wohin in den Speicher geschrieben/gelesen werden soll und sowas). Dem IDE Controller sagt das OS nun nur noch (nebst welche Sektoren gelesen werden sollen und sowas) den entsprechenden DMA Kanal, und dann wandern die Daten vom IDE Controller über den DMA direkt in den Speicher - ohne die CPU auch nur irgendwie damit zu belästigen.

DEN DMA und nen DMA chip gibts im PCI-System nicht mehr, genausowenig wie DMA-Kanäle. Das sind nur noch Überbleibsel aus der ISA Zeit, die nur noch von der Floppy genutzt werden.
Am PCI Bus kann ein Gerät am Bus als Busmaster fungieren und selbsttätig in den Ram schreiben/lesen, während die CPU was anderes machen kann. Kohärenzprotokolle sorgen dafür, das im CPU cache nicht gerade die veränderte Adresse din ist und fälschlicherweise noch von der CPU benutzt wird.
Auch so Dinge wie TV-Bilder über PCI zur Graka zu schicken, wären auch heute noch fast unmöglich, wenn die TV-Karte nicht als Busmaster die Sache ohne Hilfe der CPU selber erledigen könnte.
 
Original geschrieben von larsbo
DEN DMA und nen DMA chip gibts im PCI-System nicht mehr, genausowenig wie DMA-Kanäle. Das sind nur noch Überbleibsel aus der ISA Zeit, die nur noch von der Floppy genutzt werden.
Am PCI Bus kann ein Gerät am Bus als Busmaster fungieren und selbsttätig in den Ram schreiben/lesen, während die CPU was anderes machen kann. Kohärenzprotokolle sorgen dafür, das im CPU cache nicht gerade die veränderte Adresse din ist und fälschlicherweise noch von der CPU benutzt wird.
Auch so Dinge wie TV-Bilder über PCI zur Graka zu schicken, wären auch heute noch fast unmöglich, wenn die TV-Karte nicht als Busmaster die Sache ohne Hilfe der CPU selber erledigen könnte.

Busmaster != DMA. Auch heute gibt es noch einen DMA-Controller, welcher zumeist in der Southbridge des Chipsatz steckt.
 
Zurück
Oben Unten