DE2243956A1 - Speicherprogrammierte datenverarbeitungsanlage - Google Patents

Speicherprogrammierte datenverarbeitungsanlage

Info

Publication number
DE2243956A1
DE2243956A1 DE2243956A DE2243956A DE2243956A1 DE 2243956 A1 DE2243956 A1 DE 2243956A1 DE 2243956 A DE2243956 A DE 2243956A DE 2243956 A DE2243956 A DE 2243956A DE 2243956 A1 DE2243956 A1 DE 2243956A1
Authority
DE
Germany
Prior art keywords
data processing
control unit
unit
task
command
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.)
Pending
Application number
DE2243956A
Other languages
English (en)
Inventor
Gary Taggart Boswell
Jun Lura Cecil Dean
Frank Stanard Little
Wayne Winkelmann
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE2243956A1 publication Critical patent/DE2243956A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

Speicherprogrammierte Datenverarbeitungsanlage
Die Erfindung bezieht sich auf speicherprogrammierte 9 elektronische digitale Datenverarbeitungsanlagen und insbesondere auf ein Leitwerk für eine solche Datenverarbeitungsanlage 5 in der mehrere Datenverarbeitungseinheiten vorhanden sind. Die Datenverarbeitungseinheiten,, für,die ein Leitwerk beschrieben wird, können virtuelle Datenverarbeitungseinheiten sein, die in der Ausführungsform eines fortgeschrittenen wissenschaftlichen Computers in der US-PS 3 573 851 und in der US-PS 3 573 852 beschrieben sind.
Ein Leitwerk für eine solche Datenverarbeitungsanlage sorgt für die Steuerung, die Zuordnung und die Hilfsmittel, die für den ordnungsgemäßen und wirksamen Ablauf von gespeicherten Programmen einer Datenverarbeitungsanlage in einen Mehrprogrammbetrieb notwendig sind. Das Leitwerk ist aus einer Hierarchie von vier speicherprogrammierten Steuerwerken zusammengesetzt, von denen jedes die Steuerung über eine gegebene Arbeitsstufe ausübt. Jedes der Steuerwerke ist für die Bedienung -gewisser Hilfsmittel der Datenverarbeitungsanlage verantwortlich, und es fällt
Schw/Ba-
30 9 812/112 4
innerhalb ihres jeweiligen Verantwortungsbereichs Zuordnungsentscheidungen.
Die vier speichsrprogrammierten Steuerwerke, die in verschiedenen virtuellen Datenverarbeitungseinheiten innerhalb der Datenverarbeitungsanlage arbeiten, sind das Hauptsteuerwerk, dap ] rnmandosteuerv/erk, das Aufgabensteuerwerk und das Ein/Ausgabe-Plattensteiß rwerk. Jedes Steuerwerk weist eine oder mehrere Eingabe- und Ausgabe -Y/arteschlangen auf, die in der Art einer doppelt verbundenen Liste angeordnet sind, die für die notwendige Verbindung zwischen den Steuerwerken sorgt. Typischerweise wird die Ausgabe eines Steuerwerks in die Eingabe-Iiarteßchlange eines anderen Steuerwerks eingefügt.
Das HauptSteuerwerk steht an der Spitze der Steuerwerkhierarchie, und es steht über ein Feld aus Übertragungsregistern mit allen Datenverarbeitungseinheiten und Geräten in Verbindung. Mehrere dieser Übertragungsregister sind in Bitfelder aufgeteilt, die den Aufrufzustand der Datenverarbeitungseinheiten und der Geräte darstellen, die vom Hauptsteuerwerk häufig überwacht werden, und bestimmen, wann gewisse Funktionen auszuführen sind. Das Hauptsteuerwerk bestätigt Aufrufe durch Ändern der Bitzustände in den Übertragungsregisterh, und es gibt den Aufruf zum Steuerwerk der nächst niedrigen Stufe, dem Kommandosteuerwerk, weiter.
Das Hauptsteuerwerk hat die letzte Zuordnungsentscheidungsbefugnis für die gesamte Hardware in der Datenverarbeitungsanlage und es kann eine Datenverarbeitungseinheit zwingen zurückzutreten, wenn eine Hilfseinrichtung mit hoher Priorität nach Bedienung verlangt.
3 0 9812/1124
BAD ORIO'MAL
Das Kommandosteuerwerk ist für das Zuordnen der Sätze ναι Befehls· gruppen der Datenverarbeitungsanlage, genannt Kommandos, verantwortlich, von denen jedes mit einer vorbestimmten und reservierten Hilfseinrichtung eine Funktion ausführt. Das KommandoSteuerwerk baut die Folge von Kommandos in eine Warteschlange ein, die zur Bestimmung eines Prozesses erforderlich ist.
Die Ausführung der Kommandowarteschlange, die,sich aus der Tätigkeit des Kommandosteuerwerks ergibt, wird, von der nächsten Stufe der Steuerhierarchie, dem Aufgabensteuerwerk gesteuert. Zur Erzielung einer optimalen Wirksamkeit der virtuellen Datenverarbeitungseinheiten ist es erwünscht, ihre Verarbeitungsleistung zeitlich auf kleine Programmeinheiten aufzuteilen. Die Kommandos in der vom Kommandosteuerwerk aufgebauten Warteschlange v/erden in kleine Programmeinheiten , genannt Aufgaben, zerteilt. Jede Aufgabe hat Speieherzeit- und Ausführungszeitgrenzen, so daß kein Systemkommando eine Datenverarbeitungseinheit in unproduktiver Weise monopolisiert. Das Aufgabensteuerwerk ist das nächste Steuerwerk in der Hierarchie, und es hat die Funktion^ die.Zuordnung jeder Aufgabe durchzuführen, die Aufgaben-Verkettung zu überwachen, den Üvergangssystemzentralspeicher zu behandeln und die Beendigung von Kommandos gemäß der Leitung durch das Kommandosteuerwerk zu gewährleisten. Das Aufgabensteuerwar'k trägt auch die Verantwortung für die Bedienung Aufrufen für Datenübertragungen zwischen dem Speicher und sekundären und peripheren Speichergeräten.
Aufgabenaufrufe für Plattenverarbeitungsvorgänge fallen in den Verantwortungsbereich des Plattensteuerwerks. Das Aufgabensteuerwerk stellt die Listen der Ein/Ausgabe-Platt cmauf rufe zusammen, und das Plattensteuerwerk ordnet
30 9 8171 \ 124
BAD ORIGINAL
diese Aufrufe so um, daß die Verwendung des den Platten zugeordneten Datenkanals optimiert wird.
Mit Hilfe der Erfindung soll eine Datenverarbeitungsanlage geschaffen werden, die mehrere Datenverarbeitungseinheiten enthält. Ferner soll nach der Erfindung eine speicherprogrammierte. Datenverarbeitungsanlage mit mehreren Datenverarbeitungseinheiten geschaffen werden, in der ein Leitwerk mit einer Hierarchie von Steuerwerken enthalten ist. Außerdem soll mit Hilfe der Erfindung eine speicherprogrammierte Datenverarbeitungsanlage mit einer Hierarchie von vier Speicherprogrammierten Steuerwerken geschaffen werden, von denen Jedes die Steuerung einer gegebenen Arbeitsstufe ausübt. Ferner soll mit Hilfe der Erfindung eine speicherprogrammierte Datenverarbeitungsanlage mit mehreren in einer Steuerhierarchie angeordneten Steuerwerken geschaffen werden, von denen jedes für die Bedienung von Datenverarbeitungshilfseinrichtungen verantwortlich ist und Zuordnungsentscheidungen fällt.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt. Darin zeigen:
Fig.1 eine Anordnung der Einheiten der Datenverarbeitungsanlage, in der die Erfindung verwendet werden kann,
Fig.2 ein Blockschaltbild der Anordnung von Fig.1,
Fig.3 eine schematische Darstellung des Zeitteilbetriebs von virtuellen Datenverarbeitungseinheiten in der Peripherieverarbeitungseinheit der Figuren 1 und 2,
Fig.4 ein Blockschaltbild der Peripherieverarbeitungseinheit,
Fig.5 eine Darstellung des Zugriffs auf ein Bit oder eine Zelle im Übertragungsregister von Fig.4,
Fig.6 die Folgesteuerung der virtuellen Datenverarbeitungseinheit von Fig.4, ..
Fig.7 ein Blockschaltbild der Einrichtung zur Durchführung des Gefügeschaltens,
Fig.8 den Aufbau der Einrichtung zur Durchführung des Gefügeschaltens, .
^Fig.9 den Aufbau des Hauptsteuerwerks, Fig.10 den Logikaufbau des Kommandosteuerwerks,
Fig.11 die Kopplungseinrichtungen, die für die Treiberbearbeitung von einem peripheren Ein/Ausgabeaufruf, der zum Aufgabensteuerwerk ausgelöst wurde, beteiligt sind,
Fig.12 die Beziehung zwischen den Plattenübersichten, den eigentlichen Plattenadressen und dem räumlichen Platz der Datei auf der Platte,
Fig.13 den Ablauffluß der Platteneingabe und Plattenausgabe,
Fig.14 die nach einem Bedarfsfall erfolgenden Steuervorgänge der Datenverarbeitungsanlage * und
Fig.15 ein Blockschaltbild des Leitwerks.
309812/1124
Bei der Beschreibung der Erfindung wird zunächst eine hoch entwickelte Computeranlage für technisch-wissenschaftliche Aufgaben, von der die Erfindung einen Teil bildet, allgemein beschrieben, und dann werden die einzelnen Teile in der Rolle der Erfindung und in ihrer Zusammenwirkung mit anderen Teilen der Anlage erläutert.
Fig. 1 enthält die Computeranlage eine Zentraleinheit (CPU)34 und eine Peripherieverarbeitungseinheit (PPU) 22. Sowohl für die Zentraleinheit 34 als auch für die Paripherieverarbeitungseinheit 22 ist ein Speicher in Form von acht Modulen 12 bis 19 mit Direktzugriff und mit aktiven Elementen vorgesehen. Diese Speichermodule können aus in der Technik bekannten Modulen bestehen.In der dargestellten Ausführungsform verfügt jeder Speichermodul über 16 384 Wörter zu je 32 Bits.
Der Speicher hat eine Zykluszeit von 140 Nanosekunden und durchschnittlich eine Zugriffszeit von 120 Nanosekunden. Jeder Speicherzugriff führt zur Übertragung von Information in Gruppen zu acht Wörtern zu je 32 Bits, die unten als ein Oktett bezeichnet werden. Jeder Speicherraodul 12 bis 19 ist somit in 2048 Oktette unterteilt.
Neben den Speichermodulen 12 bis 19 sind Schnell-zugriffs-Plattehspeichermodule 38 und 39 vorgesehen, deren Zugriffszeit durchschnittlich etwa 16 Millisekunden beträgt.
Ein Speicherleitwerk 20 ist zur Steuerung der Speichervorgänge, des Zugriffs und des Speicherns vorgesehen.
Zur Eingabe und zur Ausgabe sind ein Kartenleser 24 und ein Kartenlocher 25 vorgesehen. Ferner sind zur Eingabe und zur Ausgabe (I/O) und zur Speicherung Bandeinheiten
309812/1124
BAD ORIGINAL
27 bis 32 vorgesehen. Zur Ausgabe unter der Steuerung dur.ch die Peripherieverarbeitungseinheit 22 dient ein Zeilendrucker 26. D&e Teile der Computeranlage sind durch Kabel miteinander verbunden.
Es sei bemerkt, daß die· Compüteranlage auf diese Weise eine fünfstufige SpeicherrangOrdnung besitzt. Der Spei^ eher mit der kürzesten Zugriffszeit befindet sich in der Zentraleinheit 34, die neun Qkte-tt puffer aufweist, wobei jedes Oktett aus 256 Bits besteht. Der Speicher mit der nächstkürzesten Zugriffszeit befindet sich in den Speichermodulen 12 bis 19. Die nächstkürzeste Zugriffszeit liegt im Großraumerweiterungsspeicher 49.vor» Der nächste am meisten zur Verfügung siehende Speicher besteht "aus den Plattenspeichermodulen 38 und 39. Die Bandeinheiten 27 bis 32 vervollständigen schließlich das Speicherfeld.
Es steht auch eine mit zwei Katodenstrahlröhren (CRT) ausgestattete Bedienungskonsole 23 zur Verfügung. Die Bedienungskonsole 23 besteht aus zwei angepaßten ORT-Tastaturendgeräten, die von der Peripherieverarbeitungseinheit 22 als Eingabe/Ausgabe-Gerät betätigt werden* Sie kann vom Operator auch dazu verwendet werden, in die Anlage sowohl zu Hardware-als auch Software-Prüfzwecken Befehle einzugeben, sowie mit der Anlage betriebsmäßig zusammen zu arbeiten, so daß ein gegebenes Programm an einem ausgewählten Punkt mit Hilfe der Bedienungskonsole 23 zur Durchsicht einer Operation, einer Folge oder eines Ergebenisses unterbrochen werden kann, worauf die nächstfolgende Operation bestimmt werden kann. Solche Operationen können die weitere Verarbeitung der Daten umfassen, oder sie können die Anlage so steuern, daß eine Übertragung stattfindet, damit der Betrieb mit einem anderen Programm oder mit anderen Daten erfolgt.
309812/112 4
Es erfolgt nun die allgemeine Beschreitung der Organisation der Computeranlage unter Bezugnahme auf Fig.2. Die Speichermodule 12 bis 19 werden vom Speicherleitwerk; 20 gesteuert, damit Datenäktette in sie eingegeben oder aus ihnen herausgenommen werden. Das Speicherleitwerk'20 sorgt für das Durchschalten, Abbilden und Schützen der Daten innerhalb der Speichermodule je nach den Anforderungen.
Eine Signalsammelleitung 43 verläuft zwischen dem Speicherleitwerk 20 und einerDatenkanaleinheit 36, die über eine Plattenkopplungseinheit 37 mit den Plattenspeichermodulen 38 und 39 verbunden ist. Jeder Plattenspeichermodul hat eine Kapazität von 25 Millionen Wörtern. Die Datenkanal ei nheit 36 und die Plattenkopplungseinheit 37 unterstützen die Plattenspeichermodule 38 und 39. Die Date η kanal ei nheit 36 ist ein einfacher Computer mit fest verdrahtetem Programm, der Daten über die Plattenkopplungseinheit 37 in die Plattenspeichermodule 38 und 39 und aus diesen bewegen kann. Die Dateökanaleinheit 36 kann nur auf Befehl Speicherdaten aus den Plattenspeichermodulen 38 und 39 über die Signalsammelleitung 43 durch das Speicherleitwerk 20 zu den Speichermodulen 12 bis 19. befördern.
Zwischen jedem der Datenverarbeitungsmodule 38 und 39 und der Plattenkopplungseinheit 37 erstreckt sich ein in zwei Richtungen wirksamer Kanal. Zwischen einem der Plattenspeichermodule 38 und 39 und der Date η kanal ei nheit 36 wird zur gleichen Zeit über die Datenkopplungseinheit 37 ein Datenwort übertragen. Daten von den Speichermodulen 12 bis 19 werden zu und von der Date η kanal ei η he it 36 in das Speicherleitwerk 20 in Blöcken zu je acht Wörtern übertragen.
Eine einzelne Sammelleitung 41 verbindet das Speicherleitwerk 20 mit der Peripherieverarbeitungseinheit 22. Die Peripherieverarbeitungseinheit 22 versorgt alle Eingabe/
309812/112 4
A us gäbe-Ge rate rait Ausnahme der Plattenspeichermodule 38 und 39„Daten aus den Speichermodulen 12 bis 19 werden zu und von der Paripherieverarbeitungseinheit 22 über das Speicherleitwerk 20 In Blöcken au je acht Wörtern übertragen«,
Wenn ein Lese Vorgang aus einem S pe ic her modul 12 bis 19 erfolgt, wird im Speiehermodul 12 bis 19 ein Lese- und Wieäerherstellungsvorgang ausgeführt,, Die acht Wörter werden in der Peripherieverarbeitungseinheit 22 so bearbeitet» daß gleichseitig immer nur eines der acht Wörter verwendet wird» Dieses Vereinsein der Datenwörter innerhalb der Peripherieverarbeituogseinheit 22 ist wegen der ia Y er— glaich sur Zentraleinheit 34 verhältnismäßig langsamen Verwendung der Daten erwünscht,die von der Perphierieverarbeitungseinheit 22 und von den Eingabe/Ausgabe-Geräte η gefordert werden,, Eine typische verfügbare Wortübertragungs-Geschwindigkeit für ein von der Peripherieverarbeitungseinheit 22 gesteuertes Eingabe/ Ausgabe-Gerät liegt bei etwa 100 Kilowörtern pro Sekunde.
Die Peripherieverarbeitungseinheit 22 enthält acht virtuelle Datenverarbeitungsgeräte, von denen die Mehrzahl so programmiert sein kann, daß sie je nach den Anforderungen verschiedene der Eingabe/Ausgabe-Geräte betätigen.Die Bandgeräte 27 und 28 arbeiten mit einem 1 Zoll breiten Magnetband, während die Bandgeräte 29 bis 32 mit 1/2 Zoll" breiten Magnetbändern arbeiten, damit die Fähigkeiten der Anlage erweitert werden.
3098 12/1124
Die virtuellen Datenverarbeitungageräte in der Peripherleverarbeitungaeinheit 22 nehmen Befehle aus dem Arbeitsspeicher, und sie arbeiten nach diesen Befehlen. Die virtuellen Datenverarbeitungageräte enthalten Program ca zähler und ein im Zeitteilverfahren arbeitendes Rechenwerk in der Peripherieverarbeitungseinheit. Die virutellen Datenverarbeitungsgeräts führen Programme be fehla ge steuert aua. Die Peripheriever&rb tungseinheit 22 und die virtuellen Datenverarbeitungsgeräte sind in der USA-Patentschrift 3 573 852 genauer beschrieben.
Die Peripherieverarbeitungseinheit 22 arbeitet nach dem im Speicher enthaltenen und von den virtuellen Datenverarbeitungsgeräten a us ge führ ίο η Programm in wirksamer Weise, und sie sorgt für Überwachungskontrollen für die
in der Zentraleinheit 34 laufenden Programme.
Die Zentraleinheit 34 ist über eine Sammelleitung 42 durch das Speicherleitwerk 20 mit den Speichermodulen 12 bis 19 verbunden. Die Zentraleinheit 34 kann alle acht Wörter in einem Oktett verwenden, das von den Speichermodulen 12 bis 19 geliefert wird. Außerdem kann die Zentraleinheit 34 jede Kombination dieser acht Wörter schreiben oder lesen. Die Sammelleitung 41 behandelt alle 60 Nanosekunden drei Wörter, nämlich zwei Wörter zur Eingabe in die Zentraleinheit 34 und ein Wort als Ausgabe für das Speicherleitwerk 20.
Es sind vom Speicherleitwerk 20 ausgehende Sammelleitungen bis 47 vorgesehen, die verwendet werden sollen, wenn die Fähigkeiten der Computeranlage durch Hinzufügung weiterer Datenverarbeitungsgeräte und dergleichen erweitert werden sollen.
309812/11 2A
~ 11
Jede der Saratnelleitungen 4t bis 48 ist unabhängig durch das Speicherleitwerk 20 su. jedem Speichermodul 20 bis 19 geschaltet, so daß zur Erhöhung der Verarbeitungsgeschwindigkeit ein Überlappen von Speicherssyklen zugelassen wirdo Vorzugsweise ist in den Spaichersteuerungeo eine feste Priorität gebildet, damit einander widersprechende Anforderungen von den verschiedenen;, an dsis Speicherleitwerk 20 angeschlossenen Geräten bedient werden könneno Dem internen Speicherleitwerk 20 wird die höchste Priorität verliehen, wobei die exterrien Sammelleitungen 43 9 41».42» " 48 und 44 bis 47 in dieser Reihenfolge bedient werden* Die. externen Sammelleitungen zum Anschluß von Datenverarbeitungsgeräten sind gleichartig ρ so daß die Datenverarbeitungsgeräte in jeder anderen gewünschten Prioritätsreihenfolge angeordnet werden könneno
Der in zwei Betriebsarten arbeitende Erweiterungsspeicher ist über Sammelleitungen 50 und 48 mit dem Speie her leitwerk verbunden. Die maximalen Datengeschiiiiadigkeiten über die Sammelleitungen 48 und 50 liegen bei 40 MegaWörtern \;ro Sekunde. Daten im Erweiterungsspeicher 499 die über die Sammelleitung 50 übertragen werden, befinden sich im Adressenraura der Speicherraodule 12 bis 19S und es handelt sich um acht Wörter pro Abrufzyklus im Direktzugriff<, Die Daten können zu und aus dem Erweiterungsspeicher 49 im Direktzugriff über die Sammelleitung 50 von jedem mit den Sammelleitungen 41 bis 48 verbundenen D ate η ve rar be it ungsga:ät einschlfeßlich des Erweiterungsspeichers selbst bewegt werden. Blöcke von abhängigen Daten werden zu und von dem Erweiterungsspeieher 49 über die Sammelleitung 48 zu und von jedem Speichermodul 12 bis 19 unter Steuerung eines in den Erweiterungsspeicher 49 eingebauten Datenkanals befördert. Der in den Erweiterungsspeicher 49 eingebaute Datenkanal wird durch die Verbindung über die Sammelleitung 40 von der Peripherieverarbeitungseinheit ausgelöst. 309812/1124
Bei einem typischen Arbeltsvorgang werden Programme, die In den Plattenspeichermodulen 38 und 39 auf Ihre Ausführung warten, unter der Steuerung durch die Datenkanalr einheit 36 durch die Sammelleitung 43 über das Speicherleitwerk 20 und durch die Sammelleitung 50 zum Erweiterungsspeicher ^9 transportiert. Wenn in dem auf den Speichermodulen 12 bis 19 bestehenden Hochgeschwindigkeitsspeicher Speicherplatz verfügbar wird, können Datenbereiche mit einer Geschwindigkeit von 40 Megawörtern pro Sekunde aus dem Erweiterungsspeicher '49 über die Sammelleitung 48 unter der Steuerung durch das Speicherleitwerk 20 für jeden der Speichermodule 12 bis 19 übertragen werden. Dieser Vorgang wird ausschließlich von der Peripherieverarbeitungseinheit 22 gesteuert.
Die Peripherieverarbeitungseinheit 22 (PPU) des hier beschriebenen Systems kann Bedarfs- und Lieferungsanfragen des Leitwerks 34 (CPU) und anderer Systembaueinheiten allgemein dadurch vorwegnehmen, daß die bestimmte Steuerungsform für die Zeitteilung wie zwischen mehreren virtuellen Datenverarbeitungseinheiten innerhalb der Peripherieverarbeitungseinheit 22 angewendet wird. Insbesondere sollen Programme durch eine Sammelung von virtuellen Datenverarbeitungseinheiten innerhalb der Periphierverarbeitungseinheit 22 verarbeitet werden. V/o Programme stark unterschiedlich sind, von der gleichmässigen Zeitteilung zwischen virtuellen Datenverarbeitungseinheiten abzugehen.
In der in Hg.3 dargestellten Anordnung können einige virtuelle Datenverarbeitungseinheiten innerhalb der Peripherieverarbeitungseinheit 22 in der Zuweisung von Verarbeitungszeit gegenüber anderen virtuellen Datenverarbeitungseinheiten vom Mehrprozessor-Leitwerk stark bevorzugt werden. Weiterhin sind Vorkehrungen getroffen,
309812/1124
2243.95fe "
daß die Zuweisung von Zeit zwischen den Datenverarbeitungsgeräten häufig und stark verändert werden kann»
Aus Fig.3 ist zu erkennen, daß die virtuellen Datenverarbeitungseinheiten P0 bis Py in der Peripherie-Verarbeitungseinheit 22 vom Rechenwerk 400 (AU) der Peripherieverarbeitungseinheit 22 bedient werden«,
Das allgemeine Konzept der Zeitteilung (time=sharing) nach dem ein Rechenwerk (das Rechenwerk 400) und virtuelle Datenverarbeitungseinheiten (PQ bis Py) zusammenarbeiten, ist bekannt. Das System zur Steuerung einer solchen Anordnung wird hier beschriebenoDie Datenverarbeitung^-* Einheiten PQ bis Py sind virtuel'le Datenverarbeitungs·= einheiten, die 16 Zeitspannen besetzen.. Der Aufbau der hier beschriebenen Anordnung ermöglicht eine variable Steuerung der Zeitzuweisungen in Abhängigkeit von der Art der Aufgabe, die von der gesamten Datenverarbeitungsanlage zu lösen isto
Die Datenverarbeitungseinheit Pq ist eine zugewiesene Datenverarbeitungseinheit, in der das Hauptsteuerwerk seine Steuerfunktion ständig ausübt»
Nach Fig.3 werden in der PeripherieverarbeitungsGinheit 22 acht virtuelle Datenverarbeitungseinheiten PQ bis Py verwendet. Das Rechenwerk 400 der Peripherieverarbeitungseinheit 22 soll zu einer Zeit jeweils für eine der virtuellen Datenverarbeitungseinheiten zur Verfügung gestellt werden. Insbesondere wird eine virtuelle Datenverarbeitungseinheit mit jedem Taktimpuls mit dem Rechenwerk 400 ver- ' bunden. Die Auswahl unter den virtuellenDatenverarbeitungseinheiten trifft ein Zuordner, der schematisch durch
309812/1124
einen Schalter 401 dargestellt ist. Die Wirkung eines Taktimpulses ,die sich in der Veränderung der Stellung des Schalters 401 ausdrückt, besteht darin, daß das Rechenwerk 400 betätigt wird, das entsprechend dem ausgewählten Code für die Zeitspanne 0 bis 15 mit den virtuellen Datenverarbeitungseinbeiten verbunden ist. In einem Extremfall wird nur eine virtuelle Datenverarbeitungseinheit unter Ausschluß aller anderen yvrwendet. Im anderen Extremfall können sich die virtuelle» Datenverarbeitungseinheiten die Zeitspannen anteilsmäßig gleich teilen. In den Figuren bis 6 ist die Anordnung dargestellt, die diese Vielseitigkeit ermöglicht.
Zu Fig.4: Die Organisation de, Periphierverarbeitungseinheit 22 ist in Fig.4 dargestellt. Der aus den Speichermodulen bis 19 bestehende Zentralspeicher ist mit dem Speicherleitwerk 20 und dann mit dem Kanal 32 verbunden. Die virtuellen Datenverarbeitungseinheiten PQ bis Py stehen über eine Sammelleitung 402 mit dem Rechenwerk.400 in Verbindung; die Rückverbindung zwischen dem Rechenwerk 400 und den virtuellen Datenverarbeitungseinheiten P0 bis P7 erfolgt dabei über die Sammeleitung 403. Die virtuellen Datenverarbeitungseinheiten P0 bis Py stehen über die interne Sammeleitung 408 der Peripherieverarbeitungseinheit 22 über die Kanäle 410 bis 417 in Verbindung. Eine Puffereinheit 419 mit acht einzelnen Wortpufferregistern 420 bis 427 steht zur Verfügung. Ein Register ist dabei ausschließlich einer der virtuellen Datenverarbeitungseinheiten P0 bis Py zugeordnet. Die virtuellen Datenverarbeitungseinheiten P0 bis Py sind mit einer Folgesteuereinheit 418 ausgestattet, in der die Realisierung des Schalters 401 von Fig.3 untergebracht ist. Die Folgesteuereinheit 418 v/ird von Taktimpulsen botrieben. Die Puffereinheit 419 v/ird von einem Pufferstcuet verk 428
12/1124 bad ORIGINAL
gesteuert. Der Kanal 429 erstreckt sich zwischen der internen Sammelleitung 408 und dem Rechenwerk 400«,
Die virtuellen Datenverarbeitungseinheiten Pq bis Py sind mit einem festen Festwertspeicher 430 versehen, der in der Technik bekannt ist„ In einer bevorzugten Ausführungsform der hier beschriebenen Anordnung, besteht der Festwertspeicher 430 aus vorverdrahteten Diodenfeldprogrammen für schnellen Zugriff, . ·
Für die Übertragung zwisehen der Sammelleitung 408 , den Ein/Ausgabe-Geräten und den Datenkanälen ist eine Gruppe von 64 Übertragungsweg!stern 431 vorgesehen» In dieser Ausführungsform der Anordnung sind die Übertragungsregister in der Einheit 431 untergebrachte Die an der Zeitteilung beteiligten Baugruppen sind das Rechenwerk 400, der Festwertspeicher 43O9 die Gruppe derübertragungsregister 431 und die "Einwortpuffereinheit 419? die den Zugriff zu den Speichermodulen 12 bis 19 des Zentralspeichers ermöglicht»
Der Festwertspeicher 430 enthält einen Programmvorrat, und ein Zugriff auf ihn erfolgt nur, wenn die Programmzähler der virtuellen Datenverarbeitungseinheiten auf ihn zugreifen. Der Programmvorrat enthält ein Grundausführungsprogramm und wenigstens ein Steuerprogramm für jede an die Anlage angeschlossene Ein/Ausgabe-Einrichtung. Der Festwertspeicher 430 hat eine Zugriffszeit von 20 Nanosekunden, und er liefert 32-Bit-Befehle für die virtuellen Datenverarbeitungseinheiten Pq bis P~. Der gesamte Speicherplatz im Festwertspeicher 430 be~ trägt 1024 Wörter. Der Speicher ist in Modulen zu je 256 Wörtern organisiert, so daß Teile des Programms abgeändert
,30 9812/1124
werden können, ohne daß eine vollständige Neuherstellung dea Speichers erforderlich ist.
Die Programme für die Ein/Ausgabevorrichtungen können Steuerfunktionen für die zugehörigen Speichereinrichtungen sowie Datenübertragungsfunktionen enthalten. Auf diese Weise können Bewegungsvorgänge mechanischer Einrichtungen direkt durch das Programm und nicht durch eine stark spezialisierte Hardware für jeden Einrichtungstyp gesteuert werden. Änderungen eines Grundprogramms werden durch Parameter vorgesehen, die von dem Grundproblem geliefert werden. Solche Parameter sind in den Speichermodulen 12 bis 19 oder in den Akkumulatorregistern der das Programm ausführenden virtuellen Datenverarbeitungseinheit enthalten.
Die Befehlsquelle für die virtuellen Datenverarbeitungseinheiten können entweder der Festwertspeicher 430 oder die Speichermodule 12 bis 19 des zentralen Speichers sein. Der vom Programmzähler einer virtuellen Datenverarbeitungseinheit adressierte Speicher wird durch die Adressierungsart gesteuert, die durch den Verzweigungsbefehl oder durch eine Systemlöschung modifiziert werden kann. Jede virtuelle Datenverarbeitungseinheit wird in den Festwertspeicherbetrie b geschaltet, wenn das System gelöscht wird.
Wenn vom zentralen Speicher eine Programmfolge erhalten wird, so wird diese über die Puffereinheit 419 aufgenommen. · Da es sich bei dieser Einheit um die gleiche Puffereinheit handelt, die für eine Datenübertragung zu oder aus den Speichermodulen 12 bis 19 verwendet wird, und da der Zugriff auf den zentralen Speicher mit niedrigerer Geschwindigkeit als der Zugriff auf den Festwertspeicher erfolgt, ist die Ausführungszeit günstiger,wenn ein Programm nur aus dem Festwertspeicher 430 erhalten wird.
309812/1124
. - 17 -
Die Zeitspanne Null kann einer der acht virtuellen Datenverarbeitungseinheiten durch einen Schalter am Bedienungspult zugeordnet werden. Diese Zuordnung kann vom Programm nicht gesteuert werden. Die restlichen Zeitspannen sind anfänglich nicht zugeordnet. Daher arbeitet zu Beginn nur die durch den Schalter am Bedienungspult ausgewählte virtuelle Datenverarbeitungseinheit. Da außerdem die Programmzähler in jeder der Datenverarbeitungs· einheiten PQ bis P« ursprünglich gelöscht sind, beginnt die ausgewählte virtuelle Datenverarbeitungseinheit, das-Programm von der Adresse Null des Festwertspeichers 430 an auszuführende ein typischerweise als Ureingabeprogramm bekanntes Anlaufprogramm enthält. Der Wählschalter am Bedienungspult bestimmt ebenso', welches der acht Bits des Übertragungsregisters 431 von einem durch den Operator ausgelösten Einleitungssignal gesetzt wird.
Die Puffereinheit 419 sorgt für den Zugriff der virtuellen Datenverarbeitungseinheit zu den Speichermodulen 12 bis 19. Die Puffereinheit 419 besteht aus acht, jeweils 32 Bits fassenden Datenregistern, acht jeweils 24 Bits fassenden Adressenregistern und entsprechenden Steuerregistern. Von einer Datenverarbeitungseinheit aus betrachtet, erscheint die Puffereinheit 419 lediglich als ein Speicherdatenregister und als ein Speicheradressenregister. Zu irgendeinem gegebenen Zeitpunkt kann die Puffereinheit 419 bis zu acht Speicheranforderungen enthalten, und zwar eine für jede virtuelle Datenverarbeitungseinheit .Die se Speicheranforderungen werden vorzugsweise auf der Basis einer festen Priorität kombiniert, mit einer Priorität, die nach dem Prinzip arbeitet, daß zuerst eingegangene Anforderungen zuerst wieder ausgegeben werden, verarbeitet. Vorzugsweise sind vier
309812/1124
Prioritatsstufen vorgesehen, und wenn zwei oder mehr Anforderungen mit gleicher Priorität zu irgendeinem Zeitpunkt noch unverarbeitet sind, dann werden sie nach dem Prinzip behandelt, daß zuerst eingegangene JSnforderungen zuerst wieder ausgegeben werden.
Wenn eine Anforderung an der Puffereinheit 419 ankommt, dann hat sie automatisch eine von den entsprechend den Zählen der virtuellen Datenverarbeitungseinheiten angeordneten Speichermodulen 12 bis 19 bestimmte Prioritätszuordnüng, und alle Anforderungen von einer bestimmten Datenverarbeitungseinheit erhalten die in zwei Bits der Prioritätsdatei codierte Prioriotät. Der Inhalt der Datei wird vom Ausführungsprogramm programmiert, und der jeder virtuellen Datenverarbeitungseinheit zugeordnete Prioritätscode hängt von dem auszuführenden Programm ab. Wegen diesen zwei Prioritätsbits kann zur Auflösung von Fällen gleicher Priorität eine Zeitmarke verwendet werden. Die Übertragungsregister 431 haben jeweils eine Kapazität von 32 Bits. Jedes Register ist von den virtuellen Datenverarbeitungseinheiten adressierbar, und es kann von den Einrichtungen, mit denen es verbunden ist, gelesen oder geschrieben werden. Die Übertragungsregister 431 sorgen für die Steuerungsund Datenanschlüsse an alle Periphierieeinrichtungen einschließlich der Bedienungskonsole. Einige Parameter, die den Betrieb der Anlage steuern, sind ebenfalls in den Übertragungsregistern 431 gespeichert, von denen die Steuerung über speicherprogrammierte Steuerwerke ausgeführt wird.
Zu Fig.5: Wie in Fig. 5 dargestellt ist, hat jede Zelle im Übertragungsregister 431 zwei Gruppen von Eingängen. Eine Gruppe ist mit der Peripherieverarbeitungseinheit 22 verbunden, und die andere Gruppe steht für die Verwendung durch Peripherieeinrichtungen zur Verfügung. Daten aus
3 0 9 8 1 2 / 1 1 2 U
2243856
der Peripherieverarbeitungseinheit 22 werden stets synchron mit dem Systemtakt in die Zelle übertragen. Das Tor zum Schreiben in die Zelle von der externen Einheit kann von der Kopplungseinrichtung dieser externen Einheit erzeugt werden, und es muß nicht notwendigerweise synchron mit dem Systemtakt erzeugt werden.
Zu Fig.6: Fig.6 zeigt eine Anordnung, die es ermöglicht, einer oder mehreren der virtuellen Datenverarbeitungseinheiten P0 bis Py gegenüber den anderen Einheiten einen über-* wiegenden Zeitanteil zuzuweisen oder auch gleiche Zeit- . anteile zuzuweisen .Die Steuerung der Zuweisung der Zeitspannen zwischen den Datenverarbeitungseinheiten PQ bis Py erfolgt mit Hilfe von zwei der Übertragungsregister 431. Die Übertragungsregister 431·η und 431 m sind inFig.6 dargestellt. Jedes der 32 Bits fassenden Register ist in acht Segmente zu je vier Bits unterteilt. So besteht beispielsweise das Segment 440 des Registers 431n vier Bits a bis d , die an UND-Gatter 441 bis 444 angeschlossen sind. Das Segment 445 besteht ebenfalls aus vier Bits a bis d, die.an UND-Gatter 446 bis 449 angeschlossen sind. Die ersten UND-Gatter aller Vierergruppen , nämlich die UND-Gatter 441 , 446 usw. für alle Bits a sind an einen Eingang eines ODER-Gatters 450 angeschlossen. Die UND-Gatter für die Bits b jeder Gruppe sind an das ODER-Gatter 451 ange chlossen, die UND-Gatter für die dritten Bits sind an das ODER-Gatter 452 angeschlossen , und. die UND-Gatter für die vierten Bits sind an das ODER-Gatter angeschlossen.
Die Ausgänge der ODER-Gatter 450 bis 453 sind mit dem Register 454 verbunden, dessen Ausgang an einen Decodierer 455 angeschlossen ist. Acht Decodiererausgangsleitungen gehen zur Steuerung der Ein- und Ausgänge jeder der
3098 12/1124
virtuellen Datenverarbeitungseinheiten Ρ« bis Ρ« vom Decodierer 455 aus.
Die Folgesteuereinheit 418 wird über einen Kanal 460 mit Taktimpulsen gespeist. Die Polgesteuereinheit 418 arbeitet als sechzehnstufiger Ringzähler mit einem Ausgang für jede Stufe. Im vorliegenden Fall ist die erste Ausgangsleitung 461 der ersten Stufe mit einem Eingang jedes der Und-Gatter 441. bis 444 verbunden. In gleicher Weise ist die Ausgangsleitung 462 mit den ÜHD-Gattern 446 bis 449 verbunden. Die restlichen vierzehn Ausgangsieitungen der Folgesteuereinheit 418 sind an aufeinanderfolgende Gruppen von vier UND-Gattern angeschlossen.
Drei der vier Bits des Segments 440 , nämlich die Bits b, c und d kennzeichnen eine der virtuellen Datenverarbeitungseinheiten P0 bis Ρ™ durch einen entsprechenden Signalwert an der Ausgangsleitung des Hecodierers 455. Das vierte Bit, nämlich das Bit at wird dazu verwendetι abhängig von seinem Zustand eine Decodierung für eine gegebene Gruppe freizugeben oder zu sperren, wodurch ermöglicht wird, daß eine gegebene Zeitspanne unzugeordnet bleibt.
Bs sei bemerkt, daß das Rechenwerk 400 über die Kanäle an die Register 431n und 431m angeschlossen ist, wodurch das Rechenwerk 400 unter der Steuerung durch das Programm die gewünschten Zuweisungen in den Registern 4JIn;und 431m liefern kann. Somit kann der Decodierer 455 entsprechend den Taktimpulsen am Kanal 460 bei jedem Taktimpuls Von einer virtuellen Datenverarbeitungseinheit zu einer weiteren Einheit abhängig vom Inhalt der Register 431n und 431m fortgeschaltet werden, wobei die gesamte Zeit einer Datenverarbeitungseinheit oder allen Datenverarbeitungseinheiten gleichmäßig oder ungleichmäßig zugeteilt werden, je nachdem, wie es die in den Registern 431n und enthaltenen Codes bestimmen.
309812/1124
22439SB
Unter Hinwendung auf die Steuerleitungen am Ausgang des Decodierers 455 ist an dieser Stelle zu erkennen, daß die von den Registern 43In und 421ffl zum Decodierer führende Logikschaltung bitmäßig dargestellt worden ist. Im Gegensatz dazu ist die vom Ausgang des Decodierers zum Rechenwerk 400 führende Logikschaltung zur Steuerung der virtuellen Datenverarbeitungseinheiten PQ bis Py nicht bitmässig, sondern hinsichtlich der gesamten Übertragung zwischen den Datenverarbeitungseinheiten PQ bis Py und dem Rechenwerk 400 dargestellt. . .
Die Codeleitungen 463 bis 470 erstrecken sich vom Decodierer 455 zu den Datenverarbeitungseinheiten PQ bis Py.
Der Fluß von Daten vm einer Datenverarbeitungseinheit auf den Kanälen 478 kann durch die Signalzustände an den Leitungen 463 bis 470 freigegeben oder gesperrt werden. Insbesondere führt die Leitung 463 zu einem UND-Gatter 490, das auch über die Leitung 478 gespeist wird. Ein UND-Gatter 500 Ifegt im Ausgangskanal der Datenverarbeitungseinheit PQ, und es wird von einem Signalwert an der Leitung 473 freigegeben* In gleicher Weise steuern die UND-Gatter 491 bis 497 und die UND-. Gatter 501 bis 507 die virtuellen Datenverarbeitungseinheiten P1 bis Py.
Die UND-Gatter 500 bis 507 sind über das ODER-Gatter mit dem Rechenwerk 400 verbunden, so daß diesen Daten zugeführt werden können. Dadurch arbeitet gleichzeitig immer nur eine Datenverarbeitungseinheit PQ bis Py, und der Zeitanteil wird durch den Inhalt der Segmente 440, 445 usw. unter der Taktsteuerung durch die Folgesteuereinheit 418 bestimmt.
3-0 9812/1 124
22439S6
Fig.7 zeigt ein Blockschaltbild der Kopplungseinrichtung zwischen der Peripherieverarbeitungseinheit 22 und der Zentraleinheit 34 zur Durchführung des automatischen GefügeSchaltens der Zentraleinheit, während eine zeitliche Vorausschau ausgeführt wird, um einen zeitraubenden Dialog zwischen der Peripherieverarbeitungseinheit 22 und der Zentraleinheit 34 auszuschliessen. Im Betrieb führt die Zentraleinheit Benutzerprogramme auf der Basis derMehrprogrammverarbeitung aus. Die Peripherieverarbeitungseinheit 22 bearbeitet Anforderungen von den Programmen, die für Ein/Ausgabezwecke von der Zentraleinheit 34 ausgeführt werden. Die Peripherieverarbeitungseinheit 22 führt auch die Zuordnung · der Ablauffolge der in der Zentraleinheit 34 bearbeiteten Programme aus. Die Benutzerprogramme, die in der Zentraleinheit 34 ausgeführt werden, bewirken eine Bedienungsanforderung für eine Eingabe oder eine Ausgabe von der Peripherieverarbeitungseinheit 22 entweder durch das Kommando "Systemaufruf und Fortsetzung" (SCP) oder durch das Kommando "Systemaufruf und Warten" (SCW). Das Benutzerprogramm innerhalb der Zentraleinheit 34 liefert eines dieser Kommandos durch Ausführung eines Befehls, der dem Aufruf entspricht. Das Kommando SCP wird dann von einem Benutzerprogramm geliefert, wenn dieses Programm ohne Warten auf die Ausführung eines Ein/Ausgabevorgangs ablaufen kann, wobei die Peripherieverarbeitungseinheit 22 während dieses Ablaufs neue Daten oder ein neues Programm, die für zukünftige Operationen der Zentraleinheit erforderlich sind, sicherstellen oder zusammenstellen kann. Die Peripherieeinheit 22 sorgt dann bei passender Gelegenheit für einen Ein/Ausgabe-Vorgang für die Zentraleinheit 34 für die Verwendung durch das Benutzerprogramm. Das Kommando SCP wird über die Leitung 41a an die Peripherieverarbeitungseinheit 22 angelegt.
309812/1 124
Das Kommando SCW wird von einem Benutzerprogramm in der Zentraleinheit 34 dann geliefert, wenn es nicht möglich ist, daß das Programm ohne Durchführung eines Ein/Ausgabe-Vorgangs durch die Peripherieverarbeitungseinheit 22 fortfahren kann. Dieses Kommando wird über die Leitung 42a geliefert.- Bei der hier beschriebenen Anlage analysiert die Peripherieverarbeitungseinheit ständig die in der Zentraleinheit 34 enthaltenen Programme, die zur Zeit gerade nicht ausgeführt werden, um festzustellen, welches dieser Programme von der Zentraleinheit 34 als nächstes ausgeführt werden soll· Nachdem das nächste Programm ausgewählt worden ist, wird die Schaltkennzeicheneinheit 44agesetzt. Wenn das von der Zentraleinheit 34 gerade ausgeführte Programm einen Zustand erreicht, in dem die Zentraleinheit 34 ein Kommando SCW liefert, dann wird dieses Kommando an die Leitung 42 angelegt, damit an der Leitung 45aein Signal zur Durchführung des GefügeSchaltens erscheint.
Die Schaltkennzeicheneinheit 44ahat den Schalter so freigegeben,daß eine Anzeige des nächsten auszuführenden Programms über die Leitung 45aautomatisch in die Zentraleinheit '34 eingegeben wird. Dadurch wird das nächste Programm oder Programmsegment automatisch für die Aufnahme und die Ausführung durch die Zentraleinheit 34 freigegeben, ohne daß die allgemein durch Abfragen durch die Peripherieverarbeitungseinheit 22 und eine darauffolgende Antwort von der Peripherieverarbeitungseinheit 22 zur Zentraleinheit 34 auftretende Verzögerung entsteht. Wenn die Periphierverarbeitungseinheit 22 aus irgendeinem Grund die nächste
9812/1124
Programmbeschreibung noch nicht geliefert hat,dann ist die Schaltkennzeicheneinheit 4%nicht besetzt worden, so daß der Gefügeschaltvorgang verhindert würde. Xn diesem Fall würde das Benutzerprogramm Innerhalb der Zentraleinheit 34, die das Kommando SCW abgegeben hat, immer noch in der Benutzerdatenverarbeitungseinheit vorhanden sein, doch würde es sich in einem inaktiven Zustand befinden und auf den nächsten Gefügeschaltvorgang warten. Wenn der, Gefügeschaltvorgang erfolgt, wird die Schaltkennzeicheneinheit 44azurückgesetzt.
Die durch die Peripherieverarbeitungseinheit 22 geschaffene Fähigkeit der Vorausschau bezüglich des Benutzerprogramms in der Zentraleinheit 34 , das zur Zeit gerade nicht ausgeführt wird, ermöglicht die automatische Durchführung des Gefügeschaltvorgangs, ohne daß ein Dialog zwischen der Zentraleinheit 34
und der Periphierverarbeitungseinheit 22 erforderlich
( · ■■■■■*■"
ist. Die Gesaitorganisation der Zentraleinheit 34 wird durch diese Einrichtungen drastisch reduziert, die den üblichen Datenverarbeitungsdialog überflüssig machen.
Nachdem nun die Anordnung zur Durchführung dee Gefügeschaltens zwischen der Zentraleinheit 34 und der Peripherieverarbeitungseinheit 22 allgemein beschrieben worden ist, sei nun auf Fig.Θ Bezug genommen, in der eine genauere Schaltung zur Darstellung weiterer Einzelheiten der Steueranordnung für das Gefügeschalten gezeigt sind.
In Fig.8 sind die Zentraleinheit 34 , die Peripherieverarbeitungseinheit 22 und das Speicherltitwerk 20 in ihrer funktioneilen Beziehung dargestellt. Die Zentraleinheit 34 erzeugt ein Signal an der Leitung 41a.
309812/1124
Dieses Signal wird von der Zentraleinheit 34 dann erzeugt, wenn im Verlauf der Ausführung eines gegebenen Programms ein Kommando SCP erreicht wird. Ein solches Signal erscheint dann an der Leitung 41a, und es wird an ein ODER-Gatter 5Qaangelegt. Die Zentraleinheit kann so programmiert sein, daß sie ein an der Leitung 42aerscheinendes Kommando SCW erzeugt. Die Leitung 4^· ist mit dem zweiten Eingang des ODER-Gatters 50aund mit dem ersten Eingang eines ODER-Gatters 51averbunden.
Eine Leitung 53averläuft zwischen der Zentraleinheit und dem zweiten Eingang des ODER-Gatters 51a.Die Leitung. 53a.liefert ein Fehlersignal als Antwort auf eine gegebene Operation der Zentraleinheit 34, in der sich das Vorhandensein eines Fehlers so auswirkt, daß eine Änderung der Operation der Zentraleinheit erfolgen muß. Eine solche Änderung kann beispielsweise darin bestehen, daß die Zentraleinheit von der Ausführung eines laufenden Programms auf ein nachfolgendes Programm umgeschaltet wird/
An der Leitung 5^a kann ein Abtastsignal aus derZentraleinheit 34 erscheinen. Das Abtastsignal erscheint als ein Spannungszustand, der von der Zentraleinheit eingeschaltet wird, nachdem eines der Signale an den Leitungen 41a,- 42aoder 53aerscheint.
Ein Signal an einer der Leitungen 4iaoder 4Si dient als ein Anforderungssignal für die Peripherieverarbeitungseinheit 22, damit die Zentraleinheit 34.so freigegeben wird, daß ein gegebener Code von dem Programm, das nun in der Zentraleinheit 34 ausgeführt wird, über das Speicherleitwerk 20 mittels des Übertragungswegs 33a in den Speicher übertragen wird.Der Zweck dieses Vorgangs
309812/1124"
besteht darin, in einer in den Speichermodulen 12 bis des zentralen Speichers (Fig.1) reservierten Speicherzelle einen Code für einen solchen Zeitabschnitt zu speichern, der für die Peripherieverarbeitungseinheit 22 zum Abfragen dieser Speicherzelle und dann zum Ausführen einer Gruppe von Befehlen in Abhängigkeit von dem in der Zelle gespeicherten Code erforderlich ist. Im hier beschriebenen System ist in den Speichermodulen 12 bis 15 ein Speicherplatz für ein Viort für die Verwendung durch das System beim Gefügeschalten und bei einer Steueroperation reserviert. Das an der Leitung 55 erscheinende Signal dient dazu, der Peripherieverarbeitungseinheit 22 anzuzeigen, daß eine von dem Kommando SCP an der Leitung 41a oder dem Kommando SCV/ an der Leitung 42a ausgelöste Ablauffolge vollendet worden ist.
An der Leitung 56 wird von der Peripherieverarbeitungseinheit 22 ein Laufkommando zur Zentraleinheit 34 angelegt, das wie unten erläutert wird, als ein Signal zum Anhalten des Betriebs der Zentraleinheit 34 verwendet wird, wenn bestimmte Bedingungen in der Peripherieverarbeitungseinheit 22 vorliegen.
Die Zentraleinheit erzeugt als Antwort auf ein SCL-Kommando an der Leitung 42a oder auf ein Fehlersignal an der Leitung 53a ein Signal an der Leitung 57. Die Peripherieverarbeitungseinheit 22 löst eine Reihe von Vorgängen aus, in deren Verlauf die Zentraleinheit 34 , die einen Punkt in ihrem Betrieb erreicht hat, an dem sie nicht weiter fortfahren kann, veranlaßt wiö., zum Speicher einen Code zu übertragen, der dem Gesamtzustand der Zentraleinheit 34 an dem Zeitpunkt entspricht, an dem sie ihre Bearbeitung dieses Programm beendet. Nach einem solchen Speichervorgang wird ein völlig neuer
309812/1 12
Zustand in die Zentraleinheit 34 eingegeben, so daß sie mit der Ausführung eines neuen Programms fortfahren kann. Das neue Programm beginnt mit dem Zustand, der von dem eingegebenen Code wiedergegeben wird. Wenn an der Leitung 57 ein solches Signal erscheint, wird die Peripherieverarbeitungseinheit 22 in einen solchen Zustand versetzt, daß sie ein Ansprechen aufddas nachfolgende Signal an den Leitungen 41a, 42a oder 53a erlaubt. Wie gezeigt wird, überwacht die Peripherieverarbeitungseinheit 22 dann den an der Leitung 57 erscheinenden Signalzustand, und sie löst dann als Antwort auf einen gegebenen Signalzustand an dieser Leitung das nächstfolgende Programm und die nachfolgenden Daten aus, die von der Zentraleinheit 34 benützt werden sollen, wenn an.den Leitungen 42a und 53a ein SCW-Kommando oder ein Befehlssignal als nächstes erscheint.
Die in den Figuren 7 und 8 dargestellte Leitung 45a versorgt die Zentraleinheit 34 mit einer Anzeige, daß sie mit dem Kommando zum Umschalten von einem Programm auf ein anderes fortfahren kann'.
Das Signal an der Leitung 58 zeigt der Zentraleinheit an, daß. die ausgewählte reservierte Speicherzelle für Benutzung im Zusammenhang mit der Abgabe eines SCP- oder eines SCW-Kommandos zur Verfügung steht.
Das Signal an der Leitung 59 zeigt an, daß bezüglich des Zentralspeichers das Umschaltkommando verwendet worden ist, so daß die Koinzidenz der Signale an den Leitungen 57 und 59 die Peripherieverarbeitungseinheit 22 für die Vorbereitung der nächsten Zustandsänderung der Zentraleinheit freigibt. Das Signal an der Leitung 60 ist das gleiche Signal, das an der Leitung 45aerscheint, doch gelangt es zum Speicherleitwerk 20, damit dieses mit der
309812/1124
2243888
Ausführung des Umschaltkommandeos fortfahren kann.
Es sei bemerkt, daß die Sammelleitung 32aund die Sammelleitung 33)voin Fig.8 und die auf dip Signale an den Leitungen 413 42aund 53a bis 60 ansprechenden Schaltelemente räumlich innerhalb der Peripherieverarbeitungseinheit 22 untergebracht sind, und eine Kopplungseinrichtung dieser Einheit bilden. Die Schaltelemente umfassen die ODER-Gatter 50a und 5ta. Außerdem sind UND-Gatter 51 bis 67, das UND-Gatter 42b und das ODER-Gatter 68 enthalten. Überdies sind zehn Flip-Flop-Spelchereinheiten 71 bis 75, 77 bis 80 und 44benthalten·
Das ODER-Gatter 50aist mit seinem Ausgang an einen Eingang des UND-Gatters 61 angeschlossen. Der Ausgang des UND-Gatters 61 ist mit der Setz-Klemme der Speichereinheit 71 verbunden. Der O-Ausgang der Speichereinheit 71 ist mit einem zweiten Eingang des UND-Gatters 61 und mit einem Eingang der UNDxGatter 62 und 63 verbunden.
Der Ausgang des ODER-Gatters 51a ist an den «weiten Eingang des UND-Gatters 62 angeschlossen, dessen Ausgang mit der Setz-Klemme der Speichereinheit 72 verbunden ist. Der O-Ausgang der Speichereinheit 72 ist an einen Eingang ^edes der UND-Gatter 61 bis 63 angeschlossen. Das Abtastsignal an der Leitung 54awird an die Setz-Klemme der Speichereinheit 73 angelegt. Der 1-Ausgang der Speichereinheit 73 steht mit einem Eingang jedes der UND-Gatter 61 bis 63 in Verbindung.
Die Funktion der ODER-Gatter 50aund 51a, der UND-Gatter 61 bis 63 und der Speichereinheiten 71 bis 73 besteht darin, die Bildung eines Codes an einer Ausgangsleitung 81
3 0 9 8171112 k
zuzulassen, wenn ein Aufruf auszuführen ist, und die Bildung eines Codes an der Leitung 82 zuzulassen, wenn ein Umschaltvorgang auszuführen ist.
Anfänglich wird ein solcher Zustand von dem Abtastsignal an der Leitung 54afreigegeben, das einen Eingang jedes der UND-Gatter 61 t>is 63 versorgt. EinAufrufzustand erscheint an der Leitung 81 nur, wenn die vorhergehenden Zustände der C-Speichereinheit 71 und der S-Speichereinheit 72 O-Zustände waren. In gleicher Weise erscheint ein Umschaltzustand an der Leitung nur dann, wenn die vorhergehendenZustande der Speichereinheiten 71 und 72 O-Zustände waren.
Es sei bemerktydaß an die Speichereinheiten 71 und eine Rücksetzleitung 83 angeschlossen ist, die vom Programm für die Peripherieverarbeitungseinheit 22 gesteuert wird. Die Speichereinheiten 71 und 72 werden zurückgesetzt, nachdem die Aufruf- und Um- . Schaltvorgänge vollendet worden sind*
Es sei bemerkt, daß sich die Leitungen 81 und 82 zu Klemmen 84a bzw. 84b einer Gruppe von Klemmen 84 erstrecken, die für das Programm zugänglich sind. In gleicher Weise erstrecken sich die Ausgangsleitungen von den 1-Ausgängen der Speichereinheiten 74, 75, 44b, 77 und 78 zu für das Programm zugänglichen Klemmen. Während alle Speichereinheiten 71 bis 75, 77 bis 80 und 44bfür das Programm zugänglich sind, sind nur jene dargestellt worden, die für die hier erörterte Arbeitsweise im Zusammenhang mit dem Gefügeschalten von Bedeutung sind. . .
309612/1124
Die Leitung 55 ist mit der Setz-Klemme der Speichereinheit
74 verbunden. Diese Einheit speichert einen Code, der der Tatsache entspricht, daß ein Aufruf vollendet worden ist.Nach der Feststellung dieser an der Klemme 84d angezeigten Tatsache durch die Peripherieverarbeitungseinheit 22 wird über eine Leitung 85 ein Rücksetzsignal angelegt.
Eine Programmeingabeleitung 86 verläuft zur Setz-Klemme der Speichereinheit 75. Der 1-Ausgang der Speichereinheit
75 gibt an der Leitung 56 ein Signal ab, und er ist mit einer Programmabfrageklemme 84e verbunden. Es sei bemerkt, daß die Speichereinheit 75 vom Ausgangssignal des ODER-Gatters 68 automatisch zurückgesetzt werden soll. Somit muß die Peripherieverarbeitungseinheit 22 den Zustand der Speiehereinheit 75 feststellen können.
Die Speichereinheit 44b ist mit ihrer Rücksetz-Klemme an eine Programmeingabeleitung 88 angeschlossen. Der O-Ausgang der Speichereinheit 44 ist mit einem Eingang des UND-Gatters 66 verbunden. Der 1-Ausgang der Speichereinheit 74 ist an eine Abfrageklemme 84f und über eine Leitung 89 an einen Eingang des UND-Gatters 43°angeschlossen. Der Ausgang des UND-Gatters 66 ist mit dem Eingang eines ODER-Gatters 68 verbunden. Der zweite Eingang des ODER-Gatters 68 wird über das UND-Gatter 67 gespeist. Ein Eingang des UND-Gatters 67· wird vom O-Ausgang der Speichereinheit 77 gespeist,' Der zweite Eingang des UND-Gatters 67 wird über eine Leitung 81 von der Speichereinheit 71 versorgt. Die Setz-Klemme der Speichereinheit 77 wird über die Eingabeleitung 91 gespeist. Die Rücksetz-Klemme wird über die Leitung 92 versorgt. Die Funktion der Speichereinheiten 4^b und 77 und ihrer zugehörigen Schaltungsanordnungen besteht darin, dem Programm in der Peripherieverarbeitungseinheit 22 die Bestimmung zu ermöglichen,
309812/1124
welche der Funktionen Aufruf oder Umschalten entsprechend den Setzzuständen der Speichereinheiten 71 und 72 ausgeführt werden soll, und welche verhindert v/erden soll.
Die Speichereinheit 78 ist vorgesehen, damit die Peripherieverarbeitungseinheit 22 untersuchen und feststellen kann, wenn ein Umschaltvorgang vollendet worden ist. Die Speichereinheit 79 gibt an den Leitungen 45aund 60 ein Kommando ab, das anzeigt, daß die Zentraleinheit bzw. das Speicherleitwerk 20 mit der- · Ausführung eines Umschaltkommandos fortfahren sollen. Die Speichereinheit 80 liefert an der Leitung 58 ein Signal, das der Zentraleinheit 34* befiehlt, mit der Ausführung eines Aufrufkommandos nur dann fortzufahren, wenn die 1-Ausgänge der Speichereinheiten 71 und 77 erregt sind.
Die obige Beschreibung gibt an, in welcher ¥eise die Umschaltungen von einem Programm auf ein anderes in der Zentraleinheit 34 automatisch in Abhängigkeit von den Bedingungszuständen innerhalb der Zentral- . einheit 34 und in Abhängigkeit von der von der Peripherieverarbeitungseinheit 22 ausgeübten Steuerung ausgeführt wird. Dieser Vorgang wird als Gefügeschalten bezeichnet, und er kann mit Hilfe der unten angegebenen Tabelle I weiter erläutert werden, in der die oben erörterten Vorgänge in Gleichungsform angegeben sind.
Eine Kopplungseinrichtung zwischen der Zentraleinheit und der Peripherieverarbeitungseinheit 22 zur Ermöglichung des SCW-, des SCP- und des Fehler-GefügeSchaltens weist folgende Besonderheiten aufί
309812/1124
a) Eine Zentraleinheits-Anforderung kann sein;
(1) eine von einem Fehler hervorgerufene Anforderung nach einen Gefügeschalten,
(2) ein SCP-Kommando oder
(3) ein SCW-Kommando.
b) Gleichzeitig wird immer nur eine Zentraleinheits-
anf orderung verarbeitet. ..........
c) Das Gefügeschalten und/©der die AufrufVollendung erfolgt automatisch ohne Eingriff der Peripherieverarbeitungseinheit durch die Verwendung von eigenen Kennzeichen für "Aufruf" und "Umschalten".
d) Zur Übertragung des SCP-Kommandos und des SCW-Kommandos wird eine Speicherzelle verwendet.
e) Für die Vorgänge "Aufruf" .und "Umschalten" eines SCW-Kommandos werden eigene Vollendungssignale geliefert, damit der Vorgang "Aufruf" vor der Vollendung des Vorgangs "Umschalten" verarbeitet werden kann.
f) Für den Lauf und das Warten der Zentraleinheit wird ein Steuersignal geliefert.
g) Es erfolgt eine Unterbrechung der Peripherieverarbeitungseinheit, wenn automatisch gesteuerte Zentraleinheits-Anforderungen vollendet worden sind. Diese Unterbrechungen können maskiert sein.
309812/1 1 2 A
Zehn CR-Bits, d.h.Bits,in einem oder in mehreren Wörtern im Übertraglingsregister 431 in der noch zu beschreibenden Fig.11 werden für diese Kopplungseinrichtung verwendet. Ausgedrückt mit den in Fig.4 verwendeten Symbolen handelt es sich dabei um die folgenden Bits:
309812/1 124
Tabelle I
Organisationsprogramm-Aufrufspeicher (Anforderungssignal c1)
GefUgeschalt-Anforderungsspeicher (Anforderungssignal sf)
Speicher für C-, S-Ladeanforderung/Ladeantwort (Anforderungssignal 1»)
1]
M j
Setze C = LUSc1] Rücksetzen durch
Setze q-LF^sM PPU am Ende der be-cze b - L λ, b s j Anf orderungsverar.
beitung
Setze L=I1 Rücksitze L = USL
AS Kennzeichen zum automatischen Gefügeschalten
Setze AS: durch PPU , wenn ein automatisches Gefügeschalten zuzulassen ist
Rücksetze AS: durch PPU, wenn ein automatisches Gefügeschalten nicht zuzulassen ist,
AC Kennzeichen für automatische Aufruf verarbeitung
Setze AC: durch PPU, wenn eine automatische Aufrufverarbeitung zuzulassen ist,
Rücksitze AC: durch PPU, wenn eine automatische Aufrufverarbeitung nicht zuzulassen ist,
3 0 9 8 12/1124
R Kennzeichen für den Lauf der Zentraleinheit
Setze R: durch PPU , wenn ein Lauf
der Zentraleinheit erwünscht ist
Rücksetze R = Ä"S»S+ÄÜ»C
CC AufrufVollendungsspeicher (Vollendungssignal cc1)
Setze CC = cc1
Rücksetze CC: durch PPU, wenn C und S zurückgesetzt sind.
(CPU-Vollendungssignal: SC UmschaltvollendungsspeicherfPSC-
IMCU-Vollendungssignalι
Lmcs
Setze SC = PSC-MSC
Rücksetze SC : durch PPU, wenn C und S
zurückgesetzt sind
PS Gebe Kommando zur Zentraleinheit zur Auslösung des GefügeSchaltens
Setze PS = AS-S '
Rücksetze PS : durch PPU, wenn S und S
zurückgesetzt sind
PC Gebe Kommando zur·Zentraleinheit zur Auslösung der Verwendung des Speicheraufrufs
- Setze PC = AC -C
Rücksitze PC : durch PPU, wenn C und S _.. . - - - ... zurückgesetzt sind
309812/1124
Zur weiteren Darstellung der automatischen Gefügeschaltvorgänge zeigen die Tabellen II und III zwei repräsentative Beispiele von Vorgängen, bei denen in jedem Fall die Angaben "nur Aufruf", "nur Umschalten" oder "Aufruf und Umschalten" herausgestellt sind.
309812/1124
Tabelle II
Automatisches Gefügeschalten und Aufrufverarbeiten "bei kontinuierlichem Lauf der Zentraleinheit
' Zeit
II
III 1 1 0 0 10 0 0 0
IV 110 1 10 0 0 0
AC AS PC PS R L CC SC C S Flip-Flop (Fig.4)
1 1 0 0 1 0 0 0 0 0
110 0 110 0 0 0
1 1 0 0100 0 1 Ό 110 0 1000
1 11 0-10 0 0 10 11111000
10 0
VI 1101 1001
1 0 1111 1010
111110 11
Neubeginn der PPTJ
Darin bedeuten: ■ .
I - - Warten auf eine Anforderung der Zentraleinheit j IV -
II - - Abtastsignal der Zentraleinheit empfangen; ■ V ' III- - Anforderungscode geladen» .VI-
Beginne Prozedur } Aufruf vollendet und fi Umschalten vollendet /;
Tabelle III
II III
IV
■3 v ,VI
Automatische Aufrufverarbeitung, verhindertes automatisches Gefügeschalten, Lauf der Zentraleinheit bis zum Auftreten des GefügeSchaltens.
S Flip-Flop (Fig.4)
Zeit
1000 1000 01 PPU siehe A
10 0 1 0 0 0 0 0 1
1001 0001 01
AC AS PC PS R L
CC
SC C
1 0 1 0 1 0
0 0
0 0 0
1 0 0 0 0 0 1 0 0 0 1 U 0 0 0 0 0 0 1 1
1 1 0 0 0 0 P P 0 siehe 1 B 0
1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1
1 0 1 1 0 1 1
1 0 0 0 1 0 1 0 1 1 0 1
1 0 1 0 1 . 0
Neubeginnj der PPU
Darin bedeuten :
- - Warten auf eine Anforderung der Zentraleinheit; IV - - Beginne Prozedur j
II - - Abtastsignal der Zentraleinheit empfangen; γ - - Aufruf vollendet und
III - - Anforderungscode geladen; VI - - Umschalten vollendet ·}
A ; Die Peripherieverarbeitungseinheit PPU leitet das Gefügeschalten durch Setzen der Speichereinheit PS auf den Zustand 1 ein.
B: Die Speichereinheit PC wird in diesem Fall automatisch in den Zustand 1 gesetzt.
Dies ermöglicht die automatische Aüfrufverarbeitung. Die Peripherteverarbeitungseinheit muß Jedoch das Umschalten durch Setzen der Speichereinheit PS in den Zustnd 1 auslösen..
Leitwerk
Nach Fig.15 hat das Hauptsteuerwerk 601 Zugriff auf die Zentraleinheit 34, die virtuellen Datenverarbeitungseinheiten P0 bis P«,den Drucker 26., denKartenOeser^aiEr 24/25 und die Lese-Schreib-Einrichtung 603. Das Hauptsteuerwerk 601 bewirkt die Zuordnung von Programmeinheiten zu den Datenverarbeitungseinheiten einschließlich der Zentraleinheit, und es führt-die anfängliche Kopplung mit den externen Geräten.und die Überwachung.aller Prozesse aus.
Das Hauptsteuerwerk ist über Bereitschaftswarteschlangen und Bedienungsaufruf verarbeitungswarteschlangen 6D7 mit dem KommandoSteuerwerk 6O3averbunden. Das Hauptsteuerwerk 601 ist über Aufgabaverarbeitungswarteschlangen 611 und über Aufgabensteuerungsbereitschaftswarteschlangen dem Aufgabensteuerwerk 609 verbunden. Das Kommandosteuerwerk 6O3aist über die Kommandoverarbeitungswarteschlangen 615 und die Kommandosteuerungsbereitschaftswarteschlangen mit dem Aufgabensteuerwerk 609 verbunden. Über eine Nachrichtenübertragungsbereichskette 621 ist das Hauptsteuerwerk 601 mit dem Endgerätekanal-Steuerwerk.619 ' verbunden. Das Aufgabensteuerwerk 609 ist mit dem Endgerätekanal-Steuerwerk 619 über die Datenübertragungsbereichskette 621 verbunden. Das Aufgabensteuerwerk 609 ist über Ein/Ausgabe-Plattenverarbeitungswarteschlangen 625 und Ein/Ausgabe-Plattenvollendungswarteschlangen 627 mit dem Plattensteuerwerk 623 verbunden. Das Plattensteuerwerk 623 ist über eine Datenübertragungsbereichskette 629 mit dem Plattenkanalsteuerwerk 36averbunden. Das Plattenkanalsteuerwerk 3Sp steht über die Datenübertragungsbereichskette 631 mit dem Plattensteuerwerk 623 in Verbindung. ·
309812/1 124
Das Kommandosteuerwerk sorgt für die Zuordnung der Jobs und der Kommandos Innerhalb des Jobs. Es sorgt für die Zuweisung von Plattenspeicherplatz. Das Kommandosteuerwerk steuert den Arbeitsfluß durch Auslösung von Kommandos und durch Weitergabe von Arbeit zum Aufgabensteuerwerk für die Ausführung.
Das Aufgabensteuerwerk sorgt -für die Zuordnung einzelner Aufgaben und Schritte der Zentraleinheit innerhalb eines Ausführungskommandos. Es bewirkt die Zuweisung des Zentralspeichers. Das Aufgabensteuerwerk transportiert Platten-Ein/Ausgabe-Anforderungen zum Ein/Ausgabe-Plattensteuerwerk. Das Aufgabensteuerwerk transportiert Aufgaben und Programme der Zentraleinheit zum Hauptsteuerwerk für die Zuweisung zu Datenverarbeitungseinheiten.
Eln/Ausgabe-Plattensteuerwerk
Das Ein/Ausgabe-Plattensteuerwerk wirkt als Kopplungseinrichtung mit dem Hardware-Kanalsteuerwerk. Das 'Ein/Ausgabe-Plattensteuerwerk behandelt alle Plattenanforderungen so, daß die effektive Kanalbandbreite optimiert wird.
Die hier beschriebene Datenverarbeitungsanlage ist eine Mehrprozessoranlage. In der Anlage sind neun verschiedene Datenverarbeitungsanheiten mit einer Zentraleinheit und acht virtuellen Datenverarbeitungseinheiten vorhanden. Somit sind tatsächlich neun unabhängige Datenverarbeitungseinheiten in der Anlage enthalten. In der Anlage gibt es vier Steuerfunktionen, die in einer Steuerungehierarchie vorliegen. Vier der virtuellen Datenverarbeitungseinheiten sind den Steuerfunktionen zugeordnet.
30981 2/1124
Alle neun Datenverarbeitungseinheiten haben auf viele Datenspeicherplätze im Zentralspeicher Zugriff* Somit gibt es eine Zugriffsmöglichkeit mit einer identischen Adresse. Überdies hat jede Datenverarbeitungseinheit Zugriff .auf die Übertragungsregisterdatei.
In der Datenverarbeitungsanlage sind vier Steuerwerke enthalten, nämlich das Hauptsteuerwerk, das Kommandosteuerwerk, das Aufgabensteuerwer.k und das Platten-Ein/Ausgabe-Steuerwerk. '-
Das KommandoSteuerwerk bewirkt eine Zuordnung von Gruppen von Kommandofolgen zu Gruppen von Aufgaben.der Datenverarbeitungseinheiten. Das Aufgabensteuerwerk bestimmt die auszuführende Aufgabe, beispielsweise das
Sammeln von Nachrichteninhalten u.dgl. Das Hauptsteuerwerk entscheidet, welche Datenverarbeitungseinheiten die Arbeiten ausführen. Das Platten-Ein/Ausgabe-Steuerwerk steuert die Übertragung von Daten zwischen den Platten und dem Zentralspeicher.
Das hier beschriebene Steuerwerk weicht insofern von vorhergehenden Datenverarbeitungsanlagen ab, als nicht vier verschiedene unabhängige Steuerwerke in der Anlage, sondern vier in einer Steuerhierarchie angeordnete Steuerwerke vorhanden sind.
Hauptsteuerwerk
Das Hauptsteuerwerk führt folgende Funktionen aus;
(1) Es sorgt für die Software-Steuerung der Verwendung der virtuellen Datenverarbeitungseinheiten und der Zentraleinheit
(2) Es spricht auf asynchrone Signale von föripheriegeräten und auf digitale Dialogübertragungen zwischen Endgeräten an. 309812/112Λ
(3) Es überwacht die Systemfehlerverarbeitung.
(4) Es bewirkt die Ureingabe und die Auslösung der Anlage·
Es ist ein Kern vorhanden, der die Hauptabrufschleife des HauptSteuerwerksbildet. Die Hauptabrufschleife des Hauptsteuerwerks reagiert auf Gerätebereitschaftssignale, damit eine ausreichende Steuerung der virtuellen Datenverarbeitungseinheit, des Leitwerks, der Peripheriegeräte und der Endgeräte entsteht. Der Hauptanteil der ,Arbeit desHauptSteuerwerks wird in einer zugewiesenen virtuellen Datenverarbeitungseinheit zur Erzielung einer schnellen Ansprechzeit ausgelöst. Diese zugewiesene oder nicht ausgewählte virtuelle Datenverarbeitungseinheit kann als die virtuelle Datenyerarbeitungseinheit des Hauptsteuerwerks bezeichnet werden, und sie ist von den acht virtuellen Datenverarbeitungseinheiten keine solche Einheit, die dem Kern des HauptSteuerwerks zugewiesen ist.
Benützung der virtuellen Datenverarbeitungseinheiten;
Das HauptSteuerwerk führt vier Benutzungsarten und Steuerfunktionen der virtuellen Datenverarbeitungseinheiten aus. Diese Funktionen sind vorgesehen für :
(1) Die Zuordnung einer virtuellen Datenverarbeitungseinheit zu einer Systemaufgabe,
(2) die Zuweisung einer virtuellen Datenverarbeitungseinheit für eine Hauptsteuerwerkarbeit (Teilprozess),
(3) die Steuerung der virtuellen Datenverarbeitungseinheiten durch eine Bedienungseinheit ( die Bedienungsschleife für die virtuellen Datenverarbeitungseinheiten) des Hauptsteuerwerks , und · Λ - „
309812/1124
(4) die Herausnahme einer aktiven Aufgabe aus der Ausführung durch die virtuelle Datenverarbeitungseinheit ( festhalten
(trapping )). ..-.■'■·.
Bedienungsschleife der virtuellen Datenverarbeitungseinheiten;
Im Hauptsteuerwerk ist eine Bedienungsschleifeneinheit für virtuelle Datenverarbeitungseinheiten vorhanden, die die nicht ausgewählten virtuellen Datenverarbeitungseinheiten steuert. Die nicht ausgewählten, virtuellen Daten*-' Verarbeitungeeinheiten treten zur Ausführung einer Bedienungsschleife des Hauptsteuerwerks ein, nachdem folgende Vorgänge vollendet sind:
(1) ein Standardsystemaufruf (SCALL) von einer Aufgabe,
(2) die Ausführung einer Aufgabe durch eine virtuelle batenverarbeitungseinheit,
(3) Vorranggabe einer Aufgabe zur Ausführung und
(4) einen Hauptsteuerwerk-Teilprozeß.
Es wird auch eine Steuerung auf die nicht ausgewählten virtuellen Datenverarbeitungseinheiten während der Ausführung einer Hauptsteuerwerk-Bedienungsschleife zu einer Ergebnisanzeige in der Übertragungsregisterdatei ausgeübt. Dies wird durch jeden logischen Unterbrechungspunkt in der Ausführung der Bedienungsschleife der virtuellen Datenverarbeitungseinheit ausgeführt, wobei die nicht ausgewählten virtuellen Datenverarbeitungseinheiten die Ergebnisanzeige prüfen und feststellen, ob diese nicht ausgewählte virtuelle Datenverarbeitungseinheit über die Leerlaufschleife des Festwertspeichers ROM
309812/1124
idem Hauptsteuerwerk berichtaisoll. Die Ergebnisanzeigen · in der Übertragungsregisterdatei sind eine Einrichtung, mit der eine virtuelle Datenverarbeitungseinheit während der Ausführung einer Bedienungsschleife unterbrochen werden kann, so daß das Hauptsteuerwerk die nicht ausgewählte virtuelle Datenverarbeitungseinheit für besondere Zwecke verwenden kann.
Die nicht ausgewählten virtuellen Datenverarbeitungseinheiten berichten an eine ROM-Leerlaufschleife, wenn , "eine nicht ausgewählte virtuelle Datenverarbeitungseinheit in der Bedienungsschleife eine Aufgabenverarbeitung feststellt, und wenn die Teilprozess-Zuord^- nungi.isten leer sind. Die ROM-Leerlauf schleife zeigt dem Hauptsteuerwerk an, daß die nicht ausgewählten virtuellen Datenverarbeitungseinheiten unbesetzt sind und für Zeitplanungsarbeit zur Verfügung stehen.
Festhalten von virtuellen Datenverarbeitungseinheiten
Das Hauptsteuerwerk kann eine Steuerung über eine Virtuelle Datenverarbeitungseinheit während der Ausführung einer Aufgabe durch Festhalten ausüben, d.h. durch Herausnahme einer aktiven Arbeit aus der Ausführung durch die virtuelle Datenverarbeitungseinheit (aus einer gegebenen virtuellen Datenverarbeitungseinheit für die Verwendung durch das HauptSteuerwerk). Das Festhalten wird durch die Einstellung von Bits der Übertragungsregisterdatei erzielt, auf die die fö'ipherieverarbeitungs-Hardware anspricht, und die virtuelle Datenverarbeitungseinheit wird an einem Festwertspeicherplatz festgehalten,wo die Steuerung zur Bedienungsschleife des Hauptsteuerwerks \ zurückgeführt wird.
OWQINAL INSPECTED
309812/1124
Das Festhalten. wird auf der Aufgabenstufe erzielt.Die gesamte Zustandsinformation der festgehaltenen Platte wird in der Aufgabenparametertabelle aufbewahrt, und der Aufgabseintrag erfolgt an der Spitze der Aufgabenverarbeitungsliste mit hoher Priorität. Die Anbringung in der Aufgabenverarbeitungsliste ermöglicht die Aufhebung der Zuordnung- - einer Aufgabe für die Ausführung in der nächsten verfügbaren virtuellen Datenverarbeitungseinheit«
Teilprozesse;
Teilprozesse werden ausgelöst, damit am Hauptsteuerwerk geforderte Systembedienungsvorgänge ausgeführt werden. Durch Definition ist ein Teilprpzeß'ein Bestandteil des Hauptsteuerwerks, der einen notwendigen Bedienungsvorgang durchführt, und in einer nicht ausgewählten virtuellen Datenverarbeitungseinheit arbeitet. Teilprozesse teilen sich eine gemeinsame Datenbasis mit dem Kern des Hauptsteuerwerks. Die TeilprozeßZuordnung ist insofern ein Parameter der Systemgenerierung, als einige Teilprozesse für die Verarbeitung durch nicht ausgewählte virtuelle Datenverarbeitungseinheiten eingeplant oder nicht eingeplant werden können.
Die Teilprozeß- Zuordnungs einheit des Hauptsteuerwerks bestimmt die Reihenfolge, in der die Teilprozesse ausgeführt werden sollen. Die Bedienungsschleife der virtuellen Datenverarbeitungseinheiten löst die Teilprozesse nach der Feststellung der Eintragungen in der Teilprozeß-Zuordnungsliste aus .Folgende Teilprozesse werden von der Teilprozeß-Zuordnungseinheit der Zuordnung unterworfen:
(1) Verarbeitungen des Übertragungsbereichs der Eridgeräte-Ein/Ausgabe,
(2) Zeitgeber-Röhren-VerarbeitungseinheitCtime-tube-frocessor)
309812/1124
(3) Fehlerbearbeitimg,
(4) Verarbeitung von Endgeräte-Ein/Ausgaben,
(5) Ausführungsinformationsselektive Verarbeitung,
(6) Gerätebereitschaftsverarbeitung,
(7) Leitwerksteuerung und
(8) Verarbeitung der Hauptsteuerwerkübertragungsliste.
Zuordnung von virtuellen Datenverarbeitungseinheiten zur Durchführung von Aufgaben:
Systemaufgaben werden dem Hauptsteuerwerk an einer von zwei Prioritätsaufgaben-Prioritätsverarbeitungslitten für die.Zuordnung virtueller Datenverarbeitungseinheiten eingegeben. Wenn eine Aufgabe für die Durchführung durch eine virtuelle Datenverarbeitungseinheit ausgewählt ist, wird der Aufgabeneintrag aus der Aufgabenverarbeitungsliste herausgenommen und dann für die Ausführung bestimmt. Vor der Aufgabenausführung bildet das HauptSteuerwerk Tabelleneintragungen, die auf einen Aufgabeneintrag und eine Aufgabenparametertabelle für aktive Aufgaben hinweist; das HauptSteuerwerk lädt dabei einen Grundprogrammzähler und eine Registerdatei für die virtuellen Datenverarbeitungseinheiten. Der Grundprogrammzäier und die Registerdatei sind beide in der Aufgabenverarbeitungsliste enthalten.Die Steuerung der virtuellen Datenverarbeitungseinheit geht dann auf die Aufgabe zu deren Ausführung über.
Die Zeit, in der in der virtuellen Datenverarbeitungseinheit eine Aufgabe ausgeführt werden kann, wird vom Hauptsteuerwerk gesteuert. Eine virtuella tiatenver-
309812/1124
arbeitungseinheit, die bei der Ausführung in eine endlose Programmschleife eintritt, wird vom Haupt Steuerwerk festgestellt und aus dem Ausführungsablauf entfernt. ,Das Haupt Steuerwerk "bedient auch Anforderungen von der Aufgabenausführung in der virtuellen Datenverarbeitungseinheit zum Rücksetzen der Übertragungsregisterdatei oder des Zentralspeicherschutzes, wenn es erforderlich ist. Eine Aufgabe wird nach Vollendung der Ausführung durch eine virtuelle Datenverarbeitungseinheit vom Haupt Steuerwerk nachverarbeitet. Diese TTadi verarbeitung . ....
kann als Auigabenabwicklungbezeichnet werden.
Nach der Ausführung der Aufgabe werden der Gruiidprogrammzähler und die Register der virtuellen Datenverarbeitungseinheit für die Aufgabe in der Aufgabenparametertabelle aufbewahrt. Die Aufgabenparametertabelle wird aus der Adressenliste der Aufgabenparametertabelle herausgenommen, und der Aufgabeneintrag wird aus der Liste der aktiven Aufgaben herausgenommen. Der Aufgabeneintrag wird in die Varteschlange für die vollendete Aufgabe für die Abwicklung der Aufgabe durch das Aufgabensteuerwerk eingereiht, und die Steuerung geht wieder auf die.Bedienungsschleife der virtuellen Datenverarbeitungseinheit über.
Benutzung der Zentraleinheit .
Die Benutzung der Zentraleinheit durch das · Hauptsteuerwerk erfolgt durch die folgenden Vorgängej ·
(1) Die Zuordnung der Zentraleinheit zu Zentraleinheitsschritten
(2) Das Ansprechen auf Zentraleinheite-Bedienungsaurufe unter Durchführung der Bedienung und
(3) Steuerung der Zentraleinheit
3098 12/1124
Dae HauptSteuerwerk übt die Steuerung über die Hardware-Logik der Zentraleinheit aus, die notwendig tit> UiB das Programm der Zentraleinheit zur Ausführung zu "bringen. Die Zuordnung wird dadurch erzielt, d'aß Eintragungen von der Ausführungsliste der Zentraleinheit herausgenommen werden, und daß die Adresse des Programm in ein atigewiesenes Wort eingegeben wird, das die Hardware veranlaßt, mit der Ausführung des-Programms zu beginnen.
Das Hauptsteuerwerk bedient die Zentraleinheit für Gefügeschaltvorgänge, die von einem Schritt der Zentraleinheit durch einen Überwachungsaufruf und teinen Wartebefehl ausgehen. Das Ge füge schalten ist der Hardware-Me ο hand, smus zur Entfernung der Zentraleinheit aus der Aueführungsphase und zur Sicherung der dem Zentraleinheitsechritt zugeordneten Zustände.
Ein Zentraleinheitsschritt führt zur Abgabe eines Bedienungsaufrufs (wobei der Schritt mit oder ohne Gefügeschalten erfolgen kann), der dem Haupt Steuerwerk durch die tfbertragungQ-regist.er anzeigt, daß der Zentraleinheitsschritt Systembedienungen erfordert. Das HauptSteuerwerk unterbricht den Bedienung sauf ruf und bildet einen Bedienungsaufrufeintrag für die Übermittelung der zur Verarbeitung notwendigen Information zum KommandoSteuerwerk.
Gefügeschaltvorgänge der Zentraleinheit können vom Hauptsteuerwerk erzwungen werden, wenn ein Schritt mit höherer Priorität die Zuweisung zu einer unmittelbaren Zentraleinheit sausführung erfordert. Prioritätsschritte können auch aus der Ausführung gezwungen werden, wenn sie eine gegebene Zeitgrenze überschritten haben, oder wenn eine Zeitteilung
3098 12/1124
der Zentraleinheit erfolgen soll. Der Zentraleinheitsschritt erfolgt normalerweise mit automatischem Gefügeschalten durch die Hardware zur Sehritfbeendigung. Wenn jedoch keine Zentraleinheitsschritte auf die Ausführung durch die Zentraleinheit warten, zwingt das HauptSteuerwerk einen Zentraleinheitsschritt aus der Ausführungsphase durch die Verwendung der Wartungs-Hardware zur Schritfbeendigung. Das HauptSteuerwerk zwingt auch Zentraleinheitsschritte in die Ausführungsphase durch die Verwendung der Wartungs- Hardware der-Zen- ■ traleinheit. ·
Das Haupt Steuerwerk überwacht die Peripheriegeräte ("beispielsweise Bandgeräte, Drucker, Stanzer, Endgeräte) auf 'Bereitschaft über die Übertragungsregisterdatei. Die Eingabe informationen von diesen Peripheriegeräten und die Aus-, gangssteuersignale zu diesen Geräten laufen über die Übertragungsregisterdätei. Als Antwort auf asynchrone Signale von Peripheriegeräten bildet das Hauptsteuerwerk einen Bedienungsanforderungseintrag, der ein.Bild der Gerätebereitschaftsbits für das KommandoSteuerwerk zur Analyse enthält. Diese Eintragungen werden dann vom KommandoSteuerwerk zur Auslösung geeigneter Kommandos für die Verarbeitung der Geräte verwendet.
Das Hauptsteuerwerk spricht auf das digitale Übertragungsendgerät in zweifacher Weise an:
(1) Das Haupt st eiierwerk überwacht Signale (Übertragungsregisterbits), die anzeigen, daß eine' Eingangsnachricht von einem Endgerät eine Übertragung auf das arbeitende System erfordert. Wenn das entsprechende Übertragungsregisterbit gesetzt ist, wird ein Übertragungsbereich zur
BAD ORIGINAL 309812/1124
Eingabe an die Übertragungsbereichskette mit hoher Priorität des Endgerätekanalsteuerwerks angeschlossen.
(2) Das Hauptsteuerwerk überwacht die Übertragung von vollständigen Übertragungsbereichen in die Endgerätekanalliste mit hoher Priorität. Wenn eine vollständige Nachricht festgestellt worden ist, wird sie aus der Endgerätekanalliste mit hoher Priorität herausgenommen und für eine Analyse und eine nachfolgende Verarbeitung zum KommandoSteuerwerk weitergegeben. Das HauptSteuerwerk gibt auch Ausgangsnachrichten vom KommandoSteuerwerk in die Endgerätekanalliste mit hoher Priorität ein, die Übertragungen zum Endgerätewort darstellen.
Das Hauptsteuerwerk ist mit den Peripheriegeräten, der Peripherieverarbeitungseinheit, der Zentraleinheit und den Endgerätekanalsteuerwerken zur Zentralregisterdatei gekoppelt. Information kann von neuen Geräten eingegeben werden, und Steuersignale können durch diese Geräte aus der Übertragungsregisterdatei ausgegeben werden.
Sonderfunktionen:
Fehlerverarbeitung:
Das HauptSteuerwerk überwacht die Sydtemfehlerverarbeitung dadurch, daß es ein in der Übertragungsregisterdatei gesetztes Systemfehlerbit feststellt. Die Systemfehlerbits werden von der Systemsteuereinheit durch Aufgaben gesetzt.
V/enn ein Fehler festgestellt wird, löst das HauptSteuerwerk die notwendigen Programme zur Vorarbeitung des Fehlers aus. Wenn ein Fehler schwer genug ist, kann das Haupt-
30 8 812/1124 BAD 0RIGfNAl-
Steuerwerk den zum Abschalten des Systems notwendigen Schritt unternehmen. Bei dem Systemabschalten kann es sich entweder um (1) ein ordentliches Abschalten oder (2) ein überstürztes Abschalten.handeln. ,
Das HauptSteuerwerk ist für das Ursprungssystemladen verantwortlich. Die Ursprungssystemladevorgänge bestehen darin, daß das System mit dem TJreingabeprogramm gespeist wird, das anschließend alle Systemeinheiten initialisiert werden, und daß das System auf die Arbeitsstufe gebrachtwird.
Haup t s t e u e rwe rk sub erprüfung;
Das HauptSteuerwerk sorgt für Sonderfunktionen zur Hauptsteuerwerksüberprüfung. Eine besondere Kontrolle der virtuellen Datenverarbeitungseinheiten wird durch eine Probeaufgabe ermöglicht, die die Ausführung vollendet, so daß alle anderen zu diesem Zeitpunkt im Probebetrieb arbeitenden virtuellen Datenverarbeitungseinheiten angehalten -werden. Die Benutzer der HauptSteuerwerksüberprüfung, können dann die Beziehung zwischen einer oder mehreren virtuellen Datenverarbeitungseinheiten bei einer simultanen Ausübung untersuchen.
Au sf ührung vA at en Sammlung:
Das HauptSteuerwerk sorgt für Sonderfunktionen zur Durchführung der Sammlung von Ausführungsdaten. Das Hauptsteuerwerk stellt in besonderen Ausführungsdatensammlungspuffern Zuordnungs- und Verarbeitungsdaten sicher, die zur Systembewertung verwendet werden.
3 0 9 812/1 12 A
Das HauptSteuerwerk sorgt auch für eine besondere Kopplung zur Auslösung des Schritts der Zentraleinheit zur Ausführungsdatensammlung, der Betriebssystemdatensammelpuffer leert und verarbeitet.
Aufbau des HauptSteuerwerke (nach Fig. S):
Der Kern des HauptSteuerwerks arbeitet an einer ausgewählten virtuellen Datenverarbeitungseinheit, die aus drei Hauptbestandteilen besteht. Diese Bestandteile sind;
(1) die Hauptabrufschleife,
(2) der Teilprozeßzuordner und
(3) die Peripherieverarbeitungs-Steuereinheit.
Diese drei Bestandteile benutzen gemeinsam verschiedene Tabellen, und sie weisen eine gemeinsame Datengrundstruktur auf. Der Kern des HauptSteuerwerks überwacht die Übertragungsregisterdatei, damit Verbindungen mit den virtuellen Datenverarbeitungsgeräten, der Zentraleinheit, der Peripheriegeräte und dem Endgerätekanal aufgenommen werden können.
Hauptabrufschleife:
Die Hauptabrufschleife des Hauptsteuerwerks überwacht von außen kommende Anforderungen. Wenn'ein Signal für eine Tätigkeit des HauptSteuerwerks festgestellt worden ist, löst die Hauptabrufschleife eine entsprechende Aktion aus. Zur Einleitung der Anforderung übergibt
30981
die Hauptabrufschleife die Steuerung an die Peripherieverarbei'tungs Steuereinheit oder an den Teilprozeßzuordner in der ausgewählten virtuellen Datenverarbeitungseinheit.
Wenn die Hauptabrufschleife feststellt, daß die Ausführung eines Teilprozesses gefordert wird, v/ird die Steuerung an den Teilprozeßzuordner übergeben. Der Teilprozeßzuordner kann die Steuerung an den geforderten Teilprozeß übergeben, wenn die Hauptsteuerwerks-Auswahlzuordnung einer virtuellen Datenverarbeitungseinheit gefordert wird. Die Zuordnung ist zeitabhängig, dann übergibt der Teilprozeßzuordner die Steuerung an die Peripherieverarbeitungssteuereinheit zur unmittelbaren Zuordnung einer virtuellen Datenverarbeitungseinheit. Wenn der Teilprozeß nicht zeitabhängig ist und wenn keine virtuelle Datenverarbeitungseinheit verfügbar ist, dann bewirkt der Teilprozeßzuordner eine Eintragung in einer Tabelle, so daß der Teilprozeß von der nächsten verfügbaren virtuellen Datenverarbeitungseinheit ausgeführt v/ird. Fach der Zuordnung eines Teilprozesset wird die. Steuerung wiedexv an die Hauptabruf schleife des HauptSteuerwerks zurückgegeben. ".
Die Steuerung der Auswahl einer virtuellen Datenverarbeitungseinheit wird an die Peripherieverarbeitungssteuereinheit übergeben, wenn die Verfügbarkeitsübertragungsre~ gisterbits gesetzt sind. Diese Bits zeigen an, daß eine virtuelle Datenverarbeitungseinheit eine Bedienung durch die Peripherieverarbeitungssteuereinheit benötigt. Das Ursachenwort zeigt der Peripherieverarbeitungsateuereinheit den Zustand der virtuellen Datenverarbeitungseinheit an.
BAD
308812/1124
Nach der Bedienung v/ird die Steuerung wieder an die Hauptabrufschleife des HauptSteuerwerks zurückgegeben.
Hauptabrufschleife;
Die Funktion der Hauptabrufschleife ist es, Signale von den verschiedenen Hardware-und Software-Bestandteilen festzustellen, für die dem HauptSteuerwerk die Betriebsverantwortung zugewiesen worden ist. Die Bestandteile und die zugehörigen überwachten Zustände können folgendermaßen zusammengefaßt werden:
Die Zentraleinheit v/ird überwacht auf:
(1) Gefüge schalten
(2) Anfangsschrittladen
(3) Schrittbeendigung und Entladen zur Schrittzeitteilung
(4) Schrittzeitgrenzensteuerung
(5) Schriffprioritätsüberschreitung
(6) Bedienungsaufrufverarbeitung und
(7) Systemfehlerverarbeitung.
Die Peripherieverarbeitungseinheiten werden auf die Verfügbarkeit von virtuellen Datenverarbeitungseinheiten und auf die Systemfehlerfectstellung überwacht.
Peripheriegeräte v/erden auf GerätebereitüchaftsEslgnale überwacht.
Die Systeinzeitgeberliste v/ird auf eine Li Zeitüberschreitung überwacht.
SAD OHlGlNAL
309812/1124
Der Endgerätekanal wird überwacht auf:
(1) Übertragungsfehlerbeendigungen, · '
(2) Eingabenachrichtenanforderungen,
(3) Ausgabenachrichtenanforderungen und
(4) SystemfehlerfestStellungen.
Systemaufgaben werden überwacht auf:
(1) geschützte Ühertragungsregisterzugriffsanforderungen,
(2) geschützte Zenträlspeicherzugriffsanforderungen,
(3) Systemfehlerverarbeitung und
(4) Ausführungszeitsteuerung.
Der HauptSteuerwerksüberprüfungsbestandteil wird auf besondere Steueranforderungen der-virtuellen Datenver-'arbeitungseinheiten überwacht. ,
Die Teilprozeßzuordnung kann durch Einrichten einer Zeitgrenzensteuerung gesteuert werden.
Teilprozeßzuordner:
Die Punktion des Teilprozeßzuordners besteht darin, die' Ausführung von Teilprozesaen in Abhängigkeit von Bedienungsanforderungen, die von der Hauptaörufschleife festgestellt -werden, zuzuordnen. Eine Zuordnungstabelle steuert die Art und Weise, wie· ein bestimmter· Teilprozeß zugeordnet wird. Diese von einer zuordnenden Tabelle.
(SYSGEW) ausgelöste Tabelle ermöglicht vier Arten der
Zuordnung:
BAD ORIGINAL
3098 12/1124
224395Ö
(1) Nur Auswahl einer virtuellen Datenverarbeitungseinheit
(2) verfügbare virtuelle Datenverarbeitungseinheit oder unmittelbare Auswahl einer virtuellen Datenverarbeitungseinheit
(3) verfügbare virtuelle Datenverarbeitungseinheit oder festgehaltene virtuelle Datenverarbeitungseinheit,
(4) nächste virtuelle Datenverarbeitungseinheit wird verfügbar.
Teilprozesse, die zur Ausführung einer virtuellen Datenverarbeitungseinheit zugeordnet werden, die nicht die vom HauptSteuerwerk ausgewählte virtuelle Datenverarbeitung ist, können in eine Warteschlange leingereiht werden, während sie 'warten, bis eine virtuelle Datenverarbeitungseinheit verfügbar wird.
Peri"Dherieverarbeitun^3steuereinheit:
Die Funktion der Peripherieverarbeitungssteuereinheit besteht darin, Anforderungen zu bedienen, die der Peripher jeverarbeitungsüinheit zugeordnet sind. Diese Anforderungen enthalten:
(1) geschützte Übertragungsregisterzugriffsanforderungen,
(2) geschützte Zentralspeicherzugriffsanforderungen,
(3) Zuordnungen von verfügbaren virtuellen Datenverarbeitungseinheiten und
(4) Steuerung einer virtuellen Datenverarbeitungseinheit durch die HauptSteuerwerksüberprüfung.
30981 ?/1 1 2A
Diese Anforderungen werden von nicht gewählten virtuellen Datenverarbeitungseinheiten über Übertragungsregisterbits gemeldet, die jeder virtuellen Datenverarbeitungseinheit und einem Oktett des zugewiesenen Zentralspeichers zugeordnet sind. Eine virtuelle Datenverarbeitungseinheit, die eine Bedienung erfordert, sendet ihr Übertragungsregisterbit, das sogenannte slave-to-master-Bit aus, das anzeigt, daß sie eine slave-to-master-Ursache im zugewiesenen Oktett des Zentralspeichers gespeichert hat. Auf diese Ursache im zugewiesenen Oktett des Zentralspeichers hat die Peripherieverarbeitungssteuei-einheit einen Zugriff ausgeübt, wenn die entsprechende Aktion unternommen wird.
Kommandosteuerwerk:
Das Kommandosteuerwerk ist das Steuerwerk des Datenverarbeitungssystems, das für die Zuordnungsvorgänge verantwortlich ist.. Diese Vorgänge umfassen das Zuordnen von Jobs, die aus Stapelverarbeitungsjobs, Endgerätejobs oder Fernstapelverarbeitungsjobs bestehen können. Fernstapelverarbeitungsjobs werden ebenso wie Stapelverarbeitungsjobs mit Ausnahme der Anordnung der Daten behandelt. Das ICommandosteuerwerk analysiert seine Bedieiiungsanf orderungen, um den Hilfoeinrichtungsbedarf .festzustellen, und es führt dann die Zuordnung der Ausführung der Bedienungsanforderungen aus.
Bei dem Vorgang der Zuordnung der Ausführung von Bedienungsanforderungen behandelt das Kommandosteuer-
BAD ORIGINAL
309812/ 1 124
werk die Reservierung von zwei Hilfseinrichtungen, nämlich der Platte und des Zentralspeichers. Das KommandoSteuerwerk führt eine effektive Zuordnung vom Plattenspeicherplatz aus, doch entscheidet es nicht tatsächlich, welcher räumliche Abschnitt einer Platte einem Job oder einer Aufgabe zugeordnet wird. Die Zuordnung von Plattenspeicherplatz erfolgt durch ein Kommando, das vom KommandoSteuerwerk ausgelöst wird. Das KommandoSteuerwerk überprüft den Umfang des Plattenspeicherplatzes, den ein Kommando benutzen wird, ehe das Kommando· mit der Ausführung beginnt.
Das Kommandosteuerwerk läßt den Be«ginn der Ausführung nicht zu, wenn das Kommando mehr Tlattenspeicherplatz erfordert, als verfügbar ist. Somit entscheidet das Kommandosteuerwerk nicht die tatsächliche räumliche Zuordnung vom Plattenspeicherplatz, sondern es entscheidet über den Umfang der Zuordnung.
Zur Durchführung der Jobausführungsfunktionen interpretiert das Kommandos teuerwerk die Gesaurtdatei der Jobspezifikationssprache (IJSI), und es steuert die Endgerüte derart, daß bestimmt wird, welchem Endgerät der Anschluß an das System erlaubt wird, oder welche nachrichten zu einer gegebenen Zeit angenommen werden.
Die Hauptverantwortung des Kommandosteuerwex'ks besteht darin, die Systeiahilf seinrichtungen zu steuern und zu gewährleisten, daß das System die Benutzung dieser Hilfseinrichtung optimiert. Das KommandonteuoT.'wcr1: erLemit alle Kommandobeendigungen. Das Ko:n:aandosteucrv;erk hat die Jobstufeninformation, die ζην Zuordnung von Job?, benötigt wird. Dar, Koiiujaidootoue vv/orl: k.nin lloriiniMi'hi;;,
BAD ORIGINAL
0 9 0 1 2 / 1 ! ' \
die dem "bestimmten Job zugeordnet sind, eine höhere Priorität verleihen, -wenn versucht wird, den Durchlauf dieses Jobs zu "beschleunigen.
J ο "b ν ο r arh e 31 υ η r:;;
Das KommandoSteuerwerk ist für die Zuordnung der verschiedenen Stufen der Jobverarbeitung verantwortlich. Diese Stufen sind
(1) Einleitung ■
(2) Übersetzung der Jobspezifikationsspraehe
(3) Vorvera.rbeitung
(4) Ausführung und -.
(5) Beendigung.
Das Kommandosteuerwerk löst den> Leser der Jobeingabefolge aus, der der Bestandteil des Systems ist, der die Jobs von einer externen Quelle aus in das System einführt. Für die Auslösung des- Lesers der Jobeingabefolge ist festgelegt, ob genügend Plattenspeicherplatz für' das Einlesen der Quellenjobs zur Verfugung steht.
In der Jobeinleitung ist die Steuerung von Pernstapelverarbeitungsjobs für die Endgeräte enthalten. Das Kommandostcuerwork bestimmt die Art des Geräts (beispielsweise Kurvenmesser, Bandantriebe, Platte), das als Jobeingabevorrichtung verwendet werden soll.
Venn Jobn .im Quell cn zu st und vorliegen, entscheidet das r.oTnniiKloctijUcrv/ork, welche Jobs und zu welchem Zeitpunkt Jobs voi.i Über nutzer für die Jobspczlfdkationssprache übornetrrl v-orden müssen. Der Übersetzer für die Job-
■3098 1?/11?4
Spezifikationssprache wird für die Quellenjobs ausgelöst, die verfügbar sind, wenn die Platte für die interne Jobspezifikationsdatei verfügbar wird. Der Übersetzer der Jobspezifikationssprache -nimmt die Primäranweisungen der Jobspezifikationssprache und erzeugt eine interne Jobcpezifikationssprachendatei. Die interne Jobspezifikationssprachendatei liegt in maschinenorientierter Form vor, die vom Datenverarbeitungssyetem leichter analysiert v/erden kann, als die Ursprungs;) obspezifikationssprache; wenn ein Syntaxfehler vorliegt, führt das KommandoSteuerwerk eine Ausführungszuordnung des Jobs aus.
Hachdcm der Job übersetzt worden ist, entscheidet das !Command ο Steuerwerk, welche Jobs übersetzt worden sind, so daß die Vorverarbeitung eingeleitet werden kann. Zur Peststellung, bei welchen Jobs die Vorverarbeitung eingeleitet werden, kann, muß das Kommando Steuerwerk sicherstellen, daß alle zum Starten der Jobausführung benötigten Hilfseinrichtungen, beispielsweise Kataloge, besondere Bandspulen und andere Hilfseinrichtungen verfügbar sind.
Das KommandoSteuerwerk prüft die Jobparameter der internen Jobspezifikationssprache darauf, wieviel Datenspeicherplatz, Zentralspeicherplatz und Verarbeitungszeit für den Job erforderlich sind. Aufgrund dieser Prüfung; die bestimmt, welche Hilfseinrichtungen verfügbar und welche erforderlich sind, entscheidet das KommandoSteuerwerk, ob der Job laufen oder darauf warten soll, bis mehrere Hilfseinrichtungen verfügbar sind, (wobei der Bedarf an Plattenspeicherplatz üblicherweise die Hauptüberlegung bei der Bestimmung ist, ob der Job ablaufen oder warten soll).
309812/112« BADOR1G1NAL
~ 61 -
Wenn sich ein Job in der Vorverarbeitungsphase befindet, wird jede Kommandofolge in der Vor verar.be itungsf unkt ion zugeordnet. Das KommandoSteuerwerk entscheidet dann, welche derjenigen Jobs, die vorverarbeitet worden sind, der Ausführung zugeordnet werden. Während der eigentlichen Jobausführung wird der Zuordnungsvorgang komplizierter, und das KommandoSteuerwerk muß den Speicher- und Plattenbedarf für jeden Jobschritt ausgleichen. Ein Job kann Anweisungen in der Jobspezifikationssprache ausführen-, die den Plattenbedarf in verschiedenen Stufen innerhalb der Jobausführung erhöhen oder erniedrigen. Das KommandoSteuerwerk berücksichtigt dies während der Zu-Ordnung der Jobausführung.
Das KommandoSteuerwerk ist, für die Jobbeendiguiig verantwortlich. Dieser Vorgang wird im KommandoSteuerwerk durch eine Jobbeendigungskommandofolge erzielt, die das Schließen aller Dateien des Jobs, die Ausführung des Jobverrechnens und das Schicken der Jobausgabe zum entsprechenden Platz umfaßt.
Bei der Jobbeendigung schließt das Kommandosteuerwerk die Jobdatei, und es gibt den Speicher frei, den der bestimmte, nun'beendete Job während seiner Ausführung benutzt hat. Das Plauptzuordnungsproblem bei der Jobbeendigung besteht darin, alle während des Jobs erstellten Druckdateien verfügbar zu machen. Druckjobs können auf die Beendigung warten, wenn nicht genügend Drucker verfügbar sind. Eine Stapelausgabe könnte auch zu anderen lokalen Geräten für ein rechnerunabhängigeα Drucken (off-line-Drucken) geleitet v/erden. Fernstapelausgaben könnten am ursprünglichen 3ingabeeiidt,erät oder an einem anderen vom Job oder vom Operator zugeordneten Endgerät am Ort gedruckt werden. ■ __
3098 12/1124 bad
Kommandoverarbeitung;
Das Koramandosteuerwerk ist für die Zuordnung von Kommandos verantwortlich. Kommandos sind Folgen von Aufgaben, die vom Kommandosteuerwerk bestimmt werden, damit logische Unterbrechungspunkte im Hilfsmittelbedarf für Zuordnungszwecke geschaffen v/erden. Ein Kommando ist entweder ein Untersuchungskommando oder ein Ausführungs-"kommando. Ein Untersuchungskommando wird vom Kommandosteuerwerk ausgelöst, damit eine Zuordnungsinformation erhalten wird. Wenn ein' Untersuchungekommando feststellt, daß Hilfseinrichtungen zur Verfugung stehen, dann kann ein Ausführungskommando zur Durchführung einer geforderten Systembodienung eingeleitet werden.
Viele der Kommandos, die ein Komruiiido Steuerwerk zuordnet, sind von einem v/eiteren Zusammenhang unabhängig, d.h., daß sie eine GrundVerarbeitungsfunktion ausführen, doch wird diese A.rt von Funktion bei mehr als einer Art von Arbeit benötigt. (Eine Funktion, die Dateien öffnet, kann zur D?*teiverwaltung, zur Dateiein/Ausgabe und als Systembedienung verwendet v/erdon.)
Das Kommandosteuerwerk iot für die Vorbereitung von Kommandos zur Zuordnung verantwortlich. Für jede Komuandofolge im System ist in einer als Konnandofolgetabelle beesichüeten Tabelle ein Eintrag vorhanden, der die Komnavidos in der beistimmten Folge in der Reihenfolge bestimmt, Ln der dleoe Kommandos ablaufen. Außerdem definiert diese Tabelle "die Zusätze zu dem Kommando. Dar; Kon'iandosteuervrrk bestimmt in der Kommandofolgetabelle, welche Kommandoο in der FoI1 t zuzuordnen sind.
BAD ORIGINAL
3 O 9 R 1 V/ j I ') ζ/
Das Eommaiidosteuerwerk manipuliert die einem Kommando zugeordneten Datenstruktiiren. Die Tabelle der Standardkommandoparameter wird für das erste Kommando der Folge erstellt. Für ein "beendetes Kommando bestimmt das Kommandosteuerwerk, ob eine Kommandoparametertabelle des beendeten Kommandos freigegeben werden"soll, und ob eine neue Tabelle für das nächste Kommando der Folge erstellt werden soll. .
Von einem endenden Kommando kann eine Argumenttabeile durchlaufen oder nicht durchlaufen werden. Da die Kommandos in keinem weiteren Zusammenhang stehen, kann eine Argumenttabelle in einer Kommandofolge bei Verwendung eines bestimmten Kommandos durchlaufen werden und bei Verwendung des gleichen Kommandos in einer anderen Kommandofolge nicht durchlaufen werden. Die Kommandofolgetabelle gibt an, ob eine Argumenttabelle von einem bestimmten Kommando in der Folge durchlaufen wird.
ITach der Auswertung der Datenbeifügung eines Kommandos,bestimmt dasKommandosteuerwerk, ob das zuzuordnende Kommando ein nicht jederzeit verwendbares Kommando ist. Wenn das Koi.oma.ndo ein nicht jederzeit verwendbares Kommando ist und wenn alle diesem Kommando zügeordneten.Daten korrekt sind, dann wird der Kommandoeint'rag in eine Zuordnungsliste eingegeben.
Wenn ein Fouriando zugeordnet wird, wird der Kommandoeintrag für dieses Kommando in die Kommandoverarbeitungsliste eingegeben. Ein Aufgabeneintrag für die erste Aufgabe in dem durch das AufgabenSteuerwerk einzuleitenden Kommando
309812/1124 · BAD.ORIGINAL
, 64 -
wird vom KommandoSteuerwerk in die Aufgabenanforderungswarteschlange eingereiht.
Wenn ein Kommando die Ausführung "beendet, wird die Kommandobeendigung dadurch'eingeleitet, daß das Aufgabensteuerwerk den Komraandoeintrag für das Kommando in eine Bereitschaftsliste einreiht. Für StandardkoEiinandoauögänge wird die Kommandofolgetabelle abgefragt, und das nächste'Kommando in der Kommandofolge' wird zugeordnet.
Kommandofο Igeverarbeitung:
Das Kommandosteuerv/erk benutzt ein als Kommandofolge bezeichnetes, tabellenbetriebenes Implementierungoverfahren zur Steuerung der Ausführung von Kommandos, die zur Durchführung einer Anforderung erforderlich sind. Die Konmandofolgen führen verschiedene Arten von Aktivitäten dadurch aus, daß sie eine Folge von Sonderfunktionen (Kommandos) zur Durchführung einer' größeren globaleren Funktion bezeichnen. Es gibt folgende Beispiele von Systemfunktionen, die von den Kommandofolgen ausgeführt werden:
(1) Der interne Analysator der Jobspezifikationssprache, der ein Teil der Koinmandosteuerwerksaniorderungskoiiimanäofolgen zur Verarbeitung der xlrbeit ist, die in Anweisungen in dor Jobcpeisifikationssprache angegeben ist. Das ITauptSteuerwerk empfängt von der Zentraleinheit Bedienungsauf rufe, und er» gibt die Anforderungen an das !Γο:;πη:ι-doSteuerwerk waiter. Das Kommandosteuerwerk leitet dann el ie KonnanciofoT^o ein, die zur Analysicrung der Anforderungen
309812/1124
BAD ORIGINAL
■benötigt v/erden. Die PeripherieverarTDeItUrIgS-einheit, die die im on-line-33etrieb arbeitende Systemfehierbeseitigungseinheit ist, erzeugt Anforderungen für Kommandofolgen zur Behandlung der Operations zu saimrienwirkung mit den Überprüfungseinheiten der Peripherieverarbeitungseinlieit und der Zentraleinheit. Die Systemubertragungseinrichtung erzeugt Anforderungen zu Kommandofolgen zur Behandlung von Operatordialpgen, Streichungen vori. Jobs und Streichungen von "Sin/Ausgabeanforderungeii u. dgl. . . ' . '
BAD ORIGINAL
3 09812/1124
Die Kommandofolgen werden auch zur Analysierung und zur Verarbeitung von Endgeräteanforderungen durch das Kommando-Steuerwerk benutzt. Alle Kommandofolgen haben gewisse Beifügungen, beispielsweise Zentralspeicher- und Platten-Speicherplatzerfordernisse, die geschätzte Zahl der Ein/Ausgabeanforderungen und ein geschützten Zeitantoil, der zur Ausführung der Kommandofolgen erforderlich ist. An Hand dieser Beifügungen und an Hand der Jopfstufeninformation , auf die das Kommandosteuerv/erk Zugriff · hat, entscheidet das KommandoSteuerwerk, welche Kommandofolgen beginnen sollen. Jedes Kommando innerhalb einer Kommandofolge wird ebenfalls unter Zugrundlegung der gleichen Überlegungen zugeordnet, die auch für die Zuordnung der Kommandofolgen selbst maßgebend waren.
Kommandosteuerwerk-Unterprogramme;
Die. Kommandosteuerwerk-Unterprogramme gleichen funktionell Aufgaben, da ein Kommandosteuerwerk-Unterprogramni eine gewisse Codeeinheit oder eine gewisse Befehlsfolge wiedergibt. Die Kommandosteuerwerk-Unterprogramme v/erden jedoch tatsächlich in der dem Kommandosteuerk zugewiesenen virtuellen Datenverarfbeitungseinheit ausgeführt. Da das Kommandosteuerwerk Kommandos als Arbeitseinheiten auffaßt, haben die Kommandowerk-Unterprogramme die Datenstrukturen von Kommandostufen. D. h» , daß die Komraandosteuerwerk-Unterprogramme von einem Eintrag in der Kommandofolgetabelle aktiviert v/erden, und einen Kommandoeintrag und eine Kommandoparametertabelle aufweisen. Die Kommandoeteuerwerk-Unterprogramme führen unterschiedliche Funktionen für das Steuersystem aus.
Die erste Funktion besteht in einer folgeabhängigen Arbeit. D.h. daß an gewissen Punkten in einigen der Kommandofolgen
3 0 9 8 1 2 / 1 I 2 A
BAD ORIGINAL
eine Aufarbeitungstätigkeit ausgeführt wird. Es kann sein, daß die Datenstruktur manipuliert v/erden muß, oder daß eine Arbeit getan v/erden muß., die nicht einer Aufgabe delegiert werden kann. Es ist diese Art von Arbeit, die von einem Kommandowerk-Unterprogramm getan wird.
Der zweite Typ von Unterprogramm manipuliert Listen innerhalb des KommandoSteuerwerks. Kommandowerk-Unter-, programme, die Listen manipulieren, lösJn ein Sperrproblem. -.Wenn mehr als eine Baueinheit einen Zugriff auf eine Liste zum Hinzufügen oder Entfernen von Listeneintragungen ausübt, kann ein Sperrproblem auftreten. Die Kommandosteuerwerk-Unterprogramme lösen dieses Problem, da nur ein Unterprogramm in der dem Kömmandosteuerwerk zugewiesenen virtuellen Datenverarbeitungseinheit ausgeführt wird. ■
Die .Koramandowerk-Unterprogramme können auch dazu verwendet werden, die bei einer Kopplungsunverträglichkeit auftretenden Prob!eme zu,lösen, die infolge einer Fehlübertragung oder infolge vjqn unvorhergesebe nen Problemen im Entwurfstadium aufgetreten ist. So kann beispielsweise ein Kommandoparameter benötigen, die für die den Aufruf abgebenden Baueinheiten nicht verfügbar sind«, Das Kommandosteuerwerk -Unterpiagramm kann diese Parameter.erhalten und liefern, die für die Ausführung des Kommandos erforderlich sind. . .
Die. Kommrmdosteuerwerk-Unterprogramme können auch auf Grund von Größenüberlegungen verwendet werden. Wenn der Code weniger als 20 Befehle erfordert, kann es ζiamiich wirtschaftlich werden, diese Befehle in der
3098 12/1174 ,.[.-...'
. BAD ORIGINAL
dem KommandoSteuerwerk zugewiesenen virtuellen Datenverarbeitungseinheit auszuführen. Dieser Typ von Unterprogramm kann nicht als eine letzte Aufgabe eines Kommandos ausgeführt werden, da ein Kommando ohne einen sonstigen Zusammenhang und somit ein Kommando in anderen Kommandofolgen sein kann, die nicht die Ausführung des Unterprogramms erfordern.
Da Kommandosteuerwerk-Unterprogramme einen Kommandoeintrag und eine Kommandoparametertabellenstruktur aufweisen und durch eine Kommandofolgetabelle eingeleitet werden, können sie bei Platten-Ein/Ausgabeaufrufen verwendet werden, d.h., daß ein Platten-Ein/Ausgabeaufruf durch das Kommandosteuerwerk durch Verwendung eines Unterprogramms erfolgt und als solches von einem Kommando, das einen Plattenausgabeaufruf erzeugt, nicht unterscheidbar ist, so weit das Aufgabensteuerwerk betroffen ist.
Aufbau des KommandoSteuerwerks:
Das Kommandosteuerwerk bewirkt eine Behandlung von zwei Funktionseinheiten im Multiplexbetrieb innerhalb einer virtuellen Datenverarbeitungseinheit, wie in Fig.10 dargestellt ist. Diese zwei Funktionseinheiten sind der Zuordner des Kommandosteuerwerks und die Ausführungseinheit des Kommandosteuerwerks zur Abruf-' schleifen- und Unterprogrammausführung. Dieser Aufbau des Kommandosteuerwerks ermöglicht die Veränderung der Zuordner ohne Beeinträchtigung der Buchhaltungs- und Kommandofolgeninterprctationsfunktionen des Kommandosteuerwerks.
30981 ?/ 1
Der Zuordner des Kommandosteuerwerks bestimmt, wann Koiimanddfolgen eingeleitet werden, wann Kommandos gestartet v/erden, und wann Unterprogramme ausgeführt werden. Die Abrufsohleifen- und Unterprogrammausführungseinheit des KommandoSteuerwerk hält die verschiedenen Eingabewarteschlangen für das Kommandosteuerwerk, und sie führt Unterprogramme aus, die vom Zuordner zugeordnet worden sind.
Sowohl die Zuordner als auch die Abrufschleifeneinheiten sind in Teileinheiten unterteilt , die Aktionen genannt sind. Eine Aktion besteht aus einem Modulo-Code-Modul, der im KommandoSteuerwerk eine spezialisierte Funktion ausführt. Aktionen sind vorgesehen, damit ein Modulaufbau des KommandoSteuerwerks geschaffen wird. Die Folge,in der diese Aktionen ausgeführt werden, wird von einer Aktionsfolgetabelle in der Aufgabenparametertabelle des Kommandosteuerwerke-bestimmt. Die Aktionsfolgetabelle enthält für jede Aktion einen Eintrag, der zwei mögliche Ausgänge für die Aktion definiert, und somit festlegt, welche Aktion als nächste ausgeführt wird. Es gibt zwei Aktionsfolgetabellen: Eine für den Zuordner und eine für die Abrufschleifen- und Unterprogrammausführungseinheit.
Nftch Jeder Aktion wird die Steuerung wieder zu® Multiplex-Treiber zurückgegeben . Dieser Treiber entscheidet, welcher der drei Bestandteile des KommandoSteuerwerks als nächster arbeitet. Dies wird durch Prüfen eines Verhältnisses (Verhältnis von Zuordner zu Ausführungseinheit) erzielt, das zur Zeit der Systemgenerierung in die Aufgabenparametertabelle des Kommandosteuerwerks einbaut ist. Dieses Verlütnis bestimmt, welcher Bestandteil häufiger arbeiten darf. Beispielsweise könnte dem Zuordner
309812/1 12 A.
BAD
erlaubt werden, für jeweils fünf Aktionen , die die Abrufschleife ausführt, hundert Aktionen auszuführen. Der Multiplex-Treiber muß einen laufenden Zähtrstand der Zahl von Aktionen enthalten, die von jedem .Bestandteil ausgeführt werden, und er muß entsprechend nachfolgende Aktionen auslösen. Wenn eine Aktion endet, bestimmt ein Auswerter die Aktionefolgetabelle, welche Aktion für diesen Bestandteil als nächste ausgeführt werden soll, und er speichert die Adresse dieser Aktion im zugewiesenen Wort der Aufgabenparametertabelle des Kommandosteuerwerks. Die Steuerung wird auf den Multiplex-Treiber übertragen, der bestimmt, welcher Bestandteil als nächster arbeitet, und der die Steuerung direkt auf die richtige Aktion dieses Bestandteils überträgt .
Das Kommandosteuerwerk besitzt die gleiche Datengrundstruktur wie eine Aufgabe, d.h. einen Aufgabeneintrag, eine Aufgabenparametertabelle, einen Kommandoeintrag und eine Kommandoparametertabelle unter einem Systemjob. Das Kommandosteuerwerk hat einen basisbezogenen Zugriff auf seine eigene Aufgabenparametertabelle, und es speichert Information in ihr. Für das Arbeiten des Kommandosteuerwerks ist ein Zwischenspeicher vorgesehen, und für die verschiedenen Bestandteile des KommandoSteuerwerks sind Datenkonstantbereiche vorgesehen. Innerhalb der Datenkonstantbereiche gibt es Zähler, die den Ausführungsfluß innerhalb des Kommandosteuerwerke Steuer*, indem sie den verschiedenen Bestandteilen anzeigen, wie oft V/arteschlangen abgetastet werden sollen und wie viele Eintragungen aus einer Warteschlange bei jeder Abtastung entnommen werden sollen.
309812/1124 bad orIG.naL
Die Aufgabenparametertabelle des Kommando Steuerwerks enthält die Kommandoadressenliste aller Kommandos im System, Jeder Eintrag in der Kommandoadressenliste enthält eine Information wie:
(1) den Anteil der von dem Kommando benutzten Platte,
(2) den Anteil des von dem Kommando benötigten Zentralspeichers,
(3) die Zahl der Aufgaben in dem Kommando,
(4) eine Angabe darüber, ob das Kommando eine Platten-Ein/-Ausgabe ausführt,
(5) eine Angabe darüber, ob das Kommando jederzeit verwendbar ist,
(6) eine Angabe darüber, ob das Kommando einen festen Platz hat,
(7) eine Angabe darüber, ob das Kommando gerade geladen wird und . ·,
(8) eine Angabe darüber, ob das Kommando gerade aktiv ist.
In der Aufgabenparamotertabelle des KommandoSteuerwerks befindet sich auch eine Adreseenliste der Kommandofolgetabelle, die die Adressen aller.Kommandofolgetabellen, die Adresse des ersten Kommandos jeder Kommandofolge und andere Informationen ähnlich denjenigen der Kommandoadresseniiste enthält. Die Aktionsfolget'abellen sind ebenfalls in der Aufgabenparametertabelle 'des'Kommando-'" Steuerwerks, und sie v/erden zur Steuerung des Arbeitsflusses innerhalb des Kommandosteuerwerks verwendet.
30981?/1124 BÄD ORIGINAL
Aufgabensteuerwerk:
Das Aufgabensteuerwerk ist der Bestandteil des ASC-Betriebssystems, das für die Überwachung des Aufgabenflusses durch das System verantwortlich ist. Eine Aufgabe ist die Grundeinheit einer vom System zugeordneten Arbeit. Das Aufgabensteuerwerk sitzt im Zentralspeicher, und es arbeitet in einer zugewiesenen virtuellen Datenverarbeitungseinheit. .
Das Aufgabensteuerwerk führt die folgenden Grundfunktionen aus:
(1) Zuweisung von Zentralspeicherplatz für einen ausführbaren Code und Aufbau der zur Ausführung einer Aufgabe benötigten Parametertabellen,
(2) Behandlung aller Übermittlungen und Steuerungsübertragungen zwischen Aufgaben ,
(3) Vorverarbeitung aller Platten-Ein/Ausgabeanforderungen,
(A) Erleichterung der Übertragung von Daten zwischen dem A SC-Betriebssystem und entfernt aufgestellten Endgeräten und
(5) Bildung der Kopplung zwischen dem System und dem Treiber/Abhandlcrn der Peripherieeinrichtungen.
Auf^abenvcrarbeitun^:
Die Aufgabenverarbeitung kann in zwei Hauptbereiche aufgeteilt werden, nämlich in :
3 0 9 8 1 2 / 1 1 2 A
(1) die Vorverarbeitung von Aufgaben und
(2) die Überwachung der Aufgabenbeendigungen.
Bei der Vorverarbeitung von Aufgaben lädt das Aufgabensteuerwerk Aufgaben von der Platte in den Zentralspeicher, wenn die Aufgaben nicht laufend im Zentralspeicher sitzen. Nachdem die Aufgaben in dem Zentralspeicher geladen worden sind, erstellt das Aufgabensteuerwerk eine Aufgabenparametertabelle , damit die Anforderungen an die Aufgabendatenstruktur für die Aufgabenausführung erfüllt werden. Das Aufgabensteuerwerk "zeichnet auch den laufendenZustand einer Aufgabe auf, die das Setzen von verschiedenen Anzeigen in der Aufgabenadressenliste umfaßt. Die Ausführung der Aufgabe wird dadurch eingeleitet, daß der Aufgabeneintrag in einer Verarbeitungsliste zum Hauptsteuerwerk für die Zuordnung zu einer virtuellen Datenverarbeitungseinheit übergeben wird.
Das Aufgabensteuerwerk bedient auch Aufgaben, deren Ausführung beendet worden ist. Aufgabenbeendigungsvorgänge ergeben sich aus der Ausführung eines Standardaufrufs (SCALL). Ein Standa'rdaufruf ist eine Standardsystem-Verbindungsangabe zur Einleitung einer nachfolgenden Aufgabe oder zur Übergabe der Steuerung an ein Systemsteuerwerk. Für einen Aufruf von Aufgabe zu Aufgabe ändert das Aufgabensteuerwerk den Aktivierungsdatensatz der endenden Aufgabe derart, daß die Einleitung der geforderten Aufgabe ausgedrückt wird, und außerdem führt das Aufgabensteuerwerk die Vorverarbeitung aus, die zur Einleitung der aufgerufenen Aufgabe erforderlich
BAD ORIGINAL
3 0 9 8 1 2 / 11 2 Λ
ist. V/enn die Anforderung eines Aufgabenstandardaufrufs die Bereitschaft eines ·. Kommandsteuerwerks erfordert, setzt das Aufgabensteuerwerk den Aufgabeneintrag der aufrufenden Aufgabe in die richtige Aktionsliste für das Kommandosteuerwerk zur Verarbeitung ein. Wenn ein Standardaufruf Bedienungsvorgänge durch die Platten-Ein/Ausgabe erfordert, bindet das Aufgabensteuerwerk die Anforderungen nach der Platten-Ein/Ausgabe an eine Liste für die Plattenvorverarbeitung«-Für Standardaufrufe nach Endgeräte-Ein/Ausga'ben und nach der Tätigkeit des Treiber-Organisators v/ird der entsprechende Listeneintrag, der zuvor von der aufrufenden Aufgabe erstellt wurde, in die richtige Liste zur Verarbeitung eingegeben.
Aufpabenadressenliste ;
Die Aufgabenadressenliste ist eine Tabelle imSystemsteuerwerk, die für jede Aufgabe im System einen Eintrag enthält. Jeder Aufgabenadressenlisteneintrag enthält die gesamte Information, die vom Aufgabensteuerwerk zur Vorverarbeitung der Aufgabe benötigt wird. Jedesmal wenn ein Zugriff auf die Aufgabenadressenliste erfolgt, wird der verv/endete Eintrag von anderen Systembestandteilen abgesperrt, die einen Zugriff auf den gleichen Eintrag versuchen könnten.
Der Aufgabentabellenlisteneintrag für ,jede Aufgabe gibt an, ob die Aufgabe gerade im Zentralspeicher sitzt, oder ob sie von der Platte in den Zentralspeicher geladen werden soll. Gewisse Aufgaben sitzen stets int Zentralspeicher, doch sind die meisten Aufgaben nur während der
309812/1 I?* BADOR1G1NAL
Ausführung des Aufgabencodes im Zentralspeicher vorhanden, Die Aufgabenadressenliste zeigt auch an, ob die Aufgabe seriell wieder verwendbar ist.
Die Aufgabenadressenliste zeigt dem Aufgabensteuerwerk an, wann die Zuordnung des von einer Aufgabe benutzten Zentralspeichers wieder aufgehoben werden solle Der Aufgabencode kann nach Beendigung der Ausführung der Aufgabe wieder freigegeben werden oder er kann im Zentralspeicher verbleiben und von dem Aufgabenfreigeber freigegeben werden^ wenn Zentralspeicherhilfseinheiten kritisch sind* Der Aufgabenfreigeber erhöht den dem Syst em*-zur Verfügung stehenden Anteil des Zentralspeichers, in dem- der gerade nicht ausgeführte Aufgabencode freigegeben wirdo
Die Aufgabenadressenliste zeigt dem System ans wenn eine Aufgabe durch Festhalten gesperrt ist» Wenn eine Aufgabe durch Festhalten gesperrt ist, kann sie während ihrer Ausführung nicht vom HauptSteuerwerk unterbrochen werden.
Die AufgabeiiadressBnliste enthält eine Angabe der Zahl der Benutzer,, die eine bestimmte Kopie des Aufgabenoodes gerade benutzen. Diese Angabe wird vom Aufgabensteuerwerk nach der Vorverarbeitung und Beendigung eines Aufgabencodes auf den neuesten Stand gebracht.
Die -Aufgabenadressenliste zeigt dem Aufgabensteuerwerk den Anteil des Zentralspeieherε an, der von einer Aufgabe während der Ausführung füiv.die . Aufgabenparametertabelle erforderlich ist. .-Bevor-.den* Zentralspelcher reserviert wird, erhöht das Aufgabennteuerwerk die Größe der Aufgabenparametertabelle, damit alle vom
..,.,.-.,., ,-.- 309PU/1 124-sOJ- BAD ORIGINAL
System benötigten Organisationswörter enthalten sind. Ein weiterer Parameter der Aufgabenadressenliste zeigt die tatsächliche Codelänge einschließlich aller Datenkonstanten an, die für eine bestimmte Aufgabe erforderlich sind. Die Aufgabencodelänge wird vom Aufgabensteuerwerk benötigt, wenn eine Anforderung nach' einer Platten-Ein/ Ausgabe die Aufgabe von der Platte laden soll. Ein Datenverschiebungsparameter in der Aufgabenadressenliste zeigt die Verschiebung vom Ladepunkt einer Aufgabe zu den der Aufgabe zugeordneten Datenkonstanten an.
Zur Aufgabe des Ladepunkts einer Aufgabe, wenn diese sich im Zentralspeicher befindet, ist in der Aufgabenadressenliste eine Zentralspeicheradresse enthalten. Für einen Code, der von einer Anforderung nach einer Platten-Ein/ Ausgabe geladen wird, bringt das Aufgabensteuerwerk diese Zentralspeicheradresse auf den neuesten Stand, damit die gerade eingenommene Position des Aufgabencodes im Zentralspeicher angezeigt wird.
In jedem Aufgabeadressenlisteneintrag ist auch ein Wort enthalten, das die absolute Plattenadresse der Aufgaben anzeigt, die auf der Platte sitzen.
Aufbau des Aufgabensteuerwerks :
Das Aufgabensteuerwerk besteht aus den folgenden Grundbestandteilen:
(1) einer Haupt-AbrufSchleifeneinheit,
(2) einem Treiberorganisator,
(3) einer Plattenvorverarbeitungseinheit und
309812/112A
(4) einer Endgerätebedienungseinheit. Haupt-Ab.rufschleife des Aufgabensteuerwerksg
Die Abrufschleife des ÄufgabenEteuerwerks ist der Bestandteil des Aufgabensteuerwerks, der die Eingaben liefert, die das Aufgabensteuerwerk treiben. Die Abrufschleife besteht aus verbundenen Listen, zugewiesenen Zentralspeieherwörtern und einer unbedingten Steuerungsübertragung auf die Platten-Ein/Ausgabe-Vorverarbeitungs- ' einheit. Die verbundenen Listen enthalten, wenn sie nicht leer sind, Eingabeelemente, die das Aufgabensteuerwerk bedienen.Die zugewiesenen Zentralspeicherwörter in der Abrufschleife des Aufgabensteuerwerks sind Beendigungswörter für den Treiberorganisator, die, wenn sie von Null abweichen, das Aufgabensteuerwerk veranlassen, einen Treiberorganisator zu aktivieren.
Die Eingabelisten- des Aufgabensteuerwerks enthalten folgende Bestandteile j
(1) Aufgabenanforderungslisten, in die das KommandoSteuerwerk und das Aufgabensteuerwerk Aufgabenaktivierungsdatensätze für die auszuführenden Aufgaben einsetzen;
(2) Aufgabenbeendigungslisten, in die das Hauptsteuerwerk Aufgabeneintragungen von Aufgaben einsetzt, die einen Standardaufruf ausgeführt haben;
(3) Platten-Ein/Ausgabe-Beendigungslisten, in die das Plattensteuerwerk vervollständigte Plattenanforderungen für das Aufgabensteuerwerk zum Leiten zur richtigen Quelle einsetzt}
309812/ 1 1 24
(4) eine Speicherzuweisungsliste, in die das Kommando-Steuerwerk und das Aufgabensteuerwerk Aufgabeneintragungen und Aufgabenparametertabellen für das Aufgabensteuerwerk zu einer späteren Zuweisung einsetzen;
(5) eine Großspeicheranforderungsliste, in die das KommandoSteuerwerk Aufgabeneintragungen für Aufgabenanforderungen einsetzt, die den Zentralspeicher auf der Stufe einer Seite (4096 Wörter) erfordern;
(6) eine Endgeräte Ein/Ausgabe-Übertragungsbereichskette, die das Aufgabensteuerwerk für vervollständigte Endgerätedatenübertragungen aufruft;
(7) sine Anhaltepunktvolleridungsliste, in die das Hauptsteuerwerk Aufgabeneintragungen von Aufgaben einsetzt, die einen Software-Anhaltevorgang ausgeführt haben;
(8) eine Anhaltepunkt-Wiederanlaufliste, in die das Kommandosteuerwerk Aufgabeneintragungen von Aufgaben einsetzt, die nach der Ausführung eines Software-Anhaltevorgangs wieder gestartet werden sollen.
Die Prioritäten dieser verschiedenen Eingabelisten werden durch mehrfaches Erscheinen einer Liste oder mehrerer Listen in der Abrufschleife befriedigt. Wenn in der Abrufschleife ein Ereignis festgestellt worden ist, verläßt das Aufgabensteuerwerk die Schleife zu der bestimmten geforderten Datenverarbeitungseinheit und kehrt nach der Beendigung der gesamten Verarbeitung wieder zur Abrufschleife zurück.
309812/1124
Treiberorganisator:
Der Treiberorganisator ist der Bestandteil des Aufgabensteuerwerks, der für die Kopplung zwischen den peripheren Ein/Ausgabe-Treiber/Abhandlern sorgt, damit Datenübertragungen zwischen dem Zentralspeicher und Peripheriegeräten (beispielsweise Band, Kartenleser, Stanzer ) Drucker) bewirkt werden können.
Wenn ein peripheres Ein/Ausgabegerät für eine Aufgabe · betätigt werden muß, gibt die Aufgabe die steuerung über einen besonderen Standardaufruf an das Aufgabensteuerwerk ab. Nachdem das Aufgabaosteuerwerk aus dem Typ des Standardaufrufs erkannt hat, daß die Einleitung der Tätigkeit eines peripheren Ein/Ausgabegeräts erforderlich ist, wird die Steuerung zu dem Teil des Aufgabensteuerwerks übergeben, de.r Treiberorganisator genannt ist. Der Treiberorganisator leitet die Aktivität des peripheren Ein/Auegabegeräts ein, wie sie von einer Argumenttabelle angezeigt wird, die von der rufenden Aufgabe zum Aufgabensteuerwerk übergeben worden ist.
Der Treiberorganisator gibt die Steuerung an eine Gerätetreiber /Abhandler-Einhe it ab , damit die Datenübertragung ausgelöst wird. Wenn die Datenübertragung beendet ist, ' wird die Steuerung vom Treiber/Abhandler wieder zum Treiberorganisator des Aufgabensteuerwerks zurückgegeben. Der Treiberorganisator übergibt dann die Steuerung an das KommandoSteuerwerk, das fortfährt, die Kommandofolge zu verarbeiten, die das periphere Ein/Ausgabegerät angefordert hat.
Fig.11 und die Beschreibung erläutern die Kopplungseinrichtungen, die für den Treiberorganisator bei einer
3098 12/1124
Peripherie-Ein/Ausgabe-Anforderung beteiligt sind, die zum Aufgabensteuerwerk ausgelöst wurde.
(a) Standardaufruf zum Aufgabensteuerwerk mit einer Periphierie-Ein/Ausgabe-Anforderung.
(b) Der Aufgabensteuerwerkskern übergibt die Steuerung und die Peripherie-Ein/Ausgabe-Anforderung zur StandardaufrufVerarbeitungseinheit des Treiberorganisators.
(c) Wenn sich der Geräteabhandler im Zentralspeicher befindet, überträgt die Standardaufrufverarbeitungseinheit des Treiberorganisators die Daten von einem Peripherie-Ein/Ausgabe-Aufruf in einen zugewiesenen Ubertragungsbereich und setzt ein Ubertragungsregisterbit, das einen Treiber veranlaßt, einen Geräteabhandler auszulösen. Die StandardaufrufVerarbeitungseinheit kann einen Eintrag in einer Aufgabenverarbeitungsliste für einen Treiber vornehmen, wenn der Treiber nicht in einer virtuellen Datenverarbeitungseinheit arbeitet.
(d) Wenn sich der Geräteabhandler nicht im Zentralspeicher befindet, führt die StandardaufrufVerarbeitungseinheit des Treiberorganisators eine Platten-Ein/Ausgabe-Anforderung für den von der Platte zu ladenden Abhandler aus.
(d) Wenn die Platten-Ein/Ausgabe-Anforderung vollendet ist, wird die Steuerung an die Nachabhandler-Ladeverarbeitunge ■ einheit übergeben.
(f) Die Nachabhandler-Ladeverarbeitungseinheit führt dieselbe Verarbeitung aus, die oben unter (c) für die Standardauf ruf Verarbeitungseinheit des Treiberorganisators beschrieben worden ist.
30981 2/1124
(g) Nur wenn bei doppelt gepufferten Bandanforderungen ein Puffer gefüllt ist, setzt der Geräteabhandler ein slave-to-•master-Bit, das das Hauptsteuerwerk benachrichtigt.
(h) Der Geräteabhandler ist direkt mit der Hardware verkoppelt, damit Datenübertragungen zwischen den peripheren Ein/Ausgabegeräten und dem Zentralspeicher ausgeführt werden.
(i) Der Hauptsteuerwerkskern übergibt die Steuerung an die Pufferbeachtungsverarbeitungseinheit. Die Pufferbeachtungsverarbeitungseinheit setzt eine Platten-Ein-/Ausgabe-Anforderung in eine Liste ein, die die Platten-Ein/Ausgabe-Vorverarbeitung im Aufgatpnsteuerwerk aktiviert. Die Platten-Ein/Ausgabeanforderung wird von der Aufgabe geliefert, deren Peripherie-Ein/Ausgabe-Anforderung bedient wird.
Wenn der Geräteabhandler die Bedienung eines Übertragungsbereichs beendet, wird das Aufgabansteuerwerk benachrichtigt.
(k) Der Aufgabesteuerwerkskern übergibt die Steuerung an die Treiberbereitschaftsverarbeitungseinheit,
(1) Die Treiberbereitschaftsverarbeitungseinheit informiert das KommandoSteuerwerk über die Beendigung der Peripherie-Ein/Ausgabe-Anforderung.
(m) Das Kommandosteuerwerk fährt fort mit der Verarbeitung der Kommandofolge, die die Peripherie-Ein/Ausgabe-Anforderung abgegeben hat.
309812/1124
Plattenvorverarbeitungseinheit des Aufgabgsteuerwerks (TCDP)
Die Plattenvorverarbeitungseinheit macht die Platten-Ein/ Ausgabe-Anforderung des Benutzers gültig, weist den für die Ubertragungsbereiche zu verwendenden Zentralspeicher zu und bildet die Übertragungsbereiche, die von den Plattendatenkanälen zur eigentlichen Übertragung von Daten zwischen dem Zentralspeicher und der Platte benützt werden.
Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks ist eine von einer Liste betriebene ,Einheit. Vom Aufgabensteuerwerk wird in eine von drei Platten-Ein/Ausgabe-An forderungslisten ein Listeneintrag eingesetzt, ehe die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks aufgerufen wird. Das Aufgabensteuerwerk führt den Aufruf seiner Plattenvorverarbeitungseinheit als ein Unterprogramm durch die Vektortabelle aus. Es gibt drei Platten-Ein/Ausgabe-Anforderungslisten mit unterschiedlichen Prioritäten, wobei die höchste Priorität für 1-Zoll-Bänder verwendet wird. Der Listeneintrag ist zwar die einzige Form der Eingabe für die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks, doch enthält der Listeneintrag Hinweismarken auf Steuerblöcke. Diese Steuerblöcke enthalten die zur Bedienung einer Platten-Ein/Ausgabe-Anforderung notwendigen Informationen.
Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks macht alle Benutzer-Ein/Ausgabe-Anforderungen gültig, damit die richtige Verwendung der Platte gewährleistet wird. Abhängig von der Art des Platten-Ein/ Ausgabe-Benutzers bewirkt die Plattenvorverarbeitungseinheit die Gültigmachung
(1) des Anforderungssteuerblockes (RCB),
309812/1124
(2) der Dateibenutzung,
(3) der Zentralspeicherbenutzung und
(4) der Plattendateizusätze.
Wenn während der Gültigmachung Fehler festgestellt worden sind, wird ein entsprechender Zustand aufgezeichnet, und der Anforderungssteuerblock wird abgestoßen.
Nach einer erfolgreichen Beendigung einer Plattenan- . forderungs-Gültigmachung wandelt die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks die virtuelle Plattenadresse des Benutzers in eine absolute Plattenadresse um. Die virtuelle Plattenadresse wird dadurch in. eine absolute Plattenadresse umgewandelt, daß zur Berechnung des räumlichen Platzes auf der Platte die im Dateiinformationsblock (FIB) enthaltene Plattenübersicht verwendet wird. Die Plattenvorverarbeitungseinheit bestimmt auch, wenn eine unabhängige Unterbrechung im Plattenspeicherplatz erfolgt ist, in dem die Zahl der (zu übertragenden) Wörter zur beginnenden absoluten Plattenadresse addiert wird und die Plattenübersicht dann auf diese Datei überprüft wird. Für jede unabhängige Plattenunterbrechung, die bei einer Ein/Ausgabe-Änforderungen erfolgt, wird ein entsprechender Übertragungsbereich aufgebaut .
Übertragungsbereiche (CA) werden von der Plattenvorverarbeitungseinheit des Aufgabensteuerwerks nach Beendigung der Gültigmachung der Anforderung und nach der Berechnung der absoluten Plattenadresse zugeordnet und aufgebaut. Die Übertragungebereiche v/erden von der Platten-Hardware dazu
309812/ 11? L
verwendet, die Information zu erhalten, die für die eigentlichen Plattendaten-Übertragungen erforderlich sind. Nach seinem Aufbau wird ein Ubertragungsbereich mit einer oder zwei Listen verbunden, die die Plattensteuerwerkverarbeitung einleiten. Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks kehrt zum Aufgabensteuerwerk zurück, wenn ein Fehlerzustand auftritt, oder wenn alle Verbindungsbereiche für einen gegebenen Anforderungssteuerblock aufgebaut worden sind. V/enn alle Verbindungsbereiche für eine Platten-Ein/Ausgabe-Anforderung aufgebaut worden sind (wobei mehr als ein Anforderungssteuerblock eine Platten-Ein/Ausgabeanforderung bilden kann) , wird der Plattenanforderungslisteneintrag aus der Eingabeliste der Plattenvorverarbeitungseinheit des Aufgabensteuerwerks entfernt und in eine Liste "in Bearbeitung" eingegeben.
Eine andere Funktion der- Plattenvorverarbeitungseinheit des Aufgabensteuerwerks besteht darin,das Plattensteuerwerk mit den Verbindungsangaben zu versehen, die nötig sind, um die vollendetenübertragungsbereiche auf den ursprünglichen Plattenanforderungslisteneintrag zu beziehen.
Endgeräte-Bedienungseinheit;
Das Aufgabensteuerwerk ist verantwortlich für die Übertragung von großen Datenblöcken und von gewissen Übertragung snachrichten zwischen der hochentwickelten Datenverarbeitungsanlage für technisch-wissenschaftliche Aufgaben und den äußeren Endgeräten. Die Endgeräte-Ein/Ausgabe-Hauptfunktion (TIO) des Aufgabensteuerwerks besteht darin, Warteschlangen zu behandeln, die für
30981 7/1124
die DatenUbertragAng zwischen dem ASC -Zentralspeicher und Jedem der äußeren Endgeräte oder der Platte·.·verantwortlich sind.
Ein Parameterblock wird zum Aufgabensteuerwerk von einem Kommando übertragen, das fordert, daß eine Endgeräte-Ein/Ausgabe-Übertragung stattfindet. Während das Aufgabensteuerwerk die Anforderung verarbeitet, wird das auslösende Kommando ausgesetzt. Der Parameterblock, der weitergeleitet wird, enthält alle notwendigen Informationen. Der Parameterblock ist ein Endgeräteübertragungsinformationsblock (TCIB), der vom Hauptsteuerwerk bei aer Eingabe einer Bedienungsanforderungsnachricht in das ASC-Programmsystem oder von einer zur Verarbeitung eines Kommandoparameterbedienungsaufrufs gestarteten Kommandofolge aufgebaut wurde. Der Übertragungsbereich wird auf den neuesten Stand gebracht und für die Datenübertragung bereit gemacht.Der Endgeräteübertragungsinformationsblock enthält eine Hinweismarke auf den Eintrag der Platten-Bin/Ausgäbe-Warteschlange, der eine Hinweismarke auf den Anforderungssteuerblock enthält, wobei beide vom aufrufenden Kommando für den Übertragungsteil von der Platte zum Zentralspeicher aufgebaut wurden. Der zum Speichern der Daten zwischen den Übertragungen benötigte Zentralspeicherblock wird durch das Aufgabensteuerwerk erhalten.
Das Aufgabensteuerwerk verbindet die Warteschlangeneintragungen in den notwendigen Warteschlangen, um zu sehen, daß die Datenübertragungen ausgeführt werden. Wenn sie beendet worden sind, wird der Endgeräteübertragungsinformationsblock zur aufrufenden Aufgabe zurückgeführt, und die Aufgabe wird mit einem um 1 erhöhten Aufruf wieder gestartet.
309812/1124
Verarbeitung der lufgabensteuerwerksliste:
Ein Haupttejlder Funktion des Aufgabensteuerwerks wird durch Antworten auf Eingaben an verbundenen Listen erzielt, die das Aufgabensteuerwerk aufrufen. Die Hauptaufrufschleife des Aufgabensteuerwerks überwacht die der Aufgabensteuerwerksverarbeitung zugeordneten Listen, und sie leitet die Aktivität zur Verarbeitung der Listeneintragungen ein.
Zur Einleitung einer Aufgabe setzt das Kommandosteuerwerk einen Eintrag in die Aufgabenanforderungsliste ein. Wenn das Aufgabensteuerwerk den Eintrag in der Aufgabenanforderungsliste auffindet, wird die zu startende Aufgabe vom Aufgabensteuerwerk vorverarbeitet und ausgelöst.
Ein weiterers Element der Abrufschleife des Aufgabensteuerwerks ist die Großspeicheranforderungsliste. Eingaben in die Großspeicheranforderungsliste gleichen den in der Aufgabenanforderungsliste aufgefundenen Eingaben insofern,als die Eintragungen in der Großspeicheranforderungsliste Aufgabeneintragungen zur Einleitung von Aufgaben sind. Der Unterschied besteht darin, daß Aufgaben, die durch die Großspeicheranforderungsliste ausgelöst werden, eine Zentralspeicherbenutzung auf der Stufe einer Seite(4K Viörter) erfordern. Aufgaben wie das Zentraleinheitsschrittladen und Aufgaben, die Peripherie-Ein/Ausgabeübertragungen mit Großspeicherpuffern erfordern, werden in die Großspeicheranforderungsliste eingegeben. Das Aufgabensteuerwerk verarbeitet die Großspeicheranforderungsliste dadurch, daß sie die
BAD OBiGINAL
309812/11?« B
2543956
Liste durchsucht, daß sie die Speichererfordernisse feststellt, und daß sie mit der SpeicherSeitenverwaltung (einem Bestandteil der Speicherverwaltung) in Verbindung tritt, um festzustellen, ob die Zentralspeichererfordernisse verfügbar sind. Der geforderte Speicheranteil ist reserviert, wenn die Seitenverwaltung den Speicherbedarf eines Aufgabeneintrags in der Großspeicheranforderungsliste erfüllen kann. Nach Erfüllen des Speicherbedarfs wird' der Großspeicheranforderungseintrag in der gleichen Weise wie Eintragungen aus der Aufgabenanforderungsliste verarbeitet.
Das Aufgabensteuerwerk ruft eine Freigabeliste auf, damit festgestellt wird, wenn irgendweiche Aufgabenaktivierungsdatensätze freigegeben werden sollen. Die Freigabeliste kann eine Aufgabenparametertabelle (TPT) oder einen Aufgabeneintrag (TE) enthalten. Das Aufgabensteuerwerk bewirkt die Freigabe des Aufgabeneintrags, der Aufgabenparametertabelle und aller Blöcke des Zentralspeichers, die der Aufgabe zugeordnet sind.
Das Aufgabensteuerwerk führt einen Abruf der Beendigungsliste der Platten-Ein/Ausgabe (DIO) für beendete Platten-Ein/Ausgabe-Anforderungen durch, und es bestimmt die Bestimmung der vollendeten Platten-Ein/Ausgabe-Anforderungen. Wenn die Platten-Ein/Ausgabe-Anforderung vom Aufgabensteuerwerk zum Laden einer Aufgabe (von der Platte zum Zentralspeicher) stammte, beendet das AufgabenSteuerwerk die Vorverarbeitung und löst die Aufgabe aus, die geladen wurde. Alle anderen Platten-Ein/Ausgabe-Anforderungen werden zum KommandoSteuerwerk zurückgeführt, indem sie in eine Kommandobsreitschaftsliste eingesetzt» werden, damit dom KommandoSteuerwerk die Beendigung der
3 O 9 8 1 7 I 1 1 ? U
Platten-Ein/Ausgabe angezeigt wird.
Das KommandoSteuerwerk ruft die mit niedriger Priorität ausgestattete Endgeräte-Ein/Ausgabe-Liste ab, um festzustellen, wenn eine Endgeräte - Ein/Ausgabe-Anforderung vollendet ist. Wenn der Listenaintrag anzeigt, daß die Anforderung vollendet ist, löst das Aufgabensteuerwerk die Verbindung des Eintrags und gibt den Speicher für diesen Eintrag frei. Wenn zur Vervollständigung einer Übertragung von Endgerät zu Platte eine Platten-Ein/
Ausgabe-Anforderung erforderlich ist, ist das Aufgabensteuerwerk für die Auslösung der Platten-Ein/Ausgabe-Anforderung verantwortlich. Wenn eine Platten-Ein/Ausgabenanforderung vollendet ist, und eine Übertragung
vom Zentralspeicher zum Endgerät gefordert wird, löst das Aufgabensteuerwerk diese Übertragung aus. Das
Aufgabensteuerwerk bewirkt auch die Zuordnung und die Freigabe des gesamten Zentralspeichers, der für Übertragungen von Endgerät zu Platte und von Platte zu
Endgerät benötigt wird.
Das Hauptsteuerwerk gibt Aufgabeneintragungen in eine Aufgabenbeendigungsliste für Standardaufrufe ein, die in der der Aufgabe zugeordneten virtuellen Datenverarbeitungseinheit verarbeitet werden. Zu Standardübertragungen von Aufgabe zu Aufgabe vollendet das
Aufgabensteuerwerk die Abwicklung der laufenden Aufgabe, und es bewirkt die Vorverarbeitung der Aufgabe, die angefordert wird. Bei Platten-Ein/Ausgabe-oder Treiberorganisator-Standardaufrufen ist das Aufgabensteuerwerk für die Weitergabe einer Argumentliste zu der bestimmten Ein/ Ausgabe-Vorverarbeitungseinheit verantwortlich. Für
Endgeräte-Ein/Ausgabe-Aufrufe gibt das Aufgabensteuerwerk
3098 12/1124
22A3956
eine Argumenttabelle zur Endgeräte-Ein/Ausgabe-Vorverarbeitungseinheit. Auch bei Endgeräte-Ein/Ausgabe-Aufrufen ist das Aufgabensteuerwerk für die Auslösung von Datenübertragungen von der Platte zum Endgerät oder vom Endgerät zur PHatte und für die Bereitstellung des für diese Übertragungen notwendigen ZentralSpeichers verantwortlich. Bei Ausführungsanforderungen an die Zentraleinheit setzt das Aufgabensteuerwerk die weitergegebene Argumentliste (ein Schritt Eintrag) in die Ausführungsliste der Zentraleinheit ein. Alle anderen Typen von Standardaufrufen werdan als Ausgänge zum KommandoSteuerwerk behandelt.Das Aufgabensteuerwerk setzt einen Zustands- und Funktionscode in einen Kommandoeintrag ein, und es setzt den Eintrag in die Kommandobereitschaftsliste des KommandoSteuerwerks ein.
Unterbrechungsverarbeitung:
Software-Unterbrechungen im Betriebssystem sind mit dem Systemanalysator über die Hauptsteuerwerk-Überprüfungseinheit (MCD) verbunden. Vor dem Anruf der Hauptsteuerwerksüberprüfungseinheit sind jedoch alle Stufen der Steuerung an der Unterbrechungspunktbedienung beteiligt.
Wenn eine Aufgabe auf einen Unterbrechungspunkt trifft, setzt das HauptSteuerwerk den Aufgabeneintrag (TE) an eine Unterbrechungspunktbeendigungsliste zum Aufgabensteuerwerk ein. Wenn der Unterbrechungspunkt andere ablaufende Aufgaben unterbrechen sollte, würden deren Aufgabeneintragungen ebenfalls in die Unterbrechungspunktbeendigungsliste eingesetzt. Der Aufgabeneintrag und die Aufgabenparametertabelle der Aufgabe behalten genügend Aufgabenzustandsinformationen zurück, damit der Wiederanlauf der Aufgabe ermöglicht wird. Die
309812/1124
Funktionen des Aufgabensteuerwerks zum Zeitpunkt der Unterbrechung bestehen darin,
(1) daß alle Aufgabeneintragungen in der einem Unterbrechungspunkt zugeordneten Unterbrechungsbeendigungsliste in einer Argumentliste gesammelt werden,
(2) daß alle zugeordneten Kommandoeintragungen(CE) zur Kommandounterbrechungswarteliste übertragen werden und
(3) daß die Kommandofolge der Hauptsteuerwerksüberprüfunge einheit angerufen wird, die die Argumentliste der Aufgabeneintragungen bedient.
Nach Beendigung der Unterbrechungsbedienung durch die Hauptsteuerwerk-Überprüfungseinheit setzt das Kommandosteuerwerk die Kommandoeintragungen wieder in die Kommandoverarbeitungsliste ein, und das Aufgabensteuerwerk empfängt die Aufgabeneintragungen. Wenn der Aufgabeneintrag den Anhaltepunkt anzeigt, der diese Aufgabe während der Ausführung des eigentlichen Aufgabencodes angehalten hat, wird die Aufgabe an die erste Stelle der mit höchster Priorität ausgestatteten Aufgabenverarbeitungsliste für einen VJiederanlauf durch das Hauptsteuerwerk eingesetzt. Wenn der Anhaltepunkt in einer weiteren Aufgabe die Beendigung dieser Aufgabe während der Ausführung eines Standardaufrufs bewirkte, dann konnte der Standardaufruf vollständig ausgeführt v/erden, und das Aufgabensteuerwerk setzt diesen Aufgabeneintrag in die Aufgabenbeendigungsliste für eine Standardaufrufbedienung ein.
BAD ORIGINAL
30981 2/112 A
Einrichtungen zur Durchführung von ProbeaufRaben;
Das Aufgabensteuerwerk unterstützt die HauptSteuerwerküberprüfung seinheit dadurch, daß sie Probeaufgaben erkennt und sie in besonderer Weise bedient. Eine Probeaufgabe ist entweder eine
(1) eine in das System nach der Systemgenerierungszeit vorübergehend eingegebene Aufgabe oder
(2) eine Systemaufgabe, die während der Ausführung als Probe behandelt wird.
Die Bedienungsvorgänge des Aufgabensteuerwerks für Probeaufgaben bestehen darin, daß eine Probeaufgaben ·- adressenliste für jene vorübergehend in das Betriebssystem vom Benutzer der HauptSteuerwerks-überprüfungseinheit eingegebenen Aufgaben aufrechterhalten wird. Die Probeaufgabenadreseenliste ist eine variable Längen aufweisende verbundene Liste von Eintragungen, die von der Hauptsteuerwerk-Überprüfungseinheit geliefert werden. Jeder Eintrag enthält die Kennzahl der Probeaufgabe und die für jede Systemaufgabe in der Systemaufgabenadressenliste besondere Information mit der Ausnahme der Plattenadressen, da Probeaufgaben für die Dauer ihrer Existenz im Zentralspeicher sitzen. Das Aufgabensteuerwerk nimmt Probeaufgabenadreseenlisteneintragungen von der Hauptsteuerwerks-Überprüfungseinheit an,macht sie bezüglich der Tatsache, daß sie im Zentralspeicher sitzen, im Zentralspeicherkennzeichen gültig und gibt sie in die Probeaufgabenadressenliste ein. Das Aufgabensteuerwerk entfernt auch Eintragungen aus dieser Adressenliste nach einer Anforderung der Hauptsteuerwerks-Überprüfungs« einheit. ,
.309812/112 4 BAD ORIGINAL
Plattensteuerwerk;
Die Plattenorganisation ist für die Verarbeitung aller ASC-Plattenanforderungen verantwortlich. P3£ttenanforderungen sind aus zwei Hauptkategorien zusammengesetzt, nämlich aus :
(1) Plattendatenübertragungen und
(2) Zuordnungen von Plattenspeicherplatz.
Die Platten-Ein/Ausgabe(DIO) steuert die Verarbeitung, die bei Ein/Ausgabe-Anforderungen bete&igt ist, die Plattendatenübertragungen erfordern. Die Platten-Ein/Ausgabe macht Platten-Ein/Ausgabe-Anforderungen gültig und bildet die Steuerblöcke, die von der ASC-Hardware für Plattendatenübertragungen benötigt werden. Die Plsfcten-Ein/Ausgabe bildet die Einrichtung zur Zuordnung von Plattenanforderungen und zur Optimierung von Plattenanforderungen entsprechend ihrer räumlichen Lage auf der Platte. Die Platten-Ein/Ausgabe überwacht alle Platten-Ein/Ausgabe-Anforderungen nach ihrer Beendigung durch die Platten-Hardware.
Die Plattenzuordnungseinheit (DAC) bietet die Möglichkeit, Plattenspeicherplatz, Benutzer oder Systemdateien zuzuordnen. Die Plattenzuordnungseinheit bildet die Einrichtung zur Aufzeichnung der räumlichen Einheiten des einer Datei zugeordneten Plattenspeicherplatzes, so daß es ermöglicht wird, nicht zusammenhängende Einheiten für eine Plattendatei zusammenzustellen. Die Plattenzuordnungseinheit gibt auch Plattenspeicherplatz für eine Neuzuordnung frei, wenn eine Datei nicht mehr benötigt oder angefordert wird.
309812/ 1 1 21*
Zugrifffemöglichkeiten;
Es gibt eine Sammlung von Einheiten, die verschiedene Stufen der Ein/Ausgabe-Steuerung ermöglichen. Diese Ein/Ausgabe-Einheiten sind:
(1) eine Fortran-Ein/Ausgabe-Einheit (FIO),
(2) eine Logik-Ein/Ausgabe-Einheit (LIO) und
(3) eine Platten-Ein/Ausgabe-Einheit (DIO).
Jede Ein/Ausgabe-Einheit ist relativ unabhängig, doho daß Kopplungen zwischen ihnen über Standardsystem verbindungen und Steuerblöcke erzielt werden.
Das Unterprogramm der Logik-Ein/Ausgabe-Einheit der Zentraleinheit versorgt den Benutzer der Zentraleinheit (CP) mit einer Logikaufzeichnungsdateiübersicht, und es nimmt die Verantwortung für die räumliche Blockeinteilung der Plattendatensätze von der Platten-Ein/Ausgabe-.einheit. Programme in der Fortran-und Assembler-Sprache benutzen zur Verarbeitung ihrer Plattendateien die Logik-Ein/Ausgabe-Einheit. Die Verarbeitung durch die Logik-Ein/Ausgabe-Einheit gibt dem Benutzer die Fähigkeit, Datensätze zwischen der Platte und dem Zentralspeicher (CM) ζμ übertragen, so daß der Benutzer von der Verantwortung für die Durchführung von räumlichen Platten-Ein/ Ausgabe-Anforderungen entbunden wird.
Die Fortran-Ein/Ausgabe-Einheit wird von einem Unterprogramm der Zentraleinheit gebildet, das eine Kopplungseinheit zwisehen dem Fortranprogramm und der Logik-Ein/Ausgabe-Einheit bildet. Die Fortran-Ein/Ausgabe-Einheit wird nur während der Ausführung eines Programms
309812/1124
benutzt, und eine eigene Kopie der erforderlichen Bestandteile der Fortran-Ein/Ausgabe-Einheit wird mit jedem Zentraleinheitsprogramm geladen.
Die Platten-Ein/Ausgabe-Einheit (ein Lpgikname, der einer Gruppe von für Platten-Ein/Ausgaben verantwortlichen Betriebssystembestandteilen entspricht)bietet dem Benutzer die Fähigkeit einen Zugriff oder eine Übertragung zu tatsächlichen räumlichen Datenblöcken auf der Platte durchzuführen. Yfenn eine Datei einmal offen ist, kann der Benutzer ein Kommando zur Ausübung eines Zugriffs auf die Plattendatei abgeben. Der Benutzer tritt durch Kommandos (Lesekommando READ, Schreibkommande WRITE), die in Standardsteuerblöcken enthalten sind, mit der Platten-Ein/Ausgabe-Einheit in Verbindung. Diese Kommandos und Steuerblöcke bestimmen den Typ der Platten-Ein/Ausgabe-Anforderung und den Umfang der Zugriffsbereiche des Benutzers.
Die Plattenorganisation gibt dem Benutzer auch einen Standardsatz von Systemprozeduren zur Bestimmung einer Platten-Ein/Ausgabe-Anforderung. Diese Prozeduren v/erden vom Benutzer der ZentrcLeinheit zur Zuordnung von Steuerblockplatz und zur Bestimmung des Typs der Platten-Ein/ Ausgabe-Anforderung verwendet. Der Anforderungssteuerblock (RCB) enthält die zur Ausführung einer Plattenanforderung notwendigen Steuerparameter. Es besteht auch die Möglichkeit, Anforderungen miteinander zu verbinden oder zu stapeln, doch wird vom System nur ein Aufruf zur Bedienung der Anforderung abgegeben. Das System nimmt die Plattenanforderungen an und gibt sie zur Platten-Ein/Ausgabe-Einheit (DIO) zur Verarbeitung. Mach Beendigung der Plattenanforderung wird der zugehörige
BAD ORIGINAL
3098 1 ?/ 1 124
Zustand im Anforderungssteuerblock aufgezeichnet. Ein Systemvorgang, der die Beendigung der Plattenanforderung überprüft, ist für einen Aufruf durch das Programm der Zentraleinheit vorgesehen.
Plattenzusammenstellung:
Das ASC-System schafft eine Einrichtung zur Zusammenstellung des zugeordneten Plattenspeicherplatzes. Das Zusammenstellen (Mapping) des Plattenspeicherplatzes gestattet es dem ,Benutzer eine virtuelle Plattenadresierung anzuwenden, so daß eine Datei als zusammenhängende Sektoren auf der Platte erscheinen..Durch Verwendung der virtuellen Plattenadressierung ist es nicht mehr notwendig, den tatsächlichen räumlichen Platz der zugeordneten Platte zu kennen, so daß der Speicherplatz für den Benutzer erkenntlich wird.
Die Plattenzuordnungseinheit ist für die Behandlung der Zuordnung von Plattenspeicherplatz und für die ansdiießende Zusammenstellung des zugeordneten Plattenspeicherplatzes verantwortlich. Die Plattenzusammenstellung einer Datei ist in dem Dateiinformationsblock (FIB) und im Platten-Ein/Ausgabe-Dateiinformationsblock (DIOFIB) enthalten. Der Platten-Ein/Ausgabe-Dateiinformationsblock ist eine im Zentralspeicher sitzende Tabelle, die von der Platten-Ein/Ausgabe-Einheit zur Umwandlung von virtuellen Plattenadressen in absolute Plattenadressen für eine Plattenanforderung verwendet wird. Der Dateiinformationsblock wird zum Festhalten einer Plattenkopie der Dateikennzeichen und der Plattenzusammenstellung benötigt.
Die virtuellen Plottenadressen für eine Plattendatei reichen von KuIl bis zu einem Maximum. Infolge der
9812/11?.^· BAD ORIGINAL
virtuellen Plattenadressierung kennt der Benutzer nie den tatsächlichen räumlichen Speicherplatz einer Plattendatei. Der einer Plattendatei zugeordnete Plattenspeicherplatz kann aus zusammenhängenden oder aus nicht zusammenhängenden Teilstücken der Platte bestehen. Das folgende Beispiel zeigt das Wortformat einer virtuellen Plattenadresse:
64 Wörter = 1 Sektor 256 Sektoren = 1 Spurgruppe
Spurgruppe Sektor Wort
Bits 0 1718 2526 31
Das Format der virtuellen Plattenadresse erlaubt es dem Benutzer eine Datei logisch als zusammenhängende Wörter zu betrachten. Dies gilt deshalb, weil Überläufe, die sich aus einer binären Addition ergeben.die Sektor- oder Spurgruppenfelder entsprechend den Anforderungen vergrößern. Somit gibt es keinen Bedarf für individuelle Felder für eine virtuelle Datenadresse.
Fig.12 zeigt die Beziehung zwischen den Plattenzusammenstellungen im Dateiinformationfclock, die virtuellen Plattenadressen und den tatsächlichen räumlichen Platz der Datei auf der Platte. Das dargestellte Beispiel ist ein besonderer Fall der Zuordnung einer Da^ei. Für die Datei A sind drei getrennte Bruchstücke des Plattenspeicherplatzes zugeordnet worden. Jedes der Datei A zugeordnete Bruchstück hat einen entsprechenden Zusammenstellungseintrag im Dateiinformationsblock. Der erste Eintrag
309812/1124
in der Plattenzusammenstellung enthält einaiKanäleintrag, der die Kanaladresse für die nachfolgenden Zusammenstellungseintragungen zeigt. Die Reihenfolge der Plattenzusammenstellungseintragungen bestimmt die Reihenfolge der Datei.Jeder Zusammenstellungseintrag gibt die beginnende absolute Plattenadresse für das zugehörige Plattenteilstück und die Zahl der zugeordenten Viertelspurgruppen oder ganzen Spurgruppen an. In dem Zusammen-Stellungseintrag ist auch ein Feld enthalten, das die Adresse des Plattenmoduls angibt. Die virtuellen Plattenadressen werden dadurch in absolute Adressen umgewandelt, daß mit dem ersten Eintrag der Zusammenstellung begonnen wird, und daß die Zahl der zu diesem Eintrag gehörigen Wörter berechnet wird. Wenn die virtuelle Plattenadresse innerhalb des berechneten Bereichs liegt, dann gehört die virtuelle Plattenadresse zu diesem Eintrag der Platteuzusammenstellung. Wenn keine Übereinstimmung gefunden wird, wird die Zahl der Wörter für jeden Plattenzusammenstellung se intrag zum Zähler aZdiert und mit der virtuellen Plattenadresse verglichen,bis die Übereinstimmung gefunden wird. Es ist zu erkennen, daß die Gesamtzahl der Spurgruppen oder Viertelspurgruppenfeider aller Plattenzusammenstellungseintragungen gleich der maximalen virtuellen Plattenädresse ist.
Platten-Ein/Ausgabe-Einheiten;
Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks und das Plattensteuerwerk sind unter der Bezeichnung Platten-Ein/Ausgabe-Einheit zur Erleichterung der nachfolgenden Erörterung logisch zusammengefaßt.
Die Platten-Ein/Ausgabe-Einheit enthält zwei Grundbestandteile, nämlich
309812/1124
(1) die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks und ;
(2) das Plattensteuerwerk (DC).
Die oben erwähnten Einheiten sind seriell wieder verwendbar, und sie sind im Zentralspeicher ätzende Codes. Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks und das Aufgabensteuerwerk arbeiten in der gleichen virtuellen Datenverarbeitungseinheit. Das Plattensteuerwerk arbeitet in ihrer eigenen zugewiesenen virtuellen Datenverarbeitungseinheit.
Fig.13 zeigt den Fluß einer.Plattenanforderung und Beziehungen zwischen dem Plattensteuerwerk und der Plattenvorverarbeitungseinheit des Aufgabensteuerwerks. Zur Verwendung dieses Diagramms sind die alphabetisch aufgeführten Angaben der Reihe nach durchzugehen und die entsprechenden Bezeichnungen zu lesen:
(a) Es erfolgt ein Standardaufruf zum Aufgabensteuerwerk (TC) mit einer Platten-Ein/Ausgabe-Anforderung.
(b) Das Aufgabensteuerwerk bindet die Plattenanforderung an eine Liste und übergibt die Steuerung an die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks (TCDP),
(c) Die Plattenvorverabeitungseinheit des Aufgabensteuerwerks macht die Plattenanforderung gültig, bildet einen Ubertragungsbereich(CA)und bindet den Übertragungebereich an eine Liste, die das Plattensteuerwerk (DC) auslöst.
309812/1 1 24
(d) Das Plattensteuerwerk bewirkt die Zuordnung der Plattenanforderung.
(e) Das Plattensteuerwerk bindet den Ubertragungsbereich an eine Kanalliste, die die'Platten-Hardware treibt.
(f) die Plattenanforderung ist von der Platten-Hardware tatsächlich bedient worden.
(g) Das Plattensteuerwerk bemerkt die Beendigung der . Plattenanforderung in der Plattenkanalliste.
(h) Das Plattensteuerwerk trennt den beendeten Ubertragungsbereich ab und zeigt dem Aufgabensteuerwerk die Beendigung der Plattenanforderung.
(i) Das Aufgabensteuerwerk bemerkt die Beendigung der Plattenanforderung und informiert das Kommandosteuerwerkv
(j) Das Programm, das diePlattenanforderung ausgegeben hat, wird von der Beendigung oder vom Wiederanlauf benachrichtigt, wenn es. sich in einem Wartezustand befindet.
Plattenvorverarbeitungseinheit des Aufgabensteuerwerks (TCDP:
Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks bewirkt die Gültigmachung dar Platten-Ein/Ausgab.e-Anforderung eines Benutzers, die Zuordnung des für die Übertragungsbereiche (CA) zu verwendenden Zentralspeichers und den Aufbau der Übertragungsbereiche, die von den Plattendatenkanälen für die eigentliche Übertragung von Daten zwischen dem Zentralspeicher und der Platte benutzt werden.
309812/1 1?/»
- .100 -
Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks ist eine von einer Liste betätigte Einheit. Ehe die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks aufgerufen wird, setzt das Aufgabensteuerwerk in eine der drei Listen für die Platten-Ein/Ausgabe-Anforderungen einen Listeneintrag ein. Das Aufgabensteuerwerk bewirkt den Aufruf der Plattenvorverarbeitungseinheit als ein Unterprogramm durch die Vektortabelle. Es gibt drei ^latten-Eln/Ausgabe-Anforderungslisten mit unterschiedlichen Prioriotäten, wobei die höchste Priorität für 1-Zoll-Bänder verwendet wird. Der Listeneintrag ist zwar die einzige Form de,r Eingabe für die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks, doch enthält der Listeneintrag Hinweismarken für Steuerblöcke. Diese Steuerblöcke enthalten die für die Bediming einer Platten-Ein/Ausgabe-Anforderung notwendigen Informationen.
Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks bewirkt die GUltigmachung aller Benutzer-Ein/ Ausgabe-Anforderungen, damit die richtige Benutzung der Platte gewährleistet wird. Abhängig von der Art des Benutzers der Platten-Ein/Ausgabe-Einheit bewirkt die Plattenvorverarbeitungseinheit die GUltigmachung
(1) des Anforderungssteuerblocks (RCB),
(2) der Dateibenutzung,
f3) der Zentralspeicherbenutzung und (h) der Plattendateizusätze.
3098.12/1
Wenn während der Gültigmachung Fehler festgestellt werden, wird der entsprechende Zustand aufgezeichnet und der Anforderungssteuerblock wird abgestoßen.
Nach erfolgreicher Beendigung der Gültigmachung einer Plattenanforderung wandelt die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks die virtuelle Plattenadresse des Benutzers in eine absolute Plattenadresse um. Die virtuelle Plattenadresse wird dadurch in eine absolute Plattenadresse umgewandelt, daß die im Dateiinformationsblock (FIB) enthaltene Plattenzusammenstellung zur Berechung des tatsächlichen räumlichen Speicherplatzes auf der Platte verwendet wird. Die Plattenvorverarbeitungseinheit des Aufgabensteuerwerks bestimmt auch, wenn eine nicht zusammenhängende Unterbrechung im Plattenspeicherplatz aufgetreten ist, indem sie die Zahl der ( zu übertragenden Wörter ) zur beginnenden absoluten Plattenadresse addiert und die Plattenzusammenstellung dann auf diese Datei überprüft. Für jede nicht zusammenhängende Plattenunterbrechung, die bei einer Ein/Ausgabe-Anforderung auftritt, wird ein entsprechender Übertragungsbereich aufgebaut.
Übertragungsbereiche(CA) werden von der Plattenvorverarbeitungseinheit des Aufgabensteuerwerks nach Beendigung der Gültigmachung der Anforderung und der Berechnung der absoluten Plattenadresse zugeordnet und aufgebaut. Die Übertragungsbereiche werden von der Platten-Hardware-dazu verwendet, die Information zu erhalten, die für die eigentlichen Plattendaten erforderlich sind. Nach dem Aufbau wird ein Übertragungsbereich an eine von zwei Listen gebunden, die eine
309812/1124
Plattensteuerwerksverarbeitung auslösen. Die Plattenvor-Verarbeitungseinheit des Aufgabensteuerwerks kehrt zum Aufgabensteuerwerk zurück, wenn ein Fehlerzustand aufgetreten ist, oder wenn alle Ubertragungsbereiche für einen gegebenen Anforderungssteuerblock aufgebaut worden sind. Wenn alle Ubertragungsbereiche für eine Platten-Ein/Ausgabe-Anforderung aufgebaut worden sind,(wobei eine Platten-Ein/Ausgabe-Anforderung aus mehr als einem Anforderungssteuerblock zusammengesetzt sein kann), wird der Plattenanforderungslisteneintrag von der Eingabeliste der Plattenvorverarbeitungseinheit des Aufgabensteuerwerks entfernt und in eine Liste "in Bearbeitung" eingegeben.
Eine andere Funktion der Plattenvorverarbeitungseinheit des Auigabensteuerwerks besteht darin, das Plattensteuerwerk mit den notwendigen Anschlußdaten zu versehen, die erforderlich sind,damit vervollständigte Ubertragungsbereiche auf die Ursprungseinheit bezogen werden können.
Plattensteuerwerk;
Das Plattensteuerwerk ( DC) besteht aus drei Hauptbestandteilen:
(1) dem Prioritätszuordner,
(2) der Anforderungsnachverarbeitungseinheit und
(3) der Plattenoptimierungseinheit.
309812/1124
Prioritätszuordner:
Der Prioritätszuordner ist grundsätzlich eine "Abrufschleife", die die Reihenfolge der Ereignisse bestimmt,· die im Plattensteuerwerk vor sich gehen sollen. Der Prioritätszuordner kann auch als der Kern des Plattensteuerwerks betrachtet werden, der "Aktionen" einleitet. Aktionen werden als Antwort auf eine Zuordnungsentscheidung eingeleitet. Es gibt drei Hauptgruppen von Aktionen:
(1) die Zuordnung und Bindung von Übertragungsbereichen an diePlattenkanallisten (Plattenoptimierungeeinheit).
(2) Die Beendigung von Platten-Ein/Ausgabe-AnfDtderungen (Anforderungsnachverarbeitungseinheit) und
(3) Die Fehlerverarbeitung.
Bei der Analyse für die Bestimmung zur Einleitung eire r Aktion benutzt der Prioritätszuordner drei Grundeingaben:
(1) Die Ubertragungsbereichs-Eingabelisten,
(2) die vollendeten Übertragungsbereiche in einer Kanalliste und
(3) die Feststellung von Dateifehlerzuständen der Übertragungsregister (CR).
Alle schweren Systemfehlerzustände, die festgestellt werden, werden zuerst bearbeitet, und sie veranlassen das Plattensteuerwerk, dieVerarbeitung anzuhalten. Wenn ein
30981?/
Paritätsfehler für einen vollendeten Übertragungsbereich festgestellt wird, macht der Prioritätszuordner die Zuordnung des Übertragungsbereichs rückgängig, so daß der Fehler korrigiert werden kann.' Ein Teil der Arbeit des Prioritätszuordners besteht darin, zu bestimmen, ob irgendv/elche Übertragungsbereiche von der Platten-Hardware Vervollständigt worden sind. Wenn ein Übertragungsbereich mit hoher Priorität in einer Plattenkanalliste vervollständigt worden ist, bewirkt der Prioritätszuordner die Zuordnung dieses Übertragungsbereichs (CA) für eine Nachverarbeitung vor der Eingabe von Eintragungen in die Übertragungsbereichseingabelisten. Es gibt zwei Ubertragungsbereichseingabelisten mit zwei Prioritäten, in die von der Plattenvorverarbeitungseinheit des Aufgabensteuerwerks Eintragungen eingegeben werden. Der Prioritätszuordner bewirkt zuerst die Zuordnung der Eintragungen in der Liste mit der höchsten Priorität für die Verarbeitung.Zusammengefaßt sorgt der Prioritätszuordner also für die Analyse , die für die Bestimmung notwendig ist, welche Aktion als nächste im Plattensteuerwerk erfolgen soll.
PlattenoptimierunKseinheit;
Die Tätigkeit der Plattenoptimierungseinheit wird vom Prioritätszuordner als Aktion aktiviert. Die Grundfunktion der Plattenoptimierungseinheit besteht 'darin, Übertragungsbereiche zuzuordnen und an die Plattenkanalliste für eine Platten-Hardware-Verarbeitung zu binden.
Der Hauptteil der Arbeit der Plattenoptimierungseinheit erfolgt bei der Zuordnung von Übertragungsbereichen.DdIe Zuordnung bestimmt grundsätzlich die Einsetzung eines
309812/1124
Übertragungsbereichs in eine der Plattenkanallisten ent spre chend
(1) der Priorität des Übertragungsbereichs,
(2) dem Verfahren, bei dem zuerst eingegebene Angaben zuerst wieder ausgegeben werden (FIFO),
(3) entsprechend der laufenden räumlichen Stellung der Platte in Bezug auf den Plattenkopf (bekannt als shortestaccess-time-first-Verfahren) und
(4) dem Umfang der Datenübertragung.
Als Ergebnis der Zuordnung sind die Übertragungsbereiche nicht notwendigerweise in den Plattenkanallisten in der gleichen Reihenfolge angeordnet, wie sie von der Plattenvorverarbeitungseinheit des Aufgabensteuerwerks aufgefunden wurden. Einige zuvor zugeordnete Übertragungsbereiche (ohne Priorität) können ihre Positionen in den Plattenkanallisten durch die Plattenoptimierung geändert haben. Sektoradressierungskonflikte zwischen (zuvor zugeordneten) Übertragungsbereichen ohne Priorität und einen (noch zuzuordnenden)Übertragungsbereich mit Priorität können die erneute Positionierung der Übertr-agungsbereiche ohne Priorität in der Plattenkanalliste bewirken, so daß der Übertragungsbereich mit Priorität die streitige Position einnehmen kann. Prioritätsanforderungen werden zuerst zugeordnet, da sie zeitabhängig sind. Wenn ein Übertragungsbereich zugeordnet und durch die Plattenoptimierungseinheit an eine Plattenkanalliste gebunden worden ist, wird die Steuerung wieder zum Prioritätszuordner zurückgegeben«,
3098 12/1124
22A3956
Anforderungsnachverarbeitungseinhelt;
Die Anforderungsnachverarbeitungseinheit wird vom Prioritätszuordner ausgelöst, wenn eine Entscheidung getroffen worden ist, einen vervollständigten Ubertragungsbereich auf einer der Plattenkanallisten zu verarbeiten. He Verarbeitung von vollständigen Übertragungsbereichen durch die Anforderungsnachverarbeitungseinheit erfolgt dadurch,
(1) daß die Vervollständigung der gesamten Plattenanforderung überwacht wird,
(2) daß eine Sonderverarbeitung für*den Lauf von seismischen Bändern erfolgt,
(3) daß das laufende Dateiende (EOF) nach dem Schreiben von Daten auf die Platte berechnet wird,
(4) daß Zentralspeicherhilfseinrichtungen, die für den Aufbau von Übertragungsbereichen benutzt wurden, freigegeben werden und
(5) daß Fehlerzustände festgestellt oder aufgezeichnet werden.
Die Anforderungsnachverarbeitungseinheit ist in erster Linie für die Beendigung der gesamten Platten-Ein/Ausgabe-Anforderung verantwortlich. Bei den meisten Platten-Ein/ Ausgabe-Anforderungen sind mehrere Übertragungsbereiche beteiligt. Da die zugeordneten Übertragungsbereiche bei einer gegebenen Plattenanforderung zu verschiedenen Zeitpunkten vollständig werden, muß ein Verfahren zur Aufzeichnung der Vervollständigungen der Übertragungsbereiche geschaffen werden. Fig.14 zeigt, wie die Anforderungsnach-
309812/1124
Verarbeitungseinheit die. Vervollständigung einer Plattenanforderung steuert.
Die Pfeile (PTR) zeigen die für die Anforderungsnachverarbeitungseinheit geschaffenen Verbindungen zur Ausübung eines Zugriffs auf verschiedene einer Plattenanforderung zugeordnete Steuerblöcke.
(a) Für jede Platten-Ein/Ausgabe-Anforderung wird ein Listeneintrag geschaffen.
(b) Der Anforderungssteuerblockzähler ist bei jeder Plattenanforderung beteiligt, und ar gibt die Zahl der zu verarbeitenden Anforderungssteuerblöcke an. Wenn alle Übertragungsbereiche für einen gegebenen Anforderungssteuerblock vervollständigt worden sind, dann wird der Anforderungssteuerblockzähler um'. Eins erniedrigt. Wenn der Anforderungssteuerblockzähler den Zählerstand Null hat, dann ist die Plattenanforderung vervollständigt.
(c) Für jeden Anforderungssteuerblock wird ein Hauptübertragungsbereich gebildet, der zur Steuerung der Übertragungsbereichsvervollständigungen für den Anforderungssteuerblock verwendet v/ird. Der Hauptübertragungsbereich bildet auch eine Sammelstelle für Zustandsinformationen.
(d) Der Übertragungsbereichszähler ist im Haupt Übertragungsbereich enthalten, und er gibt die Zahl der offenstehenden Übertragungsbereiche für einen Anforderungssteuerblock an. Wenn ein Übertragungsbereich vervollständigt v/ird, v/ird der Übertragungs-
309812/1m
bereichszähler um Eins erniedrigt. Wenn der Zählerstand des Übertragungsbereichszählers Null ist, dann sind alle Übertragungsbereiche für den Anforderungssteuerblock vervollständigt worden.
Nach Beendigung einer Platten-Ein/Ausgabe-Anforderung übergibt die Anforderungsnachverarbeltungseinheit die vervollständigte Anforderung zum Aufgabensteuerwerk, und sie gibt die Steuerung zum prioritätszuordner zurück.
Patentansprüche
309812/1124

Claims (1)

  1. Patentansprüche
    Speicherprogrammierte digitale Datenverarbeitungsanlage mit mehreren Datenverarbeitungseinheiten und mehreren Steuerwerken zur Steuerung der Verarbeitung von Daten in den Datenverarbeitungseinheiten, dadurch gekennzeichnet, daß die Steuerwerke speicherprogrammierte Steuerwerke sind, und daß Einrichtungen vorgesehen sind, die . die speicherprogrammierten Steuerwerke in einer Steuerungshierarchie verbinden.
    2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß jedes der Steuerwerke unterschiedliche Sonderfunktionen der Anlage steuert, und daß die Steuerwerke die Zuordnung ihrer Sonderfunktionen steuern.
    3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß mehrere Hilfseinrichtungen vorgesehen sind, und daß die Steuerwerke diese Hilfseinrichtungen bedienen»
    4.Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eines der Speicherprogrammierten Steuerwerke ein Hauptsteuerwerk ist, das die Zuordnung einer in den Daten der Anlage enthaltenen Arbeit zu den mehreren Datenverarbeitungseinheiten steuert«
    S.Datenverarbeitungsanlage nach Anspruch 4,dadurch gekennzeichnet, daß ein Feld von Übertragungsregistern sowie mehrere Vorrichtungen Jn der Anlage vorgesehen sind, und daß das HaptSteuerwerk an der Spitze der Steuerwerkshierarchie steht und mit den Datenverarbeitungseinheiten und den Vorrichtungen über die Übertragungsregister in Verbindung steht.
    309812/1124
    6.Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eines der Steuerwerke ein Kommandosteuerwerk ist, das die Zuordnung von Kommandos und/oder Sätzen von Rechnerbefehlsgruppen steuert.
    7.Datenverarbeitungsanlage nach Anspruch 6, dadurch gekennzeichnet, daß das Kommandosteuerwerk eine Folge von Kommandos in eine Wapteschlange zur Bestimmung eines Prozesses für die An]^e eingibt.
    8.Datenverarbeitungsanlage nach Anspruch 7, dadurch
    gekennzeichnet, daß eines der Steuerwerke ein Aufgabensteuerwerk ist, das die vom KommandoSteuerwerk aufgebaute Kommandowarteschlange ausführt.
    9.Datenverarbeitungsanlage nach Anspruch 8, dadurch gekennzeichnet, daß in dem Aufgabensteüerwerk Einrichtingen zum Unwandeln der Kommandowarteschlangen in Aufgaben vorgesehen sind.
    ^.Datenverarbeitungsanlage nach Anspruch 7 oder 8,
    dadurch gekennzeichnet, daß die Aufgaben vorbestimmte Speicherzuweisungen und vorbestimmte Ausführungszeitgrenzen aufweisen.
    11.Datenverarbeitungsanlage nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, daß ein Speicher, ein sekundärer Speicher und ein Peripheriespeicher vorgesehen sind, und daß das Aufgabensteuerwerk Einrichtungen zum Steuern von Anforderungen nach Datenübertragungen zwischen dem Speicher, dem Sekundärspeicher und den
    309812/ 1 m
    Peripherispeichern enthält.
    12,Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Großraumspeicher vorgesehen ist, und daß eines der Steuerwerke ein Groß-• raumspeicher-Steuerwerk zum Steuern der Datenverarbeitung in dem Großraumspeicher ist. · .
    13.Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Anlage eine Mehrprozessoranlage mit einem Zentralspeicher und einem Großraumspeicher ist, daß eines der Steuerwerke ein Hauptsteuerwerk zur Zuordnung einer von der Anlage auszuführenden Arbeit zu Datenverarbeitungseinheiten der mehreren Datenverarbeitungseinheiten enthält, daß ein Kommandosteuerwerk zur Zuordnung von Gruppen von Kommandofolgen zu den mehreren Datenverarbeitungseinheiten vorgesehen ist, daß ein AufgabenSteuerwerk zur Zuordnung von Aufgaben -zum Kommandosteuerwerk vorgesehen ist,und daß ein Großraumspeicher -Steuerwerk zum Steuern der Übertragung von Daten zwischen dem Großraumspeicher und dem Zentralspeicher vorgesehen ist.
    14.Datenverarbeitungsanlage nach Anspruch 1, dadurch gekenn-■ zeichnet, daß mehrere Eingabe- und Ausgabe-Warteschlangen zwischen den Steuerwerken für Übertragungen zwischen den Steuerwerken angeordnet sind.
    ^.Datenverarbeitungsanlage nach Anspruch 14, dadurch gekennzeichnet, daß die Ausgabewarteschlange der Steuerwerke, die in der Steuerungshierarchie einen höheren Platz einnehmen, in derEingabe-tfarteschlange der Steuerwerke
    309812/1124
    angeordnet sind, die in der Steuerungshierarchie einen niedrigeren Platz einnehmen.
    16.Datenverarbeitungsanlage nach Anspruch 5, dadurch gekennzeichnet, daß die Ubertragungsregister in Bitfelder eingegeben sind, die den Anforderungszustand der Datenverarbeitungseinheiten wiedergeben, und daß das Hauptsteuerwerk die Übertragungsregister überwacht.
    17.Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß eines der Steuerwerke ein Hauptsteuerwerk ist,das Einrichtungen zur Zuordnung einer "oder mehrerer der Datenverarbeitungseinheiten zu einer Systemaufgabe enthält,das eine Einrichtung zur Zuordnung einer oder mehrerer der Datenverarbeitungseinheiten zur Verarbeitung des gespeicherten Programms des Hauptsteuerwerks vorgesehen ist und daß eine Einrichtung zur Heruasnahme einer Aufgabe aus einer oder mehreren der Datenverarbeitungseinheiten vorgesehen ist.
    18.Datenverarbeitungsanlage ;nach einem der Ansprüche 4 bis 13 und 17 » gekennzeichnet durch eine Prioritätsaufgabenverarbeitungsliste zur Eingabe von Systemaufgaben in das Hauptsteuerwerk.
    19.Datenverarbeitungsanlage nach einem der Ansprüche bis 13 und 17, gekennzeichnet durch eine Per&herieverarbeitungseinheit und ein Steuerwerk für die Beripherleveratfbeitungseinheit in dem Hauptsteuerwerk zum Steuern der Peripherieverarbeitungseinheit.
    309812/1 124
    20.Datenverarbeitungsanlage nach einem der Ansprüche 4 bis 13 und 17, dadurch gekennzeichnet, daß eines der Steuerwerke ein Kommandosteuerwerk ist und daß in dem Kommandosteuerwerk Einrichtungen zur Zuordnung von. Aktivitäten zu den Datenverarbeitungseinheiten vorgesehen sind,
    21.Datenverarbeitungsanlage nach Anspruch 13, dadurch . gekennzeichnet, daß das KommandoSteuerwerk Einrichtungen · zur Zuordnung von Speicherplatz in dem Zentralspeicher und in dem Großraumspeicher enthält. t
    22. Datenvarbeitungsanlage nach den Ansprüchen 6, 13 oder 20, dadurch gekennzeichnet, daß das KommandoSteuerwerk Einrichtungen zur Zuordnung unterschiedlicher Stufen der Job-Verarbeitung in Datenverarbeitungseinheiten der mehreren, dem Verarbeiten von Jobs zugewiesenen Datenverarbeitungseinheiten enthält.
    23. Datenverarbeitungsanlage nach einem der Ansprüche 6, 7, 8 bis 13, 20, 21 und 22, dadurch gekennzeichnet, daß das Kommandosteuerwerk eine Kommandofolgetabelle enthält, die die Ausführung von Kommandos in den Datenverarbeitungseinheiten steuert.
    24. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß eines der Steuerwerke ein Aufgabensteuerwerk ist, das die Ausführung von Aufgaben in
    der Anlage steuert.
    25. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß jedes der Steuerwerke eine Hauptabrufschleife zur Überwachung der Inhalte der Anlage
    enm"· 309812/1124
    26. Datenverarbeitungsanlage nach Anspruch 25, dadurch gekennzeichnet, daß eines der speicherprogrammierten Steuerwerke ein Hauptsteuerwerk zur Zuordnung einer in den Daten der Anlage enthaltenen Arbeit zu den Datenverarbeitungseinheiten enthält und daß das Hauptsteuerwerk einen Teilprozeßzuordner enthält, der auf die Hauptabrufschleife des HauptSteuerwerks unter Zuordnung der Ausführung der Teilprozesse anspricht.
    27. Datenverarbeitungsanlage nach Anspruch 26, gekennzeichnet durch eine Peripherieverarbeitungseinheit und ein in dem Hauptsteuerwerk enthaltenes Peripherieverarbeitungssteuerwerk, das derPeripherieverarbeitungseinheit zugeordnete Anforderungen steuert.
    28. Datenverarbeitungaanlage nach einem der Ansprüche 8, 9, 10, 11, 13, 17 und 18, dadurch gekennzeichnet, daß das Aufgabensteuerwerk eine Einrichtung zur Vorverarbeitung von Aufgaben für die Datenverarbeitungseinheiten und Einrichtungen zur Überwachung der Vervollständigung von Aufgaben durch die Anlage enthält.
    29. Datenverarbeitungsanlage nach Anspruch 28, gekennzeichnet durch Einrichtungen zur Aufstellung, einer Aufgabenadressenliste für das Aufgabensteuerwerk.
    30. Datenverarbeitungsanlage nach Anspruch 29 oder 30, gekennzeichnet durch eine Einrichtung zur Bildung von Anhaltepunkten in der Aufgabe .
    31. Datenverarbeitungsanlage nach einem der Ansprüche 28, und 30, dadurch gekennzeichnet, daß das Aufgabensteuerwerk eine Aufgabenanforderungswarteschlange mit hoher Priorität und eine Aufgabenanforderungswarteschlange mit
    niedriger Priorität enthält.
    309812/1124 BAD 0RIGINAL
    32. Speicherprogammierte Datenverarbeitungsanlage mit einer Zentraleinheit, einem Zentralspeicher und mehreren Peripheriegeräten, dadurch gekennzeichnet, daß mehrere virtuelle Datenverarbeitungseinheiten vorgesehen sind, die Zugang zum Zentralspeieher haben, daß ein Übertragungsregister von den Peripheriegeräten gesetzte Bereitschaftsbits aufweist, daß zur Überwachung des Übertragungsregisters auf von den Peripheriegeräten gesetzte Bereitschafts-· bits eine Abrufsschleife vorgesehen ist, daß zur Zuordnung von Teilprozessen ein Teilprozeßzuordner vorgesehen ist, und daß die Abrufschleife"auf gesetzte Bereitschaftsbits in den Übertragungsregistern so an'-spricht, daß dem Teilprozeßzuordner eine Meldung zum Zuordnen eines entsprechenden Teilprozesses zugeführt wird.
    33· Datenverarbeitungsanlage nach Anspruch 32, dadurch gekennzeichnet, daß in der Abrufschleife eine Einrichtung zur Überwachung der Zentraleinheit und zur Abgabe einer Meldung an den Teilprozeßzuordner zum Zuordnen eines entsprechenden Teilprozesses enthalten ist.
    34. Datenverarbeitungsanlage nach Anspruch 32 oder 33, gekennzeichnet durch eine Zentraleinheits-Ausführungsliste zur Zusammenstellung der zur Ausführung erforderlichen Zentraleinheitsschritte und eine in der Abrufschleife enthaltene Einrichtung zur Überwachung der Zentraleinheit-Ausführungsliste auf Zentraleinheitsschritte, die ein Arbeiten der Zentraleinheit erfordern.
    309812/1 124
    35. Datenverarbeitungsanlage nach Anspruch 34, dadurch gekennzeichnet, daß eine Einrichtung zur Aufrechterhaltung einer vorbestimmten Zeitgrenze für den gerade aktiven Zentraleinheitsschritt vorgesehen ist, und daß die Hauptabrufschleife eine Einrichtung zur Feststellung des Ablaufs der vorbestimmten Zeitgrenze enthält.
    36. Datenverarbeitungsanlage nach einem der Ansprüche 32 bis 35, gekennzeichnet durch eine Teilprozeßzuordnungstabelle zur Zusammenstellung der zu verarbeitenden Teilprozesse und eine in der Abrufschleife enthaltene Einrichtung zur Überwachung der Teilprozeßzuordnungstabelle auf Eintragungen in der Teilprozeßzuordnungstabelle.
    37. Datenverarbeitungsanlage nach einem der Ansprüche 32 bis 37, dadurch gekennzeichnet, daß zur Ausführung der Hauptabrufschleife eine der virtuellen Datenverarbeitungseinheiten ausgewählt oder zugewiesen wird.
    38. Datenverarbeitungsanlage nach einem der Ansprüche 32 bis 37, dadurch gekennzeichnet, daß in der Übertragungsregisterdatei vorbestimmte Bits gesetzt sind, wenn eine virtuelle Datenverarbeitungseinheit in ihrem Verarbeitungsablauf einen logischen Unterbrechungspunkt erreicht hat, und daß in der Abrufschleife eine Einrichtung zur Überwachung der vorbestimmten Bits der virtuellen Datenvearbeitungseinheit in der Übertragungsregisterdatei enthalten ist.
    309812/1124
    2243.95:
    39. Datenverarbeitungsanlage nach einem der Ansprüche 32 bis 38, dadurch gekennzeichnet, daß die Abrufschleife auf Verfügbarkeitsbits, die in dem Übertragungsregister gesetzt sind, derart anspricht, daß dem Teilprozeßzuordner eine Mitteilung zur Zuordnung von Teilprozessen in verfügbaren virtuellen Datenverarbeitungseinheiten gemacht wird. . -
    309812/1124
DE2243956A 1971-09-07 1972-09-07 Speicherprogrammierte datenverarbeitungsanlage Pending DE2243956A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17835771A 1971-09-07 1971-09-07

Publications (1)

Publication Number Publication Date
DE2243956A1 true DE2243956A1 (de) 1973-03-22

Family

ID=22652234

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2243956A Pending DE2243956A1 (de) 1971-09-07 1972-09-07 Speicherprogrammierte datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US4123795A (de)
CS (1) CS164932B2 (de)
DD (1) DD106724A5 (de)
DE (1) DE2243956A1 (de)
GB (1) GB1408011A (de)
HU (1) HU168322B (de)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
FR2471631B1 (fr) * 1979-12-11 1986-02-21 Cii Honeywell Bull Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information
US4293928A (en) * 1979-12-14 1981-10-06 Burroughs Corporation Peripheral dependent circuit for peripheral controller
US4280193A (en) * 1979-12-14 1981-07-21 Burroughs Corporation Data link processor for magnetic tape data transfer system
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
US4450534A (en) * 1981-05-14 1984-05-22 Texas Instruments Incorporated Multiprocessor with dedicated display
US4517656A (en) * 1981-05-11 1985-05-14 Texas Instruments Incorporated Programmable game with virtual CPU's sharing ALU and memory for simultaneous execution of independent game inputs
US4675810A (en) * 1981-05-22 1987-06-23 Data General Corp. Digital data processing system having a uniquely organized memory system using object-based addressing and in which operand data is identified by names accessed by name tables
US4648031A (en) * 1982-06-21 1987-03-03 International Business Machines Corporation Method and apparatus for restarting a computing system
US4628158A (en) * 1982-07-16 1986-12-09 At&T Bell Laboratories Stored program controller
US4550382A (en) * 1982-09-21 1985-10-29 Xerox Corporation Filtered inputs
US4870644A (en) * 1982-09-21 1989-09-26 Xerox Corporation Control crash diagnostic strategy and RAM display
US4514846A (en) * 1982-09-21 1985-04-30 Xerox Corporation Control fault detection for machine recovery and diagnostics prior to malfunction
US4562538A (en) * 1983-05-16 1985-12-31 At&T Bell Laboratories Microprocessor having decision pointer to process restore position
JPS6024647A (ja) * 1983-07-20 1985-02-07 Hitachi Ltd システムの自律化資源管理方式
US4775932A (en) * 1984-07-31 1988-10-04 Texas Instruments Incorporated Computer memory system with parallel garbage collection independent from an associated user processor
US4758944A (en) * 1984-08-24 1988-07-19 Texas Instruments Incorporated Method for managing virtual memory to separate active and stable memory blocks
US5157595A (en) * 1985-07-19 1992-10-20 El Paso Technologies, Company Distributed logic control system and method
US4855904A (en) * 1986-08-27 1989-08-08 Amdahl Corporation Cache storage queue
JP2982875B2 (ja) * 1987-12-28 1999-11-29 株式会社日立製作所 スレーブ制御装置
JP2667849B2 (ja) * 1988-01-06 1997-10-27 株式会社日立製作所 情報処理装置
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
AU650242B2 (en) * 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5499356A (en) * 1989-12-29 1996-03-12 Cray Research, Inc. Method and apparatus for a multiprocessor resource lockout instruction
JPH05508496A (ja) * 1990-06-11 1993-11-25 クレイ、リサーチ、インコーポレーテッド 命令をロードおよびフラグする方法および装置
US5319778A (en) * 1991-07-16 1994-06-07 International Business Machines Corporation System for manipulating elements in linked lists sharing one or more common elements using head nodes containing common offsets for pointers of the linked lists
WO1997005551A1 (en) * 1995-07-31 1997-02-13 Verifone, Inc. Method and apparatus for operating resources under control of a security module or other secure processor
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
WO1998040810A2 (en) 1997-03-12 1998-09-17 Storage Technology Corporation Network attached virtual tape data storage subsystem
US6094605A (en) * 1998-07-06 2000-07-25 Storage Technology Corporation Virtual automated cartridge system
US6330621B1 (en) 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager
DE60038448T2 (de) * 1999-10-14 2009-04-02 Bluearc Uk Ltd. Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
US6834324B1 (en) 2000-04-10 2004-12-21 Storage Technology Corporation System and method for virtual tape volumes
JP2001344142A (ja) * 2000-05-31 2001-12-14 Nec Corp マルチプログラム処理装置及びそれに用いるファイルのロールバック方式
US6748417B1 (en) * 2000-06-22 2004-06-08 Microsoft Corporation Autonomous network service configuration
CZ300977B6 (cs) * 2001-02-26 2009-09-30 Iss Europe, Spol. S R.O. Radic se sbernicemi PCI a SCSI a výpocetní systém s elektronickým polovodicovým diskem
US7356820B2 (en) * 2001-07-02 2008-04-08 International Business Machines Corporation Method of launching low-priority tasks
US6964049B2 (en) * 2001-07-18 2005-11-08 Smartmatic Corporation Smart internetworking operating system for low computational power microprocessors
KR100459417B1 (ko) * 2001-12-19 2004-12-03 엘지전자 주식회사 다중 프로세서 시스템의 작업 함수 처리 방법
US20030126132A1 (en) * 2001-12-27 2003-07-03 Kavuri Ravi K. Virtual volume management system and method
US20040045009A1 (en) * 2002-08-29 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Observation tool for signal processing components
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
JP4982180B2 (ja) * 2003-05-13 2012-07-25 イヨン ベアム アプリカスィヨン エッス.アー. 多室型粒子線照射施設における自動ビーム割り当てのための方法およびシステム
US7627869B2 (en) * 2003-08-21 2009-12-01 Nxp B.V. Hardware register access via task tag ID
WO2005085994A2 (en) * 2004-02-24 2005-09-15 Koninklijke Philips Electronics N.V. Multi-tasking data processing system
JP4028853B2 (ja) * 2004-03-30 2007-12-26 株式会社日立製作所 情報サービス通信ネットワークシステムおよびセッション管理サーバ
US7290099B2 (en) * 2004-08-19 2007-10-30 International Business Machines Corporation Using parallelism for clear status track processing during error handling behavior in a storage system
US7743376B2 (en) * 2004-09-13 2010-06-22 Broadcom Corporation Method and apparatus for managing tasks in a multiprocessor system
FR2880963B3 (fr) * 2005-01-19 2007-04-20 Atmel Corp Points d'arrets logiciels destines a etre utilises avec des dispositifs a memoire
US7774299B2 (en) * 2005-05-09 2010-08-10 Microsoft Corporation Flow computing
US7506206B2 (en) * 2005-06-07 2009-03-17 Atmel Corporation Mechanism for providing program breakpoints in a microcontroller with flash program memory
US20060288340A1 (en) * 2005-06-16 2006-12-21 Digital Fuel Technologies, Inc. System for acquisition, representation and storage of streaming data
JP2007164451A (ja) * 2005-12-13 2007-06-28 Fujitsu Ltd 入出力制御方法、入出力制御プログラムおよび磁気ディスク装置
US8077974B2 (en) 2006-07-28 2011-12-13 Hewlett-Packard Development Company, L.P. Compact stylus-based input technique for indic scripts
US7822918B2 (en) * 2007-12-18 2010-10-26 International Business Machines Corporation Preallocated disk queuing
US20090320092A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation User interface for managing access to a health-record
US8910168B2 (en) 2009-04-27 2014-12-09 Lsi Corporation Task backpressure and deletion in a multi-flow network processor architecture
US9727508B2 (en) 2009-04-27 2017-08-08 Intel Corporation Address learning and aging for network bridging in a network processor
US8874878B2 (en) 2010-05-18 2014-10-28 Lsi Corporation Thread synchronization in a multi-thread, multi-flow network communications processor architecture
US8873550B2 (en) 2010-05-18 2014-10-28 Lsi Corporation Task queuing in a multi-flow network processor architecture
US9160684B2 (en) * 2009-04-27 2015-10-13 Intel Corporation Dynamic updating of scheduling hierarchy in a traffic manager of a network processor
US8949582B2 (en) 2009-04-27 2015-02-03 Lsi Corporation Changing a flow identifier of a packet in a multi-thread, multi-flow network processor
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9152564B2 (en) 2010-05-18 2015-10-06 Intel Corporation Early cache eviction in a multi-flow network processor architecture
US9081742B2 (en) * 2009-04-27 2015-07-14 Intel Corporation Network communications processor architecture
US8949578B2 (en) 2009-04-27 2015-02-03 Lsi Corporation Sharing of internal pipeline resources of a network processor with external devices
US9444757B2 (en) 2009-04-27 2016-09-13 Intel Corporation Dynamic configuration of processing modules in a network communications processor architecture
US8874457B2 (en) * 2010-11-17 2014-10-28 International Business Machines Corporation Concurrent scheduling of plan operations in a virtualized computing environment
US20120226890A1 (en) * 2011-02-24 2012-09-06 The University Of Tokyo Accelerator and data processing method
US8700228B2 (en) * 2011-03-29 2014-04-15 Sumitomo Heavy Industries, Ltd. Beam scheduler and beam allocation method of beam scheduler
US20150363693A1 (en) * 2014-06-16 2015-12-17 Coldlight Solutions, Llc Architecture and methodology for performing real-time autonomous analytics over multiple actual and virtual devices
JP6305663B2 (ja) * 2015-12-10 2018-04-04 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
CN111753003B (zh) * 2020-04-27 2023-11-07 宁波三星医疗电气股份有限公司 一种提高集中器数据上报成功率的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3530438A (en) * 1965-12-13 1970-09-22 Sperry Rand Corp Task control
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
US3810105A (en) * 1967-10-26 1974-05-07 Xerox Corp Computer input-output system
US3564504A (en) * 1967-11-22 1971-02-16 Us Air Force Method and system for program linkage and communication mechanism for computers

