DE2015971B2 - Datenverarbeitungsanlage mit einer anzahl von zeitmultiplex von einem zentralen rechenwerk bedienten virtuellen prozessoren - Google Patents

Datenverarbeitungsanlage mit einer anzahl von zeitmultiplex von einem zentralen rechenwerk bedienten virtuellen prozessoren

Info

Publication number
DE2015971B2
DE2015971B2 DE19702015971 DE2015971A DE2015971B2 DE 2015971 B2 DE2015971 B2 DE 2015971B2 DE 19702015971 DE19702015971 DE 19702015971 DE 2015971 A DE2015971 A DE 2015971A DE 2015971 B2 DE2015971 B2 DE 2015971B2
Authority
DE
Germany
Prior art keywords
priority
virtual processors
central arithmetic
group
arithmetic unit
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.)
Granted
Application number
DE19702015971
Other languages
English (en)
Other versions
DE2015971C3 (de
DE2015971A1 (de
Inventor
Albert Woodland Hills Flynn Michael John Evanston 111 Podvin (VStA)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2015971A1 publication Critical patent/DE2015971A1/de
Publication of DE2015971B2 publication Critical patent/DE2015971B2/de
Application granted granted Critical
Publication of DE2015971C3 publication Critical patent/DE2015971C3/de
Expired 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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

Landscapes

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

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage nach dem Oberbegriff des Hauptanspruchs.
Aus »Computer-Praxis«, 1968, Heft 7, Seite 132, ist ein Time-Sharing-System mit einer zentralen Rechenanlage und einer Anzahl von virtuellen Prozessoren bekannt, welch letztere beispielsweise über Fernschreibverbindungen und eine Verteiler- und Zuordnungseinrichtung mit der zentralen Rechenanlage korrespondieren.
Bei virtuellen Prozessoren handelt es sich um, für sich alleine betrachtet, unvollständige Rechner, die zwar Operanden und Operationsbefehle bereitstellen und Ergebnisdaten auswerten, jedoch die Rechenoperationen nicht selbständig ausführen können, sondern von einem zentralen Rechenwerk ausführen lassen. Jeweils während der Zusammenarbeitsperiode mit dem zentralen Rechenwerk erscheint ein virtueller Prozessor nach außen hin als echter Rechner, was jedoch während der übrigen Zeit wegen des Fehlens eines eigenen Rechenwerks nicht zutritfft.
Aus der DT-AS 12 64 113 ist es bekannt, bei einer Datenverarbeitungsanlage mit einem zentralen Rechenwerk und einer Anzahl verhältnismäßig langsam arbeitender peripherer Geräte, die mit dem zentralen Rechenwerk in Korrespondenz stehen, zur Festlegung der Reihenfolge der Bedienung dieser peripheren ' Geräte durch das zentrale Rechenwerk einen Ringzähler vorzusehen, der laufend alle peripheren Geräte abfragt und bei jedem eine Operationsanforderung an das zentrale Rechenwerk anzeigenden Gerät stehenbleibt. Nach Beendigung des Datenaustauschs läuft der
lu Ringzähler dann auf der Suche nach weiteren, Operationsanforderungen bereithabenden Geräten weiter. Außerdem ist es aus dieser Druckschrift bekannt, den Ringzähler so zu betreiben, daß er nach jedem Auffinden eines operationsanfordernden Geräts wieder von einem bestimmten Zustand aus beginnend zählt. Schließlich ist es aus dieser Druckschrift auch bekannt, den Ringzähler jeweils beim Auffinden eines operationsanfordernden Geräts einfach weiterlaufen zu lassen, wobei das jeweils mit dem zentralen Rechenwerk in Korrespondenz stehende Gerät von sich aus die Möglichkeit der Verbindungsherstellung zwischen einem weiteren Gerät und dem zentralen Rechenwerk durch den Ringzähler sperrt, solange es selbst das zentrale Rechenwerk besetzt hält.
Die eben erwähnten Möglichkeiten der Abfragung peripherer Geräte, bei welchen es sich freilich auch um simultan arbeitende virtuelle Prozessoren handeln kann, ermöglichen keinen optimalen Ausnutzungsgrad der Datenverarbeitungsanlage, da alle Prozessoren zyklisch
ω der Reihe nach abgefragt werden, ob sie eine O'perationsanforderung an das zentrale Rechenwerk haben. Da im Normalfall während eines Abfragezyklus nur ein Teil der virtuellen Prozessoren Operationsanforderungen vorliegen hat, während die anderen
^ virtuellen Prozessoren gerade keine solche Operationsanforderung bereit haben, wird ein Teil der Zyklusdauer, nämlich der auf die Abfrage der gerade keine Operationsanforderung bereithabenden virtuellen Prozessoren entfallende Teil der Zyklusdauer, nutzlos verbraucht.
Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanlage nach dem Oberbegriff des Hauptanspruchs so zu gestalten, daß ein besserer zeitlicher Ausnutzungsgrad der Anlage erzielt wird.
'"> Diese Aufgabe wird gemäß der Erfindung durch die im kennzeichnenden Teil des Hauptanspruchs angegebene Anordnung gelöst.
Der gemäß der obengenannten Aufgabestellung angestrebte höhere zeitliche Ausnutzungsgrad im
w Vergleich zu bekannten Datenverarbeitungsanlagen wird bei der erfindungsgemäßen Anordnung aufgrund der Tatsache erreicht, daß in jedem Zeitintervall einer Mutliplexelektrode, d. h. eines Abfragezyklus, mehrere virtuelle Prozessoren, nämlich von jeder Gruppe ein virtueller Prozessor, gleichzeitig abgefragt werden, so daß zu erwarten ist, daß pro Zeitintervall jeweils mindestens ein virtueller Prozessor mit einer Operationsanforderung an das zentrale Rechenwerk vorhanden ist. Welcher der jeweils gleichzeitig abgefragten
bo Prozessoren dann in dem betreffenden Zeitintervall tatsächlich von dem zentralen Rechenwerk bedient wird, wird jeweils durch die Prioritätssteuereinheit festgelegt.
Bevorzugte Ausgestaltungen der Erfindung sind
h5 Gegenstand der Unteransprüche.
Ein Ausführungsbeispiel der Erfindung wird nachstehend mit Bezug auf die Zeichnungen näher beschrieben. Es zeigt
F i g. 1 Ein Blockschaltbild einer Datenverarbeitungsanlage nach der Erfindung,
Fig.2 ein Blockschaltbild einer Gruppe virtueller Prozessoren,
F i g. 3 ein Blockschaltbild der Prioritätssteuereinheit, r' und
F i g. 3A, 3B und 3C die Arbeitsweise der Multiplexsteuerung der Datenverarbeitungsanlage erläuternde Diagramme bzw. Tabellen.
Fig. 1 zeigt den grundsätzlichen Aufbau der Daten-Verarbeitungsanlage. Sie weist ein zentrales Rechenwerk IO und vier Gruppen 20 von mit dieser korrespondierenden virtuellen Prozessoren auf, wobei die Gruppen mit Gruppe 0 bis Gruppe 3 numeriert und die virtuellen Prozessoren mit PO, Pl, P2, P3 ... P31 is bezeichnet sind. Dabei umfaßt beispielsweise die Gruppe 0 die virtuellen Prozessoren PO, P4, P8...P28. Die Gruppen virtueller Prozessoren sind mit dem zentralen Rechenwerk über Datenaustauschkaiiäle verbunden, nämlich jeweils über eine Anforderungsleitung 13, über welche Operationsanforderungen von den virtuellen Prozessoren zum zentralen Rechenwerk übertragbar sind, eine Annahmebestätigungsleitung 15, über welche die Annahme einer Operationsanforderung durch das zentrale Rechenwerk dem jeweils betreffenden virtuellen Prozessor mitgeteilt wird, eine Operandenleitung 17 zur Übertragung von Operanden und eine Ergebnisdatenleitung 19 zur Rückübertragung von Ergebnisdaten vom zentralen Rechenwerk zum jeweils betreffenden virtuellen Prozessor. s»
Außerdem weist die Datenverarbeitungsanlage gemäß F i g. 1 einen Hauptspeicher 23, diesen mit den Gruppen virtueller Prozessoren verbindende Lade/ Speicher-Leitungen 31 und ein Leitwerk 32 auf.
Eine ebenfalls in F i g. 1 dargestellte Prioritätssteuereinheit 11 bestimmt die Prioritätsreihenfolge unter den Gruppen virtueller Prozessoren, d. h. sie legt fest, welche Gruppen jeweils vom zentralen Rechenwerk 1 bedient wird.
F i g. 2 zeigt eine Gruppe virtueller Prozessoren mehr tu im einzelnen, nämlich die Gruppe 0 mit den virtuellen Prozessoren PO, P4... P28. Alle Gruppen sind in gleicher Weise aufgebaut.
Jeder Gruppe ist ein Ringzähler 201 zugeordnet, der entsprechend der Anzahl von virtuellen Prozessoren einer Gruppe acht Zustände und acht Ausgänge (mit 0 bis 7 numeriert) besitzt. Über eine Leitung 100 erhält der Ringzähler 201 Taktimpulse von der Prioritätssteuereinheit 11. Die Ringzähler aller vier Gruppen virtueller Prozessoren laufen synchron und die Schwingungsdauer der Taktimpulse beträgt beispielsweise 8 ns, so daß auf den Ausgangsleitungen 203, 205, 207. ..217 des Ringzählers nacheinander jeweils mit einem Phasenabstand von 8 ns ein Ausgangssignal erscheint. In jeder Leitung tritt also jeweils alle 64 ns ein Ausgangssignal π auf.
Jede der Leitungen 203... 217 führt zu einem Eingang eines jeweils einem virtuellen Prozessor zugeordneten UND-Glied 235 bzw. 237...249, und zum anderen Eingang jedes dieser UND-Glieder führt eine Anforde- t>o rungsleitung 219 bzw. 221... 233 des jeweils betreffenden virtuellen Prozessors. Von jedem virtuellen Prozessor führt außerdem eine Operandenleitung 220 bzw. 222 ... 234 weg, die über eine Torschaltung 204 bzw. 206... 218 mit der die betreffende Gruppe <νί virtueller Prozessoren mit dem zentralen Rechenwerk 10 verbindenden Operandenleitung 17 verbunden ist. Die Torschaltungen 204, 206 ... 218 sind jeweils über eine Leitung 236 bzw. 238... 250 ansteuerbar, die vom Ausgang des jeweils zugehöriger.· UND-Glieds 235 bzw. 237...249 über ein Halteglied 280 bzw. 282...294 führt. Ein Verzögerungsglied 281 bzw. 283 ... 295 dient jeweils zum Rückstellen des zugehörigen Halteglieds 280.., 294 nach einer bestimmten Verzögerungszeit nach einer Ansteuerung. Die Leitungen 236... 250 sind außerdem mit einem ODER-Glied 253 verbunden, dessen Ausgang über eine Anforderungsleitung 102 mit der Prioritätssteuereinheit 11 verbunden ist. Auf der Anforderungsleitung 102 erscheint ein Signal, wenn der jeweils über eine der Ringzählerausgangsleitungen 203 ... 217 und das zugehörige UN D-Glied 235 ... 249 vom Ringzähler 201 freigegebene virtuelle Prozessor eine Operationsanforderung an das zentrale Rechenwerk 10 vorliegen hat.
Fig. 3 zeigt die Prioritätssteuereinheit 11 mehr im einzelnen. Sie enthält einen Prioritätsringzähler 101, der ebenso wie die Ringzähler 201 der einzelnen Gruppen virtueller Prozessoren über eine Leitung 100 Taktimpulse erhält, deren Schwingungsdauer jeweils 8 ns beträgt. Der Prioritätsringzähier 10) ändert jedoch seinen Zustand immer nur nach jeweils acht Taktimpulsen, also alle 64 ns. Das bedeutet, daß der Prioritätsringzähler 101 seinen Zustand jeweils nach einem vollständigen Umlauf der mit ihm synchron laufenden Ringzähler 201 der einzelnen Gruppen virtueller Prozessoren ändert. Jeder der vier Zustände des Prioritätsringzählers definiert eine nominelle Gruppenpriorität, wobei der Zustand 0 die Priorität der Gruppe 0, der Zustand 1 die Priorität der Gruppe 1 usw. zuordnet. Die Phasenlage zwischen den Zuständen des Prioritätsringzählers 101 und den Ringzählern 201 der einzelnen Gruppen ist in Fig.3A gezeigt. Die vier Ausgangsleitungen des Prioritätsringzählers sind mit 103, 105, 107 und 109 bezeichnet.
Die Prioritätssteuereinheit 11 kann in zwei Betriebsarten betrieben werden, nämlich im Normalbetrieb, in welchem die Zuordnung der Priorität zu den einzelnen Gruppen virtueller Prozessoren durch den jeweiligen Zustand des Prioritätsringzählers 101 bestimmt ist, und in einer Betriebsart mit Prioritätsvorrang jeweils einer bestimmten Gruppe virtueller Prozessoren, in welchem der Prioritätsringzähler 101 übersteuert und die tatsächliche Priorität vorrangig zugewiesen wird, jeweils einer bestimmten Gruppe virtueller Prozessoren unabhängig von der jeweiligen, vom Prioritätsringzähler definierten nominellen Priorität, sofern aus der betreffenden Gruppe eine Operationsanforderung vorliegt.
Um diese beiden Betriebsarten zu ermöglichen, enthält die Prioritätssteuereinheit 11 gemäß F i g. 3 eine Register- und Logikschaltung, die ein Wählregister 110, eine Sperrlogik 160 und ein Sperregister ί 12 umtalJi und das Übersteuern des Prioritätszählers 101 ermöglicht. Das Wählregister 110 weist vier Stellen FO, £1, £2 und £3 auf, die jeweils einer Gruppe virtueller Prozessoren zugeordnet sind. Entsprechend besitzt das Sperregister 112 vier Stellen /0, /1, /2 und /3. Die Stellen des Wählregisters und des Sperregisters können jeweils den Zustand 0 oder den Zustand 1 einnehmen. Im Normalbetrieb weisen alle Wählregisterstellen den Zustand 0 auf, und zum Umschalten auf den Betrieb mit Prioritätsvorrang kann beispielsweise durch den Programmierer oder das Leitwerk, z. B. aufgrund eines Programmbefehls, jeweils eine Wählregisterstelle in den Zustand 1 gestellt werden, wodurch die zugehörige Gruppe virtueller Prozessoren absolute Priorität erhält.
Es kann jeweils nur eine Wählregisterstelle in den Zustand 1 gestellt werden; alle drei jeweils anderen Wählregisterstellen müssen im Zustand 0 verbleiben. Die Zustände der Sperregisterstellen sind Funktionen der Wählregisterzustände, des jeweiligen Prioritätsringzählerzustandes und auf den Anforderungsleitungen 102 der einzelnen Gruppen erscheinender Anforderungssignale RO, Ri, /?2oder R3. Das Sperregister 112 wird jeweils durch die Sperrlogik 160 gesetzt. Die Sperrlogik
160 ist mit den Ringzählerausgangsleitungen 103 ... 109 und über Leitungen 102a mit den Anforderungsleitungen 102 verbunden.
Weiter enthält die Prioritätssteuereinheit 11 eine logische Schaltung zum Abfragen der jeweils die Priorität besitzenden Gruppe virtueller Prozessoren auf eine Operationsanforderung bzw., falls die Priorität genießende Gruppe keine Operationsanforderung bereit hat, zum Abfragen der übrigen Gruppen in der Reihenfolge ihrer Gruppennummern nach vorliegenden Operationsanforderungen. Diese logische Schaltung enthält eine Matrix von UND-Gliedern 111, 113, 115, 117, 133, 135, 137, 139, 155, 157, 159, 161, 181, 185 und 187, von weichen die UND-Glieder 111, 133, 155 und 181 bei der Gruppe 0, die UND-Glieder 113, 135, 157 und 183 der Gruppe 1, die UND-Glieder 115, 137, 159 und 185 der Gruppe 2 und die UND-Glieder 117, 139,
161 und 187 der Gruppe 3 zugeordnet sind.
Mit jeweils einem Eingang sämtlicher UND-Glieder ist die Taktimpulsleitung 100 über ein Verzögerungsglied 122 verbunden.
Weiter ist jeweils ein Eingang aller jeweils einer Gruppe zugeordneter UND-Glieder mit der Anforderungsleitung 102 der betreffenden Gruppe verbunden.
Ferner ist die Ausgangsleitung 103 des Prioritätsringzählers über ein weiteres UND-Glied 130, mit dessen anderem Eingang die Sperregisterstelle /0 verbunden ist, und über ein ODER-Glied 132, mit dessen anderem Eingang die Wählregisterstelle £0 verbunden ist, an einen weiteren Eingang des UND-Gliedes 111 und außerdem an je einen Eingang der UND-Glieder 113, 115 und 117 geführt. Die Ausgangsleitung 105 des Prioritätsringzählers ist in ähnlicher Weise über ein weiteres UND-Glied 134, dessen anderer Eingang mit der Sperregisterstelle /1 verbunden ist, und ein ODER-Glied 136, dessen anderer Eingang mit der Wählregisterstelle Ei verbunden ist, an einen weiteren Eingang des UND-Gliedes 135 und jeweils einen Eingang der UND-Glieder 133,137 und 139 geführt. Die Ausgangsleitung 107 ist über ein weiteres UND-Glied 138 mit dessen anderem Eingang die Sperregisterstelle /2 verbunden ist, und ein ODER-Glied 142, mit dessen anderem Eingang die Wählregisterstelle El verbunden ist, an einen weiteren Eingang des UND-Gliedes 159 sowie an jeweils einen Eingang der UND-Glieder 155, 157 und 161 geführt. In ähnlicher Weise ist schließlich die Ausgangsleitung 109 des Prioritätsringzählers über ein weiteres UND-Glied 144, dessen anderer Eingang mit der Sperregisterstelle /3 verbunden ist, und ein ODER-Glied 146, dessen anderer Eingang mit der Wählregistcrstelle E3 verbunden ist, an einen weiteren Eingang des UND-Gliedes 187 sowie an jeweils einen Eingang der UND-Glieder 181,183 und 185 geführt.
Das jeweils an einem der UND-Glieder 111 ... 117, 133 ... 139,155 ... 161 oder 181 ... 187 auftretende, mit Toroperand 0 ... Toroperand 3 bezeichnete Ausgangssignal verbindet jeweils die zugehörige Gruppe virtueller Prozessoren mit dem zentralen Rechenwerk in
Zur Weiterrreichung der Priorität unter den Gruppen virtueller Prozessoren entsprechend der Folge der Gruppennummern, falls die jeweils im Besitz der nominellen Priorität oder des Prioritätsvorrangs befind-■) liehe Gruppe keine Operationsanforderung vorliegen hat, dient eine der UND-Glied-Matrix zugeordnete Inverterschaltung mit Invertern 119, 121, 123, 141, 143, 145, 167, 169,171, 189,191 und 193. Die Wirkungsweise der Inverter in der in Fig. 3 gezeigten, aus der
κι UND-Glied-Matrix und diesen Invertern bestehenden Logikschaltung zur Weiterreichung der Priorität in der genannten Weise ergibt sich ohne weiteres aus der Schaltung.
Die als 3B dargestellte Tabelle zeigt die Zuordnung der Priorität zu den einzelnen Gruppen virtueller Prozessoren im Normalbetrieb. Die erste Spalte der Tabelle zeigt den Prioritätsringzählerzustand; diesem entspricht die in der zweitletzten Spalte angegebene nominelle Gruppenpriorität. Die letzte Spalte gibt die
3d tatsächliche Priorität an, die sich aufgrund der jeweiligen nominellen Priorität und der Gruppenanforderungssignale in den vier mittleren Spalten der Tabelle ergibt. Das Zeichen X an verschiedenen Stellen der Tabelle zeigt, daß der betreffende Wert bzw. Zustand ohne Bedeutung für die Zuordnung der tatsächlichen Priorität ist. Demgemäß zeigt die zweite Spalte, daß die Zustände der Gruppenringzähler keine Bedeutung haben.
Die ersten vier Zeilen der Tabelle nach Fig.3B
jo zeigen beispielsweise, daß beim Zustand 0 des Prioritätsringzählers die Gruppe 0 die nominelle Priorität und, wenn das Gruppenanforderungssignal R 0 den Wert 1 (Zeile 1) hat, auch die tatsächliche Priorität besitzt. Hat dagegen das Anforderungssignal RO den Wert 0 (Zeilen 2 bis 4), so erhält die Gruppe 1 (Zeile 2) bzw., falls die Gruppe 1 auch keine Operationsanforderung vorliegen hat, die Gruppe 2 (Zeile 3) bzw., falls auch hier keine Operationsanforderung aussteht, die Gruppe 3 (Zeile 4) die tatsächliche Priorität.
Entsprechend erfolgt, wie der übrige Teil der Tabelle zeigt, die Zuordnung der tatsächlichen Priorität in Abhängigkeit von der jeweiligen nominellen Priorität und den Gruppenanforderungssignalen während der Zustände 1,2 und 3 des Prioritätsringzählers.
Fig.3C zeigt eine Funktionstabelle, welche die Zustände der Stellen des Wählregisters 110 und des Sperregisters 112 bei Betrieb mit Prioritätsvorrang (erste fünf Spalten) und im Normalbetrieb (letzte Spalte) angibt. Daraus ist ersichtlich, daß im Normalbetrieb, wie
so bereits erwähnt, alle Wählregisterstellen £0... £"3 den Zustand 0 und alle Sperregisterstellen 10... 13 den Zustand 1 haben. Im Betrieb mit Prioritätsvorrang ist jeweils diejenige Wählregisterstelle auf den Zustand 1 gesetzt, die der betreffenden, mit der absoluten Priorität auszuzeichnenden Gruppe virtueller Prozessoren zugeordnet ist. Die Zustände der Sperregisterstellen irn Betrieb mit Prioritätsvorrang, die in der Tabelle nur mit Sternchen gekennzeichnet sind, sind jeweils durch die ebenfalls in Fig.3C unter der Tabelle angegebenen
Mi logischen Gleichungen bestimmt, hängen also jeweils vom Prioritätsringzählerzustand, den Zuständen der Wählregisterstellen und der Gruppenanforderungssignale Λ 0... R 3 ab.
Im Betrieb mit Prioritätsvorrang gelangt der
ι,', 1 -Zustand der jeweils gesetzten Wählregisterstelle über das zugehörige ODER-Glied 132 bzw. 136 bzw. 142 bzw. 146 als Torsignal an das zugehörige UND-Glied 111 bzw. 135 bzw. 159 bzw. 187, so daß dieses beim
Vorliegen eines Anforderungssignals von der betreffenden, absolute Priorität besitzenden Gruppe stets freigegeben ist. Hat die jeweils absolute Priorität genießende Gruppe eine Operationsanforderung vorliegen, so haben, wie die logischen Gleichungen nach F i g. 3C ergeben, alle Sperregisterstellen den Zustand 0, wodurch die Steuerung der Prioritätssteuereinheit durch die Ausgangssignale des Prioritätsringzählers 101 außer Wirkung gesetzt ist. Wenn jedoch die jeweils absolute Priorität genießende Gruppe keine Opera-
tionsanforderung vorliegen hat, kehrt die Pric Steuereinheit für den jeweiligen Abfragezyklu Normalbetrieb zurück, indem die dem gerade lau Prioritätsringzählerzustand zugeordnete Sperre stelle auf den Zustand 1 gesetzt wird, so daß die Pi während dieses Abfragezyklus wie im Normall nach der für den betreffenden Prioritätsringzäl stand gültigen Zuordnungsreihenfolge (entspn der Tabelle nach F i g. 3B) vergeben wird.
Hierzu 5 Blatt Zeichnungen

