I-O-Ports: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== I/O-Ports (Ein- und Ausgabeschnittstellen) == '''I/O-Ports''' sind Anschlüsse am Computer, über die Daten ein- oder ausgegeben werden. Sie verbinden den PC mit externen Geräten wie Tastatur, Maus, Monitoren, Speichermedien und Netzwerken. === Wichtige I/O-Ports im Überblick === {| class="wikitable" style="width:100%; text-align:center;" ! Anschluss ! Aufgabe ! Typische Geräte ! Besonderheiten |- | '''USB-A / USB-C''' | universelle Daten- und S…“ |
|||
| (15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== I/O-Ports | == I/O-Ports, DMA, IRQ und Speicheradressen == | ||
Diese Konzepte gehören zu den grundlegenden Mechanismen, mit denen ein Computer Hardwaregeräte ansteuert. | |||
Sie | 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 === | |||
{| class="wikitable" style="width:100%; text-align:center;" | {| class="wikitable" style="width:100%; text-align:center;" | ||
! | ! 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: | |||
{| class="wikitable" style="width:100%; text-align:center;" | |||
! 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, [[HDD|Festplatten]], [[Grafikkarte]]n) | |||
=== 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 === | |||
{| class="wikitable" style="width:100%; text-align:center;" | |||
! 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 == | |||
{| class="wikitable" style="width:100%; text-align:center;" | {| class="wikitable" style="width:100%; text-align:center;" | ||
! | ! 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. | ||
* ''' | |||
* | |||
''' | |||
I/O | |||
Aktuelle Version vom 2. Dezember 2025, 12:07 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 |
