DE2912738A1 - System mit direkter uebertragung zwischen subsystemen - Google Patents

System mit direkter uebertragung zwischen subsystemen

Info

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
Application number
DE19792912738
Other languages
English (en)
Inventor
Yutaka Dipl Ing Katsumata
Mitsuru Dipl Ing Sanagi
Hideo Dipl Ing Tanaka
Kanagawa Yokohama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2912738A1 publication Critical patent/DE2912738A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling 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)

  1. REINLÄNDER & BERNHARDT
    PATENTANWÄLTF
    Orthstraße12 D-8000 München 60
    FUJITSU 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. 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. 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. 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. 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. 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. 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. 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
DE19792912738 1978-03-31 1979-03-30 System mit direkter uebertragung zwischen subsystemen Ceased DE2912738A1 (de)

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)

* Cited by examiner, † Cited by third party
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.
JPS58501602A (ja) * 1981-09-18 1983-09-22 クリスチャン ロプシング エ−・エス マルチプロセッサ・コンピュ−タシステム
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
JP3369580B2 (ja) * 1990-03-12 2003-01-20 ヒューレット・パッカード・カンパニー 直接メモリアクセスを行うためのインターフェース装置及び方法
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
US7401286B1 (en) 1993-12-02 2008-07-15 Discovery Communications, Inc. Electronic book electronic links
US7509270B1 (en) 1992-12-09 2009-03-24 Discovery Communications, Inc. Electronic Book having electronic commerce features
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
US7849393B1 (en) 1992-12-09 2010-12-07 Discovery Communications, Inc. Electronic book connection to world watch live
US7336788B1 (en) 1992-12-09 2008-02-26 Discovery Communicatoins Inc. Electronic book secure communication with home subsystem
US7298851B1 (en) 1992-12-09 2007-11-20 Discovery Communications, Inc. Electronic book security and copyright protection system
US7835989B1 (en) 1992-12-09 2010-11-16 Discovery Communications, Inc. Electronic book alternative delivery systems
BR9307621A (pt) 1992-12-09 1999-06-15 Discovery Communicat Inc Central de operações processos para alocar uma dada quantidade de largura de banda para pluralidade de programas para transmitir uma pluralidade de programas para gerar um sinal de informação de controle de programa para auxiliar um empacotador de prgrama e para criar serviços de programa e vídeo próximo sobre o serviço demandado
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
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
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
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
US5950014A (en) * 1997-03-21 1999-09-07 Lsi Logic Corporation Methodology for pull model invocation
US6477584B1 (en) 1997-03-21 2002-11-05 Lsi Logic Corporation Message FIFO empty early warning method
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin, Juni 1976, S. 217-221 *

Also Published As

Publication number Publication date
GB2020452A (en) 1979-11-14
GB2020452B (en) 1982-06-03
FR2421425A1 (fr) 1979-10-26
JPS5760654B2 (de) 1982-12-21
JPS54129942A (en) 1979-10-08
US4272819A (en) 1981-06-09
FR2421425B1 (fr) 1986-04-25

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
DE3607889C2 (de)
DE2657848C2 (de)
DE2755952C2 (de)
DE2750721A1 (de) Ein/ausgabe-system
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE2030812A1 (de) Modulare Datenrechnersysteme
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE68924992T2 (de) Symmetrische Steuerungsanordnung für Multiverarbeitung.
DE1499182B2 (de) Datenspeichersystem
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
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
DE2558417C3 (de) Datenverarbeitungssystem
DE3025167C2 (de) Datenverarbeitungseinrichtung
EP0010135A1 (de) Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen
DE69217408T2 (de) Verfahren und Gerät zur Nachrichten-Auswahl, die von einer mit einem digitalen Übertragungssystem verbundenen lokalen Einheit verwendbar sind

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