Supportnet / Forum / HW-Sonstiges
DMA ? IRQ?
Frage
imwürde brennend interessieren was der unterschied zwischen DMA und IRQ ist??
Antwort 1 von drago
DMA ist ein Chip, bzw. Chipteil, der Daten direkt transportiert, an der CPU vorbei.
Z.B. Festplattendaten in den Speicher übertragen OHNE CPU.
Direct
Memory
Acces
Interrupt
Re
Quest
= Die Komponenten senden an die CPU ein Signal das Daten anliegen.
IRQ legt fest wer welche Priorität hat,
wie wichtig sind Daten.
Z.B.
IRQ 0 = Timer
IRQ 1 = Tastatur
IRQ 3 = Serielle Schnittstelle
...
IRQ 5 = Festplatte
IRQ 7 = Drucker
...
Z.B. Festplattendaten in den Speicher übertragen OHNE CPU.
Direct
Memory
Acces
Interrupt
Re
Quest
= Die Komponenten senden an die CPU ein Signal das Daten anliegen.
IRQ legt fest wer welche Priorität hat,
wie wichtig sind Daten.
Z.B.
IRQ 0 = Timer
IRQ 1 = Tastatur
IRQ 3 = Serielle Schnittstelle
...
IRQ 5 = Festplatte
IRQ 7 = Drucker
...
Antwort 2 von intel_hasser
IRQ - Wenn du zb. eine Taste drückst, wird ein Interrupt (-> Unterbrecher) ausgelöst. Der Prozessor unterbricht seine Arbeit kurz und verarbeitet den tastendruck. IRQs werden auch benutzt, um Datenübertragungen zu steuern. Dazu wird von einer Komponente ein IRQ ausgelöst, wenn diese zb. wieder neue Daten verarbeiten kann.
IRQ heist übrigens Interrupt ReQuest - Unterbrecheranforderung.
DMA - Direct Memory Access.
Wenn eine Komponente Daten bereithält/braucht (zb. eine Soundkarte - die neueren haben aber keinen Interrupt mehr, warum wird später erklärt) müssen diese irgendwie von der Komponente in den Ram, oder umgedreht.
Eine möglichkeit wäre, dass der Prozessor diese Daten von der Komponente liest, und dann in den Ramspeicher schreibt. Allerdings müsste dafür der Prozessor selber arbeiten - muss nicht sein.
Stattdessen sendet die Komponente die Daten zum DMA Controller, der diese dann in den Ram schreibt, oder sagt dem Dma controller, welche Daten die Komponente aus dem Ram möchte.
So sah es zu ISA Zeiten aus.
Das Problem war, dass ISA Karten nicht direkt auf den Ramspeicher zugreifen können. Desswegen musste der Prozessor oder der Dma Controller einspringen. Die Dma Nummer gibt praktisch Auskunft über den verwendeten Dma kanal (es gibt glaube ich 8). Der alte Dma Controller ist auf 4mb/sec limmitiert. Der UDMA modus der Festplatte ist etwas anders.
Heutige PCI Karten können aber selber auf den Ramspeicher zugreifen (und das deutlich schneller als der Dma Controller). Desswegen ist der Dma Controller für diese Karten überflüssig. Auch wenn ein Computer heute keine Isa Slots mehr hat, einige der Onboard Komponenten laufen immernoch wie Isa karten (zb. das Diskettenlaufwerk) und brauchen den Dma noch. Da ein Diskettenlaufwerk niemals eine Datenübertragungsrate von 4mb/sec erreicht, ist die limmitierte Kapazität des Dma Controllers hier recht egal. Desswegen ist selbst heute noch auf jedem Board ein Dma Controller vorhanden.
IRQ heist übrigens Interrupt ReQuest - Unterbrecheranforderung.
DMA - Direct Memory Access.
Wenn eine Komponente Daten bereithält/braucht (zb. eine Soundkarte - die neueren haben aber keinen Interrupt mehr, warum wird später erklärt) müssen diese irgendwie von der Komponente in den Ram, oder umgedreht.
Eine möglichkeit wäre, dass der Prozessor diese Daten von der Komponente liest, und dann in den Ramspeicher schreibt. Allerdings müsste dafür der Prozessor selber arbeiten - muss nicht sein.
Stattdessen sendet die Komponente die Daten zum DMA Controller, der diese dann in den Ram schreibt, oder sagt dem Dma controller, welche Daten die Komponente aus dem Ram möchte.
So sah es zu ISA Zeiten aus.
Das Problem war, dass ISA Karten nicht direkt auf den Ramspeicher zugreifen können. Desswegen musste der Prozessor oder der Dma Controller einspringen. Die Dma Nummer gibt praktisch Auskunft über den verwendeten Dma kanal (es gibt glaube ich 8). Der alte Dma Controller ist auf 4mb/sec limmitiert. Der UDMA modus der Festplatte ist etwas anders.
Heutige PCI Karten können aber selber auf den Ramspeicher zugreifen (und das deutlich schneller als der Dma Controller). Desswegen ist der Dma Controller für diese Karten überflüssig. Auch wenn ein Computer heute keine Isa Slots mehr hat, einige der Onboard Komponenten laufen immernoch wie Isa karten (zb. das Diskettenlaufwerk) und brauchen den Dma noch. Da ein Diskettenlaufwerk niemals eine Datenübertragungsrate von 4mb/sec erreicht, ist die limmitierte Kapazität des Dma Controllers hier recht egal. Desswegen ist selbst heute noch auf jedem Board ein Dma Controller vorhanden.
Antwort 3 von schakal3
cool, mein horizont hat sich soeben erweitert.
kombiniere : direct x hat auch die Aufgabe den Prozessor zu entlasten und ein direkten Datenaustausch zwischen Grafikkarte und Arbeitsspeicher zu ermöglichen oder ??
kombiniere : direct x hat auch die Aufgabe den Prozessor zu entlasten und ein direkten Datenaustausch zwischen Grafikkarte und Arbeitsspeicher zu ermöglichen oder ??
Antwort 4 von intel_hasser
Nicht ganz.
Die Agp Karte kann auch direkt auf den Speicher zugreifen. Meistens wird der Ram aber nicht benutzt, da der Speicher auf der Graka schneller läuft, als der Ram speicher von System.
DirectX hat die Aufgabe, eine einheitliche Programmierung der Graphikkarten im 2d und 3d bereich (speziell: der Hardwarebeschleunigung im 2d und 3d bereich) zu ermöglichen.
Gäbe es DirectX nicht, müsste ein Spiel zb. für jede verschiedene Graphikkarte neu geschrieben werden.
Beispiel:
Programm sagt DirectX (oder OpenGL), wo ein Dreieck sein soll
DirectX rechnet diese Angabe um (normalerweise muss der Graphikkarte mehr, als nur die Position eines Dreieckes gegeben werden), passt sie an die Graphikkarte an (werden zb. bestimmte beschleunigungsfunktionen nicht unterstützt, simuliert DirectX diese über die Cpu) und sendet die Anfrage zum Treiber der Graphikkarte.
Und dann gehts weiter direkt zur Graphikkarte.
Mal ein Geschwindigkeitsvergleich:
Dma Controller: 4mb/sec
Udma Controller (für Festplatte): heute max. 133mb/sec
Pci Slot: 133mb/sec
Agp Slot: 1gb/sec
Der Dma Controller findet heute wirklich nurnoch bei eigentlich veralteten Geräten (zb. Druckern über den Parallelport) anwendung.
Die Agp Karte kann auch direkt auf den Speicher zugreifen. Meistens wird der Ram aber nicht benutzt, da der Speicher auf der Graka schneller läuft, als der Ram speicher von System.
DirectX hat die Aufgabe, eine einheitliche Programmierung der Graphikkarten im 2d und 3d bereich (speziell: der Hardwarebeschleunigung im 2d und 3d bereich) zu ermöglichen.
Gäbe es DirectX nicht, müsste ein Spiel zb. für jede verschiedene Graphikkarte neu geschrieben werden.
Beispiel:
Programm sagt DirectX (oder OpenGL), wo ein Dreieck sein soll
DirectX rechnet diese Angabe um (normalerweise muss der Graphikkarte mehr, als nur die Position eines Dreieckes gegeben werden), passt sie an die Graphikkarte an (werden zb. bestimmte beschleunigungsfunktionen nicht unterstützt, simuliert DirectX diese über die Cpu) und sendet die Anfrage zum Treiber der Graphikkarte.
Und dann gehts weiter direkt zur Graphikkarte.
Mal ein Geschwindigkeitsvergleich:
Dma Controller: 4mb/sec
Udma Controller (für Festplatte): heute max. 133mb/sec
Pci Slot: 133mb/sec
Agp Slot: 1gb/sec
Der Dma Controller findet heute wirklich nurnoch bei eigentlich veralteten Geräten (zb. Druckern über den Parallelport) anwendung.

