I-O-Ports: Unterschied zwischen den Versionen
| Zeile 115: | Zeile 115: | ||
== Kurz gesagt == | == Kurz gesagt == | ||
* '''I/O-Ports''': CPU spricht Geräte über spezielle Adressen an. | * '''I/O-Ports''': [[CPU]] spricht Geräte über spezielle Adressen an. | ||
* '''IRQ''': Geräte melden Ereignisse – CPU wird unterbrochen. | * '''IRQ''': Geräte melden Ereignisse – CPU wird unterbrochen. | ||
* '''DMA''': Geräte übertragen Daten direkt in den RAM (ohne CPU-Belastung). | * '''DMA''': Geräte übertragen Daten direkt in den [[RAM]] (ohne CPU-Belastung). | ||
* '''Speicheradressen''': jede RAM-Position hat eine Adresse; moderne Geräte erscheinen darin per Memory-Mapped I/O. | * '''Speicheradressen''': jede RAM-Position hat eine Adresse; moderne Geräte erscheinen darin per Memory-Mapped I/O. | ||
Version vom 17. November 2025, 14:27 Uhr
I/O-Ports, DMA, IRQ und Speicheradressen
Diese Konzepte gehören zu den grundlegenden Mechanismen, mit denen ein Computer Hardwaregeräte ansteuert. Sie beschreiben, wie CPU, RAM und Peripheriegeräte miteinander kommunizieren.
I/O-Ports (Input/Output-Ports)
I/O-Ports sind spezielle Adressen, über die die CPU direkt mit Hardware kommuniziert. Jedes Gerät besitzt bestimmte Portadressen, über die Daten gesendet oder empfangen werden.
Aufgaben von I/O-Ports
- CPU liest Daten von einem Gerät
- CPU schreibt Daten an ein Gerät
- Konfiguration von Hardware (z. B. Tastaturcontroller, Timer, Festplattencontroller)
Arten der Adressierung
| Art | Beschreibung |
|---|---|
| Port-Mapped I/O | CPU spricht Geräte über eigene Befehle (IN/OUT) an. |
| Memory-Mapped I/O | Geräte erscheinen im normalen Adressraum des RAM. |
Moderne Systeme nutzen fast ausschließlich Memory-Mapped I/O (MMIO).
IRQ (Interrupt Request)
Ein Interrupt ist ein Signal, das ein Gerät an die CPU sendet, um Aufmerksamkeit zu verlangen. Der zugehörige Kanal wird IRQ genannt.
Aufgaben von IRQs
- melden Ereignisse (z. B. Tastendruck, Daten angekommen)
- unterbrechen die CPU kurz
- CPU führt eine passende Interrupt-Routine aus
Beispiele für IRQs:
| Gerät | Beispiel-IRQ |
|---|---|
| Tastatur | IRQ 1 |
| Maus (PS/2) | IRQ 12 |
| Systemtimer | IRQ 0 |
Moderne Systeme verwenden APIC statt klassischer IRQ-Nummern → flexibler und mehr Interrupts möglich.
DMA (Direct Memory Access)
DMA erlaubt es Geräten, direkt auf den Arbeitsspeicher zuzugreifen, ohne dass die CPU alle Daten übertragen muss.
Vorteile von DMA
- entlastet die CPU
- höhere Datenübertragungsraten
- ideal für schnelle Geräte (Netzwerk, Festplatten, Grafikkarten)
Beispiel
Ohne DMA:
- CPU muss jedes Byte einzeln bewegen → langsam
Mit DMA:
- Gerät → DMA-Controller → RAM
- CPU wird nur informiert, wenn der Transfer fertig ist
Speicheradressen
Jedes Byte im RAM besitzt eine eindeutige Adresse. Die CPU nutzt diese Adressen, um Daten zu lesen oder zu schreiben.
Arten von Speicheradressen
| Art | Beschreibung |
|---|---|
| physische Adressen | tatsächliche Position der Daten im RAM |
| logische / virtuelle Adressen | von Programmen genutzt; werden durch die MMU in physische Adressen übersetzt |
Memory-Mapped I/O (MMIO)
Viele Hardwaregeräte liegen nicht an I/O-Ports, sondern erscheinen an bestimmten Speicheradressen.
Beispiel:
- Grafikkarte belegt oft mehrere MB im Adressraum
- CPU schreibt direkt in diesen Bereich → Gerät reagiert
Zusammenspiel der Konzepte
| Konzept | Aufgabe |
|---|---|
| I/O-Ports | direkte Kommunikation zwischen CPU und Geräten |
| IRQ | Geräte melden Ereignisse an die CPU |
| DMA | Geräte übertragen Daten direkt in den RAM |
| Speicheradressen | CPU und Geräte speichern / lesen Daten |
