I-O-Ports

Aus FI-Wiki

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

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

Kurz gesagt

  • I/O-Ports: CPU spricht Geräte über spezielle Adressen an.
  • IRQ: Geräte melden Ereignisse – CPU wird unterbrochen.
  • 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.