Claims (3)

Patentansprüche:
1. Datenverarbeitungsanlage mit einem zentralen Rechenwerk, das in eine Anzahl von Operationseinheiten gegliedert ist, und mit einer Anzahl von über Datenaustauschkanäle mit dem zentralen Rechenwerk verbundenen virtuellen Prozessoren, die jeweils Operanden und Operationsanforderungen an das zentrale Rechenwerk bereitstellen und Ergebnisdaten empfangen, und mit einer Multiplexsteuereinrichtung, welche den Datenaustausch zwischen dem zentralen Rechenwerk und den einzelnen virtuellen Prozessoren zeitmultiplex steuert, d a durch gekennzeichnet, daß die einzelnen virtuellen Prozessoren (PO bis P31) zu mehreren Gruppen (20) zusammengefaßt sind und daß die Multiplexsteuereinrichtung mehrere Multiplexereinheiten in Form von Ringzählern (201), von denen jeder einer Gruppe von virtuellen Prozessoren zugeordnet ist und welche parallel und synchron derart arbeiten, daß in jedem Zeitintervall von allen Gruppen jeweils ein virtueller Prozessor (z. B. PO, Pl, P2, P3) für den Datenaustausch mit dem zentralen Rechenwerk (10) anbietbar ist, und eine Prioritätssteuereinheit (11) enthält, welche für jedes Zeitintervall die Prioritätsreihenfolge unter den Gruppen (20) bestimmt und dadurch festlegt, welche der in dem betreffenden Zeitintervall jeweils angebotenen Prozessoren von dem zentralen Rechenwerk bedient wird.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Prioritätssteuereinheit (11) eine die Priorität zyklisch der Reihe nach den einzelnen Gruppen (20) zuordnende Prioritätsringzählerschaltung (101) aufweist.
3. Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, daß die Prioritätssteuereinrichtung (11) eine Register- und Logikschaltung (110, 112, 114a bis 120a, !60) aufweist, mittels welcher die Prioritätsringzählerschaltung (101) übersteuerbar ist und die Priorität einer bestimmten G ruppe (20) von Prozessoren zuweisbar ist.
DE2015971A 1969-04-03 1970-04-03 Datenverarbeitungsanlage mit einer Anzahl von zeitmultiplex von einem zentralen Rechenwerk bedienten virtuellen Prozessoren Expired DE2015971C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US81302469A 1969-04-03 1969-04-03

Publications (3)

Publication Number Publication Date
DE2015971A1 DE2015971A1 (de) 1970-10-15
DE2015971B2 true DE2015971B2 (de) 1978-01-19
DE2015971C3 DE2015971C3 (de) 1978-09-28

Family

ID=25211248

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2015971A Expired DE2015971C3 (de) 1969-04-03 1970-04-03 Datenverarbeitungsanlage mit einer Anzahl von zeitmultiplex von einem zentralen Rechenwerk bedienten virtuellen Prozessoren

Country Status (5)

Country Link
US (1) US3611307A (de)
JP (1) JPS511108B1 (de)
DE (1) DE2015971C3 (de)
FR (1) FR2042736A5 (de)
GB (1) GB1241403A (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771138A (en) * 1971-08-31 1973-11-06 Ibm Apparatus and method for serializing instructions from two independent instruction streams
GB1397438A (en) * 1971-10-27 1975-06-11 Ibm Data processing system
US3815095A (en) * 1972-08-29 1974-06-04 Texas Instruments Inc General-purpose array processor
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
ZA742069B (en) * 1973-04-13 1975-03-26 Int Computers Ltd Improvements in or relating to array processors
US3825902A (en) * 1973-04-30 1974-07-23 Ibm Interlevel communication in multilevel priority interrupt system
AT335202B (de) * 1973-08-13 1977-02-25 Ibm Oesterreich Datenverarbeitungsanlage zur parallelen ausfuhrung von verarbeitungsoperationen
AU501600B2 (en) * 1973-11-30 1979-06-28 Compagnie Internationale Pour L'informatique Cii Multiprogramming computer system
US3970993A (en) * 1974-01-02 1976-07-20 Hughes Aircraft Company Cooperative-word linear array parallel processor
US3909798A (en) * 1974-01-25 1975-09-30 Raytheon Co Virtual addressing method and apparatus
US3921148A (en) * 1974-03-06 1975-11-18 Ontel Corp Business machine communication system and data display
IT1100916B (it) * 1978-11-06 1985-09-28 Honeywell Inf Systems Apparato per gestione di richieste di trasferimento dati in sistemi di elaborazione dati
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
DE2936801C2 (de) * 1979-09-12 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Steuereinrichtung zur Ausführung von Instruktionen
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
US4554626A (en) * 1981-05-22 1985-11-19 Data General Corporation Digital data processing system
GB2167583B (en) * 1984-11-23 1988-11-02 Nat Res Dev Apparatus and methods for processing an array of items of data
DE3501594A1 (de) * 1985-01-18 1986-07-24 Planatolwerk Willy Hesselmann Chemische- und Maschinenfabrik für Klebetechnik GmbH & Co KG, 8200 Rosenheim Schmelzklebstoff zum klebebinden von papierblocks und ableimen fadengehefteter buecher
US5129087A (en) * 1988-02-03 1992-07-07 International Business Machines, Corp. Computer system and a method of monitoring transient data structures in a computer system
GB8817911D0 (en) * 1988-07-27 1988-09-01 Int Computers Ltd Data processing apparatus
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
US5758157A (en) * 1992-12-31 1998-05-26 International Business Machines Corporation Method and system for providing service processor capability in a data processing by transmitting service processor requests between processing complexes
US6567837B1 (en) * 1997-01-29 2003-05-20 Iq Systems Object oriented processor arrays
US5987587A (en) * 1997-06-06 1999-11-16 International Business Machines Corporation Single chip multiprocessor with shared execution units
US8681973B2 (en) * 2010-09-15 2014-03-25 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for performing homomorphic encryption and decryption on individual operations

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3346851A (en) * 1964-07-08 1967-10-10 Control Data Corp Simultaneous multiprocessing computer system
US3312954A (en) * 1965-12-08 1967-04-04 Gen Precision Inc Modular computer building block
US3421150A (en) * 1966-08-26 1969-01-07 Sperry Rand Corp Multiprocessor interrupt directory

Also Published As

Publication number Publication date
JPS511108B1 (de) 1976-01-13
DE2015971C3 (de) 1978-09-28
DE2015971A1 (de) 1970-10-15
GB1241403A (en) 1971-08-04
US3611307A (en) 1971-10-05
FR2042736A5 (de) 1971-02-12

Similar Documents

Publication Publication Date Title
DE2015971C3 (de) Datenverarbeitungsanlage mit einer Anzahl von zeitmultiplex von einem zentralen Rechenwerk bedienten virtuellen Prozessoren
DE3300262C2 (de)
DE3300260C2 (de)
DE3300261C2 (de)
DE3224034C2 (de)
DE3300263C2 (de)
EP0107026B1 (de) Speicherprogrammierbare Steuerung
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE1774513C3 (de) Schaltungsanordnung zur Bestimmung des Vorrangverhältnisses zwischen mehreren Anforderungssignalen für programmgesteuerte Datenverarbeitungsanlagen
DE1299145B (de) Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen
DE2855673C2 (de)
DE1499175B2 (de) Steuereinrichtung in einem mehrspezies rechner
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE3246432C2 (de)
DE2911677A1 (de) Verfahren und schaltungsanordnung zum ueberwachen und verhindern von blockierungen in datenverarbeitungssystemen mit mehreren prozessoren
DE1269394B (de) Schaltungsanordnung zur Bestimmung des Vorrangsverhaeltnisses zwischen mehreren Eingangsgroessen fuer programmgesteuerte Datenverarbeitungssysteme
EP0476759B1 (de) Schaltungsanordnung zur zeitweisen Verzögerung des Programmablaufs in einem Mikroprozessor
EP0050305B1 (de) Einrichtung zur Steuerung des Zugriffes von Prozessoren auf eine Datenleitung
DE1524142C3 (de) Einrichtung in elektronischen Datenverarbeitungsanlagen zur Steuerung des Vorranges bei der Speicherzuteilung
DE2210426C2 (de) Verfahren zur vorranggesteuerten Auswahl einer von mehreren Funktions einheiten zur Anschaltung an eine ihnen gemeinsam zugeordnete Einrichtung in Datenverarbeitungsanlagen und Schaltung zur Durchführung des Verfahrens
DE1524181B2 (de) Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage
DE3048414A1 (de) &#34;schaltungsanordnung fuer eine datenverarbeitungsanlage&#34;
DE2230727B2 (de) Schaltungsanordnung zur dynamischen zuteilung von speicherzyklen mit vorrangssteuerung
DE19756885A1 (de) Verfahren zum Austausch von Signalen zwischen über einen Bus verbundenen Modulen sowie Vorrichtung zur Durchführung des Verfahrens
DE1944058A1 (de) Schaltung zum Zaehlen von Impulsen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee