Praktikum 3: Organisation der Ein- und Ausgabe (E/A)

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,72 KB

Praktikum 3

Organisation der Ein-/Ausgabe (E/A)

2. Die Schnittstelle für Ein- und Ausgabe

Die Schnittstelle für die Ein-/Ausgabe (E/A) stellt ein Verfahren zur Übertragung von Informationen zwischen dem internen Speicher und externen Peripheriegeräten bereit. Die an einen Computer angeschlossenen Peripheriegeräte erfordern spezielle Kommunikationsverbindungen, um als Schnittstelle mit der zentralen Recheneinheit (CPU) zu arbeiten. Der Zweck dieser Kommunikationsverbindung besteht darin, die Unterschiede zwischen den einzelnen Peripheriegeräten und dem Computer auszugleichen. Die wichtigsten Unterschiede sind:

  1. Signalunterschiede: Peripheriegeräte sind elektromechanische und elektromagnetische Geräte. Ihre Wirkungsweise unterscheidet sich von der CPU und dem Speicher, welche rein elektronische Bauteile sind. Daher ist eine Umwandlung der Signalwerte erforderlich.
  2. Geschwindigkeitsunterschiede: Die Datenübertragungsgeschwindigkeit der Peripheriegeräte ist in der Regel deutlich geringer als die der CPU. Daher kann ein Synchronisationsmechanismus erforderlich sein.
  3. Formatunterschiede: Die Daten und Datenformate der Peripheriegeräte weichen vom Wortformat der CPU und des Speichers ab.
  4. Betriebsarten: Die Betriebsarten der Peripheriegeräte unterscheiden sich voneinander. Jedes Gerät muss separat gesteuert werden, um zu verhindern, dass der Betrieb eines Geräts andere an die CPU angeschlossene Peripheriegeräte beeinträchtigt.

Um diese Unterschiede auszugleichen, nutzen Computersysteme spezielle Schaltungskomponenten zwischen der CPU und den Peripheriegeräten, um alle Übertragungen in den und aus dem Speicher zu überwachen und zu synchronisieren. Diese Komponenten werden als Schnittstellen (Interfaces) bezeichnet, da sie sowohl mit dem Prozessor als auch über Anschlüsse mit den Peripheriegeräten kommunizieren.

4. Datenübertragungsarten

Die Übertragung von Daten zu und von Peripheriegeräten kann auf drei verschiedene Arten abgewickelt werden:

1. Programmierte E/A

Die Aktivitäten der E/A sind das Ergebnis von programmierten E/A-Anweisungen im Programmcode. Jeder Datentransfer wird durch eine Anweisung im Programm initiiert. Im Allgemeinen erfolgt der Transfer zu und von einem CPU-Register oder einem Peripheriegerät. Weitere Anweisungen sind erforderlich, um Daten zwischen der CPU und dem Speicher zu übertragen. Wenn eine Datenübertragung gestartet wird, muss die CPU die Schnittstelle überwachen, um festzustellen, wann eine Übertragung stattfinden kann. Abhängig von den geplanten und auf der CPU ausgeführten Anweisungen muss im Detail beobachtet werden, was in der Interface-Einheit und dem E/A-Gerät geschieht.

2. Interrupt-gesteuerte E/A

Bei der Methode der programmierten E/A verbleibt die CPU so lange in einer Programmschleife, bis die E/A-Einheit signalisiert, dass sie für die Datenübertragung bereit ist. Dies ist ein zeitaufwendiger Prozess, da er den Prozessor unnötig blockiert. Dies kann durch eine Option zur vorzeitigen Beendigung vermieden werden; in der Zwischenzeit kann die CPU ein anderes Programm ausführen. Während dieser Zeit überwacht die Schnittstelle weiterhin die Geräte. Wenn die Schnittstelle feststellt, dass das Gerät für die Datenübertragung bereit ist, sendet sie eine Interrupt-Anforderung (Unterbrechungsanforderung) an den Computer. Sobald die CPU diesen externen Interrupt erkennt, unterbricht sie kurzzeitig ihren aktuellen Prozess, übergibt die Kontrolle an ein Service-Programm zur Abwicklung der E/A-Übertragung und kehrt anschließend zu der ursprünglich ausgeführten Aufgabe zurück.

3. Direkter Speicherzugriff (DMA)

Beim Direct Memory Access (DMA) überträgt die Schnittstelle die Daten direkt in und aus der Speichereinheit über den Speicherkanal. Die CPU initiiert die Übertragung, indem sie der Schnittstelle die Startadresse und die Anzahl der zu übertragenden Wörter mitteilt, und widmet sich anschließend anderen Aufgaben. Sobald die Übertragung angefordert wird, fordert der DMA-Controller Speicherzyklen an und überträgt die Daten direkt in den Speicher. Die CPU verzögert lediglich ihren eigenen Speicherzugriff, um die direkte E/A-Speicherübertragung zu ermöglichen. Da die Geschwindigkeit der Peripheriegeräte in der Regel langsamer ist als die des Prozessors, sind E/A-Speicherübertragungen im Vergleich zu Prozessor-Speicherzugriffen selten.

6. DMA-Übertragung im Detail

Die Datenübertragung zwischen einem Magnetspeichergerät und dem Arbeitsspeicher wird oft durch die CPU-Geschwindigkeit begrenzt. Wenn man die CPU aus dem Übertragungsweg ausschließt und dem Peripheriegerät erlaubt, die Speicherkanäle direkt zu steuern, lässt sich die Übertragungsgeschwindigkeit erheblich verbessern. Diese Übertragungstechnik wird als Direct Memory Access (DMA) bezeichnet. Während einer DMA-Übertragung ruht die CPU und hat keine Kontrolle über die Speicherkanäle. Ein DMA-Controller übernimmt die Steuerung der Kanäle, um die Übertragung direkt zwischen dem E/A-Gerät und dem Speicher abzuwickeln.

7. Cycle Stealing (Zyklus-Stehlen)

Cycle Stealing: Eine alternative Technik erlaubt es dem DMA-Controller, jeweils nur ein einzelnes Datenwort zu übertragen, wonach er die Kontrolle über den Kanal wieder an die CPU abgeben muss. Die CPU verzögert ihren Betrieb dabei nur für einen einzigen Speicherzyklus. Durch dieses "Zyklus-Stehlen" (Cycle Stealing) kann eine direkte E/A-Speicherübertragung stattfinden, ohne den Prozessor nennenswert zu blockieren.

Verwandte Einträge: