Grundlagen der I/O-Architektur und Schnittstellen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 3,59 KB

Grundlagen der I/O-Architektur

Es gibt zwei Techniken für die Ein-/Ausgabe (I/O): Memory-Mapped I/O und I/O-Mapped I/O.

Memory-Mapped I/O

Bei dieser Technik nutzen Mikroprozessoren den Speicheradressraum für I/O-Operationen. Mikroprozessoren wie der 6800, 6802, 6805, 6809 und 68000 verwenden dieses Verfahren. Der 8086/8088 nutzt diese Technik nicht, wodurch der gesamte Adressraum für den Systemspeicher zur Verfügung steht.

I/O-Mapped I/O

Hierbei besitzt das I/O-System einen eigenen Adressraum. Eine I/O-Operation lässt sich wie folgt definieren:

  • INPUT: Der Mikroprozessor liest Daten von einer Quelle, die nicht der Systemspeicher ist.
  • OUTPUT: Der Mikroprozessor schreibt Daten auf ein Ziel, das nicht der Systemspeicher ist.

Der Control-Bus definiert die Art der Kommunikation. Bei I/O-Mapped I/O gibt es separate Steuerleitungen für I/O und Speicher.

Adressierung von I/O-Ports

Ein Port ist ein Ort zum Lesen oder Schreiben von Daten außerhalb des Systemspeichers. Jeder Port erhält eine eindeutige Adresse, den sogenannten Port-Auswahl-Code. Während bei Speicherzugriffen die Speicher-Steuerleitungen aktiv sind, werden bei I/O-Operationen die Leitungen INPUT/OUTPUT READ oder WRITE aktiviert. Hinweis: Die Adressen 00F8h bis 00FFh sollten nicht verwendet werden, da Intel diese für zukünftige Produktentwicklungen reserviert hat.

I/O-Befehle und Adressierung

Ein I/O-Gerät ist eine Hardware, die vom System gesteuert wird.

  • INPUT-Befehl: Liest Daten von einem Port. Bei einem 8-Bit-Port erfolgt die Speicherung im AL-Register, bei 16-Bit im AX-Register.
  • OUTPUT-Befehl: Überträgt Daten vom Mikroprozessor an einen Ausgang (z. B. OUT port, Akkumulator).

Adressierungsmethoden

  • Direkte Adressierung: Zugriff auf die ersten 256 Ports (z. B. IN AL, 03h).
  • Indirekte Adressierung über das DX-Register: Ermöglicht den Zugriff auf alle 65.535 Ports (z. B. MOV DX, 04h gefolgt von IN AL, DX).

Parallele I/O-Schnittstelle (PIO) 8255

Der 8255 ist ein programmierbarer I/O-Baustein zur Steuerung peripherer Hardware. Er ist als 40-Pin-LSI-Schaltung gekapselt. Die Betriebsarten werden über ein Steuerwort definiert.

Struktur: Gruppe C besteht aus zwei 4-Bit-Ports, die jeweils den Kontrollgruppen A und B zugeordnet sind.

Interne Komponenten

  • Daten-Puffer: Verbindet den 8255 mit dem Datenbus des Mikroprozessors.
  • Control Logic (READ/WRITE): Steuert den Datenaustausch mit den internen Registern unter korrekter Synchronisation.

Serielle I/O-Schnittstelle (USART 8251A)

Der 8251A (Universal Synchronous/Asynchronous Receiver/Transmitter) erfüllt zwei Hauptfunktionen:

  • Sendebetrieb: Serialisiert parallele Daten vom Mikroprozessor (asynchron oder synchron).
  • Empfangsbetrieb: Wandelt serielle Daten in parallele Daten um und prüft auf Paritäts-, Rahmen- (Frame) und Überlauffehler.

Der IC verfügt über einen bidirektionalen Datenbus und separate Sender- und Empfänger-Einheiten mit eigenen Takteingängen (RXD und TXD). Die Status-Signale TXRDY und RXRDY zeigen an, ob die Datenpuffer bereit für Lese- oder Schreibvorgänge sind.

Verwandte Einträge: