DE1813916C3 - Elektronische Datenverarbeitungsanlage - Google Patents

Elektronische Datenverarbeitungsanlage

Info

Publication number
DE1813916C3
DE1813916C3 DE1813916A DE1813916A DE1813916C3 DE 1813916 C3 DE1813916 C3 DE 1813916C3 DE 1813916 A DE1813916 A DE 1813916A DE 1813916 A DE1813916 A DE 1813916A DE 1813916 C3 DE1813916 C3 DE 1813916C3
Authority
DE
Germany
Prior art keywords
units
bit
arithmetic
control
bits
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.)
Expired
Application number
DE1813916A
Other languages
English (en)
Other versions
DE1813916A1 (de
DE1813916B2 (de
Inventor
George Henry Barnes
Albert Prussia Sankin
Richard Arthur Stokes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of DE1813916A1 publication Critical patent/DE1813916A1/de
Publication of DE1813916B2 publication Critical patent/DE1813916B2/de
Application granted granted Critical
Publication of DE1813916C3 publication Critical patent/DE1813916C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Landscapes

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

Description

5 6
einfachen Mitteln und durch einfache Verschaltun- arten-Steuervorrichtung aufweist, die auf das züge- pij
gen eine Datenverarbeitungsanlage geschaffen, bei ordnete Steuerwerk und die Zustände in der Rechen- Quadi
der Programme als Teilprogramme bei Bedarf neben- einheit anspricht und Änderungen in Teilen der Re- ρ \,
einander verarbeitet werden können. Jede der gister verhindert, sofern die Betriebsarten-Steuervor- ρ}
Recheneinheiten innerhalb der Gruppen von Rechen- 5 richtung nicht gesetzt ist. Folglich wird die Speicher- Block
einheiten kann nämlich entweder allein oder auch adresse geändert, wenn der Inhalt eines Registers, Pi
gleichzeitig zusammen entsprechend den zugeführten und zwar des Adressenspeicherregisters in eine nicht einer
Teilprogrammen eingesetzt werden. Für die zu ver- zugehörige Recheneinheit übertragen wird. Auf diese ρ j
arbeitenden Daten eines Programms oder eines Teil- Weise wird jeweils eine richtige Speicheradresse jnfor
programme ist es dabei vorteilhaft, daß jedes Steuer- io selbsttätig gefunden. Spejc
werk eine erste und zweite Steuerstation enthält, wo- Es ist zweckmäßig, wenn die Datenverarbeitungs- ρ j
bei die zweite Steuerstation von der ersten Steuer- anlage der Erfindung so weitergebildet ist, daß bei Lese
station vollständig unabhängig ist und entsprechend mehreren Gruppen von Recheneinheiten die Steuer- p.
mit maximaler Geschwindigkeit arbeiten kann. Dies werke eine Konfigurationssteuervorrichtung auf- Steui
wird jedoch letzten Endes erst dadurch erreicht, daß 15 weisen, die bestimmt, wieviele dieser Gruppen an ρ
die zweite Steuerstation eine Warteschlangenbil- einer Aufgabe arbeiten, und die ferner bestimmt, in gabe
dungsvorrichtung aufweist, die an den Ausgang der welchem Arbeitsspeicher die Befehle und Operanden p>
ersten Steuerstation angeschlossen ist, so daß die zur Durchführung der Aufgabe gespeichert werden. H1
zweite Steuerstation von der ersten Station keine Ab- Es werden also die freizugebenden Verbindungen „rüp
hängigkeit aufweist. ao zwischen mehreren Gruppen von Recheneinheiten auf,
Durch die erfindungsgemäße Anordnung wird die mit Hilfe von Konfigurationssteuervorrichtung über- führ
Mehrfachverarbeitung von Daten innerhalb jeder wacht, so daß festgestellt werden kann, wie jede die ■
Gruppe des Systems dahingehend abgewandelt, daß Gruppe arbeitet, wodurch eine Übersicht .über die engl
Befehle rasch verarbeitet werden, da jede Einheit mit Arbeitsweise der gesamten Anlage möglich ist. Die Rec
einer oder mehreren anderen Einheiten verbunden »5 Anlage läßt sich auf diese Weise optimal ausnutzen. »pp
werden kann, die Teilprogramme in der Bearbeitung Vorteilhafterweise wird die Datenverarbeitungs- Mit
übernehmen können. anlage so ausgebildet, daß die Eingabe-Ausgabe-Vor- (we
Da es bei der erfindungsgemäßen Datenverarbei- richtung in jeder der Recheneinheiten, die mindestens eng
tungsanlage möglich ist, ein Programm in viele ein- vier andere Recheneinheiten verbindet, Registriervor- OR
zelne Teilprogramme zu unterteilen, die dann gleich- 30 richtungen und entsprechend Verbindungen zwischen bun
zeitig in speziell zugeordneten Recheneinheiten ver- jeder der Registriervorrichtungen und den Registrier- die
arbeitet werden, und da ferner die Geschwindigkeit vorrichtungen der vier beachbarten Recheneinheiten gra
der einzelnen Recheneinheiten erhöht ist, kann die zur Übertragung von Operanden nach folgendem pre
gesamte Datenverarbeitungsanlage selbst umfang- Schema enthält: Die Recheneinheiten der Gruppe foil
reiche Programme mit hoher Geschwindigkeit ver- 35 werden in gleiche Untergruppen unterteilt, und die leit
arbeiten, die viel größer ist, als bei allen bereits be- Untergruppen und Recheneinheiten innerhalb jeder U!r
kannten derartigen Anlagen. In welcher Weise Pro- Gruppe werden in vertauschter Weise numeriert, wo- zu«
gramme in Teilprogramme zerlegt werden, läßt sich bei die Untergruppen und Recheneinheiten innerhalb
dabei flexibel gestalten und hängt von der Zusam- jeder Gruppe fortlaufend numeriert und in der pi
menfaßbarkeit von Datengruppen ab. 40 Reihenfolge 0, n, 1, 2-1, 2, n-2,... angeordnet sind, Ci
Es sei noch hervorgehoben, daß bei der erfin- wobei η die Anzahl der Untergruppen oder Rechen- Be dungsgemäßen Datenverarbeitungsanlage jedes einheiten innerhalb jeder Gruppe ist und wobei inSteuerwerk seine eigene erste Steuerstation aufweist, nerhalb jeder Untergruppe endseitig Verbindungen 21 durch die es möglich ist, Befehle, bevor sie tatsäch- zwischen jeder Recheneinheit und den nächsthöher ta lieh gebraucht werden, abzurufen, und daß es ferner 45 und -niedriger numerierten Recheneinheiten und zwi- H eine eigene zweite Steuerstation aufweist, die Pro- sehen Recheneinheiten einer Untergruppe und ent- D grammbefehle, wie Sprünge, Unterbrechungen, sowie sprechenden Recheneinheiten der nächsthöher oder p] Speicheradressen von der ersten Steuerstation auf- -niedriger numerierten Untergruppen endseitig her- D nimmt, so daß die zweite Steuerstation alle logischen gestellt sind. Es ist also möglich, daß über den E Operationen, Verschiebungen und Vergleiche, die bei 50 Steuerrechner und die Eingabe-Ausgabe-Vorrichtung w einer Datenverarbeitung erforderlich werden, aus- Recheneinheiten derart unterteilt und numeriert wer- » führen kann. Zusätzlich weist aber die zweite Steuer- den, daß sie alle zusammen eine große Mehrfach- a station eine Warteschlangenbildungsvorrichrung auf, recheneinheit bilden. Die Datenverarbeitungsanlage C durch die es möglich ist, die von der ersten Steuer- eignet sich aus diesem Grund auch sehr gut für be- / station vorbereiteten Befehle eine zeitlang zu 55 sonders große Programme. s speichern, bis sie tatsächlich im Rechenwerk benötigt Um die Verarbeitungsgeschwindigkeit der Daten- e werden. Auf diese Weise wird durch die beiden Verarbeitungsanlage zu erhöhen, ist sie zweckmäßig
Steuerstationen ein maximaler zeitlicher Wirkungs- so ausgestaltet, daß die zweite Steuerstation eine Vor- j grad bei der Verarbeitung von Daten erreicht. richtung zum Überlappen der Übertragung eines «
Die Datenverarbeitungsanlage gemäß der Erfin- 6ö Operanden mit der Übertragung eines vorherigen <
dung wird vorteilhafterweise dadurch weitergebildet, Befehls, der die Übertragungsvorrichtung nicht be- 1
daß die Vorrichtungen zur Ausführung der logischen nutzt, enthält.
und arithmetischen Operationen mit Operanden Re- Ein Anwendungsbeispiel der Erfindung wird nachgister enthalten, daß die erste Steuerstation Vorrich- folgend an Hand der Zeichnungen näher beschrieben,
tungen zur schrittweisen Änderung der Arbeits- 65 F i g. 1 ist ein Blockschaltbild einer Anlage nach
Speicheradressen bei Übertragung des Inhalts eines der Erfindung;
Registers in eine nicht zugehörige Recheneinheit ent- Fig.2 ist ein Blockschaltbild einer Gruppe von
hält und daß jede der Recheneinheiten eine Betriebs- Recheneinheiten;
fr---:
,si. Hü
■■'!ΙΗΛΊΙ.
klcstcn:·
iicrvorwischcn
pstrier
inhcitcn
i-Vjnilcrii
Gruppe
mid die
:-riu:lb
der
ν v.-• ■ o.ier
'. i s: j ι ■ ■ r -
1CV CC'
vhUHH;
crt wer-
-iirfach-
Fi g. 3 A bis 3D zeigen ein Blockschaltbild eines Quadranten der Recheneinheiten;
Fi g. 4 ist ein Blockschaltbild einer Recheneinheit;
Fig. 5A und 5B stellen ein ausführlicheres Blockschaltbild einer Recheneinheit dar;
F i g. 5 ist ein Blockschaltbild des Arbeitsspeichers einer Recheneinheit;
F i g. 7 ist ein Blockschallbild des Arbeitsspeicher-Informationsregisters im Recheneinheit-Arbeitsspeicher;
F i g. 8 zeigt schematisch die Anordnung einer Leseleitung in der Arbeitsspeicherebene;
F i g. 9 A bis 9 E zeigen ein Blockschaltbild eines Steuerwerks;
Fig. 10 ist ein Blockschaltbild des Eingabe-Ausgabe-Nebensy stems.
Die Anlage nach Fig. 1 enthält vier Steuerwerke 11, 13, 15 und 17, die direkt mit Recheneinheitsgruppen 19, 21, 23 und 25 verbunden sind und diese auf einer Mikrobefehlsebene steuern. Bei dieser Ausführung verbinden über zweihundert Steuerleitungen die Steuerwerke (weiterhin mit CU entsprechend dem englischen »CONTROL UNIT« abgekürzt) mit allen Recheneinheiten (weiterhin entsprechend dem eng- »PROCESSING ELEMENT« mit PE abgekürzt). »5 Mit jeder PE der Gruppen ist ein PE-Arbeitsspeicher (weiterhin mit PEM abgekürzt, entsprechend dem englischen »PROCESSING ELEMENT MEMORY«) (der in dieser Figur nicht gezeigt ist) verbunden, der sowohl zur Speicherung der Daten für die angeschlossene PE ais auch eines Teils des Programms für das CU verwendet wird. Die CU interpretieren ihre Befehle und zerlegen sie in Mikrofolgen taktierter Spannungswerte, die über die Steuerleitungen gleichzeitig an alle PE übertragen werden, um wählbar alle PE-Schaltungen zu steuern und einzuschalten.
Konstanten und andere Operanden, die von allen PE gemeinsam verwendet werden, werden von den CU an alle PE zusammen mit dem sie benutzenden Befehl übertragen.
Die gesamte Anlage wird von einem Steuerrechner 27 gesteuert, bei dem es sich selbst um einen digitalen Großrechner handelt und für den ein im Handel erhältlicher Rechner verwendet werden kann. Die Anlage steht mit der Außenwelt über die Peripheriegeräte 29 des Steuerechners 27 in Verbindung. Der Steuerrechner 27 steht mit den Gruppen über das Eingabe-Ausgabe-Nebensystem (Eingabe/Ausgabe wird weiterhin mit I/O entsprechend dem englischen »INPUT/OUTPUT« abgekürzt) in Verbindung, das aus dem Eingabe-Ausgabe-Steuerwerk (»INPUT-OUTPUT-CONTROLLER« IOC) 31, dem Eingabe-Ausgabe-Schalter {WS) 33, dem Pufferarbeitsspeicher (»BUFFER MEMORY« BIOM) 35 und einer dualen Plattendatei 37 besteht.
Der Steuerrechner 27 nimmt das über seine Peripheriegeräte 29 eingegebene Programm auf und übersetzt es mit Hilfe eines Überwachungsprogramms, das ständig in seinem Arbeitsspeicher gespeichert ist, in die für die (Steuerwerke) CU der Gruppe geeignete »Sprache«. Der Steuerrechner 27 überträgt dann das CÜ-Programm in die PEM, indem er es zuerst über den BIOM 35 und das IOC 31 in die Plattendatei 37 und von dort über das IOC 31 und den IOS 33 in die PEM überträgt.
Das IOC 31 überträgt Daten und ClZ-Programme zwischen der Plattendatei 37 und den PEM, überwacht durch den Steuerrechner 27. Der Steuerrechner 27 kann auch Unterbrechungs- und Diagnostikprogramme über das IOC 31 und die CU übertragen, ohne über die Plattendatei 37 zu gehen.
Die Befehle des Steuerrechners 27 können bestimmen, ob die Recheneinheiten als vier getrennte Gruppen oder als zwei doppelt so große Gruppen oder als eine einzige viermal so große Gruppe wirken sollen. Wenn die Anlage in einem Multiquadrantengruppenbetrieb arbeitet, werden die in den PEM oder dem CU einer Gruppe gespeicherten Befehle oder Operanden durch das CU in die andere CU der Multiquadrantengruppen übertragen, wenn dies erforderlich ist.
Jede P£-Gruppe kann 64 Recheneinheiten enthalten, an die jeweils ein PEM angeschlossen ist. Jeder PEM kann Daten in die Plattendatei 37 übertragen oder aus dieser erhalten. Für eine theoretisch optimale Zusammenarbeit zwischen dem //O-Nebensystem und den P£-Gruppen muß die Datenübertragungsgeschwindigkeit des //O-Nebensystems und der Plattendatei 37 256mal so groß wie die 250-Nanosekunden-Arbeitsspeicherzugriffszeit der PEM sein. Obwohl dies gegenwärtig nicht praktizierbar ist, ist es für einen guten Wirkungsgrad der Maschine wichtig, daß das 7/O-Nebensystem eine hohe Datenübertragungsgeschwindigkeit aufweist.
Die dargestellte Ausführung kann ein 64-Bit-Datenwort in den Recheneinheiten verwenden und entweder im Fest- oder Gleitkommabetrieb arbeiten. Im 64-Bit-Gleitkommabetrieb ist das Bit der höchsten Stelle das Vorzeichenbit, während die nächsten fünfzehn Bits den Exponenten und die letzten 48 Bits das Mantissenfeld darstellen.
Bei vielen Rechnungen ist die volle 64-Bit-Genauigkeit der Rcchenei ,heiten nicht erforderlich. Um die »hardware« besser auszunutzen und die Rechengeschwindigkeit zu erhöhen, kann jede PE in zwei 32-Bit-Gleitkomma- oder acht 8-Bit-Festkomma-Nebenrechner unterteilt sein.
Im 32-Bit-Gleitkommabetrieb sind die 64 Bits in innere und äußere 32-Bit-Wörter unterteilt, wobei das Bit der höchsten Stelle (das Bit »0«) das äußere Vorzeichenbit ist, die Bits »1« bis »7« das äußere Exponentenfeld, das Bit »8« das innere Vorzeichen, die Bits »9« bis »15« den inneren Exponenten, die Bits »16« bis »39« die innere Mantisse und die Bits »40« bis »63« die äußere Mantisse darstellen.
Die Nebenrechner sind nicht vollständig unabhängig, insofern, als sie dieselben Register und die 64-Bit-Datenkanäle benutzen und im 32-Bit-Betrieb einige Rechenoperationen nicht gleichzeitig mit den inneren und äußeren Bits ausgeführt werden.
Fig.2 ist ein Blockschaltbild der CU- und PE-Gruppenteile der Anlage, das die Datenübertragungskanäle zeigt, die für das richtige Arbeiten der Anlage erforderlich sind. Die CU11, 13, 15 und 17 steuern die PE-Gruppen jeweils in den Quadraten 0, 3, 1 und 2. Die PE in allen Gruppen sind in identischen Stapeln von acht Recheneinheitszellen (weiterhin entsprechend dem englischen »PROCESSING UNIT CABINET« mit PUC abgekürzt) 39 angeordnet, von denen jede PUC 39 jeweils acht PE und acht PEM enthält. Jede PUC 39 enthält auch einen Recheneinheitspuffer (entsprechend dem englischen »PROCESSING UNIT BUFFER« weiterhin mit PUB ab gekürzt) 41, der die Interface (Kopplungselektronik] zwischen den PE und PEM in der PUC 39 und dei
509645/10
CU, dem //O-Nebensystem und den anderen Quadranten bildet.
Die erforderlichen Datenübertragungskanäle sind in F i g. 2 mit den Buchstaben A bis P bezeichnet, deren Bedeutung in der folgenden Tabelle angegeben ist:
Buchstaben Datenkanal
A Ein Zweirichtungskanal für Wörter mit vollständiger Länge (64 Bits) zwischen jeder PE und ihrem eigenen PEM zum Datenlesen und Speichern.
B Ein Partialwort-( 16-Bits-)Einrichtungskanal zwischen jeder PE und ihrem eigenen PEM zur Adressierung aller Gruppenarbeitsspeicher.
C Ein Gesamtwort-(64-Bits-)Zweirichtungskanal zwischen jeder PE und jedem ihrer vier gekennzeichneten Nachbarn für Internetzwerk-Datenübertragungen.
D Ein Acht-Wort-(256-Bits-)Einrichtungskanal zwischen jedem PEM und dem Recheneinheitspuffer (PUB) der Recheneinheitszelle (PUC) für Übertragungen zum IOS und zum CU.
E Ein Zwei-Wort-(128-Bits-)Einrichtungskanal zwischen dem PUB und den PEM für //0-Speicherungen.
F Ein Zwei-Wort-(128-Bits-)Zweirichtungskanal zwischen zwei PE und der PUC für Interquadrantenübertragungen.
G Ein Ein-Wort-(64-Bits-)Einrichtungskanal zwischen dem PUB und allen acht PE in den PUC.
H Ein Gesamtwort-(64-Bits-)Einrichtungskanal vom CU zu jedem seiner acht PUC für Operandenübertragungen, Arbeitsspeicheradressierung und zur Übertragung der gezählten Anzahl von Verschiebungen.
/ Ein Einrichtungskanal für etwa 200 Bits zur CU-Folgesteuerung der PE-Quadranten.
J Ein Einrichtungskanal für acht Wörter (512 Bits) (je ein Wort von jedem PUB) zur Übertragung von Daten in das CU.
K Ein Zweirichtungskanal für vollständige Wörter (72 Bits) zwischen allen vier CU in der Anlage zur Synchronisierung und Verteilung gemeinsamer Operanden im »Vereinigte-Gruppen-Betrieb«.
L Vier Gesamtwort-(64-Bits-)Zweirichtungs-PI/C-Kanäle zwischen benachbarten PE in allen vier Quadranten zur Interquadrantübertragung.
M Vier Gesamtwort-(64-Bits-)Zweirichtungskanal zwischen den vier CU und dem HO-Nebensystem.
N Ein Partialwort-(32-Bits-)Einrichtungskanal zwischen den vier CU und dem HO-Steuerwerk zur Arbeitsspeicheradressierung.
Buchstaben Datenkanal
O Ein 16-Wort-(1024-Bits-)Zweirichtungskanal zwischen dem IOS und jedem PE-Quadranten.
P Ein 16-Wort-(1024-Bits-)Zweirichtungskanal zwischen dem /05 und dem IOC.
Die Datenübertragungskanäle zwischen den Re-
cheneinheiten PE sind in den Fig. 3 A bis 3D ausführlicher dargestellt. Die 64 PE eines Quadranten sind so dargestellt, wie sie tatsächlich in dieser Ausführung angeordnet sind. Sie sind oktal von 00 bis 77 durchnumeriert, wobei die Einerziffern die PUC, in dem die betreffenden PE angeordnet ist, und die Achterziffern die Nummer der PE innerhalb der PUC darstellt.
Sowohl die Recheneinheiten der Zelle als auch die Zelle in der Gruppe sind in verschachtelter Weise
ao numeriert, d. h., die Zahlen 5 bis 7 sind jeweils zwischen den Zahlen 2 und 3, 1 und 2 und 0 und 1 angeordnet.
Jede PE hat einen einzigen 64 Bit breiten Ausgangskanal, der zu den Eingängen der ± 8 und der ± 1 oktal numerierten Recheneinheiten führt, um ihnen Daten zuleiten zu können. Die mit 00 und 70 bis 77 bezeichneten PE sind zwischen ihren Enden verbunden, wenn die Quadranten unabhängig arbeiten, oder Interquadrant, wenn zwei oder mehrere Quadranten in einer einzigen Reihe zusammenarbeiten.
Das Plus- oder Minuszeichen an jeder der PE-Eingangsleitungen in F i g. 3 bedeutet, daß eine Eingabe jeweils das Produkt einer + 8-, — 8-, +1- oder — 1-Verbindung ist.
Die Numerierung und Verbindung der PE und der PUC in der dargestellten Weise hat zwei Vorteile. Erstens sind alle ± 8-Verbindungen intrazellar, ausgenommen wenn die Anlage in einer Multiquadran-
tenbetriebsart arbeitet und die + 1-Verschiebungen höchstens zwei Zellen lang sind. Zweitens sind die Interquadrantenverbindungen auf alle acht PUC 39 verteilt, statt alle von der ersten und letzten Zelle wegzuführen. Auf diese Weise sind alle Zellen nahezu gleich, so daß sie sich leichter herstellen lassen.
Die Intra- und Interquadranten-Datenübertragungszeiten hängen vom längsten Kabel ab, das vorkommt. Durch das angegebene Verbindungsschema wird die längste Kabellänge minimisiert, so daß sich die höchste Daienübertragungsgeschwindigkeit ergibt. Alle Übertragungswege, die stets intraquadrant verlaufen, sind direkt vom Ausgang einer PE zum Eingang der anderen PE verdrahtet. Diejenigen Übertragungswege oder Verbindungen, die entweder inter- oder intraquadrant sind, verlaufen über den PUB 41, wobei Freigabesignale aus dem CU den Datenübertragungsweg bestimmen. Die Ausgänge der PUBAx sind alle innerhalb ihres angeschlossenen PUC 39 mit zwei PE verbunden. Welche der PE tatsächlich die Daten erhält, wird durch den PE vom CU zugeführte Freigabesignale bestimmt.
Neben den in den Fig. 3A bis 3D gezeigten Verbindungen haben die PUB 41 auch einen Ausgang, der zum PUBAl des entsprechenden PUC 39 in jedem der anderen drei Quadranten führt, und drei getrennte Eingänge, die von Recheneinheitpuffern 41 der entsprechenden Recheneinheitssteuerwerke 39 der anderen drei Quadranten kommen. Diese Ver-
b ν V C
5kalua-
ka-
Re-
US-
ten
us-77
in
die
JC
lie
-. ise
vi-
: 1
.1 er
. m
;d
IK· η
cr F: -
bindungen werden zur Interquadrantenübertragung verwendet und sind in Fig. 2 als Kanal L gezeigt. Wenn zwei oder mehr Quadranten in einer einzigen Gruppe oder Reihe zusammenarbeiten, sind alle + 8-Verbindungen von Recheneinheiten, die mit »7 X« beziffert sind, alle — 8-Verbindungen von Rechencheneinheiten, die mit »ΟΛ'« bezeichnet sind, die + 1-Verbindungen der PE »77« und die — 1-Verbindungen der PE »00« interquadrant. Der Quadrant, dem die Information zugeführt wird, wird von den »o Steuerwerken bestimmt.
Als Beispiel sei die PE76 betrachtet. Wie man sieht, führt ihre + 1-Verbindung vom + 1-Eingang der PE77, ihre — 1-Verbindung zum — 1-Eingang der PE75 und ihre — 8-Verbindung zum — 8-Eingang der PE 66. Die 4- 8-Verbindung muß durch den zugehörigen PUB 41 führen. Diese Verbindung führt entweder zum + 8-Eingang der PE06, wenn die Verbindung von Ende zu Ende verläuft, oder zum 4- 8-Eingang der PE 06 eines anderen Quadranten, wenn die Verbindung interquadrant ist.
Dieses Verbindungsschema läßt sich auf jede Anzahl von Recheneinheiten oder Quadranten verallgemeinern. Man kann sich dies so vorstellen, als seien die PE in einer rechteckigen Gruppe (oder Reihe) angeordnet und als sei die Gruppe doppelt gerichtet (both ways) gefaltet, um jeden Rand in die Nähe des gegenüberliegenden Randes zu bringen. Wenn also beispielsweise hundert Recheneinheiten vorgesehen wären, die dezimal durchnumeriert und in zehn Zellen aufgeteilt sind, dann wären die Nummern 9 bis 6 zwischen den Nummern 0 bis 5 angeordnet, und die Inter-PE-Verbindungen wären ± 10 und ± 1. Die längste Leitungslänge wäre minimal.
35
Die Recheneinheit
Jede Recheneinheit (PE) ist praktisch ein Mehrzweckrechner ohne Steuerlogik. Sie enthalten eine Rechenschaltung und eine Logikschaltung zur Ausführung von Operationen mit Daten unter der Leitung des Steuerwerks (CU), und zu jeder PE gehört ein Recheneinheitsarbeitsspeicher (PEM), der als Arbeitsspeicher für die PE und als Teil des Arbeits-Speichers der CU dient. Ein Blockschaltbild einer PE ist in F i g. 4 gezeigt.
Die PE erhält Daten von ihren +8-, —8-, +1- und — 1-Nachbarn über vier Gruppen von 64 Bit breiten Empfängern, die über Kanal auswahl tore (weiterhin entsprechend dem englischen »ROUTING SELECT GATES« mit RSG abgekürzt) 45 mit dem Eingang eines Ä-Registers (RGR) 47 verbunden sind. Das RGR 47 ist ein mit Toren versehenes 64-Bit-Register, das auch 64 Bits parallel über Operandenauswahltore (OSG = »OPERAND SELECT GATES«) 49 oder von einem Walzenschalter (»BARREL SWITCH« BSW) 51 erhalten kann. Weitere Ausgangssignale des RGR 47 werden auf Treiber 53 durchgeschaltet, um Daten anderen Recheneinheiten, den OSG 49 und Multiplikandenauswahltoren (MSG = »MULTIPLICAND SELECT GATES«) 55 zuzuführen.
Die OSG 49, die gleich den RSG 45 sein können, sind eine 64 Bit breite Gruppe von Toren, die eines von sechs Eingangssignalen durchschalten. Die Eingangssignale kommen aus dem RGR 47, einem Arbeitsspeicherinformationsregister (MIR = »MEMORY INFORMATION REGISTER«) 57 des zugehörigen PEM, aus der gemeinsamen Datenvielfachleitung (»COMMON DATA BUS« = CDB) 59 über einen Empi'änger 61, aus einem Betriebsartenregister (»MODE REGISTER« RGM) 63, einem Adressenaddierer (ADA) 65 über einen Inverter (INV) 67 und aus dem B-Register (RGB) 69. Die Ausgangssignale der OSG 49 werden dem RGB 69, dem RGR 47, einer Logikeinheit (LOG) 71, dem ADA 65 und dem RGM63 zugeführt.
Die CDB 59 ist ein Kanal vom CU, über den zu allen PE parallel Daten übertragen werden. Die MSG SS erhalten auch Steuersignale von Multiplikatordekodiertoren (weiterhin entsprechend dem englischen »MULTIPLIER DECODER GATES« mit MDG abgekürzt) 73. Seine Ausgangssignale werden einem Pseudoaddierertannenbaumnetzwerk (PA T) 75 und einem Übertragweiterleitaddierer (CPA = »CARRY PROPAGATE ADDER«) 77 zugeführt. Die MSGSS werden für Multiplikation- und Divisionsoperationen verwendet. Das PA T 75 ist aus einer Kaskade von 56 Bit breiten Übertragsparaddierern gebildet und wird auch für Multiplikations- und Divisionszwecke verwendet. Außer von den MSG 55 erhält das PATTS auch Signale vom A -Register (RGA)79 und vom C-Register (RGC)81. Die Summen- und Übertrag-Ausgangssignale des PA T 75 werden dem CPA 77 zugeführt, der entweder als Übertraghalteaddierer (»CARRY SAFE ADDER«) und somit als Teil des PAT75 oder als Übertragweiter-Litaddierer wirken kann, dessen Ausgangssignal die echte Summe der Eingangssignale ist.
Der CPA 77 wird bei allen arithmetischen und den meisten logischen Operationen verwendet und erhält Signale, vom PAT75, RGCSl, RGB69, MSGSS und RGA 79. Die Ausgangssignale des CPA 77 werden dem RGCSi, RGB69, RGA79 und der Wal/.enschaltersteuerung 83 zugeführt. Das RGC81 ist ein nicht mit Toren versehenes Register, das zur Speicherung des Übertragausgangssignals des CPA 77 verwendet wird, wenn der CPA als Übertraghalteaddierer arbeitet.
Das RGA 79 ist ein mit Toren versehenes 64-Bit-Register und kann ebenso wie das RGR47 und das RGB 69 aufgebaut sein. Die Ausgangssignale des RGA 79 werden der LOG71, einem Anfangseinsendedetektor (weiterhin entsprechend dem englischen »LEADING ONES DETECTOR« mit LOD abgekürzt) 85, dem CPA 77, dem PAT75 und den RSG 45 zugeführt. Das RGA 79 dient während arithmetischer und logischer Operationen als Akkumulator, wobei eine Kombination von RGA 79, RGB 69 und RGR 47 die zu verarbeitenden Operanden speichert.
Der LOD 85 wird zur Normalisierung der Zahlen im RGA 79 verwendet, indem er sie in den BSWSl schiebt. Der LOD 85 ist unmittelbar mit der Walzenschaltersteuerung 83 zur Steuerung des BSW 51 verbunden. Der Ausgang des LODSS ist ebenfalls mit dem RGB 69 und der Ausgang der Walzenschaltersteuerung 83 mit dem BSWSl verbunden. Die in den BSW 51 zu schiebenden Daten werden über die LOG71 zugeführt. Der LOG71, die ebenso aufgebaut sein kann wie die RSG 45 und die OSG 49, werden Signale vom RGA 79, RGB 69, RGC 81, RGS 97 und von den OSG 49 zugeführt. Der Ausgang der LOGIl ist mit dem BSW51 und dem MIR 57 des zugehörigen PEM verbunden.
Der HSW 51 wird dazu verwendet, die Operanden um irgendeine gewünschte Anzahl von Stellen nach links oder rechts umlaufend zu verschieben oder hinauszuschieben. Ihm werden Signale von der LOG 71 und der Walzenschaltersteuerung 83 zugeführt, während seine Ausgangssignale dem RGB 69, RGA 79, RGS 87 und dem RGR 47 zugeführt werden. Der BSWSl wird von Walzenschaltersteuerung 83 gesteuert.
Das RGB 69 erhält Signale von den OSG 49, dem CPAIl und dem BSW51 und wird zur Speicherung von Operanden während arithmetischer Operationen verwendet. Es kann ebenso aufgebaut sein wie das RGR 47 und das RGA 79, und seine Ausgangssignale werden den OSG 49, dem CPA 77, den MDG 73, dem RGA 79 und der LOG71 zugeführt.
Das RGM 63 ist in dieser Ausführung der Erfindung 8 Bits breit und enthält verschiedene Freigabe-, Fehler- und Prüfbits, deren Zweck an Hand von Fig. 5 ausführlicher beschrieben wird. Das RGM63 steht mit dem CU über einen 1 Bit breiten Kanal und einer Treiber und Empfänger 89 in Verbindung. Das RGM 63 kann auch über die OSG 49 parallel geladen werden.
Ein Hauptspeicheradressenregister (weiterhin entsprechend dem englischen »MEMORY ADRESS REGISTER« mit MAR abgekürzt) 91 speichert die Adresse des Speicherplatzes im PEM, der durch die PE, das CU oder das I/O adressiert ist. In dieser speziellen Ausführung ist die Arbeitsspeicheradresse 11 Bits lang. Das MAR91 ist 16 Bits lang, um einen Überlauf in den Arbeitsspeicher adressen angepaßt zu sein. Die Adressen werden aus dem ADA 65 ins MAR91 eingegeben, dem Signale von den OSG49, dem RGSM und dem AT-Register (RGX) 93 zügeführt werden. Die Arbeitsspeicheradresse wird durch das CU über die O5G49 in den ADA 65 eingegeben. Die Adresse kann direkt ins MAR91 eingegeben oder durch den Inhalt des RGX 93 oder RGSSl erhöht werden, bevor sie ins MA R 91 eingegeben wird.
Eine ausführlichere Zeichnung des Rechenteils der PE ist in den Fig. 5 A und 5B gezeigt. Entsprechende Teile der Fig.4 und 5 sind mit ähnlichen Bezugszeichen versehen.
Die Informationen können von den + 8-, — 8-, + 1- oder — 1-Nachbarn der PE über vier Gruppen von 64 Bits breiten Empfängern 43 eingegeben werden. Die Ausgänge der Empfänger sind mit dem RSGAS verbunden, die eine Gruppe ihrer Eingangssignale bei Erhalt von Freigabesignalen aus dem CU ins RGR 47 durchschaltet.
Das RGR 47 ist ein 64 Bit breites mit Toren versehenes Register, das aus drei Teilen besteht. Der Auswahlteil 95 erhält mehrere Signale und schaltet eines von diesen zum Verriegelungsteil 97 durch, wenn ihm ein Freigabesignal von dem CU zugeführt wird. Der Verriegelungsteil 97 enthält 64 bistabile Elemente, die das 64-Bit-Datenwort speichern. Der Inhalt des Registers wird durch den Wahrheits- oder Komplementauswähheil (»TRUE OR COMPLEMENT SELECT PORTION«, weiterhin mit TIC abgekürzt) 99 ausgelesen, der entweder die »wahren« Daten oder das Komplement der Daten, die in dem Verriegelungsteil gespeichert sind, bei Erhalt von Freigabesignalen aus dem CU ausliest.
Das RGRAl wird von der PE zur Herstellung einer Verbindung mit der Außenwelt und als Zwischenspeicher verwendet, wenn die PE Befehle ausführt. Der Inhalt des RGR 47 kann auch dann ausgelesen oder eingeschrieben werden, wenn der Betrieb der PE gesperrt ist. Wenn dem RGR 47 aus dem CU Freigabesignale zugeführt werden, kann der Inhalt des RGR Al über die 64 Bit breiten Treiber 53 zu den ± 8- oder ± 1-Nachbarn der PE übertragen werden Die Register 79 und 69 können ebenso aufgebaut sein wie das RGRAl und werden bei arithmetischen und logischen Operationen als Zwischenspeicher verwendet, wenn die PE Befehle ausführt. Das RGR 79 dient auch als Akkumulator für die PE.
Der BSWSi enthält vier Schiebetor-Ebenen. Die erste Ebene verschiebt die Eingabe entweder um null oder um 32 Stellen nach rechts. Die zweite Ebene verschiebt die Ausgabe der ersten Ebene entweder um null, 16 oder 32 oder 48 Stellen nach rechts. Die dritte Ebene verschiebt die Ausgabe der zweiten Ebene entweder um null, vier, acht oder zwölf Stellen nach rechts, und die vierte Ebene verschiebt die Ausgabe der dritten Ebene entweder um null, eins, zwei oder drei Stellen nach rechts.
Die PE kann eine Multiplikation im 32-Bit- oder im 64-Bit-Betrieb ausführen. Bei beiden Betriebsarten wird der Multiplikand ursprünglich im RGA 79 und der Multiplikator im RGB 69 gespeichert. Das Ergebnis der Multiplikation hat eine doppelt so lange Mantisse, die im 32-Bit-Betrieb in den inneren Mantissenteilen des RGA19 und RGB 69 für den inneren Operanden und in den äußeren Mantissenteilen des RGA 79 und RGB für den äußeren Operanden gespeichert wird. Im 64-Bit-Eetrieb wird die Ergebnismantisse im Mantissenteil des RGA 79 und RGB 69 gespeichert.
Der Aufbau der MSG 55, des PATlS und des CPA11 wird an Hand der 64-Bit-Betrieb-Multiplikation beschrieben. Die 64-Bit-Betrieb-Multiplikation benötigt neun Taktzyklen, nachdem Multiplikator und Multiplikand jeweils im RGB 69 und RGA19 gespeichert sindl. Im ersten Taktzyklus wird die Mantisse des RGA 79 über RSGAS ins RGRAl übertragen, das Vorzeiichen des Produkts wird in einer speziellen (nicht gezeigten) Logik ermittelt und im Vorzeichenbit des RGA19 gespeichert, und die Exponenten von RGA 79 und RGB 69 werden im CPA11 addiert und in den Exponententeil RGA 79 übertragen. Außerdem wird im ersten Taktzyklus das Bit der niedrigsten Stelle des Multiplikators im RGB 69 abgetastet, und wenn es »null« ist, wird der Mantissenteil des RGA 79 gelöscht, und wenn es »eins« ist, bleibt der Inhalt des RGA 79 unverändert. Die Bits der nächsten acht höheren Stellen des Multiplikators werden aus dem RGB 69 in die MDG 73 übertragen, und der Inhalt des RGB 69 wird um acht Stellen nach rechts verschoben.
Die MSG 55 bilden eine 56 Bit breite Verknüpfungslogik, die die 48 Bit breite Mantisse des Multiplikanden aus dem RGRAl erhält und entweder die Mantisse, »null«, zweimal die Mantisse, d. h. die um eine Stelle nach links verschobene Mantisse, oder das Zweierkomplement der Mantisse auf einer ihrer vier Ausgangsleitungen bei Erhalt eines Freigabesignals von den MDG 73 ausblendet.
Das PATlS besteht aus drei 56 Bit breiten Übertraghalteaddierern (CSAl, CSAl und CSAJt) 101, 103 und 105 (s. Fig. 5 A und 5B). Jeder Addierer addiert drei Eingangssignale und bildet die Summe und den Übertrag. Wenn beispielsweise die vierstelli
gen traj Sur 1Oi CP der I
Wc ner CS len lei! W( lur CS ler. W< CS rec Ve ter Mi rel
pli SU sig de
ve 2i er hi de M
wi ac di
tu ei re Si; d(
15
ausaus- Beaus der τ S3 igen auf-■ithienhrt. PE. Die lull ene der Die ten teldie ns,
3er bs-79 )as ige inen les
isnd
•■■;it
gen Binärzahlen 1011, 1010 und Olli in dem Übertraghalteaddierer addiert werden, ergibt sich als Summe 0110 und als Übertrag 1011. Die vom CSA 105 gebildeten Summen und Überträge werden dem CPA 77 zugeführt, der während des größten Teils der Multiplikationsoperation als CSA 4 dient.
Die Ausgangskanäle der MSGSS, die als Wort 1, Wort 2, Wort 3 und Wort 4 bezeichnet werden können, führen jeweils zum CSA1101, CSA 2 103, CSA 3 105 und CSA 4 107. Wort 1 wird, sieben Stellen nach rechts verschoben, in den CSA1101 geleitet, so daß die Mantisse des RGR 47 über den Wort-1 · 1-Kanal sieben Stellen gegenüber der Stellung im RGR 47 nach rechts verschoben in den CSA 1101 übertragen wird. Wort 2 wird, fünf Stellen nach rechts verschoben, ra den CSA 2 103 und Wort 3, drei Stellen nach rechts verschoben, in den CSA 3 105 geleitet. Wort 4 wird, eine Stelle nach rechts verschoben, in den CSA 4 107 geleitet. Die Verschiebung der Mantisse des RGR 47 um die Wörter 1, 2, 3 und 4 ist erforderlich, um den bei der Multiplikation gebildeten Teilprodukten das richtige relative Gewicht zueinander zu geben.
Im zweiten Taktzyklus prüfen die MDG7i der Reihe nach Bitpaare ihres 8-Bit-Segments des Multiplikators, beginnend mit den Bits der niedrigsten Stellen, und übertragen Freigabe- bzw. Durchschaltsignale für jedes Bitpaar an die MSG 55 nach folgender Tabelle:
30
35
40
45
In jedem Bitpaar hat das rechte Bit ein Gewicht von 2° = 1 und das linke Bit ein Gewicht von
21 = 2. Wenn das Bitpaar gleich 00, 01 oder 10 ist. ergeben sich keine Schwierigkeiten, da die MSGSS hierbei nur entweder null, den Multiplikanden oder den jeweils um eine Stelle nach links verschobenen Multiplikanden durchzuschalten brauchen.
Wenn das Bitpaar jedoch gleich 11 ist, entspricht dies der Dezimalzahl »3«, was sich nicht einfach durch Verschieben bilden läßt. Um die »3« zu bilden, wird der Multiplikand viermal zum Teilprodukt addiert und einmal davon subtrahiert. Dies wird dadurch erreicht, daß man die MDG 73 ein Übertragsignal, das in obiger Tabelle mit »Ausgangsübertrag« bezeichnet ist, an das nächste zu prüfende Bitpaar abgeben läßt. Dieser Übertrag hat ein Gewicht von
22 = 4 im Verhältnis zu dem gerade in der Auswertung befindlichen Bitpaar. Um den Multiplikanden einmal vom Teilprodukt der MDG 73 zu subtrahieren, geben die MDG73 an die MSGSS ein Freigabesignal ab, um das Zweierkomplement der Mantisse des RGR 47 auszublenden, das zum Teilprodukt hinzuaddiert wird.
Bit-Paar Eingangs
übertrag
Vielfache Ausgangs
übertrag
00 0 0 0
01 0 1 0
10 0 2 0
11 0 -1 1
00 1 1 0
01 1 2 0
10 1 -1 1
11 1 0 1
Die MDG 73 geben beispielsweise bei jedem zu prüfenden Bitpaar ein Freigabesignal an die MSGSS ab, um das geeignete Vielfache der Mantisse des Multiplikanden auszublenden und gegebenenfalls einen »Ausgangsübertrag« zum nächsten zu prüfenden Bitpaar durchzuschalten.
Bei jedem Bitpaar achten die MDG 73 auf das Bitpaar selbst und gegegebenenfalls ein »Eingangsübertrag«-Signal von dem zuvor überprüften Bitpaar. Dieses »Übertrag«-Signal hat ein Gewicht von 2° = 1 bei dem betrachteten Bitpaar, was einem Gewicht von 2S = 4 bei dem zuvor überprüften Bitpaar entspricht.
Bei jedem 8-Bit-Segment des von dem MDG73 überprüften Multiplikators werden den MSGSS vier Gruppen von Freigabesignalen zugeführt, die bewirken, daß die MSGSS nacheinander die Wörter 1, 2, 3 und 4 zu den Übertraghalteaddierern durchschalten. Die drei Eingangssignale des CSA 1101 kommen von der 48-Bit-Mantisse des RGA 79, die acht Stellen nach recht? verschoben eingegeben ist, dem Wort 1, das sieben Stellen nach rechts verschoben eingegeben ist, und den Bits der 48 höchsten Stellen des RGC 81, die einen Teil des Ausgangübertrags des CPA 77 darstellen, wenn dieser als CSA 4 wirkt. Im zweiten Taktzyklus, in dem das erste 8-Bit-Segment des Multiplikators in den MDG 73 überprüft wird, ist der Inhalt des RGC 81 null.
Die Summen- und Übertragausgangssignale des CSA 1 101 werden dem CSA 2 103 zugeführt, wobei die Summenbits direkt eingegeben und die Übertragbits um eine Stelle nach links verschoben eingegeben werden. Das Wort 2 wird dem CSA 2 183 um fünf Stellen nach rechts verschoben über die MSGSS bei Erhalt der zweiten Gruppe von Freigabesignalen von den MDG 73 zugeführt. Das Wert 2 wird in diese Stellen eingegeben, da es die Multiplikation mit dem vierten und fünften Bit des Multiplikators darstellt. Die Summen- und Übertragbits des CSA 2 103 werden dem CSA 3 105 zugeführt, wobei die Summenbits direkt und die Übertragbits wieder um eine Stelle nach links verschoben eingegeben werden. Gleichzeitig wird das Wort 3 aus den MSGSS bei Erhalt der dritten Gruppe von Freigabesignalen von den MDG 73 ebenfalls in den CSA 3 105 um drei Stellen nach rechts verschoben eingegeben. Die vom CSA 3 105 gebildeten Summenbits werden direkt in den CPA 77 eingegeben, der während des größten Teils der Multiplikationsoperation als CSA 4 dient, und die Übertragbits werden wiederum um eine Stelle nach links verschoben angeschlossen bzw. eingegeben. Das Wort 4 wird um eine Stelle nach rechts verschoben in den CSA 4 107 eingegeben.
Die 56 Ubertragausgangsbits des CPA77 werden ins RGC 81 übertragen. Die Bits der acht niedrigsten Stellen der vom CPA 77 gebildeten Summe werden in die acht höchsten Mantissenstellen des RGB 69 gesetzt, die frei sind, weii die Mantisse des RGB 69, der Multiplikator, um acht Stellen nach rechts verschoben wurde. Die anderen 48 Summenbits des CPA 77 werden in die 48 Mantissenbits des RGA 79 übertragen. Die nächsten acht Bits des RGB 69 werden dann in die MDG 73 übertragen, und die Mantissenbits des RGB 69 werden um weitere acht Stellen nach rechts verschoben.
Die im zweiten Taktzyklus ausgeführten Operationen werden dann in den Taktzyklen 3 bis 7 wiederhalt, nur daß während des sechsten Taktzyklus nur
509645/100
sieben Bits des Multiplikators zum Eingeben in die MDG73 übrigbleiben und während des siebten Taktzyklus nichts in die MDG 73 eingegeben wird und die Mantissenbits des RGB 69 nicht weiter verschoben werden. In jedem dieser Taktzyklen werden die Mantisse von RGA 79 und die Übertragbits der 48 höchsten Stellen aus dem RGC 81 in den CSA 1101 eingegeben, wobei die Übertragbits um eine Stelle der Mantisse der RGA 79 nach links verschoben eingegeben werden.
Während die iterativen Zyklen der Multiplikation ausgeführt werden, was im dritten bis siebten Taktzyklus erfolgt, werden die Bits der acht niedrigsten Stellen des Übertrags, die noch im RGCSl gespeichert sind, und die Bits der acht niedrigsten Stellen der Summe des letzten Taktzyklus, die sich in den höchsten Mantissenplätzen der RGB 69 befinden, im CPAIl addiert und in die nächstniedrigeren Mantissenplätze des RGB 69 gesetzt, die dadurch frei gemacht wurden, daß der Inhalt des RGB 69 um weitere acht Stellen nach rechts verschoben wurde. Dieser Teil der Multiplikation ist damit beendet, da keine weiteren Teilprodukte zu diesen Bits hinzuzuaddieren sind. Der fertige Teil des Produktes wird in jedem iterativen Zyklus zusammen mit der Multiplikatormasse um acht Stellen nach rechts verschoben.
Die Tatsache, daß nur sieben Multiplikatorbits im letzten iterativen Zyklus in die MDG 73 übertragen werden, hat den Vorteil, daß die Übertragausgabe des Bitpaares der beiden höchsten Stellen des Multiplikators gesperrt wird, wenn es von den MDG 73 überprüft wird.
Im achten Taktzyklus werden die 56 im RGC81 gespeicherten Übertragbits und die 56 im RGA79 und RGB 69 gespeicherten Summenbits in den CPA 77 übertragen, wobei die Ubertragbits gegenüber den Summenbits um eine Stelle nach links verschoben eingegeben werden. Der CPAIl addiert beides, indem er als Übertragweiterleitaddierer arbeitet und den Übertrag mit Hilfe der Übertragvorhersehvorrichtung (»CARRY LOOK AHEAD«, weiterhin mit CLA abgekürzt) 109 weiterleitet. Die Bits der 48 höchsten Stellen der Summe werden in den Mantissenteil des RGA19 gesetzt und die anderen acht Bits in die acht höchsten Stellen des Mantissenteils des RGB 69. Das Ergebnis der Multiplikation wird im RGA 79 und RGB 69 gespeichert, wobei die Bits der 48 höchsten Stellen der Produktmantisse im RGA 79 und die Bits der 48 niedrigsten Stellen im RGB 69 gespeichert werden.
Hinsichtlich des Aufbaus und der Wirkungsweise des CPA 77 wird auf den Aufsatz, »High Speed Arithmetic in Binary Computers« von C.D.M., in den »Proceedings of the IRE« vom Januar 1961 erschienen ist, verwiesen. Hinsichtlich des Aufbaus und der Wirkungsweise der Multiplikationseinrichtung wird auf den Aufsatz von C. S. W a 11 a c e, »A Suggestion for a Fast Multiplier«, in den »IEEE Transactions on Electric Computers«, VEC-13, Februar 1964, verwiesen. »The Logic of Computer Arithmetic« von Ivan Fl ο res, S. 154 bis 167, herausgegeben von Prentice-Hall, Inc., 1963, ist ebenfalls von Interesse hinsichtlich der Verwendung der Übertraghalteaddierer (Carry Save Adders) in einem elektronischen Multiplizierer.
Die 32-Bit-Multiplikation wird nahezu in derselben Weise ausgeführt wie die 64-Bit-Multiplikation, mit dem Unterschied, daß nur die halbe Anzahl vcn Taktzyklen erforderlich ist, um zwei Zahlen miteinander zu multiplizieren, weil die Mantissen nur halb so lang sind. Wenn sowohl die inneren als auch die
äußeren Zahlen miteinander zu multiplizieren sind, wird zuerst die äußere Multiplikation ausgeführt, und der erste Schritt der inneren Multiplikation überschneidet sich mit dem letzten Schritt der äußeren. Mit Hilfe dieser Ausführung können auch Divisionen ausgeführt werden, und zwar sowohl im 32-Bit- als auch im 64-Bit-Betrieb. Zu Beginn der Division befindet sich der Divisor im RGR 47 und der Dividend, der doppelt lang ist, um die gewünschte Genauigkeit zu erreichen, im RGA 79 und RGB 69,
wenn im 64-Bit-Betrieb gearbeitet wird. Im 32-Bit-Betrieb erscheinen die höherstelligen Hälften im RGA 79, während die niedrigerstellige Hälfte im RGB 69 erscheint.
Eine Division im 64-Bit-Betrieb erfordert 55 Taktzyklen. Im ersten Taktzyklus wird RGC 81 gelöscht, und der Exponent sowie das Vorzeichen des Divisors werden aus dt;n RGR 47 ins RGB 69 übertragen. Iirj zweiten Taktzyklus werden der Exponent des RGB 69 vom Exponenten des RGA 79 subtrahiert und da Ergebnis im Exponentenfeld des RGA 79 gespeichert. Die Vorzeichenbits von RGA79 und RGB 69 werden verglichen, und das richtige Vorzeichen des Quotienten wird in der Vorzeichenbitstelle des RGA 79 gespeichert. Während des zweiten Taktzyklus wird ferner ein 63-Bit-Umlauf-Rechtsverschiebebefehl ins Schieberegister gesetzt, das einen Teil der Walzenschaltersteuerung 83 bildet. Diese Verschiebung ist gleichbedeutend mit einer Umlaufoder Ringverschiebung um eine Stelle nach links.
In den Taktzyklen 3 bis 49 wird der Quotient bitweise im RGB 69 gebildet. In jedem dieser Taktzyklen, wird das Komplement der Mantisse des RGR 47 dadurch in den CPA 77 übertragen, daß das Komplement der Mantisse aus dem RGR41 in die MSGSS durchgeschaltet und die MDGTi veranlaßt werden, den MSG 55 das das Wort 4 · 2 freigebende bzw. durchschaltende Signal zuzuführen. Das Wort 4 · 2 von den MSG 55 zum CPA 77 ist ein direkter Kanal, der die Ausgangssignale des RGR47 in dieselbe Stelle des CPA 77 überträgt, in der sie sich im RGRiM befanden, wobei die Bits 16 des RGRAl in die Bitstelle 16 des CPA11 übertragen werden. Die Mantisse des RGA 79 wird ebenfalls über einen direkten Kanal in den CPA11 übertragen.
Der CPA 77 subtrahiert dann die Mantisse des RGR 47 von der Mantisse des RGA 79 durch Addieren des Komplements des RGR41 zum RGA19. Dabei handelt es sich um die Subtraktion eines Einerkomplements, so daß, wenn der Rest positiv ist, dh., wenn die Mantisse des RGA 79 größer als die Mantisse des RGR 47 ist, sich ein Übertrag in der höchsten Stelle ergibt. Dieses Übertragbit wird zum Ergebnis, dem partiellen Rest, hinzuaddiert, so daß er die richtige Größe hat. Der Rest wird dann aus dem CPA11 ins RGA 79 übertragen, und zwar über einen direkten Kanal, der so verdrahtet ist, daß der partielle Rest um eine Stelle nach links verschoben wird. Wenn sich in der höchsten Stelle des Einerkomplements kein Übertrag ergibt, ist die Subtraktion im CPA11, der partielle Rest, negativ und die Subtraktion falsch. Gleichzeitig mit der Übertragung der Mantisse des RGA19 in den CPAIl, um sie zum Komplement des RGR 47 zu addieren, wird auch die
Mantisse d< Da RGC
geht die M PAT15, se scheint. W nicht ins ί tielle Rest nal aus d> alte Manti verschobei Dann w ins niedrig dem RGB tragen, w( und ins R j Wenn c I bit erzeug ■' gesetzt. V Null in di Diese I dritten u Quotientc stellige C in der hi Eins ist, ι und dies 2«= 1. ' mantisse Quotient reicht, c Exponer Taktzyki holt, we; war. We Eins w; weiter.
Das r Taktzyk Mantiss wird, d< indem < wenn e die Sub RGAV. j wiederi I ins RG ': Quotiei RGB6\ ; scheint '■ und di i 53sten und R Taktzy wenn c Die geführ läufern tion ri operat die ha sion. ^ Zahlei Divisi' Sov im Ci erst ir RGA Taktz
19
VOU einhalb die and, und berren. )iviim der und :hte 69, Bitini im
ikt- :ht, ors ;en. des iert 79 ind
oitten itsien ese uf-
ikt-Jes las die
■.:.'kter '■■ι die- -.it■!; im /ν' 47 in -■:■ Die ".', π di-
■-V des ■■■·>! Jie- GA 79. Tunersi. iili., j Μίΐη-■ liochim Fr-(JaB er is dem '■ cinun ■r pa γι ^!i-d.
:r η e
Mantisse des RGA 79 in den CSA 1101 eingegeben. Da RGC 81 und die Wörter 1, 2 und 3 alle »0« sind, geht die Mantisse des RGA 79 geradeaus durch den PAT75, so daß sie am Ausgang des CSA3 105 erscheint. Wenn der partielle Rest negativ ist, wird er nicht ins RGA 79 übertragen, sondern der alte partielle Rest wird ins RGA 79 über einen direkten Kanal aiii dem CSA 3 105 zurückübertragen, der die alte Mantisse des RGA 79 um eine Stelle nach links verschoben ins RGA 79 zurückleitet.
Dann wird das höchste Mantissenbit des RGB ins niedrigste Bit des RGA 79 und die Mantisse aus dem RGB69 über die LOGIl in den BSW51 übertragen, wo sie um eine Stelle nach links verschoben und ins RGB 69 zurückübertragen wird.
Wenn der Rest positiv ist, wird ein 1-Quotientenbit erzeugt und in die niedrigste Bitstelle des RGB gesetzt. Wenn der Rest negativ ist, dann wird eine Null in die niedrigste Bitstelle des RGB 69 gesetzt.
Diese Folge wiederholt sich 47mal zwischen dem dritten und 49sten Taktzyklus, wobei 47 Bits des Quotienten im RGB 69 erscheinen. Wenn das höchststellige Quotientenbit, das sich in diesem Augenblick in der höchsten Bitstelle des RGB 69 befindet, eine Eins ist, dann ist der Dividend größer als der Divisor, und dieses höchststellige Bit hat ein Gewicht von 2° = 1. Da das höchststellige Bit des Gleiikommamantissenformats ein Gewicht von 2~l hat, muß der Quotient normalisiert werden. Dies wird dadurch erreicht, daß im 50sten Taktzyklus eine Eins zum Exponenten im RGA79 addiert wird. Im Slsten Taktzyklus wird die Iteration noch einmal wiederholt, wenn das höchslstellige Bit des Quotienten Null war. Wenn das höchststellige Bit des Quotienten eine Eins war, geschieht in diesem Taktzyklus nichts weiter.
Das niedrigststellige Quotientenbit wird im 52sten Taktzyklus erzeugt, indem wiederum im CPA 77 die Mantisse des RGR 47 vom partiellen Rest subtrahiert wird, der in der Mantisse des RGA 79 erscheint, und indem der Rest direkt ins RGA 79 übertragen wird, wenn er positiv ist. Wenn der Rest negativ ist, wird die Subtraktion nicht ausgeführt und der alte Rest im RGA 79 beibehalten. Die Mantisse des RGB 69 wird wiederum um eine Stelle nach links verschoben und ins RGB 69 zurückgebracht, und das niedrigststellige Quotientenbit wird im niedrigststelligen Bit des RGB 69 abgespeichert. In diesem Augenblick erscheint der Quotient im Mantissenteil des RGB und der Rest im Mantissenteil des RGA 79. Im 53sten Taktzyklus wird die Mantisse des RGA und RGB 69 ausgetauscht. Im 54sten und 55sten Taktzyklus wird der Inhalt des RGA 79 normalisiert, wenn dies von der CU verlangt wird.
Die 32-Bit-Division wird in ähnlicher Weise ausgeführt wie die 64-Bit-Division, nur daß Zahlen umlaufend verschoben werden müssen, um die Operation richtig auszuführen. Wegen dieser Verschiebeoperation dauert die 32-Bit-Division etwas langer als die halbe Anzahl der Taktzyklen bei der 64-Bit-Division. Wenn sowohl die inneren als auch die äußeren Zahlen dividiert werden sollen, dann wird die innere Division zuerst ausgeführt.
Sowohl die Addition als auch die Subtraktion wird im CPAIl ausgeführt. Die Operanden werden zuerst im RGA 79 und im RGB 69 und die Antwort im RGA 79 gespeichert. Eine Addition erfordert fünf Taktzyklen. Im ersten Taktzyklus wird die Differenz der Exponenten im CPA gebildet. Im zweiten Taktzyklus wird die Mantisse des kleineren Operanden eine entsprecher Je Anzahl von Stellen nach rechts verschoben, um den Exponenten gleichzumachen, und im dritten Taktzyklus wird die Mantisse verschoben, um sie zu normalisieren. Im fünften Taktzyklus wird die Zahl, die gleich der Anzahl der Stellen ist, um die die Mantisse nach rechts oder links verschoben ist, zum Exponenten addiert oder von ihm subtrahiert.
Bei der Addition werden der CPAIl und der BSfV51 in abwechselnden Taktzyklen verwendet. Bei einer 3 2-Bit-Addition ist es auch möglich, eine Addition oder eine Subtraktion sowohl mit den inneren als auch den äußeren Zahlen in sich überschneidender oder überlappender Weise auszuführen, wobei die ersten Taktzyklen der äußeren Addition oder Subtraktion im zweiten Taktzyklus der inneren Addition oder Subtraktion begonnen werden, so daß insgesamt sechs Taktzyklen erforderlich sind, um sowohl die innere als auch die äußere Addition oder Subtraktion auszuführen.
Bei Additionsoperationen können die Vorzeichen der Zahlen gleich oder verschieden sein, und das Vorzeichen der Summe ist gleich dem Vorzeichen der addierten Zahl. Wenn die Vorzeichen verschieden sind, wird die Mantisse des RGB69 komplementiert, und dann werden die Mantissen im CPA 77 addiert. Wenn das Ergebnis positiv ist, dann war die Mantisse des RGB 69 kleiner als die Mantisse des RGA 79, und das Ergebnis hat die richtige Form. Das Vorzeichen der Summe ist gleich dem Vorzeichen des RGA 79.
Wenn das Ergebnis negativ ist (d. h., wenn sich bei der Addition im CPA 77 kein Übertrag in der höchsten Stelle ergibt), erscheint das Ergebnis in komplementierter Form, so daß dessen Komplement gebildet werden muß, um das richtige Ergebnis zu erhalten. Das Vorzeichen der Summe ist entgegengesetzt zum Vorzeichen des RGA 79.
Bei einer Subtraktion ist der Minuend im RGA 79 und der Subtrahend im RGB 69 gespeichert. Um die Subtraktion auszuführen, wird das Vorzeichen von RGA 79 umgekehrt und die Operation als Addition behandelt.
Außer zur Ausführung der vier Grundrechenarten kann die »Hardware« in der Recheneinheit auch zur Ausführung logischer Operationen, z. B. der ODER-, der UND- oder der Exklusiv-Oder-Verknüpfung, verwendet werden.
Jeder Speicherplatz in einem PEM wird durch eine 11-Bit-Adresse gekennzeichnet. Der PEM wird mit Hilfe des Speicheradressenregisters (MAR)91 adressiert, das ähnlich aufgebaut ist wie die Register 81 und 87, insofern, als es nur Verriegelungs- oder Verknüpfungsglieder enthält, aber sechzehn Bit breit ist. Die fünf extra Bits sind lediglich aus Gründen der Baugruppentechnik vorgesehen und werden bei dieser Ausführung der Erfindung nicht auf der P£-Ebene verwendet, wenn jedoch der zur PE gehörige Arbeitsspeicher vergrößert würde, so daß längere Adressen erforderlich wären, dann können diese Extrabitplätze verwendet werden.
Die Informationen werden über den ADA 65 ins MAR91 eingegeben, der ähnlich aufgebaut ist wie der CPA 77, mit dem Unterschied, daß er nur 16 Bits breit ist. Der Λ D/4 65 erhält Signale von den OSG49, dem RGS87 und dem RGX93. Die
adressen werden gewöhnlich durch das CU über die CDB 59 und die OSG 49 eingegeben. Die Arbeitsspeicheradresse aus dem CU kann um die \mRGX93 oder RGSSl gespeicherte Zahl erhöht werden, wobei diese Register 93 und 87 als Indexregister verwendet werden können. Diese Indizierungsfähigkeit der PE gestattet ihr, die vom CU abgegebene Adresse in Abhängigkeit von ihren inneren Zuständen so zu ändern, daß die richtige Adresse in ihrem eigenen PEM vom MAR91 adressiert wird. Außerdem werden Daten in die Arbeitsspeicheradresse eingeschrieben, die vom MAR 91 mit Hilfe der Ausgangssignale der LOGlX, die durch das Arbeitsspeicherinformationsregister (MIR) 57 gehen, ausgewählt wird. Der Operand kann aus der Arbeitsspeicheradresse gewonnen werden, die im MAR 91 am Eingang der OSG 49 vom MAR 57 kommend gespeichert ist.
Das Betriebsartenregister (»MODE REGISTER« RGM) 63 ist ein 8-Bit-Register, in dem die Bits einzeln durch das CU gelöscht und gesetzt werden können. Das R GM 63 kann für jedes der acht Bits ein Verriegelungsglied enthalten. Es enthält zwei Freigabebits E und El, zwei Fehlerbits F und Fl und vier Prüfbits /, J, G und H.
Die Bits E und El bestimmen, ob die PE freigegeben ist oder nicht. Durch das Setzen des Bits E oder El wird jeweils der äußere oder innere 32-Bit-Betrieb freigegeben bzw. eingeschaltet. Im 64-Bit-Betrieb werden die Bits E und El miteinander gekoppelt und gleichzeitig entweder gesetzt oder gelöscht. Die Ε-Bits sind über Puffer mit einigen der Register verbunden, und wenn das Bit E oder El nicht gesetzt ist, sind die Lösch- und Eingabe-Freigabesignale aus dem CU jeweils für den äußeren 32-Bit-Teil oder den inneren 32Bit-Teil des Registers gesperrt. Der Inhalt dieser Register kann nicht zerstört werden.
Das Bit E schützt den äußeren Teil des RGA 79 und des RGB 69 und das gesamte RGS 87. Das Bit El schützt die inneren Teile der Register 79 und 86.
Es sind auch »unbedingte« (nicht konditionierte) Eingabe- und Lösch-Freigabekanäle vom CU zum RGA 79 zur Verwendung während der 32-Bit-Betrieb-Division, wenn beide Hälften des RGA 79 zum Speichern des doppelt langen Dividenden benötigt werden, vorgesehen. In diesem Falle wird der Inhalt des gesperrten Teils des R GA 79 zerstört bzw. gelöscht. Bei einer 32-Bit-Multiplikation müssen auch beide Mantissenteile des RGA19 zum Speichern des doppelt langen Produkts verwendet werden. Der Inhalt des gesperrten Teils des RGA 79 bleibt erhalten, jedoch im RGR 49, und wird am Ende der Operation wieder ins RGA 79 übertragen.
Die Bits F und Fl sind Fehlerbits. Das Bit F zeigt einen Fehler im äußeren Teil des 64-Bii-Betriebs oder des 32-Bit Betriebs an, und das Bit Fl zeigt Fehler im inneren Teil des 32-Bit-Betriebs an. Die Fehlerbits werden durch Fehler gesetzt, z. B. einen Exponentenüberlauf, einen Mantissenüberlauf oder wenn der Divisor bei einer Divisionsoperation in der höchsten Binärstelle eine Null enthält.
Die Prüfbits G, H und / werden zur Zwischenspeicherung von Ergebnisssen einer Prüfung verwendet, z. B. »größer als«, »kleiner als«, »gleich null« oder »gleich eins«. Die Bits / und / werden zur Überprüfung des äußeren 64-Bit- oder des 32-Bit-Betriebs verwendet. Die Bits G und H werden für die Prüfung eines inneren 32-Bit-Betriebs verwendet.
Die Bits im Betriebsartenregister können einzeln durch das CU über den Empfänger und Treiber 89 und die Betriebsartenlogik 111 oder parallel über die OSG 49 und die gemeinsame Datenmehrfachleitung (CDB) 59 gesetzt oder gelesen werden. Die Betriebsartenlogik 111 wird auch zur Ausführung logischer Operationen mit den im Betriebsartenregister gespeicherten Bits in Abhängigkeit von Zustandsbedingungen in der PE verwendet. So kann beispielsweise eines
ίο der Prüfbits, z. B. durch die Prüfung »Ist die Mantisse des R GA 79 größer als die Mantisse des KGB 69?«, gesetzt sein und in Abhängigkeit davon, ob es gesetzt ist oder nicht, zum Wirksammachen der ,? Ε-Bits verwendet werden. Das heißt, das Ergebnis der ; Prüfung kann dazu verwendet werden, einen Teil der ; oder die gesamte PE freizugeben oder zu sperren. Die Betriebsartenlogik 111 kann UND-, ODER- oder Ex- : klusiv-Oder-Verknüpfungen mit den im R GM 63 gespeicherten Bits ausführen. Durch diese Fähigkeit wird die Flexibilität der Anlage wesentlich gesteigert. Die Verwendung des BSW 51 für alle Schiebe- und Normalisierungsoperationen an Stelle der Verwendung von Schieberegistern ist sehr wichtig bei einer Gruppenanlage, weil dadurch ein Operand um jede beliebige Anzahl von Stellen oder Plätzen in derselben kurzen Zeit nach rechts oder nach links verschoben werden kann. Wenn sich beispielsweise bei einer Normalisierung die Größe der Anzahl von PE zu PE ändert, beenden alle PE die Normalisierung gleichzeitig, so daß keine gezwungen ist, auf die andere zu warten.
Arbeitsspeicher der Recheneinheit
Zu jeder Recheneinheit (PE) in der Gruppe gehört ein Recheneinheitsspeicher (PEM), bei dem es sich um einen Dünnfilmspeicher mit einer Kapazität von 248 Wörtern handeln kann. Der PEM dient als Arbeitsspeicher für den PE und als Teil des Arbeits-Speichers für das CU.
Das CU holt seine Befehle aus dem PEM und kann Daten aus den PEM der Gruppe holen, und zwar acht Wörter gleichzeitig, je ein Wort pro PUC 39. Wenn die Quadranten unabhängig voneinander arbeiten, holt das CU seine ersten acht Wörter aus einem ersten Speicherplatz der PEM mit der PE Nr. OX von jedem der acht PUC (Fig. 3), die zweiten acht aus demselben Speicherplatz der PEM mit der FE Nr. 1X usw. bis zu den PEM der Recheneinheiten Nr. 7 X, wobei »λ*« eine ganze Zahl zwischen Null und Sieben ist. Das CU geht beim neunten Wörterblock zum nächsten Speicherplatz in den PEM der Recheneinheiten Nr. QX und durchläuft die Gruppe oder Reihe für jeden 8-Wörter-Block in ähnlicher Weise.
Wenn zwei oder mehrere Quadranten als eine einzige Gruppe oder Reihe zusammenarbeiten und der Programmspeicher auf diese Quadranten aufgeteilt ist, erscheint der nächste Block von Befehlen nach demjenigen, der aus den PEM der Recheneinheiten O X des ersten Quadranten geholt wurde, in den PEM der Recheneinheiten OX des nächsten Quadranten. Wenn in einem Multiquadrantenbetrieb gearbeitet wird, bewirkt dasjenige CU, das den Befehlsblock aus seinen PEM liest, daß sein Cl/-Puffer (CUB), der
einen Teil der P [/-Puffer bildet, ihn in die entsprechenden CUB der anderen Quadranten überträgt.
Die Arbeitsspeicherebene 113 (F i g. 6) kann eine Dünnfilmarbeitsspeicherebene für 1024 Wörter ä 128
Bits sein. Wörter a ungeradz Adresse ( oder aus gestellt gister (Λ gegeben Nach· Adresse schenge den in treiber Das am A15 be oder di verwen·
steuern
32 Leit
sich un
seitig
speichi
Adress
störun
Opera·
Arbeit
ist, au
über
MIRi
ersehe
Lesev
eingeg
scheir.
den ei
ligen
wedei
oder
128-Έ
dense
einge
und /
Arbe
Hälft
die Y
WS Ein; gefi gen und rad ein 1
Fn au; Kc 12
inzeln
ber89
■er die
eitung
xiebsischer
espe>ngun-
eines
: Man-
: des
ι a von,
-.-- :n der
: is der
ilder
.·> i. Die
r Ex-• >3ge-
: igkeit
igert.
!..i - und
\ weniv einer
u'; jede
■ι 0 rsd-
\i.i cho-
hi:\ jiner
/ ι PE μ ι - ;ich-
r.Kh: e ZU
Bits sein. Die 128-Bit-Wörter können in zwei 64-Bit-Wörter aufgeteilt sein, die auch als geradzahlige oder ungeradzahlige Bits bezeichnet werden. Die 11-Bit-Adresse des Arbeitsspeicherplatzes, die eingeschrieben oder ausgelesen werden soll und als A 5 bis Λ15 dargestellt ist, wird in das Arbeitsspeicheradressenregister (MAR)91 (Fig. 5A) der zugehörigen PE eingegeben.
Nachdem sie sich im MAR91 befindet, wird die Adresse im Arbeitsspeicheradressenpuffer 115 zwischengespeichert, und getrennte 5-Bit-Segmente werden in Matrixbasistreiber 117 und Matrixemittertreiber 119 zur Steuerung der Operation übertragen. Das andere Bit der ΡΕΛί-Adresse, das in F i g. 6 mit A15 bezeichnet ist, bestimmt, ob die ungeradzahligen oder die geradzahligen Bits des Arbeitsspeicherwortes verwendet werden sollen.
Die Matrixbasis- und -emittertreiber 117 und 119 steuern wiederum eine Auswahlmatrix 121 über je 32 Leitungen. Bei der Auswahlmatrix 121 kann es sich um eine 32 X 32-Transistormatrix mit ausgangsseitig 1024 Auswahlleitungen handeln, die 2:ur Arbeitsspeicherebene 113 zur Auswahl des in der PEM-Adresse bestimmten Wortes führen.
Die PEM-Arbeitsspeicherebene 113 kann nicht zerstörungsfrei ausgelesen werden. Beim Auslesen von Operationen wird das 128-Bit-Wort aus demjenigen Arbeitsspeicherplatz, der in der Adresse angegeben ist, aus der Arbeitsspeicherebene 113 ausgelesen und über Leseverstärker 123 und Kopiertore 125 ins MIR 57 eingegeben. Das im MIR 57 gespeicherte Wort erscheint am Eingang eines Ausgabewählers 127, über Leseverstärker 123 und Kopiertore 125 ins MIR 57 eingegeben. Das im MIR 57 gespeicherte Wort erscheint am Eingang eines Ausgabewählers 127, über den entweder die geradzahligen oder die ungeradzahligen Bits in Abhängigkeil vom Wert des A 15 entweder in den Steuerwerkpuffer (CUB), den IOS 33 oder die PE durchgeschaltet werden. Das gesamte 128-Bit-Wort wird dann aus dem MIR 57 wieder in denselben Speicherplatz der Arbeitsspeicherebene eingegeben, aus dem es über Links-Rechts-Tore 129 und Zifferntreiber 131 ausgelesen wurde.
Wenn aus der PE oder dem IOS 33 ein Wort in den Arbeitsspeicher geschrieben werden soll, wird nur die Hälfte des Wortes aus der Arbeitsspeicherebene 113, die geradzahligen oder die ungeradzahligen Bits, über die Kopiertore 125 jeweils in den Teil für die geradzahligen oder ungeradzahligen Bits des MIRSl durchgeschaltet, Das 64-Bit-Wort aus der PE oder dem IOS33 wird über ihre jeweiligen Eingabetore 133 und 135 in den anderen Teil des MIR 57 durchgeschaltet. Das 128-Bit-Wort wird dann über die Links-Rechts-Tore 129 und die Zifferntreiber 131 in die Arbeitsspeicherebene 113 geschrieben.
Dem PEM werden 64-Bit-Informationen vom IOS 33 über Empfänger 137 und von der PE zum Einschreiben von Wörtern in den Arbeitsspeicher zugeführt. Alle Informationen werden an den Eingängen der 128 Bit breiten PE- und /OS-Eingabetore 133 und 135 verdoppelt, so daß sie entweder in die ungeradzahligen oder geradzahligen Bitstellen des MIR 57 eingegeben werden können.
Um ein Wort ins MIR einzuschreiben, müssen die Freigabe- und Tastsignale gleichzeitig auftreten. Wie aus F i g. 7 zu ersehen ist, sind die MIR-S7- und die Kopier- und Eingabetore 125, 133 und 135 jeweils 128 Bits breit und in vier Abschnitte unterteilt: die inneren und äußeren Teile der geradzahligen Bits um die inneren und äußeren Teile der ungeradzahligei Bits, die im MIR57 jeweils mit A, B, C und D be zeichnet sind. Die Unterteilung in innere und außen Bitteile ist notwendig für den Fall, daß die Rechen einheiten im 32-Bit-Betrieb arbeiten.
Die Kopiertore 125 und die PE- und /OS-Eingabe tore 133 und 135 sind jeweils eine 32 Bit breit< Gruppe von UND-Gliedern. Dem einen Eingang dei Teile der Kopiertore 125 werden die entsprechender Teile der Daten aus den Leseverstärkem 123 züge führt, während einem Eingang der Teile der PE- unt IOS-Eingabetore 133 und 135 die inneren und äuße ren Bits der PE- oder /OS-Dateneingaben zugeführ werden.
Um Daten ins MIR 57 einzugeben, müssen den MIR 57 die entsprechenden Eingabetastsignale unc den anderen Eingängen der PE-, /OS-Eingabe- odei Kopiertore Freigabe- bzw. Durchschaltsignale zugeführt werden. Diese Tast- und Freigabesignale werden von Steuergliedern als Antwort auf Signale des CU und der PE abgegeben. Die Signale, die an der Eingängen der Steuerglieder 137 vorhanden sein müssen und in den Steuergliedern 137 erzeugt werden müssen, um jedes Tast- und Freigabesignal zu erzeugen, sind an den verschiedenen Eingängen in F i g. 1 angeschrieben. Damit beispielsweise die Tasteingangssignale des y4-TeiIs des MIR 57 vorhanden sind, müssen die Steuerglieder 137 entweder ein Eingabetastsignal mit einem /i-Teil-ZOS-Freigabe- oder ein /4-Teil-PE-Freigabesignal oder ein Kopiertastsignal mit einem Λ-Kopier-Freigabesignal oder einem Übertragungstastsignal erzeugen. Um Daten ins MIR 57, den Λ-Teil der P£-Eingabetore, einzugeben, muß ein Freigabesignal vorhanden sein, ein A 15-Signal eins sein, ein Schreibsignal auf der Lese-Schreib-Leitung vorhanden sein, den Steuergliedern vom Datenauswahleingang ein PE-Signal zugeführt werden und das Ε-Bit eins sein. Um Kopierdaten in den A-TnI des MIR 57 einzuschreiben, muß das Λ-Kopier-Freigabesignal vorhanden sein, und die Übertragungs-, die /4-P£-Freigabe und die /4-/OS-Freigabesignale müssen nicht vorhanden sein.
Wenn ein 64-Bit-PE-Wort aus dem LOG 71 des PE in den Teil für die ungeradzahligen Bits eines Speicherplatzes im MIR 57 eingegeben werden soll, erscheinen die äußeren und inneren Teile des Wortes jeweils an den PE-Eingabetoren 133 für die äußeren und inneren Teile des MIR 57. Gleichzeitig wird das 128-Bit-Wort im Speicherplatz der Arbeitsspeicherebene 113, das eingeschrieben werden soll, durch eine der Ausgangsleitungen der Auswahlmatrix 121 ausgewählt, von den Abtastverstärkern 123 gelesen und dem Eingang der Kopiertore 124 zugeführt.
Das Eingabetast-, das Kopiertast-, das A -Kopierfreigabe-, das ß-Kopierfreigabe-, das C-PE-Freigabe-, das D-PE-Freigabe-, das PE-Auswahlsignal und die Bits E und El werden in den Steuergliedern 137 oder durch die PE erzeugt. Wenn die Tast- und Freigabesignale erzeugt sind, erhalten der A -B-Teil des MIR 57 den geradzahligen Bitteil des aus der Arbeitsspeicherebene über die Kopiertore 125 ausgelesenen Wortes, während die Teile C und D des MIR 57 das Wort aus der PE erhalten. Das Wort wird dann über die Links-Rechts-Tore 128 und die Zifferntreiber 131 in den gewünschten Speicherplatz der Arbeitsspeicherebene 113 gesetzt Die von den Leseverstärkern 123 wegführenden
509 645/100
25 26
Leseleitungen sind in der Arbeitsspeicherebene 113 und befähigen (freigeben) sie, zu bewirken, daß die ; Befehl
(F i g. 6) gekreuzt, wie es in F i g. 8 gezeigt ist, um Auswahlmatrix 121 den in der Adresse vorgegebenen .; vom /
Störsignale zu unterdrücken. Wenn man also die wah- Speicherplatz in der Arbeitsspeicherebene 113 be- logik
ren Datenwörter, die auf der rechten Seite der stimmt. Das Zifferndurchschaltsignal wird den Zif- befehl
Arbeitsspeicherebene 113 gespeichert sind, auslesen 5 erititreibern 131 zugeführt und "befähigt sie, das im Steuer
will, muß das Komplement der Daten eingeschrieben MIR 57 gespeicherte Wort in den von der Auswahl- Wei
sein, da der Strom in der Leseleitung in der entge- matrix 121 bestimmten Speicherplatz der Arbeits- ist> ü'
gengesetzten Richtung fließt als auf der linken Seite speicherebene 113 zu schreiben. Die Steuerglieder AlRi
der Arbeitsspeicherebene 113. Aus diesem Grunde 1.17 geben auch Datentastsignale an den CUB und (FlO
sind die Links-Rechts-Tore 129 vorgesehen, um ent- io den /OS33 ab, die ihnen angeben, wann Daten aus Im
weder die wahren Daten oder das Komplement der der Ausgabeauswahlvorrichtung gelesen werden .! 64-Bi
Daten in die Arbeitsspeicherebene 113 zu schreiben, sollen. J ander
je nachdem, ob der Arbeitsspeicherplatz auf der Wenn aus der PE Daten ohne Arbeitsspeicher- H^ CO
linken oder rechten Seite der Arbeitsspeicherebene zyklus in den CUB übertragen werden sollen, wird die j Bits <
113 liegt. Die Wirkung der Links-Rechts-Tore 129 15 Übertragungsleitung gesetzt, woraufhin die Daten aus Mögl
wird von einem der Bits der Arbeitsspeicheradresse der PE über die P£-Eingabetore 133 bei Erhalt ent- Oper:
gesteuert, die in F i g. 6 mit A 6 bezeichnet ist. Für sprechender PE-Eingabef reigabe- und Tastsignale in einen
die auf der rechten Seite der Arbeitsspeicherebene 113 die ungeradzahligen Bits des MIR 57 gelesen werden, fi stellig
liegenden Arbeitsspeicherplä'tze ist A 6 eine »0« und Die Daten werden dann beim Auftreten d'is Übertra- niedr:
für die auf der linken Seite der Arbeitsspeicherebene ao gungssignals über die Ausgabeauswahlvorrichtung stellig
113 liegenden Arbeitsspeicherplätze ist A6 eine »1«. 127 in den CUB übertragen. Sumr
Der Ausgang des MIRSl ist über einen 128Bit rigsts
breiten Kanal direkt mit dem Eingang der Ausgangs- Steuerwerk w'rcl
wahltore 127 verbunden. Entweder die ungeradzah- FD 7
ligen oder die geradzahligen Bits des im MIR51 ge- 25 Das Steuerwerk (CU) (Fig. 9A bis 9E) besteht Di
speicherten Wortes können in den CUB oder den aus vier Teilen: Der ersten Steuerstation oder Vor- acnt
/OS 33 über Treiber oder zu den OSG 69 der PE laufstation (entsprechend dem englischen ADVANCE Reih·
direkt durchgeschaltet werden. Der Bestimmungsort STATION weiterhin auch mit ADVAST abgekürzt), zuSe<
der Ausgabedaten wird durch ein 2-Bit-Datenaus- eier Befehlsvorausschauvorrichtung (weiterhin ent- schei
wahlsigral des CU bestimmt. Das Bit A 15 in der 30 sprechend dem englischen INSTRUCTION LOOK teil c
Adresse bestimmt, ob die ungeradzahligen oder die AHEAD auch mit ILA abgekürzt), der zweiten 7'""
geradzahligen Bits über die Ausgabeauswahltore 117 Steuerstation oder Endstation (weiterhin entspre- F/N.
durchgeschaltet werden. chend dem englischen FINAL STATION auch mit die '
Die Steuerglieder 137 enthalten eine Taktgeber- FINST abgekürzt) und der Arbeitsspeicherbedie- *εν°·
und Logikschaltung, die die Freigabe-und Tastsignale 35 nungseinheit (MEMORY SERVICE UNIT=MSU). inne'
in der richtigen Reihenfolge und im richtigen Zeit- Die ADVAST erhält nacheinander Befehle aus dem werc
punkt zur Steuerung des PEM erzeugt. Die Steuer- Befehlswortspeicher (INSTRUCTION WORD STOR- FIN
glieder 137 erhalten sechs Eingangsleitungen vom AGE = IWS) 141 der ILA. Der IWS141 ist ein d|es<
CU. Die Arbeitsspeicherauswahlleitungen bestimmen 64-Wort-Speicher, von denen jedes Wort 64 Bits ent- mcn
denjenigen Arbeitsspeicher, in den eingeschrieben 40 hält, das aus dem Arbeitsspeicher (d. h. den PEM) 8rad
oder aus dem ausgelesen werden soll. Die Auslöse- geholt und von der ILA gesteuert wird. Der IWS141 D
leitung erhält den Impuls vom CU, der den Arbeits- ist in acht Blöcke mit je acht Wörtern unterteilt, von sPre
Speicherzyklus auslöst. Alle von den Steuergliedern denen jedes Wort zwei 32-Bit-Befehle enthält. Die m*\
137 abgegebenen Steuersignale werden durch diesen Befehle werden aus dem IWS141 ins ADVAST-Be- weii
Auslöseimpuls synchronisiert. Ein mögliches Verfah- 45 fehlsregister (AIR) übertragen, wo die ADVAST die FI^
ren, die Zeitfolge dieser Impulse zu steuern, besteht Art der Befehle bestimmt. 8-B
darin, eine mit Abgriffen versehene Verzögerungslei- Es gibt zwei Arten von Befehlen: ADVAST- und stei1
tung in den iteuergliedem 137 vorzusehen und die FINST-Befehle. /IDF/IST-Befehle werden im CU tun!
gewünschten Freigabe- und Tastsignale an entspre- ausgeführt und sind daran zu erkennen, daß ihr null- we*
chenden Punkten der Verzögerungsleitung abzuneh- 50 tes Bit eine logische Null ist. F//VSr-Befehie steuern Q^
men. Die Lese-Schreib-Leitung bestimmt, ob der die Operation der Recheneinheiten und enthalten im Pa1
Arbeitsspeicher eine Lese- oder eine Schreibopera- nullten Bit eine logische Eins. Die F/NST-Befehle Jew
tion ausführen soll. Die Datenauswahlleitungen be- werden in der ADVAST geprüft, um festzustellen, ob FI*
stimmen entweder die Quelle oder den Bestimmungs- das Adreßfeld des Befehls indiziert werden muß. Der FL
ort der Information, je nachdem, ob sich der PEM 55 Inhalt des Adressenfeldes kann eine Arbeitsspeicher- re§
in einem Schreib- oder einem Lesezyklus befindet. adresse sein oder Übertragungsdistanzen, Verschiebe- ter
Wenn die Übertragungsleitung zu den Steuergliedern betrage oder Übertragungsoperationen zur Ubertra- Ρ-*
137 gesetzt ist, können aus der PE Daten in den CUB gung von Operanden zwischen Registern kenn- w<
übertragen werden, ohne daß ein Arbeitsspeicher- zeichnen. gei
zyklus erforderlich ist. Die Steuergüider 137 erhalten 60 Wenn der Befehl im AIR ein ADVAST-Beiehl ist, an
auch Eingangssignale von den E- und El-Bits der zu- wird er vom .dDF/lSr-Befehlsdekodierer (AlD) 145 Ai
gehörigen PE und dem Adressenbit A15. dekodiert, um die Operationen festzustellen, die bei D'
Die Ausgangssignale der Steuerglieder 137 sind seiner Ausführung ausgeführt werden sollen. leder w
den Kopiertoren 125, den PE-Eingabetoren 133 und Befehl hat eine bestimmte Ausführungszeit, die te!
den IOS-Eingabetoren 135 zugeführte Freigabesignale 65 hauptsächlich durch die Anzahl der benötigten Über- ar
und dem MIRSl zugeführte Tastsignale. Die Basis- tragungen und die Anzahl der auszuführenden Mi-
und Emitterdurchschaltsignale werden jeweils den krobefehle bestimmt wird. Der ADVAST-Bt&eiüs- UI
Matrixbasis- und Emittertreibern 117, 119 zugeführt taktgeber (AIT) 147 bestimmt die für jeden Teil des tu
τι
d
U
I-n
η
le
b
;r
r-
15
ei
;r
ie
r-I-
s-
Befehls erforderliche Anzahl von Taktzyklen. Der i| vom /4/7147 werden in einer nicht gezeigten Steuerlogik zur Bildung einer ganzen Gruppe von Unterbefehlen verknüpft, die den ADVAST-TeW des CU steuern. S
Wenn im AIRUi ein F/MST-Befelil gespeichert ist, übertrügt die ADVAST ihn lediglich aus dem AIR 143 in eine F/NSr-Befehlswartevorriclitung (FlO bis F17) 149 der Endstation.
Im allgemeinen enthält jeder FlNST-BcfcM einen 64-Bit-Operanden, bei dem es sich um den unveränderten Inhalt eines der vier Akkumulatorregister (ACO bis AC3)15l oder die 16 niedrigststelligen Bits des AIR 143 handeln kann. Die verschiedenen Möglichkeiten für die zu den Befehlen gehörenden Operanden sind entweder die ungeänderten 64 Bits in einem der Akkumulatorregister 151, die 48 hiichststeliigen Bits des Akkumulatorregisters 151 und die niedrigststelligen Bits des AIR 143 oder die 48 höchststelligen Bits der Akkumulatorregister 151 und die Summe der 16 Bits aus dem AIR 143 und der 16 niedrigststelligen Akkumulatorbits. Dieser 64-Bit-Operand wird in der FWST-Datenwartevorrichtung (FDO bis FD 7) 153 gespeichert.
Die Wartevorrichtungen 149 und 153 sind jeweils acht Registcr-Wartevorrichtungen, die jeweils eine Reihe von bis zu acht F/MS7"-Befehlen und ihnen zugeordnete Operanden speichern und als Puffer zwischen der ADVAST und dem Befehlsausführungsteil der FINST wirken. Der Befehlsfluß von /WS141 7-m λ//?143 ist ein Gemisch aus ADVAST- und F/MST-Befehlen. Die FINST-BeiehL· werden durch die ADVAdI geleitet und in der F/MS7-Befehl-Wartevorrichtung 149 hintereinander gespeichert, und die ihnen zugeordneten Operanden- oder P£M-Adressen werden hintereinander in einem der Register der FINST-Daten-Wartevorrichtung 153 gespeichert. Auf diese Weise brauchen die ADVAST und die FINST nicht aufeinander zu warten, wodurch der Wirkungsgrad der Anlage erheblich gesteigert wird.
Die F/NST-Ladeplatzanweiser 155, weiterhin entsprechend dem englischen FINST LOAD POINTERS mit FLP abgekürzt, und die F/,VS7"-Leseplatzanweiser 157, weiterhin entsprechend dem englischen FINST READ POINTERS mit FRP abgekürzt, sind 8-Bit-Schieberegister. die zum Auswählen des nächsten Registers in der Warteschlangenbildungsvorrichtung oder der F/MSr-Befehl-Wartevorrichtung 149, weiterhin entsprechend dem englischen FINST DATA OUEUE mit FINQ abgekürzt, und in der FINST-Daten-Wartevorrichtung 153 verwendet werden, das jeweils von der ADVAST geladen oder von der FINST gelesen werden soll. Der Inhalt des vom FLPlSS und vom FRP157 ausgewählten Warteregisters wird im F/MST-Vergleicher-Gleich 159, weiterhin entsprechend dem englischen FINST COMPARER EQUAL mit FEC abgekürzt, verglichen. Wenn ihr Inhalt gleich ist, sind die Wartevorrichtungen entweder leer oder voll, je nachdem, welche sich an die andere angeglichen hat, so daß entweder die ADVAST oder FINST auf die andere warten muß. Der Steuerlogik wird ein Signal zugeführt, das entweder verhindert, daß die ADVAST irgendeinen weiteren Befehl in die FINQ149 eingibt, oder die FINST anhält.
Sobald sich ein Befehl in der FINQ149 befindet und der Operand in der F/MSr-Daten-Wartevorrichtungl53 gespeichert ist, wird der Befehl von der FINST ausgeführt. Die Ausführung besteht hauptsächlich in der Bestimmung der Art des Befehls und der Unterbefehle, die durch die FINST zur Übertragung in die Recheneinheiten erzeugt werden sollen. In jedem Takt während der Ausführung des Befehls kann es sein, daß irgendeine Anzahl von Unterbefchlcn parallel erzeugt werden muß. Der Befehl wird über Operandenauswahltore FIF161 (OPERAND SELECT GATES OSG) oder FlH 163 aus dem FINQ149 geholt und ins F/MST-Befehl-Register (FIR) 165 eingegeben. Aus dem FIR165 wird der Befehl in den F/NST-Befehlsdekodierer und -taktgeber (FID) 167 übertragen, der die erforderliche Anzahl von Unterbefehlen in jedem Taktzyklus erzeugt, wobei der Zeitpunkt vom F//VST-Taktzähler (FCC) 169 bestimmt wird. Die Unterbefehle werden im FZ/VST-Befehlsregister (FlNST COMMAND REGISTER FCR) 171 für Synchronisationszwecke einen Taktzyklus lang gespeichert und im nächsten Taktzyklus über Treiber (FCD) 173 in die Recheneinheiten übertragen. Die PE (Recheneinheiten) erhalten eine Gruppe von Unterbefehlen, die das Einlesen in oder Auslesen aus Registern freigeben oder den Walzenschalter 51 (F i g. 5 B, usw.) steuern. Bei dieser Ausführung gibt es etwa 260 verschiedene Gruppen von Unterbefehlen, die zur Ausführung von Befehlen in die PE übertragen werden können. Alle Unterbefehle werden parallel in die 64 PE übertragen.
Die Datenmehrfachleitung (CDB) 59 (F i g. 5 A) verbindet die FINST-Datentreiber (FDD) 175 über den PUB 41 mit den Operandenauswahltoren (OSG) 49 der PE zur Übertragung von 64-Bit-Operanden in die 64 PE der Gruppe (oder Reihe). Die Quelle dieser Operanden kann entweder ein 64-Bit-Wort aus der FINST-Daten-Wartevorrichtung 153 oder einer 16-Bit-PEM-Adresse aus der Arbeitsspeicherbedienungseinheit (MSU -MEMORY SERVICE UNIT) sein. Bei PE-Befehlen kann es auch eine 16-Bk-PEM-Adresse aus der F/MST-Daten-Wartevorrichtung 153 geben, die zum Auslesen oder Speichern von Operanden zwischen den PEM und PE verwendet werden kann. Um die PEM zu adressieren, wird die Adresse von der MSU über die FW57"-Operandenauswahltore (FDS) 177 und Treiber (FOD) 175 übertragen, deren Ausgänge zur CDB 59 führen.
Die CDB 59 ist zeitlich auf die FINST und die Benutzer des Arbeitsspeichers aufgeteilt, d. h., sie wird im Zeitmultiplexbetrieb benutzt. Zu den Benutzern des Arbeitsspeichers gehört das I1O. die ILA zum Auslesen von Befehlen und die FlNST zum Holen (Auslesen) oder Abspeichern von Operanden aus dem bzw. in den Arbeitsspeicher der ADVAST oder PE. Der Zugriff zur CDB 59 wird genau gesteuert, und in jedem Taktzyklus wird bestimmt, ob sie verfügbar ist und wer sie als nächster benutzen kann. Sobald ein Benutzer Zugriff zur CDB 59 erhalten hat, behält er ihn so lange, wie es zur Übertragung seiner Informationen in die PE oder den PEM erforderlich ist. Dies kann einige Taktzyklen dauern. Die Priorität (d. h. der Vorrang) zur Benutzung der CDB 59 wird nach dem Prinzip »Wer zuerst kommt, wird zuerst bedient« zugeordnet.
Die FINST hat die besondere Fähigkeit, daß sich bei ihr die Ausführung eines Befehls, bei der kein Kanal zur CDB 59 benötigt wird, mit der Ausführung eines anderen Befehls überlappt oder überschneidet, bei dem die CDB 59 verwendet wird. Während der
Ausführung eines im FIR165 und FID167 befindlichen Befehls dekodiert der F/MS7"-Uberlappungsdekodierer und -taktgeber (FOD) 179 den nächsten im FINQ149 gespeicherten Befehl, um festzustellen, ob bei diesem die CDB 59 verwendet wird. Wenn dies der Fall ist und wenn bei dem gerade in der Ausführung befindlichen Befehl die CDB 59 während der gesamten oder eines Teils der Dauer seiner Ausführung benutzt wird, dann veranlaßt der FOD179, daß die FDS177 den dem nächsten Befehl zugeordneten Operanden an alle PE überträgt, während der erste Befehl noch ausgeführt wird.
Der Betrag der Überlappung, der sich erzielen läßt, hängt von den betreffenden Befehlen ab. Der gerade in der Ausführung befindliche Befehl kann irgendeine Anzahl von Taktzyklen benötigen und die Benutzung der CDB59 einige Zeit lang während seiner Ausführung erforderlich machen. Die Benutzung der CDB 59 bei dem nächsten Befehl kann sich nur mit demjenigen Teil des ersten Befehls überlappen, der auftritt, nachdem er mit der Benutzung der CDB 59 aufhört.
In den PE kann ein über die CDB 59 übertragender Operand als Datenwort, das durch die PE verarbeitet werden soll, als Datenwort, das im Arbeitsspeicher gespeichert werden soll, oder als Adresse eines Speicherplatzes im zugehörigen PEM verwendet werden.
Wenn die PE in einer Multiquadrantenreihe arbeiten, isl es möglich, daß die CU nicht miteinander synchronisiert sind. Das heißt, ein CL' könnte den Befehl X ausführen, während ein anderes gerade den Befehl X ± η ausführt. Die CU arbeiten so lange unabhängig voneinander weiter, bis eine Verbindung zwischen den CU oder den PE der verschiedenen Reihen oder Gruppen erforderlich ist. In diesem Augenblick müssen sie wieder miteinander synchronisiert werden.
Die Arbeitsspeicheroperationen werden durch die Arbeitsspeicherbedienungscinheit (MSU) gesteuert. Jeder Arbeitsspeicherbenutzer, der Zugriff zum Arbeitsspeicher wünscht, ruft die MSU an. Zu den Benutzern gehören das I/O, die FINST, wenn sie Operanden aus dem Speicher zu holen oder in diesem einzuspeichern hat, und die ILA, wenn sie Befehle für das CU holt (ausliest). Die ADVAST kann ebenfalls Operanden in den PEM abspeichern oder aus diesen auslesen, muß jedoch ihren Anruf über die FINST abgeben.
Die Kopplungselektronik zwischen dem Steuerrechner 27 und dem CU zur Übertragung von Informationen bildet einen Teil der MSU. Die Register MRl 181 und MRd 183 sind jeweils Eingabe- und Ausgaberegister in dieser Kopplungselektronik.
Die Zugriffrangfolge, die von der Prioritätslogik 185 gesteuert wird, ist folgende: Das HO hat zwei Prioritäten, eine hohe Priorität und eine niedrige Priorität, von denen die hohe Priorität der Priorität aller anderen Benutzer vorgeht. Die FINST hat die zweite Priorität, die ILA die dritte und die niedrige Priorität des I/O ist die niedrigste. Die Prioritätslogik 185 bestimmt, welcher Benutzer als nächster Zugriff zum Arbeitsspeicher hat. Ihre Ausgangssignale sind Freigabesignale, die der nicht gezeigten Steuerlogik zugeführt werden, um den Betrieb der MSU und der PEM zu steuern.
Das I/O speichert oder liest 16 Wörter gleichzeitig, und die ILA liest 8 Wörter. Die FlNST verarbeitet 64 Wörter gleichzeitig, je eines für jede PE, wenn sie das Auslesen oder Einspeichern zwischen der PEM und der zugehörigen PE befiehlt. Wenn die FINST Operanden für die ADVAST ausliest, liest sie entweder ein oder acht Wörter gleichzeitig, oder wenn sie einen Operanden aus der ADVAST abspeichert, speichert sie ein Wort.
Es können entweder ein, zwei oder alle vier Quadranten als eine einzige Gruppe zusammenarbeiten, und es können Programmbefehle und Operanden in allen oder irgendeinem der Quadranten der Gruppe gespeichert werden oder sein. Das Auslesen und Einspeichern von Informationen aus dem oder in den Arbeitsspeicher wird von der Konfigurationssteuerlogik gesteuert, die die Register MCO187 und MCL189 und MOl 161 und zugehörige Schaltungsanordnungen enthält. MCO187 ist ein 4-Bit-Gruppengrößen-Steuerregister, von denen jedes Bit einem der Quadranten entspricht. Jede Bitgruppe zeigt an, daß der entsprechende Quadrant aufgefordert ist, an dem vorliegenden Problem zu arbeiten und Befehle und Operanden aufzunehmen, die von den CU der anderen Quadranten der Gruppe aus dem Arbeitsspeicher geholt wurden.
MCl 189 ist ein 4-Bit-Befehlsleseregister, das den Platz der Programmbefehle im Arbeitsspeicher anzeigt. Jede Bitstelle in MCl 189 bezieht sich auf Bitgruppen in AiCO 187. Wenn beispielsweise alle vier Bits im MCO 189 gesetzt sind und die zweiten und vierten Bits im MCl 189 gesetzt sind, dann wird das Programm in den PEM des zweiten und vierten Quadranten gespeichert. Wenn die Quadranten 2 und 3 an dem durch das dritte und vierte gesetzte Bit im MCO 187 angezeigten Problem arbeiten und das Programm im Quadranten 3 gespeichert wird, dann würde das zweite Bit des MCl 189 gesetzt werden.
MC2191 ist ein 4-Bit-Befehlsausführungsregister, dessen Inhalt sich ebenfalls auf den des MCO 187 bezieht. Bei /IDK/lW-Befehlen, bei denen Interquadrantenübertragungen vorkommen, bestimmt MC 2, welche CU den Befehl ausführen sollen, und bei Operandenleseoperationen zeigt es an, in welchem Quadranten der Operand gespeichert ist. Die Ausgangssignale der MC 0-2 werden zwei Logikgruppen »Anzahl der CU in der Gruppe« 193 und »Welche CU in der Gruppe« 195 zugeführt, die bestimmt, welche CU an der Ausführung der Befehlsleseoperation und der Leseoperation teilnehmen sollen. Die Ausgangssignale der Logik werden der nicht gezeigten Steuerlogik zur Steuerung der Operationen des CU zugeführt.
Um die Gruppengröße während der Lösung eines Problems zu ändern (d. h. durch Ändern der Werte von AiCO 187 und MC2191), hält die ADVAST die Ausführung von Befehlen an, und die FINST wird durch Ausführung der in ihr vorhandenen Befehle geleert. Die neuen Werte von MCO 187 und MC2191 müssen kurzzeitig in einem anderen Register gespeichert werden, bis FINQ153 frei ist.
Das Format der 24-Bit-Hauptarbeitsspeicheradresse, die die MSU von der ADVAST oder der ILA erhält, ändert sich in Abhängigkeit von der Anzahl der Quadranten in der Gruppe, in der das Programm oder die Operanden gespeichert sind. Die folgenden Formate sind möglich:
1. Ein Quadrant
0 bis 17 18 bis 23
holier
wobei die Bits 0 bis 17 den Speicherplatz in der Arbeitsspeicherebene V.5 der PEM und die Bits 18 bis 23 die Nummern des PUC39 und PEM bestimmen,
2. Zwei Quadranten
0 bis 16 17 18 bis:
!3
wobei die Bits O bis 16 den Speicherplatz in der Arbeitsspeicherebene 113, das Bit 17 in Verbindung mit der Konfigurationssteuerlogik jeweils den Quadranten für das Auslesen des Befehls oder Operanden und die Bits 18 bis 23 die Nummer der PUC39 und des PEM bestimmen,
3. Vier Quadranten
0 bis 15 16 17 18 bis 23
wobei die Bits 0 bis 15 den Speicherplatz in der Arbeitsspeicherebene 113, die Bits 16 und 17 die Quadrantennummei und die Bits 18 bis 23 die Nummer der PUC39 und des PEM bestimmen.
Bei einer ILA- oder F/MS7-Arbeitsspeicheroperation werden die Bits 0 bis 20 der 24-Bit-Adresse über die Operandenauswahltore MAB192 und die Operandenauswahltore MAA 199 durchgeschaltet, um im Arbeitsspeicher-Adressenregister (WW) 201 während einer Arbeitsspeicheroperation gespeichert zu werden. Die Bits 21 bis 23 werden direkt aus der FlNST in das MSA 201 eingegeben. Die MAA 199 erhalten auch über den Empfänger MRA 203 Adressensignale vom I/O.
Die M/15197 und MAA 199 sind in Fig. 9C als in vier Blöcke unterteilt und das MSA 201 als in fünf Blöcke unterteilt dargestellt. Der erste Block enthält die Bits 0 bis 15 und bestimmt den Speicherplatz in einem PEM. Der zweite Block enthält db Bits 16 und 17, die bestimmen, welcher Quadrant adressiert wird. Der dritte Block enthält die Bits 18 und 19 und bestimmt Paare von PEM in einer PUC39 (Fig. 2), und der vierte Block enthält das Bit 20 und bestimmt eines dieser Paare. Der fünfte Block des MSA 201 enthält die Bits 21 bis 23, die die Nummer der PUC39 bestimmen.
Um die Adresse aus der ADVAST oder ILA in die richtige Stelle des MSA 201 zu übertragen, wenn sich die Operanden oder Befehle in einem oder zwei Quadranten befinden, müssen die Bits 0 bis 17 jeweils um zwei Plätze oder einen Platz in den MAA 199, gesteuert von der Konfigurationssteuerlogik, verschoben werden. Wenn das Programm oder die Operanden in einem Quadranten gespeichert sind, wird die Nummer desjenigen Quadranten, der durch den Inhalt der Register der Konfigurationssteuerlogik bestimmt wird, in die Bits 16 und 17 der Adresse gesetzt, nachdem die zweistellige Linksverschiebung in den MAA 199 erfolgt ist.
Wenn das Programm oder die Information in zwei Quadranten gespeichert ist, wird jeweils die Nummer des Quadranten mit der niedrigeren oder höheren Nummer in die Bits 16 und 17 der Adresse nach einer Linksverschiebung um eine Stelle eingegeben, je nachdem, ob das ursprüngliche Bit 17 eine Null oder eine Eins ist. Wenn die Information in allen v|er Quadranten gespeichert ist, enthalten die Bits 16 und 17 dir von der MSU erhaltenen Adresse die Quadrantennummer, so daß keine Verschiebung oder Änderung in den MAA 199 erfolgt. Aus dem HO erhaltene Adressen werden ebenfalls direkt über die MAA 199 übertragen.
Aus den MAA199 werden die Bits 16 und 17 der geänderten Adresse in den Vergleicher MCP 205 eingegeben, wo sie mit der Nummer des eigenen CU verglichen werden. Wenn sie nicht gleich sind, wird der vom CU gesteuerte Quadrant nicht adressiert. Wenn beide gleich sind, müssen die mit dem CU verbundenen PEM die Operation ausführen, und der MCP205 erzeugt ein Arbeitsspeicherauslösesignal (weiterhin entsprechend dem englischen MEMORY
ίο INITIATE SIGNAL mit MIN abgekürzt), gesteuert vom Arbeitsspeichertaktgeber (MEMORY TIMER MTA) 207, um den Arbeitsspeicherziyklus anzugeben.
Die Bits 0 bis 15 der Adresse werden vom
MSA 201 zur FINST übertragen, die sie ihrerseits über die CDB 59 zu den PE überträgt. Die Bits 18 bis 20 werden zum MM209 übertragen, bei dem es sich um eine Gruppe von Toren handelt, die zur Auswahl der PEM in der PUC39 verwendet werden. Die Logik gestattet die Auswahl eines Arbeitsspeichers pro PUC39 bei allen ILA- oder FMOT-Operationen, zwei Arbeitsspeicher bei //O-Operationen und aller acht Arbeitsspeicher bei PE-Operationen.
Die Bits 21 bis 23 des MSA 201 werden zum MP211 übertragen, bei dem es sich um eine Gruppe
as von Toren handelt, die zum Auswählen der PUC39 zur Ausführung der Operation verwendet werden. Eine einzige PUC39 wird für eine einzige Operandenauslesung oder Speicherung für FINST ausgewählt. Bei allen 8-Operanden-F/MS:T- oder ILA-Auslesungen und allen I/O- oder PE-Operationen sind alle acht PUC ausgewählt. Da die ILA und das I/O immer alle acht PUC 39 bei einer Auslesung auswählen, brauchen sie die Bits 31 bis 23 der Adresse nicht zu spezifizieren. Das I/O liest und speichert immer 16 Operanden gleichzeitig ein und wählt zwei PEM pro PUC. Die Adressen aus dem I/O brauchen ebenfalls nicht das Bit 20 der Adresse zu spezifizieren.
MMP213 ist eine Gruppe von Toren, die die Ausgangssignale von ΜΛί209 und MP 211 dekodieren. Die Ausgänge von MMP 213 sind eine Gruppe von 64 Leitungen, die über die Treiber MD 215 jeweils mit einem PEM der Gruppe verbunden sind, um denjenigen PEM auszuwählen, der die Operation ausführen soll. Es können jedesmal entweder 1, 8, 16 oder 64 PEM ausgewählt werden.
Das Zellenauswahlregister (CABINET SELECT REGISTER, weiterhin mit MSR abgekürzt) 217 ist ein 3-Bit-Register, das die Nummer der PUC39 für Daten speichert, die bei einer 1-Operand-Auslesung ins CU übertragen werden sollen, um den richtipen der Empfänger AR 0 bis AR 7 219 freizugeben. Sobald die Daten aus der Arbeitsspeicherebene ins MIR 57 ausgelesen sind, müssen sie einen verhältnismäßig langen Weg in der Größenordnung von sisben Taktzyklen zurücklegen, um zum CU zu gelangen. Es wäre kostspielig, das MIR 57 so lange zu binden; deshalb ist ein SteuerwerkspufTer (CUB) als Teil jedes PUB 41 vorgesehen. Der CUB sorgt für eine
«ο kurzzeitige Speicherung der Daten und gestattet es dem Arbeitsspeicher auf diese Weise, andere Operationen auszuführen.
Der Arbeitsspeichertaktgeber (MTA) 207 und der Arbeitsspeicherdatenübertragungstaktgeber
(MTB)Hl steuern den zeitlichen Ablauf der Arbeitsspeicheroperationen. MTA 207 steuert den zeitlichen Ablauf der Operationen, die den Arbeitsspeicherzyklus vorbereiten, z. B. das Eineeben der
33 34
Adresse ins MSA 201, das Übertragen des Operanden des Blocks ins AIR 143 zur Verarbeitung. Die Ope- j über die CDB 59 und das Steuern der Taktnormali- randenauswahltore IGA 233 wählen den m dar rech- < sierungslogik im CUB. MTB 211 steuert den Daten- ten oder Unken Worthälfte des im IWS141 gespei- t strom aus dem Arbeitsspeicher über den CUB in die cherten Wortes enthaltenen Befehl aus Die Einzel- £ ADVAST. Wenn die aus dem PEM ausgelesen^ 5 übertragung der Befehle aus dem IWS141 ms Daten aus dem M/Ä57 den Ausgabeauswahltoren AIRU3 wird so lange fortgesetzt, bis der achte Be- ^ 127 zugeführt werden, erzeugen die Steuerglieder 137 fehl der 16 Befehle ausgeführt ist. In diesem Augen- < im PEM ein Signal, das dem CUB zugeführt wird blick stellt die ILA fest, welches die nächste Befehls- und diesem befiehlt, die Daten zu lesen. Der MTB 111 blockadresse ist, und überprüft den LAM 231, um festgibt dann die Tastsignale an die ADVAST ab, um io zustellen, ob sie bereits im IWS141 gespeichert ist. ( die Daten aus dem CUB zu lesen. Diese Tastsignale Beim Einschalten der Maschine ist der nächste Block werden eine vorbestimmte Zeit nach der Auslösung nicht vorhanden. Deshalb holt die ILA einen anderen t des Arbeitsspeicherzyklus erzeugt. Block von Befehlen aus dem Hauptarbeitsspeicher j
Die Daten aus den verschiedenen CUB werden und speichert ihn im nächsten Blockspeicherplatz des ι
einer Gruppe von 512 Empfängern AR 0 bis AR 7 219 »5 IWSUl. Dieses Verfahren wird so lange fortgesetzt, r
über 512 Leitungen zugeführt. Diese 512 Leitun- bis der IWS141 mit 112 Befehlen vollgespeichert ist. j
gen übertragen entweder ein oder acht Daten- oder Wenn der achte Befehlsblock ein neuer Block ist, ^
Befehlswörter. Wenn das CU acht Datenwörter er- wird der älteste Block im /WS141 mit dem neuen
hält, werden alle acht Gruppen a 64 Leitungen, die Block überschrieben und die dem neuen Block zu- ;
von ARQ bis ARl 219 in einen vorbestimmten Teil ao geordnete Adresse in den IAM231 in den Speicher- ,
des örtlichen Datenpuffers (ADB) 223 führen, durch- platz der ältesten Blockadresse eingeschrieben. Die- ,
geschaltet bzw. freigegeben. Jedesmal, wenn nur ein ses Verfahren, jeden neuen Block über den ältesten
Wort ausgelesen wird, das in einem der örtlichen im IWSUl gespeicherten Block zu schreiben, kann ü
Arbeitsspeicherregister gespeichert werden soll, wählt beliebig lange fortgesetzt werden. g
das CU diejenige Gruppe von 64 Leitungen, die im 25 "i.e Abweichung von diesem Verfahren ergibt
MCD 225 vorgeschrieben sind, mit Hilfe der Operan- sich immer dann, wenn ein sogenannter »Sprung- c
denauswahltore 227 (ACC) aus. Wenn das CU einen befehl« auftritt. Bei einem »Sprungbefehl« wird eine n
8-Wort-Block mit 16 Befehlen aus den PEM holt, neue Adresse erzeugt, und statt die Befehle in der j,
werden sie über die ARO bis ARl in den ILA -Teil Reihenfolge auszuführen, in der sie im IWS141 ge-
des CU übertragen. 30 speichert sind, erfolgt ein Sprung zu einem anderen /
Die ILA ist in zwei Abschnitte unterteilt. Der erste Teil des Programms. Wenn die Sprungadresse im /
Abschnitt wird unter normalen Bedingungen zur Be- IAM231 vorhanden ist, Sann wird der entsprechende g
fehlsausführung verwendet, während der zweite Ab- Befehl aus dem IWS141 ins AIRU3 übertragen. jj
schnitt während einer Befehlsunterbrechungsoperation Wenn der Befehl nicht vorhanden ist, holt die ILA b
zur Befehlsausführung verwendet wird. Beide Ab- 35 den richtigen Block aus dem Arbeitsspeicher und z
schnitte verwenden Teile eines örtlichen Arbeits- überschreibt den ältesten Block im IWS141. Es kann f,
Speichers zur Speicherung von Befehlen. Der Befehls- jede beliebige Anzahl von Sprüngen gleichzeitig aus- e
wortspeicher (IWS) 141 ist ein oA-Wort-^e-Befehle- geführt werden. Der IWS141 ist speziell für sich wie- a
Speicher. Die anderen acht Wörter werden als Unter- derholende Programme oder Unterprogramme vor- 2
brechungsbefehlsspeicher (INTERRUPT INSTRUC- 40 teilhaft, die kurzer als 112 Befehle sind, insofern als a
TIONS STORAGE //S) 229 verwendet. bei Ausführung des letzten Befehls des sich wieder- q
Mit dem IWS141 ist ein assoziativer Arbeitsspei- holenden Unterprogramms das Programm wieder //
eher (IAM) 231 verbunden, der aus einer Gruppe von zum ersten Befehl zurückspringen und die Programm- e]
Registern besteht, die die Arbeitsspeicheradressen der schleife erneut unter Verwendung des IWS141 u
im IWS141 gespeicherten Befehlsblöcke speichern. 45 durchlaufen kann, ohne daß irgendwelche Informa- te
Ein Anwesenheitsbit ist in jeder der im IAM 231 ge- tionen aus dem Arbeitsspeicher ausgelesen zu werden
speicherten Adressen enthalten, das anzeigt, ob ein brauchen. a,
brauchbarer Befehl an dieser Stelle anwesend oder Jeder der sieben im IAM231 gespeicherten Adres- S|
abwesend ist. sen ist ein Anwesenheitsbit zugeordnet, das gesetzt β
Wenn die Maschine eingeschaltet, d. h. eine neue 50 ist, wenn ein Befehlsblock aus dem Arbeitsspeicher a
Aufgabe begonnen wird, ist der IWS141 leer, wobei in den entsprechenden Teil*des IWS141 übertragen β
alle Anwesenheitsbits zurückgesetzt sind. Sobald alle wird. Die Anwesenheitsbits bleiben so lange gesetzt, m
Befehlsblöcke aus dem IWS141 geholt sind, wird das bis die Maschine ausgeschaltet oder die Größe der In
entsprechende Anwesenheitsbit gesetzt. Recheneinheitsgruppe geändert wird. Wenn die An- fe
Die 56 64-Bit-Wörter im IWS141 sind in sieben 55 lage im Zwei-Quadrantenbetrieb arbeitet und in /^
Blecke zu je acht Wörtern unterteilt. Jedem dieser einen Vier-Quadrantenbetrieb umschaltet, ändert de
Blöcke ist im IAM 231 eine 21-Bit-Arbeitsspeicher- sich der Programmspeicher von den zwei Gruppen fo
adresse zugeordnet. Da der 8-Wörter-Block durch von PEM in alle vier Gruppen der PEM. In diesem be
21 Bits dargestellt werden kann, werden die drei Zustand wird bewirkt, daß der Inhalt des IWS141 zu
niedrigststelligen Bits der Befehlsadresse in diesem 60 ungültig wird. Alle Anwesenheitsbits werden zurück-
speziellen Fall nicht benötigt. gesetzt, und die ILA beginnt erneut mit dem Aus- fej
Wenn die Maschine eingeschaltet ist, wird ein lesen von Befehlen aus den PEM. Wl 8-Wörter-Block aus Befehlen aus dem Arbeitsspei- Die ILA enthält mehrere Register, die denjenigen becher geholt und im IWS141 abgespeichert. Gleich- Speicherplatz im IWS141, in dem der nächste Be- ail zeitig wird die Adresse dieses Blocks im IAM231 ge- 65 fehlsblock abgespeichert werden soll, und denjenigen n;i speichert und das diesem Block zugeordnete An- Speicherplatz im IWS141 bestimmen, aus dem der fe] wesenheitsbit gesetzt. Die Befehlsausführung beginnt nächste Befehl ausgelesen werden soll. Der Befehls- de durch Übertragung des ersten Befehls der 16 Befehle blockeingabeplatzanweiser (/BL) 235 ist ein 8-Bit- ß{
η n e
ι.
ί
d
η
Ringzähler, der den Block im IWS141 bestimmt, in dem der nächste Befehlsblock aus dem Arbeitsspeicher eingespeichert werden seil. Jedes Bit entspricht einem im IWS141 angeordneten Block, und das Setzen eines Bits zeigt an, daß der betreffende Block geladen werden soll. IBL 235 bestimmt auch den Speicherplatz im IAM 231, in dem die Befehlfblockadresse gespeichert werden soll. Im Normalbetrieb sind nur sieben Bits erforderlich, das achte Bit ist für eine Unterbrechungsoperation reserviert.
Der Befehlsblockleseplatzanweiser (IBR) 237 ist ein 8-Bit-Rsngzähler, der auf denjenigen Befehlsblock im IWS141 weist, der gerade ausgeführt wird. Der Befehlsblockvergleicher (IBC) 239 vergleicht IBR 237 mit IBL23S, um zu verhindern, daß in denselben Block des IWS141 Befehle eingegeben werden, der gerade benutzt wird.
Das Befehlszählerregister (INSTRUCTION COUNTER REGISTER ICR) 241 ist ein 25-Bit-Register, das die Adresse des nächsten Befehls speichert, der ausgeführt werden soll.
Die vier niedrigststelligen Bits im ICR241 geben an, welcher der 16 Befehle innerhalb eines Blocks gerade ausgeführt wird. Die im ILA verwendeten Adressen sind 25 Bits lang, wobei die ersten 24 Bits die Hauptarbeitsspeicheradresse darstellen und das niedrigststellige Bit den rechten oder linken Befehl bezeichnet.
Der Befehlsadressenaddierer (INSTRUCTION ADRESS ADDER IAA) 243 wird zur Bildung der Adresse des nächsten Befehls verwendet, indem zur Befehlsadresse des gerade in der Ausführung befindlichen Befehls eine Eins oder im Falle eines Sprungbefehls das Überspringfeld der Befehlsadresse hinzuaddiert wird. Bei der Ausführung des achten Befehls jedes Blocks erhöht der IAA 243, nachdem er erst die Adresse wie zuvor erhöht hat, die Blockadresse durch Addieren einer Eins zu den ersten 20 Bits der Adresse. Diese um eins erhöhte Blockadresse wird dann ins Befehlsadressenregister (IAR) 245 übertragen, wo sie mit dem Inhalt des IAM231 verglichen wird. Wenn sie nicht im IAM231 enthalten ist, dann wird sie in die MSU übertragen, um das Auslesen eines neuen Blocks von acht Wörtern auszulösen.
Das IAR 245 enthält die Adresse des als nächsten auszuführenden Befehls, wenn es sich um einen Sprungbefehl handelt, oder speichert, wenn der achte Befehl eines Blocks im AIR 143 ausgeführt wird, die Adresse, die der MSU zum Auslejen des nächsten Befehlsblocks zugeführt wird. Jedesmal, wenn eine neue Adresse im IAR245 gespeichert ist, wird dessen Inhalt mit dem Inhalt des IAM231 verglichen, um festzustellen, ob der Befehl unter der Adresse, die im IAR235 gespeichert ist, bereits im IWS141 vorhanden ist, in welchem Falle keine Ausleseoperation erforderlich ist. Wenn der Befehl nicht vorhanden ist, befiehlt die ILA der MSU eine Ausleseoperation auszulösen.
Während der Eingabe eines Blocks aus acht Befehlswörtern in den IWS141 aus dem Arbeitsspeicher weist der Befehlsworteingabeplatzanweiseri/W7/.) 247, bei dem es sich um einen 8-Bit-Ringzähler handelt, auf die Adresse im Blockspeicherplatz, in den das nächste Befehlswort eingegeben werden soll. Der Befehlswortortsspeicher (/LS) 249 speichert die Stelle des ersten im IWS141 abgespeicherten Wortes. Der Befehlsvergleicher (ICM) 251 vergleicht IWL 247 mit ILS 249 und sperrt die weitere Eingabe, wenn acht Wörter eingegeben sind.
Der Befehlswortclekodierer (IWD) 253 dekodiert die Bits 21 bis 23 des ICR 241 in einen 8-Bit-Code, der in den IWS141 übertragen wird, um die Ausgabe des richtigen Wortes aus einem Block des IWS141 freizugeben. Der Befehlswortvergleicher (IWC) 255 vergleicht den IWL mit dem IWD 253, um die Übertragung eines Befehls in das AIR143 so lange zu
ίο sperren, bis der Befehl in den IWS141 eingegeben ist. Die ADVAST enthält ein Unterbrechungsregister (AIN) 257 und ein Maskenregister (AMR) 259, von denen jedes ein getrenntes Bit für jede Art von Unterbrechung hat, die die Rechnergruppe feststellen
soll. Diese Unterbrechungen erfolgen in den bei Rechnern üblichen Fällen, z. B. bei Paritätsfehlern, unbestimmten Befehlen und Überläufen sowie einigen speziellen Fällen, wie sie bei einer Gruppenanlage auftreten.
Bei einigen Arten von Aufgaben braucht nicht die Art der Unterbrechungen festgestellt zu werden. Um ihre Feststellung zu verhindern, wird das entsprechende Bit des AMR2S9 gesetzt und die Unterbrechung ignoriert. Wenn eine unmaskiert.e Unterbrechung festgestellt wird, werden die Unterbrechungsbefehle aus dem //S 229 geholt. Der 7/5229 hat ähnliche Funktionen wie der IWS141 bei der normalen Ausführung des Programms. Die oben an Hand des IWS141 beschriebenen Blöcke geben an, welcher der Unterbrechungsbefehle gerade ausgeführt wird. Ein Bit in einem Register aus »Verschiedenes«-Steuerbits (ACR) 261 in der ADVAST bestimmt die Unterbrechungsbasisadresse, die. den Speicherplatz im Arbeitsspeicher angibt, wo die Speicherung des Unterbrechungsprogramms beginnt. Der Inhalt vorbestimmter Ct/-Register wird in Hauptarbeitsspeicherplätzen in Abhängigkeit von der Unterbrechungsbasisadresse gespeichert, wenn die Ausführung der Unterbrechung beginnt, und am Ende der Unterbrechungsoperation wieder ins CU zurückgeholt. Der Inhalt des ICR 241 wird im Befehlsunterbrechungsregister (//Λ) 263 gespeichert, um die Adresse des Befehls, der ausgeführt werden soll, wenn die Unterbrechung beendet ist, zu erhalten.
Die Befehle können entweder in der ADVAST oder der FINST ausgeführt werden. Bei der dargestellten Ausführung der Erfindung sind beide Arten von Befehlen 32 Bits lang, doch haben sie verschiedenes Format. Ein ADVAST-Betebl hat, beginnend
so beim höchststelligen Bit, folgendes Format:
Bitfeld
Bedeutung
0,lbis4und Der Operationscode.
20 bis 23
24 bis 31 Das Ortsadressenfeld, das bestimmt, welches der adressierbaren Register im CU bei der Ausführung des Befehls angewählt werden soll. Bei einem Schiebe
befehl speichert es die Anzahl der Verschiebungen und bei einigen Befehlen zeigt es an, welches im Akkumulatorregister 151 gespeicherte Bit geprüft werden soll.
5 Zeigt an, ob das Ortsadressenfeld des
Bitfeld Bedeutung
6,7 Wenn das Ortsadressenfeld indiziert
werden soll, zeigen diese Bits an, welches Akkumulatorregister 151 damit indiziert werden soll. Die acht niedrigststelligen Bits des Akkumulatorregisters 151 enthalten die Indizierungsnummer.
8 bis 15 Gibt die Anzahl der Befehlswörter an, die bei einem Sprungbefehl Übersprungenwerden sollen. Das Bit 8 ist ein Vorzeichenbit, das angibt, ob der Sprung vorwärts oder rückwärts erfolgen soll. Die Bits 9 bis 15 geben die Anzahl an, die übersprungen werden soll.
16, 17 Kennzeichnet, welches der Akkumula
torregister 151 als Akkumulator für die Ausführung des Befehls verwendet werden soll. Wenn der Inhalt eines Akkumulatorregisters 151 von irgendeinem Cl/-Befehl verarbeitet werden soll,wird die Nummer des Akkumulatorregisters 151 durch diese Bits angegeben.
18 Gibt an, ob der Befehl von den CU der gesamten Recheneinheitsgruppe oder nur von einem CU ausgeführt werden soll.
19 Paritätsbit.
der A BC 275 verbunden, die die Steuersignale für den A BL 273 erzeugt.
Die F/A/Sr-Befehle haben folgendes Format, beginnend mit dem höchststelligen Bit:
Die Parität des Befehls wird im
paritätsprüfer (APC) 265 geprüft, wenn der Befehl aus dem /WS 141 in das AIR 143 übertragen wird.
Der örtliche Arbeitsspeicher für das CU ist aus dem adressierbaren Register im CU gebildet. Die folgenden Register, deren Funktionen getrennt beschrieben werden, sind adressierbar und bilden den örtlichen Arbeitsspeicher: MR1181, MRO 183, MCO187 und MC 2 191 in der MSU; UA 263 und ICR 241 in der ILA; unaAINZSl, AMR2S9, ADBlSi, ACQ, ACl, ACl, AC3(1SI) und ACR261 in der ADVAST.
Der örtliche Datenpuffer (ADB) 223 enthält 64 Datenwörter und benötigt somit sechs Bits des Ortsadressenfeldes, um eines von ihnen zu adressieren. Die Operanden werden aus dem ADB 223 über Operandenauswahltore A Y 267 und A H 269 ausgelesen.
Der arithmetische Teil der ADVAST führt logische oder arithmetische Operationen mit im örtlichen Arbeitsspeicher gespeicherten Operanden aus, so daß es dem Programmierer möglich ist, den Betrieb der Recheneinheiten wirksam zu steuern. So kann der Bit-Detektor (ABD) 271 zur Feststellung der Stelle des höchststelligen 1-Bits in einem der Akkumulatorregister 151 verwendet werden, das von einem interessierenden Zustand in den PE oder PEM abhängen kann.
Der Walzenschalter (ABL) 273 erhält 64 Signale aus den Akkumulatorregistern 151 und verschiebt sie um 0 bis 63 Stellen nach rechts oder links, und zwar am Ende hinaus oder umlaufend, in Abhängigkeit von Steuersignalen der Walzenschaltersteuerlogik (ABC) 275. Der ABL273 kann weitgehend ebenso aufgebaut sein wie der Walzenschalter 51 in den Recheneinheiten. Die Bits 24 bis 31 der Schiebebefehle enthalten den Verschiebebetrag und sind mit
Wortbitfeld Bedeutung
0 Eins.
1 bis 4, Operationscode.
8 bis 12
5 Zeigt an, ob das Adressenfeld des Befehls
durch eines der Akkumulatorregister 151 indiziert werden soll.
6,7 Nummer des Akkumulatorregister 151
für Bit 5.
13 Wenn es Eins ist, addiere Inhalt von
RGX 93 zum Adressenfeld vor der Benutzung.
14,15 Adressenfeldbenutzung. Wenn die Bits 14, 15 gleich »0,0« sind, wird das Adressenfeld ins MAR91 der PE übertragen und zur Auslösung eines Arbeitsspeicherzyklus verwendet, der dann einen der vom Befehl gewünschten Operanden liefert. Wenn diese Bits gleich »1,0« sind, dann ist der Inhalt des Adressenfeldes zeichengetreu als Operand zu verwenden. Wenn diese Bits »1,1« sind, dann enthält das Adressenfeld einen 3-Bit-Code, der eines der PE-Register als Datenquelle bestimmt. Eine »0,1« zeigt an, daß der Inhalt von RGS 87 vor dem Auslesen zur Adresse addiert werden soll.
16 bis 31 Adressenfeld.
Der ADVAST-Addierer(/iDD)277 kann für mehrere Zwecke verwendet werden, zu denen das Indizieren der in F/iVST-Befehlen enthaltenen Hauptarbeitsspeicheradresse oder des Ortsadressenfeldes bei y4DF/lSr-Befehlen, die Bildung einer Exclusiv-ODER-Funktion und das Wirken als Vergleicher gehören.
Wenn das Bit 5 angibt, daß das Adressenfeld indiziert werden soll, wird der Inhalt des adressierter Akkumulatorregisters 151 im ADDm zu diesen hinzuaddiert. Nachdem die Adresse im ADD 27? in diziert wurde, wird sie über den normalen Kana durch die FINST in die PE übertragen, wo sie durcl RGS 87 oder RGX 93 weiter indiziert werden kann Jede der 64 PE erhält dieselbe von der ADVAST er zeugte Adresse. Wenn im PE indiziert werden so! und sich die Indizierungszahl von den verschiedene: PE unterscheidet, dann verarbeiten die PE Operan den aus verschiedenen Speicherplätzen der zugehöri gen PEM.
Nach der EXKLUSIV-ODER-Funktion könne Operanden aus einem der Akkumulatorregister 15 und dem örtlichen Arbeitsspeicher verknüpft werdei Dabei werden 40 Bits des Operanden in der Logikeir heit (i4LG)279 und die anderen 24 Bits im ADD 27 verknüpft.
Operanden aus dem A DB 223 oder den vier Akki mulatorregistern 151 werden über Operandenau wahltorey4H269 und /1/281 in die Rechenteile d
,pt-. Jes
; iv-
■■■ ge-
a in-
■ ten
: em
in-
> nal
rch
mn.
er-
soll
nen
ran-
löri-
nen
151
den.
;ein-•277
kkuiausider
ADVAST und die anderen Teile der Anlage übertragen. A H 269 wählt die Ausgangssignale eines der Akkumulatorregister 151 oder ADB223 aus, die in die F/MST-Datenwartevorrichtung 153 über den Puffer A Gl 283 und Operandenauswahltore A W 285 übertragen werden sollen. AH 269 wird ebenfalls zur Auswahl des Inhalts eines der Akkumulatorregister 151 verwendet, der über einen Treiber ADO 287 in die anderen CU übertragen oder bei der Indizierung des Ortsadressenfeldes von /4DF/4Sr-Befehlen im ADDm als Index verwendet werden soll.
/4/281 wählt den Inhalt eines der Akkumulatorregister 151 als Hauptarbeitsspeicheradresse für ADVAST-Arbeitsspeicheroperationen oder als Operand für alle arithmetischen und logischen Operationen im ADVAST aus. Der zweite Operand für die im ADDm auszuführenden arithmetischen oder logischen Operationen wird durch die Operandenauswahltore A P 289 ausgewählt.
Alle PE enthalten ein Betriebsregister (RGM) 63 (F i g. 5 A), dessen Funktionen in der Beschreibung der PE erläutert sind. Es gibt eine Gruppe von Befehlen, die den Inhalt eines der Akkumulatorregister 151 ins RGM 63 übertragen, und zwar jeweils ein Bit in jede PE. Bei jedem der Befehle wird der Inhalt des Akkumulatorregisters 151 in ein anderes Bit des RGM63 übertragen. Der Inhalt des ausgewählten Akkuiiiulatorregisters 151 kann in der FINST-Datenwartevorrichtungl53 der Endstation (FINST) gespeichert werden. Aus der F/TVSr-Datenwartevorrichtung 153 werden die Bits über Operandenauswahltor FDF 291 oder FDH 293 und FDS179 dem FDE 295 zugeführt. Der FDE 295 führt dem RGM 63 von allen PE ein Bit zu.
Das CU steuert auch die Betriebsartenlogik 111 (F i g. 5 A) in den PE, die verschiedene logische Operationen mit den im RGM gespeicherten Bits ausführen. Diese Operationen werden von PE-Befehlen befohlen, die in ihrem 16-Bit-Adressenfeld die auszuführende Operation und diejenigen Bits im RGM 63 vorschreiben, mit denen die Operation ausgeführt werden soll. Das Ergebnisbit der Operation kann im RGM63 gespeichert werden.
Die Ergebnisbits der 64 PE werden auch einem der Akkumulatorregister 151 des CU über den Empfänger ARD 297, das Operandenauswahltor AG 299 und den Inverter A GB 301 zugeführt, wobei die Bits im ARD 297 zu einem 64-Bit-Wort zusammengesetzt werden. Das CU kann die 64 Bits auch in ODER-Gliedern 303 verknüpfen und das Ergebnis dieser Verknüpfung zur Auslösung eines Unterbrechungsunterprogramms verwenden, z. B. wenn ein Fehlerbit festgestellt wird. Bei der Verknüpfung der Bits des RGM 63 (F i g. 5 A) muß das CU so lange warten, bis die PE das Ergebnisbit erhalten, bevor sie mit dem nächsten Befehl fortfahren können.
AG299 wird ebenfalls zum Auswählen der von einem der anderen CU der Recheneinheitsgruppe übertragenen und durch EmpfängerARA-C305 empfangenen Daten verwendet.
Operandenauswahltore A X 307 schalten eine Ortsadresse aus dem AIR 143 oder dem Ortsarbeitsspeicheradressenregister (ALR) 309 zum Ortsarbeitsspeicheradressendekodierer (ADR) 311 durch. ADR 311 dekodiert die Ortsadresse zur Freigabe der gewünschten Speicherplätze im Ortsarbeitsspeicher als Quelle oder Bestimmungsort für Operanden bei ADVAST-Operationen oder als Bestimmungsort für Operanden, die aus dem Hauptarbeitsspeicher in die ADVAST ausgelesen werden. Bei ^DJ-MST-Operationen befindet sich die Ortsadresse im AIR 143, aus dem sie durch AX307 zum ADR313. durchgeschaltet wird. Wenn die ADVAST das Auslesen eines Operanden aus dem Hauptarbeitsspeicher verlangt, ist die Ortsarbeitsspeicheradresse im /4/jR309 gespeichert, und der Befehlsoperationscode wird in die FINQ149 übertragen. Gleichzeitig wird die Hauptarbeitsspeicheradresse, unter der die Operanden ausgelesen werden sollen, aus demjenigen Akkumulatorregister 151, das durch die Bits 16 und 17 des Befehls bestimmt wird, in die F/NST-Datenwartevorrichtung 153 übertragen. Wenn die FINST den Operationscode dekodiert hat, führt sie die Arbeitsspeicherausleseoperation mit Hilfe der MSU aus. Wenn der Operand aus dem Arbeitsspeicher ausgelesen ist, wird er von der ADVAST aufgenommen und unter der Ortsarbeitsspeicheradresse, die durch AX 307 aus dem A LR 399 zum A DR 311 durchgeschaltet wurde, abgespeichert.
Die ADVAST-Arbeitsspeicherauslesebefehle können das Auslesen von einem oder acht Wörtern aus den PEM befehlen.
Wenn die im Λ Li? 309 gespeicherte Ortsadresse bei anhängigen Ausleseoperationen einen Speicherplatz im ADB 223 bestimmt, wird ein anderer Befehl ins AIRIA3 eingegeben und sein Ortsadressenfeld mit dem Inhalt des ALR 309 im ADVAST-Ortsadressenvergleicher (ALC) 313 verglichen, um festzustellen, ob sie gleich sind. Wenn sie gleich sind, wartet die ADVAST so lange, bis die anhängige Ausleseoperation beendet ist, bevor sie den Inhalt des vorgeschriebenen Speicherplatzes verwendet. Wenn sie nicht gleich sind, dann fährt die ADVAST mit der Ausführung des Befeh's fort und hält nur dann an, wenn ein nachfolgender Befehl dieselbe Adresse des ADB223 benutzt. Wenn die Adresse im ALR309 einen Speicherplatz in einem anderen Ortsarbeitsspeicher als dem ADB 223 kennzeichnet, wartet die ADVAST so lange, bis die Arbeitsspeicherausleseoperation beendet ist.
Eine Einspeicheroperation läuft nahezu in derselben Weise ab. Der Operationscode und die PEM-Adresse werden jeweils in einem Taktzyklus in die FINQ149 und die F/MSr-Datenwartevorrichtung 153 gesetzt, und das zu speichernde Datenwort wird im nächsten Taktzyklus in die FWST-Datenwartevorrichtung 153 übertragen. Das einzuspeichernde Wort wird über die CDB 59 in die PE übertragen, von denen sie dem MIR 57 zugeführt wird. In die PEM kann immer nur ein Wort auf einmal eingespeichert werden.
Der Übertragungsbefehl bewirkt, daß der Inhalt des RGR47 (Fig. 5A) aller PE zwischen inner selbst übertragen wird, so daß beispielsweise be einer +1-Verschiebung der Inhalt des RGR 47 alle; PE in die PE mit der nächsthöheren Nummer über tragen wird. Wenn der Inhalt eines anderen Register!
als des RGR 47 in eine nicht zugehörige PE übertra gen werden soll, muß der Inhalt dieses anderen Re gisters zunächst in das RGR47 übertragen werden von dem aus dann eine Übertragung in die nicht zu gehörige PE erfolgt.
Wenn die Maschine in einem Ein-Quadranten Reihenbetrieb arbeitet, dann erfolgen die Übertra gungen umlaufend (von Ende zu Ende) innerhalb de Quadranten. Bei einer Multiquadrantenreihe könnet
509645/10
41 42
die Quadranten mit O, 1, 2, 3 (Fig. 2) durchnume- dem Steuerrechner 27 über einen getrennten Kanal riert angesehen werden. Bei einer +1-Verschiebung (Kanal 2), der 48 Datenleitungen vom Arbeitsspeiin einem Zwei-Quadrantenbetrieb überträgt P E 63 eher des Steuerrechners 27, 20 Adressenleitungen des Quadranten O ihren Inhalt entweder in die zum Arbeitsspeicher des Steuerrechners 27 vom PElOd, wenn die Quadranten O und 1, oder in die 5 IOC 31 und acht Steuerleitungen für Paritäts- und PE 200, wenn die Quadranten 0 und 2, oder in die andere Steuerbits enthalten kann. PE300, wenn die Quadranten 0 und 3 in der Gruppe Der BlOM 35» der weitgehend ebenso aufgebaut
miteinander verbunden sind. Die PE 363, PE 263 oder sein kann wie ein PEM, mit der Ausnahme, daß er J°£163 würden ihren Inhalt der PEO zuführen. eine andere Steuerlogik enthält, sorgt für eine Kom-
Wenn die FINST den Befehl ins FIR16S zur PEM ίο munikation zwischen dem Steuerrechner 27 und der überträgt, wird die Adresse aus der FINST-Daten- Plattendatei 37. Bei dieser Ausführung werden die wartevorrichtung 153 in die MSU übertragen, wo sie Daten mit einer Geschwindigkeit von etwa 288 Bits im MAA 199 interpretiert und ins MSA 201 eingege- pro 570 Nanosekunden in die Plattendatei 37 geben wird. Die Steuerlogik in der MSU erhält ein schrieben oder aus ihr ausgelesen, oder sie können Schreib-Lese-, ein 8-Wort-Auslese- und ein »Über- 15 mit sehr viel geringerer Geschwindigkeit aus dem trage-ins-Advast«-Signal vom FlD 167. Die MSU Steuerrechner 27 ausgelesen oder in diesen eingelöst dann die Arbeitsspeicheroperation aus. schrieben werden. Der BlOM 35 ist ein Hochin einer Vier-Quadrantenreihe ist es möglich, bis geschwindigkeitsarbeitsspeicher, der für eine Arbeitszu 255 PE weit zu übertragen. Da die Übertragung speicherpufferung zwischen ihnen sorgt. Bei Datenentweder in positiver oder negativer Richtung erfol- »o Übertragungen zwischen der Plattendatei 37 und dem gen kann, ist die maximale Übertragungsentfernung Steuerrechner 27 bis zu 1024 Bits werden Datengleich 128. Wenn die Übertragungsstrecke gleich 128 Wörter zuerst mit hoher oder geringer Geschwindig- oder kleiner ist, erfolgt die Übertragung in positiver keit in den BlOM 35 geschrieben, je nachdem, wer Richtung, und wenn sie zwischen 128 und 256 liegt, von beiden die Schreiboperation ausführt, und dann dann erfolgt die Übertragung in negativer Richtung. »5 jeweils mit geringer oder hoher Geschwindigkeit vom
Eine andere Übertragung als ± 8 oder ± 1 erfor- anderen ausgelesen.
dert mehrere Übertragungsoperationen, um den einen Der BlOM 35 kommuniziert mit dem Steuerrech-
Beiehl auszuführen. Die Übertragungszahl wird im ner 27 über Kanal 3, der mit demselben Anschluß FlD 167 und FCC 169 dekodiert, um festzustellen, des Steuerrechners 27 verbunden sein kann wie der wie viele Übertragungen welcher Art ausgeführt wer- 30 Kanal 2 und deshalb auch 20 Adressenleitungen zum den müssen, und die Unterbefehle für die Übertra- Arbeitsspeicher des Steuerrechners 27, 48 Datenleigungen werden nacheinander erzeugt und über tungen zwischen dem Arbeitsspeicher des Steuerrech-FCD173 zu allen PE übertragen. ners 27 und dem BlOM 35 und acht Steuerleitungen
enthält.
35 Das /0C31 kommuniziert mit den CU über Ka-
Eingabe-ZAusgabe-Nebensystem "a1,4· der 69 Leitungen zur Direktübertragung von
66 3 Daten und Befehlen zum oder aus dem CU enthält.
Diese Eingabe-/Ausgabe-Leitungen zur CU stellen je-
DasEingabe-/Ausgabe(//O)-Nebensystem(Fig. 10) weils die Verbindungen mit dem MRIlSl und hat mehrere Funktionen. Es überträgt das Programm 4° MR1183 des MSU-Teüs der CU dar. für die CU vorn Steuerrechner 27 zu den PEM der Kanal 4 enthält 24 Leitungen zur Bestimmung der
/Έ-Gruppen (oder P£-Reihen), überträgt Daten mit Speicherplätze in den PEM, die vom //0-Nebeneiner äußerst hohen Geschwindigkeit zwischen den system adressiert werden sollen. Zwanzig dieser Lei- PEM der Gruppen und der Plattendatei 37 und über- tungen sind Adressenleitungen, die über MRA 203 i
trägt Daten zwischen der Plattendatei 37 und dem 45 zum MAA 199 der MSU führen. Zwei der übrigen !
Steuerrechner 27. Es gestattet dem Steuerrechner 27 Leitungen sind Prioritätsleitungen, die zu Eingabe-/ J
auch, den Betrieb der CU und ihrer zugehörigen PE- Ausgabe-Anschlüssen der Prioritätslogik 185 führen. Gruppen zu steuern. Diese Leitungen können Arbeitsspeicherzugriffsanrufe
Das //C-Nebensystem enthält ein Eingabe-/Aus- vom HO mit hoher oder niedriger Priorität anzeigen. '
gabe-Steuerwerk (JOC) 31, das direkt mit dem Plat- 50 Der Zugriffsanruf hoher Priorität vom HO geht allen <
tendateisteuerA'erk Nr. 1 (DFC 1) 315 und dem Plat- anderen Benutzern des Arbeitsspeichers vor und er- ί
tendateisteuerwerk Nr. 2 (DFCl) 317 kommuniziert. hält im nächsten Zyklus Zugriff zum Arbeitsspeicher. Außerdem enthält das //0-Nebensystem einen Puf- Der Zugriffsanruf mit niedriger Priorität hat die nied- c
ferspeicher (BIOM) 35 zur Übertragung von Daten rigste Priorität von allen Benutzern der PjEM. Die s
zwischen dem SUeuerrechner 27 und der Plattendatei 55 anderen beiden Leitungen des Kanals 4 stehen mit *
37 sowie einen Eingabe-/Ausgabe-Schalter (IOS) 33, der Steuerlogik im MSU-Teil des CU in Verbindung. s der zur Übertragung von Informationen zwischen Die Daten und das CiZ-Programm werden zwi-
den Plattendateien und den PEM verwendet wird. sehen der Plattendatei 37 und den PEM der Rechen- t;
DFl und DF 2 315 und 317 steuern den Betrieb der einheitsgruppen über den IOS 33 übertragen. Der t:
Plattendateisysteme 37, die Großarbeitsspeicher für 60 /OS 33 enthält das Eingabe-/Ausgabe-Register s die Rechenanlage darstellen. Eine ähnliche Platten- (IOR) 319, das aus zwei 1024-Bit-Registern besteht. Sl datei, die ebenfalls zur Ausführung der Erfindung DFC1315 kommuniziert mit einem der Re.gister über v verwendet werden kann, ist in der USA.-Patentschrift einen 256-Bit-Kanal und DFC 2 kommuniziert mit 5 09 925 beschrieben. dem anderen Register über einen anderen 256-Bit-
Das /0C31 kommuniziert mit dem Steuerrechner 65 Kanal. Alle DFC enthalten zwei 1024-Bit-Register r< 27 (Fig. 1) über Kanal 1, der 20 Befehlsleitungen, 321, die die zwischen dem /OS33 und dem BIOM35 Vl 48 Antwortleitungen und acht Leitungen für Steuer- einerseits und der zugehörigen Plattendatei 37 an- w zwecke enthalten kann. Es kommuniziert ferner mit dererseits übertragenen Signal speichern. Die Regi- J
tV.
ster aller DFC werden abwechselnd gefüllt, so daß beispielsweise das eine Register 321 im DFCl 315 gerade Informationen zur zugehörigen Plattendatei 37 übertragen kann, während das andere Register 321 von DFCl 317 Informationen vom BlOMiS oder IOS33 erhält. Beide Plattendateien 37 können gleichzeitig mit dem Eingeben in die oder Auslesen aus den beiden Paaren von Registern 321 in den DFC geladen oder ausgelesen werden.
Ein 1024-Bit-Kanal verläuft zwischen dem IO R 319 des /OS 33 und denP£7W der Recheneinheitsgruppen. In jedem der Quadranten ist der Kanal in sechzehn 64-Bit-Wörter unterteilt, von denen je zwei Wörter über den Recheneinheitspuffcr (PUB) 41 der acht PUC 39 der PEM verbunden sind und von zwei PEM pro Zelle gleichzeitig gelesen oder beschrieben werden. Die Übertragungen zwischen der Plattendatei 37 und den PEM der Gruppe erfolgen stets in 16-Worl-Blöcken.
Ein Echtzeitverbindungsglied 323 ist mit den PEM über den /OS33 verbunden, um es einer äußeren Datenquelle, z. B. einer Radaranlage, zu gestatten, Daten mit derselben Geschwindigkeit in die PEM einzugeben, mit der sie erzeugt werden.
Wenn der Steuerrechner 27 Daten in die Plattendatei 37 übertragen will, gibt er erst einen //O-Auslöse-Befehl über Kanal 1 ans /OC 31 ab. Als nächstes werden zwei Descriptorwörter über Kanal 2 vom Steuerechner 27 ins IOC 31 übertragen. Das IOC31 prüft die Descriptorwörter, und wenn es deren Zweck festgestellt hat, überträgt es die Descriptorwörter über Kanal 5 in den BIOM 35. Sobald sich die Descriptoren im BIOM 35 befinden, steuern sie die Übertragung von Daten vom Steuerrechner 27 über Kanal 3 in den BIOM 35. Wenn die gewünschte Datenmenge im BIOM35 gespeichert ist, wird der Descriptor in eine Wartevorrichtung 325 übertragen, die sich im IOC 31 befindet.
Die Wartevorrichtung 325 speichert die Adressen des Speicherplatzes in der Plattendatei 37, in den Informationen gebracht oder aus dem sie geholt werden o!ien. Um die Wartezeit zu verringern, wird der Zugriff zur Plattendatei 37 in derselben Reihenfolge gewährt, in der die den in der Wartevorrichtung 520 gespeicherten Adressen entsprechenden Speicherplätze auf der Plattendatei 37 vorkommen. Dieses Verfahren ist notwendig, weil es bis zu 40 Millisekunden dauern kann, bis ein Speicherplatz auf der Platte 37 erreicht ist. Sobald der Speicherplatz auf der Platte 37 erreicht ist, ist die Datenübertragungsgeschwindigkeit sehr hoch.
Die auf die Platte 37 kommenden Adressen werden ständig mit den in der Wartevorrichtung 325 gespeicherten Adressen verglichen, und wenn eine Übereinstimmung festgestellt wird, wird die im Descriptor vorgeschriebene Operation unter Verwendung der heraufkommenden Adresse ausgelöst. Das Abtasten der heraufkommenden Daten rindet vor der tatsächlichen Ankunft der Adresse an den Lese-Schreib-Köpfen für die Ausführung der vom Descriptor vorgeschriebenen Operation statt, so daß das vorgeschriebene DFC bereit ist, die Platte zu lesen oder zu beschreiben.
Im Falle einer Übertragung von Daten vom Steuerrechner 27 zur Platte 37, wenn die im Descriptor vorgeschriebene Adresse auf der Platte vorkommt, werden die im BIOM 35 gespeicherten Daten jeweils 128 Bits gleichzeitig in die Register des vorgeschriebenen DFC übertragen. Wenn eines der Register voll ist, überträgt es seine Daten zum gewünschten Speicherplatz auf der zugehörigen Platte 37, und zwai 288 Bits gleichzeitig, während das andere Registei 128 Bits auf einmal vom BIOM 35 erhält. Diese Operation wird so lange fortgesetzt, bis alle Informationen aus dem BIOM35 auf die Platte 37 übertrager sind.
Um Daten aus de: Piatendatei 37 in die PEM zu
ίο übertragen, werden dem IOC 31 über die Kanäle 1 und 2 ein //O-Auslösebefehl und zwei Descriptorwörter aus dem Steuerrechner 27 zugeführt. Nachdem das IOC 31 die Descriptoren geprüft und die vorgeschriebene Operation festgestellt hat, wird der Descriptoi in die Wartevorrichtung 325 übertragen. Wenn die Adresse auf der Plattendalei 37 vorkommt, werden die Daten von der Plattendatei 37 über das zugehörige DFC und den /OS 33 in die PEM übertragen. Die Adresse des Speicherplatzes in den PEM,
ao in den die Daten gebracht werden sollen, wird übei Kanal 4 vom IOC31 in die CU gebracht.
Die beiden 1024-Bit-Register, die das IOR319 bilden, erhalten über getrennte 256-Bit-Kanäle Dater von den DFC. Wenn das benutzte IOR voll ist, wird den CU über das IOC 31 ein Signal zugeführt, das einen Arbeitsspeicherzyklus der PEM auslöst. Wenn vom Steuerrechner 27 Daten in die PEM übertragen werden sollen, dann werden sie zuerst in die Plattendatei 37 übertragen und dann durch einen getrennten Befehl in die PEM gebracht.
Um Daten aus den PEM in die Plattendatei 37 zu übertragen, gibt der Steuerrechner 27 einen //O-Auslösebefehl über Kanal 1 und den entsprechenden Descriptor über Kanal 2 ab. Das IOC 31 setzt den Descriptor in die Warte vorrichtung 325, und wenn die Adresse auf der Platte 37 vorkommt, wird dei CU ein Befehl zugeführt, der einen Arbeitsspeicherzyklus der PEM auslöst. Wenn der Arbeitsspeicherzyklus ausgelöst ist, werden die Daten aus den PEM über /OS 33 ins entsprechende DFC übertragen. Von dort werden sie in den vorgesehenen Speicherplat2 auf der Platte 37 gebracht.
Wenn Informationen aus der Plattendatei 37 in den Steuerrechner 27 übertragen werden sollen, wird das //O-Auslösesignal erneut erzeugt und der Descriptor aus dem Steuerrechner 27 in die Wartevorrichtung 325 gesetzt. Wenn die Adresse vorkommt, wird die Information aus der Plattendatei 37 in den BIOM 35 übertragen und von dort durch den Steuerrechner 27 mit seiner eigenen Geschwindigkeit ausgelesen.
Am Ende der Ausführung einer //O-Operation wird dem Steuerrechner 27 über Kanal 2 ein Unterbrechungssignal zugeführt. Wenn dieses Signal auftritt, wird dem IOC 31 über Kanal 1 der Befehl zugeführt, den Inhalt eines Spezialunterbrechungsregisters im IOC 31 auszulesen, dessen Inhalt übei Kanal 1 zum Steuerrechner 27 übertragen wird. Dei Inhalt des Registers wird Ergebnisdescriptor genannt und enthält den größten Teil des ursprünglichen //'O-Descriptors, um den Steuerrechner 27 wissen zu lassen, welcher Befehl gerade ausgeführt wurde. Der Ergebnisdescriptor enthält auch entweder ein Signal »Normale Beendigung« oder irgendein anderes Signal, um den Steuerrechner 27 wissen zu lassen, daß entweder die Operation beendet oder ein Fehler aufgetreten ist
Wenn eine höhere Datenübertragungsgeschwindig-
-u^'.■ir
keit zwischen der Plattendatei 37 und den PEM gewünscht wird, ist es möglich, den WS 33 so zu vergrößern, daß 32 oder auch 64 Wörter gleichzeitig zwischen den PEM und dem WS 33 übertragen werden können. Die Großarbeitsspeicherkapazität nach
der Erfindung läßt sich durch Hinzufügen irgendeiner gewünschten Anzahl von Plattendateipaaren und Hinzunahme eines Schaltwerks zwischen der Plattendatei und den DFC zum Umschalten der DFC untereinander erhöhen.
Hierzu 17 Blatt Zeichnungen

Claims (13)

Patentansprüche:
1. Elektronische Datenverarbeitungsanlage mit mindestens einer Gruppe von Recheneinheiten, die jeweils Vorrichtungen zur Ausführung arithmetischer und logischer Operationen an Daten aufweisen, mit jeweils einem Steuerwerk für jede der Gruppen von Recheneinheiten, wobei die Steuerwerke im wesentlich gleich ausgebildet sind, und mit getrennten, jeweils einer Recheneinheit zugeordneten Arbeitsspeichern zum Speichern von Operanden, die in den zugehörigen Recheneinheiten verarbeitet werden sollen, und zum Speichern eines Programmteils, dadurch gekennzeichnet, daß jedes Steuerwerk (beispielsweise 11) Vorrichtungen (ILA) zum Auslesen von Operanden und Befehlen aus den Arbeitsspeichern (PEM) und zu deren Übertragung in das Steuerwerk aufweist, wobei die Befehle die vom Steuerwerk (beispielsweise 11) a° auszuführenden und andere die Recheneinheiten (beispielsweise 19) steuernden Befehle umfassen, daß in jedem Steuerwerk (beispielsweise 11) eine erste (ADVAST) und eine zweite (FlNST) Steuerstation vorgesehen sind, von denen die »5 erste Station (ADVAST, Fig.9) Vorrichtungen (AlR 143, Fig.9B) enthält, die die Befehle, die aus den Arbeitsspeichern (durch ILA) ausgelesen wurden, nacheinander dekodieren und die Befehle zum Steuern der Recheneinheiten in die zweite Station (FlNST, Fig.9) übertragen, und die ferner Vorrichtungen (AlD 145) enthält, die die anderen Befehle ausführen, die nicht direkt zu der zweiten Station (FlNST) übertragen worden sind, daß die zweite Station (FlNST) eine Warteschlangenbildungsvorrichtung (FlNQ, F 169D, 153, 149, FlO bis F17; Fig.9E) zur kurzzeitigen Speicherung sowohl mehrerer Befehle, die aus der ersten Station (ADVAST) übertragen wurden, als auch von Operanden, die den Befehlen zugeordnet sind, enthält, daß an die Warteschlangenbildungsvorrichtung (FlNQ) angeschlossene Vorrichtungen (FID 167, FCD 173) vorgesehen sind, die die Befehle in der Warteschlangenbildungsvorrichtung nacheinander dekodieren und die dekodierten Befehle in Form kurzer Teilprogramme allen Recheneinheiten zu deren Steuerung über eine gemeinsame Datenleitung (59, Fig.5A) zusammen mit den Operanden, die zu den dekodierten Befehlen gehören, zuführen.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Vorrichtungen zur Ausführung der logischen und arithmetischen Operationen mit Operanden Register (151, 273, 275,277) enthalten, daß die erste Steuerstation (ADVAST) Vorrichtungen (RGR 47) zur schrittweisen Änderung der Arbeitsppeicheradressen bei Übertragung des Inhalts eines Registers (MAR 91) in eine nicht zugehörige Recheneinheit (PE) enfhält und daß jede der Recheneinheiten (19, 21, 23, 25; usw . ..) eine Betriebsartensteuervorrichtung (RGM 63,111) aufweist, die auf das zugeordnete Steuerwerk (11, 13, 15, 17; usw.. ) und die Zustände in der Recheneinheit anspricht 6S und Änderungen in Teilen der Register verhindert, sofern die Betriebsartensteuervorrichtung (RGM 63,111) nicht gesetzt ist.
3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß bei mehreren Gruppen von Recheneinheiten die Steuerwerke (beispielsweise 11) eine Konfigurationssteuervorrichtung (MCO 187, MCl 189, MC 2 191) aufweisen, die bestimmt, wieviele dieser Gruppen an einer Aufgabe arbeiten, und die fernei bestimmt, in welchem Arbeitsspeicher (PEM) die Befehle und Operanden zur Durchführung der Aufgabe gespeichert werden.
4. Datenverarbeitungsanlage nach Anspruch 3, gekennzeichnet durch einen Steuerrechner (27) zum Steuern des Betriebs der Steuerwerke (beispielsweise 11) und durch eine Eingabe-Ausgabe-Vorrichtung (31,33), die Vorrichtungen zur Übertragung von Signalen aus dem Steuerrechner (27) in die Steuerwerke (beispielsweise 11) zum Steuern der Konfigurationssteuervorrichtung MCO187, MCl 189, MC 2191) enthält.
5. Datenverarbeitungsanlage nach Anspruch 4, dadurch gekennzeichnet, daß die Eingabe-Ausgabe-Vorrichtungen (31,33) eine Vorrichtung aufweist, die sie mit jedem der Arbeitsspeicher (P "Vf) verbindet, ferner einen Großraumspeicher und Vorrichtungen zur Übertragung des für ein Steuerwerk vorgesehenen Programms von dem Steuerrechner zu den Arbeitsspeichern, ferner zur Durchführung der Übertragung von Operanden zwischen den Arbeitsspeichern und dem Großraumspeicher und zwischen dem Großraumspeicher und dem Steuerrechner (27).
6. Datenverarbeitungsanlage nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß die die Operanden und Befehle aus den Arbeitsspeichern (PEM) auslesende und zum Steuerwerk (beispielsweise 11) übertragende Vorrichtung eine auf die Konfigurationssteuervorrichtung ansprechende Vorrichtung enthält, die die Arbeitsspeicheradressen so ändert, daß sie die richtige Gruppe von Recheneinheiten vorschreibt.
7. Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche, dadurch gekennzeichdaß die Recheneinheiten (beispielsweise 19) Vorrichtungen (31, 33; Fig.3A bis 3D) enthalten, die jede von ihnen mit mindestens vier anderen Recheneinheiten zur Übertragung von Operanden zwischen ihnen verbinden.
8. Datenverarbeitungsanlage nach Anspruch 7, dadurch gekennzeichnet, daß die Vorrichtung (31, 33) in jeder der Recheneinheiten, die mindestens vier andere Recheneinheiten verbindet, Registriervorrichtungen und entsprechend Verbindungen zwischen jeder der Registriervorrichtungen und den Registriervorrichtungen der vier benachbarten Recheneinheiten zur Übertragung von Operanden nach folgendem Schema enthält: Die Recheneinheiten der Gruppe werden in gleiche Untergruppen unterteilt, und die Untergruppen und Recheneinheiten innerhalb jeder Gruppe werden in vertauschter Weise numeriert, wobei die Untergruppen und Recheneinheiten innerhalb jeder Gruppe fortlaufend numeriert und in der Reihenfolge 0, n, 1, 2-1, 2, n-2,... angeordnet sind, wobei η die Anzahl der Untergruppen oder Recheneinheiten innerhalb jeder Gruppe ist und wobei innerhalb jeder Untergruppe endseitig Verbindungen zwischen jeder Recheneinheit und den nächsthöher und -niedri
A η ν w
3 4
ger numerierten Recheneinheiten und zwischen Es ist bekannt, Datenverarbeitungsanlagen der einRecheneinheiten einer Untergruppe und ent- gangs erwähnten Art im Parallelbetrieb arbeiten zu sprechenden Recheneinheiten der nächsthöher lassen, um die Datenverarbeitungsgeschwindigkeit zu oder -niedriger numerierten Untergruppen end- erhöhen. Die Recheneinheiten dieser bekannten Anseitig hergestellt sind. 5 lagen sind verhältnismäßig rudimentär und können
9. Datenverarbeitungsanlage nach Anspruch 8, die Daten nur im Serienbetrieb Bit für Bit verdad?irch gekennzeichnet, daß das Steuerwerk jede arbeiten. Die von den Recheneinheiten während des der Recheneinheitsgruppen auf einer Mikro- Programmablaufs verwendeten Daten werden bislang befehlsebene steuert und eine Vorrichtung zum in einem von zwei Arbeitsspeichern gespeichert, die Setzen und Rücksetzen der Betriebsartensteuer- io einen Teil jeder Recheneinheit darstellen. Wenn vorrichtungen einzelner Recheneinheiten enthält arithmetische oder logische Operationen mit zwei und daß die Konfigurationssteuervorrichtung eine Datenwörtern ausgeführt werden sollen, muß geerste Registervorrichtung enthält, die bestimmt, währieistet sein, daß sich je eines dieser Wörter in welche der Gruppen an einer Aufgabe arbeitet jedem Arbeitsspeicher befindet und dann bitweise und welche der Gruppen an einer anderen Auf- 15 ausgelesen und der Recheneinheit zugeführt wird, um gäbe arbeitet, und eine zweite Registervonich- die Operation bitweise auszuführen. Dieses Verfahren tung, die bestimmt, in welcher der Gruppen die ist sehr zeitaufwendig, da für jede Operation eine Befehle und Operanden zur Ausführung der Auf- große Anzahl von Speicherzyklen erforderlich ist. gaben gespeichert sind. Weiterhin ist es bei diesen bekannten Datenverarbei-
10. Datenverarbeitungsanlage nach einem der ao tungsanlagen nachteilig, daß das zentrale Steuerwerk vorhergehenden Ansprüche. gekennzeichnet immer nur einen Programmbefehl nach dem anderen durch Puffervorrichtung (35) zum kurzzeitigen ausführt. Da viele Befehle eines Programms organi-Speichem von Befehlen und Operanden, die aus satorischer Art sind und in den Recheneinheiten den Arbeitsspeichern (PEM) ins Steuerwerk (bei- nicht verarbeitet werden, hat dies zur Folge, daß die spielsweise 11) übertragen werden, wobei die 25 Recheneinheiten zeitweilig nicht voll ausgenutzt sind, Puffervorrichtungen ihrerseits Vorrichtungen zum so daß der zeitliche Wirkungsgrad der Anlage ver-Übertragen der Befehle und Daten in die Puffer- hältnismäßig gering ist.
vorrichtungen der anderen Gruppen zur Weiter- Ein weiterer Umstand, der den Wirkungsgrad be-
übertragung zu den Steuerwerken der anderen kannter Datenverarbeitungsanlagen beeinträchtigt, ist
Gruppen enthalten. 30 ihre Unfähigkeit, die Größe der Gruppe auf die For-
11. Datenverarbeitungsanlage nach einem der derungen der zu lösenden Aufgabe einzustellen, vorhergehenden Ansprüche, dadurch gekenn- Wenn bei einer gestellten Aufgabe nur die Hälfte oder zeichnet, daß die zweite Steuerstation (FlNST) 1U aller Recheneinheiten erforderlich ist, laufen die eine Vorrichtung zum Überlappen der Über- übrigen Recheneinheiten während der gesamten Zeit, tragung eines Operanden mit der Übertragung 35 die zur Lösung der gestellten Aufgabe erforderlich eines vorherigen Befehls, der die Übertragungs- ist, leer. Bei anderen Arten von Aufgaben kann es vorrichtung nicht benutzt, enthält. sein, daß zur Lösung eines Teils der Aufgabe sämt-
12. Datenverarbeitungsanlage nach einem der liehe Recheneinheiten und für einen anderen Teil der vorhergehenden Ansprüche dadurch gekenn- Aufgabe nur einige Recheneinheiten erforderlich zeichnet, daß das Steuerwerk (beispielsweise 11) 40 sind. Wennn alle Recheneinheiten während der eine die Priorität des Zugriffs zu den Arbeits- Lösung einer Aufgabe gebunden sind, ohne daß sie speichern steuernde Vorrichtung (CBB 59) ent- zur Lösung benötigt werden, bedeutet dies, daß die hält. Kapazität der Anlage nicht voll ausgenutzt ist. Bei
13. Datenverarbeitungsanlage nach einem der bekannten Datenverarbeitungsanlagen wird die Einvorhergehenden Ansprüche, dadurch gekenn- 45 gabe-Ausgabe-Vorrichtung stets mit dem am Rande zeichnet, daß jede Gruppe (19, 21, 22, 25, der Gruppe angeordneten Recheneinheiten verbunusw....) der Recheneinheiten gleiche Rechenein- den. Wenn in der Mitte oder auf der anderen Seite heiten enthält. der Gruppe angeordnete Daten in die Eingabe-Ausgabe-Vorrichtung übertragen werden sollen, müssen
50 sie sukzessiv von Recheneinheit zu Recheneinheit
durch die gesamte Gruppe hindurch zur Eingabe-Ausgabe-Vorrichtung übertragen werden. Dazu sind
Die Erfindung betrifft eine elektronische Daten- mehrere Verschiebungen erforderlich, die alle erhebverarbeitungsanlage mit mindestens einer Gruppe liehe Zeit benötigen. Die Flexibilität dieser Datenvon Recheneinheiten, die jeweils Vorrichtungen zur 55 Verarbeitungsanlagen ist ferner dadurch begrenzt, Ausführung arithmetischer und logischer Operatio- daß die am Rande der Gruppen angeordneten nen an Daten aufweisen, mit jeweils einem Steuer- Recheneinheiten nur mit zwei oder drei anderen werk für jede der Gruppen von Recheneinheiten, Recheneinheiten in Verbindung treten können, obwobei die Steuerwerke im wesentlichen gleich aus- wohl die mittleren Recheneinheiten mit vier anderen gebildet sind, und mit getrennten, jeweils einer 60 in Verbindung treten könnten.
Recheneinheit zugeordneten Arbeitsspeichern zum Der Erfindung liegt die Aufgabe zugrunde, eine Speichern von Operanden, die in den zugehörigen elektronische Datenverarbeitungsanlage der eingangs Recheneinheiten verarbeitet werden sollen, und zum erwähnten Art zv schaffen, die eine flexible VerSpeichern eines Programmteils. arbeitung von Programmen unter bestmöglicher Aus-
Vorzugsweise befaßt sich die Erfindung mit einer 65 nutzung der Recheneinheiten ermöglicht,
elektronischen Datenverarbeitungsanlage mit mehre- Diese Aufgabe wird durch die Merkmale des
ren Gruppen von Recheneinheiten, von denen jede kennzeichnenden Teils des Anspruchs 1 gelöst.
Gruppe durch ein Steuerwerk gesteuert wird. Durch die erfindungsgemäßen Merkmale wird mit
DE1813916A 1967-12-20 1968-12-11 Elektronische Datenverarbeitungsanlage Expired DE1813916C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US69218667A 1967-12-20 1967-12-20

Publications (3)

Publication Number Publication Date
DE1813916A1 DE1813916A1 (de) 1969-07-10
DE1813916B2 DE1813916B2 (de) 1975-03-27
DE1813916C3 true DE1813916C3 (de) 1975-11-06

Family

ID=24779591

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1813916A Expired DE1813916C3 (de) 1967-12-20 1968-12-11 Elektronische Datenverarbeitungsanlage

Country Status (7)

Country Link
US (1) US3537074A (de)
JP (1) JPS497616B1 (de)
BE (1) BE725566A (de)
DE (1) DE1813916C3 (de)
FR (1) FR1604932A (de)
GB (1) GB1233714A (de)
NL (1) NL167250C (de)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT314225B (de) * 1969-05-02 1974-03-25 Internat Business Maschines Co Modulares elektronisches Datenverarbeitungssystem
US3671942A (en) * 1970-06-05 1972-06-20 Bell Telephone Labor Inc A calculator for a multiprocessor system
US3670308A (en) * 1970-12-24 1972-06-13 Bell Telephone Labor Inc Distributed logic memory cell for parallel cellular-logic processor
US3774156A (en) * 1971-03-11 1973-11-20 Mi2 Inc Magnetic tape data system
US3962683A (en) * 1971-08-31 1976-06-08 Max Brown CPU programmable control system
US3794984A (en) * 1971-10-14 1974-02-26 Raytheon Co Array processor for digital computers
US3760369A (en) * 1972-06-02 1973-09-18 Ibm Distributed microprogram control in an information handling system
US3913070A (en) * 1973-02-20 1975-10-14 Memorex Corp Multi-processor data processing system
US3916383A (en) * 1973-02-20 1975-10-28 Memorex Corp Multi-processor data processing system
IT991096B (it) * 1973-07-10 1975-07-30 Honeywell Inf Systems Calcolatore elettronico con reti funzionali indipendenti per l esecuzione simultanea di opera zioni diverse sugli stessi dati
US3962706A (en) * 1974-03-29 1976-06-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4149240A (en) * 1974-03-29 1979-04-10 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of data structure operations
US4145733A (en) * 1974-03-29 1979-03-20 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4153932A (en) * 1974-03-29 1979-05-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4107773A (en) * 1974-05-13 1978-08-15 Texas Instruments Incorporated Advanced array transform processor with fixed/floating point formats
US3962685A (en) * 1974-06-03 1976-06-08 General Electric Company Data processing system having pyramidal hierarchy control flow
US3943494A (en) * 1974-06-26 1976-03-09 International Business Machines Corporation Distributed execution processor
US4041461A (en) * 1975-07-25 1977-08-09 International Business Machines Corporation Signal analyzer system
US4648064A (en) * 1976-01-02 1987-03-03 Morley Richard E Parallel process controller
US4051551A (en) * 1976-05-03 1977-09-27 Burroughs Corporation Multidimensional parallel access computer memory system
FR2361718A1 (fr) * 1976-08-11 1978-03-10 Adersa Processeur parallele associatif a hierarchie de memoire, notamment pour l'acquisition et le traitement rapides des signaux
US4101960A (en) * 1977-03-29 1978-07-18 Burroughs Corporation Scientific processor
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic
JPS5469519U (de) * 1977-10-27 1979-05-17
US4270170A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4270169A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4541048A (en) * 1978-10-06 1985-09-10 Hughes Aircraft Company Modular programmable signal processor
WO1980000758A1 (en) * 1978-10-06 1980-04-17 Hughes Aircraft Co Modular programmable signal processor
US4412303A (en) * 1979-11-26 1983-10-25 Burroughs Corporation Array processor architecture
US4365292A (en) * 1979-11-26 1982-12-21 Burroughs Corporation Array processor architecture connection network
US4435758A (en) 1980-03-10 1984-03-06 International Business Machines Corporation Method for conditional branch execution in SIMD vector processors
US4344134A (en) * 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
JPS59132070A (ja) * 1983-01-18 1984-07-30 Mitsubishi Electric Corp アレイ演算用デ−タ処理装置
JPH0658631B2 (ja) * 1983-12-19 1994-08-03 株式会社日立製作所 デ−タ処理装置
JPS61182160A (ja) * 1985-02-06 1986-08-14 Toshiba Corp デ−タ処理装置
US4739476A (en) * 1985-08-01 1988-04-19 General Electric Company Local interconnection scheme for parallel processing architectures
US5036453A (en) * 1985-12-12 1991-07-30 Texas Instruments Incorporated Master/slave sequencing processor
JPS62163125U (de) * 1986-04-03 1987-10-16
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
FR2626091B1 (fr) * 1988-01-15 1994-05-06 Thomson Csf Calculateur de grande puissance et dispositif de calcul comportant une pluralite de calculateurs
US5257395A (en) * 1988-05-13 1993-10-26 International Business Machines Corporation Methods and circuit for implementing and arbitrary graph on a polymorphic mesh
GB2238142A (en) * 1989-09-21 1991-05-22 Caplin Cybernetics Computer systems
US5157785A (en) * 1990-05-29 1992-10-20 Wavetracer, Inc. Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
EP0485690B1 (de) * 1990-11-13 1999-05-26 International Business Machines Corporation Paralleles Assoziativprozessor-System
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5752067A (en) * 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5655131A (en) * 1992-12-18 1997-08-05 Xerox Corporation SIMD architecture for connection to host processor's bus
US5557734A (en) * 1994-06-17 1996-09-17 Applied Intelligent Systems, Inc. Cache burst architecture for parallel processing, such as for image processing
AU3829500A (en) * 1999-04-09 2000-11-14 Clearspeed Technology Limited Parallel data processing apparatus
US6452149B1 (en) * 2000-03-07 2002-09-17 Kabushiki Kaisha Toshiba Image input system including solid image sensing section and signal processing section
US7085866B1 (en) * 2002-02-19 2006-08-01 Hobson Richard F Hierarchical bus structure and memory access protocol for multiprocessor systems
US6959372B1 (en) * 2002-02-19 2005-10-25 Cogent Chipware Inc. Processor cluster architecture and associated parallel processing methods
JP3987783B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
JP3987784B2 (ja) * 2002-10-30 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
EP2132645B1 (de) * 2007-03-06 2011-05-04 NEC Corporation Datentransfernetzwerk und steuervorrichtung für ein system mit einem array von verarbeitungselementen, die jeweils entweder selbst- oder gemeinsam gesteuert sind
US8683106B2 (en) * 2008-03-03 2014-03-25 Nec Corporation Control apparatus for fast inter processing unit data exchange in an architecture with processing units of different bandwidth connection to a pipelined ring bus
WO2011064898A1 (en) 2009-11-26 2011-06-03 Nec Corporation Apparatus to enable time and area efficient access to square matrices and its transposes distributed stored in internal memory of processing elements working in simd mode and method therefore
US8898432B2 (en) * 2011-10-25 2014-11-25 Geo Semiconductor, Inc. Folded SIMD array organized in groups (PEGs) of respective array segments, control signal distribution logic, and local memory
US10684929B2 (en) * 2016-12-21 2020-06-16 Xcelsis Corporation Self healing compute array

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3287703A (en) * 1962-12-04 1966-11-22 Westinghouse Electric Corp Computer
US3287702A (en) * 1962-12-04 1966-11-22 Westinghouse Electric Corp Computer control
US3312943A (en) * 1963-02-28 1967-04-04 Westinghouse Electric Corp Computer organization

Also Published As

Publication number Publication date
GB1233714A (de) 1971-05-26
NL167250B (nl) 1981-06-16
US3537074A (en) 1970-10-27
NL6818442A (de) 1969-06-24
NL167250C (nl) 1981-11-16
DE1813916A1 (de) 1969-07-10
BE725566A (de) 1969-05-29
DE1813916B2 (de) 1975-03-27
JPS497616B1 (de) 1974-02-21
FR1604932A (de) 1971-05-15

Similar Documents

Publication Publication Date Title
DE1813916C3 (de) Elektronische Datenverarbeitungsanlage
DE2724125C2 (de)
DE1934365C3 (de) Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage
DE3587591T2 (de) Mikroprozessor für Forth-ähnliche Sprache.
DE2855106C2 (de) Einrichtung zur Durchführung von bedingten Verzweigungen
DE19540102C2 (de) Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik
DE60010907T2 (de) Sram-steuerungvorrichtung für parallele prozessorarchitektur mit adressen- und befehlswarteschlange und arbiter
DE2704842C2 (de) Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung
DE69416283T2 (de) Überlaufsteuerung für arithmetische Operationen
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE3586603T2 (de) Datenprozessor fuer interpretierende und kompilierte sprache.
EP0123921B1 (de) Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf
DE2837872A1 (de) Digitalrechner mit ueberlappender betriebsweise unter verwendung einer bedingten steuerung zur minimierung von zeitverlusten
DE2714805A1 (de) Datenverarbeitungssystem
DE2911096C2 (de)
DE69418146T2 (de) Temporärer Registersatz für einen superpipeline-superskalaren Prozessor
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE3686828T2 (de) Hochleistungsparalleler vektorprozessor mit modifizierter register/elementprozessor konfiguration.
DE2750721A1 (de) Ein/ausgabe-system
DE1942005B2 (de) Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten
DE2353258A1 (de) Datenverarbeitungssystem
DE2658248C2 (de)
DE2948668A1 (de) Puffereinheit
DE1900141B2 (de) Hilfssteuerwerk fur eine Datenver arbeitungsanlage
DE2556617C2 (de) Schiebe- und Rotierschaltung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977