|
Ein-/Ausgabe-Bausteine
Struktur von E/A-BausteinenDer E/A-Baustein ist Bindeglied zwischen Prozessor und Peripherie. Seine Aufgaben sind unter anderem: Datentransport, zeitliche Anpasung, Signalumsetzung, Pegelumsetzung, Erweiterungder Belastbarkeit, Datenformat-Anpassung, Codeumsetzung, ...) Bausteine für programmierten E/A-Transfer Hier erfolgt der Zugriff auf die Peripherie entweder programmgesteuert (polling) oder interruptgesteuert. Sie werden am häufigsten verwendet. AuchBus-Treiber können als sehr einfache E/A-Bausteine eingesetzt werden. So wurde z. B. die Standard-Druckerschnittstelle des IBM-PC mit zwei 8-Bit-Latches und zwei 8-Bit-Bustreibern realisiert. Kaum komplexer sind auch Speicher-Register mitnachgeschalteten Leistungstreibern. Sie übernehmen auch die zeitliche Anpassung.Zum Teil sind sie mit Steuerlogik, Betriebsartenwahl (Ein/Aus) und Interrupt-Auslösungversehen. Wesentlich flexibler im Einsatz sind programmierbare E/A-Bausteine, wie man sie heute verwendet. Eigenschaften und Funktion sind per Software einstellbar. ProgrammierbareEigenschaften können sein: - Datenrichtung
- Übertragungsgeschwindigkeit
- Übertragungsformat
- Paritätsprüfung
- Art des Interrupt-Signals von der Peripherie
- Interrupt-Maske
Diese Bausteine erlauben meist sowohl programmgesteuerten programmierten E/A-Transfer
als auch interruptgesteuerten programmierten E/A-Transfer.
Für den einfachen E/A-Transfer gibt es zwei Bausteine-Grundtypen:
- Parallele Schnittstelle (Parallel Interface Adapter, Parallel Input Output)
Schnittstelle für parallelen Datenaustausch (z.B. Centronics-Druckerschnittstelle,
Relais-Ausgang, Digital-Analog- und Analog/Digital-Wandler, digitale Eingangssignale).
In der Regel sind mehr als ein 8 Bit breiter "Port" vorhanden (meist 2 bis 4).
Steuer- oder Statusregister können pro Port separat vorhanden sein.
- SIA (Serial Interface Adapter, Serial Input Output)
Dies ist eine Schnittstelle für bitseriellen Datenverkehr.
Die Bausteine enthalten je einen Parallel-Seriell- und Seriell-Parallel-Wandler
(Schieberegister).
Daneben existieren noch viele weitere E/A-Bausteine. Sie sind i.a. wesentlich komplexer
aufgebaut und bieten zahlreiche Programmierungsmöglichkeiten. Zum Beispiel:
- Interrupt-Controller: Erweiterung der Interruptmöglichkeiten
(Priorisierung, Vektorgenerierung)
- Programmierbare Zähler (Timer, Counter)
Auslösung von Interrupts in regelmäßigen Zeitabständen
Erzeugen von Einzelimpulsen definierter Länge
Erzeugung von Rechteckimpulsen
- spezielle Steuerbausteine
Memory Management, Floppy-Disk, Festplatte, Bildschirm, LC-Display, ...
- Bausteine für DMA-Transfer
Steuerung von E/A-Bausteinen
Steuersingnale von der CPU:
- Rücksetzen (Reset, RES)
- Freigabe, Aktivierung (Enable, E, CE)
- Baustein-Auswahl (Chip Select, CS)
- Register-Auswahl (Register Select, RS)
- Datenrichtung (Read/Write, R/W)
Steuersignale von der Peripherie:
- Interruptleitungen (Erzeugung IRQ-Signal für CPU)
- weitere Steuersignale (z.B. Handshakeleitungen bei SIA)
Steuerleitungen vom E/A-Baustein zur CPU:
- Interrupt-Anforderung (Interr. Request, IRQ)
- Weitergabe des IRQ von der Peripherie zur CPU (Maskierungsmöglichkeit)
- Erzeugung eines IRQ-Signals durch E/A-Baustein selbst
Anschluß von E/A-Bausteinen
Die Steuersignale werden mit dem Steuer-Bus verbunden. Aus dem Adreß-Bus werden
die Cchip-Select- und Register-Select-Signale abgeleitet. Normalerweise werden die
RS-Signale mit den niederwerigen Adreßleitungen verbunden (RS0 mit
A0, RS1 mit A1, usw.). Über den Daten-Bus
erfolgt der eigentliche Datenaustausch.
Da i. a. mehrere E/A-Bausteine (mit mehreren Registern) an ein System angeschlossen
werden, ist eine Adressierung der E/A-Bausteine nötig. Es gibt dafür zwei
Methoden:
- getrennte Adressierung (isolated I/O):
Die CPU verfügt über spezielle E/A-Befehle und einen eigenen E/A-Adreßraum
( Portadresse), der i. a. kleiner ist als der Speicher-Adreßraum (z. B. 8 Bit).
Die E/A-Adresse wird über den Adreßbus bereitgestellt. Die Unterscheidung zum
Speicherzugriff erfolgt über zusätzliche Steuerleitungen (MEM/IO, IOW, IOR).
- Speicheradressierung (memory mapped I/O):
Die einzelnen Register der E/A-Bausteine werden als Speicherzellen betrachtet
und als solche adressiert E/A-Adreßraum wird in den Speicher-Adreßraum
abgebildet.
|
|
|