I-O-Ports: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
Zeile 35: Zeile 35:
=== Aufgaben von IRQs ===
=== Aufgaben von IRQs ===
* melden Ereignisse (z. B. Tastendruck, Daten angekommen)   
* melden Ereignisse (z. B. Tastendruck, Daten angekommen)   
* unterbrechen die CPU kurz   
* unterbrechen die [[CPU]] kurz   
* CPU führt eine passende Interrupt-Routine aus   
* CPU führt eine passende Interrupt-Routine aus   


Zeile 43: Zeile 43:
! Beispiel-IRQ
! Beispiel-IRQ
|-
|-
| Tastatur
| [[Tastatur]]
| IRQ 1
| IRQ 1
|-
|-
| Maus (PS/2)
| [[Maus]] ([[PS/2]])
| IRQ 12
| IRQ 12
|-
|-
Zeile 60: Zeile 60:


=== Vorteile von DMA ===
=== Vorteile von DMA ===
* entlastet die CPU   
* entlastet die [[CPU]]  
* höhere Datenübertragungsraten   
* höhere Datenübertragungsraten   
* ideal für schnelle Geräte (Netzwerk, Festplatten, Grafikkarten)
* ideal für schnelle Geräte (Netzwerk, [[HDD|Festplatten]], [[Grafikkarte]]n)


=== Beispiel ===
=== Beispiel ===
Zeile 102: Zeile 102:
|-
|-
| I/O-Ports
| I/O-Ports
| direkte Kommunikation zwischen CPU und Geräten
| direkte Kommunikation zwischen [[CPU]] und Geräten
|-
|-
| IRQ
| IRQ
Zeile 108: Zeile 108:
|-
|-
| DMA
| DMA
| Geräte übertragen Daten direkt in den RAM
| Geräte übertragen Daten direkt in den [[RAM]]
|-
|-
| Speicheradressen
| Speicheradressen
Zeile 116: Zeile 116:
== 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 2. Dezember 2025, 12:04 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

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.