IO-Modul Computerarchitektur
IO-Modul Computerarchitektur
-Schnittstelle zum Prozessor und Speicher über den Systembus oder zentrale Schaltung.
Schnittstelle zu ein oder zwei Peripheriegeräten über maßgeschneiderte Datenverbindungen
Externe Geräte
Externe Geräte bieten die Möglichkeit, Daten zwischen der externen Umgebung und auszutauschen.
Der Computer. Ein externes Gerät ist über eine Verbindung zu einem I/O-Modul mit dem Computer verbunden. Die Verbindung ist
wurde verwendet, um Kontrolle, Status und Daten zwischen dem I/O-Modul und dem externen Gerät auszutauschen. Extern
Das Gerät wird als Peripheriegerät oder Peripherie bezeichnet. Es wird in drei Kategorien unterteilt:
-Menschenlesbar: geeignet für die Kommunikation mit Computerbenutzern. z.B. Bildschirm, Drucker
Tastatur usw.
-Maschinenlesbar: geeignet für die Kommunikation mit Geräten. Z.B. Magnetplatte,
Band, Sensor, Aktuator usw.
-Kommunikation: geeignet für die Kommunikation mit entfernten Geräten. Z.B. Modem, NIC usw.
—Steuerungssignale
Statussignal
Daten-Signal.
Daten liegen in Form einer Menge von Bits vor, die an ein I/O-Modul gesendet oder von diesem empfangen werden. Steuersignale
Bestimme die Funktion, die das Gerät ausführen wird. (z.B. Daten eingeben, Daten ausgeben,
Bestimmen Sie die Kopfposition usw.) Statussignale zeigen den Zustand des Geräts an. (z. B. bestätigen
Steuerlogik steuert den Geräteeinsatz gemäß Vorgaben vom I/O-Modul.
Der Wandler wandelt elektrische Signale in andere Energieformen für den Ausgang und in andere Formen um.
elektrische Signale für den Eingang. Puffer halten die Daten vorübergehend für den Wandler oder vom Wandler.
Tastatur/Montitor
•Es ist das häufigste Mittel der Interaktion zwischen Computer und Benutzer. Der Benutzer gibt Eingaben über ein.
Tastatur und es wird an den Computer übertragen und auf dem Monitor angezeigt.
Die Grundeinheit des Austauschs ist das Zeichen in Form von Code, wobei der häufigste 7-Bit-Code ist.
ASCII (American Standard Code for Information Interchange). Da es sich um einen 7-Bit-Code handelt, kann es darstellen
128 einzigartige Zeichen. Zwei Arten von Zeichen: druckbare und Steuerzeichen.
Festplattenlaufwerke
Enthält Elektronik für den Austausch von Daten, Steuer- und Statussignalen mit einem I/O-Modul und
Elektronik zur enthaltenen Lese-/Schreibmechanik von Festplatten. Zwei Arten von Festplatten:
Fester Kopf
2. Beweglicher Kopf
Der Festplattentransducer mit festem Kopf ist in der Lage, magnetische Muster auf einer sich bewegenden Festplatte und Bits umzuwandeln.
Gerätepuffer.
Der bewegliche Kopf des Festplattendiskus ermöglicht es dem Plattenarm, sich über die Festplattoberfläche hinein und heraus zu bewegen.
I/O-Module
Prozessorkommunikation
Gerätek comunicación
Datenpufferung
Fehlererkennung
In jedem Zeitraum kann der Prozessor mit einem oder mehreren externen Geräten kommunizieren, abhängig von
Bei Bedarf eines Programms müssen die internen Ressourcen unter einer Vielzahl von Aktivitäten geteilt werden.
einschließlich Daten I/O. Daher sind Steuerung und Timing für I/O erforderlich, um die Koordination zwischen
interne Ressourcen und externe Geräte. Zum Beispiel: Die Kontrolle des Transfers von Daten von einem externen
Gerät zum Prozessor könnte die folgenden Schritte beinhalten:
3 Wenn das Gerät bereit ist zu übertragen, fordert der Prozessor die Übertragung von Daten an, indem
Mittel zum Befehl an das I/O-Modul.
4 Das I/O-Modul erhält die Einheit der Daten vom externen Gerät.
Die Befehlscodierung – das I/O-Modul akzeptiert Befehle vom Prozessor, die als Steuersignale gesendet werden.
LESEN-BAU, SCHREIBEN-BAU, SUCHEN Spurnummer, SCANNEN Datensatz-ID usw.
Der Datenaustausch erfolgt zwischen dem Prozessor und dem I/O-Modul über das I/O-Modul.
Statusberichterstattung – Peripheriegeräte arbeiten langsam. Daher sollte der Status des I/O-Moduls sein
berichtet. BESCHÄFTIGT und BEREIT Signale.
Adressenerkennung – Jedes I/O-Gerät hat eine Adresse, sodass das I/O-Modul die eindeutige Adresse erkennt.
Adresse für jedes Peripheriegerät, das es steuert.
Die Datenübertragungsrate von Hauptspeicher und Prozessor ist im Vergleich zu externen Geräten hoch. Daten von
Der Hauptspeicher wird an das I/O-Modul gesendet und gepuffert, um sie mit der Rate der Peripheriegeräte zu senden.
Das Modul muss sowohl bei Geräte- als auch bei Geschwindigkeit im Speicherbetrieb funktionieren. Das I/O-Modul ist ebenfalls
verantwortlich für die Fehlererkennung. Es sollte auch den Fehler an den Prozessor melden. Fehler umfasst
Mechanische und elektrische Fehlfunktionen, die vom Gerät gemeldet werden (z. B. Papierstau). Ein weiterer Fehler
besteht aus Änderungen im Muster, während es vom Gerät zum I/O-Modul übertragen wird. Fehlererkennungscode
behandelt auch Übertragungsfehler.
I/O Modul Struktur
Das I/O-Modul verbindet den Rest der Computer über die Gruppe von Signalleitungen (Daten, Adresse
und Steuerleitungen). Daten, die an die CPU übertragen werden und von ihr empfangen werden, werden in Datenregistern gepuffert. Status
Die Funktionen des I/O-Moduls ermöglichen es dem Prozessor, eine Vielzahl von Geräten zu sehen. Es verbirgt die Details.
eines externen Geräts, damit ein Prozessor in Bezug auf einfaches Lesen und Schreiben funktionieren kann
Befehle.
Ein I/O-Modul, das den Großteil der detaillierten Verarbeitungslast übernimmt und ein hohes Niveau bietet.
Schnittstelle zum Prozessor wird normalerweise als I/O-Kanal oder I/O-Prozessor bezeichnet. Ein I/O
Ein Modul, das primitiv ist und detaillierte Kontrolle erfordert, wird als I/O-Controller oder -Gerät bezeichnet.
Controller. I/O-Controller sind auf Mikrocomputern und I/O-Kanälen in Großrechnern zu sehen.
—Programmiertes I/O
Unterbrechungsgesteuertes I/O
Bei programmiertem I/O führt der Prozessor ein Programm aus, das ihm die direkte Kontrolle über die I/O gibt.
Betrieb, einschließlich der Abfrage des Status des Eingabe-/Ausgabegeräts, des Sendens eines Lese- oder Schreibbefehls und der Übertragung
Die Ausführung von I/O-bezogenen Anweisungen erfolgt durch das Ausgeben eines Befehls an die
das entsprechende I/O-Modul. Das I/O-Modul führt die angeforderte Aktion aus und setzt die entsprechenden Bits in
das I/O-Statusregister. Der Prozessor überprüft regelmäßig den Status des I/O-Moduls, bis er
stellt fest, dass der Vorgang abgeschlossen ist.
E/A-Befehle: Bei E/A-bezogenen Anweisungen gibt der Prozessor eine Adresse an, die das E/A-Modul angibt.
und einen I/O-Befehl. Vier Arten von I/O-Befehlen werden empfangen:
—Kontrolle Es aktiviert Peripheriegeräte, um die erforderliche Aktion auszuführen. z.B. Spulen zurück.
Vorwärts, Pause auf einer magnetischen Disk usw.
—Test Überprüft die Statusbedingungen, die mit einem I/O-Modul und dessen verbunden sind
Peripheriegeräte. Der Prozessor überprüft die verfügbaren Peripheriegeräte. Er überprüft auch die
Die letzte Operation ist abgeschlossen oder nicht.
—Lesen Das I/O-Modul liest Daten von Peripheriegeräten und legt sie in einem internen Speicher ab.
Puffer. Der Prozessor erhält dann Daten, indem er das I/O-Modul auffordert, sie abzulegen.
Datenbus.
—Schreiben Das I/O-Modul nimmt Daten vom Datenbus und überträgt die Daten an
peripher
Über das programmierte I/O werden Daten von Peripheriegeräten in den Speicher gelesen. Die Daten werden in einem Wort (16
Bits) auf einmal. Für jedes gelesene Wort muss der Prozessor den Status überprüfen, ob das Wort verfügbar ist.
im I/O-Modul. Damit unterstützt es den Prozessor in jedem System zu jeder Zeit.
E/A-Anweisungen
Bei programmiertem I/O besteht eine Beziehung zwischen den I/O-bezogenen Anweisungen, die der Prozessor abruft.
von Speicher- und I/O-Befehlen, die der Prozessor an ein I/O-Modul gibt, um die auszuführen
Anweisungen. Anweisungen werden in I/O-Befehle abgebildet, die eine Eins-zu-Eins-Beziehung haben.
Beziehung.
Es gibt viele Geräte, die über ein I/O-Modul mit dem System verbunden sind. Jedes Gerät hat seine eigene
einzigartige Adresse. Wenn der Prozessor einen Befehl erteilt, enthält der Befehl die Adresse des Gewünschten.
Das Gerät. Das I/O-Modul muss die Adresse interpretieren.
Wenn Prozessor, Speicher und I/O einen gemeinsamen Bus teilen, sind zwei Adressierungsmodi möglich:
Speicherabbildung und isoliert. Speicherabbildung I/O hat einen einzigen Adressraum für den Speicher
Standorte und I/O-Geräte. Der Prozessor behandelt die Status- und Datenregister der I/O-Module als
Speicherorte und verwendet dieselben Anweisungen, um sowohl auf den Speicher als auch auf I/O-Geräte zuzugreifen. Z.B.
Für 10 Adresszeilen insgesamt 210=1024 Speicherorte und I/O-Adressen können sein
in beliebiger Kombination unterstützt.
Der speicherabgebildete I/O hat eine einzige Leseleitung und eine einzige Schreibleitung auf dem Bus. Der Bus kann sein
ausgestattet mit Speicherlese- und Schreibfunktionen sowie Ein- und Ausgabebefehlszeilen. Somit Befehlszeile
gibt an, ob die Adresse sich auf einen Speicherort oder ein I/O-Gerät bezieht.
Isolierte I/O-Unterstützung für sowohl I/O-Adressraum als auch Speicherdressraum, d.h. für 10 Adressen
Linien hat 1024 Speicherorte und 1024 I/O-Adressen. Z.B. liest 1 Byte Daten von
Tastatur zu Akku von
Prozessor.
7 6 5 4 3 2 1
0
z. B. 516
Tastatureingaberegister
517 7 6 5 4 3 2 1
0
Tastatureingabe-Statussteuerregister
Um die Zeit, die mit I/O-Operationen für die periodische Überprüfung des Status von I/O-Geräten verbracht wird, zu reduzieren
Bei programmiertem I/O kann die CPU einen unterbrechungsgetriebenen I/O-Ansatz verwenden. Dafür
Das I/O-Modul erhält Daten von Peripheriegeräten, während die CPU andere Arbeiten ausführt.
Die CPU erkennt und reagiert auf Interrupts am Ende des Befehlsausführungszyklus. Interrupt
Technik wird verwendet, um eine Vielzahl von Geräten zu unterstützen.
Interruptverarbeitung:
Das Auftreten von Interrupts löst eine Reihe von Ereignissen in der Prozessorhardware und -software aus.
Die folgende Abbildung zeigt die Sequenz:
Abb: Einfache Interrupt-Verarbeitung
Designprobleme
Zwei Entwurfsfragen treten bei der Implementierung von Interrupt-I/O auf.
[Link] bestimmt der Prozessor, welches Gerät die Unterbrechung ausgegeben hat?
[Link] mehrere Interrupts aufgetreten sind, wie entscheidet der Prozessor, welchen er behandeln soll?
Prozess?
[Link]-Arbitration (vektorisiert) – Ein I/O-Modul erhält die Kontrolle über den Bus, bevor es ansteigt.
die Interruptanforderungslinie. Somit kann nur ein Modul zur gleichen Zeit einen Interrupt auslösen.
Wenn der Prozessor einen Interrupt erkennt, reagiert er auf der Interrupt-Anerkennungslinie.
Mit mehreren Leitungen wählt der Prozessor die Interrupt-Leitung mit der höchsten Priorität. Mit Software
Polling, die Reihenfolge, in der Module abgefragt werden, bestimmt deren Priorität. Der gleiche Prozess gilt für
Hardware-Abfrage. Die Busarbitration verwendet ein Prioritätsschema durch die Verwendung eines Buscontrollers oder Bus.
Schiedsrichter.
Direkter Speicherzugriff
[Link] I/O-Übertragungsrate ist durch die Geschwindigkeit begrenzt, mit der der Prozessor testen kann und
das Gerät warten.
[Link] Prozessor ist mit der Verwaltung eines I/O-Transfers beschäftigt; eine Reihe von Anweisungen
muss für jede I/O-Übertragung ausgeführt werden.
Um diese Nachteile zu überwinden, wird der DMA verwendet, um die Daten zwischen dem Speicher und der I/O zu übertragen.
Gerät mit geringerem CPU-Eingriff. Große Datenmengen können zwischen dem Speicher übertragen werden.
und peripher, was die CPU-Leistung erheblich beeinträchtigt. DMA umfasst ein zusätzliches Modul auf
der Systembus. DMA übernimmt die Kontrolle des Systems von der Prozessor. Wenn der Prozessor lesen möchte
und schreibt einen Datenblock, er gibt einen Befehl an das DMA-Modul, indem er folgendes sendet
Information
Lese/Schreibanforderung
–Geräteadresse
Startadresse des Speicherblocks für Lese-/Schreibdaten
1. Burst-Modus - Die CPU gibt die Initialisierung der Anzahl von Bits an den DMA als Anweisung.
übernimmt die Kontrolle über den Systembus. Im Burst-Modus erfolgt der Datentransfer kontinuierlich, bis
Alle Daten sind übertragen. Dieser Modus wird für schnelle Geräte wie magnetische Festplatten benötigt.
wo die Datenübertragung nicht gestoppt oder verlangsamt werden kann. Es macht die CPU lange untätig.
Periode.
2. Zyklusdiebstahlsmodus - Der DMA-Controller überträgt ein Byte Daten und gibt dann die Kontrolle zurück
Systembusse zur CPU. Die CPU führt eine Anweisung aus, und dann überträgt der DMA-Controller einen
Datenwert. DMA stiehlt den Zyklus der CPU.
3. Transparenter Modus - Der DMA-Controller überträgt Daten nur, wenn die CPU arbeitet.
Betriebsarten, die keine Systembusse nutzen. Daher ist die CPU in diesem Fall nicht untätig. Aber wenn die CPU ist
Wenn der Bus ständig verwendet wird, kann der DMA die Kontrolle über den Systembus nicht übernehmen. Dieser Modus erfordert
Hardware zur Erkennung des Zustands der CPU.
CPU-Operationen IOP-Operationen
Wenn der Status in Ordnung ist, sende Start I/O Zugriffsspeicher für I/O-Programm
Anweisung an IOP
I/O-Übertragung abgeschlossen;
CPU unterbrechen
IOP-Status anfordern
Übertragung
Fortsetzen
I/O-Kanäle sind das Modul, das sich wie ein Prozessor mit einem speziellen Befehlssatz verhält.
Die CPU weist den Prozessor an, ein I/O-Programm im Speicher auszuführen. Der I/O-Prozessor holt ein
führt Anweisungen ohne Beteiligung der CPU aus. Die CPU wird nur unterbrochen, wenn I/O erfolgt.
Aktivitäten sind abgeschlossen.
Für I/O-Prozessoren hat das Modul seinen eigenen lokalen Speicher. Mit diesem großen Satz an I/O-Geräten kann man
kontrolliert mit minimalem Eingreifen der CPU. Es steuert die Kommunikation mit interaktiven
Terminals.
Der I/O-Kanal führt I/O-Anweisungen aus, die den I/O-Vorgang vollständig steuern. Die CPU tut dies nicht.
führt I/O-Anweisungen aus, während alle Anweisungen im Hauptspeicher gespeichert sind, die ausgeführt werden können.
durch I/O-Prozessor. Die CPU initiiert nur I/O-Kanäle, um Übertragungen durchzuführen. Die Anweisung spezifiziert
Gerät oder Geräte, Bereich oder Bereiche des Speicherplatzes, Priorität und zu ergreifende Maßnahmen.
1. Selektor - Ein Selektor steuert mehrere Hochgeschwindigkeitsgeräte, jedoch jeweils nur eines. I/O-Kanal
Wählt ein Gerät aus und der Datentransfer findet statt.
2. Multiplexer - Ein Multiplexer-Kanal kann mehrere I/O-Geräte gleichzeitig bedienen.
Ein Hochgeschwindigkeitsgerät, ein Blockmultiplexer, interleitet Datenblöcke von mehreren Geräten.
teuer.
Firewire-Konfigurationen:
Es verwendet eine Daisy-Chain-Konfiguration mit bis zu 63 Geräten, die über einen einzelnen Port angeschlossen sind. 1022 Feuer
Drahtbusse können durch Brücken miteinander verbunden werden, um viele Peripheriegeräte zu unterstützen.
FireWire ermöglicht Hot-Plugging, das heißt, es können Peripheriegeräte angeschlossen oder getrennt werden, ohne dass ...
Stromversorgung oder Umkonfiguration des Systems. Es bietet auch eine automatische Konfiguration, d.h. nicht
Es ist notwendig, IDs manuell festzulegen. Es sollte nicht streng verkettet sein; es kann auch baumartig sein.
Die Firewire-Technologie bietet ein dreilagiges Protokoll:
Transaktion Anforderungs-Antwort-Protokoll
Abbildung: Firewire-Protokollstapel
Physikalische Schicht
Die physikalische Schicht legt mehrere Übertragungsmedien und deren Anschlüsse mit unterschiedlichen physikalischen Eigenschaften fest.
und Eigenschaften der Datenübertragung. Datenraten von 25 bis 400 Mbps. Es wandelt binäre Daten in
elektrische Signale. Es bietet auch zwei Formen der Schlichtung.
Faire Schlichtung
Dringende Schiedsverfahren
Link-Schicht
Diese Schicht definiert die Übertragung von Daten in Form von Paketen. Zwei Übertragungsarten
—Isochron - Variable Menge von Daten in einer Sequenz von Paketen fester Größe sind
in regelmäßigen Abständen ohne Bestätigung übertragen.
InfiniBand
I/O-Spezifikation, die für High-End-Server entwickelt wurde. Version 1 wurde Anfang 2001 veröffentlicht. Es ist die
Architektur und Spezifikation für den Datenfluss zwischen Prozessor und intelligenten I/O-Geräten.
Infiniband soll PCI-Server ersetzen und deren Kapazität, Erweiterbarkeit und Flexibilität erhöhen.
InfiniBand-Architektur
Infiniband beseitigt die Notwendigkeit grundlegender I/O-Schnittstellenhardware. Dies ermöglicht eine größere Server
Dichte und ermöglicht ein flexibles und skalierbares Rechenzentrum, da unabhängige Knoten hinzugefügt werden können, wenn
Benötigt. Infiniband-Kanal ermöglicht es I/O-Geräte bis zu 17 m entfernt vom Server zu platzieren.
Kupfer, 300 m mit Multimode-Glasfaser und bis zu 10 km mit Monomode-Glasfaser.
Das zentrale Element dieser Architektur ist:
Host Channel Adapter (HCA) - HCA verbindet den Server mit einem Infiniband-Switch. HCA ist angeschlossen an
Speichercontroller, der Zugriff auf den Systembus hat und den Verkehr zwischen Prozessor und
Speicher und zwischen HCA und Speicher. Es verwendet DMA, um Speicher zu lesen und zu schreiben.
Infiniband-Switch - Ein Switch bietet Punkt-zu-Punkt-physische Verbindungen zu einer Vielzahl von Geräten
und schaltet den Verkehr von einem Link zu einem anderen. Der Switch wird für die Kommunikation zwischen
Server und Geräte durch Adapter. Sie verwalten die Verbindung, ohne den Server zu unterbrechen.
Operation.
Links - Verbindung zwischen Switch und Kanaladapter oder zwischen zwei Switches.
Subnetz - Besteht aus einem oder mehreren miteinander verbundenen Switches sowie Verbindungen, die andere Geräte anschließen.
Switches. Ein Subnetz ermöglicht es Administratoren, Broadcast- und Multicast-Übertragungen auf
das Subnetz.
Abb: Infiniband-Switch