DE2912738A1 - System mit direkter uebertragung zwischen subsystemen - Google Patents
System mit direkter uebertragung zwischen subsystemenInfo
- Publication number
- DE2912738A1 DE2912738A1 DE19792912738 DE2912738A DE2912738A1 DE 2912738 A1 DE2912738 A1 DE 2912738A1 DE 19792912738 DE19792912738 DE 19792912738 DE 2912738 A DE2912738 A DE 2912738A DE 2912738 A1 DE2912738 A1 DE 2912738A1
- Authority
- DE
- Germany
- Prior art keywords
- subsystem
- queue
- memory
- priority
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000012546 transfer Methods 0.000 title description 37
- 230000015654 memory Effects 0.000 claims description 118
- 238000012545 processing Methods 0.000 claims description 16
- 238000013519 translation Methods 0.000 claims description 15
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000009365 direct transmission Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 description 18
- 238000000034 method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 10
- 241000270295 Serpentes Species 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 108091027981 Response element Proteins 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Description
System mit direkter Übertragung zwischen Subsystemen
Priorität: Japan 31.März 1978 Nr. 037920/1978
Die Erfindung betrifft ein Datenübertragungssystem nach dem Warteschlangeprinzip
zwischen Subsystemen. Im einzelnen betrifft die Erfindung ein direktes Transfersystem zwischen Subsystemen,
welches derart aufgebaut ist, daß zu dem Speicher eines Subsystems direkt durch ein anderes Subsystem zugegriffen werden
kann, und daß ein Überlauf- oder Freigabezustand einer Warteschlange in der Datenübertragung zwischen den Subsystemen wirkungsvoll
erkannt werden kann.
Beschreibung des Standes der Technik
Fig.1 zeigt die Ausführung eines üblichen Kanalsteuersystems
zur Datenübertragung zwischen einem übergeordneten Subsystem und einem Ein/Ausgabesubsystem durch einen Kanal. Das Bezugszeichen 1 bezeichnet den Hauptprozessor. Mit 2 ist ein Kanal
bezeichnet, während 3 eine Speicheranordnung bezeichnet. Ein
Ein/Ausgabesubsystem ist mit 4- bezeichnet. Nach Empfang einer SlO-Instruktion (Start Ein/Ausgabe) vom Hauptprozessor 1 liest
der Kanal das Kanalsteuerwort (CGW), das durch das Kanaladresswort
(CAW) zugeteilt wurde, um die Ein/Ausgabesteuerung zu starten, und nach Beendigung der Eingabe/Ausgabeoperation wird
ein Unterbrechungssignal an den Hauptprozessor 1 gesendet. Diese Art eines Kanalsteuersystems besitzt die folgenden Nachteile:
a) Da der Hauptprozessor einen Unterkanal zuteilt, ist die Anzahl der Kanäle begrenzt.
8098*0^872 ^m;:, iwSPECTED
b) Der Hauptprozessor teilt einen Speicherbereich zu, und der Kanal besitzt nur Zugriff zu dem durch das Kanalsteuerwort CCW
zugeteilten Speicherbereich. Das bedeutet in anderen Worten, daß der Kanal keinen freien Zugriff zum Hauptspeicher besitzt.
Zusammenfassung der Erfindung
Der Erfindung liegt die Aufgabe zugrunde, die obengeschilderten Nachteile des Standes der Technik zu beseitigen.
Ein erstes Ziel der Erfindung ist es, ein direktes Transfersystem
sxtfischen den Subsystemen zu schaffen, das den direkten Zugriff
zum Speicher eines Subsystems durch ein anderes Subsystem ermöglicht, ohne daß eine Mitwirkung eines Prozessors dieses
Subsystems erforderlich ist, und das eine wirkungsvolle Zusammenarbeit
einer Vielzahl von Subsystemen gestattet.
Ein weiteres Ziel der Erfindung ist es, ein direktes Datentransfersystem
zwischen Subsystemen vorzusehen, welches den Zugriff zu einem Speicher eines Subsystems direkt durch ein anderes Subsystem
gestattet, ohne daß eine Umsetzung einer logischen Adresse in eine physikalische Adresse in einem Subsystemprogramm erforderlich
ist.
Ein drittes Ziel der Erfindung besteht darin, ein direktes Datentransfersystem
zwischen Subsystemen zu schaffen, welches im besonderen Fall des Datensatzlesens einer Seite einen physikalischen
Adressenzugriff von einem Subsystem zuteilt und dem anderen Subsystem direkten Zugang zum Speicher dieses einen Subsystems
aufgrund der physikalischen Adresse ermöglicht.
Ein viertes Ziel der Erfindung besteht darin, ein direktes Datentransfersystem
zwischen Subsystemen zu schaffen, bei dem eine Schutzzeichenkombination von einem Subsystem ausgesendet wird,
um einen Speicherschutz bei dem Spexchersubsystem zu ermöglichen.
ORIGINAL INSPECTED
90984QA08T2
Ein fünftes Ziel der Erfindung besteht darin, ein direktes Datentransfersystem zwischen Subsystemen zu schaffen, bei dem
im Verkehr zwischen den Subsystemen Warteschlangen verwendet werden, und bei dem ein Warteschlangenüberlauf- und Warteschlangenfreigabezustand
mittels einer einfachen Logik ermittelt wird und eine wirksame Warteschlangenüberlaufverarbeitung erreicht
wird.
Um die obengeschilderten Ziele zu erreichen, ist für den Datenverkehr
zwischen den Subsystemen ein direktes Transfersystem vorgesehen, welches nach dem. Warteschlangenprinzip arbeitet,
und in welches durch ein Subsystem ein Datenelement eingereiht wird und durch ein anderes aus der Warteschlange herausgenommen
werden kann, wobei jedes Subsystem mit einem Prozessor versehen ist. Dabei ist zwischen beiden Subsystemen ein direkter Speicherzugriff
vorgesehen, der den Zugriff zum Speicher jedes Subsystems möglich macht, und die notwendige Speicherzugriffsteuerinformation
für den Zugriff des Subsystems wird in ein Warteschlangenelement eingesetzt, welches durch das Subsystem eingereiht
wird. Ferner ist bei einem Datenübertragungssystem zwischen Subsystemen die Anordnung derart getroffen, daß ein Quellensubsystem
ein Element in eine Warteschlange einsetzt, und das Zielsubsystem das Warteschlangenelement aus der gebildeten
Schlange herausnimmt und auf diese Weise den Nachrichtenverkehr zwischen Subsystemen ausführt, sobald das Quellensubsystem den
Befehl für das Einreihen ausgibt, und daß ein Vergleich zwischen der Länge des Warteschlangenelements, das durch den Einreihungsbefehl
gebildet wird, und der übrigen Länge der genannten Schlange ausgeführt wird, und daß, wenn der Vergleich eine vorbestimmte
Bedingung erfüllt eine Überlaufunterbrechung in einem Prozessor
des Quellensubsystems ausgelöst wird.
909840/0872
Kurzbeschreibung der Zeichnungen
Fig.1 zeigt schematisch die Ausführung eines üblichen Kanal-Steuersystems.
Fig.2 zeigt schematisch die Ausführung eines direkten Datentransfersystems
zwischen Subsystemen gemäß der Erfindung.
Fig.3 dient der Erläuterung der Bildung eines Warteschlangenbefehls
des Warteschlangenelements.
Fig.4- dient zur Erläuterung des Formats einer erweiterten
Fortführungsinstruktion (EXMVL).
Fig.5 erläutert eine erste Ausführungsform der Hardware-Struktur
des direkten Datentransfersystem zwischen Subsystemen gemäß der Erfindung.
Fig.6 dient der Erläuterung der Ausgliederung aus der Warteschlange.
Fig.7 zeigt die Möglichkeit einer dynamischen Adressenumsetzung.
Fig.8 zeigt die Auslegung eines Datenübertragungssystems zwischen
Subsystemen unter Verwendung einer Warteschlange.
Fig.9 zeigt den Statusübergang bei der Ausgäbewarteschlange.
Fig.1OA, B und C enthalten Diagramme zur Erläuterung einer Überlaufunterbrechung
bei der Warteschlange sowie eine Warteschlangenfreigabe/Unterbrechungsverarbeitungsmethode.
Fig.11 zeigt als Blockschaltbild eine zweite Ausführungsform der
Hardwarestruktur des direkten Datentransfersystems zwischen Subsystemen
gemäß der Erfindung.
Beschreibung bevorzugter Ausführungsformen
In Fig.2 sind mit den Bezugszeichen 3A und 3B Speicher bezeichnet.
Die Steuerschaltungen für den direkten Zugriff sind mit 2OA und 2OB bezeichnet. 8 stellt die Nachrichtenwarteschlange dar.
Bei der Anordnung gemäß Fig.2 sei angenommen, daß die Subsysteme A und B jeweils ein Hauptsubsystem und ein Eingabe/Ausgabesubsystem
darstellen.
909840/0812
Wenn das Hauptsubsystem A eine Anforderung an das Ein/Ausgabesubsystem
richtet, bildet das erstere eine Warteschlange mit den Nachrichtenelementen SSCB in der Datenwarteschlange 8. Die
in die Schlange eingereihten Elemente SSCB durch das Hauptsubsystem A werden durch das Ein/Ausgabesubsystem B ausgesondert.
Das Ein/Ausgabesubsystem B verarbeitet die durch die Nachrichtenelemente SSCB bezeichnete Anforderung und nach Beendigung
der "Verarbeitung reiht es die Antwortnachrichtenelemente SSCB in die Übertragungswarteschlange 8 wieder ein. Diese Antwortnachrichtenelemente
SSCB werden durch das Hauptsubsystem A ausgesondert, um die Antwort auf die Anforderung zu bestimmen.
Wenn das Ein/Ausgabesubsystem B die Anforderung vom Hauptsubsystem A bearbeitet, gibt es einige Gelegenheiten, bei denen
Daten aus einem Speicher des Hauptsubsystems A ausgelesen oder in diesen eingeschrieben werden müssen. In diesem Fall gibt
das Ein/Ausgabesubsystem B eine EXMVL-Instruktion (Extended
Move Long) aus, wodurch eine Adresseninformation und eine Speicherzugriffsteuerinformation an die direkten Zugriffsteuerschaltungen
2OA und 2OB gesendet wird. Als Folge davon werden Daten von dem Speicher 3A zum Speicher 3B oder entgegengesetzt
übertragen. Bisher wurde der Fall beschrieben, in dem das Subsystem A eine Anforderung an das Subsystem B sendet und
letzteres eine Rückantwort gibt. Es gibt natürlich auch Fälle, in denen das Subsystem A eine Anforderung beantwortet, die
vom Subsystem B ausgesendet wurde. Zur Erläuterung der Bildung des Warteschlangenbefehls und des Warteschlangennachrichtenelements
SSCB dient Fig.3. Ein Prioritätanzeigeregister ist mit
7B bezeichnet. Mit 12 ist ein Programmsteuerwort bezeichnet, während 13A ein Nullkontrollregister bezeichnet. Das zugehörige
Λ Kontrollregister hat die Bezeichnung "14-A, 15A stellt
den festen Speicherraum dar. Die Bezugsbuchstaben KEY weisen auf den Schutzcode hin. Die Bezeichnung P Bit bedeutet, daß
ein Bit anzeigt, ob die Betriebsart sich auf Problembearbeitung oder Überwachung bezieht. Mit SS ist die Segmentgröße
909840/0872
Bezeichnet. PS bezeichnet die Seitengröße. STA bezeichnet eine
Seginentrafeladresse. STL bezeichnet die Länge der Segmenttafel.
PRIR stellt den Inhalt des Prioritätsanzeigeregisters 7A dar.
Die Kurzbezeichnung Programm ID bezieht sich auf die Programmidentifi~ierung
bezüglich des Programmes, das einen Warteschlangenbefehl ausgegeben hat. Mit "Text" ist der Inhalt einer Anforderung
oder einer Rückantwort bezeichnet. Der Warteschlangenbefehl EKQ besitzt erste und zweite Operanten. Der erste Operant
(B^, D^) teilt den Text zu und der zweite Operant (B2, D2)
teilt die Subsystemadresse, die Textlänge und die Informationspriorität des Bestimmungssystems zu. Das Warteschlangenelement
SSCB besitzt folgende Parameter: Die Elementlänge, die Informationspriorität,
den Speicherschutzcode (PSW key) sowie das P-Bit (Betriebsart, siehe oben), die Segmentgröße SS und die Seitengröße
PS, die Segmenttafeladresse STA und die Segmenttafellänge STL, den Prioritätswert des Prioritätsanzeigeregisters
und die Programmidentifikation des Programmes, welches den Warteschlangenbefehl und den Text ausgesendet hat. Als Speicherschutzcode
sind die Bits 8 bis 11 des Programmstatuswortes eingesetzt. Der Speicherschutzcode wird für den Speicherschutz
verwendet, wenn zum Speicher 3A (oder 5B) zugegriffen wird.
Zur Bezeichnung der Seitengröße PS sind die Bits 8 bis 9 des Nullkontrollregisters 13A eingesetzt. Als Segmenttafellänge
STL sind die Bits 0 bis 7 des 1 Kontrollregisters 14-A vorgesehen
und für die Segmenttafeladresse STA dienen die Bits 8 bis 25 des 1 Kontrollregisters 14-A. Die Seitengröße PS, die
Segmentgröße SS, die Segmenttafellänge STL und die Segmentadresse
im Warteschlangenelement SSCB, das vom Hauptsubsystem
A ausgegeben wurde, und als DAT-Kontrollinformation (dynamische
Adressenumsetzung) dient, wenn das Ein/Ausgabesubsystem, B zum Speicher 3A des Hauptsubsystems A zugreift, wobei eine
virtuelle Adresse benutzt wird.
009640/0872
Wenn das Ein/Ausgabesubsystem B direkt zum Speicher 3A des
Hauptsubsystems A zugreift, wird ersteres mit der Hauptspeicherzugriff kontrollinformation versorgt, wie dies oben ausgeführt
wurde. Sofern passend kann demgemäß das Ein/Ausgabesubsytem
B direkt zum Speicher 3A des Hauptsubsystems A ohne Intervention
des Prozessors des Hauptsubsystems A zugreifen. Nachstehend wird die EXMVL-Instruktion zur Durchführung des
direkten Zugriffes und ein Verfahren zum Direktzugriff beschrieben.
Zur Erläuterung der EXMVL-Instruktion dient Fig.4.
Die EXIWL-Instruktion besitzt einen ersten Operantenteil R^,
einen zweiten Operantenteil Bp, Dp und einen dritten Operantenteil
R^. Der erste Operantenteil dient der Zuteilung eines
Registers, in welchem eine Bestimmungskopfadresse und eine
Bestimmungsbytezahl gespeichert sind. Der dritte Operant R7.
dient zur Zuteilung eines Registers, in dem eine Quellenkopfadresse und eine Quellenbytezahl gespeichert sind. Im Adressenbereich,
der durch den zweiten Operanten Bp, Dp zugeteilt ist,
sind die Adressen des anderen Subsystems SAj die Transferrichtungszuteilungsinformatxon
D, die Information R der zugeteilten Betriebsart gespeichert,-nämlich ob die Übertragung mit
dynamischen Adressentransfer ausgeführt wird oder nicht, ferner ein Speicherschutzcode, die Segmenttafeladresse STA, die
Seitengröße PS und die Segmentgröße SS. Die Zuteilungsinformation D der Transferrichtung mit einer logischen "O" gibt an,
daß die Daten vom anderen Subsystem übertragen werden sollen. Eine Zureilungsinformation D für die Transferrichtung mit einer
logischen "1" gibt an, daß die Daten an das andere Subsystem gesendet werden sollen. Die Information R mit logischer
11O" für die zugeteilte Betriebsart zeigt an, daß die Ausführung
mit dynamischer Adressenumsetzung erfolgen soll, das be- · deutet in virtueller Betriebsweise. Die Information R der zugeteilten
Betriebsart mit logischer "1" gibt an, daß keine dynamische Adressenumsetzung erfolgen soll, was bedeutet, daß
die reelle Betriebsweise angewendet werden soll. Der Speicherschutzcode (PSW key), die Segmenttafellänge STL, die Segment-
909840/0872
tafellänge STL, die Segmenttafeladresse STA, die Seitengröße PS und die Segmentgröße SS bilden die Steuerinformation für den
Speicherzugriff. Die Steuerinformation für den Speicherzugriff,
die im Adressenbereich durch den zweiten Operanten Bp, Dp der
EXMVL Instruktion zugeteilt wurde, ist identisch mit der Steuerinformation
für den Speicherzugriff, die im Warteschlangenelement enthalten ist, auf dem die Ausgabe der EXMVL-Instruktion beruht.
Das Bezugszeichen PAD bezeichnet ein Füllzeichen.
Als nächstes sei die Ausführung der EXMVL-Instruktion beschrieben.
In Fig.2 bildet das Hauptsubsystem A die Warteschlangenelemente SSGB in der Warteschlange 8, während das Ein/Ausgäbesubsystem
B die V/arteschlangenelemente SSCB aus der Warteschlange 8 herauslöst. Das Ein/Ausgabesubsystem B bringt die ausgegliederten
V/arteschlangenelemente in eine Zuteilungsreihenfolge (nicht dargestellt) und bearbeitet die durch die Warteschlangenelemente
zugeteilten Anforderungen, entsprechend ihrer Priorität. Es sei
nun angenommen, daß der Textteil des Nachrichtenelements aus der Zuteilungsschlange das Lesen von Daten aus einer Kartei des
Ein/Ausgabesubsystems in den Speicher 3A des Hauptsubsystems A
erfordert. In diesem Falle besitzt der Textteil eine eingeschriebene Bestimmungskopfadresse, eine Bestimmungsbytezahl und weitere
Informationen, wie die Bezeichnung des Datensatzes und die Nummer der auszulesenden Blocks.
Das Ein/Ausgabesubsystem B gibt die EXMVL-Instruktion aus, damit
die Anforderung, die durch das Nachrichtenschlangenelement SSCB zugeteilt wurde, ausgeführt wird. Der erste Operantenteil der
EXMVL-Instruktion bezeichnet das Register, in welches die Bestimmungskopfadresse
und die Bestimmungsbytezahl des Textteiles eingespeichert wird. Der dritte Operantenteil bezeichnet den
Zähler, in dem die Kopfadresse und die Bytezahl eines Pufferspeicherbereichs
im Ein/Ausgabesubsystem, in welchem die Blocks des Datensatzes gespeichert sind, der durch den Textteil bezeichnet
ist. Die Information D zur Bezeichnung der Transferrichtung
909840/0872
und die Information E der Betriebsartbestimmung des zweiten
Operanten Dp, B2 werden ebenfalls durch den Textteil festgelegt.
\-}enn die Steuerinformation des zweiten Operanten D2, B2
für den Speichzugriff ausgewertet wird, wird gleichzeitig die Steuerinformation für den Speicherzugriff des Nachrichtenelements
SSCB zur Leseanforderung. Bei der Ausführung der EXMVL-Instruktion nach deren Ausgabe durch den Prozessor liest das
Ein/Ausgabesystem B bei virtuellem Betrieb unter Beachtung der Quellenkopfadresse als virtuelle Adresse die Daten aus dem Speicherbereich
des Speichers 3B, die durch die Adresse bestimmt sind, und überträgt die Daten zu dem Hauptsubsystem A. Wenn
man annimmt, daß in diesem Pail das Subsystem B vor dieser Datenübertragung
die Information der Bestimmungsadresse und die Speicherzugriffsteuerinformation an die Direktzugriffssteuerschaltung
2OA des Hauptsubsystems A gibt, so bewirken die DirektzugriffsteuerschaltungN20A
und 2OB die dynamische Adressenübertragung. Die Datenübertragung zwischen dem Hauptsubsystem
A und dem Ein/Ausgabesubsystem B findet in der Richtung statt, die durch den Parameter '($) bezeichnet ist, das heißt
in diesem Falle vom Ein/Ausgabesubsystem B zum Hauptsubsystem A. Die Anwendung der Parameter fa) bis. Ce- der EXMVL-Instruktion
ist die gleiche wie im Fall einer MVCL-Instruktion. Die Speicherdirektzugriffsteuerschaltung
2OA führt eine Speicherschutzüberprüfung sowie eine dynamische Datenumsetzung aus, bei der
der Parameter (h) verwendet wird. Wenn jedoch die reelle Betriebsweise
durch den Parameter ^q) angezeigt wird, so findet
keine dynamische Adressenumsetzung statt. Die EXMVL-Instruktion kann also, wie im Fall der MVCL-Instruktion, unterbrochen
werden. Das bedeutet, daß diese Instruktion an einer passenden Verbindungsstelle der Daten eine Unterbrechung
empfängt, daß zeitweilig die Information gespeichert wird (ein Hinweiszeichen des Datenbereiches, die übrigbleibende
Bitanzahl usw.) und zwar in diesem Moment, in den Parameterbereichen (a) bis (α). Ferner wird in dem vorangegangenen Programmstatuswort
die Adresse, welche diese Instruktion bezeich-
909840/0872
net, eingesetzt, und dann die Ausführung dieser Instruktion unterbrochen.
Wird die Ausführung wieder aufgenommen, so wird die Instruktion mit den obengenannten Parametern ausgeführt, die
derart interpretiert werden, als ob diese vom Beginn an ausgeführt
würde. Bei dieser EXMVL-Instruktion ist tatsächlich kein
überlappender Datenbereich vorhanden.
Die Direktzugriffssteuerschaltungon 2OA U.20B besitzen jeweils
einen Pufferspeicher (TLB) zum Nachschlagen in Tabellen. Nach
dem Aktualisieren der Segmenttafel und der Seitentafel des Hauptsubsystenis
A wird eine TLB-Löschinstruktion ausgegeben, um den TLB-Pufferspeicher der Steuerschaltung 2OA für den Direktzugriff
unwirksam zu machen. Die gleiche Operation wird auch auf der Seite des Ein/Ausgabesubsystems B ausgeführt. Die obigen Ausführungen
beschrieben ein Beispiel, bei dem das Eingabe/Ausgabesubsystem B eine EXMVL-Instruktion ausgibt, um direkt zum Speicher 3A
des Hauptsubsystems A zuzugreifen, aber es ist in gleicher Weise möglich, daß das Hauptsubsystem die EXMVL-Instruktion ausgibt,
um einen direkten Zugriff zum Speicher 3B des Ein/Ausgabesubsystems
B erhalten zu können. Ausnahmen beim Zugriff zu den-.Speichern
3A und 3B des Hauptsubsystems A oder des Ein/Ausgabesubsystems
B werden als Programmausnahmen durch den Subsystemprozessor erkannt, der die EXMVL-Instruktion ausgegeben hat.
Fig.5 dient der Erläuterung eines Ausführungsbeispiels des Hardwareaufbaues
eines direkten Datentransfersystems zwischen Subsystemen gemäß der Erfindung. Mit 1A und 1B sind Prozessoren bezeichnet.
Die Prioritätsanzeigeregister sind mit 7A u.7B bezeichnet. 8A_B bezeichnet eine Warteschlange für die Aneinanderreihung
von Datenelementen SSCB zur Information des Subsystems B über Anforderungen oder Antworten aus dem Subsystem A. 8ß . bezeichnet
eine Warteschlange zur Aneinanderreihung von Datenelementen SSCB zur Information des Subsystems A von Anforderungen oder
Antworten aus dem Subsystem B. Die Steueranordnungen für den Nachrichtenverkehr zwischen den Subsystemen sind mit 16A und
16B bezeichnet. 17A und 17B stellen die Prioritätssteuerschal-
909840/0872
tungen dar. Die Steuerschaltungen für den Speicherzugriff sind mit 19A und 19B bezeichnet. Steueranordnungen für den Warteschlangenzugriff
tragen die Bezeichnung 21. Mit 22A und 22B sind die Anzeigeregister für die höchste Informationspriorität
bezeichnet. Die Anzeigeregister für die Unterbrechbarkeit
tragen die Bezeichnung 23A und 23B. Mit 24A und 24B sind die
Unterbrechungsmasken angedeutet und 25 bezeichnet die Signalverbindung
an der Schnittstelle.
Die Prioritätsanzeigeregister 7 A enthalten jeweils die Priorität
einer Aufgabe, die laufend durch den entsprechenden Prozessor 1A bearbeitet wird. Die Prioritätsanzeigeregister 7B enthalten
jeweils die Priorität einer Aufgabe, die laufend vom entsprechenden Prozessor 1B behandelt wird. Die Schaltungsanordnung
22A zum Festhalten der maximalen Informationspriorität enthält einen Maximumwert der Informationspriorität des Warteschlangenelementes
SSGB in der Warteschlange 8-p .. In ähnlicher
Weise enthält die Maximuminformationsprioritätschaltung 22B den
Maximalwert der Informationspriorität des Nachrichtenelements SSCB in der Warteschlange 8A_-g. Die Prioritätssteuerschaltung
17A hält den Inhalt der Maximumprioritätsschaltung 22A laufend auf dem letzten Stand und liefert eine Unterbrechungsanforderung
an die Unterbrechungssteuerschaltung 18A, was später beschrieben wird. Die Prioritätssteuerschaltung 17A prüft mittels
des Prioritätanzeigeregisters 7A die Priorität der laufend
durch den Prozessor 1A verarbeiteten Aufgaben mit Hilfe der Unterbrechungsmaske OFF und vergleicht ein Minimalwert der Priorität
mit dem Inhalt der Schaltung 22A für die maximale Informationspriorität. Ist letzterer größer als der erstere^ so fordert
die Prioritätssteuerschaltung 17A die Unterbrechungssteuerschaltung
18A an, um ein Unterbrechungssignal auszusenden. Die Unterbrechungssteuerschaltung 18A besitzt ein Anzeigeregister
23A für die Unterbrechungsmöglichkeit, welches anzeigt, ob eine Möglichkeit besteht, das Unterbrechungssignal auszusenden.
Das Unterbrechungssteuersignal bewirkt, daß unter der Voraussetzung eine Unterbrechungsanforderung wurde empfangen
809840/0872
und das Register 23A zeigt die Unterbrechungsmöglichkeit an, was bedeutet, daß der Prozessor 1A sich in einem Zustand/der
eine Unterbrechung zuläßt, befindet, so wird ein Unterbrechungssignal an den Prozessor 1A gesendet wird,der eine Aufgabe mit minimaler
Priorität bearbeitet. Die Prioritätssteuerschaltung 17A,
die Unterbrechungssteuerschaltung 18B und das Anzeigeregister 23B für die Unterbrechbarkeit sind jeweils identisch in ihrer
Funktion mit der Prioritatssteuerschaltung 17A, der Unterbre*-
chungssteuerschaltung 18A und dem Anzeigeregister 23A für die
Unterbrechbarkeit. Nach Empfang des Unterbrechungssignals gibt der Prozessor 1A, sobald er dieses Signal empfangen hat, einen
Ausgliederungsbefehl, durch den die Warteschlangenelemente SSCB in der Warteschlange 8-q. ausgegliedert werden. Dieser Ausgliederungsbefehl
wird wiederholt ausgegeben?bis die Warteschlange 8ß_, leer geworden ist. Der Prozessor 1B gibt, wenn er ein Unterbrechungssignal
erhalten hat, in ähnlicher Weise einen Ausgliederungsbefehl, wodurch die Warteschlangenelemente SSCB in
der Warteschlange 8, -g ausgesondert werden. Dieser Aussonderungsbefehl
wird ebenfalls wiederholt ausgegeben, bis die Warteschlange 8._g leer geworden ist. Die Warteschlange 8. B und
die Warteschlange 8-r, . stellen beide sogenannte FIFO-Schlangen
dar.
Als nächstes sei die Anordnung nach Fig.5 im Hinblick auf ihre
Wirkungsweise beschrieben. Zunächst sei die Arbeitsweise im Hinblick auf den Fall beschrieben, in dem das Subsystem A einen Befehl
zur Einordnung in die Warteschlange ausgegeben hat. Wenn der Prozessor 1A diesen Einordnungsbefehl ausgibt, werden, wie
in Fig.5 gezeigt, Warteschlangenelemente SSCB erzeugt und der Verkehrssteuereinrichtung 16A zwischen den Subsystemen zur Verfügung
gestellt. Die Steueranordnung 16A zwischen den Subsystemen reiht die Warteschlangenelemente SSCB in eine Warteschlange
8A-B ein und gleichzeitig überträgt sie über eine Schnittstellensignalverbindung
25 die Informationspriorität der Warteschlangenelemente SSCB an die Verkehrssteueranordnung 16B, Der Einreihungsbefehl
endet mit der Übertragung der Informationspriorität an die
S09840/0Ö72
Verkehrssteueranordnung 16B für die Subsysteme. Nach Empfang der
Informationspriorität liefert die Steueranordnung 16B des Subsystems B diese an die Prioritätssteuerchaltung 17B. Die Prioritätssteuerschaltung
17B speichert die Informationspriorität in
die Maximalinformationsprioritätsschaltung 22B ab. Dies erfolgt Jedoch nur dann, wenn die Informationspriorität höher als der
Inhalt der Prioritätsschaltung 22B für die maximale Informationspriorität ist. Die Prioritätssteuerschaltung 17B vergleicht den
Inhalt mit der Schaltung 22B für die Maximalpriorität mit den Maximalwerten der Inhalte der Prioritätsanzeigeregister des Prozessors
1B sowie mit ihren Unterbrechungsmasken OFF, und wenn der
erstere größer als letztere ist, wird an die Unterbrechungssteuerschaltung 18B eine Unterbrechungsanforderung gesendet, damit
der Kanal des Prozessors 1B unterbrochen wird. Ist dies nicht der Fall, so wird die Tätigkeit der Verkehrssteueranordnung 16B
beendet. Die Unterbrechungssteuerschaltung 18B prüft das Anzeigeregister 23B für die Unterbrechbarkeit, und wenn die Unterbrechungsmöglichkeit
besteht, gibt dieses eine Unterbrechungsanforderung an den Prozessor 1B aus, der dann eine Aufgabe mit niedrigster
Priorität bearbeitet. Wenn die Unterbrechbarkeit nicht besteht, ist die Tätigkeit der Verkehrssteuerschaltung 16B vollendet.
Die Unterbrechungssteuerschaltung 18B setzt, wenn eine Unterbrechungsanforderung durch den Prozessor 1B empfangen wurde,
das Anzeigeregister 23B für die Unterbrechbarkeit in dessen Zustand der Nichtunterbrechbarkeit zurück. Damit endet die Operation
der Verkehrssteueranordnung 16B für den Verkehr zwischen den Subsystemen.
Es folgt eine Beschreibung für die Wirkungsweise im Falle, daß das Subsystem A einen Aussonderungsbefehl für die Warteschlange
gegeben hat. Nach Ausgabe dieses Befehls liefert der Prozessor 1A gleichzeitig Parameter des Aussonderungsbefehls an die
Verkehrssteueranordnung 16A. Die Verkehrssteueranordnung 16A
steuert die Warteschlangensteuerschaltung 21 un<± (±±e speicherzugriffssteuerschaltung
19A an, um eine vorbestimmte Anzahl
S09840/0872
von Warteschlangenelementen SSCB aus der Schlange 8g_^ auszusondern.
Die Warteschlangeneleraente SSCB, die auf diese Weise abgerufen wurden, werden über die Speicherzugriffsteuerung 1°/A in
dem Speicherbereich abgespeichert, der über den Aussonderungsbefehl zugeteilt wurde. Die Verkehrssteueranordnung 16A erhält
nach Ausführung des Aussonderungsbefehls einen Maximalwert der
Informationspriorität der Warteschlangenelemente SSCB in der Warteschlange 8ß . und setzt den Maximalwert in dem Prioritätsregister 22A für die maximale Informationspriorität. Die Verkehrssteueranordnung
16A prüft über die Warteschlangenzugriffsteuerschaltung 21, ob die Warteschlange 8-n α leer geworden ist
oder nicht. Wird gefunden, daß die Warteschlange 8-n . leer ist,
so bringt die Verkehrssteuerschaltung 16A das Unterbrechungsanzeigeregister
23A in den Zustand, wonach eine Unterbrechung möglich
ist und beendet gleichzeitig den Aussonderungsbefehl.
Im Falle, daß das Subsystem B einen Warteschlangenbefehl ausgegeben
hat, laufen folgende Operationen ab: Wenn der Prozessor 1B den V/arteschlangenbefehl ausgegeben hat, werden die in Pig.5
angegebenen Warteschlangenelemente SSCB verfügbar gemacht,, die an die Verkehrssteueranordnung 16B übertragen werden. Diese
zwischen den Subsystemen wirksame Verkehrssteueranordnung 16B überträgt wiederum die Warteschlangenelemente SSCB über die
Schnittstellenverbindung 25 zur Verkehrssteueranordnung 16A. Die Anordnung 16A bringt die Warteschlangenelemente in die
Schlange 8ß . mit Hilfe der Warteschlangenzugriffsteuerschaltung
21 und informiert darauf die Verkehrssteueranordnung 16 von der Vollendung der Warteschlange über die Schnittstellen-Verbindung
25. Nach Empfang der Information beendet die Verkehrssteueranordnung
16B den Warteschlangenbefehl des Prozessors 1B. Die Verkehrssteueranordnung 16A speichert die Infor*-
mationspriorität der Warteschlangenelemente SSCB in der Prioritätssteuerschaltung 17A ab. Die Prioritätssteuerschaltung
I7A vergleicht die Informationspriorität mit dem Inhalt der
Speicherschaltung 22A für die Maximalpriorität und, sofern die
909840/0872
erstere nicht größer als die letztere ist, wird die erstere in die Maximalprioritätspeicherschaltung 22A eingespeichert. Die
Prioritätssteuerschaltung 17A erhält einen Minimalwert der Prioritätsregister
7A des Prozessors 1A im Subsystem A, dessen Unterbrechungsmasken
sich im Zustand OFF befinden. Ferner wird der Minimalwert mit dem Inhalt der Speicherschaltung 22A für
die Maximumpriorität verglichen und ist letzterer größer als der erste, so wird an die Unterbrechungssteuerschaltung 18A eine
Unterbrechungsanforderung gesendet, damit der Kanal des Prozessors unterbrochen wird. Wenn der Inhalt der Speicherschaltung
22A für die Maximalpriorität nicht größer als der obenbenannte Minimalwert ist, so wird die Operation der Anordnung 16A
zur Steuerung des Verkehrs zwischen den Subsystemen abgeschlossen. Die Unterbrechungssteuerschaltung 18A prüft das Anzeigeregister
23A für die Unterbrechbarkeit, und sofern dieses einen
unterbrechbaren Zustand anzeigt, wird ein Unterbrechungssignal an den Prozessor 1A des Kanals gegeben, der von der Prioritätssteuerschaltung
17A informiert wurde. Im Falle, daß der Prozessor 1A sich in einem nichtunterbrechbarem Zustand befindet,
wird die Operation der Verkehrssteueranordnung 16A beendet. Wird aber die Unterbrechungsanforderung durch den Prozessor 1A
angenommen, so setzt die Unterbrechungssteuerschaltung 18A das Anzeigeregister 23 für die Unterbrechbarkeit in den Zustand
der Nichtunterbrechbarkeit. Damit ist die Operation der Verkehrssteueranordnung zwischen den Subsystemen beendet.
Hat das Subsystem B einen Aussonderungsbefehl für die Warteschlange
ausgegeben, so finden folgende Operationen statt'. Nach Ausgabe des Aussonderungsbefehls vom Prozessor 1B werden die
Parameter des Aussonderungsbefehles an die Verkehrssteueranordnung
16B ausgesendet. Die Verkehrssteueranordnung 16B sendet die Parameter über die Schnittstellenverbindung 25 an die Verkehrssteuereinrichtung
16A und die Speicherzugriffssteuerung 19B. Die Steueranordnung 16A steuert die Warteschlangenzugriffssteuerung
21 an, um eine vorbestimmte Anzahl von Warteschlangenebmentea SSCB aus der Schlange Q^-q auszusondern und liefert die
909840/0872
ausgesonderten Elemente SSCB über die Schnittstellenverbindung 25 an die Verkehrssteueranordnung 16B. Die Verkehrssteueranordnung
16B sendet wiederum die ausgesonderten Elemente SSCB an die Speicherzugriffssteuerung 19B. Die Speicherzugriffssteuerung
19B überträgt die Warteschlangenelemente in einen Bereich des Speichers 3B, welcher durch die Parameter des Aussonderungsbefehls
zugeteilt wurde. Die Übertragungssteueranordnung 16A liest über die v/arteschlangenzugriffssteuerung 21 eine maximale
Informationspriorität in der Schlange 8. -g sowie eine Information
aus der hervorgeht, ob die Warteschlange leer geworden ist oder nicht. Diese Information wird über die Schnittstellenverbindung
an die Verkehrssteueranordnung 16B übertragen. Die Steueranordnung 16B setzt das Prioritätsspeicherregister 22B auf
Maximuminformationspriorität. Für den Fall, daß die Information
empfangen wurde, wonach die Warteschlange leer ist, setzt die Steueranordnung 16B das Anzeigeregister 23B in den eine Unterbrechbarkeit
anzeigenden Zustand. Damit beendet die Steueranordnung 16B für den Verkehr zwischen den Subsystemen den Befehl
zur Aussonderung aus der Warteschlange.
Wenn der Prozessor 1A oder 1B eine Instruktion zur Modifizierung des Prioritätswertes im Anzeigeregister 7A oder 7B ausgegeben
hat, finden folgende Abläufe statt: Da die Subsysteme A und B in ihrer Zusammenarbeit gleich sind, sei die nachfolgende
Beschreibung im Hinblick auf das Subsystem A gegeben. Sobald der Prozessor 1A eine Instruktion zur Veränderung des Wertes
des Prioritätanzeigeregisters 7A abgegeben hat, wird der Wert
des letzteren auf den neuesten Stand gebracht und gleichzeitig ein neuer Wert an die Verkehrssteuereinrichtung 16A geleitet,
mit dem die vorgenannte Instruktion beendet wird. Die Prioritätssteuerschaltung I7A vergleicht den Wert für die maximale
Informationspriorität in der Schaltung 22A mit einem Minimalwert der Werte des Prioritätanzeigeregisters 7A beim Prozessor
1A, dessen Unterbrechungsmasken auf OFF gestellt sind. Ist der erstere Wert größer als der letztere, so wird der Unterbrechungssteuerschaltung
18A eine Unterbrechungsanforderung zugeleitet, und der Kanal des Prozessors 1A wird unterbrochen. Darauf finden
dieselben Abläufe, wie oben beschrieben, statt.
909840/0872
Nachstehend wird die Wirkungsweise für den Fall beschrieben,
daß der Prozessor 1A oder 1B die Unterbrechungsmasken 24-A oder
24-B im unterbrechbaren Zustand besitzt. Da die Subsysteme A
und B in diesem Falle die gleiche Operation ausführen ist nachstehend nur die Operation des Subsystems A beschrieben. Setzt
der Prozessor 1A die Unterbrechungsmaske 24A in ihren unterbrechbaren
Zustand, so informiert der Prozessor 1A die Verkehrssteueranordnung
16A von dieser Zustandsänderung. Die Verkehrssteueranordnung 16A bringt das Anzeigeregister 23A für die Unterbrechbarkeit
der Unterbrechungssteuerschaltung 18A in den entsprechenden Zustand und steuert die Prioritätssteuerschaltung
17A an. Die Prioritätssteuerschaltung 17A vergleicht den
Minimalwert des Prioritätsanzeigeregisters 7A mit dem maximalen Informationsprioritätswert des Speicherregisters 22A, und ist
der erste Wert kleiner als der letztere, so liefert die Unterbrechungssteuerschaltung
18A eine Unterbrechungsanforderung, sodaß der Kanal des Prozessors unterbrochen wird. Ist der genannte
Minimalwert nicht kleiner als der Wert für die maximale Informationspriorität im Register 22A, so ist die Operation der
Verkehrssteuerschaltung für den Verkehr zwischen den Subsystemen beendet. Danach können dieselben Abläufe, wie oben beschrieben,
ausgeführt werden.
Gibt das Hauptsubsystem A eine Anforderung an das Ein/Ausgabesubsystem
B aus, so werden der Speicherschutzcode, die Segmentgröße, die Seitengröße, die Segmentadresse und die Segmentlänge
in das Warteschlangenelement, wie vorher beschrieben, eingefügt. Das Ein/Ausgabesubsystem B greift manchmal zum Speicher des anderen
Subsystems auf der Grundlage einer Zuteilung des Textteiles eines Warteschlangenelements zu.
In einem derartigen Falle greift das Ein/Ausgabesubsystem B unter Verwendung einer solchen Speicherzugriffsteuerinformation
in dem Warteschlangenelement direkt auf den Speicher JA des
Hauptsubsystems 3A zu, um aus diesem Daten zu lesen oder in dieses
einzuschreiben. In diesem Falle wird die "extended move Instruktion ausgegeben.
909840/OÖ12
In Falle, in dem der Prozessor die "extended move long" Instruktion
ausgegeben hat, laufen die nachfolgend geschilderten Vorgänge
ab. Da in diesem Falle die Subsysteme A und B die gleichen Operationen durchführen, bezieht sich die nachfolgende Beschreibung
auf das Subsystem B. Nach Ausgabe der "extended move long" Instruktion liefert der Prozessor TB die zugehörigen Parameter
an die Verkehrssteueranordnung 16B. Die Verkehrssteueranordnung
16B gibt die Parameter weiter an die Direktzugriffssteuerschaltung
2OB und über die Schnittstellenverbindung an die Verkehrssteueranordnung 16A. Die Verkehrssteueranordnung 16A leitet die
Parameter an die Direktzugriffsteuerschaltung 2OA. Danach arbeiten
die Verkehrssteueranordnungen 16A und 16B gleichlaufend miteinander,
um einen Datentransfer zwischen den Bereichen der Speicher 3A und 3B der jeweiligen Subsystemen A und B auszuführen,
der durch Parameter über die Direktzugriffsteuerschaltung
20Λ, die Schnittstellenverbindung 25 und die Direktzugriffsteuerschaltung
2OB abgewickelt wird. Nach Beendigung des Datentransfers schließt die Verkehrsteueranordnung 16B die "extended move
long" Instruktion des Prozessors 1B ab.
Fig.6 zeigt das Flußdiagramm zur Erläuterung, wie das Ausgliedern
aus der Warteschlange erreicht wird. Gezeigt ist beispielsweise dieser Vorgang auf der Seite des Hauptsubsystems. Der Prozessor
1A gibt., wie oben beschrieben, nach Beaufschlagung mit
einer Unterbrechungsanforderung einen Befehl zum Ausgliedern
der Warteochlangenelemente SSCB aus der Warteschlange 8ß .. Diese
Operation wird solange durchgeführt, bis die Warteschlange 8-g_^ leer geworden ist. Dieser Vorgang wird mit Stapelverarbeitung
der Warteschlange (batcht_dequeuing) bezeichnet. Auf Grundlage
der ausgegliederten Warteschlangenelemente SSCB werden darauf verschiedene Verarbeitungsvorgänge ausgeführt. Diese Verarbeitungsvorgänge
sind beispielsweise Weitergabe von wartenden Aufgaben, auf Antworten gestützte Information in den Warteschlangenelementen,
Durchführung von Ausgangsroutinen im Falle von Indexzuweisungen, Durchführung von Fehlersuchroutine usw.
909840/0872
Es ist ferner möglich, willkürlich einen Ausgliederungsbefehl
ohne Unterbrechung auszugeben. Im Falle einer Aufgabenzuteilung nach Vollendung der vorangegangenen liest der Prozessor 1A,
wenn die Priorität (X) der zu verteilenden Aufgabe niedriger als die der vorangegangenen Aufgabe ist, den Inhalt (Y) der
Speicherschaltung 22A für die maximale Informationspriorität indem eine RDQP-Instruktion (Read queue priority) ausgegeben wird.
Ist Y^X, so wird der Ausgliederungsbefehl für die Stapelverarbeitung
der Warteschlange der Elemente SSCB aus der Warteschlange 8R . gegeben. Darauf werden auf der Basis der ausgegliederten
Warteschlangenelemente SSCB verschiedene Verarbeitungsvorgänge durchgeführt. Danach wird von einer Verteilungswarteschlange
die zuzuteilende Aufgabe als nächste gestartet. Auf der Seite des Ein/Ausgabesubsystems B wird die V/arteschlangenauflösung in
ähnlicher V/eise durchgeführt. Es ist an sich nicht nötig auszuführen, daß das Hauptsubsystem und das Ein/Ausgabesubsystem jeweils
Verteilerwarteschlangen enthalten (nicht dargestellt). Diese Verteilerwarteschlangen sind Prioritätswarteschlangen.
Die Warteschlangenelemente SSCB, die aus den Warteschlangen 8tj λ oder 8. ·□ stammen, sind mit den Verteilerwarteschlangen,
die diesen entsprechen, verknüpft. Unter diesen Umständen werden die Verteilerwarteschlangen prioritätsmäßig umgeordnet.
Bei dieser Umordnung kann die Informationspriorität für das entnommene Warteschlangenelement SSCB angenommen werden, aber
es kann auch der Inhalt des Prioritätsanzeigeregisters anstelle eines Parameters ebenfalls verwendet xverden.
Die Informationspriorität der Warteschlangenelemente SSCB einer
Antwort wird in folgender Weise festgelegt: Es sei angenommen, daß in der folgenden Beschreibung die Subsysteme A und
B jeweils ein Haupt und ein Ein/Ausgabesubsystem seien. In diesem Falle representieren die Warteschlangenelemente SSCB, die
in der Schlange 8^_g eingereiht sind, allgemein den Inhalt einer
Anforderung eines Programmes des Hauptsubsystems an das Ein/Ausgabesubsystem, während die Elemente der Schlange 8β Α
für die Antwort auf die Anforderung representativ sind.
909840/0872
Wenn unter diesen Umständen das Programm des Hauptsubsystems das Ein/Ausgabesubsystem anfordert, über den Arbeitsspeicher
(bei indexing) eine Rückantwort zu geben, wenn das Ein/Ausgabesubsystem
in die Warteschlange eintritt, und zwar mit der Informationspriorität der Antwort, nämlich in der Priorität der
Schlange 8-g_. mit dem Quellenprogramm während des Laufes, so
kann diese Antwort nicht unter Indizierung an das Quellenprogramm zurückgesendet werden.
Um dies zu vermeiden, wird gemäß der Erfindung der Inhalt des Prioritätsanzeigeregisters, in welchem die Priorität des Quellenprogramms
während des Ablaufes gespeichert ist, durch einen Einreihungsbefehl in den Warteschlangenelementen SSCB in die
V/arteschlange eingereiht, sodaß diese Priorität durch das Ein/ Ausgabesubsystem erkannt werden kann. Das Ein/Ausgabesubsystem
bestimmt die Informationspriorität der Antwortelemente SSCB aufgrund der erkannten Priorität.
Ein Ausführungsbeispiel des konkreten Gebrauchs einer Programmpriorität
lautet folgendermaßen:
Priorität Raumbereich, in dem das Quellenprogramm existiert 15 reserviert
14 Systemzwischenraum (Hauptzuteilungsliste, Zeitteilungssystem usw.)
13-12 "On-line" Raum
11-10 TSS Benutzerraum
9-1 Stapelraum
0 Leerzeichen (dummy)
Der Prioritätswert der Elemente der Antwortwarteschlange, die ein perioheres Subsystem an ein Hauptsubsystem zurücksendet
nach Vollendung der Bearbeitung von dessen Rückfrage, wird auf
einen V/ert gesetzt, welcher der Priorität zum Zeitpunkt der Anforderung vom Hauptsubsystem entspricht. Zu dem Zeitpunkt, an
dem das Programm des Hauptsubsystems eine Anforderung ausgegeben
909840/0872
hat, wobei ein Antwortindex bestimmt wird, benutzt das Ein/Ausgabesubsystem
als Informationspriorität der Antwort auf die Anfrage einen Wert, bei dem eine 1 zum Prioritätswert der Anforderung
hinzugezählt wird.
Fig.7 stellt die Schaltung für einen dynamischen Adressenübersetzer
(DAT) dar. Bei der dynamischen Adressenübersetzung wird von dem Verfahren Gebrauch gemacht, welches in der Patentanmeldung
Nr.160314/76 vom 29·Dezember 1976 mit dem Titel "Dynamische
Adressenubersetzeranordnung" beschrieben ist.
In Fig.7 ist mit 26A der Speicher für das Direktzugriffsteuerwort
bezeichnet. 27A stellt ein logisches Adressenregister dar.
Mit 28A ist ein nebengeordneter Pufferspeicher für die Übersetzung
(translation lookaside buffer) bezeichnet. 29A bezeichnet
ein physikalisches Adressenregister, während 3OA eine Segmenttabelle
und 31A eine Seitentabelle bezeichnet. Mit 32A ist eine
a - 1 Schaltung, mit 33A eine a + 1 Schaltung bezeichnet. DOP
(Direct Acces Operation, das heißt Direktzugriffsmethode) be zeichnet die Lesen/Schreiben-Aufforderungsinformation. DMODE
(Direct Access Mode, das heißt Direktzugriffsbetriebsart) bezeichnet
eine Information, die angibt, ob eine dynamische Adressenumsetzung ausgeführt wird oder nicht. Die Segmenttafeladresse
ist mit STA bezeichnet. STL bezeichnet eine Segmenttafellänge, SS bezeichnet die Segmenttafellänge, PS bezieht sich auf die
Seitengröße und KEY zeigt einen Speicherschutzcode an. LA bezieht sich auf die Speicheradresse und COUNT bezeichnet die
Länge der Transferdaten.
Die nachfolgende Beschreibung bezieht sich auf den Fall, in dem das Ein/Ausgabesubsystem B eine EXMVL Instruktion ausgegeben
hat. Wenn das Ein/Ausgabesubsystem die EXMVL Instruktion ausgegeben
hat, so wird die Lesen/Schreiben Information DOP, die Information DMODE, die anzeigt, ob virtueller Betrieb vorliegt
oder nicht, die Segmenttafel STA, die Segmenttafellänge STL, die Segmentgröße SS, die Seitengröße PS, der Speicherschutzcode
KEY, die Speicheradresse LA und die Transferdatenlänge vom
909840/0872
Ein/Ausgabesubsystem B zum Hauptsubsystem A übertragen und in
dem Direktzugriffssteuerwortspeicher 26A der Direktzugriffssteuerschaltung
2OA gespeichert.
Liegt virtueller Betrieb vor, so überträgt die Direktzugriffsteuerschaltung
2OA die Speicheradresse LA an das logische Adressenregister 2?A. Durch die Segmenttafeladresse STA wird
eine Segmenttafel 3OA zugeteilt und durch die Segmentadresse
der logischen Adresse wird ein Eintrag in der Segmenttafel 3OA ausgewählt. Entsprechend dem Inhalt des ausgewählten Eintrages
wird eine Seitentafel 31A bezeichnet, und durch die Seitenadresse
der logischen Adresse wird ein Eintrag in der Seitentafel 31A
ausgewählt. Dieser Eintrag enthält ein Bit für die Ungültigkeit der Seite (page invalid bit) PI und eine physikalische Adresse
PPA. Der Inhalt der ausgewählten Seitentafel 31A wird in den
Speicher TLB 28A übertragen und dessen physikalische Seitenadresse und eine Adresse innerhalb der Seite in dem logischen
Adressenregister 28A werden in das physikalische Adressenregister 2'3A übertragen. Auf diese Weise wird eine aktuelle Adresse
entsprechend der logischen Adresse gebildet. Mit dieser aktuellen Adresse wird zum Speicher 3A zugegriffen. Nach jeder Übertragung
von einem Datenbyte wird eine 1 von der Datentransferlänge COUNT abgezogen und eine 1 zu der Adresse innerhalb der
Seite des logischen Adressenregisters 27A hinzugezählt. Währenddessen
wird nur, wenn das Bit I im Speicher TLB des Pufferspeichers 28A vorliegt oder nur, wenn der Rand der Seite erreicht
ist, zur Segmenttabelle 3OA und zur Seitentabelle 31A
zugegriffen, um die Umsetzung der logischen Adresse in die physikalische Adresse durchzuführen. In den anderen Fällen
wird mit der aktuellen Adresse im Speicher TLB 28A der Direktzugriffs
fceuerschaltung 2OA zugegriffen. Das Ergebnis des Datentransfers wird in dem STATUS-Teil des Direktzugriffkontrollwortspeichers
26A abgespeichert und darauf zum Ein/Ausgabesubsystem B übertragen. Das Bit I im TLB-Pufferspeicher 28A erhält
eine logische "1" in Sychronismus mit der Ausgabe einer
909840/0872
Löschinstruktion für den TLB Speicher vom Prozessor 1A des Hauptsubsystems
B. Das Bit I zeigt mit einer logischen "1" an, daß der Inhalt des TLB Pufferspeichers 28A nicht verwendet werden
kann.
Wenn der Inhalt des TLB Pufferspeichers 28A neu eingeschrieben wird, so wird die Segmenttafel das page invalid Bit PI und die
Seitentafel geprüft. Ist das page invalid Bit PI eine logische "1", so tritt der Ausnahmefall eines Seitenfehlers auf. Wird
zum Speicher 3A zugegriffen, so vergleicht die Direktzugriffssteuerschaltung
einen Code in dem Krontrollwortspeicher für den Direktzugriff 26A mit einem gespeicherten Code im Speicher 3A,
um einen Speicherschutz zu erzielen. Wenn beide Codes nicht übereinstimmen, tritt der Ausnahmefall einer Schutzoperation
ein. Nach Eintreten des Ausnahmefalles eines Seitenfehlers oder
einer Schutζoperation informiert die Direktzugriffssteuerschaltung
2OA den Prozessor 1B des Ein/Ausgabesubsystems, welches
die EZMVL Instruktion betreffend das Eintreten der vorgenannten Ereignisse ausgegeben hat.
Hat das Hauptsubsystem A das Ein/Ausgabesubsystem zum Lesen eines Datensatzes in einer Seite unter Zuteilung einer aktuellen
Adresse angefordert, so ist es erforderlich, daß das Ein/Ausgabesubsystem
B zum Speicher 3A des Hauptsubsystems A mit der aktuellen
Adresse zugreift. In einem solchen Falle wird die Information DMODE im Direktzugriff Steuerwortspeicher 26A in den einer
aktuellen Adresse entsprechenden Zustand versetzt. Befindet sich die Information DMODE im aktuellen Adressenzustand, so wird keine
Umsetzung von einer virtuellen in eine aktuelle Adresse durchgeführt, und der Speicher 3A des Hauptsubsystems A wird
einem Zugriff mit der Speicheradresse LA unterworfen. Wie vorher beschrieben, wird das Ergebnis des Datentransfers dem Ein/Ausgabesubsystem
B zugeführt und nach Empfang dieser Information bildet das Ein/Ausgabesubsystem B eine Warteschlange mit den Elementen
SSCB als Antwortschlange. Das Hauptsubsystem A kann die Antwort auf die Anfrage durch Aussondern des Warteschlangenelements
SSCB der Antwort erhalten.
9098AO/0872
Als nächstes wird betrachtet, wie ein Zustand des Warteschlangenüberlaufs
und der Zustand der Warteschlangenbenutzbarkext in einer einfachen Logik für eine wirksame Warteschlangenüberlaufbearbeitun,-bei
dem obengeschilderten direkten Transfersystem zwischen Subsystemen benutzt werden kann.
Fig.8 zeigt schematisch ein Übertragungssystem zwischen Subsystemen,
welches als WarteSchlangensystem ausgebildet ist. Mit A
und B sind die Subsysteme bezeichnet. Qx, bezeichnet eine Ausgabewart
eschlange zur Übertragung von Informationen vom Subsystem A zum Subsystem B. Q~ stellt eine Ausgabewarteschlange zur Informationsübertragung
vom Subsystem B zum Subsystem A dar. Warteschlan-enelemente
sind mit SSCB bezeichnet. QSR bezeichnet ein Warteschlangenstatusregister. Mit (T) ist eine Unterbrechung
wegen Warteschlangenüberlaufs bezeichnet und (2) bezieht sich auf eine Unterbrechung bei Warteschlangenbenutzbarkext. Richtet
beispielsweise das Subsystem A eine Verarbeitungsanforderung an das Subsystem B, so gibt das Subsystem A einen Warteschlangenbefehl
aus, um in die Ausgangswarteschlange Qx, die Warteschlangeneleniente
SSCB einzureihen, welche die Anforderung angeben, und das Subsystem B entnimmt die Warteschlangenelemente SSCB
aus der Ausgangswarteschlange Qx. bei der nächsten Gelegenheit.
Das Subsystem B gibt nach Vollendung der Verarbeitung, welche durch die Warteschlangenelemente SSCB vom Subsystem A festgelegt
wurde, einen Befehl zur Einreihung der Antwortelemente
SSCB in die Warteschlange Qp, und das Subsystem A entnimmt die
Elemente SSCB der Antwort aus der Ausgangswarteschlange Qp.
Tritt ein Warteschlangenüberlaufausnahmezustand als Ergebnis der Durchführung des Warteschlangenbefehls ein, so werden die
Ausgangeswarteschlangen Qx, oder Q2 in den überlaufzustand versetzt.
Im Gegensatz zu diesem Überlaufzustand gibt es den Normalzustand,
auf den Bezug genommen wird.
909840/0872
Pig.9 dient der Erläuterung des Zustandsüberganges bei einer
Warteschlange. Mit der Bezeichnung QOVFI wird der Warteschlangenüberlauf-Unterbrechungszustand
angedeutet. QAI bezeichnet den Unterbrechungszustand bei Nutzbarkeit der Warteschlange.
Der Rückführungsvorgang vom Überlaufzustand in den Normalzustand wird in folgender Weise durchgeführt! Wenn die Warteschlange
ihren Überlaufzustand erreicht hat, das heißt, wenn
der verbliebene Raum in der S hlange wächst, fordert die Schlange eine Unterbrechung beim Prozessor (nicht dargestellt) des
Subsystems an, welches den Schlangenbefehl ausgegeben hat, da die Schlange zur Verfügung steht. Wird diese Anforderung angenommen,
so wird die Schlange aus dem Überlaufzustand befreit.
Befindet sich, die Warteschlange im Überlaufzustand, wenn der
Einreihungsbefehl erneut ausgegeben wird, so bleibt die Schlange in dem Überlaufzustand, auch wenn der Einreihungsbefehl keinen
Ausnahmezustand wegen des Schlangenüberlaufs hervorruft. Da die Warteschlangenelemente SSCB eine unterschiedliche Länge besitzen,
können, sogar wenn der Ausnahmezustand bei Überlauf eintritt als- Ergebnis der Ausgabe eines ersten Einordnungsbefehls
die Warteschlangenelemente, die durch den nächsten Einreihungsbefehl gebildet werden, in manchen Fällen noch in die
Schlange eingegliedert werden. Der Zustand der Warteschlange ist in dem Warteschlangenstatusregister QSR gespeichert.
Eine Unterbrechung bei verwertbarer Warteschlange wird für einen der Prozessoren mittels der Unterbrechungsmasken OFF ausgeführt,
welche eine Aufgabe mit der niedrigsten Priorität in dem Subsystem ausführt, welches den Einreihungsbefehl in die
Warteschlange ausgegeben hat. Existiert eine Vielzahl derartiger Prozessoren, so wird eine Unterbrechung für jeden von diesen
angefordert.
Die Fig.1OA, B und C dienen der Erläuterung des Arbeitsverfahrens
bei Warteschlangenüberlauf und bei Unterbrechung wegen verwertbarer Warteschlangen. Die Bezugszeichen T^, T~, T,,
Ö09840/0872
versinnbildlichen Aufgaben. Dieses Beispiel bezieht sich auf den Fall, in dem eine Vielzahl von Subsystemen B vorhanden sind,
die mit dem Subsystem A in Verbindung stehen. Wie in Fig.1OC
dargestellt, sind Warteschlangen, welche eine Unterbrechung für ihre Verwertbarkeit erwarten in Form von Software-Warteschlangen
jeweils entsprechend den Ausgabewarteschlangen GL ,
Q2, .... Q vorgesehen.
Nach Eintritt eines Warteschlangenüberlaufausnähmezustandes
sperrt der Prozessor, welcher den Befehl zur Warteschlangeneinreihung gegeben hat, eine Programmroutine zur Bearbeitung
der Warteschlange, die verwertbar zur Unterbrechung ansteht,
und schließt die Intervention anderer Prozessoren aus. Der genannte Prozessor prüft den Zustand der Ausgabewarteschlange
mit einer RDQS Instruktion (read queue status) um sicherzustellen,
daß die Ausgabewarteschlange sich im Überlaufzustand befindet
und ermöglicht dann eine Bearbeitung der zu erwartenden Aufgaben. Üblicherweise sind Aufgaben mit einer Unterbrechung bei
verwertbarer Warteschlange verknüpft, was einer Ausgabewarteschlange entspricht, bei der der Ausnahmezustand des Warteschlangenüberlaufes
eingetreten ist. Nach Beendigung des eine Aufgabe vorbereitenden Ablaufes wird die Sperrung der obengenannten
Programmroutine aufgehoben, und der nächste Bearbeitungsvorgang beginnt.
Nach Eintreten einer Unterbrechung, wonach die Schlange verwertbar
ist, sperrt der der Unterbrechung unterworfene Prozessor die Programmroutine für die Bearbeitung der Warteschlange bei Unterbrechung
zu deren Verwertung und bewirkt eine Auslösung und einen "Restart" von allen Aufgaben hinsichtlich der Warteschlange,
die der Ausgangswarteschlange entspricht, die in Fig.1OB gezeigt ist. Nach Vollendung der Abarbeitung von "Restart"-Aufgaben wird
die obenerwähnte Programmroutine zur Weiterführung der nächsten Bearbeitung freigegeben. Gemäß Fig.1OA wird der Warteschlangenüberlauf
hinsichtlich seines Zustandes überprüft. Dies dient dazu um su verhindern, daß irgend einer der Aufgabenabläufe wegen
9098AÖ/0872
der sehr kleinen Zeitunterschiede nicht erneut gestartet wird.
Fig.11 zeigt eine andere Ausführungsform der Hardwarestruktur
gemäß der Erfindung. Mit 110 sind ein Speicher, mit 111 und Ausgangswarteschlangen bezeichnet. Prozessoren sind mit 120,
die Prioritätsanzeigeregister mit 121, Unterbrechungsmasken mit 122 und mit 130 die Steuereinrichtung für die Datenübertragung
zwischen den Subsystemen bezeichnet. 131 bezeichnet die Prioritätssteuerschaltung.
Die Zugangssteuerschaltung für die Warteschlangen sind mit 132 und 133 bezeichnet. Anzeigeregister für
den vorhandenen Raum sind mit 134- und 136 bezeichnet. 135 und
137 beziehen sich auf Statusregister für die Warteschlangen. Mit 140 ist ein Speicher, mit 150 Prozessoren und mit 160 eine
Steueranordnung für den Datenverkehr zwischen den Subsystemen bezeichnet. 161 bezieht sich auf die Prioritätssteuerschaltung
und 170 bezeichnet die Schnittstellenübertragung. Die Warteschlangen
111 und 112 entsprechen jeweils den Schlangen Qx,
und Qo in Fig.8 und das Warteschlangenstatusregister 135 entspricht
dem Register WSR.
Die nachfolgende Beschreibung bezieht sich auf die Wirkungsweise des Systems nach Fig.11. Da die Wirkungsweise im Hinblick auf
die Warteschlange 11 identisch mit der Wirkungsweise bei der Warteschlange 112 ist, wird lediglich die erstgenannte beschrieben.
Nach Ausgabe des Einreihungsbefehls in eine Warteschlange bildet der Prozessor 120 ein Warteschlangenelement SSCB entsprechend
den Parametern des Warteschlangenbefehls und überträgt dies zu der Steueranordnung 130 für den Verkehr zwischen den
Subsystemen. Die Steueranordnung 130 fordert die Warteschlangenzugriff
ssteuerung 132 an, um die Elemente SSCB in die Warteschlange
111 einzuordnen. Die Steueranordnung 132 vergleicht den Inhalt des Registers 13ZI- für den verbleibenden Raum mit der
Länge des Warteschlangenelements und ist ersterer größer oder gleich dem letzteren, so wird das Warteschlangenelement SSCB in
909840/0872
die Schlange 111 eingeordnet, und der Inhalt des Anzeigeregisters 134- für den verbleibenden Raum um die Länge des Elements herabgesetzt.
Darauf beendet die Steueranordnung 130 den Befehl zur Einordnung
in die Warteschlange.·Ist der Inhalt des Anzeigeregisters 134 für den verbleibenden Raum kleiner als die WarteSchlangeneiementlän-e,
so xvird das 1-Bit-Statusregister 135 für die Warteschlange
auf "1" gesetzt, um einen Überlauf anzuzeigen. Die Steueranordnung 130 fordert den Prozessor 120 an, der den Befehl zum
Einreihen in die Warteschlange gegeben hat, damit eine Überlaufunterbrechung
als eine Art Ausnahmeoperation ausgeführt wird, und dann beendet die Steuerschaltung ihre Tätigkeit.
Wenn dor Prozessor I50 den Befehl zur Ausgliederung aus der Warteschlange
ausgibt, so werden die Parameter dieses Befehls vom Prozessor I50 an die Steueranordnung 160 gegeben. Die Steueranordnung
160 für den Verkehr zwischen den Subsystemen liefert die Parameter über die Schnittstelle 170 an die Steuerschaltung
132 für den Zugang zur Warteschlange zu deren Ansteuerung. Die
Zugriffssteueranordnung 132 entnimmt das Element SSCB aus der Warteschlange 111 in dem durch den Parameter festgelegten Rahmen
und übermittelt den herausgelösten Inhalt über die Schnittstelle an die Steueranordnung 160. Die Steueranordnung 160 für
den Verkehr zwischen den Subsystemen überträgt das Element SSCB in einen Bereich des Speichers 140, der durch die Parameter angegeben
ist, wodurch die Befehlsbearbeitung beendet ist. Wird die Warteschlange 111 geleert, während die Zugriffsteuerschaltung
132 den angegebenen Betrag von Elementen SSCB ausgliedert,
so beendet die Zugriffsschaltung 132 den Ausgliederungsvorgang, auch wenn die Anzahl der Elemente, die ausgegliedert werden,
noch nicht den Wert erreicht hat, der durch die Parameter vorgegeben wurde. Weiterhin prüft die Zugriffssteuerschaltung 132
für die V/arteschlange, ob der Inhalt des Warteschlangenstatusregisters
135 eine logische "C'ist oder nicht. Ist es "der Fall, so
wird die Operation beendet. Ist dagegen der Zustand "1", so steuert die Schaltung 132 die Prioritätssteuerschaltung 131 an. Jedes
Mal, wenn ein Element SSCB aus der Warteschlange 111 ausge-
909840/0872
gliedert wird, wächst der Inhalt des Anzeigeregisters 134- für
den restlichen Warteschlangenraum. Die Prioritätssteuerschaltung 131 prüft die Prioritätsanzeigeregister 121 und Unterbrechungsmacken
122 hinsichtlich des Prozessors 120, dessen Unterbrechungsmaske sich im Zustand OFF befindet, und welche die niedrigste
Priorität anzeigt. Dabei wird eine Unterbrechung angefordert, um diesen Prozessor 120 verfügbar zu machen. Die Prioritätsanzeigeregister
dienen zur Anzeige der Priorität von Aufgaben, welche durch die Prozessoren 120 ausgeführt werden
sollen. Nach Ausgabe der Anforderung einer Unterbrechung, um die Warteschlange verfügbar zu machen, setzt die Steuereinheit
130 für den Verkehr zwischen den Subsystemen den Inhalt des Warteschlangenstatusregisters
135 auf "0" und vollendet damit diese
Operation.
Wie aus der vorgehenden Beschreibung ersichtlich ist, wird gemäß der Erfindung in einem Verkehrssystem zwischen Subsystemen, bei
dem der Datenverkehr zwischen den Subsystemen mittels Nachrichtenwart eschlangen ausgeführt wird, ein direkter Speicherzugriff dadurch
ermöglicht, daß jedem der Subsysteme ein direkter Zugriff zum Speicher des anderen Subsystems gestattet wird, und wenn eines
der Subsysteme ein Element in die Warteschlange einreiht, so wird die nötige Information für den Zugriff zum Speicher des einen
Subsystems in das Warteschlangenelement eingesetzt. Mit einer derartigen Anordnung lassen sich Vorteile erreichen, die
aus der Anwendung einer Nachrichtenwarteschlange resultieren: Der Empfang einer Anforderung und eine Antwort können ohne
Unterbrechung ermöglicht werden, und die übertragung einer Anforderung und einer Antwort läßt sich ohne Inkaufnahme eines Besetztzustandes
durchführen. Darüber hinaus gibt es Vorteile wie schnellen Datenverkehr zwischen den Subsystemen, die sich durch
Verwendung von Mitteln zum direkten Speicherzugriff erreichen lassen. Auch wenn eines der Subsysteme direkt zum Speicher des
anderen Subsystemes zugreift, gibt es die Möglichkeit einer Intervention eines Prozessors aus einem Subsystem.
909840/0872
Ferner ist gemäß der Erfindung eine Speicherzugriffssteuerinforination,
die den Adressenraum definiert, bei dem Programm, welches das Warteschlangenelement beispielsweise die Segmenttafeladresse,
die Segmenttafellänge und den Speicherschutzschlüssel, in das V/arteschlangenelement eingesetzt, und die Direktspeicherzugriff
sr.ittel besitzen eine dynamische Adressenumsetzungsfunktion,
sodaß eines der Subsysteme zum Speicher des anderen Subsystems ohne die Notwendigkeit einer Umsetzung der virtuellen
Adresse in eine aktuelle Adresse durch das Programm zugreifen
kann. Darüber hinaus ist es mit der Erfindung möglich, zum Speicher eines der Subsysteme von einem anderen Subsystem aus mit
einer aktuelle Adresse zuzugreifen. Gemäß der Erfindung kann darüber hinaus bei direktem Zugriff zum Speicher eines Subsystems
durch ein anderes Subsystem ein Speicherschutz für den zugegriffenen
Speicher unter Verwendung des Speicherschutzcodes bewirkt werden, der vom anderen Subsystem übertragen wird. Zusätzlich
ist es gemäß der Erfindung möglich, wenn ein Warteschlangenüberlaufsustand
und der Warteschlangenverwertbarkeitszustand mit einer
simplen Logik ermittelt werden, einen wirksamen und nützlichen Mrektdatentransfer zwischen den Subsystemen auszuführen.
Die vorliegende Erfindung ist von besonderem Nutzen bei solchen Systemen, die Warteschlangenelemente mit variabler Länge benutzen.
Offensichtlich sind zahllose Änderungen und Abwandlungen der
Erfindung im Rahmen ihres Grundgedankens möglich.
909840/0312
Kurzauszug
In einem zwischen Subsystemen bestehenden Übertragungssystem werden Iiachrichtenelemente von dem einem mit Prozessoren ausgerüsteten
Subsystem in eine Warteschlange eingereiht und von einem anderen mit Prozessoren ausgerüsteten Subsystem aus dieser
ausgegliedert. Zwischen den Subsystemen sind Mittel zum direkten Speicherzugriff vorgesehen, die jedem der Subsysteme
ermöglichen, direkt zum Speicher des anderen Subsystems zuzugreifen und in einem Warteschlangenelement, das von dem einen Subsystem
in die Warteschlange eingegliedert wird, ist eine Speicherzugriff ssteuerxnformation enthalten, die für den Zugriff des einen
Subsystems notwendig ist. Dadurch wird eine sehr wirksame Arbeitsweise bei einer Vielzahl von Subsystemen erreicht. Wenn
das Quellensubsystem einen Befehl zum Eingliedern in eine Warteschlange ausgibt, so wird die Länge des Warteschlangenelements
entsprechend dem Warteschlangenbefehl ausgegeben und mit dem verbleibenden
Raum der Schlange verglichen. Wenn das Vergleichsergebnis einer vorbestimmten Bedingung genügt, so wird eine Überlaufunterbrechung
im Prozessor des Quellensubsystems ausgelöst, um dadurch wirksam den Warteschlangenüberlaufszustand oder den
Verwertbarkeitszustand der Warteschlange zu ermitteln.
909840/0872
Leerseite
Claims (8)
- REINLÄNDER & BERNHARDTPATENTANWÄLTFOrthstraße12 D-8000 München 60FUJITSU LIMITED, Kanagawa/Japan Patentansprüche\\j System mit direkter Übertragung zwischen Subsystemen, bei dem eine Nachrichtenwarteschlange vorgesehen ist, die von einem Subsystem mit Prozessoren gebildet und von einem anderen Subsystem mit Prozessoren aufgelöst wird, dadurch gekennzeichnet, daß zwischen beiden Subsystemen Mittel zum direkten Speicherzugriff vorgesehen sind, die jeden, der Subsysteme einen direkten Zugriff zum Speicher des anderen Subsystems gestatten, und daß in ein WarteSchlangenelement, das durch ein Sub sys te:." gebildet wird, die Speicherzugriffssteuerxnf ormation eingesetzt wird, die für den Zugriff des Subsystems notwendig
- 2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Seg— menttafeladresse, Segmenttafellänge, die Seitengröße und Codeinformation eines ProgrammstapeJwortes als Speicherzugriffssteuerinformation in ein Warteschlangenelement eingesetzt sind.
- 3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß auf der Grundlage der Speicherzugriffsteuerxnformation in dem über die ilachrichtenwarteschlange übertragenen Element von einem Subsystem zum anderen das jeweils andere Subsystem eine Steuerinformation für den direkten Zugriff zum Speicher des ersten Subsystems erzeugt und die Mittel für den direkten Speicherzugriff durch die Steuerinformation für den Direktzugriff zum Speicher des Subsystems überwacht.909840/0872
- 4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Mittel für den direkten Speicherzugriff eine dynamische Adressenumsetzung bezüglich des einen Subsystems aufweisen, und daß die dynamische Adressenumsetzung eine logische Adresse, die vom anderen Subsystem ausgegeben wurde, aufgrund der Steuerinformation durch das andere Subsystem in die aktuelle Adresse für den Zugriff zum Speicher des ersten Subsystems umsetzt.
- 5- System nach Anspruch 4, dadurch gekennzeichnet, daß die durch das andere Subsystem erzeugte Steuerinformation eine Betriebsarteninformation enthält, die angibt, ob dynamische Adressenumsetzung ausgeführt werden soll oder nicht, und daß, wenn die Betriebsarteninformation nicht die dynamische Adressenumsetzung angibt, die Einrichtung für die Adressenumsetzung keine dynamische Adressenumsetzung ausführt und der Speicher des einen Subsystems nur mit dem Adressenumfang des anderen Subsystems als aktuelle Adresse zugreifbar ist.
- 6. System nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß die Steuerinformation durch das andere Subsystem eine Codeinformation des vorher übertragenen Statuswortes vom anderen Subsystem enthält, und daß bei direktem Zugriff des anderen Subsystems zum Speicher des ersten Subsystems die dynamische Adressenumsetzungseinrichtung die Codeinformation mit einem Speichercode des Speichers des ersten Subsystems vergleicht, wodurch ein Speicherschutz erzielt wird.
- 7- System mit direkter Übertragung zwischen Subsystemen, bei dem das Quellensubsystem ein Warteschlangenelement in eine Warteschlange einreiht, und ein Bestimmungssubsystem das V/arteschlangenelement aus der Warteschlange ausgliedert, um einen Nachrichtenverkehr zwischen den Subsystemen auszuführen, dadurch gekennzeichnet, daß, wenn das Quellensystem den Warteschlangenbefehl ausgibt, die Warteschlangenelementlänge des erzeugten Elements in Abhängigkeit vom Befehl mit dem verbleibenden Raum in der Schlange verglichen wird, und wenn das Vergleichsergebnis eine bestimmte Bedingung erfüllt, eineÜberlaufunterbrechung im Prozessor des Quellensubsystems ausgelöst wird.
- 8. S3>rster:i nach Anspruch 7, dadurch gekennzeichnet, daß der übrire i;aum in der V/arte schlange nach Auftreten einer Überlaufunterbrcchung anwächst, und daß eine Unterbrechung bei nutzbarer Wartcschlange im Prozessor des Quellensubsystems hervorgerufen wird.9- System nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß im Verlauf der Bearbeitung einer WarteSchlangenüberlaufunterbrechung der Prozessor des Quellensubsystems aufgrund einer Instruktion einen Lesevorgang ausführt, ob die Warteschlange sich im Überlaufzustand befindet oder nicht.309840/0872
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3792078A JPS54129942A (en) | 1978-03-31 | 1978-03-31 | Direct transfer system between sub-systems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2912738A1 true DE2912738A1 (de) | 1979-10-04 |
Family
ID=12510974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792912738 Ceased DE2912738A1 (de) | 1978-03-31 | 1979-03-30 | System mit direkter uebertragung zwischen subsystemen |
Country Status (5)
Country | Link |
---|---|
US (1) | US4272819A (de) |
JP (1) | JPS54129942A (de) |
DE (1) | DE2912738A1 (de) |
FR (1) | FR2421425B1 (de) |
GB (1) | GB2020452B (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS564854A (en) * | 1979-06-22 | 1981-01-19 | Fanuc Ltd | Control system for plural microprocessors |
JPS5833972B2 (ja) * | 1979-11-12 | 1983-07-23 | 富士通株式会社 | 計算機システム間通信方式 |
JPS56103753A (en) * | 1980-01-23 | 1981-08-19 | Hitachi Ltd | Data transmission system between electronic computers |
CH653155A5 (de) * | 1981-03-26 | 1985-12-13 | Inventio Ag | Schaltungsanordnung zur eingabe von steuerbefehlen in ein mikrocomputersystem. |
DE3276916D1 (en) * | 1981-09-18 | 1987-09-10 | Rovsing As Christian | Multiprocessor computer system |
US4471427A (en) * | 1981-12-01 | 1984-09-11 | Burroughs Corporation | Direct memory access logic system for a data transfer network |
IL64675A0 (en) * | 1981-12-30 | 1982-03-31 | Greenberg Avigdor | Data verification system |
US4583195A (en) * | 1982-09-30 | 1986-04-15 | Pitney Bowes Inc. | Mailing system interface between a scale system processor and a serial data bus which interconnects peripheral subsystems |
US4480308A (en) * | 1982-11-09 | 1984-10-30 | International Business Machines Corporation | Text processing system with communication data save facility |
US4682284A (en) * | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
DE3751229T2 (de) * | 1986-08-01 | 1995-08-24 | Hitachi Ltd | Parallelrechnersystem, geeignet für asynchrone Datenübertragung. |
JPS63226762A (ja) * | 1987-03-16 | 1988-09-21 | Hitachi Ltd | デ−タ処理方式 |
US5047923A (en) * | 1987-08-21 | 1991-09-10 | Siemens Aktiengesellschaft | Modularly structured digital communication system for interconnecting terminal equipment and public networks |
US4958273A (en) * | 1987-08-26 | 1990-09-18 | International Business Machines Corporation | Multiprocessor system architecture with high availability |
US5127094A (en) * | 1987-11-09 | 1992-06-30 | Hitachi, Ltd. | Virtual storage type computer system |
JPH01293431A (ja) * | 1988-05-23 | 1989-11-27 | Toshiba Corp | メモリアクセス方式 |
US5423021A (en) * | 1989-11-03 | 1995-06-06 | Compaq Computer Corporation | Auxiliary control signal decode using high performance address lines |
EP0447145B1 (de) * | 1990-03-12 | 2000-07-12 | Hewlett-Packard Company | Durch Anwender festgelegter direkter Speicherzugriff mit Anwendung von virtuellen Adressen |
US5347634A (en) * | 1990-03-15 | 1994-09-13 | Hewlett-Packard Company | System and method for directly executing user DMA instruction from user controlled process by employing processor privileged work buffer pointers |
US5182800A (en) * | 1990-11-16 | 1993-01-26 | International Business Machines Corporation | Direct memory access controller with adaptive pipelining and bus control features |
JP2836283B2 (ja) * | 1991-04-11 | 1998-12-14 | 日本電気株式会社 | バッファ管理方式 |
US5617538A (en) * | 1991-07-02 | 1997-04-01 | Tm Patents, L.P. | Message transfer system and method for parallel computer with message transfers being scheduled by skew and roll functions to avoid bottlenecks |
EP0549924A1 (de) * | 1992-01-03 | 1993-07-07 | International Business Machines Corporation | Verfahren und Vorrichtung zur Datenübertragung durch einen Asynchronzusatzprozessor |
US7509270B1 (en) | 1992-12-09 | 2009-03-24 | Discovery Communications, Inc. | Electronic Book having electronic commerce features |
US7835989B1 (en) | 1992-12-09 | 2010-11-16 | Discovery Communications, Inc. | Electronic book alternative delivery systems |
US7298851B1 (en) | 1992-12-09 | 2007-11-20 | Discovery Communications, Inc. | Electronic book security and copyright protection system |
US7401286B1 (en) | 1993-12-02 | 2008-07-15 | Discovery Communications, Inc. | Electronic book electronic links |
CA2445176C (en) | 1992-12-09 | 2005-09-06 | Discovery Communications, Inc. | Set top terminal for cable television delivery systems |
US7336788B1 (en) | 1992-12-09 | 2008-02-26 | Discovery Communicatoins Inc. | Electronic book secure communication with home subsystem |
US7849393B1 (en) | 1992-12-09 | 2010-12-07 | Discovery Communications, Inc. | Electronic book connection to world watch live |
US8073695B1 (en) | 1992-12-09 | 2011-12-06 | Adrea, LLC | Electronic book with voice emulation features |
US5377337A (en) * | 1993-06-08 | 1994-12-27 | International Business Machines Corporation | Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity |
US7861166B1 (en) | 1993-12-02 | 2010-12-28 | Discovery Patent Holding, Llc | Resizing document pages to fit available hardware screens |
US8095949B1 (en) | 1993-12-02 | 2012-01-10 | Adrea, LLC | Electronic book with restricted access features |
US9053640B1 (en) | 1993-12-02 | 2015-06-09 | Adrea, LLC | Interactive electronic book |
US7865567B1 (en) * | 1993-12-02 | 2011-01-04 | Discovery Patent Holdings, Llc | Virtual on-demand electronic book |
JP3151103B2 (ja) * | 1994-03-30 | 2001-04-03 | 株式会社日立製作所 | 通信システムおよび通信方法 |
TW250616B (en) | 1994-11-07 | 1995-07-01 | Discovery Communicat Inc | Electronic book selection and delivery system |
JP3657665B2 (ja) * | 1995-02-14 | 2005-06-08 | 富士通株式会社 | 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法 |
FR2737030B1 (fr) * | 1995-07-21 | 1997-08-14 | Bull Sa | Procede de transfert de messages dans un systeme informatique multinodal |
US6477584B1 (en) | 1997-03-21 | 2002-11-05 | Lsi Logic Corporation | Message FIFO empty early warning method |
US5950014A (en) * | 1997-03-21 | 1999-09-07 | Lsi Logic Corporation | Methodology for pull model invocation |
US7844752B2 (en) * | 2005-11-30 | 2010-11-30 | International Business Machines Corporation | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions |
US20080147985A1 (en) * | 2006-12-13 | 2008-06-19 | International Business Machines Corporation | Method and System for Purging Data from a Controller Cache |
KR20110013868A (ko) * | 2009-08-04 | 2011-02-10 | 삼성전자주식회사 | 멀티 코멘드 셋 동작 및 우선처리 동작 기능을 갖는 멀티 프로세서 시스템 |
US8255593B2 (en) * | 2009-09-29 | 2012-08-28 | Oracle America, Inc. | Direct memory access with striding across memory |
US9021146B2 (en) | 2011-08-30 | 2015-04-28 | Apple Inc. | High priority command queue for peripheral component |
US20130179614A1 (en) * | 2012-01-10 | 2013-07-11 | Diarmuid P. Ross | Command Abort to Reduce Latency in Flash Memory Access |
US8918680B2 (en) | 2012-01-23 | 2014-12-23 | Apple Inc. | Trace queue for peripheral component |
US9244829B2 (en) * | 2012-12-20 | 2016-01-26 | Oracle International Corporation | Method and system for efficient memory region deallocation |
US8924596B1 (en) * | 2013-12-06 | 2014-12-30 | Concurrent Ventures, LLC | System and method for dividing and synchronizing a processing task across multiple processing elements/processors in hardware |
KR20160148948A (ko) * | 2015-06-17 | 2016-12-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11134021B2 (en) * | 2016-12-29 | 2021-09-28 | Intel Corporation | Techniques for processor queue management |
CN112948097B (zh) * | 2021-04-15 | 2022-10-14 | 哈工大机器人(合肥)国际创新研究院 | 一种iec61499的功能块执行调度方法及装置 |
CN114900471B (zh) * | 2021-11-29 | 2023-11-28 | 上海大学 | 一种高性能无阻塞数据传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3670306A (en) * | 1971-03-01 | 1972-06-13 | Honeywell Inf Systems | Process for data communication between data processing systems |
DE2217609A1 (de) * | 1971-04-15 | 1972-12-07 | Int Standard Electric Corp | Zugriffseinheit für Datenverarbeitungsanlagen |
DE2360303A1 (de) * | 1972-12-06 | 1974-06-20 | Amdahl Corp | Datenverarbeitungssystem mit dynamischer adressuebersetzung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2140256B1 (de) * | 1971-06-07 | 1974-12-20 | Jeumont Schneider | |
US3976979A (en) * | 1974-01-02 | 1976-08-24 | Honeywell Information Systems, Inc. | Coupler for providing data transfer between host and remote data processing units |
US4067059A (en) * | 1976-01-29 | 1978-01-03 | Sperry Rand Corporation | Shared direct memory access controller |
US4120028A (en) * | 1976-10-21 | 1978-10-10 | The Singer Company | Digital display data processor |
-
1978
- 1978-03-31 JP JP3792078A patent/JPS54129942A/ja active Granted
-
1979
- 1979-03-26 US US06/024,032 patent/US4272819A/en not_active Expired - Lifetime
- 1979-03-29 GB GB7911025A patent/GB2020452B/en not_active Expired
- 1979-03-30 FR FR7908052A patent/FR2421425B1/fr not_active Expired
- 1979-03-30 DE DE19792912738 patent/DE2912738A1/de not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3670306A (en) * | 1971-03-01 | 1972-06-13 | Honeywell Inf Systems | Process for data communication between data processing systems |
DE2217609A1 (de) * | 1971-04-15 | 1972-12-07 | Int Standard Electric Corp | Zugriffseinheit für Datenverarbeitungsanlagen |
DE2360303A1 (de) * | 1972-12-06 | 1974-06-20 | Amdahl Corp | Datenverarbeitungssystem mit dynamischer adressuebersetzung |
Non-Patent Citations (1)
Title |
---|
IBM Technical Disclosure Bulletin, Juni 1976, S. 217-221 * |
Also Published As
Publication number | Publication date |
---|---|
GB2020452B (en) | 1982-06-03 |
US4272819A (en) | 1981-06-09 |
FR2421425A1 (fr) | 1979-10-26 |
GB2020452A (en) | 1979-11-14 |
FR2421425B1 (fr) | 1986-04-25 |
JPS5760654B2 (de) | 1982-12-21 |
JPS54129942A (en) | 1979-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE3131341C2 (de) | ||
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE2657848C2 (de) | ||
DE2755952C2 (de) | ||
DE2750721A1 (de) | Ein/ausgabe-system | |
DE2243956A1 (de) | Speicherprogrammierte datenverarbeitungsanlage | |
DE2030812A1 (de) | Modulare Datenrechnersysteme | |
DE2755371A1 (de) | Ein/ausgabe-verarbeitungssystem | |
DE2806045A1 (de) | Dv-system mit pufferspeicher | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE68924992T2 (de) | Symmetrische Steuerungsanordnung für Multiverarbeitung. | |
DE1499182B2 (de) | Datenspeichersystem | |
DE3642324A1 (de) | Multiprozessoranlage mit prozessor-zugriffssteuerung | |
DE1549437A1 (de) | Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen | |
DE1499206C3 (de) | Rechenanlage | |
EP0050305B1 (de) | Einrichtung zur Steuerung des Zugriffes von Prozessoren auf eine Datenleitung | |
DE69016978T2 (de) | Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem. | |
DE3338329C2 (de) | ||
DE2454613C2 (de) | Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage | |
DE2149200A1 (de) | Anordnung zum Steuern der Informationsuebertragung zwischen einerseits dem Zentralteil und andererseits entweder einem beliebig zugreifbaren Schnellspeicher oder einem beliebig zugreifbaren direkt adressierbaren Grossspeicher einer elektronischen Datenverarbeitungsanlage | |
DE2558417C3 (de) | Datenverarbeitungssystem | |
DE3025167C2 (de) | Datenverarbeitungseinrichtung | |
DE3040429A1 (de) | Ueberwachungseinrichtung fuer ein computersystem | |
DE69226683T2 (de) | Verfahren zum effizienten Zugriff von Daten in einer Verknüpfungstabelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
8125 | Change of the main classification |
Ipc: G06F 15/16 |
|
8128 | New person/name/address of the agent |
Representative=s name: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8 |
|
8131 | Rejection |