Also Published As

Publication number Publication date
HU168322B (de) 1976-03-28
CS164932B2 (de) 1975-11-28
US4123795A (en) 1978-10-31
DD106724A5 (de) 1974-06-20
GB1408011A (en) 1975-10-01

Similar Documents

Publication Publication Date Title
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE69024753T2 (de) Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt
DE69419680T2 (de) Skalierbare Unterbrechungsstruktur für ein Simultanverarbeitungssystem
DE2722099C2 (de)
DE69424610T2 (de) Datenverarbeitungs-anlage und -verfahren
EP0333123B1 (de) Modular strukturiertes ISDN-Kommunikationssystem
DE69132195T2 (de) System für verteilte Mehrfachrechnerkommunikation
DE2856483C2 (de)
DE3687805T2 (de) Ein-ausgabesteuersystem in einem virtuellen maschinensystem.
DE60020817T2 (de) Ablaufsteuerung für Betriebsmittel
DE3685863T2 (de) Rechnersystem zur steuerung virtueller maschinen.
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE3152435C2 (de)
DE69734432T2 (de) Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem
DE69818103T2 (de) Anrufmechanismus für statisch und dynamisch verknüpfte funktionen in einer objektorientierten steuerung unter verwendung von heterogenen entwicklungsumgebungen
DE69232045T2 (de) Vorrichtung und verfahren zur ausführung von instruktionen in nicht sequentieller reihenfolge
DE2437200A1 (de) Informationsverarbeitungsanlage
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE2839726A1 (de) Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system
DE2045052A1 (de) System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben
DE4208924A1 (de) Verfahren zur kommunikation zwischen prozessoren und parallelverarbeitungscomputer hierfuer
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE4011745A1 (de) Taskverfolgungseinrichtung
DE2612083A1 (de) Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem

Legal Events

Date Code Title Description
OHJ Non-payment of the annual fee