DE2015971A1 - Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden - Google Patents
Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher OperandenInfo
- Publication number
- DE2015971A1 DE2015971A1 DE19702015971 DE2015971A DE2015971A1 DE 2015971 A1 DE2015971 A1 DE 2015971A1 DE 19702015971 DE19702015971 DE 19702015971 DE 2015971 A DE2015971 A DE 2015971A DE 2015971 A1 DE2015971 A1 DE 2015971A1
- Authority
- DE
- Germany
- Prior art keywords
- priority
- group
- line
- request
- operands
- 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
- 238000012545 processing Methods 0.000 title claims description 39
- 238000000034 method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 230000000737 periodic effect Effects 0.000 claims 2
- 238000012552 review Methods 0.000 claims 1
- 230000000903 blocking effect Effects 0.000 description 19
- 230000005284 excitation Effects 0.000 description 19
- 238000007792 addition Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000607479 Yersinia pestis Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 206010022000 influenza Diseases 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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
International Business Machines Corporation, Armonk,
N.Y« 10 504, Vereinigte Staaten von Amerika
Datenverarbeitungssystem zur Verarbeitung eines. Stromes
mehrfacher Operanden
Die Erfindung betrifft Datenverarbeitungssysteme
zur Verarbeitung eines Stromes mehrfacher Operanden. Insbesondere betrifft die Erfindung di§ Kombination
von digitalen Einrichtungen, welche, zur Vergrößerung der
Durchflußleistung von parallel verarbeitenden Datenverarbeitungssystemen
verwendbar sind.
Die Kompliziertheiten des modernen Lebens brachten
^K'V'Z-, J.w."i&■-. · ORlGiNALSNSPECTEO
■ - 1 -
die Notwendigkeit mit sich, ungeheuere Mengen von Daten elektronisch zu verarbeiten. Diese Notwendigkeit löste
die Entwicklung von großen, ultraschnellen, elektronischen Datenverarbeitungssystemen aus, welche die ungeheueren
Mengen von Daten dadurch verarbeiten, daß innerhalb des betreffenden Datenverarbeitungssystems Instruktionsfolgen
verarbeitet werden. Um dem stets anwachsenden Bedarf an Datenverarbeitung gerecht zu werden, ist man in
der Verarbeitung von Instruktionen von der Verarbeitungsgeschwindigkeit abhängig. Zwecks Erhöhung der Verarbeitungsgeschwindigkeit
wurden in neuerer Zeit Arbeiten auf dem Gebiet der parallelen Datenverarbeitung durchgeführt.
Solche Arbeiten beziehen sich auf Systeme, in welchen eine Vielzahl von Datenverarbeitungsanlagen
eine einfache Ausführungseinheit, welche mehrere Ausführungsgeräte beinhaltet, zeitmultiplex betreibt.
Jedoch haben solche bekannte Systeme andererseits oft den Nachteil, daß sie störanfällig sind, so daß die
in der Ausführungseinheit enthaltenen Geräte nicht wirkungsvoll ausgenutzt werden können. Bei solchen bekannten Systemen
wird häufig auch eine Polgeabrufetechnik zur Zusendung von Anforderungssignalen zu der Ausführungseinheit verwendet,
was zu einer Verlangsamung des Arbeitsablaufes führt, wenn während einer Abrufefolge mehrere Prozessoren ihre
009842/1670 original inspected
Anforderungen nicht bereit haben»
Durch die Erfindung soll die Aufgabe gelöst werden,
bei einem Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden bei gemeinsamer Benutzung
einer einzigen Ausführungseinheit durch eine Vielzahl
digitaler Prozessoren einen besseren Wirkungsgrad zu erzielen und insbesondere in einem Datenverarbeitungssystem
zur Verarbeitung eines Stromes mit einer Vielzahl von Instruktionen bzw. eines Stromes mit einer Vielzahl
von Daten zu erreichen, daß Gruppen virtueller Prozessoren eine einzige Ausführungseinheit zeitmultiplex betreiben.
Außerdem soll gemäß der Erfindung bei einem solchen Datenverarbeitungssystem
eine Steuerung der Priorität der jeweils
virtuelle Prozessoren enthaltenden Gruppen zu erreichen,
welche eine gemeinsame Ausführungseinheit zeitmultiplex
betreiben.
Diese Aufgabe wird bei einem Datenverarbeitungssystem
zur Verarbeitung eines Stromes mehrfacher Operanden gemäß der Erfindung durch eine Ausführungseinheit, ferner
durch eine Vielzahl von Gruppen mit jeweils bis zu "n"
virtuellen Prozessoren und durch eine Prioritätssteuerschaltung
0098A2/1670
gelöst, auf Grund welch letzterer jeder der virtuellen Prozessoren in der Lage ist, die Ausführungsexnheit zeitmultiplex
zu betreiben.
Gemäß der Erfindung sind also mehrere Gruppen digitaler Maschinen vorgesehen, welche eine, mehrere Ausführungsgeräte
beinhaltende Ausführungsexnheit zeitmultiplex betreiben. Digitale Maschinen, welche auch als
virtuelle Prozessoren bezeichnet werden, können als Basisdigitalrechner ohne Ausführungseinheit, sekundäres Steuer-
und Speicherwerk definiert werden. Die Gruppen virtueller Prozessoren betreiben gemäß der Erfindung eine gemeinsame
Ausführungsexnheit zeitmultiplex. Mit jeder Gruppe verbundene Wahleinrichtungen prüfen der Reihe nach jeden
virtuellen Prozessor jeweils in seinem gegebenen Zeitabschnitt. Wenn jeweils ein virtueller Prozessor während seines jeweiligen
Zeitabschnittes eine Bedienung anfordert, so wird letztere zu einem an die Ausführungsexnheit abzugebenden Kandidaten. Da
viele Gruppen vorhanden sind, kann jeweils in einem gegebenen Zeitabschnitt auch eine Vielzahl von Bedienungsanforderungen
vorliegen. Eine Prioritätssteuerschaltung stellt die Priorität unter den Gruppen so fest, daß die Gruppe mit
der höchsten Priorität, deren gerade geprüfter virtueller Prozessor eine Bedienung anfordert, diese Bedienungsanforderung
und die zugehörigen Operanden an die Ausführungseinheit leitet. Einrichtungen aur Rückleitung der
009842/1670
Ergebnisse der angeforderten Bedienung an den anfordernden virtuellen Prozessor sind ebenfalls vorgesehen.
Durch die Erfindung ergibt sich insbesondere der Vorteil einer wirksameren Ausnutzung der zeitmultiplex
betriebenen Ausführungseinheit. Infolge der erfindungsgemäßen
Kombination der Gruppen virtueller Prozessoren unter der Prioritätssteuerung hat jeder der insgesamt
vorhandenen virtuellen Prozessoren des Systems eine größere Möglichkeit, von der Ausführungseinheit schnell
bedient zu werden. .
Eine Ausführungsform des erfindungsgemäßen Datenverarbeitungssystems
zur Verarbeitung eines Stromes mehrfacher Operanden wird im folgenden mit Bezug auf
die Zeichnungen als Beispiel beschrieben. Es stellen dar:
Fig. 1 ein Blockschaltbild einer Aus
führungsform des erfindungsgemäßen Datenverarbeitungssystems mit mehreren Gruppen virtueller
Prozessoren, einer zeitmultiplex . betriebenen Ausführungseinheit und
einer Prioritätssteuerschaltung,
09842/167
Pig. 2 ein Schaltbild der bei dem vor
liegenden Ausführungsbeispiel verwendeten Prioritätssteuerschaltung,
Fig. 2A ein Diagramm, welches schematisch
die Beziehung zwischen den Phasen der Ringzähler der Gruppen O bis 3
und den Phasen des in der Prioritätssteuerschaltung getrennt angeordneten Prioritätszählers wiedergibt,
Fig. 2B eine Tabelle, welche schematisch
den Umlauf der Priorität unter den Gruppen der Prozessoren im Normalbetrieb
zeigt,
Fig. 2C eine Tabelle, welche die Beziehungen
zwischen den logischen Zuständen der Sperr- und Erregungsleitungen
zeigt, die in der erfindungsgemäßen Prioritätssteuerschaltung verwendet
werden,
009842/1670
■ ■'■■ ν : ■■ /..■
Fig. 3 ein Blockschaltbild einer typischen
Gruppe virtueller Prozessoren,
Fig. 4 ein Blockschaltbild einer gemäß der
Erfindung möglichen Anordnung zur übertragung von Operanden zu der
zeitmultiplex betriebenen Aüsführungseinheit,
Fig. 5 in Form eines Blockschaltbildes
einen Teil, eines virtuellen Prozessors und die Art, in der Operanden
auf einen Operandenübertragungsweg gegeben werden können,
Fig. 6 ein Blockschaltbild einer Aus
führungseinheit mit mehreren Ausführungsgeräten und einem Kanal,
dessen Torschaltung für lange Übertragungsabschnitte geöffnet ist (pipelined execution unit), und in
welchem außerdem eine Übertragungs-
009842/1670
einrichtung für verschiedene Steuersignale dargestellt ist, und
Fig. 7 eine mögliche Art einer Rückleitung
von Ergebnissen an den jeweils eine Bedienung anfordernden Prozessor.
Im folgenden wird zunächst der Aufbau des Ausführungsbeispieies
des erfindungsgemäßen Datenverarbeitungssystems beschrieben. In Fig. 1 sind vier Gruppen 3» 5, 7
und 9 virtueller Prozessoren dargestellt. Jede dieser vier Gruppen umfaßt acht virtuelle Prozessoren. Die Anzahl
der dargestellten Gruppen und der virtuellen Prozessoren dient selbstverständlich nur als Beispiel und kann nach
Bedarf verändert werden, ohne den Rahmen der Erfindung zu verlassen. Jede der erwähnten Gruppen 3, 5» 7 und 9
ist mit einer Nummer O bis 3 bezeichnet und die Prozessoren einer jeden Gruppe tragen dementsprechend die Bezeichnungen PO,
Pl, P2, P3...P31. Da beispielsweise vier Gruppen vorgesehen sind, liegen zum Zwecke einer einfacheren Beschreibung
bei den vier vorhandenen Gruppen die Bezeichnungen der virtuellen Prozessoren einer gegebenen Gruppe um jeweils
vier Ziffern auseinander. So sind also beispielsweise die
009842/1670
Prozessoren der Gruppe 0 mit PO, P4, P8 .... P28 bezeichnet.
Für das vorliegende Ausführungsbeispiel wird angenommen, daß die Latenz in der Ausführungseinheit 64ns beträgt,
d.h. die Ausführungseinheit benötigt diese Zeit zur
Beendigung einer gegebenen Operation von der Abgabe von
Operanden bis zur Erzeugung des Ergebnisses. Alle Ausführungseinheiten sind für maximale Bandbreite stark abgestuft
bzw. mit einem Kanal verbunden, dessen Torschaltung für lange Übertragungsabschnitte geöffnet ist (pipelined).
Jeder virtuelle Prozessor kann als Grundregister einer
zentralen Verarbeitungseinheit ohne Ausführungsgeräte,
sekundäres Steuer- und Speicherwerk angesehen werden. Jeder Prozessor ist für den Abruf seiner eigenen Operanden
und für die Vorbereitung seiner eigenen Befehle verantwortlich.
Er führt die Befehle mit Ausnahme der Befehle Laden/Speichern/Verzweigen nicht selbst aus, sondern
fordert die Ausführung von der Ausführungseinheit an.
Alle Prozessoren in einer gegebenen Gruppe laufen eng
synchron und in einer Gruppe liegen nie zwei Prozessoren
gleichzeitig in derselben Phase der Befehlsvorbereitung
oder -ausführung. Jeder virtuelle Prozessor hat in diesem Ausführungsbeispiel von jedem Nachbarn einen,Phasenabstand von 8 ns. Somit verbleibt von der Ausführungs-
-9 -
009842/1670
einheit her gesehen für jeden virtuellen Prozessor ein Zeitabschnitt von 8 ns, in welchem er eine Bedienung
auf einer Anforderungsleitung 13 anfordern kann. Operanden werden von den einzelnen virtuellen Prozessoren über
eine Gruppenoperandenleitung 17 jeweils gleichzeitig mit der über die Leitung 13 gegebenen Anforderung an
die Ausführungseinheit gesendet, über eine getrennte
Empfangsleitung 15 wird jeder virtuelle Prozessor von der Ausführungseinheit darüber unterrichtet, ob seine
Anforderung angenommen wurde oder nicht. Bei einer Annahme werden die Ergebnisse jeweils 64 ns später über
eine Ergebnisleitung 19 zurückgegeben.
Fig. 3 zeigt eine typische Gruppe von Prozessoren, in diesem Falle die Gruppe O, Jede Gruppe beinhaltet einen
Ringzähler, beispielsweise einen Zähler 201. In dem vorliegenden Ausführungsbeispiel umfaßt jede Gruppe acht
Prozessoren und jeder Ringzähler 201 besitzt acht Stellungen bis 7. Der verwendete Ringzähler kann bekannter Art sein,
beispielsweise also ein Ringzähler, wie er in "Arithmetic Operations in Digital Computers" von R.K. Richards,
D. Van Nostrand Company, 1955, auf den Seiten 205 bis 208 beschrieben ist. über eine Leitung 100 werden dem Ringzähler
201 Maschinentaktimpulse zugesendet. Die Leitung führt die Maschinentaktimpulse außerdem den Ringzählern
der anderen Gruppen dar, wie dies durch eine Verlängerung
- 10 -
009842/1670
Jl
der Leitung 100 in Fig. 2 sehematisch dargestellt ist.
Für das vorliegende Ausführungsbeispiel wird angenommen,
daß die Maschinentaktimpulse sämtliche Ringzähler 0 bis mit einer Wiederholungszeit von 8 ns jeweils zu zählen
beginnen lassen, wobei jeder Ringzähler bei der Gruppenzählerphase
0 beginnt. Die Ausgangssignale des Ringzählers 201 laufen über Leitungen 203, 205, 207 ... 217.
Der Ringzähler einer jeden Gruppe wird mit derselben
Phase gestartet. Wenn also der Ringzähler 0 auf Phase 0 steht, stehen auch die Ringzähler der anderen Gruppen auf
Phase 0 usw. Die Leitungen 203, 205, 207 ... 217 werden
jeweils alle 64 ns erregt, wobei in einer Folge von 8 ns jeweils eine neue Leitung erregt wird. Anforderungsleitungen
219, 221 ... 233 führen von jedem Prozessor zu jeweils zugeordneten UND-Gliedern 235, 237 ... 249. Zur
übertragung seiner Operanden an die Ausführungseinheit
verfügt außerdem jeder virtuelle Porzessor über eine Leitung, wie beispielsweise die Leitungen 220, 222 ... 234.
Jederm dieser Operandenleitungen ist einzeln über Torschaltungen 204, 206 ...218 mit einer Operandenleitung 251'
für die Gruppe 0 verbunden. Jede der oben erwähnten Torschaltungen kann über entsprechende Leitungen 236,
238 ... 25O erregt werden, welche von den UND-Gliedern 235,
237 ... 249 über Verriegelungaschaltungen.280, 282 ...
führen. Jede dieser Verriegelungsschaltungen wird über
- 11 -
0098A2/1670
Jl
zugehörige Verzögerungseinrichtungen 281, 283 .·· 295 nach einem geeigneten Zeitraum, in welchem sich der
Steuerimpuls auf der Leitung 236 entwickeln kann, wieder
zurückgestellt. Die Leitungen 236 ... 250 sind außerdem mit einem ODER-Glied 253 verbunden. Wenn ein virtueller
Prozessor in einer gegebenen Gruppe während seiner Wahlphase eine Bedienungsanforderung ausstehen hat, wird
das ODER-Glied 253 erregt und hierdurch auf der 0-Anforderungsleitung
102 (RO) ein Bedienungsanforderungssignal erzeugt. Die Gruppen 1 bis 3 sind ähnlich aufgebaut wie
die Gruppe 0.
Der Ausgabebereich eines typischen virtuellen Prozessors, wie z. B. der Prozessor 0, kann so aufgebaut
sein, wie es in Fig. 5 gezeigt ist. Register 303, 305, und 309j die von einem nicht dargestellten Instruktionsstrom und einem ebenfalls nicht dargestellten Datenstrom
einstellbar sind, sind an die zum ersten mal in Fig. 3 erscheinende PO-Operandenleitung 220 angeschlossen. Außerdem
ist ein Anforderungsflipflop 223 dargestellt, welches über die Leitung 225 von einer Folgeeinrichtung in der
Maschine gesetzt werden kann, wenn eine neue Anforderung bereit ist. Das Anforderungsflipflop 223 kann über die
Leitung 227 von einem Annahmeflipflop 229 zurückgestellt werden. Der Setzausgang des Anforderungsflipflope 223
- 12 -
009842/1670
to
ist die PO-AnfOrderungsleitung 219» die zur übertragung
eines einschaltenden Eingangssignales zu dem UND-Glied
führt. Ein weiteres einschaltendes Eingangssignals für das UND-Glied 235 kommt über die Leitung 203, welche das
von der Gruppe O, Ringzähler 201, Phase 0 kommende Eingangssignal
führt. Das Ausgangssignal des UND-Gliedes bzw. -Tores 235 setzt die Verriegelungsschaltung 280 und gibt
auf die Leitung 236 ein Signal , welches als Eingangssignal für die Torschaltung 204 und die ODER-Schaltung
dient, wie aus Fig. 3 zu ersehen ist. Die in Fig. 5
gezeigte Annahmeleitung ist von der Ausführungseinheit
zu jedem virtuellen Prozessor geführt. Die Leitung 557
ist z.B. eine Annahmeleitung für den virtuellen Prozessor PO,
welcher das Annahmeflipflop 229 so setzt, daß die Leitung die Ahforderungsverriegelungsschaltung so zurückstellen
kann, daß die in der Reihenfolge jeweils nächste Anforderung gesetzt werden kann. Wenn eine ausstehende Anforderung
nicht angenommen wird, so dient das Ausgangssignal des
Anforderungsflipflops 223 dazu, die nächste Anforderung
von der Folgeschaltung dadurch zu verhindern, daß die Sperrleitung über die Leitung 219 erregt wird.
Es kann vorkommen, daß bestimmte Instruktionen eine größere Latenzperiode als die oben geforderten 64 ns
- 13 -
benötigen. Eine Divisionsinstruktion, welche normalerweise mehr Zeit braucht als der Durchschnitt der Instruktionen,
kann z.B. eine größere Latenzzeit als 64 ns benötigen.
In diesem Falle wird über die in Fig. 5 gezeigte, von der Ausführungseinheit ausgehende Sperrleitung, welche zu
jedem virtuellen Prozessor führt, die nächste Anforderung
jeweils so lange gesperrt, bis daß die Ergebnisse der geforderten Division zurückgeleitet sind. Wie aus Fig. 5
zu ersehen ist, setzt eine Leitung 580 das Sperrflipflop 231 so, daß die Leitung 233 die zu der Folgeschaltung
führende Sperrleitung erregt und hierdurch die Verarbeitung weiterer Anforderungen so lange verhindert, bis die
Divisionsoperation für den betreffen virtuellen Prozessor beendet ist.
In Fig. 2 ist die in Fig. 1 mit der Bezugszahl 11 bezeichnete Prioritätssteuerschaltung detailierter dargestellt.
So zeigt Fig. 2 einen bewerteten Prioritätszähler 101 sowie die zugehörigen Torschaltungen und Inverter
mit den an diese angeschlossenen Signalleitungen. Die Maschinentaktimpulse mit einer angenommenen Frequenz
von 8 ns werden in der dargestellten Weise über eine Leitung 100 zugeführt. Der bewertete Prioritätszähler 101
zählt bei je acht Impulsen einen Schritt weiter. Ohne den Rahmen der Erfindung zu verlassen, können selbstverständlich
- 14 -
009842/1670
is
auch andere Verhältnisse gewählt werden. Bei dem vorliegenden Ausführungsbeispiel zählt der bewertete Prioritätszähler
alle 64 ns bzw. alle acht Maschinentaktimpulse je einmal und ist dieser Prioritätszähler mit den in
jeder Gruppe vorhandenen Zählern synchronisiert. Somit wechselt der Prioritätszähler bei jeweils acht Zählungen
eines jeden Gruppenzählers jeweils eine Phase. Jede Phase
des Prioritätszählers definiert eine nominelle Gruppenpriorität, so daß die nominelle Gruppenpriorität jeweils
einmal pro Prüfumlauf der Gruppen geändert wird, was
nachfolgend noch genauer erklärt wird. Das Phasenverhältnis zwischen dem bewerteten Ringprioritätszähler iOi
und den Gruppenzählern ist in Fig. 2A dargestellt. Der bewertete Prioritätszähler 101 arbeitet als Ringzähler
so, daß am Ende der Phase 3 jeweils wieder die Phase 0
beginnt. Der bewertete Prioritätszähler 101 ist an sich
bekannt und wird daher nicht genauer beschrieben. Ein solcher Prioritätszähler 101 kann dadurch verwirklicht
werden, daß man die Impulse der Leitung 100 auf einen
Zähler gibt, welcher für je acht Maschinentaktimpulse . jeweils einen Impuls abgibt, und daß man das Ausgangssignal
dieses Zählers als Eingangssignal für einen vierstelligen Ringzähler verwendet. Die Ausgänge des vierstellingen
Ringzähler sind dann die Phasen 0 bis 3auf
- 15 009842/1670
den Leitungen 101, 105, 107 und 109.
Wie sich nachfolgend noch zeigt, kann die Prioritäts= steuerschaltung so ausgebildet sein, daß sie in mehr als nur
einer Betriebsart arbeiten kann. Beispielsweise kann ein Normalbetrieb und' ein Betrieb mit erweiterter
Priorität vorgesehen sein.
In Fig. 2 sind außerdem ein Erregungsregister 110 und ein Sperregister 112 dargestellt. Das Erregungs=
register 110 weist Positionen EO, E1,E2 und E3 auf, welche für einen bestimmten Betriebszustand entweder durch
den Programmierer oder durch das übertragungsprogramm oder durch geeignete andere Einrichtungen, wie z.B. durch
eine Steuerschaltung 32, jeweils auf Null gestellt werden. Eine Einschränkung der Einstellmöglichkeit des Erregungs=
registers 110 besteht darin, daß jeweils entweder alle Ε-Positionen auf Null stehen oder daß eine E-Position
auf Eins steht und alle übrigen Positionen auf Null stehen. Das Sperregister 112 weist Positionen 10, II,
und 13 auf und kann als Funktion der Zustände der Positionen des Erregungsregisters, der laufenden Prioritäts=
zählerphase und des Zustandes der Gruppenanforderungs=
- 16 -
009842/1670
leitungen RO, Rl, R2 und R3 jeweils auf Null oder auf
Eins gestellt werden. Eine typische Gruppenanforderungsleitung
wurde vorher im Zusammenhang-mit der Darstellung in
Fig. 3 beschrieben. Das Sperregister 112 wird durch
eine logische Sperrschaltung 160 gesetzt.
Ein Satz von EingangsSignalen für die Sperrschaltung
wird durch die Werte der Positionen EO, El, E2 und E3
des Erregungsregisters 110 gebildet, wobei diese Signale
über Leitungen 114ä, 116a, 118A und 120 Ä angelegt werden.
Weitere Eingänge umfassen die Werte der Positionen RO, Rl,
R2 und R3, welche über Verlängerungen der Änforderungs=
leitungen 102, 104, 106 und 108 angelegt werden. Die An=
forderungsleitungen wurden vorstehend anhand der typischen
Anforderungsleitung RO mit Bezug auf Fig. 3 beschrieben.
In fig. 3 sind alle vier Anforderungsleitungen und ihre
Verlängerungen 102a, 104a,106ä und 108a dargestellt, welch letztere die Eingänge zu der logischen Sperrschaltung
bilden. Verlängerungen der Prioritätszählerphasenleitungen 103a,
105a, 107a und 109a stellen ebenfalls Eingänge der Sperr=
schaltung l60 dar. Die Sperrschaltung -160 gibt Ausgangs=
signale ab, welche in die Positionen 10, II, 12, 13 des
Sperregisters 112 über Leitungen 162, 164, 166 bzw. 168
- 17 - '■ ■ :" ■-'·'■ ■-■'■■■.
009842/
nt
Werte abgeben. Die Schaltung kann nach folgenden logischen Gleichungen aufgebaut sein:
10 (Leitung 162) = (Phase O)·(E1-R1+E2-R2+E3-R3)+(EO.E1-E2-E3)
11 (Leitung 164) = (Phase i)· (EO«R"O+E2«R2+E3-R3)+(EO-El-E2-E3)
12 (Leitung 166) - {Phase 2)·(ΕΟ·Εθ+Ε1·Ηΐ+Ε3·Κ3)+(ΕΟ·Ε1·Ε2·Ε3)
13 (leitung 158) = (Phase 3)·(EO-RO+E1»R1+E2-R2)+(EO-E1-E2-E3)
Die Aussagen der logischen Gleichungen (1) bis (4) reichen aus, um die Verwirklichung der Sperrschaltung l60
zu ermöglichen. Beispielsweise kann die Leitung 162, welche den Wert von IO des Sperregisters 112 setzt, durch
den Ausgang eines ODER-Gliedes gebildet sein, welches einen Eingang mit der UND-Funktion Εθ·Ε1·Ε2·ΐ3 und einen weiteren
- 18 -
009842/167Q
Eingang mit der UND-Funktion (Phase 0) · (Ε1·ΐΐ1+Ε2·ΪΪ2+Ε3·ΪΪ3)
aufweist. In der Praxis kommt die Phase Null von der
Leitung 103a, während die Werte von El9 E2 und E3 von
den Leitungen Il6a, Il8a bzw. 120a kommen und individuell
mit der Umkehrung der Werte von Rl, R2 und R3 von den Leitungen 104a, 106a und 108a in einer UND-Funktion.verknüpft
werden. Die Ergebnisse dieser einzelnen UND-Verknüpfungen werden in einer ODER-Verknüpfung zusammengefaßt und bilden
den Ausdruck (E1*R"1+E2-R"2+E3*R*3), welcher mit dem auf der
Leitung 103 gegebenen Signal in einer UND-Verknüpfung ver= bunden wird und den Ausdruck (Phase 0)·(E1*R1+E2*R2+E3*R3)
bildet. Die Signale auf den Leitungen 164, 166 und 168 können in ähnlicher Weise gebildet werden. Aus den
logischen Gleichungen (1) bis (4) geht hervor, daß infolge des in jeder der Gleichungen (1) bis (4)) enthaltenen
Ausdruckes (Εθ·Εΐ·Ε2·ΐ3) die Positionen 10, II, 12 und13
jeweils dann gleichzeitig den Zustand Eins haben, wenn
die Positionen EO, El, E2 und E3 gleichzeitig den Zustand
Null haben.
Die Werte der Positionen des Erregungsregisters 110 bedingen eine bestimmte Schaltung der Prioritätssteuersc
haltung über die Leitungen Uk9. 116, 118 und 120.
- 19 -
009842/1670
Der Wert der Positionen des Sperregisters 112 bedingt bestimmte andere Schaltverbindungen über die Leitungen 122,
124, 126 und 128. Eine genaue Erklärung dieser Leitungen
im vorliegenden Ausführungsbeispiel der Erfindung wird später gegeben. Im Moment ist lediglich allgemein
zu beachten, daß die I-Positionen im O-Zustand als Sperreingänge und im 1-Zustand als einschaltende Eingänge
wirken.
Das Erregungsregister 110 hat, kurz gesagt, die Aufgabe, den Normalbetrieb zu ermöglichen, wenn alle E-Positionen
auf 0 stehen, und zu versuchen, eine erweiterte Prioritätsoperation einzuleiten, wenn eine der
Ε-Positionen auf 1 steht. Beim Normalbetrieb prüft die Prioritätseinrichtung alle Gruppen in jeder Gruppen=
zählerphase je ein Mal. Die Gruppe mit der nominellen Priorität wird jeweils durch die laufende Prioritätszähler=
phase definiert. Wenn während einer gegebenen Gruppenzählerphase die nominelle Prioritätsgruppe keine Bedienungsanforderung
aufweist, werden die anderen Gruppen während der Zeitperiode zyklisch überprüft, die durch die gegebene Gruppenzählerphase
gegeben ist, und die Priorität wird dann nach unten auf die erste, eine Bedienungsanforderung anweisende gruppe
übertragen bzw. gedreht.
- 20 009842/1670
■,- .·; ■■■ :: u
■■
:
Es kann dadurch versucht werden, den Normalbetrieb
zu übersteuern, daß einer gewünschten Gruppe ungeachtet
der Prioritätszählerphase die Priorität zugeordnet wird.
Zu diesem Zweck wird diejenige Position des Erregungsregisters· auf 1 gesetzt, die der gewünschten Gruppe entspricht.
Wenn eine gegebene Ε-Position auf 1 gesetzt ist und gleichzeitig die dieser Ε-Position entsprechende
Gruppe eine Bedienungsanforderung vorliegen hat, so hat diese Gruppe die absolute Priorität, welch letztere ihr
bei jeder Gruppenzählerphase erhalten bleibt, in der sie eine Bedienungsanforderung aufweist. Dadurch wird der
Normalbetrieb übersteuert und es ergibt sich ein Betrieb
mit erweiterter Priorität. Wenn andererseits eine■■-'gegebene
Ε-Position auf 1· gesetzt wird und die dieser E-Position
entsprechende Gruppe während:einer gegebenen Grüppehzähler=
phase keine Bedienungsanforderüng aufWeist, so läuft der
Normalbetrieb wieder weiter und die nominelle Priorität :
ist wieder durch die Prioritätszählerphase bestimmt'und
wird für; den Normalbetrieb gemäß olaiger !Erklärung ■
zyklisch herumgereicht. Wenn also eine gegebene
E-Position auf den Zustand d eingestellt ist, wird=der
Betrieb automatisch von Nörraalbetrieb auf1Betrieb mit
erweiterterPriorität umgestellt und umgekehrt, was von
dem Vorhandensein oder dem Fehlen einer Bediehüngsänfdrderung;'
in der betreffenden Gruppe während einer jeden Gruppen= zählerphase ungeachtet der Prioritätszählerphase abhängt.
Genauere Erklärungen hierzu finden sich in den folgenden Betriebsbeispielen.
Gemäß der Darstellung in Fig. 2 werden die Phasen 0,1,
und 3 vom bewerteten Prioritätszähler 101 her über die
Leitungen 103, 105, 10? und 109 übertragen.
O-Phasenleitung 103 ist als Eingang an ein UND-Glied
angeschlossen, dessen anderer Eingang IO durch die Leitung
122 gegeben ist. Das Ausgangssignal des UND-Gliedes
ist ein Eingangssignal für das ODER-Glied 132, dessen anderes Eingangssignal EO auf der Leitung 114 ist. Das
Ausgangssignal des ODER-Gliedes 132 ist ein einschaltendes Eingangssignal für das UND-Glied 111. Die Phase 0 auf
der Leitung 103 ist außerdem als einschaltendes Eingangssignal an die UND-Glieder 113, 115 und 117 gelegt.
Die Phase 1 auf Leitung 105 ist als Eingang an das UND-Glied 134 angelegt, dessen anderer Eingang Il
durch die Leitung 124 gegeben ist. Das Ausgang3signal des UND-Gliedes 134 ist ein Eingangssignal zu dem ODER-Glied 136,
- 22 -
009842/1670
dessen anderes Eingangssignal El durch die Leitung 116
gegeben ist. Das Ausgangssignal des ODER-Gliedes 136
ist ein einschaltendes Eingangssignal für das UND-Glied 135
und die auf der Leitung 105 gegebene Phase 1 ist außerdem
als einschaltendes Eingangssignal an die UND-Glieder 133,
137 und 139 angelegt.
Phase 2 ist über die Leitung 107 mit dem einen
Eingang des UND-Gliedes 138 verbunden, dessen anderes
Eingangsignal 12 auf der Leitung 128 gegeben ist. Das Ausgangssignal des UND-Gliedes 138 ist ein Eingangs=
signal zu dem ODER-Glied l40, dessen anderes Eingangssignal E2 auf der Leitung 118 gegeben ist. Das Ausgangs=
signal des ODER-Gliedes 140 ist ein einschaltendes Eingangssignal für das UND-Glied 159· Phase 2 auf der
Leitung 107 ist außerdem an die UND-Glieder 155, 157 und 161 angelegt.
Phase 3 auf der Leitung 109 ist als Eingangssignal
an das UND-Glied 144 angelegt, dessen anderes Eingangssignal
13 auf der Leitung 128 gegeben ist. Das Ausgangssignal des UND-Gliedes 144 ist ein Eingangssignal für das
ODER-Glied 146, dessen anderer Eingang E3 auf der Leitung 120
gegeben ist. Das Ausgangssignal des ODER-Gliedes 144
- 23 0 09842/1670
vt
ist ein einschaltendes Eingangssignal für das UND-Glied 187· Phase 3 auf der Leitung 109 ist außerdem an die UND-Glieder
bzw. -Torschaltungen 181, 183 und 185 angelegt. Die Ausgangssignale der UND-Glieder bzw. -Torschaltungen 111,
133, 155 und l8l dienen dazu, die Operanden von ihrer Gruppe O der Ausführungseinheit zuzuleiten.
Ausgangssignale entsprechender ähnlicher Gruppen
von UND-Gliedern bzw. -Torschaltungen dienen zum Zuführen der Operanden von den zugehörigen Gruppen zu
der Ausführungseinheit, wie dies in den Zeichnungen dargestellt ist.
Die O-Anforderungsleitung 102 ist als einschaltende
Eingangsleitung mit den UND-Gliedern 111, 133, 155 und
verbunden. In gleicher Weise sind die Anforderungs= leitungen 1, 2 und 3 in der dargestellten Weise mit den
jeweils zugehörigen UND-Gliedern verbunden.
Die Umkehrung des auf der Leitung 102 gegebenen Zustandes, nämlich das ausgangssignal eines Inverters 119,
wird als einschaltendes Eingangssignal auf die UND-Glieder 113, 115 und 117 gegeben. Die Umkehrung des Zustandes auf der
- 2k -
0.09842/1670
Leitung 104 , nämlich das Ausgangssignal eines Inverters 121,
wird als einschaltendes Eingangssignal auf die
UND-Gleider bzw* -Torschaltungen 115 und 117 gegeben.
Die Umkehrung des Zuständes auf der Anforderungsleitung 106,
nämlich das Ausgangssignal eines Inverters 123, dient
als einschaltendes Eingangssignal für das UND-Glied 117,
welches auch als UND-Torschaltung bezeichnet werden kann.
In ähnlicher Weise wird das gleiche Muster von
Umkehrungen der Anforderungsleitung für die mit der Phase 1 des Zählers 101 verbundenen Torschaltungen
benutzt, mit der Ausnahme, daß die Inverter hierbei eine Stufe abwärts bewegt werden. Die Umkehrung der
ersten Anforderungsleitung 104 ist hierbei z.B. das Ausgangssignal eines Inverters l4l, welches zum Einschalt=
signal für die UND-Glieder bzw. -Torschaltungen 137, und 133 wird. Die Umkehrung des Zuständes der zweiten
Anforderungsleitung 106, nämlich das Ausgangssignal eines
Inverters 153» ist das einschaltende Eingangssignal für
die UND-Glieder bzw. -Torschaltungen 139 und 133. Die
Umkehrung des Zuständes derr dritten Anforderungsleitung
nämlich das Ausgangssignal eines Inverters 145, wird
das einschaltende Eingangssignal, für da.s UND-Glied 133·-.-;
- 25 -
90^2/1670
In gleicher Weise ist für die mit der Phase 2 auf der Leitung 107 verbundene Schaltung die Umkehrung
des Zustandes der zweiten Anforderungsleitung 106,. nämlich das Ausgangssignal eines Inverters I69, ein einschaltendes
Eingangssignal für die UND-Glieder bzw. -Torschaltungen I61,
155 und 157. Die Umkehruixg des Zustandes der dritten
Anforderungsleitung 103? nämlich das Ausgangssignal
eines Inverters 171» is*: ein einschaltendes Eingangssignal
für die UND-Glieder bzw. -Torschaltungen 155 und 157. Die Umkehrung der 0-Anforderungsleitung 102, nämlich das
Ausgangssignal eines Inverters l67,.ist ein einschaltendes Eingangssignal für das UND-Glied 157.
Dieses typische Muster wiederholt sich auch für
die mit der Phase 3 des Ringzählers 101 über die Leitung verbundenen Schaltungen. Die Umkehrung des Zustandes der
dritten Anforderungsleitung 108, nämlich das Ausgangssignal eines Inverters 193, ist ein einschaltendes Eingangssignal
für die UND-Glieder bzw. -Torschaltungen I8I, I83 und 185.
Die Umkehrung des Zustandes auf der O-Anforderungsleitung 102,
nämlich das Ausgangssignal eines Inverters I89, ist ein
einschaltendes Eingangssignal für die UND-Glieder bzw -Torschaltungen I83 und I85. In gleicher Weise ist die
Umkehrung des Zustandes auf der ersten Anforderungsleitung 104,
- 26 -
BAD ORIGINAL
009842/1670
nämlich das Ausgangssignal eines Inverters 191, ein einschaltendes Eingangssignal für das UND-Glied I85.
Die Leitung 100, über welche die Maschinentaktimpulse
mit der angenommenen Wiederholungsrate von 8 ns geleitet werden, ist über eine geeignete Verzögerungsschaltung D
als einschaltender Eingang mit jedem der Operanden leitenden
UND-Glieder so verbunden, daß das übertragen der Operanden
mit einer maximalen Wiederholungshäufigkeit von einmal
je 8 ns synchronisiert wird. Die Verzögerungsschaltung D ist
so gewählt, daß diejenige Verzögerung simuliert wird,
welche die Impulse beim Durchlaufen durch den bewerteten Prioritätszähler 101 sowie durch die Zähler und die
Torschaltungen der einzelnen Gruppen erfahren, so daß
die Erregung der verschiedenen Anforderungsleitungen
102, 104, 106 und 108 jeweils mit der Ankunft der einzelnen
Maschinentaktimpulse zusammenfällt und die Ankunft der
einzelnen Maschinentaktimpulse an den verschiedenen, die Operanden leitenden, in Fig. 2 dargestellten UND-Tor
schaltungen zeitlich gespreizt wird.
Die Ausgangssignale der mit einer bestimmten
Anforderungsleitung und einer bestimmten, in Fig. 2
Anforderungsleitung und einer bestimmten, in Fig. 2
■2 7-
009842/1670
dargestellten Gruppe verbundenen UND-Torschaltungen bilden ein Steuer- bzw. Leitsignal zum Leiten des
von dem ausgewählten, eine Bedienung anfordernden virtuellen Prozessors abgegebenen Operanden. Zum Beispiel
leiten die Ausgänge 125, 147, 173 und 195 den Operanden O. Ent sprechendes gilt für die Torschaltungen bei anderen
Operanden.
Nachfolgend wird die Arbeitsweise der erfindungsgemäßen Prioritätssteuerung mit Bezug auf die Darstellungen in
den Fig. 2, 2A, 2B, 2C und 3 zuerst bei Normalbetrieb und dann bei Betrieb mit erweiterter Priorität beschrieben.
Im Normalbetrieb werden alle Ε-Positionen des Erregungsregisters 110 auf 0 gesetzt. Entsprechend den
logischen Gleichungen (1) bis (4) werden somit alle I-Positionen des Sperregisters 112 im Normalbetrieb
auf 1 gesetzt.
Im Normalbetrieb wird IO auf der Leitung 114 ein aktives Eingangssignal für das UND-Glied 130, dessen
- 28 -
009842/1670
anderes Eingangssignal die Phase O ist. Im Normalbetrieb
ist somit die Phase O über das UND-Glied 130 und das
ODER-Glied 132 mit dem UND-Glied 111 sowie unmittelbar
mit den UND-Gliedern 113,'.115 und 117 verbunden. In
gleicher Weise ist durch Erregung von Il auf Leitung 116 die Phase 1 über das UND-Glied 134 und das ODER-Glied
mit dem UND-Glied 135 sowie unmittelbar mit den UND-Gliedern
133» 135 und 139 verbunden. Durch Erregung von und 13 sind in ähnlicher weise die Phasen 2 und 3 mit
jedem UND-Glied in den Gruppen 155, 157, 159, 161 und l8l,
183, 185, 187 verbunden.
Wie in Fig. 3 gezeigt ist, läuft der Ringzähler einer jeden Gruppe mit einer Geschwindigkeit von 8 ns
um und beendet demzufolge einen Prüfumlauf für eine
Gruppe in 64 ns. Zur leichteren Darstellung kann ohne Einschränkung des Schutzumfanges angenommen werden, daß
jeder Gruppenzyklus seine Prüfung mit dem.ersten virtuellen
Prozessor der Gruppe beginnt, nämlich mit PO für die
Gruppe O, mit Pl für die Gruppe 1, mit P2 für die
Gruppe 2 und mit P3 für die Gruppe 3. Gleichzeitig beginnt der in Fig. 2 dargestellte, mit den Gruppenzählern
synchronisierte Prioritätszähler 101 seine
- 29—
009842/1670
erste Phase, während jeder Gruppenzähler synchron seinen ersten Umlauf für die entsprechende Gruppe
beginnt, so daß der Prioritätszähler 101 die Phase jeweils einmal pro Umlauf der Gruppenzähler ändert. In Pig. 2A
ist dieser Vorgang graphisch dargestellt.
In der Tabelle in Fig. 2B, welche die Gruppen= priorität im Normalbetrieb zeigt, ist schematisch und
erschöpfend dargestellt, wie in dem für jede Gruppe vorgesehenen Zeitabschnitt von 8 ns eine Gruppe, welche
eine Bedienungsanforderung aufweist, die Priorität züge= sprochen erhält, von der Ausführungseinheit Bedienung
anzufordern. Die erste Spalte der Tabelle zeigt die aufeinanderfolgenden Phasen des bewerteten Prioritäts=
Zählers 101. Die zweite Spalte der Tabelle zeigt die Phasen der einzelnen Gruppenzähler. Die MxM in den
einzelnen Abschnitten der zweiten Spalte bedeuten, daß diese Phasen der Gruppenzähler ohne Bedeutung sind,
da ohne Rücksicht auf die Phase der Zähler die tatsächliche Gruppenpriorität nicht als eine Funktion der Gruppenzählerphase,
sondern als eine Funktion der betreffenden, ausstehende Bedienungsanforderungen aufweisenden Gruppen zugeordnet wird.
- 30 -
009842/1670
Der Zustand der Bedienungsanforderungen in den einzelnen Gruppen ist in den unter der Überschrift "Gruppenanforderungs=
status" dargestellten Spalten gezeigt, von welchen jede einer bestimmten Gruppe entspricht. Die beiden letzten
Spalten der Tabelle zeigen die Gruppe mit der nominellen Priorität während einer gegebenen Prioritätszählerphase
bzw. die Gruppe mit der tatsächlichen Priorität.
Ein Beispiel ist aus den ersten vier Zeilen der
Tabelle ersichtlich. In diesen vier Zeilen ist die Prioritätszählerphase 0 angegeben, was besagt, daß die
nominelle Priorität in der Gruppe 0 liegt, d.h. wenn während 8 ns-der Phase 0 von 61 ns des PrioritätsZählers
die Gruppe 0 eine Anforderung aufweist, hat diese Gruppe O ungeachtet der Anforderungen der Gruppen 1,2
und 3 die tatsächliche Priorität- wie dies aus der
ersten Zeile der Tabelle hervorgeht. Die "x" in den Spalten 1, 2 und 3 und die 11I" in der Spalte 0 besagen,
daß der Anforderungszustand der Gruppen 1,2 und 3
keine Bedeutung hat, solange die Gruppe 0 eine Anforderung
aufweist, da die nominelle Gruppenpriorität in dieser Gruppe 0 liegt, welche entsprechend der Tabelle eine
Anforderung ausstehen hat. Somit bleibt die tatsächliche Gruppenpriorität in der Gruppe 0. Aus Zeile 2 ist zu
- 31 -
009842/167Qu
ersehen, daß die O für die Gruppe O im Abschnitt
"Gruppenanforderungsstatus" besagt, daß die Gruppe O
keine Anforderung aufweist, obwohl sie die nominelle Priorität hat. Die 1 in der Spalte für die Gruppe 1 besagt,
daß hier eine Anforderung aussteht. Da in der Gruppe O, welche die nominelle Priorität hat, keine Anforderung
vorliegt, während in der Gruppe 1 eine Anforderung vorliegt, wird die tatsächliche Priorität um eine Position so nach
unten verschoben, daß jetzt die Gruppe 1 die tatsächliche Priorität hat. Da die Gruppe 1 gemäß der Tabelle
eine Bedienungsanforderung vorliegen hat, spielen die
Anforderungszustände der Gruppen 2 und 3 keine Rolle.
Wie aus der dritten Zeile der Tabelle zu ersehen ist, wird die nominelle Priorität jeweils dann um zwei Reihen
nach unten verschoben und die tatsächliche Gruppenprioritä verbleibt ungeachtet der Bedingung der Gruppe 3 in der
Gruppe 2, wenn in der Phase 0 des Prioritätszähler 101
weder die Gruppe 0 noch die Gruppe 1, jedoch die Gruppe eine Anforderung ausstehen hat. Schließlich zeigt die
vierte Zeile, daß trotzdem jeweils dann die tatsächliche Gruppenpriorität um drei Gruppen nach unten auf die
Gruppe 3 verschoben wird, obwohl die nominelle Gruppen= priorität in der Gruppe O liegt, wenn während der
Gruppe 0 des Prioritätszählers 101 keine der Gruppen 0, 1 oder 2 eine Bedienungsanforderung ausstehen hat.
- 32 -
009842/1670 original inspected
Die gleiche Situation wird für die Phase 1 des PrioritätsZählers 101 aufrechterhalten, mit der Ausnahme,
daß hier der Beginn in der fünften Zeile der Tabelle bei einer, ausstehenden Bedienungsanforderung der Gruppe
liegt. Unter diesen Umständen bleibt die nominelle sowie die tatsächliche Priorität ungeachtet der Anforderungszustände
in den anderen Gruppen bei der Gruppe 1. Die Zeilen 6, 7
und 8 der Tabelle zeigen die Verschiebung der Priorität nach unten und damit den zyklischen Charakter der Priorität.
Wenn also während der Phase 1 des Prioritätszählers 101 weder die Gruppe 1 mit der nominellen Priorität noch die
Gruppen 2 oder 3, welch letztere die beiden nächsten Prioritätsgruppen darstellen, eine Bedienungsanforderung
ausstehen haben, so wird die Priorität wieder zur Gruppe zurückgeführt. Der übrige Teil der Tabelle zeigt, daß
dieser Vorgang für jede Phase des Prioritätszählers in entsprechender Weise beibehalten wird und wieder mit
der Phase 0 in Zeile 17 der Tabelle beginnt, wenn der Prioritätszähler seine zweite Phasengruppe beginnt
und so kontinuierlich weiterläuft.
Ein Beispiel für den Vorgang des in -Fig..2B schematisch
gezeigten Normalbetriebes ist in Fig. 2 dargestellt.
Während der Phase 0 des bewerteten Prioritätszählers 101
- 33—
009842/1670
wird zum Beispiel die Leitung 103 für 64 ns erregt· Jedes
Operanden leitende UND-Glied in der Schaltungskonfiguration empfängt außerdem über die Leitung 100 Impulse mit einer
Wiederholungsfrequenz von jeweils 8 ns. Die Verzögerungs=
schaltung D in der Leitung 100bedeutet, daß auf die Leitung eine ausreichende Verzögerung gegeben werden sollte,
um die Zeit zu simulieren, welche die Impulse zum Durchlaufen des bewerteten Prioritätszählers und des Gruppenzählers in
der betreffenden Gruppe benötigen, so daß die Maschinentakt=
impulse an den die Operanden leitenden UND-Gliedern in der richtigen Zeitfolge ankommen, um die entsprechenden
Operanden als eine Punktion der Bedingung der Anforderungs=
leitungen 102, 104, 106 und 108 und der zugehörigen Prioritätszählerphase zu steuern. Unter gleichzeitigem
Bezug auf Fig. 2 und auf Zeile 0 der Tabelle in Fig. 2
ist zu ersehen, daß die Operanden und die Anforderung der Phase 0 weitergeleitet werden, wenn während der Prioritätszählerphase
0 während irgendeiner Phase der Gruppenzähler auf der Leitung 102 der Gruppe 0 eine Anforderung aussteht.
Dies wird dadurch angezeigt, daß alle I-Positionen des Sperregisters 112 im Normalbetrieb auf 1 stehen, somit
ist die Prioritätszählerphase 0 ein aktives Eingangssignal für das UND-Glied 111, so daß alle Eingangsbedingungen
des UND-Gliedes 111 erfüllt eind. Da außerdem der Inverter 119 ein Ausgangssignal abgibt, werden die Eingänge
- 34 -
009842/1670
der UND-Glieder 113, 115 und 117 gesperrt, so daß sichergestell ist, daß nur die Operanden der Gruppe O weitergeleitet werden.
Aus Zeile 2 der Tabelle in Pig, 2B ist zu ersehen, daß bei Vorliegen einer Anforderung von der Grippe 1
und keiner Anforderung von der Gruppe O in irgendeiner
Gruppenzählerphase innerhalb der Prioritätszählerphase O
alle Eingangssignale für das UND-Glied 113 vorliegen. Somit liegt die tatsächliche Priorität in der Gruppe 1,
obwohl die nominelle Priorität in der Gruppe 0 verbleibt,
und die Operanden der Gruppe 1 werden Über die Leitung der Ausführungseinheit zugeleitet. Operanden anderer Gruppen
werden nicht geleitet, da an den die anderen Operanden weiterleitenden UND-Gliedern, welche zur Phase 0 des Prioritätszählers 101 gehören, Sperr-Eingangssignale anliegen, weil
die Leitung 102 für das UND-Glied 111 abgeschaltet ist . und durch das NichtVorhandensein eines Ausgangssignales
an dem Inverter 121 die UND-Glieder 115 und 117 effektiv gesperrt werden.
Aus Zeile 3 der Tabelle ist zu ersehen, daß alle Eingangssignale für das UND-Glied 115 vorhanden sind und
die Operanden der Gruppe 2 von der Leitung 129 weitergeleitet werden, wenn während irgendeiner Gruppenzählerphase
innerhalb der Prioritätszählerphase 0 von den Gruppen 0 und
- 35 009-842/1670
keine Anforderungen vorliegen, jedoch von der Gruppe 2 eine Anforderung vorliegt. Somit liegt die tatsächliche
Gruppenpriorität in der Gruppe 2, obwohl die nominelle Priorität in der Gruppe 0 liegt. Von den anderen Gruppen
werden keine Signale weitergeleitet, da der Inverter 123 kein Ausgangssignal aufweist und hierdurch das UND-Glied 117
gesperrt wird und infolge der fehlenden Signale auf den Leitungen 102 und 104 die UND-Glieder 111 und 113 gesperrt
werden.
Aus Zeile 4 der in Fig. 2B dargestellten Tabelle ist mit Bezug auf Fig. 2 zu ersehen, daß bei einer solchen
Situation die Leitungen 102, 104 und 106 abgeschaltet und dadurch die UND-Glieder 111 bis 115 gesperrt sind,
während die Leitung 108 und alle anderen Eingänge für das UND-Glied 117 während irgendeiner innerhalb der
Prioritätszählerphase 0 gelegenen Gruppenzählerphase erregt
sind und die Operanden der Gruppe 3 über die Leitung 131 geleitet werden, wodurch angezeigt wird, daß die tatsächliche
Gruppenpriorität um drei. Gruppen nach unten von der nominellen Prioritätsgruppe 0 zur Gruppe 3 verschoben
wurde. Die anderen Teile der Tabelle können durch Vergleich mit der in Fig. 2 dargestellten Schaltung für die anderen
drei Phasen des Prioritätszählers 101 in gleicher Weise durchgegangen werden, wie es für die Phase 0 geschah.
- 36 009842/1670
In Pig. 4 sind für jede Gruppe die Steuerleitungen
für die einzelnen Operandengruppen dargestellt. So leiten
z.B. die Leitungen 125·, 147, 173 und 195 jeweils die
Operanden der Gruppe O. Diese Leitungen dienen zur Zuführung
der Operanden O zu der in Fig. 2 dargestellten
Prioritätssteuerschaltung. Biese Leitungen führen die
einschaltenden Eingangssignale für das ODER-Glied 255,
dessen Ausgangssignal über die Leitung199 geht und ein
einschaltendes Eingangssignal für die Torschaltung 271
darstellt, welche effektiv die Operanden von dem gewählten
Prozessor in der Gruppe O zu der Operandensammelleitung 279
leitet, so daß die Operanden dann in einem Versuch, von einem Ausführungsgerät der Ausführungseinheit bedient zu
werden, dieser Ausführungseinheit zugeleitet werden können. Die Leitung 199 dient außerdem als Anforderungsleitung
für die Ausführungseinheit. In gleicher Weise bilden die
Leitungen aus Fig. 2 zwecks Steuerung des Operanden 1 einschaltende Eingänge für das ODER-Glied 257, dessen Ausgangssignal
über die Leitung 299 ein Eingangs-Steuersignal für die Torschaltung 273 bildet, um die Operanden der
Gruppe 1 der Operandensammelleitung 279 zuzuführen und von dieser zur Ausführungseinheit zu leiten. Die Leitung 299
dient außerdem als Anforderungsleitung für die Ausführungseinheit. In gleicher Weise bilden die in Fig. 2 als Aus- '
gangsleitungen dargestellten Leitungen zur Steuerung der
Operanden der Gruppe 2 einschaltende Eingänge für das
- 37—
009842/1670
ODER-Glied 259» dessen Ausgangssignal über die Leitung
ein Steuersignal für die Torschaltung 275 bildet, um die Operanden der Gruppe 2 von der Sammelleitung 267 her
auf die Operandensammelleitung 279 und von dieser der Ausführungseinheit zuzuleiten. Die Leitung 399 stellt
über die Sammelleitung 13 der Ausführungseinheit ebenfalls
Anforderungen zu· Die zur Steuerung der von der Gruppe 3 abgegebenen Operanden dienenden Leitungen sind
in ähnlicher Weise wirksam.
Nachfolgend wird ein Beispiel für den Normalbetrieb der Prioritätssteuerschaltung unter der Annahme gegeben,
daß die in der beiliegenden Tabelle I gezeigten, mit AO, Al, A2 und A3 abgekürzt angegebenen Gruppen während
der gezeigten Phasen in den angegebenen virtuellen Prozessoren Anforderungen RO, Rl, R2 und R3 enthalten. Die betreffenden'
Prozessoren mit einer ausstehenden Anforderung sind durch ihre jeweiligen Programme bestimmt, welche durch die hier
nicht im einzelnen beschriebene Steuerschaltung 32 bestimmt werden können.
- 38 -
ORIGtNAL IHSPECTED
009842/1670
Tabelle I: Normalbetrieb
Prioritäts-Zeile zählerphase
Gruppenzäh- Anfordernde virtuelle Prozessoren Nominelle
lerphase (AO),RO (Al),Rl (A2),R2 (A3),R3 Priorität
Tatsächliche Priorität
O
(O
OO
(O
OO
4
5
6
5
6
9
10
10
11
12
13
14
15
16
12
13
14
15
16
17
18
18
19
20
21
22
23
24
20
21
22
23
24
25
26
26
27
28
29
30
30
31
32
32
33
O O O O O
O O O
1 1 .1 1 1 1 1 1
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
PO P4 P8
P28
Po P4
P12 P16
P24 P28
PO P4 P8
Pl6.
P24 P28
PO
P4
P8
P12
P16
PO
Pl
P9 P13 P17
P29 Pl
P9
P13
P17
Pl
P13 P21
P17 P21 P25 P29
Pl
P6
P14 P18
P26 P30
P2 P6
P18
P18 P22 P26 P30
P2 P6 PlO P14
P19
P23
P23
PJl
P7
P7
P23
P27
P27
P3
.P.7
Pll
.P.7
Pll
P15
Pl 9
Pl 9
P2
P19
P23
P23
AO, PO
AO,P4
AO,P8
A0,P12 AO,P16 A0,P20 AO,P24 AO,P28
AO,P4
AO,P8
A0,P12 AO,P16 A0,P20 AO,P24 AO,P28
Al,Pl
A1,P5
A1,P9
A1,P13
A1,P17
Ai,P21
A1..P25
A1,P29
A2,P2
A2,P6
A2,P10
A2,P14
A2,P18
A2,P22
A2,P26
A2,P3O
A3,P3
A3,P7
A3,P11
A3,P15
A3.P19
A3,P23
A3.P27
A3,P31
AO, PO
AO,PO AO, P4 AO, P8 A1,P13 A1,P17 A3,P23
A2,P26 AO,P28
1Al1Pl A2,P6 A1,P9
Al,PlJ A1,P17 A3,P23 A3,P27 AO,P28
A2,P2
A3,P7
A3,Pll
A3,P15
A2,P18
A2,P22
A2,P26
A2,P3O
AO, PO AO, P4 AO, P8 A0,P12 A3,P19 A3,P23 A1,P25 A1,P29
AO, PO
ta
Da der Normalbetrieb läuft, stehen alle Ε-Positionen in
dem Register 110 auf 0 und alle I-Positionen in dem Register auf 1. Ausstehende Anforderungen auf den Leitungen 102, 104,
106 und 108 werden während jeder Gruppenzählerphase gemäß der obigen, auf Fig. 3 bezogenen Beschreibung bestimmt.
Die Zuordnung der nominellen und der tatsächlichen Priorität erfolgt jeweils entsprechend der oben mit Bezug auf die
Pig. 2, 2A und 2B gemachten Beschreibung. Wenn z.B. mit Bezug auf die Fig. 2 und 2B während der ersten Phase 0
des Prioritätszählers 101 die virtuellen Prozessoren der Darstellung in der Tabelle I entsprechend Anforderungen
ausstehen haben, dann erhält während der Gruppenzählerphase 0 der Prozessor PO, welcher infolge der Erregung
der in Fig. 2 dargestellten Leitung 103 die nominelle Priorität hat, auch die tatsächliche Priorität, da alle
Bedingungen des UND-Gliedes 111 erfüllt sind. Die Leitung überträgt demzufolge die Operanden der Gruppe 0, in diesem
Falle also die Operanden des Prozessors PO, wie dies in Fig. 4 dargestellt ist. Während der Gruppenzählerphase
innerhalb der Prioritätszählerphase 0, dargestellt in Zeile 2 in Tabelle I, hat jede Gruppe um eine Zahl weitergeschaltet
und ihren Prozessor geprüft. Die geprüften Prozessoren der Gruppen 0, 2 und 3, nämlich die Prozessoren P1I,
P6 und P7, haben Anforderungen ausstehen. Mit Bezug auf Fig. 2 ist ersichtlich, daß gleichzeitig mit diesem Weiter-
- 40 -
009842/1670
schalten des Gruppenzählers derjenige Maschinentaktimpuls,
welcher die Gruppenzähler in den einzelnen Gruppen weiterschaltete,
durch die in der Leitung 100 liegende Verzögerungsschaltung
D hindurchgegangen ist und gleichzeitig mit den von den Prozessoren P4, P6 und P7 über die Leitungen 102,
106 und 108 abgegebenen Anforderungen die betreffenden UND-Glieder
erreicht hat. Da jedoch nur die Leitung 103 der
Phasenleitungen des Prioritätszählers 101 erregt und das
UND-Glied 111 über das ODER-Glied 132 vorbereitet ist und da die Gruppe 0 infolge der Ergänzung des Zustandes der
Anforderung 0 nominelle Priorität hat, werden von der
Leitung 102 her über den Inverter 119- die UND-Glieder 113,
115 und 117 (Fig. 2) effektiv gesperrt und nur der Prozessor P4
der Gruppe 0 kann seine Operanden der Ausführungseinheit zuleiten. Somit hat während dieser Phase der Gruppenzähler
die Gruppe 0 sowohl nominelle als auch tatsächliche
Priorität und die Operanden des Prozessors P^ werden der
Ausführungseinheit zugeleitet. Die Gruppenzählerphase 2 innerhalb der Prioritätszählerphase 0 ist in der dritten
Zeile der Tabelle I dargestellt und entspricht der Gruppenzählerphase
O insofern, als der anfordernde virtuelle
Prozessor der Gruppe Ö, in diesem Falle der Prozessor P8,
sowohl nominelle als auch tatsächliche Priorität besitzt,
in Zeile 4 der Tabelle I ist eine Situation dargestellt,
- kl -
in welcher die Gruppe O während derjenigen Phase keinen
anfordernden virtuellen Prozessor aufweist, während welcher sie nominelle Priorität hat, sondern sowohl die Gruppe 1
als auch die Gruppe 2 haben virtuelle Prozessoren, nämlich die Prozessoren P13 und Pl4, welche eine Bedienung anfordern.
Diese Situation entspricht der Darstellung in Zeile 2 der in Fig. 2B dargestellten Tabelle und ist ein
Beispiel dafür, wie die Priorität nach unten verschoben wird, wenn die Gruppe mit der nominellen Priorität keinen
virtuellen Prozessor mit einer ausstehenden Bedienungsanforderung während einer gegebenen Gruppenzahlerphase
aufweist. In dieser Situation wird z.B. durch die Anforderung des virtuellen Prozessors P13 die in Pig. 2 dargestellte
Leitung 104 während der Phase 3 des der Gruppe 1 zugehörenden Gruppenzählers erregt. Derselbe Maschinentaktimpuls, v/elcher
den Gruppenzähler in der Gruppe 1 zur Überprüfung des virtuellen Prozessors 13 veranlaßt, läuft über die Verzögerungsschaltung
D und die Leitung 100 und kommt gleichzeitig mit dem Erregungsimpuls der Leitung 4 an dem UND-Glied
113 an. In ähnlicher Weise wirkt die Leitung 103 als einschaltende Eingangsleitung für das UND-Glied 113.
Schließlich wird noch durch das vom Inverter 119 kommende Ausgangssignal die Leitung 102 erregt und werden hierdurch
die einschaltenden Eingangssignale für das UND-Glied 113 ergänzt, so daß der Operand der Gruppe 1, nämlich die
- 42 009842/1670
•»3
Operanden des virtuellen Prozessors P13S der Ausführungseinheit zugeleitet werden, um zu versuchen, von dieser
bedient zu werden. Da der komplernente Signalwert der
Leitung 104, d.h. das Ausgangssignal des Inverters 121, ein
Eingangssignal für die UND-Glieder 115 und 117 ist, werden diese .UND-Glieder insofern abgeschaltet, als die Leitung
ja erregt ist. Somit hat der Prozessor P13 der Gruppe
die tatsächliche Priorität und seine Operanden werden der
Ausführungseinheit zugeleitet, obwohl bei der in Zeile der Tabelle wiedergegebenen Situation der Prozessor P8
der Gruppe 0 die nominelle Priorität hat. Eine niedrigere Prioritätsanforderung wie beispielsweise diejenige des
Prozessors Pl4 spielt keine Rolle. Eine ähnliche Situation
ist in Zeile 5 der Tabelle für die Phase 4 der Gruppenzähler
angegeben, bei welcher der Prozessor P17 der Gruppe die tatsächliche Priorität hat, obwohl die Gruppe 0 die
nominelle Priorität hat. In der Gruppenzählerphase 5 der
Prioritätszählerphase 0 (Zeile 6) ist gezeigt, daß nur der von der Gruppe 3 geprüfte virtuelle Prozessor P23
eine Bedienungsanforderung ausstehen hat. Diese Situation entspricht der Darstellung in Zeile 4 der in Fig. 2B dargestellten
Tabelle, d.h, die Priorität wird von der Gruppe nach unten auf die Gruppe 3 verschoben. Dieser Vorgang
ist in Pig« 2 wie nachfolgend beschrieben dargestellt.
Während der Gruppenzählerphase 5 prüft jeder Gruppenzähler
■ · - 43 -
009842/1670
seine betreffenden Prozessoren für die Phase 5» nämlich die Prozessoren P2O, P21, P22 und P23. Nur der Prozessor P23
hat eine Bedienungsanforderung ausstehen, so daß von allen in Fig. 3 dargestellten Anforderungsleitungen nur
die Leitung 108 erregt wird. Der Impuls auf der Leitung kommt nach dem Durchlaufen durch die Verzögerungsschaltung D
gleichzeitig mit der Erregung der Leitung 108 an dem UND-Glied 117 an. Die Leitung 103 wird ebenfalls erregt,
da wir in der Prioritätszählerphase 0 stehen, so daß ein drittes Einschaltsignal an das UND-Glied 117 gelangt. Da
die Leitungen 102, 104 und 106 nicht erregt werden, dienen die komplementen Werte ihrer Signale, nämlich die Ausgangssignale
der Inverter 119, 121 und 123, als Einschaltsignale für das UND-Glied 117» dessen Einschaltbedingungen
jetzt ebenfalls erfüllt sind. Die Leitung 131 dient demzufolge nunmehr zur Zuleitung der von der Gruppe 3
abgegebenen Operanden, d.h. der Operanden des virtuellen Prozessors P23, an die Ausführungseinheit. Die Priorität
verhält sich für alle Phasen des Prioritätszählers 101 in ähnlicher Weise und weitere Illustrationen sind in
der beschriebenen Art aus der Tabelle I zu entnehmen.
Die Eintragungen in der Tabelle I dienen lediglich zur Darstellung der Gruppenpriorität im Normalbetrieb.
Aus Tabelle I ist ersichtlich, daß die an die Ausführungs-
009842/167 0
einheit geleiteten Operanden lediglich zur Verarbeitung
angeboten, jedoch nicht unbedingt immer akzeptiert werden.. Das Prinzip der Annahme bzw* der Zurückweisung von Operanden
durch die Ausführungseinheit wird später im Zusammenhang
mit den Darstellungen in den Fig. 5 und 6 genauer erklärt.
Jedoch wird bei der Tabelle I der Einfachheit halber
angenommen» daß die Ausführüngseinheit alle angebotenen
Operanden annimmt, wobei die Struktur der Tabelle I selbstverständlich
verändert würde, wenn an die Ausführungseinheit geleitete Operanden ZUfuckgeWiesen werden. Wenn z.B.
die in Zeile 3 (Gruppe O, Prozessor B) weitergeleiteten Operanden nicht angenommen werden, so bleibt dieselbe Anforderung
bestehen, wenn der Prozessor PB während der betreffenden Gruppenzählerphase innerhalb der nächsten
Prioritätszählerphase überprüft wird (z.B. Zeile 11 in .-Tabelle
I im vorliegenden Beispiel). Die Konstruktion einer Darstellung, welche sowohl die Möglichkeiten der
Annahme als auch diejenigen einer Zurückweisung von Operanden
berücksichtigt, ist nicht erforderlich, wenn die Tabelle I
lediglich auf die Verwendung als Hilfsmittel zur Darstellung
der Qruppenpriorität beschränkt ist.
Betrieb mit erweiterter Priorität Beim Betrieb mit erweiterter Priorität erhält eine
- 45 009842/1670
gewünschte Gruppe ohne Rücksicht auf die Prioritätszählerphase die tatsächliche Priorität, sobald sie eine Bedienungsanforderung ausstehen hat. Dadurch unterscheidet sich der
Betrieb mit erweiterter Priorität von dem Normalbetrieb, bei welchem die Priorität, beginnend mit der Prioritätszählerphase,
umläuft. Der Betrieb mit erweiterter Priorität wird dadurch eingeleitet, daß diejenige Ε-Position des
Erregungsregisters auf 1 gesetzt wird, die der gewünschten Gruppe entspricht, welche die erweiterte Priorität haben
soll.
Wie aus Fig. 2C zu ersehen ist, wird jede I-Position
des Sperregisters 112 auf 1 gesetzt, wenn jede E-Position auf O steht, was auch aus den genannten logischen
Gleichungen (1) bis (4) und aus Fig. 2C zu ersehen ist.
Wenn demzufolge auf den Leitungen 122, 124, 126 und 128 ein Signal liegt, wird jede Prioritätszählerphase der
Leitungen 103, 105, 107 und 109 als Eingangssignal an die betreffenden, Operanden steuernden UND-Glieder angelegt.
So ist z.B. die Leitung 103 effektiv sowohl mit dem UND-Glied 111 als auch mit den UND-Gliedern 113, 115 und 117
verbunden. Die anderen Leitungen der Prioritätszählerphase sind ähnlich angeordnet. Wie aus der Tabelle in Fig. 2C
zu ersehen ist, wird zu Beginn des erweiterten Prioritäts-
- 46 -
009842/1670
betriebes eine Ε-Position, z.B. El, auf 1 gesetzt, während
die anderen Ε-Positionen auf 0 bleiben. Hiermit ist die Gruppe 1 dazu bestimmt, die erweiterte Priorität zu
erhalten. Aus Fig. 2 ist zu ersehen, daß El von der Leitung 124 das ODER-Glied 136 konstant erregt und hierdurch das UND-Glied 135 auf Durchlaß schaltet, so daß die
Operanden von der bestimmten Gruppe, nämlich der Gruppe 1,
stets weitergeleitet werden, sobald von dieser Gruppe auf der Leitung 104 eine Anforderung Rl vorliegt. Wie aus den
oben genannten logischen Schaltungsgleichungen (1) bis (4),
welche die Sperrschaltung I60 bezeichnen, zu ersehen ist,
läuft der Normalbetrieb, wenn von der genannten Gruppe keine Anforderung aussteht. Wenn z.B. El auf 1 gesetzt
ist, werden Operanden von der Gruppe 1 immer dann über die Leitung 149 weitergeleitet, wenn während der synchronisierten
Perioden die Anforderung Rl vorliegt und die Leitung lOOd erregt wird. Wenn jedoch El auf 1 steht und
Rl auf 0, dann überträgt der Normalbetrieb die nominelle Priorität entsprechend der laufenden Prioritätsphase. Wenn
also der Prioritätszähler in der Phase 0 und die El-Position
auf 1 steht und keine Anforderung Rl vorliegt, so setzt
der Ausdruck (El ·Κΐ) in der Gleichung für IO die IO-Position
auf 1, so daß die Leitung 122 der Prioritätszählerphase 0
gestattet, das UND-Glied 111 wie beim Normalbetrieb ein-
09842/1670
zuschalten. Die Gruppe O hat dann die nominelle Priorität,
welche im Normalbetrieb nach unten verschoben wird, wenn in der Gruppe 0 keine Anforderung vorliegt. Auf diese
Weise läuft der Vorgang für alle Phasen des Prioritätszählers weiter. Sobald jedoch eine Anforderung während
einer Gruppenzählerphase der Gruppe 1 vorliegt, kehrt der Vorgang zum Betrieb mit erweiterter Priorität zurück und
die Gruppe 1 erhält jetzt die tatsächliche Priorität. Dies ist auch ersichtlich, wenn man das Beispiel der genannten
logischen Gleichung für IO mit in den Zustand 1 gesetzter Position El fortsetzt. Wenn Rl gleich 0 ist, steht Il auf
1 und die Gruppe 0 hat die nominelle Priorität und es läuft der Normalbetrieb. Wenn jedoch während einer der
Gruppenzählerphasen innerhalb der Prioritätszählerphase 0 die Gruppe 1 eine Anforderung startet (Rl = 1), dann ist
der Ausdruck (El»Rl) in der ΙΟ-Gleichung gleich 0, ebenso wie alle anderen Ausdrücke und IO wird 0. In Fig. 2 wird
hierdurch die Prioritätszählerphase 0 auf der Leitung 103 von dem UND-Glied 111 getrennt und das UND-Glied 130 wird
abgeschaltet. Da El auf 1 steht, bereitet die Leitung 116 gleichzeitig das UND-Glied 135 zur Weiterleitung der
Operanden von der Gruppe 1 über die Leitung 1^9 vor, da
Rl auf 1 steht und die Synchronisationsleitung lOOd erregt wird. Somit ist der ganze Ablauf zum Betrieb mit erweiterter
- 48 -
009842/1670
Priorität zurückgekehrt. Die Umschaltung vom Normalbetrieb
auf Betrieb mit erweiterter Priorität und umgekehrt hängt von der jeweiligen Stellung des Erregungsregisters und dem
Vorliegen einer Anforderung in der bezeichneten Gruppe ab*
Daraus geht hervor, daß das Erregungsregister ilO
die Punktion hat, das Operanden leitende UND-Glied mit der
jeweils höchsten Priorität für eine gegebene Gruppe jeweils unmittelbar tu erregen, um diese Gruppe als diejenige zu
kennzeichnen, welche die höchste Priorität hat, wenn sie
eine Anfofderung aufweist* Gleichzeitig werden alle
Positionen im Sperregister Ϊ12 äüf O gesetzt und wird
hierdurch die Prioritätszählerphäse von den Operanden
leitenden UND-Gliedern mit der höchsten Priorität außer
Punktion gesetzt, was daraus.hervorgeht, daß die Leitungen 122,
124, 126 und 128 einen Eingang zu den UND-Gliedern 130, 13V
138 und 144 bilden. Wie weiterhin aus den logischen Gleichungen
(1) bis (4) zu ersehen ist, kehrt die Prioritätssteuerung jeweils dann unmittelbar zum Normalbetrieb.zurück,
wenn die bezeichnete Gruppe mit der höchsten Priorität
während einer gegebenen Gruppehzählerphase keine Anforderung
vorlegt, und zwar insofern, als die Position des Sperrregisters,
welche der laufenden Prioritätsphase entspricht, dann auf 1 gesetzt wird, um diese spezielle Prioritätszählerphase
unmittelbar auf das Operanden leitende UND-Glied
- 49 009842/1670
mit der höchsten Priorität zu geben, während diese Prioritätszählerphase außerdem an die UND-Glieder mit
niedrigerer Priorität angelegt wird, so daß der Betrieb während dieser Gruppenzählerphase wie im Normalbetrieb
umlaufen gelassen wird.
Anschließend wird ein Beispiel für den erweiterten Prioritätsbetrieb der Prioritätssteuerschaltung unter
der Annahme gegeben, daß die in der folgenden Tabelle II gezeigten, mit AO, Al, A2 und A3 bezeichneten Gruppen von
den angegebenen virtuellen Prozessoren her während der dargestellten Phasen die Anforderungen RO, Rl, R2 und R3
aufweisen. Die in der Tabelle II dargestellten Phasen entsprechen den in Tabelle I für den Normalbetrieb dargestellten
Phasen. Die betreffenden Prozessoren mit einer ausstehenden Anforderung werden jeweils durch bestimmte
Programme bestimmt, welche durch die hier nicht im einzelnen beschriebene Steuerschaltung 32 vorgeschrieben werden. Da
es sich in diesem Beispiel um den Betrieb mit erweiterter Priorität handelt, sind die Einstellungen der E-Positionen
des Erregurigsregisters 110 sowie der I-Positionen des
Sperregisters 112, welche durch die genannten logischen Gleichungen (1) bis (4) bestimmt sind, in Spalten angegeben.
Ausstehende Anforderungen auf den Anforderungsleitungen 102, 104, 106 und 108 sind entsprechend der oben
- 50 -
009842/1670
mit Bezug auf" Fig. 3 gemachten Beschreibung während jeder
Prioritätszählerphase festgelegt. Die nominelle und die tatsächliche Priorität werden jeweils gemäß der Aufstellung
zugeordnet. Die letzte Spalte der Tabelle gibt an, wie
der Betrieb zwischen dem Normalbetrieb und dem Betrieb mit erweiterter Priorität hin- und hergeschaltet wird, und
zwar in Abhängigkeit von der Einstellung der E-Register und der Verfügbarkeit einer Anforderung während einer
gegebenen Prioritätszählerphase von derjenigen Gruppe, welche während des Betriebes mit erweiterter Priorität die
höchste Priorität zugesprochen erhielt· Wie in Tabelle I,
wird auch hier zwecks einfacherer Darstellung angenommen, daß jeder zugeführte Operand von der Ausführungseinheit zur
Bedienung angenommen wird.
Mit Bezug auf die Darstellung in Fig. 2 und der
Tabelle II ist ersichtlich, daß beispielsweise die ersten
vier Zeilen der Tabelle zeigen, daß die Ε-Positionen des
Erregungsregisters alle auf O und die !-Positionen alle
auf 1 stehen. Wenn dies der Fall ist, sind alle Phasenreitungen
des Prioritätszählers mit den zugehörigen, Operanden
leitenden UND-Gliedern verbunden. Daher läuft der in Tabelle II mit N.O. bezeichnete Normalbetrieb ab, wie er
in den ersten vier Zeilen der Tabelle gezeigt ist,
' * 51 -■
QO&842/1670
QO&842/1670
3 | 4 | tatszäh- | Gruppen- | Anforderne virtuelle | (A1)SR1 | (A2), | Tabelle | II | EO | ,R3 | 0 | El | E2 | E3 | IO | Il | 12 | 13 | nominel | tatsäch | Betrieb | |
VJl | lerphase | zähler- | Prozessoren | Pl | — | 0 | le Prio | liche | ||||||||||||||
Zei- Priori- | 6 | O | p hase | (AO),RO | - | P6 | 0 | rität | Priorität | |||||||||||||
Ie | 7 | 0 | 0 | PO | P9 | - | R2 (A3) | 0 | 0 | 0 . | 0 | 1 | 1 | 1 | 1 | AO, PO | AO, PO | N.O. | ||||
8 | 0 | 1 | P4 | P13 | P14 | — | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | AO,P4 | AO,P4 | N.O. | |||||
i | 9 | 0 | 2 | P8 | P17 | P18 | P7 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | AO, P8 | AO,P8 | N.O. | ||||
2 | 10 | 0 | 3 | - | - | - | - | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | A0,P12 | A1,P13 | N.O. | ||||
11 | 0 | 4 | - | - | P26 | - | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | ΑΟ,ΡΙβ | A2,P18 | E.P.O. | |||||
12 | 0 | 5 | - | P29 | P30 | P19 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | A0,P20 | A3.P23 | N.O. | |||||
13 | 0 | 6 | - | Pl | P2 | P23 | 1 | 0 | 1 | 0 | .0 | 0 | 0 | 0 | AO,P24 | A2,P26 | E.P.O, | |||||
14 | 1 | 7 | P28 | - | P6 | - | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | AO,P28 | A0,P30 | E.P.O. | |||||
15 | 1 | 0 | PO | P9 | - | P31 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Al,Pl | AO, PO | E.P.O. | |||||
1 16 a mm |
1 | 1 | P4 | P13 | - | — | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A1,P5 | AO, P4 | E.P.O. | |||||
VJl ru 17 |
σ 1 | 2 | - | P17 | P18 | P7 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | Ö | A1,P9 | A1,P9 | N.O. | |||||
ι 18 | ο 1 | 3 | P12 | - | - | - | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A1,P13 | ΑΟ,Ρ.12 | E.P.O. | |||||
19 | co 1 | 4 | P16 | - | - | - | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A1,P17 | A0,Pl6 | E.P.O. | |||||
20 | 00 1 | 5 | - | - | - | - | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | A1,P21 | A3,P23 | N.O. | |||||
21 | ** 1 | 6 | P24 | Pl | P2 | P23 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A1,P25 | A0,P24 | E.P.O. | |||||
22 | >v 2 | 7 | P28 | - | - | P27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A1,P29 | AO,P28 | E.P.O. ,_ | |||||
23 | -» 2 | 0 | PO | - | - | - | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A2,P2 | AO, PO | E.P.O. +* | |||||
24 | O> 2 | 1 | P4 | P13 | - | P3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A2,P6 | AO, P4 | E.P.O. | |||||
25 | -* 2 | 2 | P8 | - | P18 | P7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A2,P10 | AO, P8 | E.P.O, | |||||
26 | ° 2 | 3 | - | P21 | P22 | Pll | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | A2,P14 | A3,P15 | N.O. | |||||
27 | 2 | 4 | P16 | - | P26 | P15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A2,P18 | AO,P16 | E.P.O. | |||||
28 | 2 | 5 | - | - | P30 | P19 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | A2,P22 | AO,P24 | N.O. | |||||
29 | 2 | 6 | P24 | - | P2 | - | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A2,P26 | A2,P26 | E.P.O. | |||||
30 | 3 | 7 | P28 | - | P6 | - | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A2,P3O | AO,P28 | E.P.O. | |||||
31 | 3 | 0 | PO | - | PlO | - | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | A3,P3 | A2,P2 | E.P.O. | |||||
32 | 3 | 1 | P4 | mm | P14 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | A3,P7 | A2,P6 | E.P.O. | ||||||
33 | 3 | 2 | P8 | P17 | - | - | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | A3,Pll | A2,P10 | E.P.O. | |||||
3 | 3 | P12 | P21 | - | - | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | A3,P15 | A2,E14 | E.P.O. ^J | ||||||
3 | 4 | P16 | P25 | - | - | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | A3,P19 | A3,P19 | N.O. 5 | ||||||
3 | 5 | - | P29 | - | P19 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | A3,P23 | A3,P23 | N.O. TZ | ||||||
3 | 6 | - | Pl | P2 | P23 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | A3,P27 | A1,P25 | N.O. 2 | |||||||
0 | 7 | - | - | 0 | 1 | 0 | 0 | 0 | 0 | 1 | A3,P31 | A1,P29 | N.O. ^4 | |||||||||
0 | PO | - | 0 | 1 | 0 | 0 | 0 | 0 | 0 | AO, PO | A2,P2 | E.P.O.-* | ||||||||||
P3 | ||||||||||||||||||||||
und die Gruppen mit der tatsächlichen Priorität sind mit
denen identisch, welche bei der gleichen Situation bei der Darstellung in Tabelle I die tatsächliche Priorität hatten«
Aus Zeile 5 von Tabelle II ist zu sehen, daß E2 auf 1
steht, so daß die Gruppe 2 die erweiterte Priorität zugeordnet erhält, wenn sie während einer gegebenen Gruppenzählerphase
eine Aufforderung aufweist. Wie aus Zeile 5 zu ersehen ist, läge beim Normalbetrieb die nominelle
Priorität bei der Anforderung der Gruppe O, nämlich bei AO,
Pl6. Mit Bezug auf Fig.* 2 bedeutet dies, daß beim Normalbetrieb alle I-Positionen auf 1 stehen würden. Insbesondere
stünde IO auf 1 und die Leitung 122 würde das UND-Glied 130
auf Durchlaßschaltung vorbereiten, wobei das Ausgangssignal dieses UND-Gliedes 130 über das ODER-Glied 132 zu
dem UND-Glied 111 gelangen würde· In der vorliegenden Situation ist jedoch E2 auf 1 gesetzt, was besagt, daß
die Priorität bei der Gruppe 2 liegt. Da gemäß Zeile 5 die Gruppe 2 eine Anforderung ausstehen hat (PI8), werden
entsprechend den logischen Gleichungen (1) bis (4) alle
I-Positionen des Sperregisters auf 0 gesetzt und hierdurch die Leitungen für die Prioritätszählerphase von den
UND-Gliedern mit den die höchste Prioriät aufweisenden Operanden getrennt· In ähnlicher Weise erregt die Leitung
von der E2-Position des Erregüft'gsregisters 110 das ODER-;
Glied l40f so daß hierdurch der Gruppe 2 die höchste ν -:
Priorität zugesprochen wird. Die auf der Leitung 106 vorhandene Anforderung des Prozessors Pl8 wird dabei
über die Leitung 177 geleitet. Dieser Vorgang ist in den Prioritätsspalten der Tabelle zusammengefaßt. Obwohl
die nominelle Priorität im Normalbetrieb bei AO,P16 ist,
liegt die tatsächliche Priorität bei A2,Pl8 und es läuft der in Tabelle II mit E.P.O. bezeichnete Betrieb mit erweiterter
Priorität.
Aus Zeile 6 der Tabelle II ist zu ersehen, daß die Prioritätssteuerung zur Gruppenzählerphase 5 der Prioritätszählerphase
O weitergelaufen ist. Es ist festzustellen, daß nur der geprüfte virtuelle Prozessor in der Gruppe 3»
nämlich der Prozessor P23, eine Bedienungsanforderung
ausstehen hat. E2 steht weiterhin auf 1, was besagt, daß die Gruppe 2 die höchste Priorität hat, wenn in ihr eine
Bedienungsanforderung (R2) vorliegt. Jedoch weist die Gruppe 2 keine Bedienungsanforderung auf und die logische
Gleichung (1) besagt demzufolge, daß IO den Zustand 1 hat. Die Leitung 122 verbindet deshalb die Prioritätszählerphase
0 mit dem UND-Glied 111. Die Prioritätssteuerung kehrt also zum Normalbetrieb zurück. Wie in der Tabelle
aus Zeile 6 zu ersehen ist, liegt die nominelle Priorität bei A0,P20. Weil doch die Gruppe 0 keine Anforderung
ausstehen hat, wird die Priorität um drei Gruppen nach unten
- 54 -
0098A2/1870
SS
auf A3,P23 verschoben* wie dies auch bei dem in Tabelle I
dargestellten Normalbetrieb der Fall ist.
In den Zeilen 7 und 8 sind die Gruppenzählerphasen und 7 der Prioritätszählerphase 0 gezeigt, wobpi E2 der
Gruppe 2 die höchste Priorität zuordnet. Da die Gruppe
während jeder dieser Gruppenzählerphasen eine Anforderung
ausstehen hat, nämlich von den Prozessoren P26 und P30, schaltet der Betrieb wieder auf Betrieb mit erweiterter
Priorität um und die tatsächliche Priorität liegt bei A2,P26
bzw. AO,P3O. Während der Gruppenzählerphase 1, die in
Tabelle II in den Zeilen 9 bis 16 dargestellt ist, weist EO den Zustand 1 auf, was bedeutet, daß der Gruppe 0 die
höchste Priorität zugeordnet wird, wenn diese eine Anforderung ausstehen hat. Da die Gruppe O während den Gruppenzählerphasen
0 und 1 der Prioritätszählerphase 1 eine Anforderung ausstehen hat, läuft der Betrieb mit erweiterter
Priorität weiter und die tatsächliche Priorität liegt bei AO,PO bzw. AO,Ρ*!, wie dies in der Tabelle in den Zeilen
bzw. 10 angegeben ist. Zeile 11 der Tabelle zeigt, daß
ungeachtet der Stellung von EO auf 1 die Gruppe 0 eine Anforderung ausstehen hat, so daß entsprechend der genannten
logischen Gleichung (2) die Position Il den Zustand 1 hat,
da ja die Steuerung innerhalb der Prioritätszählerphase
abläuft. Der Betrieb kehrt hierbei zum Normalbetrieb zurück,
- 55 -
0 09842/1670
so daß die tatsächliche Priorität A1,P9 zugesprochen wird, wie dies auch in der entsprechenden Zeile in Tabelle I
gezeigt ist. Aus Tabelle II geht also hervor, wie oben
anhand der ersten zehn Zeilen erklärt wurde, daß der
Betrieb in Abhängigkeit von der Einstellung des Erregungsregisters 110, der Prioritätszählerphase und dem Vorliegen von Anforderungen von den Gruppen jeweils zwischen Normalbetrieb und dem Betrieb mit erweiterter Priorität umschaltet.
gezeigt ist. Aus Tabelle II geht also hervor, wie oben
anhand der ersten zehn Zeilen erklärt wurde, daß der
Betrieb in Abhängigkeit von der Einstellung des Erregungsregisters 110, der Prioritätszählerphase und dem Vorliegen von Anforderungen von den Gruppen jeweils zwischen Normalbetrieb und dem Betrieb mit erweiterter Priorität umschaltet.
In Fig. 6 der Zeichnungen ist schematisch in Form eines
Blockschaltbildes die Ausführungseinheit dargestellt, welche eine sogenannte "time shared pipelined execution unit" ist,
d.h. eine Ausführungseinheit, die über einen zeitmultiplex betriebenen Kanal erreicht wird, dessen Torschaltung über
weite Übertragungsstrecken offengehalten wird. Obwohl die
Ausführungseinheit nicht notwendigerweise der "pipelined"-Art angehören muß, bringt eine solche Pipeline-Art
für eine Ausführungseinheit eine viel schnellere Arbeitsgeschwindigkeit mit sich. Da Ausführungseinheite mit
einem Kanal, dessen Torschaltungen für lange Übertragungsabschnitte geöffnet sind (pipelined execution unit), an
sich bekannt sind und nähere Informationen über solche Einheiten aus früheren Veröffentlichungen leicht beschafft
werden können, wird eine detailierte Ausführung eines solchen
weite Übertragungsstrecken offengehalten wird. Obwohl die
Ausführungseinheit nicht notwendigerweise der "pipelined"-Art angehören muß, bringt eine solche Pipeline-Art
für eine Ausführungseinheit eine viel schnellere Arbeitsgeschwindigkeit mit sich. Da Ausführungseinheite mit
einem Kanal, dessen Torschaltungen für lange Übertragungsabschnitte geöffnet sind (pipelined execution unit), an
sich bekannt sind und nähere Informationen über solche Einheiten aus früheren Veröffentlichungen leicht beschafft
werden können, wird eine detailierte Ausführung eines solchen
- 56 -0098A2/1670
Pipeline-Systems hier nicht gegeben, sondern es wird nur die Ausführungseinheit selbst weitgehend "erörtert»
Weitere Einzelheiten bezüglich des obengenannten Pipeline-Systems für die Ausführungseinheit finden sich
in der Zeitschrift "The IBM System/360 Model 91: Floatingpoint Execution Unit" von S.F. Anderson, J.G* Ea'rle,
R.E. Goldschmidt und D.M. Powers, und in der Zeitschrift "IBM Journal of Research and Development", Ausgabe 11,
Nr. 1, Jan uar 1967, Seiten 34 bis 53, insbesondere auf den Seiten 36, 37 und 45 bis 48.
R.E. Goldschmidt und D.M. Powers, und in der Zeitschrift "IBM Journal of Research and Development", Ausgabe 11,
Nr. 1, Jan uar 1967, Seiten 34 bis 53, insbesondere auf den Seiten 36, 37 und 45 bis 48.
Die in Fig. 6 dargestellte Ausführungseinheit enthält
unabhängig Voneinander arbeitende Ausführuhgsgeräte 519, 521, 523 ··· 531. Diese Ausführungsgeräte übernehmen die
Funktionen der Addition, Subtraktion, Multiplikation und Division bei der Festpunkt- und Gleitkommarechnung sowie
Boolesche Funktionen und Verschiebungen. Diese Anordnung
kann selbstverständlich zweckentsprechend" verändert werden,
ohne vom Rahmen der Erfindung abzuweichen. Mit Ausnahme' der Divisionsoperationen wird für alle Operationen eine
Dauer von 64 ns angenommen. ;
Wie bereits im Zusammenhang mit Fig. 5 erklärt wurde,'
- 57 -
009*42/1670
werden der Op-Operandencode und das Kennzeichnungsfeld, welche den betreffenden Prozessor identifizieren, über eine
Operandensammelleitung 279 übertragen. Aus Fig. 6 ist zu ersehen, daß die Operandensammelleitung 279 über entsprechende,
nicht dargestellte Torschaltungen mit einer Leitung 501
so verbunden ist, daß der Op-Kodeteil der Operanden zur Dekodierung auf einen Op-Dekodierer 503 übertragen wird.
Der Op-Dekodierer 503 ist ein binär-zu-1-aus-N-Dekodierer»
Um z.B. eine Operation in einem der sieben dargestellten Geräte auszuwählen, kann der Op-Kode mindestens drei Bits
enthalten, wobei eine bestimmte binäre Kombination dieser Bits eine bestimmte Einheit bezeichnet. Die gewählte
Einheit wird durch ein Signal über eine der Leitungen 505, 507 ... 516 angezeigt. Das Signal auf dieser Leitung dient
als Bedienungsanforderung und leitet die Operanden und die Prozessorkennzeichen zu dem betreffenden Ausführungsgerät.
Gleichzeitig wird das Kennzeichen auch über eine torgesteuerte Sammelleitung 5l8 einem Kennzeichendekodierer
zugeführt, welcher die binäre Adresse des anfordernden Prozessors in einem 1-aus-N-Dekodierer 518 dekodiert.
Wenn das gewählte Ausführungsgerät nicht belegt ist und eine neue Bedienungsanforderung annehmen kann, so antwortet
sie über Leitungen 565, 566 ... 572. Alle diese Leitungen
dienen als Eingangsleitungen zu einer ODER-Torschaltung 573·
Ein Eingangssignal von irgendeiner dieser Leitungen erregt
- 58 009842/1670
eine Leitung 575, so daß das Ausgangssignal des Kennzeichendekodierers
über die betreffende der Leitungen 557, 559 ··. 561 der AnnahmeSammelleitung den virtuellen
Prozessoren zugeleitet wird· Mit Bezug auf Fig. 5 ist zu
ersehen, daß jeder der Prozessoren ein Annahme.flipflop
aufweist, welches jeweils durch eine Annahmeleitung gesetzt wird, beispielsweise für den Prozessor O durch die Annahmeleitung
557. Das Annahmeflipflop stellt dann das Anforderungs
flipflop im Prozessor so zurück, daß dieser wieder zur Erzeugung der nächsten Anforderung bereit ist, wenn die
Instruktionen und Operanden zur Verfügung stehen.
Um die erforderlichen Bandbreiten zu erreichen, sind
die einzelnen Ausführungsgeräte stark abgestuft. Die
zeitliche Abstufung der Eingangssignale erfolgt gleichmäßig
in einem Vielfachen von 8 ns, welches ja der Zeitabschnitt
für einen virtuellen Prozessor ist. Aufeinanderfolgende Stufen brauchen nicht zu sein. Im Falle von kleineren
Operationen, wie Bool'sche Funktionen und Festpunktadditionen,
erfordert dies eine entsprechende zusätzliche Verzögerung. Als Beispiel für die Abstufung oder Pipelining
können die Gleitkommaaddierer am Ausgang der Exponentdifferenz, der fraction justification, der Primäraddition,
der Vorausschauaddition, der Stellenverschiebung, der
exponenten FortSchreibung und von zwei zusätzlichen Ver-
■'.- 59 009842/1670
zögerungsstufen abgestuft sein. Die Multiplikation ist
auf Grund ihrer Baumstruktur und der Verwendung von übertrags-Erhaltungs-Addierstufen
ebenso normal zerlegbar. Die Pestpunktaddition und -subtraktion zusammen mit der
Bool1sehen Funktion und Verschiebeoperationen benötigt
normalerweise keine ganze Periode. Somit muß eine zusätzliche Verzögerung in jeden dieser Bereiche eingegeben
werden, um die richtige Zeitfolge des Systeirs sicherzustellen.
Außerdem muß die Zeitfolge durch bekannte Einrichtungen so eingestellt werden, daß die Dekodierer-Einschaltleitung
575 die Rückübertragung der entsprechenden Kennzeichenkodierung an den angegebenen virtuellen Prozessor
ermöglicht. Diese Einzelheiten der Zeiteinteilung brauchen hier jedoch nicht näher erörtert zu werden.
Die eine längere Zeit in Anspruch nehmende Division läuft nicht in einer einzigen Periode ab, sondern kann eine
Vielzahl von Umläufen der Gruppe erfordern, in welcher der anfordernde Prozessor liegt. In diesem Falle geben die
Divisionsgeräte bei Annahme der Anforderung in den anfordernden virtuellen Prozessor ein Sperrbit. Dieses Bit
schaltet den virtuellen Prozessor so, daß er bis zum Ablauf eines Zyklus vor dem planmäßigen Erscheinen des Quotienten
keine neuen Anforderungen abgeben kann. Dies kann E.B, über
Empfangsleitungen 569 und 567 von den Divisionsgeräten
- 60 -
009842/1670
geschehen. Diese Leitungen sind mit derjenigen.ODER-Tor- !
schaltung 576 verbunden, deren Ausgang 577 an die UND-Torschaltungen
5795 581 ... 585 angeschlossen ist. Pur jeden
virtuellen Prozessor des Systems ist eine UND-Torschaltung
vorgesehen. Die betreffende Einschaltleitung für den >'-'■"
anderen Eingang jeder der UND.-Torschaltungen ist jeweils'
die betreffende der Annahmeleitungen 557, 559, 561 und 563.
Wenn ein Divisionsgerät die Anforderung annimmt, so gestattet ein Dekodiereinschaltsignal auf der Leitung
die Dekodierung des Kennzeichens des anfordernden Prozessors»
Hierbei wird eine der Leitungen 557 ·.· 563erregt bzw.
eingeschaltet. Gleichzeitig erscheint auf der Leitung
ein Signal. Die entsprechende Einschaltleitung des Kennzeichendekodierers
5l6 schaltet daher eine der UND-Torschaltungen 579 bis 585 auf Durchlaß, so daß eine der
Leitungen der zu den virtuellen Prozessoren führenden
Sperr-Sammelleitung erregt wird. Aus Fig. 5 ist ja bekannt,
daß jeder Prozessor über ein Sperrflipflbp 231 Verfügt,
welches über eine der Leitungen der Sperr-Sammelleitung gesetzt wird. Die Leitung 580 der Sperr-Sammelleitung *
setzt z.B. das Sperrflipflop im Prozessor Ö derart, daß*
der Polgeschalter des Prozessors 0 daran gehindert wird, einen neuen Befehl einzuleiten. Die Sperrleitung wird
jeweils einen Zyklus vor dem planmäßigen Erscheinen des
Quotienten gelöacht. Alis Fig. 6 ist zu "ersehen, dai dies
- 61 -
009*42/1$70
innerhalb der Divisions-Funktionseinheiten dadurch geschehen kann, daß ein Zyklus vor Fertigstellung des Ergebnisses
das zugehörige Kennzeichen, welches ursprünglich über die Sammelleitung 517 auf die Divisionseinheit gegeben wurde
und in dieser Einheit gespeichert werden kann, dekodiert wird, über eine der Leitungen 586, 587 und 588 der Rückstell-Sperr-Sammelleitung
590 kann dann ein Signal abgegeben werden. Wie aus Fig. 5 zu ersehen ist, ist eine dieser
Leitungen jeweils für das in jedem Prozessor vorhandene Sperrflipflop vorgesehen, so daß der betreffende Prozessor
jeweils die Sperrleitung (233 im Prozessor 0 in Pig, 5)
löschen kann und hierdurch die Folgeschaltung einen weiteren Befehl einleiten kann.
Aus jedem der Ausführungsgeräte führt eine Ergebnis-
und Kennzeichensammelleitung 533 heraus. Ergebnisse werden über eine Sammelleitung 547 geleitet und Kennzeichen werden
über eine Sammelleitung 535 einem Kennzeichendekodierer 537 zugeführt, welcher wiederum ein binärer 1-aus-N-Dekodierer
sein kann. Wenn die Ergebnisse über die Sammelleitung 5^7
gegeben werden , wird das entsprechende Ergebniskennzeichen 539 >
5^1 ... 5^5 durch den Kennzeichendekodierer 537 erregt und
hierdurch der virtuelle Prozessor, der seine betreffende Funktion anforderte, davon unterrichtet, daß seine Ergebnisse
zur Verfügung stehen. Genauer geht dieser Vorgang aus
- 62 -
0098A2/1670
Pig. 7 hervor, wo die ErgebnisSammelleitung 5^7 einen
zum Akkumulator eines jeden Prozessors führenden Eingang
hat und jedes der Ergebniskennzeichen als Steuerkennzeichen für den jeweiligen Prozessor dient und anzeigt, daß die
von der Ergebnissammelleitung kommenden Ergebnisse für diesen betreffenden Prozessor bestimmt sind·
systems
Ausgehend von Fig· I wird angenommen, daß jeder
virtuelle Prozessor in einer Gruppe Befehle vom Hauptspeicher 23 empfangen kann, beispielsweise Lade-/Speicherbefehle
über die Sammelleitung 31 zu senden und Operanden vom Hauptspeicher zu empfangen oder an diesen zu senden.
Dazu können geeignete Lade- und Speichereinrichtungen sowie ^Steuerungen verwendet werden, die jedoch nicht unmittelbar
Gegenstand der Erfindung bilden.
Im folgenden wird ebenfalls auf Fig. 1 Bezug genommen.
Jeder virtuelle Prozessor in jeder Gruppe wird in aufeinanderfolgenden
Zeitabschnitten von z.B. jeweils 8 ns auf ausstehende Bedienungsanforderungen hin überprüft· Beispielsweise
wird während öes ersten Zeitabschnittes von 8 ns PO in der Gruppe 0, Pl in der Gruppe 1, P2 in der Gruppe 2
- 63 009842/1670
und P3 in der Gruppe 3 überprüft. Während der folgenden
8 ns werden P 4 in Gruppe O, P 5 in Gruppe 1, P6 in Gruppe und P7 in Gruppe 3 geprüft. Der Betrieb läuft auf diese
Weise weiter, so daß jeweils während 8 ns vier virtuelle Prozessoren geprüft werden, und zwar jeweils einer in jeder
Gruppe. Da jede Prüfperiode 8 ns beträgt und acht virtuelle Prozessoren vorhanden sind, benötigt jede Gruppe für einen
Umlauf 64 ns. Wie eine bestimmte Gruppe ihre Prüfung vollzieht ist aus Fig. 3 zu ersehen.
Fig. 3 zeigt die Gruppe 0. Während der ersten 8 ns erregt die Phase 0 des Ringzählers 201 die Leitung 203 und
PO wird daraufhin überprüft, ob er eine Bedienungsanforderung ausstehen hat. Ist dies der Fall, so wird die PO-Anforderungsleitung
219 erregt. Daher erregt dann das UND-Glied 235 die Leitung 236 über die Verriegelungsschaltung 280, um
den Operanden von der PO-Operandensammelleitung 220 über
die Torschaltung 204 der Operandensammelleitung 251 der Gruppe 0 zuzuleiten. Die Leitung 236 schaltet außerdem über
das ODER-Glied 253 die O-Anforderungsleitung 102 ein.
Die Verzögerungsschaltung 281 stellt am Ende dieses Zeitabschnittes die Verriegelungsschaltung 280 zurück. Wie
bereits erwähnt, ist die Struktur der über die torgesteuerte Sammelleitung 220 geleiteten Operanden aus Fig. 5 zu
ersehen. Wäyrend des zweiten Zeitabschnittes von 8 ns
- 64 -
009842/1670
erregt die Phase 1 des Ringzählers 201 die Leitung 205, welche dann an das UND-Glied 237 ein einschaltendes Eingangssignal
abgibt. Wenn der virtuelle Prozessor P4 der Gruppe 0 eine Bedienungsanforderung ausstehen hat, bildet
das Signal auf der Leitung 221 ein zweites Einschaltsignal für das UND-Glied 237. Über die Verriegelungsschaltung
liefert dann die Leitung 238 ein auf Durchlaß schaltendes Eingangssignal an die Torschaltung 206, um die Operanden
von P4 auf die Operandensammelleitung 251 der Gruppe
zu geben. Die Leitung 238 schaltet über das ODER-Glied außerdem die 0-Anforderungsleitung 102 ein. Die Verzögerungseinrichtung
283 setzt am Ende des Zeitabschnittes die Verriegelungsschaltung 282 zurück. Dieser Vorgang
läuft mit einer neuen Phase des Ringzählers 201 der-Gruppe
weiter, so daß die betreffende Ringzählerleitung alle
8 ns eingeschaltet wird, bis Phase 7 erreicht ist.~ Am Ende
der Phase 7 beginnt derselbe Vorgang wiederum mit der Phase 0 von vorne, so daß ein neuer Umlauf der Gruppe
erfolgt und die virtuellen Prozessoren wieder der Reihe nach überprüft werden. Diese überprüfung erfolgt jeweils
gleichzeitig in jedem Prozessor mit derselben relativen Position in der betreffenden Gruppe, die während desselben
Zeitabschnittes von 8 ns in jeder Gruppe überprüft wird. Somit können jeweils vier Anforderungen, nämlich eine von
jeder Gruppe, während eines gegebenen Zeitabschnittes
00914271870-
ausstehen. Es können also alle in Fig. 2 gezeigten Leitungen 102, 104, 106 und 108 während desselben Zeitabschnittes
erregt sein. Verkettungen werden durch die oben in Verbindung mit den Fig. 2A und 2B erläuterte und
in Fig. 2 dargestellte Prioritätssteuerung aufgebrochen.
Im folgenden wird ein Betriebsbeispiel für die Operanden eines bestimmten virtuellen Prozessors beschrieben, der in
einer Periode von 8 ns die Priorität zugeteilt erhielt. Mit Bezug auf die Darstellungen in den Fig. 3 und 4 wird angenommen,
daß der Prozessor PO die tatsächliche Priorität auf ähnliche Weise erhalten hat, wie es oben im Zusammenhang
mit den Tabellen I und II beschrieben wurde. In diesem Falle wurden die Operanden von PO über die Leitung 220
der Fig. 3 und die Torschaltung 204 auf die Operandensammelleitung 251 der Gruppe 0 geleitet, indem die Leitungen
203 und 219 in der oben erörterten Weise gleichzeitig erregt wurden und hierdurch das UND-Glied 235
eingeschaltet wurde, um die Verriegelungsschaltung 280 zu setzen. Das Ausgangssignal des Ausganges 236 der
Verriegelungsschaltung 280 öffnet die Torschaltung 204, so daß die Operanden der Sammelleitung 251 zugeführt werden.
Gleichzeitig schaltet die Erregung der Leitung 236 das ODER-Glied 253 auf Durchlaß, um hierdurch die 0-Anforderungsleitung
102 zu erregen. Die mit 281 bezeichnete
- 66
Verzögerungsschaltung Dl, welche typisch für jede Verriegelung
in Fig. 4 ist, ist in ihrer Verzögerung so gewählt, daß die O-Anforderungsleitung 102 jeweils 8 ns lang
erregt bleibt, bevor das Ausgangssignal der Verzögerungsschaltung 281 die Verriegelung zurückstellt. Dacirch wird
sichergestellt, daß das Anforderungssignal auf der Leitung 102, was für alle Gruppen typisch ist, voll vorhanden ist, wenn
der Maschinentaktimpuls über die Leitung 100 von Fig. 2
dem betreffenden UND-Glied zugeht. Da für dieses Beispiel angenommen ist, daß PO die tatsächliche Priorität hat, wird
die in Fig. 2 dargestellte Leitung 125 erregt. Aus Fig. 4 ist zu ersehen, daß dadurch die Leitung 125 bewirkt, daß
eine auf der Sammelleitung 13 vorhandene Anforderung 199
der Ausführungseinheit zugeleitet wird und daß die Torschaltung 271 die Operanden von der ebenfalls in den
Fig. 3 und 4 dargestellten Sammelleitung 251 auf die Operandensammelleitung 279 gibt, welch letztere unmittelbar
zu der Ausführungseinheit führt. Aus Fig. 6 ist zu ersehen, daß die Anforderungsleitung 199 der Anforderungssammelleitung
13, welche jeweils aus Fig. 5 bzw. aus Fig. 1
ersichtlich ist, die ODER-Torschaltung 504 erregt, welche
ihrerseits wiederum die Leitung 506 zum binären OP-Dekodierer erregt. Da die Zeiteinteilung nach Maschinentaktimpulsen
mit einer angenommenen Dauer von 8 ns erfolgt, sollte die Zeiteinteilung des Systems nach den allgemein bekannten
- 67 0-09842/1670
nötigen Zuschlägen für mögliche Verzögerungen synchronisiert sein. Somit laufen die torgesteuerten Operanden über
die Operandensammelleitung 279, von welcher der OP-Kodeteil
über die torgesteuerte Sammelleitung 501 zum OP-Dekodierer geleitet wird. Der Rest der Operanden, nämlich die
Kennzeichnungs- und die Datenoperanden laufen weiter über die Sammelleitung 279 zu den einzelnen Ausführungsgeräten.
Der OP-Dekodierer 503 dekodiert die durch den OP-Kode
* angegebene Operation und gibt auf eine zu dem betreffenden,
jeweils angegebenen Ausführungsgerät führende Leitung
ein Signal, welches jeweils gleichzeitig mit den Kennzeichen und den Operanden von der Sammelleitung 279 ankommt. Es
ist bekannt, daß bei einer Ausführungseinheit, die über einen Kanal erreicht wird, deren Torschaltung über weite
Übertragungsstrecken hinweg offengehalten wird (pipelined execution unit), ein neuer Befehl nicht unbedingt bei
jedem neuen Zyklus gestartet werden kann. So kann beispiels-
h weise, wie dies auch in dem oben angegebenen Artikel von
S.P. Anderson usw. beschrieben ist, ein Additionsbefehl vier Maschinenperioden beanspruchen, wobei alle zwei
Maschinenperioden jeweils ein neuer Additionsbefehl eingeleitet wird. Die Situation ist bei anderen Geräten ähnlich,
der Unterschied liegt in der Anzahl von Perioden, welche zur Ausführung anderer Punktionen erforderlich sind, und
der Anzahl von Perioden, nach welchen jeweils wiederum
- 68 -009842/1670
eine neue Instruktion ausgelöst werden kann. Die Folge
ist, daß das gerade addressierte Ausführungsgerät belegt
sein kann. In diesem Fall nimmt es die Bedienungsanforderung nicht an. Ist das Ausführungsgerät nicht belegt,
so nimmt es die Anforderung an. Als Beispiel wird angenommen, daß der OP-Kode, die in Frage kommende Anforderung
für PO, eine Gleitkommaaddition ist. Sowohl Operanden als auch Kennzeichen werden den Ausführungsgeräten 519»
521 ... 531 zugeleitet. Gleichzeitig kann der Kennzeichenteil durch allgemein bekannte Torschaltungen über eine
Sammelleitung 600 dem Kennzeichendekodierer 5I6 zugeleitet
werden. Da es sich um einen Befehl zur Gleitkommaaddition handelt, leitet die vom OP-Dekodierer 503 wegführende
Leitung 505 die Operanden und Kennzeichen der Gleitkommaaddiereinheit 519 zu. Wenn diese Einheit einen neuen
Befehl annehmen kann, d.h. wenn sie sich nicht in den
ersten beiden Zyklen der Ausführung eines vorhergegangenen Additionsbefehles befindet, so nimmt sie die Operanden an
und gibt über die Leitung 565 ein Signal ab. Das Kennzeichen
kann ebenfalls angenommen werden und mit fortschreitender Ausführung den über weite Strecken offengehaltenen, torgesteuerten
Kanal (Pipeline) innerhalb eines Ausführungsgerätes entlanglaufen, um am Ende der Ausführung zur
Verfügung zu stehen und hierdurch denjenigen virtuellen. Prozessor anzugeben, an welchen die Ergebnisse der Ausführung zu senden sind. Das auf der Leitung 565 gegebene
- 69 -
0 09842/1670
Signal kann durch logische Schaltungen bekannter Art erzeugt werden. Die Leitung 565 sowie die Annahmeleitungen
aller Ausführungsgeräte sind an eine ODER-Torschaltung
angeschlossen und, da diese Leitung erregt ist, erregt sie ihrerseits die Leitung 575, um den Kennzeichendekodierer
zwecks Bezeichnung desjenigen Prozessors einzuschalten, der die Bedienung anforderte. Daher ermöglicht
die Leitung 575 die Abgabe eines Signales, in diesem Falle über die als Annahmeleitung dienende Leitung 557, an den
virtuellen Prozessor O. Mit Bezug auf Fig. 5 ist ersichtlich,
daß die Leitung 557 das Annahmeflipflop 229 setzt und hierdurch das Anforderungsflipflop 223 zurückstellt, um
den virtuellen Prozessor zur Abgabe der nächsten Anforderung vorzubereiten. Die Stellung des Annahmeflipflops 229
gestattet der Leitung 227t dieses Flipflop zurückzustellen. In der Rückstelleitung muß eine hinreichend große Verzögerung
D2 vorhanden sein, um auf der Leitgung 227 einen Impuls zu bilden, der breit genug ist, um das Anforderungsflipflop
223 zurückzustellen. Wenn dieses Flipflop durch eine Annahme nicht zurückgestellt wird, so dient das Signal
auf seiner Ausgangsleitung 219 dazu, die Folgeschaltung daran zu hindern, einen weiteren Befehl abzugeben.
Wenn jedoch das betreffende Ausführungsgerät, in diesem Fall eine Gleitkommaadditionseinheit, belegt ist,
werden die in Fig. 6 dargestellten Annahmeleitungen 565 ...
- 70 009842/1870
\λ ■ ■
nicht erregt. Demzufolge wird auch der Kennzeichendekodierer
516 nicht eingeschaltet und wird das Annahmeflipflop des
die Bedienung anfordernden virtuellen Prozessors nicht gesetzt, um das Anforderungsflipflop zurückzustellen.
Die Anforderung in dem betreffenden virtuellen Prozessor, in diesem Falle PO, bleibt daher für den nächsten Zeitabschnitt
ausstehend, in welchem der Prozessor innerhalb seiner Gruppe geprüft wird» .
Wie bereits erwähnt, erfordern bestimmte Operationen,
wie.z.B. Divisionen, zu ihrer vollständigen Ausführung
zeitlich mehr als einen Umlauf in der Gruppe. Daher dienen die Leitungen 569 und 567 von den Divisionsgeräten aus
Fig. 6 als Einschaltleitungen für die ODER-Torschaltung 576, welche bei Einleitung einer Division die Leitung 575 dazu
veranlaßt, zusammen mit dem Annahmesignal an den die
Bedienung anfordernden virtuellen Prozessor ein Sperrsignal abzugeben. Wenn z.B.' PO eine Division angefordert hatte,
dann hat die Leitung 557 ihre normale Annahme an den virtuellen Prozessor PO gesendet, jedoch gibt auch gleichzeitig
die Leitung 564 ein zweites Eingangssignal über
die Leitung 577 an die UND-Torschaltung 579, um dem
Prozessor PO über die Leitung 580 ein Sperrsignal zuzusenden. Aus Fig. 5 ist ersichtlich, daß über die Leitung
das Sperrflipflop 231 gesetzt wird, um die Folgeschaltung
- 71-009842/167Q
so lange daran zu hindern, einen neuen Befehl abzugeben, bis der Divisionsvorgang beendet ist. Aus Fig. 6 ist
zu entnehmen, daß einen Zyklus, bevor das Divisionsgerät sein Ergebnis hervorbringt, über die Rückstell-Sperr-Sammelleitung
590 ein Signal gesendet wird. Die Rückstell-Sperr-Sammelleitung 590 umfaßt die Leitungen 586, 587 und
588, von denen je eine für einen virtuellen Prozessor vorgesehen ist. Die betreffende Rückstellsperrleitung
stellt daher jeweils das Sperrflipflop des betreffenden Prozessors zurück, z.B. Leitung 586 in Fig. 5, um hierdurch
von der Leitung 233 das Signal wegzunehmen und damit die Folgeschaltung aus ihrem abgeschalteten Zustand wieder
in ihren wirksamen Zustand zu setzen.Die Leitungen der in Fig. 6 dargestellten Rückstell-Sammelleitung
können in üblicher Weise hergestellt werden. So kann z.B. ein Signal aus der vorletzten Stufe der Divisionsgeräte
entnommen werden. Da sowohl die Operanden als auch das Kennzeichen den betreffenden Funktionseinheiten zugeführt
werden, können die betreffenden Divisions-Funktionseinheiten einen binär-zu-1-aus-N-Dekodierer zum Dekodieren
der Kennzeichen enthalten, die zur Erregung der betreffenden Sperrleitung der Sammelleitung 590 dienen, wie dies in
ähnlicher Weise für den Kennzeichendekodierer 518 und die
Annahmesammelieitung beschrieben wurde.
Wenn Ergebnisse^ zur Verfügung stehen, werden diese
009842/"i670
zusammen mit dem Kennzeichen von der betreffenden Ausführungseinheit
über die Sammelleitung 533 abgegeben. Die Ergebnisse werden Über die Ergebnissammelleitung
geleitet, während die Kennzeichen torgesteuert dem Kennzeichendekodierer 537 zugeführt werden„ Der Ausgang
des Kennzeichendekodierers 537 entspricht der Erregung eines bestimmten Kennzeichens, welches besagt," daß die
Ergebnisse auf der Ergebnissammelleitung 5^7 für den
angegebenen Prozessor gelten. Dies ist genauer aus Fig.
ersichtlich. Die Ergebnisse auf der Ergebnissammelleitung 5^7
können an einem Register eines jeden virtuellen Prozessors zur Verfügung stehen, werden aber jeweils nur dem
Prozessor zugeführt, dessen Kennzeichen vorliegto Im
vorliegenden Beispiel wurde angenommen, daß der Prozessor PO
der in Präge kommende Prozessor ist, so daß die Leitung
die Ergebnisse in das Register dieses Prozessors PO eingibt. Die vorstehende Beschreibung zeigt den Weg, welchen
ein einzelner Befehl nimmt. Jede Anforderung wird unter
Steuerung der in den Pig. 1 und 2 dargestellten Prioritätssteue^schaltung
11 in der vorstehend beschriebenen Weise der Ausführungseinheit zugeführt.
Die Erfindung wurde vorstehend anhand einer in den
Zeichnungen dargestellten Ausführungsform als Beispiel
- 73 -009842/1670
beschrieben und dem Fachmann sind im Rahmen der Erfindung selbstverständlich Änderungen einzelner
Systemteile und Systemkombinationen möglich.
- 74 009842/1670
Claims (10)
- Patentansprüche(Iv Datenverarbeitungssystem zur Verarbeitung einesx^y . ■ · ■ .Stromes mehrfacher Operanden, gekennzeichnet riurch eine Ausführungseinheit (1), ferner durch eine Vielzahl von Gruppen (3>, 5, 7, 9) mit jeweils bis zu."n" virtuellen Prozessoren (PO bis P31) und durch eine Prioritätsr steuerschaltung (11), aufgrund welch letzterer jeder der virtuellen Prozessoren in der Lage ist, die Ausführungseinheit zeitmultiplex zu betreiben. .·.-.-·
- 2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Ausführungseinheit (1) mit einem Kanal verbunden ist, der eine Torschaltung aufweist, die in der Lage ist, den Kanal für lange Übertragungsabschnitte geöffnet zu halten, (pipelined execution unit)
- 3. System nach Anspruch 1, dadurch gekennzeichnet, daß die Prioritätssteuerschaltung Steuermittel für den periodischen Prioritätsumlauf unter den genannten
Gruppen (3, 5* 1» 9) und weitere Steuermittel aufweist, welch letztere die Wirksamkeit der erstgenannten Steuermittel aufheben und die Priorität jeweils einer bestimmten der genannten Gruppen geben können.- 75 009842/1670 - 4. System nach Anspruch 2, dadurch gekennzeichnet, daß die genannte Ausführungseinheit (1) eine Vielzahl von abgestuften, von den genannten Gruppen (3> 5> 7'» 9) Operandeninformationen empfangende Ausführungsgeräte, ferner mit diesen Ausführungsgeräten zusammenwirkende Mittel, welche einem jeweils anfordernden virtuellen Prozessor jeweils anzeigen, ob seine Anforderung angenommen wurde, und Mittel zur Rückübertragung der Ergebnj sse der Ausführung zu dem genannten anfordernden virtuellen Prozessor aufweist.
- 5. System nach Anspruch 4, dadurch gekennzeichnet, daß eine Anordnung von Ausführungsgeräten Operanden mit einer bestimmten Geschwindigkeit bearbeitet und mindestens ein weiteres Ausführungsgerät Operanden mit einer kleineren Geschwindigkeit als der erstgenannten Geschwindigkeit bearbeitet, wobei das bzw. die genannten weiteren Ausführungsgeräte jeweils Mittel aufweisen, welche auf die Annahme einer Anforderung durch einen anfordernden Prozessor in der Weise ansprechen, daß dieser anfordernde Prozessor jeweils so lange nicht für eine neue Anforderung verfügbar ist, bis daß das genannte annehmende Gerät die genannte angenommene Anforderung im wesentlichen vollständig verarbeitet hat.0098A2/1670
- 6. Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden, gekennzeichnet durch eine Ausführungseinheit (1), ferner durch eine Vielzahl von Gruppen 03/5, 1* 9) virtueller Prozessoren (PO bis P^l), von welchen jede Gruppe Mittel zur Abgabe einer Bedienungsanforderung während gegebener Zeitperioden enthält, und durch eine Prioritätssteuerschaltung (11) zur Auswahl einer Bedienungsanforderung von einer der genannten Gruppen zwecks Abgabe dieser Bedienungsanforderung an die genannte Äusführungseinheit.
- 7· System nach Anspruch 6, dadurch gekennzeichnet, daß jede der genannten Gruppen (3* 5* 7> 9) folgende Teile aufweist: eine Anordnung virtueller Prozessoren (PO bis P^l) von welchen jeder von einem Speichersystem Operanden · empfängt und die Fähigkeit besitzt, periodisch Operanden zur Bearbeitung brauchbar zu machen, ferner in jedem Prozessor eine Bedienungsanforderungsschaltung zur Anzeige, ob Operanden zur Bearbeitung bereit sind, weiter Prüfmittel zur periodischen überprüfung jeder Bedienungsanforderung, und endlich Steuermittel, welche jeweils beim Prüfen einer aktiven Bedienungsanforderungsschaltung ansprechen und hierbei die genannte Anzeige der genannten Prioritätssteuerschaltung mitteilen.- 77 -00SS42/1870fs
- 8. System nach Anspruch 7* gekennzeichnet durch
Mittel, welche jeweils die genannte ausgewählte Bedienungsanforderung und ihre zugehörigen Operanden der genannten Ausführungseinheit (1) zuführen. - 9· System nach Anspruch 6, dadurch gekennzeichnet,
daß die genannte Prioritätssteuerschaltung zyklisch arbeitende Mittel zum Herumreichen der Priorität unter den
genannten Gruppen nach Art eines rotierenden Systems und Logik- und Speichermittel zur Übersteuerung der genannten zyklisch arbeitenden Mittel zwecks. Übertragung der Priorität auf eine bestimmte der genannten Gruppen aufweist. - 10. Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden, gekennzeichnet durch folgende Kombinationsmerkmale:a) eine Übertragungseinheit (1)(pipelined execution unit) mit einem mit ihr verbundenen Kanal, der
eine Torschaltung aufweist, welche den Kanal für lange Übertragungsabschnitte geöffnet hält,b) Eine Vielzahl von Gruppen (3, 5, 7, 9) mit jeweils bis zu "n" virtuellen Prozessoren (PO bisORIGINAL INSPECTED009842/1670«■■■■/.c) Mit jeder dieser Gruppen jeweils zusammenwirkende Übertragungsmittel zur Übertragung von Operanden und Resultaten von den virtuellen Prozessoren zu einer Ausführungseinheit (1),d) Eine jeder der genannten Gruppen jeweils zugeordnete Schaltung, welche der Ausführungseinheit jeweils eine Bed!enungsanforderung anzeigt,e) Eine jeder der genannten Gruppen jeweils zugeordnete Ringzählerschaltung zur Anzeige jeweils eines bestimmten Prozessors innerhalb der betreffenden Gruppe als Kandidat, welcher der Ausführungseinheit die genannte angezeigte Bedienungsanforderung und ihre Operanden zuzuführen hat,f) Einen mit einer Torschaltung zusammenwirkenden Prioritätsringzähler zur Bestimmung der Gruppenpriorität während einer gegebenen Zeitperiode, wobei Wahleinrichtungen jeweils diejenige Gruppe aus den genannten Gruppen auswählen, welche während einer bestimmten Zeitperiode die höchste Priorität- 79 - ■009842/1-670und eine ausstehende Bedienungsanforderung aufweist,g) Ein Register, welches einer bestimmten Gruppe jeweils anzeigt, daß sie ungeachtet der durch den Prioritätsringzähler gegebenen Priorität Vorrang hat,* h) Eine auf vom Prioritätsringzähler, ferner auf jeweils von der eine Bedienungsanforderung anzeigenden Schaltung und auf von dem genannten Register abgegebene Signale ansprechende logische Schaltung, welche ihrerseits Signale zur Übersteuerung der von dem Prioritätsringzähler gegebenen Priorität und zur Übertragung der Priorität auf die genannte bestimmte Gruppe erzeugt undi) Eine Schaltung zur Übertragung der sich durch die genannte Bedienungsanforderung ergebenden Resultate jeweils zurück zu dem genannten bestimmten Prozessor derjenigen Gruppe, welche Priorität hat.- 80 -009842/1670%λL e e r s e i J e
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 true DE2015971A1 (de) | 1970-10-15 |
DE2015971B2 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2224537A1 (de) * | 1971-08-31 | 1973-03-08 | Ibm | Einrichtung und verfahren zur instruktionsselektion |
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 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US3979728A (en) * | 1973-04-13 | 1976-09-07 | International Computers Limited | 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 |
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 GB GB04658/70A patent/GB1241403A/en not_active Expired
- 1970-03-26 FR FR7011060A patent/FR2042736A5/fr not_active Expired
- 1970-03-30 JP JP45026071A patent/JPS511108B1/ja active Pending
- 1970-04-03 DE DE2015971A patent/DE2015971C3/de not_active Expired
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2224537A1 (de) * | 1971-08-31 | 1973-03-08 | Ibm | Einrichtung und verfahren zur instruktionsselektion |
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 |
Also Published As
Publication number | Publication date |
---|---|
DE2015971B2 (de) | 1978-01-19 |
US3611307A (en) | 1971-10-05 |
GB1241403A (en) | 1971-08-04 |
DE2015971C3 (de) | 1978-09-28 |
FR2042736A5 (de) | 1971-02-12 |
JPS511108B1 (de) | 1976-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2015971A1 (de) | Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden | |
EP0010194B1 (de) | Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb | |
DE2162806C2 (de) | Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle | |
DE3300261C2 (de) | ||
DE3300260C2 (de) | ||
DE2714805C2 (de) | ||
DE3638572C2 (de) | ||
DE1524239A1 (de) | Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten | |
DE3789490T2 (de) | Steuerungssystem für ein Vektorprozessor. | |
DE3314917A1 (de) | Multimicroprozessor-system | |
DE1549437A1 (de) | Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen | |
DE2063195C2 (de) | Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern | |
EP0134831A1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE1499206B2 (de) | Rechenanlage | |
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 | |
DE1805992C3 (de) | Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen | |
DE1524181B2 (de) | Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage | |
DE3048414A1 (de) | "schaltungsanordnung fuer eine datenverarbeitungsanlage" | |
DE60221515T2 (de) | Speichersystem für schleifenbeschleunigung nach wunsch | |
DE2647367A1 (de) | Redundante prozessteueranordnung | |
DE2500320C2 (de) | ||
DE3149678C2 (de) | Anordnung zur Zwischenspeicherung von zwischen zwei Funktionseinheiten in beiden Richtungen zu übertragenden Informationen in einem Pufferspeicher | |
DE1916377B2 (de) | Verfahren und Anordnung zur Verschiebung von Datenfeldern | |
EP0012794B1 (de) | Verfahren und Einrichtung für eine elektronische Datenverarbeitungsanlage zur Prüfung der aus einer Instruktion abgeleiteten Steuersignale | |
DE2007041A1 (de) | Automatisch strukturierbares Datenverarbeitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |