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 prozessorenInfo
- 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
Links
- 230000000903 blocking effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3875—Pipelining a single stage, e.g. superpipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling 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)
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.
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)
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)
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 |
-
1969
- 1969-04-03 US US813024A patent/US3611307A/en not_active Expired - Lifetime
-
1970
- 1970-03-26 FR FR7011060A patent/FR2042736A5/fr not_active Expired
- 1970-03-26 GB GB04658/70A patent/GB1241403A/en not_active Expired
- 1970-03-30 JP JP45026071A patent/JPS511108B1/ja active Pending
- 1970-04-03 DE DE2015971A patent/DE2015971C3/de not_active Expired
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) | "schaltungsanordnung fuer eine datenverarbeitungsanlage" | |
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 |