Input-Output

Im Computer, Input-Output (I/ooder informell io oder Io) ist die Kommunikation zwischen einem Informationsverarbeitungssystem wie a Computerund die Außenwelt, möglicherweise ein Mensch oder ein anderes Informationsverarbeitungssystem. Eingänge sind die vom System und Ausgaben empfangenen Signale oder Daten die Signale oder Daten von ihm gesendet. Der Begriff kann auch als Teil einer Aktion verwendet werden; "I/O durchführen" bedeutet, eine auszuführen Eingangs- oder Ausgangsbetrieb.

E/A -Geräte sind die Gegenstände von Hardware- Wird von einem Menschen (oder einem anderen System) verwendet, um mit einem Computer zu kommunizieren. Zum Beispiel a Klaviatur oder Computermaus ist ein Eingabegerät für einen Computer während Monitore und Drucker sind Ausgabegeräte. Geräte für die Kommunikation zwischen Computern wie z. Modems und NetzwerkkartenFühren Sie normalerweise sowohl Eingangs- als auch Ausgangsvorgänge durch.

Die Bezeichnung eines Geräts als Eingang oder Ausgabe hängt von der Perspektive ab. Mäuse und Tastaturen nehmen physische Bewegungen ein, die der menschliche Benutzer ausgibt, und konvertieren sie in Eingangssignale, die ein Computer verstehen kann. Die Ausgabe dieser Geräte ist die Eingabe des Computers. In ähnlicher Weise nehmen Drucker und Monitore Signale an, dass Computer als Eingabe ausgeben, und diese Signale in eine Darstellung umwandeln, die menschliche Benutzer verstehen können. Vom Menschen BenutzerDie Perspektive wird der Prozess des Lesens oder Sehens dieser Darstellungen erhält. Diese Art der Interaktion zwischen Computern und Menschen wird im Bereich von untersucht Menschliche interaktion mit dem Computer. Eine weitere Komplikation besteht darin, dass ein Gerät traditionell ein Eingabegerät, z. B. Kartenleser, Tastatur, annehmen kann, um Steuerbefehle zu akzeptieren, z. B. Stapler auszuwählen, Tastaturlichter anzeigen, während ein Gerät traditionell als Ausgabegerät angesehen kann, z. , niedriger Toner, aus Papier, Papierstau.

In der Computerarchitektur die Kombination der Zentralprozessor und Haupterinnerung, auf die die CPU direkt mit einer Person lesen oder schreiben kann Anweisungen, gilt als das Gehirn eines Computers. Alle Informationsübertragung in oder von der CPU/Memory -Kombination, zum Beispiel durch Lesen von Daten von a Festplattenantrieb, wird als i/o betrachtet.[1] Die CPU und ihre Stützschaltungen können liefern Speicher-abgebildete I/O das wird in niedriger Ebene verwendet Computerprogrammierung, wie bei der Umsetzung von Gerätetreiber, oder kann Zugang zu bieten zu E/A -Kanäle. Ein E/A -Algorithmus ist eine, die die Lokalität ausnutzt und beim Austausch von Daten mit einem Sekundärspeichergerät wie einem Festplattenlaufwerk effizient funktioniert.

Schnittstelle

Eine E/A -Schnittstelle ist erforderlich, wenn das E/A -Gerät von einem Prozessor angetrieben wird. Normalerweise kommuniziert eine CPU über a mit Geräten Bus. Die Schnittstelle muss über die erforderliche Logik verfügen, um die vom Prozessor generierte Geräteadresse zu interpretieren. Handschütteln Sollte von der Schnittstelle mit entsprechenden Befehlen (z. B. geschäftig, bereit und warten) implementiert werden, und der Prozessor kann über die Schnittstelle mit einem E/A -Gerät kommunizieren. Wenn verschiedene Datenformate ausgetauscht werden, muss die Schnittstelle in der Lage sein, serielle Daten in parallele Form umzuwandeln und umgekehrt. Da es ein Verschwendung für einen Prozessor wäre, im Leerlauf zu sein, während es auf Daten eines Eingabegeräts wartet Interrupts[2] und die entsprechenden Typnummern für die weitere Verarbeitung durch den Prozessor bei Bedarf.[Klarstellung erforderlich]

Ein Computer, der verwendet Speicher-abgebildete I/O Zugriff auf Hardware, indem Sie bestimmte Speicherorte lesen und schreiben, wobei dieselben Anweisungen für Montagesprachen verwendet werden, die der Computer normalerweise zum Zugriff auf Speicher verwenden würde. Eine alternative Methode erfolgt über anleitungsbasierte E/A, wodurch eine CPU spezielle Anweisungen für E/A hat.[1] Sowohl Eingangs- als auch Ausgangsgeräte haben a Datenverarbeitung Rate, die stark variieren kann.[2] Mit einigen Geräten, die Daten mit sehr hohen Geschwindigkeiten austauschen können direkter Zugang zum Gedächtnis (DMA) ohne die kontinuierliche Hilfe einer CPU ist erforderlich.[2]

Implementierung höherer Ebene

Höheres Level Betriebssystem und Programmiermöglichkeiten verwenden separate, abstraktere E/A -Konzepte und Primitive. Zum Beispiel bieten die meisten Betriebssysteme Anwendungsprogramme mit dem Konzept von Dateien. Das C und C ++ Programmiersprachen und Betriebssysteme in der Unix Familie, traditionell abstrakte Dateien und Geräte als Ströme, die gelesen oder geschrieben werden können oder manchmal beides. Das C Standardbibliothek bietet Funktionen zum Manipulieren von Strömen Für Eingabe und Ausgabe.

Im Kontext der Algol 68 Programmiersprache, die Eingang und Ausgang Einrichtungen werden gemeinsam als bezeichnet Transport. Das Algol 68 Die Transportbibliothek erkennt die folgenden Standarddateien/Geräte: drin stehen, auffallen, Fehler stehen und treten Sie zurück.

Eine Alternative zu besonderen primitiven Funktionen ist die E/O Monad, was es den Programmen ermöglicht, nur E/A zu beschreiben, und die Aktionen werden außerhalb des Programms durchgeführt. Dies ist bemerkenswert, weil die I/o Funktionen würden einführen Nebenwirkungen zu jeder Programmiersprache, dies erlaubt es aber rein funktionelle Programmierung praktisch sein.

Kanal I/O

Kanal I/O Erfordert die Verwendung von Anweisungen, die speziell für E/A -Operationen ausgelegt sind. Die E/A -Anweisungen befassen sich mit dem Kanal oder dem Kanal und dem Gerät. Der Kanal zugreift asynchron auf alle anderen erforderlichen Adressen- und Steuerungsinformationen. Dies ist ähnlich wie DMA, aber flexibler.

Portkartierende I/O

Portkartierende I/O erfordert auch die Verwendung spezieller E/A -Anweisungen. In der Regel werden dem Gerät eine oder mehrere Ports mit jeweils einen besonderen Zweck zugeordnet. Die Portnummern befinden sich in einem separaten Adressraum von dem, der durch normale Anweisungen verwendet wird.

Direkter Speicherzugriff

Direkter Speicherzugriff (DMA) ist ein Mittel für Geräte, um große Datenbrocken unabhängig von der CPU in und vom Speicher zu übertragen.


Siehe auch

Verweise

  1. ^ a b Null, Linda; Julia Lobur (2006). Das Wesentliche der Computerorganisation und Architektur. Jones & Bartlett Learning. p. 185. ISBN 0763737690. Archiviert vom Original am 20. Dezember 2016. Abgerufen 11. Dezember 2016.
  2. ^ a b c Abd-El-Barr, Mostafa; Hesham El-Wrewini (2005). Grundlagen der Computerorganisation und Architektur. John Wiley & Sons. S. 161–162. ISBN 9780471478331. Archiviert Aus dem Original am 21. Dezember 2016. Abgerufen 11. Dezember 2016.

Externe Links

  • Medien im Zusammenhang mit Input/Output bei Wikimedia Commons