-
Diese
Erfindung bezieht sich auf Verfahren und ein Gerät zum Verarbeiten von Eingabe/Ausgabe-Anforderungen,
indem ein Hostcomputer und eine Eingabe/Ausgabe-Steuereinheit durch
mehrere Kanalbusse verbunden werden, und insbesondere auf Verfahren
und ein Gerät
zum Verarbeiten von Eingabe/Ausgabe-Anforderungen durch Verwenden von Kanalbussen
mit verschiedenen Übertragungsgeschwindigkeiten.
-
1 zeigt
ein Beispiel eines Eingabe/Ausgabe-(I/O)-Teilsystems unter Verwendung von Magnetbandgeräten. Das
Eingabe/Ausgabe-Teilsystem ist aufgebaut aus: einer Magnetbandsteuereinheit 410,
die als Eingabe/Ausgabe-Steuereinheit dient; und mehreren Magnetbandlaufwerkeinheiten 412-1 bis 412-4,
von denen jede als Eingabe/Ausgabe-Einheit dient. Vorrichtung-IDs
#1 bis #4 sind für
die Magnetbandlaufwerkeinheiten 412-1 bis 412-4 definiert. Die
Magnetbandsteuereinheit 410 hat z. B. zwei Eingabe/Ausgabe-(I/O)-Ports 420-1 und 420-2. Portnummern
(A) und (B) sind für
die I/O-Ports 420-1 und 420-2 definiert. Kanaleinheiten 416-1 und 416-2 von Hostcomputern 414-1 und 414-2 sind
durch Kanalbusse 418-1 und 418-2 mit den I/O-Ports 420-1 und 420-2 verbunden.
Kanalnummern (A) und (B) sind für die
Kanaleinheiten 416-1 und 416-2 definiert. In der folgenden
Beschreibung werden die obigen Komponenten nur als Kanäle (A) und
(B) und Ports (A) und (B) ausgedrückt.
-
Nun
wird kurz eine Verarbeitungsoperation für eine Eingabe/Ausgabe-Anforderung
von dem Hostcomputer beschrieben. Es wird nun beispielsweise angenommen,
daß eine
Eingabe/Ausgabe-Anforderung
wie z. B. eine Schreibanforderung für ein in eine Magnetbandlaufwerkeinheit 412-1 geladenes Magnetband
von dem Hostcomputer 414-1 erzeugt wurde. Der Kanal (A)
des Hostcomputers 414-1 erzeugt zuerst eine Start-I/O-Anforderung
(Aktivierungsanforderung), welche eine Vorrichtungsmaschine Nr.
#1 der Magnetbandlaufwerkeinheit 412-1 bezeichnet, für den I/O-Port (A). Als Antwort
auf die Start-I/O-Anforderung von dem Port (A) unterscheidet die
Magnetbandsteuereinheit 410, ob der Port (B) mit dem Kanal
(B) gekoppelt wurde oder nicht. Wenn der Port (B) nicht gekoppelt
ist, akzeptiert die Magnetbandsteuereinheit 410 die Start-I/O-Anforderung für den Port
(A) und wird sie mit dem Kanal (A) gekoppelt und meldet als Antwort
ein normales Ende der Start-I/O-Anforderung und führt einen Übertragungsprozeß einer
Befehlssequenz aus.
-
Wenn
die Start-I/O-Anforderung von dem Kanal (A) durch den Port (A) empfangen
wird, wird, falls der Kanal (B) gekoppelt wurde, eine Belegt-Antwort
zurückgegeben.
Wenn der Übertragungsprozeß durch
die Kopplung des Kanals (B) und des Port (B) beendet ist, wird als
Status-Antwort ein Einheitsende von dem Port (B) an den Kanal (B)
gemeldet, und sie werden getrennt. In Verbindung mit der Trennung wird
auch ein Belegt-Ende, das eine Belegt-Aufhebung angibt, von dem
Port (A) an den Kanal (A) gemeldet. Eine Aktivierungsanforderung
wird wieder von dem Kanal (A) im Wartezustand an den Port (A) gemäß der Belegt-Antwort
durchgeführt.
-
In
der Eingabe/Ausgabe-Steuereinheit zum Verarbeiten von Eingabe/Ausgabe-Anforderungen von
solch einer Vielzahl von Kanälen
ist es notwendig, Dienste für
die Eingabe/Ausgabe-Anforderung jedes
Kanals äquivalent
auszuführen.
In dem Fall jedoch, in dem Übertragungsgeschwindigkeiten
der Kanalbusse sich unterscheiden oder in Abhängigkeit von dem Kanal, wie
z. B. einem elektrischen Kanalbus oder einem optischen Kanalbus,
ein verschiedenes Übertragungsprotokoll
verwendet wird, besteht eine Tendenz der Art, daß sich die Dienste einseitig auf
den Hochgeschwindigkeitskanal konzentrieren, so daß das Problem
der Reduzierung der Dienste für den
Kanal mit niedriger Geschwindigkeit besteht. Als Systemumgebung
liegen in vielen Fällen
der Hostcomputer mit hoher Geschwindigkeit und der Hostcomputer
mit niedriger/mittlerer Geschwindigkeit gemischt vor. Ferner sind
der Hostcomputer mit hoher Geschwindigkeit und der Hostcomputer
mit mittlerer/niedriger Geschwindigkeit so verbunden, daß sie über Kreuz
gerufen werden können.
In solch einem Fall tritt ein Problem auf, das dem obenerwähnten ähnlich ist.
Dieser Punkt wird nun mit Verweis auf 1 beschrieben.
Dabei wird z. B. angenommen, daß der
Kanal (A) ein Kanal mit niedriger Geschwindigkeit ist und der Kanal
(B) ein Kanal mit hoher Geschwindigkeit ist. Eine Eingabe/Ausgabe-Steuerung in
diesem Fall wird z. B. wie in dem Zeitdiagramm von 2 ausgeführt.
-
Wenn
eine Start-I/O-Anforderung 500 von dem Kanal (B) mit hoher
Geschwindigkeit an den Port (B) gesendet wird und eine Kopplungs-Abschlußantwort 502 durch
das normale Ende erhalten wird, werden Übertragungsprozesse 504 und 506 einer
Befehlssequenz zwischen dem Kanal B mit hoher Geschwindigkeit und
dem Port (B) ausgeführt.
Unter der Annahme, daß nun
eine Start-I/O-Port-Anforderung 508 von dem Kanal (A) mit
niedriger Geschwindigkeit für
den Port (A) während
der Periode der Übertragungsprozesse 504 und 506 erzeugt
wird, wird, da der Port (B) gekoppelt ist, eine Belegt-Antwort 510 zurückgegeben.
Nach Abschluß des Übertragungsprozesses 506 wird
ein Einheitsende 512 vom Port (B) zum Kanal (B) mit hoher
Geschwindigkeit zurückgegeben,
und die Kopplung wird getrennt. In Verbindung mit dem Einheitsende 512 wird
ein Belegt-Ende 514, das die Belegt-Aufhebung anzeigt, anschließend von
dem Port (A) zum Kanal (A) mit niedriger Geschwindigkeit im Wartezustand
der Belegt-Aufhebung zurückgegeben.
Wenn nun angenommen wird, daß die
nächste
Eingabe/Ausgabe-Anforderung von dem Kanal (B) mit hoher Geschwindigkeit
erzeugt wird, der das Einheitsende 512 empfing, wird sofort
eine Start-I/O-Anforderung 516 als
Aktivierungsanforderung von dem Kanal (B) mit hoher Geschwindigkeit
an den Port (B) ausgegeben. Nachdem eine Kopplungs-Abschlußantwort 518 erteilt
wurde, werden Übertragungsprozesse 520 und 522 wieder
ausgeführt.
Andererseits erkennt der Kanal (A) mit niedriger Geschwindigkeit,
der das Belegt-Ende 514 empfing, die Belegt-Aufhebung und erzeugt
eine Start-I/O-Anforderung 524 für den Port (A). Es dauert jedoch
eine Zeit, bis die Start-I/O-Anforderung 524 von dem Port
(A) empfangen wird, nachdem das Belegt-Ende 514 ausgegeben
wurde. Innerhalb dieser Zeitspanne ist der Port (B) durch die Start-I/O-Anforderung 516 von
dem Kanal (B) mit hoher Geschwindigkeit bereits gekoppelt. Daher
wird für
die Start-I/O-Anforderung 524 von dem Kanal (A) mit niedriger
Geschwindigkeit wieder eine Belegt-Antwort 526 von dem
Port (A) ausgegeben, und der Kanal (A) mit niedriger Geschwindigkeit
wartet wieder auf eine Belegt-Aufhebung. Solange Eingabe/Ausgabe-Anforderungen
an den Kanal (B) mit hoher Geschwindigkeit kontinuierlich ausgeführt werden,
wird daher ein Schleifenprozeß aus Start-I/O-Anforderung,
Belegt-Antwort und Belegt-Ende bei dem Kanal (A) mit niedriger Geschwindigkeit
wiederholt. Die Eingabe/Ausgabe-Anforderung wird nicht akzeptiert,
und die Dienste verschlechtern sich. Da solch ein Schleifenprozeß über eine
lange Zeit hinweg ausgeführt
wird, besteht im schlimmsten Fall das Problem des Auftretens einer Prüfbedingung,
so daß der
Hostcomputer des Kanals (A) mit niedriger Geschwindigkeit beurteilt,
daß in
der Kanaleinheit oder dem Eingabe/Ausgabe-Teilsystem irgendeine
Anormalität
aufgetreten ist. Je nach Steuerverfahren ist, wenn die Eingabe/Ausgabe-Anforderung
von dem Kanal mit hoher Geschwindigkeit kontinuierlich ausgeführt wird,
auch keine Zeit, um mit dem Belegt-Ende in Verbindung mit dem Ende
der Kopplung auf der Seite des Kanals mit hoher Geschwindigkeit
für den
Kanal (A) mit niedriger Geschwindigkeit zu antworten. In solch einem
Fall kann der Kanal mit niedriger Geschwindigkeit in dem eine Belegt-Aufhebung
abwartenden Zustand das Belegt-Ende nicht erhalten, selbst wenn
er eine lange Zeit auf die Belegt-Aufhebung wartet. Es tritt eine
Situation der Art auf, daß das
Warten auf eine Belegt-Aufhebung verstreicht und die Eingabe/Ausgabe-Anforderung
des Kanals mit niedriger Geschwindigkeit als Fehler beendet wird.
Als Verfahren zum Lösen
des obigen Problems, daß sich
die Dienste des Eingabe/Ausgabe-Steuergeräts einseitig auf einen bestimmten
Kanal konzentrieren, wie oben erwähnt, gibt es ein Verfahren,
bei dem die Priorität
der Route in Zeitmultiplex- oder zeit geteilter Weise so geändert wird,
daß die
Dienste für
jeden Eingabe/Ausgabe-Port äquivalent
verteilt werden.
-
3 zeigt
den Fall, wenn acht Kanäle
von Ports (A bis H) für
die Eingabe/Ausgabe-Steuereinheit vorgesehen sind. Prioritäten werden
den Ports (A bis H) durch Takte gemäß dieser Reihenfolge sequentiell
zugeordnet. Es wird nun z. B. angenommen, daß zur Zeit t0 Aktivierungsanforderungen
für alle Eingabe/Ausgabe-Ports
(A bis H) vorliegen. In diesem Fall gibt es einen Takt in einem
Schlitz des I/O-Ports (C), wird die Priorität eingestellt und wird die
Kopplung am I/O-Port
(C) akzeptiert. Bezüglich der
anderen I/O-Ports wird automatisch die Belegt-Antwort gemeldet.
Unter der Annahme nun, daß zur
Zeit t0 zwei Aktivierungsanforderungen der I/O-Ports (B und E) vorliegen, wird die
Kopplung des I/O-Port (E) für
einen Schlitz des I/O-Port (E) zur Zeit t1 akzeptiert, wenn der
Takt sich ändert.
Bezüglich des
I/O-Port (B) wird automatisch die Belegt-Antwort gemeldet. Solch
ein Verfahren zum zeitgeteilten Ändern
der Priorität
der Route ist in dem Fall effektiv, wenn jeder Kanalbus die gleiche
Leistungsfähigkeit und
auch das gleiche Protokoll wie z. B. ein elektrischer Kanalbus oder
optischer Kanalbus hat. In dem Fall jedoch, wenn die Übertragungsgeschwindigkeiten
verschieden oder die Protokolle verschieden sind, wobei ein elektrischer
Kanal und ein optischer Kanal gemischt existieren, ist das obige
Verfahren so nicht effektiv.
-
EP 287 301 (Tandem Computers
Inc.) offenbart ein vielseitiges Computersystem mit einer Vielzahl
von Hostprozessoren, Systembussen und I/O-Ports, geht aber nicht
die Frage des Ausgleichs der Nutzung von Kanälen mit verschiedenen Geschwindigkeiten
an.
-
Ein
Aspekt der vorliegenden Erfindung ist eine Vorrichtung, wie sie
in dem unabhängigen
Anspruch 1 definiert ist. Ein anderer Aspekt der Erfindung ist ein
Verfahren, wie es in dem unabhängigen Anspruch
4 definiert ist. Weitere Ausfüh rungsformen der
Erfindung sind in den jeweilig beigefügten abhängigen Ansprüchen spezifiziert.
-
Die
obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden aus der folgenden ausführlichen Beschreibung mit Verweis
auf die Zeichnungen ersichtlicher.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm eines herkömmlichen
Geräts;
-
2 ist
ein Zeitdiagramm eines Umlaufs eines Belegt-Einheitsendes, der bei einer herkömmlichen
Eingabe/Ausgabe-Steuerung
auftritt;
-
3 ist
ein erläuterndes
Diagramm einer herkömmlichen
Steuerung, bei der ein mit einem Takt synchronisierter Zeitschlitz
einem Eingabe/Ausgabe-Port zugeordnet wird;
-
4 ist
ein Blockdiagramm eines Systems, für das die Erfindung verwendet
wird;
-
5 ist
ein Blockdiagramm einer Eingabe/Ausgabe-Steuereinheit;
-
6 ist
ein Blockdiagramm der ersten Form eines I/O-Systems;
-
7 ist
ein Zeitdiagramm für
einen Prozeß, um
eine Aktivierungszeit in 6 zu messen;
-
8 ist
ein Zeitdiagramm für
einen Eingabe/Ausgabe-Prozeß in 6;
-
9 ist
ein Flußdiagramm
für den
Eingabe/Ausgabe-Prozeß in 6;
-
10 ist
ein Flußdiagramm
für einen
Prozeß,
um die Aktivierungszeit in 6 zu messen;
-
11 ist
ein Flußdiagramm
für einen
Prozeß,
um einen Wartezeit-Zeitgeber in 6 einzustellen;
-
12 ist
ein Blockdiagramm einer Abwandlung der ersten Form;
-
13 ist
ein Blockdiagramm der zweiten Form des I/O-Systems;
-
14 ist
ein Flußdiagramm
für einen
Eingabe/Ausgabe-Prozeß in 13;
-
15 ist
ein Blockdiagramm der dritten Form des I/O-Systems;
-
16 ist
ein Flußdiagramm
für einen
Eingabe/Ausgabe-Prozeß in 15;
-
17 ist
ein Blockdiagramm einer vierten Form des I/O-Systems;
-
18 ist
ein Zeitdiagramm für
einen Eingabe/Ausgabe-Prozeß in 17;
-
19 ist
ein Flußdiagramm
für den
Eingabe/Ausgabe-Prozeß in 17;
-
20 ist
ein Blockdiagramm einer fünften Form
des I/O-Systems;
-
21 ist
ein Zeitdiagramm für
einen Eingabe/Ausgabe-Prozeß in 20;
-
22 ist
ein Flußdiagramm
für den
Eingabe/Ausgabe-Prozeß in 20;
-
23 ist
ein Blockdiagramm einer Abwandlung der fünften Form des Systems;
-
24 ist
ein Blockdiagramm einer anderen Abwandlung der fünften Form;
-
25 ist
ein Blockdiagramm einer Form des I/O-Systems, die die vorliegende
Erfindung verkörpert;
und
-
26 ist
ein Zeitdiagramm für
einen Eingabe/Ausgabe-Prozeß in 25.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
[Systemaufbau]
-
4 zeigt
einen Systemaufbau als Hintergrund für die Erfindung, wobei Magnetbandgeräte als Laufwerkeinheiten
genutzt werden. In 4 sind acht Magnetbandlaufwerkeinheiten 12-1 bis 12-8 über eine
Vorrichtungsschnittstelle (I/F) 25 mit einer Magnetbandsteuereinheit 10 verbunden,
die als Eingabe/Ausgabe-(I/O)-Steuereinheit dient. Laufwerk-IDs
#1 bis #8 sind für
die Magnetbandlaufwerkeinheiten 12-1 bis 12-8 voreingestellt.
In der Ausführungsform
weist die Magnetbandsteuereinheit 10 acht Eingabe/Ausgabe-Ports 20-1 bis 20-8 auf.
Portnummern (A bis H) sind für
die I/O-Ports 20-1 bis 20-8 definiert. In der
folgenden Beschreibung werden die Portnummern (A bis H) einfach
als Ports (A bis H) ausgedrückt.
Kanaleinheiten 16-1 bis 16-8, die für Hostcomputer 14-1 bis 14-8 vorgesehen
sind, sind jeweilig über
Kanalbusse 18-1 bis 18-8 mit den Ports (A bis
H) der Magnetbandsteuereinheit 10 verbunden. Kanalnummern
(A bis H) sind für
die Kanaleinheiten 16-1 bis 16-8 definiert. In
der folgenden Beschreibung werden die Kanalnummern (A bis H) einfach
als Kanäle
(A bis H) ausgedrückt.
Die Kanäle
(A bis H) der Hostcomputer 14-1 bis 14-8 und die
Kanalbusse 18-1 bis 18-8 zwischen den Ports (A
bis H) der Magnetbandsteuereinheit 10 weisen jeweilig spezielle Übertragungsgeschwindigkeiten
auf. Zum Beispiel ist der den Kanal (A) und den Port (A) verbindende
Kanalbus 18-1 ein elektrischer Kanalbus, und seine Übertragungsgeschwindigkeit
ist auf 4,5 MBs eingestellt. Eine Block-Multiplex-Kanalschnittstelle
(BMC), die von IBM Corporation hergestellt wird, kann als elektrischer
Kanalbus 18-1 verwendet werden. Der den Kanal (B) und den
Port (B) verbindende Kanalbus 18-2 ist z. B. ein optischer
Kanalbus, und dessen Übertragungsgeschwindigkeit
ist bis zu 9 MBs hoch. Ein ESCON-Kanal, der von IBM Corporation
hergestellt wird, kann z. B. als optischer Kanalbus 18-2 verwendet
werden. Bezüglich
der verbleibenden Kanalbusse 18-3 bis 18-8 werden
Kanalbusse verwendet, die jeweils eine spezielle Übertragungsgeschwindigkeit
haben. Es reicht aus, zumindest zwei Kanalbusse mit einer hohen Übertragungsgeschwindigkeit
und einer niedrigen Übertragungsgeschwindigkeit
vorzusehen. Zum Beispiel bildet der elektrische Kanalbus 18-1 mit
der Übertragungsgeschwindigkeit
von 4,5 MBs den Kanalbus mit niedriger Geschwindigkeit. Auf der
anderen Seite bildet der den optischen Kanalbus nutzende Kanalbus 18-2 den
Kanalbus mit hoher Geschwindig keit, weil die Übertragungsgeschwindigkeit 9 MBs
beträgt.
In der folgenden Beschreibung wird der Kanal (A) des Kanalbusses 18-1 mit
niedriger Geschwindigkeit als Kanal mit niedriger Geschwindigkeit
bezeichnet. Der Kanal (B) des Kanalbusses 18-2 mit hoher Geschwindigkeit wird
als Kanal mit hoher Geschwindigkeit bezeichnet. Bezüglich der
Ports (A und B) wird ähnlich
auch der Port (A) als Eingabe/Ausgabe-Port mit niedriger Geschwindigkeit bezeichnet,
und der Port (B) wird als Eingabe/Ausgabe-Port mit hoher Geschwindigkeit
bezeichnet.
-
5 zeigt
einen Hardwareaufbau der Magnetbandsteuereinheit 10 in 4.
Die Magnetbandsteuereinheit 10 ist aus einem Host-Schnittstellenteil 24,
einem Pufferspeicher 26, einem Formatiererteil 28 und
einer Kommunikationsinformationsspeichertabelle 30 aufgebaut.
Der Host-Schnittstellenteil 24 weist eine MPU 32,
eine Firmware 34 und einen Schnittstellenprozessor 36 auf.
Die Ports (A bis H), die durch die Eingabe/Ausgabe-Porteinheiten 20-1 bis 20-8 realisiert
sind, mit denen die Kanalbusse von den Hostcomputern verbunden sind,
sind für
den Schnittstellenprozessor 36 vorgesehen. Eine MPU 38,
Firmware 40 und ein Formatprozessor 42 sind für den Formatiererteil 28 vorgesehen.
Eingabe/Ausgabe-Steuerungen werden durch die MPU 32, Firmware 34 und
den Schnittstellenprozessor 36 ausgeführt, die für den Host-Schnittstellenteil 24 vorgesehen
sind. Daten, welche zwischen den Hostcomputern und den Magnetbandlaufwerkeinheiten
gesendet und empfangen werden, werden in dem Pufferspeicher 26 vorübergehend
gespeichert. Durch die Datenübertragung über den
Pufferspeicher 26 werden die Übertragung zwischen der I/O-Steuereinheit 10 und
dem Kanal sowie die Übertragung
zwischen der I/O-Steuereinheit 10 und der Seite der Magnetbandlaufwerkeinheiten
asynchron ausgeführt.
Wenn eine Aktivierungsanforderung für einen der Ports (A bis H)
des Schnittstellenprozessors 36 empfangen wird, akzeptiert
die für
den Host-Schnittstellenteil 24 vorgesehene MPU 32 die
Aktivierungsanforderung unter der Bedingung, daß die anderen Ports nicht gekoppelt sind,
koppelt mit dem Kanalbus und führt
einen Übertragungsprozeß eines
Kanalbefehlswortes basierend auf einer Eingabe/Ausgabe-Anforderung von
dem Hostcomputer aus. Der Kanalbefehl enthält im allgemeinen eine Befehlskettung
wie z. B. kontinuierliche verschiedene Befehlsworte, um eine Reihe von
Befehlssequenzen zu realisieren, und eine Datenkettung, um einen
Lesebefehl oder einen Schreibbefehl wiederholt zu übertragen,
um die Daten auf Blockeinheitsbasis zu übertragen.
-
Jedesmal,
wenn die Datenübertragung durch
den Kanalbefehl einmal ausgeführt
ist, erzeugt die Kanaleinheit eine Start-I/O-Anforderung (Start-I/O-Befehl) für den entsprechenden
Port der Magnetbandsteuereinheit 10, wodurch eine Aktivierungsanforderung
ausgeführt
wird. Zur Zeit der Aktivierungsanforderung wird gewöhnlich eine
der Laufwerk-IDs #1 bis #8 der Magnetbandlaufwerkeinheiten bezeichnet.
Der Schnittstellenprozessor 36 überwacht die Start-I/O-Anforderungen
von den Kanalbussen für
die Ports (A bis H). Wenn die Start-I/O-Anforderung erkannt wird, gibt der Schnittstellenprozessor 36 eine
Kopplungs-Abschlußantwort,
die ein normales Ende für
den Start-I/O-Befehl angibt, unter der Bedingung zurück, daß die anderen
Ports nicht gekoppelt sind. In dem Fall, wenn ein anderer Port gekoppelt
ist, wenn die Start-I/O-Anforderung empfangen wird, gibt der Schnittstellenprozessor 36 grundsätzlich eine
Belegt-Antwort zurück.
Die MPU 32 decodiert den Befehl von der Kanalseite, der über den Schnittstellenprozessor 36 empfangen
wurde, und schreibt verschiedene Arten von Informationen wie z. B.
Parameter und dergleichen, welche notwendig sind, um die Magnetbandlaufwerkeinheiten
zu steuern, in die Kommunikationsinformationsspeichertabelle 30.
Die Daten, die übertragen
werden, um die Magnetbandlaufwerkeinheiten zu beschreiben, werden
in den Pufferspeicher 26 geschrieben. Die MPU 38 des
Formatiererteils 28 verweist asynchron mit der MPU 32 zyklisch
auf die Kommunikationsinformationsspeichertabelle 30. Wenn
die zur Steuerung der Magnetbandlaufwerkeinheiten oder Datenübertragung
notwendigen Informationen erkannt werden, weist die MPU 38 die
Verarbeitungsoperation für
verschiedene Arten von Steuerungen und die Datenübertragung für die Magnetbandlaufwerkeinheit
mit der bezeichneten Laufwerk-ID über den Formatprozessor 42 an.
Die MPU 38 detektiert zyklisch Zustände der Magnetbandlaufwerkeinheiten 12-1 bis 12-8 und
schreibt die Detektionsergebnisse in die Kommunikationsinformationsspeichertabelle 30.
Wenn ein Abfragebefehl, um die Zustände der Magnetbandlaufwerkeinheiten
zu bestätigen,
von dem Host-Schnittstellenteil 24 von der Kanalseite empfangen
wird, erkennt daher die MPU 32 die Zustände der Magnetbandlaufwerkeinheiten
durch Bezugnahme auf die Kommunikationsinformationsspeichertabelle 30 und
kann auf einen Statusbefehl antworten. Ferner ist für den Schnittstellenprozessor 36 eine
Funktion, wie z. B. ein Komprimier- und Expandierteil zum Komprimieren
der Übertragungsdaten
vom Kanalbus, zum anschließenden
Schreiben der komprimierten Übertragungsdaten
in den Pufferspeicher 26, zum Expandieren der aus der Magnetbandlaufwerkeinheit
zum Pufferspeicher 26 ausgelesenen komprimierten Lesedaten
in die ursprünglichen
Daten und zum Senden der expandierten ursprünglichen Daten an den Kanalbus
vorgesehen. Was den Datenkomprimier- und Expandierprozeß anbelangt,
kann durch ein Bit-Flag eines Einstellbefehls, der bei der ersten
einer Lese- oder Schreibanforderung gesendet wird, bestimmt werden,
ob die Daten expandiert oder komprimiert werden oder verarbeitet
werden wie sie sind. Andererseits sind eine CRT 35 und
eine Tastatur 45 als optionale Vorrichtungen über eine Vorrichtungsschnittstelle 25 vorgesehen.
Der Bediener kann folglich von außen verschiedene Arten von Parametern
einstellen, die für
die Eingabe/Ausgabe-Steuerungen
der MPU 32 des Host-Schnittstellenteils 24 notwendig
sind. Steuerparameter der MPU 32 können ebenfalls eingestellt
werden, indem eine CRT und eine Tastatur auf der Hostcomputerseite
verwendet werden.
-
[Lernprozeß]
-
6 zeigt
eine Ausführungsform
der Stammanmeldung und bezieht sich auf ein Beispiel in dem Fall,
wenn zwei Ports (A und B) für
die Magnetbandsteuereinheit 10 vorgesehen sind. Ein Routen-Steuerteil 46 ist
für die
Magnetbandsteuereinheit 10 vorgesehen und dient als Kanalschalter,
um auf der Basis einer Aktivierungsanforderung von dem Kanalbus an
den Port (A) oder Port (B) einen der Ports auszuwählen. Zeitgeber 52 und 58 sind
für die
Ports (A bzw. B) vorgesehen. Die Zeitgeber 52 und 58 werden aktiviert,
wenn von den Ports (A und B) ein Belegt-Ende an die Kanalbusse als
Antwort gemeldet wird, und werden gestoppt, wenn die Aktivierungsanforderungen
von den Kanalbussen danach empfangen werden. Genauer gesagt ist
die Aktivierungszeit, welche durch jeden der Zeitgeber 52 und 58 gemessen
wird, eine Zeit von einem Zeitpunkt an, wenn das Belegt-Ende in
Verbindung mit dem Ende der Kopplung der anderen Ports als Antwort
gemeldet wird, nachdem die Belegt-Antwort an den Kanalbus erfolgte, bis
zu einem Zeitpunkt, wenn die Aktivierungsanforderung von dem Kanal
in einem auf eine Belegt-Aufhebung wartenden Zustand, der das Belegt-Ende
empfing, durch den Port empfangen wird. Die Aktivierungszeit selbst
stellt daher eine Zeit dar, zu der der Kanal ein Einheitsende in
dem auf eine Belegt-Aufhebung wartenden Zustand empfängt und wieder
eine Aktivierungsanforderung erzeugt. Die Aktivierungszeit hängt von
einer Übertragungsgeschwindigkeit
des Kanalbusses ab. Der Port (A) ist ein Port mit niedriger Geschwindigkeit,
der mit dem Kanalbus 18-1 mit niedriger Geschwindigkeit
verbunden ist. Der Port (B) ist ein Port mit hoher Geschwindigkeit,
der mit dem Kanalbus 18-2 mit hoher Geschwindigkeit verbunden
ist. Daher ist eine Aktivierungszeit T1 des Port (A) mit niedriger
Geschwindigkeit, die durch den Zeitgeber 52 gemessen wird,
länger
als eine Aktivierungszeit T2 des Port (B) mit hoher Geschwindigkeit,
die durch den Zeitgeber 58 gemessen wird. Ein Aktivierungszeitmessungs-Speicherteil 48 speichert
die Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit
und die Aktivierungszeit T2 des Port (B) mit hoher Geschwindigkeit, welche
durch die Zeitgeber 52 und 58 gemessen wurden.
Ferner ist für
die Magnetbandsteuereinheit 10 ein Belegt-Verhältnismessungs-Speicherteil 50 vorgesehen.
Der Belegt-Verhältnismessungs-Speicherteil 50 berechnet
und speichert Belegt-Verhältnisse
R1 und R2 bei allen Ports (A und B), indem Zählwerte eines Aktivierungszahl-Zählers 54 und
eines Belegt-Zahl-Zählers 56,
die für
den Port (A) vorgesehen sind, bzw. Zählwerte eines Aktivierungszahl-Zählers 60 und
eines Belegt-Zahl-Zählers 62, die
für den
Port (B) vorgesehen sind, verwendet werden. Wenn z. B. der Port
(A) betrachtet wird, wird der Aktivierungszahl-Zähler 54 jedesmal
hochgezählt, wenn
eine Aktivierungsanforderung von dem Kanalbus 18-1 an den
Port (A) existiert, und dessen Zählwert
zeigt die Gesamtzahl von Aktivierungsanforderungen während der
Operation für
den Port (A) an. Der Belegt-Zahl-Zähler 56 zählt die
Zahl von Malen einer Belegt-Antwort, die von dem anderen Port (B) ausgeführt wurde,
welcher schon gekoppelt war, unter den Aktivierungsanforderungen
an den Port (A). Jedesmal wenn der Aktivierungszahl-Zähler 54 hochzählt, nämlich wann
immer es eine Aktivierungsanforderung gibt, teilt der Belegt-Verhältnismessungs-Speicherteil 50 den
Zählwert
des Belegt-Zahl-Zählers 56 durch
den Zählwert
des Aktivierungszahl-Zählers 54,
wodurch das Belegt-Verhältnis R1
des Port (A) berechnet wird. Dieser Punkt soll ebenfalls ähnlich Anwendung
finden für
den Aktivierungszahl-Zähler 60 und
den Belegt-Zahl-Zähler 62 des
Port (B). Jedesmal, wenn die Aktivierungsanforderung empfangen wird,
wird der Wert des Belegt-Zahl-Zählers 62 durch
den Wert des Aktivierungszahl-Zählers 60 geteilt,
wodurch das Belegt-Verhältnis
R2 des Port (B) berechnet und gespeichert wird. Der Aktivierungszeitmessungs-Speicherteil 48 speichert übrigens
nicht die Aktivierungszeiten T1 und T2 der Ports (A und B), die
von den Zeitgebern 52 und 58 gemessen wurden,
wie sie sind, sondern speichert sie getrennt nach einer maximalen Zeit
Tmax, einer minimalen Zeit Tmin und einer durchschnittlichen Zeit
Tav, weil die Aktivierungszeit in Abhängigkeit von der Situation
zu dieser Zeit verschieden ist. Wenn die maximale Zeit Tmax gespeichert
wird, wird die maximale Zeit Tmax, die bis zur vorhergehenden Zeit
erhalten wurde, mit einer zu dieser Zeit erhaltenen Aktivierungszeit
(T) verglichen. Wenn die Aktivierungszeit (T) größer ist, wird die bisherige
maximale Zeit Tmax aktualisiert. Wenn die Aktivierungszeit (T) kleiner
ist, wird die bisherige maximale Zeit Tmax so gelassen. Die minimale
Zeit Tmin wird ebenfalls in einer zu der obenerwähnten ähnlichen Art und Weise aktualisiert.
Die durchschnittliche Zeit Tav kann erhalten werden, indem die Summe
der Aktivierungszeiten bis zum gegenwärtigen Zeitpunkt durch die
Anzahl der Male der Aktivierungsanforderungen geteilt wird. Wenn
die Summe aller Aktivierungszeiten erhalten wird, ist es, da eine Datenbitlänge zu lang
ist, wünschenswert,
einen gleitenden Durchschnitt von jeder vorbestimmten Zahl von Aktivierungszeiten
zu berechnen. Wenn die Aktivierungsanforderung an den Port (B) mit
hoher Geschwindigkeit empfangen wird, führt der Routen-Steuerteil 46 eine
Kopplungs-Abschlußantwort nicht
sofort aus, selbst wenn der Port (A) in einem Nichtkopplungszustand
ist, sondern vergleicht die Belegt-Verhältnisse R1 und R2 der Ports
(A und B) und führt
eine Routensteuerung aus, um die Belegt-Verhältnisse R1 und R2 bezüglich des
Belegt-Verhältnismessungs-Speicherteils 50 auszugleichen.
Im allgemeinen ist das Belegt-Verhältnis R1 auf der Seite des
Port (A) mit niedriger Geschwindigkeit groß, und das Belegt-Verhältnis R2
des Port (B) mit hoher Geschwindigkeit ist klein. Daher wird aus
dem Aktivierungszeitmessungs-Speicherteil 48 die Aktivierungszeit
T1 des Port (A) mit niedriger Geschwindigkeit mit einem großen Belegt-Verhältnis ausgelesen.
Für die
Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit,
die ausgelesen wurde, stellt der Port (B) eine Wartezeit auf die
Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit ein.
Wenn es während
der Wartezeit T1 der Aktivierungsanforderung an den Port (A) eine
Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit
gibt, koppelt der Routen-Steuerteil 46 den Port (A) mit
dem Kanalbus 18-1 und führt
den Übertragungsprozeß aus und
gibt die Belegt-Antwort an den Port (B) mit hoher Geschwindigkeit
zurück,
für den
die Aktivierungsanforderung schon ausgeführt wurde. Die Seite des Port
(A) mit niedriger Geschwindigkeit mit dem hohen Belegt-Verhältnis akzeptiert somit
vorzugsweise die Aktivierungsanforderung und kann das Belegt-Verhältnis mit
dem des Port (B) mit hoher Geschwindigkeit fast ausgleichen. Da
die maximale Zeit Tmax, die durchschnittliche Zeit Tav und die minimale
Zeit Tmin in den Aktivierungszeitmessungs-Speicherteil 48 als
eine Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit
gespeichert wurden, wird die Wartezeit der Aktivierungsanforderung
für den
Port (A) mit niedriger Geschwindigkeit wie folgt z. B. aus der Beziehung
zwischen den Belegt-Verhältnissen
R1 und R2 der Ports (A und B) eingestellt.
- I.
Wenn R1 > R2 gilt,
wird die maximale Zeit Tmax als Wartezeit eingestellt.
- II. Wenn R1 = R2 gilt, wird die durchschnittliche Zeit Tav als
Wartezeit eingestellt.
- III. Wenn R1 < R2
gilt, wird die minimale Zeit Tmin als Wartezeit eingestellt.
-
7 ist
ein Zeitdiagramm für
einen Aktivierungszeit-Meßprozeß in 6.
Wenn nun der Hostcomputer 14-2 eine Start-I/O-Anforderung 100 an den
Port (B) erzeugt, wird, da der Port (A) in diesem Fall nicht genutzt
wird, eine Kopplungs-Abschlußantwort 102,
die das normale Ende anzeigt, zurückgegeben, und der Kanal (B)
und der Port (B) führen Übertragungsprozesse 104 und 106 aus.
Nimmt man nun an, daß während der
Zeitspannen der Übertragungsprozesse 104 und 106 eine
Start-I/O-Anforderung 108 von dem Kanal (A) mit niedriger
Geschwindigkeit erzeugt wird, wird von dem Port (A) mit niedriger
Geschwindigkeit eine Belegt-Antwort 110 zurückgege ben.
Nach Abschluß des Übertragungsprozesses wird
ein Einheitsende 112 von dem Port (B) mit hoher Geschwindigkeit
an den Kanal (B) mit hoher Geschwindigkeit gemeldet. Anschließend wird
ein Belegt-Ende 114 von dem Port (A) mit niedriger Geschwindigkeit
an den Kanal (A) mit niedriger Geschwindigkeit in dem auf eine Belegt-Aufhebung
wartenden Zustand ausgegeben. Als Antwort auf das Belegt-Ende 114 erkennt
der Kanal (A) mit niedriger Geschwindigkeit die Belegt-Aufhebung
und erzeugt eine Start-I/O-Anforderung 116. Der Zeitgeber 52 in 6 mißt die Zeit
T1 von der Antwort mit dem Belegt-Ende 114 am Port (A) mit niedriger
Geschwindigkeit bis zum Empfang der Start-I/O-Anforderung 116 als
Aktivierungszeit. Der Port (A) mit niedriger Geschwindigkeit, der
die Start-I/O-Anforderung 116 empfing, erzeugt
eine Kopplungs-Abschlußantwort 118,
die das normale Ende anzeigt. Beim Kanal (A) mit niedriger Geschwindigkeit
und Port (A) mit niedriger Geschwindigkeit werden Übertragungsprozesse 120 und 122 ausgeführt. Nimmt
man nun an, daß eine Start-I/O-Anforderung 124 von
dem Kanal (B) mit hoher Geschwindigkeit während der Zeitspannen der Übertragungsprozesse 120 und 122 erzeugt
wird, wird von dem Port (B) mit hoher Geschwindigkeit eine Belegt-Antwort 126 zurückgegeben.
Nach Abschluß des Übertragungsprozesses
wird ein Einheitsende 128 von dem Port (A) mit niedriger
Geschwindigkeit an den Kanal (A) mit niedriger Geschwindigkeit gemeldet.
Anschließend
wird von dem Port (B) mit hoher Geschwindigkeit ein Belegt-Ende 130 an
den Kanal (B) mit hoher Geschwindigkeit in dem auf eine Belegt-Aufhebung
wartenden Zustand ausgegeben. Als Antwort auf das Belegt-Ende 130 erkennt
der Kanal (B) mit hoher Geschwindigkeit die Belegt-Aufhebung und
erzeugt eine Start-I/O-Anforderung 132. Der Zeitgeber 58 in 6 mißt eine
Zeit T2 von der Antwortmeldung des Belegt-Endes 130 am
Port (B) mit hoher Geschwindigkeit bis zum Empfang der Start-I/O-Anforderung 132 als
Aktivierungszeit.
-
8 zeigt
Eingabe/Ausgabe-Steuerungen durch den Routen-Steuerteil 46 unter
Verwendung einer Speicherzeit des Aktivierungszeitmessungs-Speicherteils 48 in 6.
Nimmt man nun an, daß eine
Start-I/O-Anforderung 142 von dem Kanal (B) mit hoher Geschwindigkeit
an den Kanal (B) mit hoher Geschwindigkeit erzeugt wird und es eine Start-I/O-Anforderung 148 vom
Kanal (A) mit niedriger Geschwindigkeit während Zeitperioden gibt, während derer Übertragungsprozesse 145 und 146 gemäß einer
Kopplungs-Abschlußantwort 144 ausgeführt werden,
wird eine Belegt-Antwort 150 erteilt. Wenn die Übertragungsprozesse 145 und 146 in
dem auf eine Belegt-Aufhebung wartenden Zustand des Kanals (A) mit
niedriger Geschwindigkeit beendet werden und ein Einheitsende 152 ausgegeben
wird und ein Belegt-Ende 154 von dem Port (A) mit niedriger
Geschwindigkeit in Verbindung damit erzeugt wird, wird eine auf
der Aktivierungszeit T1 basierende Wartezeit (T) eingestellt. Während einer
Wartezeit T0 wird zuerst eine Start-I/O-Anforderung 156 von
dem Kanal (B) mit hoher Geschwindigkeit an den Port (B) mit hoher
Geschwindigkeit ausgeführt.
Da jedoch solch eine Anforderung in der Wartezeit T0 durchgeführt wird,
wird die Start-I/O-Anforderung 156 nicht akzeptiert, sondern
abgewartet. Anschließend
erzeugt der Kanal (A) mit niedriger Geschwindigkeit eine Start-I/O-Anforderung 158 nach
Verlauf einer Zeit T1' von
dem Empfang des Belegt-Endes 154 an. In diesem Fall liegt
die Magnetbandsteuereinheit 10 innerhalb der Wartezeit
(T), während
der die Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit
vorzugsweise durch das Einstellen der Wartezeit (T) ausgeführt wird,
akzeptiert die Steuereinheit 10 die Start-I/O-Anforderung 158 und
gibt eine Kopplungs-Abschlußantwort 160 zurück und führt Übertragungsprozesse 162 und 164 aus.
Anschließend
wird eine Belegt-Antwort 166 auf
die Start-I/O-Anforderung 156 von dem Port (B) mit hoher
Geschwindigkeit an den Kanal (B) mit hoher Geschwindigkeit zurückgegeben.
Nach Abschluß der Übertragungsprozesse 162 und 164 wird
ein Einheitsende 168 erzeugt, und ein Belegt-Ende 170 wird ebenfalls
erzeugt. Übertragungsprozesse 174 und 176 gemäß der Kopplung
des Kanals (B) mit hoher Geschwindigkeit und des Port (B) mit hoher
Geschwindigkeit werden ausgeführt.
Wie oben erwähnt wurde,
wird, wenn die Aktivierungsanforderung an den Port (B) mit hoher
Geschwindigkeit akzeptiert wird, die Wartezeit (T) über die
Aktivierungszeit auf der Seite des Port (A) mit niedriger Geschwindigkeit vorgesehen,
und die Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit
wird vorzugsweise verarbeitet. Selbst wenn die Aktivierungsanforderung
an den Port (B) mit hoher Geschwindigkeit andauert, kann, solange
es eine Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit gibt,
sie normalerweise akzeptiert und verarbeitet werden. Eine Situation
der Art, daß die
Dienste der Seite des Port (B) mit hoher Geschwindigkeit einseitig
zugeordnet werden, kann verhindert werden.
-
Das
Flußdiagramm
von 9 bezieht sich auf einen Eingabe/Ausgabe-Steuerprozeß unter
Verwendung der Aktivierungszeiten und Belegt-Verhältnisse
in 6. Wenn es bei Schritt S1 eine Aktivierungsanforderung
gibt, geht die Verarbeitungsroutine zu Schritt S2 über, und
es wird eine Prüfung
vorgenommen, um zu sehen, ob der Port jener Port mit hoher Geschwindigkeit
ist oder nicht. Falls JA, folgt Schritt S3. Zum Beispiel wird die
beim Port mit niedriger Geschwindigkeit gemessene Aktivierungszeit T1
als Wartezeit (T) in den Zeitgeber gesetzt. Bis die Aktivierungszeit
(T1) bei Schritt S4 abgelaufen ist, wird bei Schritt S5 die Aktivierungsanforderung
an den Port mit niedriger Geschwindigkeit geprüft. Wenn bei Schritt S5 beurteilt
wird, daß es
während
der Aktivierungszeit T1 eine Aktivierungsanforderung beim Port mit
niedriger Geschwindigkeit gibt, folgt Schritt S6, und der Port mit
niedriger Geschwindigkeit wird mit dem Kanal mit niedriger Geschwindigkeit
gekoppelt, und der Übertragungsprozeß wird gestartet.
Zur gleichen Zeit erfolgt bei Schritt S7 eine Belegt-Antwort von
dem Port mit hoher Geschwindigkeit an den Kanal mit hoher Geschwindigkeit.
Wenn der Abschluß der Übertragungsprozesse
auf der Seite mit niedriger Geschwindigkeit bei Schritt S8 beurteilt wird,
wird von dem Port mit niedriger Geschwindigkeit bei Schritt S9 ein
Einheitsende ausgegeben, und von dem Port mit hoher Geschwindigkeit
wird ein nächstes
Belegt-Ende ausgegeben. Daher wird von dem Port mit hoher Geschwindigkeit
wieder die Aktivierungsanforderung in dem auf eine Belegt-Aufhebung
wartenden Zustand ausgeführt.
Die Verarbeitungsroutine wird wieder zum Prozeß bei Schritt S1 zurückgeführt. Wenn
die Aktivierungsanforderung von dem Port mit niedriger Geschwindigkeit
bei Schritt S2 beurteilt wird, folgt Schritt S10, und der Port mit
niedriger Geschwindigkeit wird mit dem Kanal gekoppelt, und die Übertragungssteuerung
wird unter der Bedingung ausgeführt,
daß der
Port mit hoher Geschwindigkeit nicht gekoppelt ist. Falls der Port
mit hoher Geschwindigkeit gekoppelt wurde, werden gewöhnliche
Prozesse ausgeführt,
so daß ein
Steuerungseinheitsende von dem Port mit niedriger Geschwindigkeit
als Antwort gemeldet wird und das Gerät wegen der Antwort mit dem
Steuerungseinheitsende bis zum Ende der Kopplung des Port mit hoher
Geschwindigkeit wartet und wieder die Aktivierungsanforderung an
den Port mit niedriger Geschwindigkeit vorgenommen wird.
-
Das
Flußdiagramm
von 10 bezieht sich auf die Verarbeitungsoperation
des Aktivierungszeitmessungs-Speicherteils 48 in 6.
Die Verarbeitungsoperation wird für jeden Port (A oder B) unabhängig ausgeführt. Im
Fall des Port (A) z. B. wird eine Prüfung bei Schritt S1 vorgenommen,
um zu sehen, ob es eine Belegt-Ende-Antwort gibt oder nicht. Falls JA,
wird bei Schritt S2 der Zeitgeber gestartet. Bei Schritt S3 wird
eine Prüfung
vorgenommen, um zu sehen, ob eine Aktivierungsanforderung an den
Port (A) empfangen wurde oder nicht. Wenn die Aktivierungsanforderung
empfangen wurde, folgt Schritt S4, und der bei Schritt S2 aktivierte
Zeitgeber wird gestoppt. Bei Schritt S5 wird die im Zeitgeber gehaltene Zeit als
Aktivierungszeit abgerufen und gespeichert. Bei Schritt S6 wird
die durchschnittliche Zeit Tav einschließlich der zu dieser Zeit gemessenen
Aktivierungszeit berechnet. Wenn eine Bedingung der minimalen Zeit
erfüllt
ist, wird bei Schritt S7 die gegenwärtige minimale Zeit Tmin aktualisiert.
Wenn eine Bedingung der maximalen Zeit erfüllt ist, wird bei Schritt S8
die maximale Zeit Tmax aktualisiert.
-
Das
Flußdiagramm
von 11 zeigt die Details, wenn die Aktivierungszeit
T1 des Port mit niedriger Geschwindigkeit für den Zeitgeber bei Schritt
S3 in 9 eingestellt wird. Zunächst werden bei Schritt S1
das Belegt-Verhältnis
R2 des Port (B) mit hoher Geschwindigkeit, der die Aktivierungsanforderung empfing,
und das Belegt-Verhältnis
R1 des Port (A) mit niedriger Geschwindigkeit im Zustand des Wartens
auf die Anforderung berechnet. Die Belegt-Verhältnisse R1 und R2 werden auf
die Werte eingestellt, die erhalten wurden, indem die Zählwerte
der Belegt-Zahl-Zähler 56 und 62,
die für
die Ports (A und B) in 6 vorgesehen sind, durch die
Zählwerte
der Aktivierungszahl-Zähler 54 und 60 geteilt
werden, und welche in dem Belegt-Verhältnismessungs-Speicherteil 50 gespeichert
wurden. Anschließend
wird bei Schritt S2 eine Prüfung
vorgenommen, um zu sehen, ob das Belegt-Verhältnis R1 des Port (A) mit niedriger
Geschwindigkeit größer gleich
dem Belegt-Verhältnis
R2 des Port (B) mit hoher Geschwindigkeit ist oder nicht. Wenn das
Belegt-Verhältnis
R1 des Port mit niedriger Geschwindigkeit größer als das Belegt-Verhältnis R2
des Port mit hoher Geschwindigkeit ist, folgt Schritt S3, und die
maximale Zeit Tmax in der Aktivierungszeit des Port (A) mit niedriger
Geschwindigkeit, die in dem Aktivierungszeitmessungs-Speicherteil 48 gespeichert
wurde, wird als Wartezeit eingestellt. Wenn das Belegt-Verhältnis R1
des Port mit niedriger Geschwindigkeit gleich dem Belegt-Verhältnis R2
des Port mit hoher Geschwindigkeit ist, wird bei Schritt S4 die
durchschnittliche Zeit Tav der Aktivierungszeit des Port mit niedriger Geschwindigkeit
als Wartezeit eingestellt. Wenn ferner das Belegt-Verhältnis R1
des Port mit niedriger Geschwindigkeit kleiner als das Belegt-Verhältnis R2 des
Port mit hoher Geschwindigkeit ist, folgt Schritt S5, und die minimale
Zeit Tmin in der Aktivierungszeit des Port mit niedriger Geschwindigkeit
wird auf die Wartezeit eingestellt. Dies ist nicht beschränkt auf ein
Verfahren zum Einstellen der Aktivierungszeit als Wartezeit auf
der Basis der Belegt-Verhältnisse
der Ports mit hoher und niedriger Geschwindigkeit in 11,
sondern jedes andere geeignete Verfahren zum Entscheiden über die
Wartezeit, um das Belegt-Verhältnis
des Port mit hoher Geschwindigkeit mit dem Belegt-Verhältnis des
Port mit niedriger Geschwindigkeit nahezu auszugleichen, kann ebenfalls verwendet
werden. Zum Beispiel ist es auch möglich, nur die durchschnittliche
Zeit Tav als Aktivierungszeit des Port mit niedriger Geschwindigkeit
zu verwenden und die Zeit zu erhalten, indem die durchschnittliche Zeit
mit einem vorbestimmten Gewichtskoeffizienten multipliziert wird,
und anstelle der maximalen Zeit oder minimalen Zeit bei den Schritten
S3 oder S5 eine solche Zeit einzustellen.
-
12 zeigt
eine modifizierte Ausführungsform
der ersten Form des Systems. Diese Modifikation ist dadurch gekennzeichnet,
daß zur
Zeit des Einheitsendes des Port (B) mit hoher Geschwindigkeit die
Aktivierungszeit (T) von einem Zeitpunkt an, wenn von dem Port (A)
mit niedriger Geschwindigkeit ein Belegt-Ende an den Kanal (A) mit
niedriger Geschwindigkeit als Antwort gemeldet wird, bis zu einem
Zeitpunkt, wenn die Aktivierungsanforderung empfangen wird, gemessen
wird und die Aktivierungsanforderung von dem Kanal (B) mit hoher
Geschwindigkeit an den Port (B) mit hoher Geschwindigkeit danach
während
der gemessenen Aktivierungszeit (T) abgewartet wird und die Verarbeitungsanforderung
von dem Kanal (A) mit niedriger Geschwindigkeit an den Port (A)
mit niedriger Geschwindigkeit während
solch einer Wartezeit akzeptiert wird.
-
In 12 ist
für den
Port (A) mit niedriger Geschwindigkeit ein Aktivierungszeit-Meßteil 230 vorgesehen.
In einer dem Zeitdiagramm von 7 ähnlichen
Art mißt
der Aktivierungszeit-Meßteil 230 die
Aktivierungszeit (T) von einem Zeitpunkt an, wenn das Belegt-Ende
an den Kanal (A) mit niedriger Geschwindigkeit von dem Port (A)
mit niedriger Geschwindigkeit als Antwort gemeldet wird, bis zu
einem Zeitpunkt, wenn die Start-I/O-Anforderung (Aktivierungsanforderung)
empfangen wird. Auf der Basis der durch den Aktivierungszeit-Meßteil 230 gemessenen
Zeit (T) stellt ein Wartezeit-Entscheidungsteil 232 die
Wartezeit T0 in dem Routen-Steuerteil 46 ein. Die
Wartezeit T0 kann auch auf die gleiche Zeit wie die gemessene Zeit
(T) eingestellt werden, oder die Wartezeit T0 kann gemäß der gemessenen
Zeit (T) auch variabel eingestellt werden. Wenn die tatsächliche
Wartezeit T0 länger
als die gemessene Zeit (T) eingestellt ist, können im allgemeinen die Dienste
effektiver der Seite mit niedriger Geschwindigkeit zugeordnet werden.
Daher wird die Wartezeit T0, bei der die gemessene Zeit (T) z. B.
mit einem vorbestimmten Koeffizienten (K) von 1 oder mehr multipliziert wird,
variabel eingestellt. Die Wartezeit T0 kann ferner auch durch die
Eingabeoperation des Bedieners eingestellt werden. Zu diesem Zweck
sind auf der Außenseite
für den
Wartezeit-Entscheidungsteil 232 ein Anzeigeteil 234 und
ein Eingabeteil 236 vorgesehen. Funktionen des Anzeigeteils 234 und
des Eingabeteils 236 werden durch die Vorrichtungsschnittstelle 25,
die CRT 35 und die Tastatur 45 in 5 realisiert. Der
Bediener liest die gegenwärtige
Wartezeit T0 aus, die in dem Wartezeit-Entscheidungsteil 232 eingestellt
ist, und zeigt sie am Anzeigeteil 234 durch die Operation
des Eingabeteils 236 an und gibt eine beliebige Wartezeit
T0 aus und stellt sie in dem Wartezeit-Entscheidungsteil 232 unter
Berücksichtigung
eines Belegt-Zustandes jedes Kanals zu jener Zeit und eines Operationsstils
des Hostcomputers ein. Wenn ein Einheitsende durch das Ende der Übertragung des
Port (B) mit hoher Ge schwindigkeit als Antwort gemeldet wird, erzeugt
der Routen-Steuerteil 46 eine Belegt-Antwort,
selbst wenn es eine Aktivierungsanforderung an den Port (B) mit
hoher Geschwindigkeit gibt, wodurch während der Wartezeit T0, die
von dem Wartezeit-Einstellteil 232 geliefert wird, auf
die Aktivierung gewartet wird. Wenn es während solch einer Wartezeit
T0 eine Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit
gibt, wird sie schnell akzeptiert, und ein Übertragungsprozeß wird ausgeführt. Wenn
die Wartezeit T0 verstreicht oder das Einheitsende durch das Ende
der Übertragung des
Port (A) mit niedriger Geschwindigkeit als Antwort gemeldet wird,
wird von dem Port (B) mit hoher Geschwindigkeit ein Belegt-Ende
erzeugt, wodurch zugelassen wird, daß der Kanal mit hoher Geschwindigkeit
wieder die Aktivierungsanforderung erzeugt und diese akzeptiert
wird.
-
[Umlauf-Prüfprozeß von Belegt-Antwort/Belegt-Ende]
-
13 zeigt
eine Ausführungsform
der zweiten Form des Systems. Die Ausführungsform ist dadurch gekennzeichnet,
daß ein
Zirkulations- oder Umlaufzustand einer Belegt-Antwort und eines
Belegt-Endes (Belegt-Aufhebungs-Antwort), so daß durch eine kontinuierliche
Aktivierungsanforderung an einen Port mit hoher Geschwindigkeit
die Seite des Port mit niedriger Geschwindigkeit eine Belegt-Antwort
für die
Aktivierungsanforderung basierend auf dem Belegt-Ende wiederholt,
detektiert wird und eine Akzeptanz einer Eingabe/Ausgabe-Anforderung
dem Port mit niedriger Geschwindigkeit bevorzugt zugeordnet wird.
Zähler 64 und 66 sind
jeweilig für
den Port (A) mit niedriger Geschwindigkeit und den Port (B) mit
hoher Geschwindigkeit der Magnetbandsteuereinheit 10 vorgesehen.
Die Zähler 64 und 66 werden
um "1" hochgezählt, wenn
das Belegt-Ende als Antwort gemeldet wird und eine Belegt-Antwort
für die
Aktivierungsanforderung basierend auf dem als Antwort gemeldeten
Belegt-Ende gegeben wird. Die Zähler 64 und 66 zählen nämlich hoch,
indem ein Umlauf von einer Belegt-Ant wort und dem Belegt-Ende detektiert
wird. Ein Umlaufzahl-Beurteilungsteil 68 beurteilt,
ob Zählwerte
der Zähler 64 und 66,
nämlich
die Zahl der Male eines Umlaufs der Belegt-Antwort und des Belegt-Endes,
einen vorbestimmten Wert erreicht haben oder nicht. Wenn durch den
Umlaufzahl-Beurteilungsteil 68 beurteilt wird, daß der Zählwert des
Zählers 64 und 66 den
vorbestimmten Wert erreicht hat, steuert der Routen-Steuerteil 46 durch
den Empfang von solch einer Beurteilungsausgabe so, daß die Aktivierungsanforderung für den Port
(A) oder (B), in welchem die Zahl der Male eines Umlaufs den vorbestimmten
Wert überschreitet,
bevorzugt akzeptiert wird.
-
Das
Flußdiagramm
von 14 bezieht sich auf die Verarbeitungsoperation
in 13. Zuerst wird bei Schritt S1 das Vorhandensein
oder Fehlen einer Aktivierungsanforderung für den Port (A) oder (B) unterschieden.
Wenn es eine Aktivierungsanforderung gibt, wird der Port mit dem
Kanal unter der Bedingung gekoppelt, daß er nicht mit dem anderen
Port gekoppelt ist, und der Übertragungsprozeß wird ausgeführt. Wenn
der Verarbeitungsprozeß bei
Schritt S3 beendet wird, wird bei Schritt S4 ein Einheitsende als Antwort
gemeldet. In diesem Fall wird, wenn es einen Port gibt, der eine
Belegt-Antwort erteilte, von diesem Port als Antwort ein Belegt-Ende
gemeldet. Falls die Aktivierungsanforderung durch den anderen Port während der Übertragung
gemäß der Kopplung
bei Schritt S2 ausgeführt
wurde und die Belegt-Antwort erteilt wurde, zählt daher der entsprechende
Zähler
in 13 die Zahl der Male eines Umlaufs der Belegt-Antwort
und des Belegt-Endes um "1" gemäß dem Belegt-Ende
bei Schritt S4 hoch. Bei Schritt S5 wird eine Prüfung vorgenommen, um zu sehen,
ob es einen Port gibt, in welchem die Zahl der Male eines Umlaufs
der Belegt-Antwort
und des Belegt-Endes einen vorbestimmten Wert überschreitet oder nicht. Wenn
es einen Port gibt, in welchem die Umlaufzahl den vorbestimmten
Wert übersteigt,
folgt Schritt S6, und ein bevorzugter Prozeß der Aktivierungsanforderung
wird dem Port zugeordnet, in welchem die Umlaufzahl den vorbestimmten
Wert übersteigt.
Wenn bei Schritt S7 beurteilt wird, daß die Aktivierungsanforderung
vorhanden ist, wird bei Schritt S8 eine Prüfung vorgenommen, um zu sehen,
ob der Port der Port ist, dem der bevorzugte Prozeß zugeordnet
wurde oder nicht. Falls NEIN, wird bei Schritt S12 eine Belegt-Antwort
zurückgegeben.
Somit wird nur die Aktivierungsanforderung für den bevorzugten Zuordnungsport
akzeptiert. Der Übertragungsprozeß wird durch
die Kopplung mit dem Kanalbus bei Schritt S9 ausgeführt. Nach
Abschluß des Übertragungsprozesses
des bevorzugten Zuordnungsport bei Schritt S10 wird bei Schritt
S11 der für
den bevorzugten Zuordnungsport vorgesehene Umlaufzahl-Zähler zurückgesetzt,
und ein Einheitsende wird als Antwort gemeldet. Falls es in diesem
Fall einen anderen Port in einem Wartezustand gemäß der Belegt-Antwort bei
Schritt S12 gibt, wird von solch einem Port ein Belegt-Ende erzeugt,
wodurch zugelassen wird, daß die Aktivierungsanforderung
erzeugt wird.
-
[Zeitsequentieller Prozeß]
-
15 bezieht
sich auf eine Ausführungsform
der dritten Form des Systems. Die Ausführungsform der dritten Form
ist dadurch gekennzeichnet, daß die
Zeit einer Belegt-Antwort des anderen Port während der Kopplung eines bestimmten
Port gespeichert wird und am Ende der Kopplung Dienste vorzugsweise
dem Port mit der ältesten
Belegt-Antwortzeit zugeordnet werden. Zusätzlich zu den Ports (A und
B) und dem Routen-Steuerteil 46 sind
für die Magnetbandsteuereinheit 10 ein
Belegt-Antwortzeit-Speicherteil 70 und ein Verarbeitungsport-Entscheidungsteil 72 vorgesehen.
Während
der Kopplung des Port (A oder B) speichert der Belegt-Antwortzeit-Speicherteil 70 die
Zeit, zu der die Aktivierungsanforderung an den anderen Port gestellt
und die Belegt-Antwort erteilt wurde. Da es in der Ausführungsform
zwei Ports (A und B) gibt, wird die Antwortzeit des Port (B) während der
Kopplung des Port (A) gespeichert, während die Antwortzeit des Port
(A) während
der Kopplung des Port (B) gespeichert wird. Wenn der Übertragungsprozeß des Port
während
der Kopplung beendet wird und die Einheitsende-Antwort gemeldet
wird, verweist der Verarbeitungsport-Entscheidungsteil 72 auf
den Belegt-Antwortzeit-Speicherteil 70,
bestimmt den Port mit der ältesten
Zeit von den gespeicherten Belegt-Antwortzeiten als Port für eine anschließende bevorzugte
Verarbeitung der Aktivierungsanforderung und informiert den Routen-Steuerteil 46.
Der Routen-Steuerteil 46 verarbeitet
vorzugsweise die Aktivierungsanforderung von dem durch den Verarbeitungsport-Entscheidungsteil 72 entschiedenen
Port. Da es nur die beiden Ports (A und B) gibt, bestimmt in der
Ausführungsform,
wenn der Port (B) während
der Kopplung des Port (A) die Belegt-Antwort erteilt, der Verarbeitungsport-Entscheidungsteil 72 den
Port (B) als Port, der die Aktivierungsanforderung anschließend vorzugsweise
akzeptiert. Der Routen-Steuerteil 46 führt die Belegt-Antwort für die Aktivierungsanforderung
von dem Port (A) aus und akzeptiert nur die Aktivierungsanforderung
von dem Port (B). Selbst wenn der Port (A) der Port mit niedriger
Geschwindigkeit ist und der Port (B) der Port mit hoher Geschwindigkeit
ist, kann somit der Routen-Steuerteil 46 die Aktivierungsanforderung
bei jeder der kontinuierlichen Aktivierungsanforderungen abwechselnd
akzeptieren. Die Belegt-Verhältnisse
des Port (A) mit niedriger Geschwindigkeit und des Port (B) mit
hoher Geschwindigkeit können
beinahe ausgeglichen sein. Wie in dem Systemaufbau von 4 dargestellt
ist, sind für die
Magnetbandsteuereinheit 10 tatsächlich acht Ports (A bis H)
vorgesehen. Während
der Kopplung eines bestimmten Port wird in diesem Fall, falls es eine
Aktivierungsanforderung an einen der übrigen sieben Ports gibt, die
Belegt-Antwortzeit zu dieser Zeit gespeichert. Wenn der gegenwärtige Übertragungsprozeß beendet
ist und das Einheitsende auftritt, wird durch Erzeugen des Belegt-Endes
von dem Port mit der ältesten
Zeit von mehreren Belegt-Antwortzeiten die Akzeptanz der Aktivierungsanforderung
zugeordnet.
-
Das
Flußdiagramm
von 16 bezieht sich auf die Verarbeitungsoperation
von 15. Bei Schritt S1 wird das Vorhandensein oder
Fehlen einer Aktivierungsanforderung für die Vielzahl von Ports geprüft. Wenn
es eine Aktivierungsanforderung an einen bestimmten Port gibt, wird
der Port mit dem Kanalbus gekoppelt und der Übertragungsprozeß bei Schritt
S2 ausgeführt.
Bei Schritt S3 wird eine Prüfung
durchgeführt,
um zu sehen, ob der Verarbeitungsprozeß beendet worden ist oder nicht.
Nach Abschluß der Übertragung
wird bei Schritt S4 ein Einheitsende von dem Port während der
Kopplung als Antwort gemeldet. Bei den Schritten S1 bis S4 wird während der
Kopplung eines bestimmten Port, wenn es eine Aktivierungsanforderung
von einem anderen Port gibt, die Antwortzeit in dem Belegt-Antwortzeit-Speicherteil 70 gespeichert.
Nachdem das Einheitsende als Antwort gemeldet wurde, wird bei Schritt
S5 der Port mit der ältesten
Zeit unter den Belegt-Antwortzeiten als Verarbeitungsport bestimmt. Ein
Belegt-Ende wird von dem Port, auf den die Entscheidung gefallen
ist, bei Schritt S6 erzeugt. Der auf eine Belegt-Aufhebung wartende
Kanal, der das Belegt-Ende empfing, erzeugt wieder die Aktivierungsanforderung.
Bei Schritt S7 wird das Vorhandensein oder Fehlen einer Aktivierungsanforderung
unterschieden. Wenn es eine Aktivierungsanforderung gibt, wird bei
Schritt S8 eine Prüfung
vorgenommen, um zu sehen, ob der Port ein bevorzugter Zuordnungsport
ist oder nicht. Falls NEIN, wird bei Schritt S12 eine Belegt-Antwort
zurückgegeben.
Folglich wird nur die Aktivierungsanforderung für den bevorzugten Zuordnungsport
akzeptiert. Bei Schritt S9 wird der Port mit dem Kanalbus gekoppelt,
und der Übertragungsprozess
wird ausgeführt.
Wenn bei Schritt S10 der Übertragungsprozeß beendet
ist, wird die Belegt-Antwortzeit des Verarbeitungsport zurückgesetzt
und das Einheitsende bei Schritt S11 als Antwort gemeldet. Die Verarbeitungsroutine
wird zu Schritt S13 zurückgeführt. Falls
die Aufzeichnung der Belegt-Antwortzeiten noch vorhanden ist, wird
die Verarbeitungsroutine wieder zu Schritt S5 zurückge führt. Die
Prozesse der Art, daß der
Port mit der ältesten
Zeit unter den verbleibenden Belegt-Antwortzeiten als Verarbeitungsport
bestimmt wird und das Belegt-Ende erzeugt wird, werden wiederholt.
Wenn keine Belegt-Antwortzeit mehr vorhanden ist, wird die Verarbeitungsroutine
wieder zu Schritt S1 zurückgeführt.
-
[Wiederholungsunterbrechungsprozeß 1]
-
17 zeigt
eine Ausführungsform
der vierten Form des I/O-Systems. Die vierte Form ist dadurch gekennzeichnet,
daß während der
Kopplung eines gewissen Port mit dem Kanal, wenn die Aktivierungsanforderung
zu einem anderen Port gelangt, anstelle einer Belegt-Antwort ein
Status zum Anfordern einer Wiederholung der Kanaloperation als Antwort
gemeldet wird, und wenn der Übertragungsprozeß, der gegenwärtig ausgeführt wird,
beendet ist, eine Unterbrechungsanforderung zum Starten der Wiederholung
für den
Kanal gestellt wird, der mit dem Status der Wiederholungsanforderung
geantwortet hat, und der Port wieder gekoppelt wird. Zusätzlich zu den
Ports (A und B) und dem Routen-Steuerteil 46 ist ein Wiederholungsunterbrechungsverarbeitungsteil 74 für die Magnetbandsteuereinheit 10 vorgesehen. Wenn
die Aktivierungsanforderung zum Beispiel während der Kopplung des Port
(A) zu dem Port (B) gelangt, hat der Wiederholungsunterbrechungsverarbeitungsteil 74 in
den vorherigen Ausführungsformen gewöhnlich die
Belegt-Antwort zurückgesendet.
In der fünften
Form wird jedoch als Antwort ein Status zum Anfordern der Wiederholung
der Kanaloperation gesendet, und die Kopplung mit dem Kanalbus des Port
(B) wird einstweilen getrennt. Wenn anschließend der Übertragungsprozeß des Port
(A) beendet ist und das Einheitsende als Antwort gemeldet ist, wird
die Unterbrechungsanforderung des Wiederholungsstarts für den Kanal
(B) ausgeführt,
der als Antwort den Status der Wiederholungsanforderung gesendet
hat, und wird der Port wieder gekoppelt. Die Kanaleinheit, die die
Antwort mit dem Wiederholungsanforderungs status von dem Wiederholungsunterbrechungsverarbeitungsteil 74 empfing,
tritt in einen Wartezustand des Wiederholungsstarts der Kanaloperation
ein. Danach wird, wenn eine Unterbrechungsantwort zum Starten der
Wiederholung empfangen ist, eine Befehlssequenz von der Aktivierungsanforderung
neu gestartet und der Port wieder gekoppelt.
-
Durch
solche Prozesse des Wiederholungsunterbrechungsverarbeitungsteils 74 kann
auf der Seite der Magnetbandsteuereinheit 10 bestimmt werden,
welcher Port neu zu koppeln ist, und können Dienste für jeden
Port gleichmäßig vorgesehen
werden. Wenn zum Beispiel die Aktivierungsanforderung für den Port
(B) mit hoher Geschwindigkeit kontinuierlich ist und eine Aktivierungsanforderung
für den Port
(A) mit niedriger Geschwindigkeit während der Kopplung des Port
(B) mit hoher Geschwindigkeit vorliegt, antwortet der Wiederholungsunterbrechungsverarbeitungsteil 74 mit
dem Wiederholungsanforderungsstatus, und die Seite des Kanals (A)
mit niedriger Geschwindigkeit, die die Aktivierungsanforderung für den Port
(A) mit niedriger Geschwindigkeit ausgeführt hat, wird in einen Wiederholungswartezustand
versetzt. Wenn der Übertragungsprozeß des Port
(B) mit hoher Geschwindigkeit beendet ist und das Einheitsende als
Antwort gemeldet wird, führt
der Wiederholungsunterbrechungsverarbeitungsteil 74 die
Unterbrechungsanforderung aus, um die Wiederholung für den Kanal
(A) mit niedriger Geschwindigkeit über den Port (A) mit niedriger
Geschwindigkeit zu starten, wird der Port wieder gekoppelt, wird
die Aktivierungsanforderung von dem Kanal (A) mit niedriger Geschwindigkeit
wieder erzeugt, der die Unterbrechung des Wiederholungsstarts empfing,
und wird der Übertragungsprozeß gemäß einer
Befehlssequenzserie ausgeführt.
Selbst wenn die Aktivierungsanforderung auf der Seite des Port (B)
mit hoher Geschwindigkeit andauert, wird daher die Aktivierungsanforderung
des Port (A) mit niedriger Geschwindigkeit, die während der
Kopplung des Port (B) mit hoher Geschwindigkeit auftritt, nicht
mit einer Belegt-Antwort eliminiert. Die Aktivierungsanforderung
des Port (A) mit niedriger Geschwindigkeit wird durch die Unterbrechung
zwingend akzeptiert. So können
gleichmäßige Dienste
für den
Port (A) mit niedriger Geschwindigkeit und den Port (B) mit hoher Geschwindigkeit
vorgesehen werden.
-
18 zeigt
Prozesse in dem Fall, wenn eine Aktivierungsanforderung für den Port
(A) mit niedriger Geschwindigkeit während der Kopplung des Port
(B) mit hoher Geschwindigkeit in 17 auftritt.
Zuerst wird, wenn eine Start-I/O-Anforderung 200 von
dem Kanal (B) mit hoher Geschwindigkeit für den Port (B) mit hoher Geschwindigkeit
erfolgt, eine Kopplungs-Abschlußantwort 202 erteilt.
Danach werden Übertragungsprozesse 204 und 206 ausgeführt. Während der
obigen Übertragungsprozesse
wird, wenn eine Start-I/O-Anforderung 208 von dem Kanal (A)
mit niedriger Geschwindigkeit an den Port (A) mit niedriger Geschwindigkeit
gestellt wird, eine Wiederholungsunterbrechungsstatusantwort 210 erteilt,
und der Kanal (A) mit niedriger Geschwindigkeit tritt in einen Wiederholungsaktivierungswartezustand
ein. Wenn die Übertragungsprozesse 204 und 206 beendet
sind und ein Steuereinheitsende 212 erzeugt ist, wird eine
Wiederholungsstartunterbrechungsmitteilung 214 von dem
Port (A) mit niedriger Geschwindigkeit an den Kanal (A) mit niedriger
Geschwindigkeit in Zuordnung zu dem Steuereinheitsende 212 gesendet.
Eine Start-I/O-Anforderung 216 wird von dem Kanal (A) mit
niedriger Geschwindigkeit in dem Wiederholungsstartwartezustand
wieder erzeugt. Andererseits wird eine Kopplungs-Abschlußantwort 218 durch
die erneute Kopplung erzeugt und werden Übertragungsprozesse 220 und 222 durch
die Kopplung zwischen dem Kanal (A) mit niedriger Geschwindigkeit
und dem Port (A) mit niedriger Geschwindigkeit ausgeführt. Nach
Vollendung des Übertragungsprozesses
wird ein Steuereinheitsende 224 erzeugt.
-
Das
Flußdiagramm
von 19 betrifft die Verarbeitungsoperation der Ausführungsform
von 17. Zuerst wird bei Schritt S1 das Vorhandensein oder
Fehlen einer Aktivierungsanforderung geprüft. Wenn eine Aktivierungsanforderung
für einen
spezifischen Port vorhanden ist, folgt Schritt S2. Der Port wird
mit dem Kanal gekoppelt, und der Übertragungsprozeß wird unter
der Bedingung ausgeführt,
daß der andere
Port nicht im Kopplungszustand ist. Während der Übertragung wird, bis das Übertragungsende
bei Schritt S3 beurteilt wird, bei Schritt S4 geprüft, ob eine
Aktivierungsanforderung für
den anderen Port vorhanden ist oder nicht. Falls eine Aktivierungsanforderung
vorhanden ist, folgt Schritt S5 und wird bei Schritt S5 geprüft, ob der
Wiederholungsstatus als Antwort an die Kanaleinheit gemeldet wird
oder nicht, die die Aktivierungsanforderung gestellt hat. Wenn der
Port, der gegenwärtig
gekoppelt ist, der Port mit niedriger Geschwindigkeit ist, und der
Port, der die Aktivierungsanforderung während der Kopplung empfing,
der Port mit hoher Geschwindigkeit ist, wird bei Schritt S7, da
keine Notwendigkeit für
eine bevorzugte Verarbeitung besteht, eine Belegt-Antwort zurückgesendet.
Wenn andererseits der Port, der gegenwärtig gekoppelt ist, der Port
mit hoher Geschwindigkeit ist, und der Port, der die Aktivierungsanforderung
während
der Kopplung empfing, der Port mit niedriger Geschwindigkeit ist,
ist eine bevorzugte Verarbeitung erforderlich. Deshalb folgt Schritt S6
und wird als Antwort der Wiederholungsstatus gesendet. Wenn das Übertragungsende
bei Schritt S7 beurteilt wird, folgt Schritt S8 und wird von dem
gekoppelten Port als Antwort ein Einheitsende gesendet. Bei Schritt
S9 wird geprüft,
ob der Wiederholungsstatus während
der Übertragung
als Antwort gesendet wurde oder nicht. Falls JA, wird bei Schritt S10
die Unterbrechungsanforderung des Wiederholungsstarts von dem anderen
Port erzeugt, der mit dem Wiederholungsstatus geantwortet hat. Falls während der Übertragung
nicht mit dem Wiederholungsstatus geantwortet wird, wird von dem
anderen Port, der die Belegt-Antwort erteilt hat, bei Schritt S11 mit
dem Einheitsende geantwortet. Die Verarbeitungsroutine kehrt zu
Schritt S1 zurück.
Obwohl die obige Ausführungsform
in der vierten Form bezüglich der
beiden Ports beschrieben worden ist, die den Port (A) mit niedriger
Geschwindigkeit und den Port (B) mit hoher Geschwindigkeit umfassen,
wie in 5 gezeigt, kann sie auch auf den Fall von acht Ports
(A bis H) angewendet werden. Wenn die Anzahl der Ports 3 oder mehr
beträgt,
tritt indessen der Fall auf, daß während der
Kopplung eines gewissen Port die Unterbrechungsanforderung durch
die Vielzahl von anderen Ports akzeptiert wird. Deshalb genügt es, die
Priorität
dem Wiederholungsunterbrechungsprozeß für die Unterbrechungsanforderung zuzuweisen
und die Unterbrechung des Wiederholungsstarts gemäß der Priorität mitzuteilen.
-
[Wiederholungsunterbrechungsprozeß 2]
-
20 zeigt
die erste Ausführungsform
der fünften
Form des I/O-Systems. In der fünften
Form wird, wenn eine vorbestimmte Unterbrechungsbedingung während der
Kopplung eines gewissen Port erfüllt
ist, der Status einer Wiederholungsanforderung als Antwort an den
Kanal von dem Port gesendet, der gegenwärtig gekoppelt ist, wodurch
er vorübergehend
getrennt wird. Anschließend
wird, ob nun eine Situation einer Belegt-Antwort, wie zum Beispiel
die neueste Belegt-Antwortzeit, und die Anzahl der Male einer Belegt-Antwort
bezüglich
aller Ports geprüft werden
oder die Unterbrechungsanforderung analysiert wird, der Port bestimmt,
bei dem die Dienste bevorzugt ausgeführt werden. Ein Einheitsende
wird als Antwort von dem Port gemeldet, der für den Vorzugsprozeß bestimmt
wurde, wodurch der Übertragungsprozeß vorzugsweise
ausgeführt
wird. Nach Vollzug des Übertragungsprozesses
wird eine Unterbrechungsanforderung zum Starten der Wiederholung von
dem getrennten Port gestellt und wird der Port wieder gekoppelt.
Der Prozeß,
der einstweilen unterbrochen war, wird neu gestartet.
-
Die
erste Version, von 20, ist dadurch gekennzeichnet,
daß die
Unterbrechung in einem vorbestimmten Zeitintervall als Unterbrechungsbedingung
vorgenommen wird. Zusätzlich
zu den Ports (A und B) und dem Routen-Steuerteil 46 sind
ein Unterbrechungszeitgeber 80, ein Belegt-Antwort-Speicherteil 82 und
ein Wiederholungsunterbrechungsverarbeitungsteil 76 für die Magnetbandsteuereinheit 10 vorgesehen.
Der Unterbrechungszeitgeber 80 bewirkt eine Zeitgeberausgabe
an den Wiederholungsunterbrechungsverarbeitungsteil 76 in
einem vorbestimmten Zeitintervall, wodurch der Unterbrechungsprozeß ausgeführt wird.
Als Informationen, die Belegt-Zustände der Ports (A und B) angeben,
werden zum Beispiel die Zeit, zu der die neueste Belegt-Antwort
erteilt wurde, und die Anzahl der Male einer Belegt-Antwort in dem
Belegt-Antwort-Speicherteil 82 gespeichert. Der Wiederholungsunterbrechungsverarbeitungsteil 76 startet
die Unterbrechungsoperation durch den Zeitablauf des Unterbrechungszeitgebers 80 während der
Kopplung zum Beispiel des Port (B) mit hoher Geschwindigkeit. Der
Status der Wiederholungsanforderung wird von dem Port (B) mit hoher
Geschwindigkeit, der gegenwärtig
gekoppelt ist, als Antwort an den Kanal (B) mit hoher Geschwindigkeit
gesendet, wodurch er vorübergehend
getrennt wird. Nachdem die Kopplung mit dem Port (B) mit hoher Geschwindigkeit
getrennt ist, wird Bezug genommen auf Belegt-Zustände aller
Ports, nämlich
der Ports (A und B), die in dem Belegt-Antwort-Speicherteil 82 gespeichert
sind, wie zum Beispiel auf die neueste Belegt-Antwortzeit und die
Anzahl der Male der Belegt-Antwort, wodurch bestimmt wird, für welchen Port
die Dienste bevorzugt erteilt werden. Da gegenwärtig zum Beispiel die Prozesse
bezüglich
des Port (B) mit hoher Geschwindigkeit ausgeführt werden, ist die Belegt-Zeit
hinsichtlich des Port (A) mit niedriger Geschwindigkeit als anderer
Port die älteste
Zeit und gibt die Anzahl von Belegt-Antworten einen gewissen Wert
an, so daß der
Wiederholungsunterbrechungsverarbeitungsteil 76 entscheidet,
daß der
Port (A) mit niedriger Geschwindigkeit der bevorzugte verarbeitende
Port ist. Wenn der verarbeitende Port bestimmt ist, gestattet der
Wiederholungsunterbrechungsverarbeitungsteil 76, daß dem Kanal
(A) von dem bestimmten verarbeitenden Port (A) über den Routen-Steuerteil 46 als
Antwort ein Einheitsende gemeldet wird. Durch den Empfang des Einheitsendes
von dem Port (A) wird die Aktivierungsanforderung an den Port (A)
mit niedriger Geschwindigkeit von dem Kanal (A) mit niedriger Geschwindigkeit
gestellt, der durch die Belegt-Antwort bislang im Wartezustand war.
Der Port (A) wird effektiv gekoppelt, und der Übertragungsprozeß wird ausgeführt. Wenn
der Übertragungsprozeß auf der
Seite des Port (A) mit niedriger Geschwindigkeit beendet ist und
als Antwort das Einheitsende gemeldet wird, unterbricht der Wiederholungsunterbrechungsverarbeitungsteil 76 den
Prozeß und
erzeugt eine Unterbrechungsanforderung für den Wiederholungsstart für den Kanal
(B) mit hoher Geschwindigkeit von dem getrennten Port (B) mit hoher
Geschwindigkeit. Durch den Empfang der Unterbrechungsanforderung
wird die Aktivierungsanforderung von dem Kanal (B) mit hoher Geschwindigkeit
an den Port (B) mit hoher Geschwindigkeit gestellt. Der Übertragungsprozeß, der einstweilen
unterbrochen war, wird neu gestartet. Wenn der bevorzugte Prozeß des Port
(A) mit niedriger Geschwindigkeit beendet ist und das Einheitsende
erzeugt ist, werden die Belegt-Antwortzeit und die Anzahl von Belegt-Antworten
bezüglich
des Port (A) mit niedriger Geschwindigkeit in dem Belegt-Antwort-Speicherteil 82 gleichzeitig
zurückgesetzt.
-
Das
Zeitdiagramm von 21 betrifft die Operation des
Wiederholungsverarbeitungsteils in 20. Zuerst
wird eine Start-I/O-Anforderung 300 von dem Kanal (B) mit
hoher Geschwindigkeit an den Port (B) mit hoher Geschwindigkeit
gestellt, und da der andere Port (A) mit niedriger Geschwindigkeit nicht
gekoppelt ist, wird eine Kopplungsabschlußantwort 302 als normales
Ende zurückgesendet,
und der Kanal (B) mit hoher Geschwindigkeit und der Port (B) mit
hoher Ge schwindigkeit führen Übertragungsprozesse 304 und 306 aus.
Wenn eine Zeitgeberunterbrechung 308 auf Grund des Unterbrechungszeitgebers
während
der Übertragungsprozesse
auftritt, wird eine Wiederholungsstatusantwort 310 von
dem Port (B) mit hoher Geschwindigkeit für den Kanal (B) mit hoher Geschwindigkeit
erzeugt, wodurch die Trennung erfolgt. Nach Vollzug der Trennung
werden Zustände
der Belegt-Antworten bezüglich
aller Ports (A und B) unterschieden. In diesem Fall wird, wenn eine
Belegt-Antwort für
die Seite des Port (A) mit niedriger Geschwindigkeit vorhanden ist,
der Port (A) mit niedriger Geschwindigkeit als bevorzugter verarbeitender
Port bestimmt. Ein Einheitsende 314 wird von dem Port (A)
mit niedriger Geschwindigkeit, für den
der bevorzugte Prozeß entschieden
wurde, für den
Kanal (A) mit niedriger Geschwindigkeit erzeugt, wodurch zugelassen
wird, daß eine
Start-I/O-Anforderung 316 von
dem Kanal (A) mit niedriger Geschwindigkeit erzeugt wird. Die Start-I/O-Anforderung 316 wird
normalerweise durch den Port (A) mit niedriger Geschwindigkeit empfangen.
Nachdem eine Kopplungsabschlußantwort 318 zurückgesendet
wurde, werden Übertragungsprozesse 320 und 322 zwischen
dem Kanal (A) mit niedriger Geschwindigkeit und dem Port (A) mit
niedriger Geschwindigkeit ausgeführt.
Nachdem die Übertragungsprozesse beendet
sind, wird von dem Port (A) mit niedriger Geschwindigkeit mit einem
Einheitsende 324 geantwortet. Anschließend wird eine Wiederholungsstartunterbrechungsmitteilung 326 von
dem Port (B) mit hoher Geschwindigkeit, der vorübergehend getrennt war, an
den Kanal (B) mit hoher Geschwindigkeit gesendet. Deshalb wird eine
Start-I/O-Anforderung 328 von dem
Kanal (B) mit hoher Geschwindigkeit in dem Wiederholungswartezustand
erzeugt und durch den Port (B) mit hoher Geschwindigkeit empfangen.
Die Prozesse werden normal beendet, und eine Kopplungsabschlußantwort 330 wird
zurückgesendet.
Die Übertragungsprozesse,
die vorübergehend
unterbrochen waren, werden als Übertragungsprozesse 332 und 334 neu
gestartet. Nach Vollendung der neu gestarteten Über tragungsprozesse wird von
dem Port (B) mit hoher Geschwindigkeit ein Einheitsende 336 erzeugt.
Wie oben erwähnt,
kann, wenn die Unterbrechungsbedingung erfüllt ist, durch Trennen der
gegenwärtigen
Kopplung auf der Seite der Magnetbandsteuereinheit und durch Bestimmen
des Ports, dessen Verarbeitung gemäß dem Belegtzustand bevorzugt
erfolgt, und Ausführen
der Übertragungsprozesse
durch Unterbrechung selbst in dem Fall, wenn die Aktivierungsanforderung
für den
Port mit hoher Geschwindigkeit andauert, der Kreislauf, oder Umlauf,
von [Belegt-Einheitsende] auf der Seite des Port mit niedriger Geschwindigkeit
verhindert werden.
-
Das
Flußdiagramm
von 22 betrifft den Wiederholungsunterbrechungsprozeß unter
Verwendung des Unterbrechungszeitgebers in 19. Zuerst
wird bei Schritt S1 das Vorhandensein oder Fehlen einer Aktivierungsanforderung
für jeden
Port bestimmt. Wenn eine Aktivierungsanforderung für einen gewissen
Port vorhanden ist, folgt Schritt S2, und der Port wird mit dem
Kanal gekoppelt, und der Übertragungsprozeß wird unter
der Bedingung gestartet, daß er
nicht mit dem anderen Port gekoppelt ist. Während der Übertragung wird, bis bei Schritt
S3 das Ende der Übertragung
beurteilt wird, der Zeitablauf des Unterbrechungszeitgebers bei
Schritt S4 überwacht.
Wenn die Zeit des Unterbrechungszeitgebers während der Übertragung um ist, folgt Schritt
S5 und wird eine Statusantwort der Wiederholungsanforderung von
dem Port gesendet, der gegenwärtig
gekoppelt ist, wodurch er getrennt wird. Bei Schritt S6 werden Faktoren
der Belegt-Antworten aller Ports analysiert, wie zum Beispiel die
Zeiten und die Anzahlen von Belegt-Antworten, und der Port mit der
bevorzugten Verarbeitung wird bestimmt. Bei Schritt S7 wird geprüft, ob der
bestimmte Port mit der bevorzugten Verarbeitung derselbe wie der
Port ist oder nicht, der bei Schritt S5 getrennt wurde. Wenn sie
sich unterscheiden, wird als Antwort ein Einheitsende von dem bestimmten
Port an den Kanal gesendet. Die Aktivierungsanforderung in Zuordnung
dazu wird bei Schritt S9 empfangen, und der Port wird gekoppelt,
und der Übertragungsprozeß wird ausgeführt. Bei
Schritt S10 wird, wenn der Übertragungsprozeß durch
die Unterbrechung beendet ist, als Antwort ein Einheitsende gesendet,
und bei Schritt S11 wird die Kopplung getrennt. Bei Schritt S12
wird eine Unterbrechungsanforderung des Wiederholungsstarts von
dem getrennten Port an die Kanaleinheit gestellt, die auf Grund
der Trennung in dem Wiederholungsstartwartezustand ist. Durch den
Empfang der Unterbrechungsanforderung wird die Aktivierungsanforderung von
dem Kanal in dem Wiederholungsstartwartezustand wieder gestellt
und bei Schritt S1 beurteilt. Bei Schritt S2 wird der Port wieder
mit dem Kanal gekoppelt, und der Übertragungsprozeß wird neu
gestartet. Wenn bei Schritt S3 beurteilt wird, daß der neu
gestartete Übertragungsprozeß beendet
ist, wird bei Schritt S13 mit dem Einheitsende geantwortet und wird
die Serie der Übertragungsprozesse
beendet. Wenn andererseits bei Schritt S6 der bevorzugte verarbeitende
Port, der durch das Analysieren der Faktoren der Belegt-Antworten aller Ports
bestimmt wurde, derselbe wie der Port ist, der bei Schritt S5 getrennt
wurde, geht die Verarbeitungsroutine sofort zu Schritt S12 über, und
die Unterbrechungsanforderung des Wiederholungsstarts wird von dem
getrennten Port gestellt, und der Übertragungsprozeß durch das
erneute Koppeln wird bald neu gestartet.
-
Wie
aus dem Flußdiagramm
von 22 offensichtlich hervorgeht, wird, wenn die Unterbrechungsbedingung
durch den Unterbrechungszeitgeber während der Kopplung des Port
(B) mit hoher Geschwindigkeit in 20 erfüllt ist,
die Entscheidung für
den bevorzugten Prozeß des
Port (A) mit niedriger Geschwindigkeit in dem Belegt-Wartezustand
getroffen und wird der Übertragungsprozeß auf der
Seite des Port (A) mit niedriger Geschwindigkeit durch die Unterbrechung
beendet. Danach wird der unterbrochene Übertragungsprozeß des Port
(B) mit hoher Geschwindigkeit neu gestartet. Wenn die Unterbrechungsbedingung
durch den Unterbrechungszeitgeber während der Verarbeitung auf
der Seite des Port (A) mit niedriger Geschwindigkeit erfüllt ist,
wird, solange die Anzahl der Male der Belegt-Antwort zu der Seite
des Port mit niedriger Geschwindigkeit ausschlägt, derselbe Port (A) mit niedriger
Geschwindigkeit wie der getrennte Port wieder als der am meisten bevorzugte
verarbeitende Port bestimmt. In diesem Fall wird der Übertragungsprozeß im Port
(A) mit niedriger Geschwindigkeit, der durch die Unterbrechungsanforderung
des Wiederholungsstarts zur erneuten Kopplung unterbrochen war,
sofort neu gestartet. In Abhängigkeit
von der Situation gibt es auch den Fall, daß der Übertragungsprozeß auf der
Seite des Port mit hoher Geschwindigkeit während der Verarbeitung des
Port mit niedriger Geschwindigkeit bevorzugt verarbeitet wird. Obwohl
die Ausführungsform
von 20 bis 22 als
Beispiel in bezug auf den Fall beschrieben worden ist, daß zwei Ports
(A und B) vorhanden sind, können
für die
Magnetbandsteuereinheit 10, wie in 5 gezeigt,
die acht Ports (A bis H) vorgesehen sein. Wenn die Unterbrechungsmitteilung
von dem Unterbrechungszeitgeber empfangen wird, prüft der Wiederholungsunterbrechungsverarbeitungsteil 76 Zustände von
Belegt-Antworten hinsichtlich der acht Ports (A bis H), wodurch
der Port bestimmt wird, dessen Verarbeitung bevorzugt erfolgt.
-
23 zeigt
die zweite Version der fünften Form
des I/O-Systems. Diese Version ist dadurch gekennzeichnet, daß dann,
wenn eine vorbestimmte Anzahl von Befehlsprozessen in jedem Port
ausgeführt
ist, beurteilt wird, daß die
Unterbrechungsbedingung erfüllt
ist, so daß der
Wiederholungsunterbrechungsprozeß ausgeführt wird. Der Port (A) mit
niedriger Geschwindigkeit, der Port (B) mit hoher Geschwindigkeit,
der Routen-Steuerteil 46, der Wiederholungsunterbrechungsverarbeitungsteil 76,
der Belegt-Antwort-Speicherteil 82 und Befehlszähler 84 und 86 sind
für die
Magnetbandsteuereinheit 10 vorgesehen. Der Befehlszähler 84 zählt die
Anzahl der Male der Befehlsausführung
des Port (A) mit niedriger Geschwindig keit. Der Befehlszähler 86 zählt die Anzahl
der Male der Befehlsausführung
des Port (B) mit hoher Geschwindigkeit. Wenn der Zählwert des Befehlszählers 84 oder 86 eine
vorbestimmte Zahl erreicht, führt
der Wiederholungsunterbrechungsverarbeitungsteil 76 den
Wiederholungsunterbrechungsprozeß aus. Zum Beispiel wird eine
Befehlssequenzserie durch den Übertragungsprozeß auf Grund
der Kopplung des Port (B) mit hoher Geschwindigkeit ausgeführt, und
der Befehlszähler 86 zählt in Zuordnung
zu der Befehlsausführung
aufwärts.
In diesem Fall wird, wenn der Wiederholungsunterbrechungsverarbeitungsteil 76 beurteilt,
daß der Zählwert die
vorbestimmte Zahl übersteigt,
eine Statusantwort der Wiederholungsanforderung von dem Port (B)
mit hoher Geschwindigkeit, der gegenwärtig gekoppelt ist, an den
Kanal (B) mit hoher Geschwindigkeit gesendet, wodurch er getrennt
wird. Nach der Trennung nimmt der Wiederholungsunterbrechungsverarbeitungsteil 76 Bezug
auf den Belegt-Antwort-Speicherteil 82 und prüft die Zustände der
bisherigen Belegt-Antworten hinsichtlich aller Ports (A) und (B).
Speziell werden die neueste Antwortzeit und die Anzahl von Belegt-Antworten
in jedem der Ports (A und B) geprüft. Der Port, in dem die Belegt-Antwortzeit
alt ist und die Anzahl von Belegt-Antworten hoch ist, wird als Port
bestimmt, dessen Verarbeitung am meisten zu bevorzugen ist. In diesem
Fall wird der Port (A) mit niedriger Geschwindigkeit als bevorzugter
verarbeitender Port bestimmt. Durch den Empfang von solch einer
Entscheidung antwortet der Routen-Steuerteil 46 mit einem Belegt-Ende
von dem Port (A) mit niedriger Geschwindigkeit an den Kanal (A)
mit niedriger Geschwindigkeit, wodurch zugelassen wird, daß die Aktivierungsanforderung
von dem Kanal (A) mit niedriger Geschwindigkeit, der das Belegt-Ende
empfing, an den Port (A) mit niedriger Geschwindigkeit gestellt
wird. Durch das Koppeln des Port (A) wird der Übertragungsprozeß ausgeführt. Wenn
der Übertragungsprozeß durch
die Unterbrechung des Port (A) mit niedriger Geschwindigkeit beendet
ist, führt
im Anschluß an die
Antwort mit dem Einheitsende von dem Port (A) mit niedriger Geschwindigkeit
der Wiederholungsunterbrechungsverarbeitungsteil 76 die
Unterbrechungsanforderung des Wiederholungsstarts von dem Port (B)
mit hoher Geschwindigkeit aus und koppelt den Port (B), wodurch
der unterbrochene Übertragungsprozeß neu gestartet
wird. Der detaillierte Wiederholungsunterbrechungsprozeß ist im
wesentlichen jenem in der ersten Ausführungsform ähnlich, die in 20 bis 22 gezeigt
ist, außer
daß die
Anzahl der Male der Befehlsausführung
der Ports (A und B) durch die Befehlszähler 84 und 86 gezählt wird
und, wenn die Male der Befehlsausführung den vorbestimmten Wert
erreichen, der Wiederholungsunterbrechungsprozeß gestartet wird.
-
24 zeigt
die dritte Ausführungsform
der fünften
Form des I/O-Systems. Diese Ausführungsform
ist dadurch gekennzeichnet, daß der
Wiederholungsunterbrechungsprozeß ausgeführt wird, wenn das Belegt-Verhältnis von
jedem Port einen vorbestimmten Wert erreicht. Der Port (A) mit niedriger
Geschwindigkeit, der Port (B) mit hoher Geschwindigkeit, der Routen-Steuerteil 46,
der Wiederholungsunterbrechungsverarbeitungsteil 76, der
Belegt-Antwort-Speicherteil 82 und ferner ein Belegt-Verhältnis-Berechnungsteil 88 sind
für die
Magnetbandsteuereinheit 10 vorgesehen. Der Belegt-Verhältnis-Berechnungsteil 88 kann
durch die Aktivierungszahl-Zähler 54 und 60,
die Belegt-Zahl-Zähler 56 und 62 und
den Belegt-Verhältnismessungs-Speicherteil 50 in 6 realisiert
werden. Der Wiederholungsunterbrechungsverarbeitungsteil 76 beurteilt,
ob das Belegt-Verhältnis
R1 des Port (A) mit niedriger Geschwindigkeit oder das Belegt-Verhältnis R2
des Port (B) mit hoher Geschwindigkeit, das durch den Belegt-Verhältnis-Berechnungsteil 88 berechnet
wurde, einen vorbestimmten Wert erreicht hat oder nicht. Wenn das
Belegt-Verhältnis
R1 oder R2 den vorbestimmten Wert erreicht, wird der Wiederholungsunterbrechungsprozeß gestartet.
Der Wiederholungsunterbrechungsprozeß ist im wesentlichen jenen
in der ersten Ausführungsform
der fünften
Form von 20 und der zweiten Ausführungsform
der fünften Form
von 23 ähnlich.
Als Antwort wird nämlich ein
Status der Wiederholungsanforderung von dem Port gemeldet, der gegenwärtig gekoppelt
ist, und der Port wird vorübergehend
getrennt. Der Port, dessen Verarbeitung am meisten zu bevorzugen
ist, wird unter Bezugnahme auf den Belegt-Antwort-Speicherteil 82 bestimmt.
Ein Belegt-Ende wird für
den bestimmten Port erzeugt, die Aktivierungsanforderung wird akzeptiert,
und der Übertragungsprozeß wird ausgeführt. Wenn
der Übertragungsprozeß durch
die Unterbrechung beendet wird, wird eine Unterbrechungsanforderung
des Wiederholungsstarts an den getrennten Port gestellt, wird der
Port neu gekoppelt und wird der unterbrochene Übertragungsprozeß neu gestartet.
In der dritten Ausführungsform
wird, wenn das Belegt-Verhältnis
den vorbestimmten Wert erreicht und der Wiederholungsunterbrechungsprozeß ausgeführt wird,
der Port, dessen Verarbeitung bevorzugt wird, gemäß den Situationen
der Belegt-Antworten aller Ports bestimmt, nämlich gemäß der Zeit der Belegt-Antwort
und der Anzahl der Male einer Belegt-Antwort. Jedoch kann der bevorzugte verarbeitende
Port auch durch Analysieren der Belegt-Verhältnisse selbst bestimmt werden,
die die Unterbrechungsfaktoren darstellten. Das heißt, es reicht aus,
die Belegt-Verhältnisse
aller Ports zu analysieren und den Port mit dem höchsten Belegt-Verhältnis als
bevorzugter verarbeitender Port zu bestimmen. Solch ein Bestimmungsverfahren
kann als Bestimmung des bevorzugten verarbeitenden Port durch die Analyse
der Unterbrechungsfaktoren selbst angesehen werden. Was die erste
Ausführungsform
der fünften
Form von 20 und die zweite Ausführungsform
der fünften
Form von 23 anbelangt, werden ähnlich wie
bei der dritten Ausführungsform von 25 durch
Vorsehen des Belegt-Verhältnis-Berechnungsteils 88 die
Belegt-Verhältnisse
aller Ports zu der Zeit des Wiederholungsunterbrechungsprozesses
analysiert, und auch der Port mit dem höchsten Belegt-Verhältnis kann
als bevorzugter verarbeitender Port bestimmt werden.
-
[Bewirken der Intelligenz der Eingabe/Ausgabe-Ports]
-
25 betrifft
eine Form des I/O-Systems, die die vorliegende Erfindung verkörpert. In
dieser Form ist eine Befehlsanalysierfunktion für jeden Port vorgesehen, werden
Befehle, die während
der Verarbeitung eines anderen Port ausgeführt werden können, analysiert
und werden Prozesse parallel ausgeführt. In der Magnetbandsteuereinheit 10 ist
ein Befehlsanalyseausführungsteil
(eine Befehlsanalyse ausführende
Sektion) 92 für
den Port (A) mit niedriger Geschwindigkeit vorgesehen und ist ein
Befehlsanalyseausführungsteil
(eine Befehlsanalyse ausführende
Sektion) 94 für
den Port (B) mit hoher Geschwindigkeit vorgesehen. Die Befehlsanalyseausführungsteile 92 und 94 führen Steuersignale
der Magnetbandsteuereinheit 10 und den unteren Magnetbandlaufwerkeinheiten 12-1 und 12-2 durch
einen unabhängigen
Steuerbus 98 zu. Eine Datenübertragung zu der Seite der
Magnetbandlaufwerkeinheiten 12-1 und 12-2 wird
durch einen Datenbus 96 ausgeführt. Ein Datenrouten-Steuerteil 90 zum
Umschalten der Ports (A und B) ist für den Datenbus 96 vorgesehen. In
den oben bezüglich 4–24 beschriebenen ersten
bis fünften
Formen sind der Befehlsanalyseausführungsteil und der Datenrouten-Steuerteil
als ein Routen-Steuerteil für
die Magnetbandsteuereinheit 10 vorgesehen. Jeder der Befehlsanalyseausführungsteile 92 und 94,
die für
die Ports (A und B) vorgesehen sind, analysiert den Befehl, der
durch das Koppeln mit dem Kanal in Zuordnung zu der Aktivierungsanforderung
empfangen wurde, und unterscheidet, ob der Befehl ein Befehl ist,
der auch während
der Datenübertragung
durch den anderen Port ausgeführt
werden kann oder nicht. Als Befehl, der während der Datenübertragung
auf Grund der Kopplung des anderen Port ausgeführt werden kann, gibt es Befehle
eines Bewegungssystems für
eine Ladeoperaton, eine Entladeoperation, eine Schnellvorlaufoperation,
eine Rückspuloperation
und dergleichen eines Magnetbandes auf der Seite der Magnetbandlaufwerkeinheiten 12-1 und 12-2,
Befehle eines Abfragesystems zum Mitteilen der Operationszustände der
Seite der Magnetbandlaufwerkeinheiten 12-1 und 12-2 und
dergleichen. Andererseits gibt es als Befehl, der während der
Datenübertragung
durch das Koppeln der Seite des anderen Ports nicht ausgeführt werden
kann, einen Lesebefehl und einen Schreibbefehl. Wenn die Befehlsanalyseausführungsteile 92 und 94 die
Aktivierungsanforderung während
der Datenübertragung
durch das Koppeln des anderen Port empfangen und den Empfang des Befehls
des Bewegungssystems oder des Abfragesystems analysieren, wird eine
Kopplungs-Abschlußantwort
erzeugt, wird der Befehl akzeptiert, ohne eine Belegt-Antwort zu
erteilen, und wird der Befehl des Bewegungssystems oder Abfragesystems
ausgeführt.
In diesem Fall müssen
die Magnetbandlaufwerkeinheit, die die Datenübertragung durch das Koppeln
des anderen Port ausführt,
und die Magnetbandlaufwerkeinheit des Befehls des Bewegungssystems oder
Abfragesystems, der parallel ausgeführt wird, verschiedene Einheiten
sein. Der Unterschied zwischen jenen Einheiten wird durch eine Laufwerk-ID geprüft, die
als Befehlsparameter der Start-I/O-Anforderung empfangen wird. Hinsichtlich
der Vorrichtungsbusse zwischen der Magnetbandsteuereinheit 10 und
der Seite der Magnetbandlaufwerkeinheiten 12-1 und 12-2,
in denen das Datenübertragungssystem,
das Steuersystem und das Abfragesystem unabhängig verarbeitet werden können, kann
zusätzlich
zu den unabhängigen
Bussen des Steuerbusses 98 und des Datenübertragungsbusses 96,
die in dem Diagram gezeigt sind, auch eine Gemeinschaftsbuskonstruktion
der Art verwendet werden, daß der
Befehlsprozeß und
die Datenübertragung
gleichzeitig ausgeführt
werden können.
-
Das
Flußdiagramm
von 26 betrifft die Verarbeitungsoperation von 25.
Zuerst wird bei Schritt S1 das Vorhandensein oder Fehlen einer Aktivierungsanforderung
für den
Port geprüft.
Wenn die Aktivierungsanforderung empfangen ist, wird bei Schritt
S2 der Port mit dem Kanal gekoppelt und wird der Übertragungsprozeß des Befehls
ausgeführt.
Bei Schritt S3 wird der empfangene Befehl analysiert. Durch die
Befehlsanalyse kann in Erfahrung gebracht werden, daß der empfangene
Befehl der Befehl des Bewegungssystems ist, der nichts mit der Datenübertragung
oder dem Abfragesystem zu tun hat. Bei Schritt S4 wird geprüft, ob der
empfangene Befehl ein Befehl ist, der nichts mit der Datenübertragung
zu tun hat, nämlich
ein Befehl des Bewegungssystems oder ein Befehl des Abfragesystems.
Im Falle des Befehls des Bewegungssystems oder des Befehls des Abfragesystems
folgt Schritt S5 und wird geprüft,
ob die Magnetbandlaufwerkeinheit in Betrieb ist oder nicht. Falls
JA, wird bei Schritt S6 geprüft,
ob die Laufwerk-ID, die durch die Analyse des empfangenen Befehls
erhalten wurde, mit der Laufwerk-ID der Laufwerkeinheit, die gegenwärtig arbeitet,
koinzidiert oder nicht. Falls JA, kann der empfangene Befehl ungeachtet
der Befehlsart nicht ausgeführt
werden. Deshalb wird bei Schritt S10 eine Belegt-Antwort zurückgesendet.
Wenn sich die Laufwerk-ID unterscheidet, wird dann, da der Befehl
des Bewegungssystems oder des Abfragesystems ausgeführt werden
kann, der empfangene Befehl bei Schritt S7 ausgeführt. Wenn
bei Schritt S8 beurteilt wird, daß die Serie von Übertragungsprozessen
in Zuordnung zu der Befehlsausführung
vollendet ist, wird ein Einheitsende als Antwort bei Schritt S9
gesendet, und die Verarbeitungsroutine kehrt zu Schritt S1 zurück. Im Falle
des Port, der die Belegt-Antwort erteilte, wird als Antwort ein
Belegt-Ende in Zuordnung zu dem Einheitsende gesendet. Wenn der
empfangene Befehl ein Schreibbefehl oder Lesebefehl ist, der mit
der Datenübertragung
bei Schritt S4 einhergeht, folgt Schritt S11 und wird geprüft, ob die
Daten gerade durch den anderen Teil übertragen werden oder nicht.
Falls JA, wird dann, da die Daten nicht übertragen werden können, eine
Belegt-Antwort bei Schritt S12 zurückgesendet, und die Verarbeitungsroutine kehrt
zu Schritt S1 zurück.
Wenn die Daten durch den anderen Port zur Zeit nicht übertragen
werden, wird, da der Schreibbefehl oder Lesebefehl ausgeführt werden
kann, der Datenübertragungsprozeß in Zuordnung
zu der Befehlsausführung
bei Schritt S12 ausgeführt.
Wenn bei Schritt S8 beurteilt wird, daß das Ende der Übertragung
eingetreten ist, wird bei Schritt S9 als Antwort ein Einheitsende
gesendet, und die Verarbeitungsroutine kehrt zu Schritt S1 zurück.
-
Gemäß den oben
beschriebenen I/O-Systemen kann, selbst wenn eine Vielzahl von Eingabe/Ausgabe-Ports
der Eingabe/Ausgabe-Steuereinheit mit den Kanaleinheiten auf der
Hostcomputer-Seite durch die Kanalbusse mit den verschiedenen Übertragungsgeschwindigkeiten
verbunden ist, solch eine Situation sicher verhindert werden, daß die Dienste
für die
Eingabe/Ausgabe-Anforderung zwischen einem spezifischen Kanal und
dem Port einseitig sind. Auch wenn sich die Eingabe/Ausgabe-Anforderungen von
den Kanaleinheiten überlappen,
können
die Dienste für
jeden Eingabe/Ausgabe-Port nahezu gleichmäßig vorgesehen werden. Deshalb
kann sicher verhindert werden, daß die Vorrichtung in einen
Schleifenzustand von [Belegt/Einheitsende] gelangt, so daß die Aktivierungsanforderung
zu einer Belegt-Antwort zwischen dem Kanal mit niedriger Geschwindigkeit
und dem Port führt,
und auch wenn eine Aktivierungsanforderung wegen des Einheitsendes
wieder gestellt wird, eine Belegt-Antwort erteilt wird. Solch eine
Situation, daß die
Zeit der Vorrichtung auf Grund einer Antwortverzögerung für die Eingabe/Ausgabe-Anforderung
des Hostcomputers abläuft
und sie in eine Prüfbedingung
gelangt, wird vermieden. Die Systemleistung kann garantiert werden.
-
Das
System der Erfindung ist oben in bezug auf das Eingabe/Ausgabe-Teilsystem
beschrieben worden, das aus der Magnetbandsteuereinheit und der
Magnetbandlaufwerkeinheit gebildet ist, wobei das Magnetband als
Speichermedium verwendet wird. Als Eingabe/Ausgabe-Vorrichtungen
außer dem
obigen System inkorporiert die Erfindung jedoch auch andere Eingabe/Ausgabe-Steuereinheiten
hinsichtlich geeigneter Ein gabe/Ausgabe-Vorrichtungen, wie etwa
einer magneto-optischen Plattenvorrichtung, einer Magnetplattenvorrichtung
und dergleichen. Die Erfindung wird auch nicht durch die in den Ausführungsformen
angegebenen Zahlenwerte begrenzt.