DE2463200C2 - - Google Patents
Info
- Publication number
- DE2463200C2 DE2463200C2 DE2463200A DE2463200A DE2463200C2 DE 2463200 C2 DE2463200 C2 DE 2463200C2 DE 2463200 A DE2463200 A DE 2463200A DE 2463200 A DE2463200 A DE 2463200A DE 2463200 C2 DE2463200 C2 DE 2463200C2
- Authority
- DE
- Germany
- Prior art keywords
- register
- address
- program
- data
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 117
- 238000012545 processing Methods 0.000 claims description 72
- 230000004913 activation Effects 0.000 claims description 12
- 230000003750 conditioning effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 claims 1
- 239000003550 marker Substances 0.000 description 45
- 238000007667 floating Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 10
- 230000000295 complement effect Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- SGTNSNPWRIOYBX-UHFFFAOYSA-N 2-(3,4-dimethoxyphenyl)-5-{[2-(3,4-dimethoxyphenyl)ethyl](methyl)amino}-2-(propan-2-yl)pentanenitrile Chemical compound C1=C(OC)C(OC)=CC=C1CCN(C)CCCC(C#N)(C(C)C)C1=CC=C(OC)C(OC)=C1 SGTNSNPWRIOYBX-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage
nach dem Oberbegriff des Patentanspruchs 1.
Datenverarbeitungsanlagen, im folgenden auch Multi-Processor-Rechenanlagen
genannt, haben eine Anzahl von einzelnen Datenverarbeitungseinheiten,
die einem gemeinsamen Speicher zugeordnet
sind. Bisher erfolgten die Zuordnung von Verarbeitungsoperationen
sowie Steuerung und Datenübertragung
zwischen den Datenverarbeitungseinheiten durch selektive
Ansteuerung des gemeinsamen Speichers zur Übermittlung
von Daten zu und zwischen den einzelnen Datenverarbeitungseinheiten
zwecks Verarbeitung durch diese.
Obgleich sich solche Multi-Processor-Rechenanlagen
durchgesetzt haben, sind sie zwangsläufig Einschränkungen
infolge der erheblichen Zeitspanne unterworfen, die
für die Zuordnung oder Zuweisung und den Zugriff zu den
Verarbeitungsinstruktionen vom Speicher erforderlich
ist, zumal die verarbeiteten Daten, die für die Übermittlung
zwischen den einzelnen Datenverarbeitungseinheiten
vorgesehen sind, über den Speicher laufen.
Die Datenverarbeitungseinheiten wiesen bisher für gewöhnlich
eine Anzahl von einzelnen bzw. getrennten Registersätzen
auf, von denen ein erster Satz für Indexzwecke,
ein zweiter Satz für Programmadressierungszwecke
und ein dritter Satz als Speicher für arithmetische Operationen
fest verdrahtet sind. Eine einzelne Datenverarbeitungseinheit
kann daher bis zu vierundzwanzig Register
haben, nämlich je acht für Index-, Programmadressierungs-
und Speicherzwecke. Mithin stehen nur acht Register
für jede Operation zur Verfügung.
Normalerweise sind die Register jedes Typs entsprechend
den Erfordernissen jeder einzelnen Operation bemessen.
Dies bedeutet, daß die Indexregister eine erste, die
Adressenregister ein zweite und die Speicherregister
noch eine andere Kapazität besitzen.
Eine derartige Datenverarbeitungseinheit läßt sich dadurch
vereinfachen, daß sie eine Anzahl von Registern
aufweist, die jeweils selektiv durch Misch- und Verteilernetzwerke
betätigt werden, um je nach Art der Betätigung
dieser Misch- und Verteilernetzwerke Indizierungs-,
Programmadressierungs- und Speicher-Operationen
durchzuführen. Für den Fall, daß sich solche "Univer
sal"-Register bereitstellen lassen, kann die Gesamtzahl
der Register reduziert werden, während dennoch eine größere
Zahl von Registern für die einzelnen Funktionen
zur Verfügung steht.
Voraussetzung hierfür ist die Schaffung eines Steuernetzwerks
zur selektiven Ansteuerung einer Anzahl von
Registern entsprechend einer ausgewählten von mehreren
gewünschten Operationsarten. Damit kann der Aufbau
einer Datenverarbeitungs- bzw. Multi-Processor-Rechenanlage
mit einer Anzahl von getrennten, mit einem gemeinsamen
Speicher verbundenen Datenverarbeitungseinheiten
ermöglicht werden, bei welcher eine Verriegelungssteuerung
zur Zuordnung der Verarbeitungsoperationen an die
einzelnen Datenverarbeitungseinheiten, ohne daß eine Zuordnungsinformation
durch den Speicher selbst geliefert
zu werden braucht, vorgesehen ist.
Eine bei den bekannten Datenverarbeitungseinheiten auftretende
Schwierigkeit besteht darin, daß die einem bestimmten
Maschinenprogramm zugeordneten Adressen eine
bestimmte Beziehung zur physikalischen bzw. konstruktiven
Anordnung des Speichers besitzen. Um Programm-Sprünge
oder -Abfragen bzw. den Aufruf von Programmen, etwa
Maschinen und/oder gespeicherte problemorientierte Programme,
außerhalb der Feldlänge des betreffenden Maschinenprogramms
durchführen zu können, muß zunächst die Absolutadresse
des Programms, die zunächst abgerufen oder
durch Sprungbefehl an den Anfang gesetzt werden soll,
aus dem Speicher herausgegriffen werden. Nach dem Rücksprung
in das ursprüngliche Maschinenprogramm muß daher
die Absolutadresse dieses Programms ebenfalls aus dem
Speicher abgerufen werden.
Aus DE-OS 22 17 565 ist ein Steuerteil eines Rechenautomaten
bekannt, von dem Befehle in Arbeitsprogrammen
adressierbar sind. Um bei diesem Steuerteil die Ausführung
der hinsichtlich der Zeit eingeteilten Programme
und die erneute Anordnung von Arbeitsprogrammen innerhalb
eines Hauptspeichers zu erleichtern, sind in einem
mit hoher Geschwindigkeit arbeitenden Steuerspeicher
mehrere Basisregister vorgesehen, die denjenigen Basiswert
speichern, welche Abschnitten des Arbeitsprogramms
entsprechen. Ein Programmadressen-Register speichert
die relative Adresse des als nächsten auszuführenden Befehls
gemeinsam mit der Adresse, die sich in dem den relativen
Basiswert speichernden Basisregister des Steuerspeichers
befindet. Eine Addierschaltung addiert
schließlich für die Basisadresse den Inhalt des Basisregisters
zur relativen Adresse im Programmadressen-Register,
um so eine effektive Befehlsadresse zu erhalten.
Ein Y-Register dient hauptsächlich als Halteregister
für Befehls- und Operanden-Zwischenstop-Vergleiche, während
ein Befehlsregister aus zwei Abschnitten, nämlich
einem unteren U-Register und einem oberen U-Register
aufgebaut ist und den auszuführenden Befehl festhält,
damit die Zuordnung der verschiedenen Kennteile des in
dem Befehl enthaltenen Befehlswortes stattfinden kann.
Das US-Buch S. Husson: "Microprogramming", Prentice-
Hall Inc., 1970, Seiten 219 bis 234 und Seiten 415 bis
417, beschäftigen sich mit dem Datenfluß in einem Rechner,
wobei unter anderem auch auf verschiedene Registerarten
eingegangen wird, nämlich sogenannten A-Registern,
B-Registern, C-Registern, D-Registern und R-Registern.
Die A-Register werden als Zwischenspeicher herangezogen
und dienen auch zur Adressierung eines Hauptspeichers
während der Ansteuerung einer Zentraleinheit
oder eines Multiplex-Kanals. Auch die B-Register werden
als Zwischenspeicher herangezogen und sind keinen speziellen
Funktionen zugeordnet. Während die A-Register
von einem R-Register oder einer Rechen- und Logikeinheit
gesetzt werden, bildet das B-Register das einzige
Register, das durch P- und Q-Busse tastbar ist. Die
C-Register sind im wesentlichen mit den A-Registern
identisch und werden über einen R-Bus und das Ausgangssignal
der Rechen- und Logikeinheit gesetzt. Die D-Register
sind wiederum mit dem B-Register vergleichbar und
wirken in erster Linie als Datenregister für den Hauptspeicher.
Schließlich ist das R-Register zur zentralen
Datenverteilung vorgesehen und entsprechend an das A-Register
und das C-Register angepaßt.
Bei dieser bekannten Anordnung erfolgt der Informationsaustausch
zwischen den A-Registern, den B-Registern,
den C-Registern und den D-Registern über einen Datenbus,
der jeweils jedes Register mit dem R-Register verbindet.
Auf diese Weise wird jeder Datenwert zwischen
zwei Registern über das R-Register gespeist.
Schließlich ist noch aus DE-Z "Elektronische Rechenanlage",
1971, Heft 3, Seiten 124 bis 128, der Einfluß der
Registerstruktur eines Zentralprozessors auf dessen Operationsgeschwindigkeit
bekannt, wobei hier die Register
insgesamt in Maschinenregister, Mehrzweckregister und
priviligierte Register eingeteilt werden: Unter die Maschinenregister
fallen beispielsweise Befehlsregister,
Steuerregister für die Maschinenfunktionen und Hilfsregister
zur Aufnahme von Zwischenergebnissen. Mehrzweckregister
sind frei verfügbar als Akkumulatoren, Adreßregister
und Indexregister. Während die Maschinenregister
für einen Benutzer nicht sichtbar sind, können die
Mehrzweckregister vom Benutzer herangezogen werden, da
sie diesen "sichtbar" sind. Die priviligierten Register
sind ausschließlich für die Benutzung durch das Betriebssystem
vorgesehen und somit nur auf der Maschinensprachebene
und nicht für den Benutzer sichtbar.
Es ist Aufgabe der vorliegenden Erfindung, eine Datenverarbeitungsanlage
der eingangs genannten Art zu schaffen,
bei der unter Verwendung eines Universalregistersatzes
die Adressierung verbessert ist.
Diese Aufgabe wird bei einer Datenverarbeitungsanlage
nach dem Oberbegriff des Patentanspruchs 1 erfindungsgemäß
durch die in dessen kennzeichnenden Teil enthaltenen
Merkmale gelöst.
Vorteilhafte Weiterbildungen der Erfindung ergeben sich
aus den Unteransprüchen.
Die Erfindung schafft eine Datenverarbeitungsanlage mit
Speicherzugriff-Steuerung, bei der eine Bezugsadresse
des Maschinenprogramms gespeichert ist und die Steuerfunktionen
selektiv aufrufbar sind, um den Speicher an
einer Absolutadresse, die z. B. einer Festprogrammbibliothek
zugeordnet ist, an der Bezugsadresse, z. B. beim Arbeiten
im Bereich des Maschinenprogramms oder an einer
modifizierten Adresse abzufragen, um Sprungbefehle für
Programme außerhalb des Bereichs des Maschinenprogramms
durchzuführen.
Im folgenden sind bevorzugte Ausführungsformen
der Erfindung anhand der Zeichnung
näher erläutert. Es zeigt
Fig. 1 ein Blockschaltbild einer Datenverarbeitungsanlage
zur simultanen Verarbeitung
mehrerer Programme bzw. eines Multi-
Processor-Rechners gemäß einer bevorzugten
Ausführungsform der Erfindung;
Fig. 2A, 2B und 2C, in auf die in Fig. 2D gezeigte
Weise randweise zusammengesetztem Zustand,
ein Blockschaltbild der Register- und
Steuerungsabschnitte einer einzelnen
Datenverarbeitungseinheit,
Fig. 3 ein Blockschaltbild eines Abschnitts des
Steuerteils einer einzelnen Datenverarbeitungseinheit,
die speziell für externen,
nicht an einen Kartensatz oder dergleichen
gebundenen Befehlszugriff geeignet ist,
Fig. 4 die Darstellung eines Speichers, welche
die Operation eines Zugriffsvorgangs
veranschaulicht,
Fig. 5 die Darstellung eines Wortformat-Austauschparameters
für eine Zugriffsoperation,
Fig. 6 die Darstellung eines Adressenformat-Austausches
beim Wortparameterwechsel,
Fig. 7 eine Darstellung eines Befehls für Speicherzugriff
und
Fig. 8 bis 10 Darstellungen von Datenverdichtungsoperationen
auf Gleitkommaformat.
In Fig. 1 ist eine Multi-Processor-Rechneranlage gemäß einer
bevorzugten Ausführungsform der Erfindung dargestellt. Diese
Rechneranlage weist eine Anzahl von getrennten Datenverarbeitungseinheiten
30, 31, 32, 33 auf, die an einen gemeinsamen
Haupt-Speicher 34 angeschlossen sind. Der Speicher 34 kann
z. B. ein 256k-Wortspeicher sein, bei dem jedes Wort aus 64
Bits besteht. Der Speicher 34 ist über einen Puffer 35 an
eine Eingang/Ausgang-Station 36, eine Wartungs-Steuerung 37,
einen Massenspeicher 38 und an Plattendateien 39 angeschlossen.
Die Station 36 ist vorzugsweise mit zweckmäßigen Periphergeräten
verbunden, z. B. mit Kartenlesern, Bandantriebsvorrichtungen,
optischen Leseeinheiten Auslesevorrichtungen
und anderen Periphergeräten. Die Eingang/Ausgang-Station bildet
zusammen mit ihr zugeordneten Periphergeräten die Eingabequelle
für die Rohdaten und den Datenausgang für die Datenverarbeitungseinheiten
30-33. Im Fall von Large-Seale-
Operationen kann diese Station selbstverständlich selbst ein
kleiner Rechner sein. Ein Verriegelungsregister 40 ist an
alle Datenverarbeitungseinheiten 30-33 angeschlossen. Obgleich
in Fig. 1 vier Datenverarbeitungseinheiten dargestellt
sind, kann selbstverständlich jede beliebige andere Zahl
solcher Einheiten vorgesehen sein, da die vier Datenverarbeitungseinheiten
lediglich aus Gründen der Erläuterung und
nicht zur Einschränkung angeführt sind. Obgleich zudem der
Massenspeicher 38 und die Plattendateien 39 an den Puffer
35 angeschlossen sind, ist zu beachten, daß sie unter gewissen
Umständen auch weggelassen werden können.
In den Fig. 2A, 2B und 2C, die auf die in Fig. 2D dargestellte
Weise ein Gesamtschaltbild ergeben, ist ein Teil
einer typischen Datenverarbeitungseinheit 30-33 zur Steuerung
der Arbeitsweise einer Anzahl von Registern 50 dargestellt.
Diese verschiedenen Register 50 können sechzehn getrennte,
mit 00-15 bezeichnete Register umfassen, die jeweils
eine Kapazität von 64 Bits besitzen. Gemäß Fig. 2B
können die Register außerdem geometrisch in vier mit RA, RB,
RC und RD bezeichnete Abschnitte, jeweils mit einer Kapazität
von 16 Bit unterteilt sein. Bei jedem einzelnen Register
werden somit die ersten sechzehn Bits in den Abschnitt RA, die
Bits 17-32 in den Abschnitt RB, die Bits 33-48 in den Abschnitt
RC und die Bits 49-64 in den Abschnitt RD eingegeben.
Jedes Register 00-15 besitzt einen Ausgang zum Verteilernetz
51. Außerdem weist jedes Register über eine Anzahl
von UND-Gattern 52 einen Eingang vom Mischnetz 53 auf.
Die UND-Gatter 52 werden selektiv durch eine Zugriffssteuerung
54 angesteuert, die ihrerseits durch eine Befehlssteuerung
angesteuert wird, wie dies in Fig. 2A allgemein dargestellt
ist.
Das Mischnetzwerk 53 weist als Eingänge solche von Gleit
komma-Recheneinheiten 56 (bei denen es sich um einen Gleitkommateiler,
einen -Multiplikator und einen -Addierer handeln
kann) vom Speicher 34 über einen Kanal 65, von einem
Parameterregister 62 und von Steuerungen 57 auf, die einen
Addierer für ganze Zahlen, eine Boole′sche Steuerung und eine
Schiebesteuerung umfassen können. Die Steuerungen 57 nehmen
die Eingangssignale vom Operandenregister 63 und vom Operandenregister
64 auf. Dem Operandenregister 63 werden Eingangssignale
von der Befehlssteuerung über einen Kanal 66 sowie
vom Verteilernetz 51 über einen Kanal 67 eingegeben. Die Ausgänge
des Verteilernetzes 51 sind über einen Kanal 68 zum
Operandenregister 64 und über eine Komplement-Schaltung 69 zum
Register 64, über den Kanal 58 zur Gleitkomma-Recheneinheit
56, über einen Kanal 132 zum Verriegelungsregister 40 und
über einen Kanal 99 zum Speicher 34 geschaltet. Dem Operandenregister
64 sind die Eingänge von einem Registermarkierer
70, einer Ausblend- oder Maskensteuerung 71 und von der Befehlssteuerung
über einen Kanal 73 aufgeschaltet. Dem Parameterregister
62 sind die Eingänge vom Verriegelungsregister
40 über einen Kanal 72, von der Befehlssteuerung über einen
Kanal 73 und von einer Steuerung für externen Zugriff 74 zugeführt.
Nicht dargestellte, zweckmäßige Datenkonzentrations-
Schaltkreise können ebenfalls auf dem Fachmann geläufige Weise
Eingangssignale zu den Netzwerken 53 für die Gleitkomma-
Funktionen liefern.
Gemäß Fig. 2A weist die Befehlssteuerung einen Eingang vom
Speicher 34 über den Kanal 75 zu einem Befehlswortstapelspeicher
78 auf. Ein Befehlsadressenstapelspeicher 77 besitzt
einen Eingang von der nächsten Anweisungsadresse 76, die über
eine positive Inkrementsteuerung 59 stellenmäßig erhöht (oder
erniedrigt) wird. Wie noch näher erläutert werden wird, kann
ein einziger Befehlsadressenstapelspeicher 77 und ein Be
fehlswort-Stapelspeicher ein aus 64 Bits bestehendes Wort
enthalten, das vom Speicher über Kanäle zum Befehlswort-Stapelspeicher
78 geschaltet wird. Die Schiebesteuerung 79 besitzt
einen Eingang zur Befehlsadresse 77 und zur Schiebesteuerung
80, die ihrerseits einen Ausgang zum Befehlswortstapel
78 aufweist.
Das Programmadressenregister 81 weist einen Eingang von
einem ODER-Gatter 82 auf, das seinerseits Eingänge von einer
Plus/Minus-Inkrementsteuerung 83 und ein Verzweigungsadreßregister
84 aufweist. Der Inkrementsteuerung 83 wird das
Eingangssignal vom Adressenregister 81 aufgeschaltet, wodurch
eine Schleife gebildet wird, während die Verzweigungsadresse
84 Eingänge von den Abschnitten RA und RB des Registers
50 über Kanäle 85 bzw. 86 aufweist. Die Verzweigungsadresse
84 besitzt eine Kapazität von 20 Bits, so daß
sie alle 16 Bits von einem Abschnitt RA der Register 50 und
4 Bits vom betreffenden Abschnitt RB des Registers 50 empfängt.
Das Programmadressenregister 81 besitzt Ausgänge zu einer
Koinzidenzprüfsteuerung 87, zur nächsten Anweisungsadresse 76
und zum Operandenregister 63 über den Kanal 66. Die Steuerung
87 vergleicht die Programmadresse im Register 81 mit
der Befehlsadresse im Stapelspeicher 77 und liefert Steuerausgangssignale
zu einer Bitpaketsteuerung 88, an eine Datenebenensteuerung
89 und eine Stapelspeicher-externe Fehleranzeige
100. Die Datenebenensteuerung 89 liefert entsprechende
Durchschaltsignale an UND-Gatter 90 zur Steuerung der
Übertragung von Befehlsworten vom Stapel 78 zum momentanen
Befehlswortregister 91. Die Bitpaketsteuerung 88, die durch
die positive Inkrementsteuerung 60 stellenmäßig ergänzt wird,
liefert entsprechende Durchschaltsignale an UND-Gatter 92
und 95 zur Steuerung der Übertragung von Bits zu einem Umsetzer
94 bzw. zum Programmregister 95. Der Umsetzer 94 liefert
ein Ausgangssignal zur Zugriffssteuerung 54 und zur Auswahlsteuerung
55 über einen Kanal 120, während das Programmregister
95 über den Kanal 73 ein Ausgangssignal zum Parameterregister
62 liefert. Der Umsetzer 94 erhält ein 16-Bit-
Befehlspaket vom Register 91, während das Register 95 die
16 Bits eines 20-Bit-Programmkodes vom Register 91 erhalten
kann. Wenn - wie noch näher erläutert werden wird - ein Programmkode
zum Register 95 übertragen werden soll, werden die
anderen vier Bits des 20-Bit-Programmkodes vom Umsetzer 94
geliefert.
Der Umsetzer 94 liefert zudem über einen Kanal 121 ein Ausgangssignal
zu einer Ausgabesteuerung 122, die ihrerseits
über einen Kanal 123 ein Ausgangssignal zu einer Datenspei
cher-Bezugsgruppe 111 (Fig. 3) sowie Stell- und Frei- oder
Durchschaltsignale zu Verriegelungsregistern 40 liefert.
Das Austauschparameter-Wortregister 61 ist an den Ausgang
des 00-Registers 50 angeschlossen, so daß es das gesamte,
darin enthaltene 64-Bit-Wort aufnimmt. Das Register 61 vermag
einen 20-Bit-Programmadressenkode über Kanäle 85 und 86 an
die Verzweigungsadresse 84, einen 8-Bit-Austausch-Adressenkode
über den Kanal 124, einen 12-Bit-Bezugsadressenkode
über den Kanal 125 und ein Programmbezugs-Fehlerkennzeichenbit
über den Kanal 126 zu liefern.
Fig. 3 zeigt das Blockschaltbild einer logischen Schaltung,
die den Befehlsadressen- und -wort-Einheiten zugeordnet ist,
um Befehlsworte vom Speicher zu erhalten. Gemäß Fig. 3 besitzt
das Programmadressenregister 81 Ausgänge zu Wählschaltungen
101 und 102. Das Austauschadressenregister 103 besitzt
zwei Ausgänge, nämlich einen zur Wählschaltung 101 und einen
anderen zum Addierer 104. Dieses Register weist eine Kapazität
von 20 Bits auf, so daß die ersten fünf Bits zum Addierer
104 übertragen werden, während die letzten 15 Bits der Wählschaltung
101 eingegeben werden. Die ersten fünf Bits werden
auch über die positive Inkrementsteuerung 127 rückgeführt, so
daß ein Zähler gebildet wird. Die Wählschaltung 101 besitzt
einen Ausgang zu einem Befehlsabruf-Adressenregister 105. Die
Wählschaltungen 101 und 102 weisen außerdem Aktiviereingänge
vom externen Fehlerkennzeichen 100 auf.
Das Register 105 besitzt einen ersten Ausgang zu einem Inkrementaddierer
114, der eine binäre "1" zum Inhalt des Registers
105 zuaddiert und das Resultat zur Wählschaltung 101
überträgt. Ein zweiter Ausgang vom Register 105 dient zur
Übertragung der fünfzehn signifikantesten Bits in diesem Register
zum Addierer 104 zwecks Verbindung mit den fünf am
wenigsten signifikanten Bits aus dem Register 103 zur Übertragung
zur Wählschaltung 102. Ein dritter Ausgang vom Register
105 sorgt für die Übertragung des Inhalts (20 Bits)
des Registers unmittelbar zur Wählschaltung 102.
Einer Wählschaltung 106 wird ein Eingangssignal von der Wählschaltung
102 und ein zweites Eingangssignal vom Verzweigungsadressenregister
84 aufgeschaltet, das seinerseits ein
20-Bit-Eingangssignal von den Abschnitten RA und RB des Registers
50 (Fig. 2B) erhält. Die Wählschaltung 106 überträgt
somit einen aus 20 Bits bestehenden Kode unabhängig davon, ob
er vom Verzweigungsadressenregister 84 oder von der Wählschaltung
102 stammt.
Die acht am wenigsten signifikanten Bits von der Wählschaltung
106 werden unmittelbar zum Speicheradressenregister 107
zur Operation mit der dem Speicher 34 zugeordneten Speicherzugriffssteuerung
129 über einen Kanal 129 übertragen.
Die zwölf wichtigsten Bits von der Wählschaltung 106 werden
zum Addierer 108 geleitet, wo sie binär zum Ausgang vom
UND-Gatter 109 hinzuaddiert werden, und das Resultat wird
zum Register 107 als die zwölf signifikantesten Bits übertragen.
Die Programmbezugs-Fehleranzeige 110 und die Datenspeicher-
Bezugsgruppe 111, die Eingangssignale vom Register 61 bzw.
von der Steuerung 122 erhalten, liefern Durchschaltsignale
zum ODER-Gatter 112, das seinerseits ein Durchschaltsignal
zum UND-Gatter 109 liefert. Das Bezugsadressenregister 113
liefert eine aus 12 Bits bestehende Adresse vom Register 61,
welche, wenn sie über das UND-Gatter 109 durchgeschaltet ist,
zu den zwölf signifikantesten Bits von der Wählschaltung 106
hinzuaddiert wird, um zum Register 107 als die zwölf signifikantesten
Bits übertragen zu werden.
Gemäß den Fig. 2A, 2B und 2C, die auf die in Fig. 2D gezeigte
Weise gemeinsam das Blockschaltbild der Steuerabschnitte
einer einzelnen Datenverarbeitungseinheit 30-33
wiedergeben, wird ein Befehlswort vom Speicher 34 durch den
Befehlswort-Stapelspeicher 78 über einen Kanal 75 empfangen,
während den Registern 50 über Kanäle 85 und 86 eine Befehlsadresse
aufgeschaltet wird. Letztere kann z. B. aus 20 Bits
bestehen, während das Befehlswort aus 64 Bits bestehen kann.
Wie noch deutlicher werden wird, ist es gerade
die Befehlsadresse, die ein bestimmtes Befehlswort für die
Operation lokalisiert. Die Befehlsadressen sind im Befehls
adressen-Stapelregister 77 und die Befehlsworte im Befehlswortstapel
oder -register 78 gespeichert. Lediglich als Beispiel
kann der Stapel 77 bis zu zwölf Adressen und der Stapel
78 bis zu zwölf 64-Bit-Worte speichern.
Wenn angenommen wird, daß eine zweckmäßige Befehlsadresse und
das ihr zugeordnete Befehlswort in den Stapeln 77 und 78 gespeichert
sind und daß die Abschnitte RA und RB von X-Registern
50 aktiviert worden sind, um diesen Befehl bestimmte
Verarbeitungsoperationen (z. B. Adressierung, Indizierung
oder arithmetische Operation) steuern zu lassen, wird ein
aus 20 Bits bestehender Kode über die Kanäle 85 und 86 zur
Verzweigungsadresse 84 übertragen. Die Verzweigungsadresse
84 erhält den gesamten 16-Bit-Abschnitt RA des aktivierten der
sechzehn X-Register sowie die ersten vier Bits vom entsprechenden
Abschnitt RB. Dieser 20-Bit-Kode wird über das
ODER-Gatter 82 zum Programmadressenregister 81 übertragen.
Die 20-Bit-Adresse wird dann zum Koinzidenzprüfer 87 und zur
nächsten Anweisungsadresse 76 weitergeleitet, die den Stapel
77 abfragt, um die betreffende Adresse aufzufinden. Wenn die
richtige Adresse im Stapel 77 vorhanden ist, bestimmt der
Koinzidenzprüfer die Koinzidenz zwischen den Adressen im Register
81 und im Stapel 77 und übermittelt ein Steuersignal
zur Datenebenensteuerung 89. Letztere liefert ein Durch
schalt-Ausgangssignal zu den UND-Gattern 90, so daß das entsprechende
Wort im Stapel 78 zum Augenblicksbefehlswort-Register
91 übertragen wird.
Wenn die bezeichnete Befehlsadresse nicht für die sofortige
Abgabe an den Koinzidenzprüfer 87 konditioniert ist, wird
durch letzteren keine Koinzidenz festgestellt, und die Verschiebesteuerung
79 fragt den Kartensatz bzw. Stapel 77 ab,
um sequentiell andere Adressen zu erhalten, bis eine Koinzidenz
im Prüfer 87 festgestellt wird. Gleichzeitig steuert
die Verschiebesteuerung 79 die Verschiebesteuerung 80 an, um
entsprechend die im Stapel 78 enthaltenen Befehlsworte abzufragen,
so daß dann, wenn eine Koinzidenz im Prüfer 87
festgestellt wird, das richtige momentane bzw. Augenblicksbefehlswort
am Ausgang des Stapels 78 lokalisiert wird.
Die Datenebenensteuerung 89, wenn sie durch den Prüfer 87 betätigt
ist, aktiviert den Stapelspeicher, insbesondere Kartensatz
78 zur Übertragung des gültigen Befehlsworts aus ihm
zum Augenblicksbefehlswort-Register 91.
Es ist zu beachten, daß ein Zugriff zu jeder beliebigen Befehlsadresse
im Stapel 77 möglich ist. Die Inkrementschaltung
83 vermag somit eine stellenmäßige Ergänzung sowohl im
positiven als auch im negativen Sinn durchzuführen, so daß
die Adressen sequentiell entweder in steigender oder in abfallender
Reihenfolge gesammelt werden können.
Die im Speicher, im Kartensatz 78 und im Register 91 gespeicherten
Befehlsworte sind 64-Bit-Worte mit vier 16-Bit-
Bündeln bzw. -Paketen. Ein einziger Befehl kann aus einem
oder aus zwei Bitpaketen (16 oder 32 Bits) bestehen. Ein Paketbefehl
besteht aus einem Befehlskode aus 4, 6 oder 8 Bits
und einem oder mehreren Markiererkodes, welche die Arbeitsweise
der Zugriff- und/oder Wählsteuerungen 54 und 55 steuern.
Ein Befehl aus zwei Bitpaketen besteht aus einem 4- oder 8-
Bit-Befehlskode, einem oder mehreren Markiererkoden und einem
20-Bit-Programmkode zur Bestimmung des Parameterregisters 62
und/oder des Operandenregisters 64.
Wie noch deutlicher werden wird, werden die X-Register 50
für einen ausgewählten aus einer Anzahl von Zuständen oder
Bedingungen angesteuert, insbesondere interne Übertragung,
Ausgang zum Operandenregister 63, Ausgang zum Operandenregister
64, Ausgang zum Verriegelungsregister 40, Ausgang zu
den Gleitkomma-Recheneinheiten und Ausgang zum Speicher.
Diese Ausgangssignale werden durch den Befehlskode und die
Markiererkodes gesteuert. Im Fall eines Befehls in Form eines
Bitpakets besitzt letzteres eines der folgenden Formate:
worin F den Befehlskode, i, j und k die Markierer- oder
Kennzeichenkodes für Operandenquelle und Bestimmung und n
eine Konstante bedeuten. Im Fall eines Befehls in Form von
zwei Bitpaketen steht das folgende Format zur Verfügung:
worin K ein 20-Bit-Programmkode für das Parameterregister
62 und/oder das Operandenregister 64 ist.
Im Fall (I) besteht somit der Befehl aus einem 4-Bit-Befehlskode,
einem 4-Bit-Markierer i, einem 4-Bit-Markierer
j und einem 4-Bit-Markierer k. Im Fall (II) besteht
der Befehl aus einem 6-Bit-Befehlskode, einer 2-Bit-Konstante,
einem 4-Bit-Markierer j und einer 4-Bit-Konstante. Im
Fall (III) besteht der Befehl aus einem 8-Bit-Befehlskode,
einem 4-Bit-Markierer j und einem 4-Bit-Markierer k. Bei
(IV) besteht der Befehl aus einem 4-Bit-Befehlskode, einem
4-Bit-Markierer i, einem 4-Bit-Markierer j und einem 20-Bit-
Programmkode. Im Fall (V) besteht der Befehl aus einem 8-Bit-
Befehlskode, einem 4-Bit-Markierer j und einem 20-Bit-Programmkode.
Dabei ist zu erwähnen, daß der Befehlskode in jedem
Fall die ersten 4-, 6- oder 8-Bit-Positionen einnimmt, während
der Markierer i die zweiten 4-Bit-Positionen (nur im
Fall von 4-Bit-Befehlskoden), der Markierer j die dritten
4-Bit-Positionen und der Markierer k die vierten 4-Bit-Positionen
(nur bei Befehlen von einem Bitpaket) einnimmt und der
Programmkode aus den letzten 20-Bit-Positionen besteht (nur
bei Befehlen aus zwei Bitpaketen).
Die X-Register 50 bestehen aus sechzehn 64-Bit-Registern.
Jede Informationseinheit, sowohl Daten als auch Befehle, ist
von einem oder mehreren Markierern oder Kennzeichnern (z. B.
i, j, k) begleitet. Dieser Markierer wird entweder durch
den Registermarkierer 70 oder durch die in den Befehlsworten
enthaltenen Markiererkodes bestimmt. Die Markierer sind
keine Adressen, welche die Speicherstelle der Information angeben,
sondern stellen lediglich Markierer oder Kennzeichner
dar, die das Herausgreifen der Information auf vorbestimmte
Weise ermöglichen. Die im folgenden benutzten Ausdrücke Xi,
Xj und Xk, wenn sie einen Registerteil bezeichnen oder in
Verbindung mit X-Registern 50 benutzt werden, bedeuten daher
lediglich diejenigen Register oder Teile von Registern,
welche je nach Fall eine Information erhalten sollen oder
von denen eine Information erlangt werden soll.
Jeder Befehl trägt einen 4-, 6- oder 8-Bit-Befehlskode (F),
welcher bestimmt, welches der Register Xi, Xj oder Xk einzeln
oder gemeinsam Eingaberegister und Register für den
resultierenden Operanden darstellt bzw. darstellen. Beispielsweise
läßt ein Befehlskode (F), welcher die Addition
des Inhalts der Register Xi und Xk diktiert, die mit den
Markierern i und k bezeichneten Register zu Eingabe- oder
Eintragoperandenregistern werden. Wenn der gleiche Befehlskode
(F) bestimmt, daß das Additionsresultat (das durch den
Ganzzahlen-Addierer 57 oder die Gleitkomma-Recheneinheiten
56 gebildet worden ist) zum Register Xj übertragen werden
soll, wird die resultierende Berechnung zu dem Register
übertragen, das durch den Markierer j als das Register für
den resultierenden Operanden bestimmt wird. Die Eintrag-
und Resultantenfunktionen werden somit durch den Befehlskode
und nicht notwendigerweise durch den Markierer diktiert.
Ersichtlicherweise kann jedes der Register Xi, Xj und Xk das
Eintrag- oder Resultantenoperationsregister bilden, was vom
betreffenden Befehl und von der späteren Verwendung der Information
abhängt. Bezüglich der weiteren Erläuterung des
Formats oder der Struktur der Befehlsworte wird auf die
US-PS 33 46 851, insbesondere Spalten 7 ff., hingewiesen,
doch ist dabei zu beachten, daß sich die Operation der Datenverarbeitungseinheit
bezüglich der Befehlsworte dabei
zumindest in dem vorliegend beschriebenen Ausmaß unterscheidet.
Für jedes der sechzehn X-Register 50 ist je ein Reservier-
Fehlerkennzeichen vorgesehen. Dieses Kennzeichen bleibt gesetzt,
bis es speziell freigemacht wird. Wenn der Umsetzer
94 einen Befehl mit einer Markierung (i, j und/oder k) abgibt,
welche ein spezielles X-Register als Bestimmungsregister
bezeichnet, wird das X-Reservier-Fehlerkennzeichen für
dieses Register auf die durch die Markierung bestimmte Weise
eingestellt. Der Umsetzer 94 untersucht den Befehlskode jedes
Befehls zur Feststellung der Befehls- oder Steuerfunktion,
und er untersucht die Markierungen i, j und k, um festzustellen,
welches der sechzehn X-Register wann und auf welche
Weise zu betätigen ist.
Beispielsweise sei angenommen, daß eine Information aus dem
X-Register 08, welches eine Markierung k (Xk des Registers
08) trägt, herausgelesen und diese Information im Register 12
umgespeichert werden soll, um eine Markierung j (Xj des Registers
12) zu tragen. Der Befehl kann aus einem Bitpaket-
Befehl der Form gemäß dem Fall (III) bestehen, dessen Befehlskode
(F) einen Herauslesevorgang aus dem Register Xk
über den Kanal 68 zum Operandenregister 64 und ein anschließendes
Einschreiben der Daten in irgendein Register Xj verlangt.
Die speziellen Register Xk und Xj werden anhand der
Markierer K bzw. j bestimmt.
Als anderes Beispiel sei es als wünschenswert vorausgesetzt,
die Information aus dem die Markierung j tragenden Register
08 herauszulesen, irgendeinen Programmkode (K) hinzuzufügen
und das Resultat im Register 12 umzuspeichern, welches eine
Markierung i trägt. In diesem Fall besteht der Befehl aus
zwei Bitpaketen der Form gemäß dem Fall (IV), deren Befehlskode
eine Herausleseoperation aus irgendeinem Xj-Register
zum Operandenregister 63, eine Übertragung des Programmkodes
(K) zum Operandenregister 64, eine Addition der Daten in
den Registern 63 und 64 durch die Ganzzahlen-Steuerungen 57
und das Einschreiben des Resultats in eines der Register Xi
verlangt. Die speziellen Register Xi und Xj werden anhand
der Markierungen i bzw. j bestimmt, und der Wert von K wird
mit dem Befehl als 20-Bit-Programmkode in das Register 95
eingeschrieben.
Die Mischnetzwerke 53 und die Verteilernetzwerke 51 sind
statische logische Schaltnetzwerke, die auf Durchschalt- oder
Gattersignale ansprechen, um selektiv ausgewählte Register 50
herauszugreifen. Wie an anderer Stelle näher erläutert, bestehen
die vom Umsetzer 94 abgegebenen Befehle aus 4-Bit-Markiererkoden
(mit i, j und k bezeichnet). Wie noch näher erläutert
werden wird, dienen die Markierungen i, j und k zur
Bezeichnung bestimmter Register, zu denen und/oder von denen
Daten geliefert werden. Die 4-Bit-Markiererkodes wirken auf
die logischen Netzwerke der Misch-(Verdichtungs)- und Ver
teiler-(Auffächerungs)-Netzwerke ein, um die Daten selektiv
auf die und von den gewählten Registern durchzuschalten. Die
genaue Art dieser Netze ist dem Fachmann auf diesem Gebiet
geläufig, unter der Voraussetzung, daß die Markiererkodes, zusammen
mit den Befehlen, diese Netze selektiv betätigen. Beispielsweise
enthält ein Befehl "Gleitende Einstellen-Multiplikation
von Xj mal Xk nach Xi" einen Befehlskode (F) und
Markierungen i, j und k. Die 4-Bit-Kodes j und k werden vom
Umsetzer 94 an das Verteilernetzwerk 51 abgegeben, um logische
Gatter zur Auswahl zweier Register (durch die Markierungen
j und k bezeichnet) zu wählen und ihre Daten über den
Kanal 58 zur Gleitkomma-Recheneinheit 56 (tatsächlich zu den
darin enthaltenen Multiplikationskreisen) zu übertragen. Die
4-Bit-Markierung i wird zum Gatter 52 übermittelt (welches
für die logischen Mischgatter repräsentativ ist), um ein
durch die Markierung i bezeichnetes Register zu wählen, in
welchem das Resultat der Gleitkomma-Recheneinheit 56 zu speichern
ist. Andere Aspekte der Misch- und Verteilernetze 51
und 53 sind an anderer Stelle, speziell in den später folgenden
Beispielen näher erläutert.
Wie erwähnt, besteht ein Befehlswort mit 64 Bits aus vier
16-Bit-Paketen, von denen eines oder zwei einen Befehl bilden
können. Die zulässigen Kombinationen der ein bestimmtes
Wort bildenden Bitpakete sind somit folgende:
Die Bitpaket-Steuerung 88 wird von der Augenblicksadresse über
den Koinzidenzprüfer 87 mit einem Eingangssignal beschickt, um
zu bestimmen, welche und wieviele Bitpakete des Augenblickswortbefehls
für die Bildung eines Befehls benutzt werden sollen.
Wenn der Befehl aus einem Bitpaket besteht, wählt die
Bitpaket-Steuerung dieses Bitpaket aus dem Augenblicksbefehls
wort-Register 91 aus und schaltet das UND-Gatter 92 durch, um
das gewählte 16-Bit-Paket zum Umsetzer 94 zu übertragen. Wenn
der Befehl aus zwei Bitpaketen besteht, wählt die Bitpaket-
Steuerung die beiden Bitpakete aus dem Augenblicksbefehlswort-
Register 91 aus und schaltet die UND-Gatter 92 und 93 durch,
um den 12-Bit-Befehl sowie die ersten vier Bits der Programmkonstante
zum Umsetzer 94 zu übertragen und die letzten 16
Bits der Programmkonstante dem Programmregister 95 einzugeben.
Die ersten vier Bits der Programmkonstante werden dann
vom Umsetzer 94 zum Register 95 übertragen.
Wenn im Betrieb ein Befehlswort zuerst dem Register 91 eingegeben
wird, überträgt die Bitpaket-Steuerung 88 das erste Bitpaket
dieses Befehlsworts zum Umsetzer 94 und, wenn das erste
Bitpaket aus einem zwei Pakete umfassenden Befehl besteht,
das zweite Bitpaket zum Register 95, während gleichzeitig die
Inkrementschaltung 60 einen Schritt weiterschaltet. Nach der
Ausgabe des ersten Befehls wird die Bitpaket-Steuerung wiederum
durch die Inkrementschaltung 60 stellenmäßig um "1" erhöht,
um einen Zugriff zum zweiten (oder dritten) Bitpaket zu
erreichen. Dieser Vorgang dauert an, bis das gesamte Wort
herausgelesen ist.
In manchen Fällen kann es erforderlich sein, eine Bitpaket-
Durchlaufsteuerung vorzusehen, um ein 64-Bit-Befehlswort zu
vervollständigen. Dies geschieht, damit die Auslösung eines
aus zwei Bitpaketen bestehenden Befehls im vierten Bitpaket
eines Befehlsworts vermieden wird.
Es können Fälle auftreten, in denen die für den Umsetzer 94
(und das Register 95 im Fall von Befehlen aus zwei Bitpaketen)
vorgesehenen Befehlsworte nicht im Befehlswort-Stapel bzw.
-Kartensatz 78 vorhanden sind. Ein solcher Zustand kann bei
Sprungbefehlen auftreten, bei denen eine Augenblicksprogrammfolge
beendet und eine neue Folge begonnen wird. Im folgenden
sei angenommen, daß ein solcher Sprungbefehl aus zwei Bitpaketen
besteht und zum Umsetzer 94 sowie zum Register 95
übertragen wird. Der Sprungbefehl (16 Bits) wird vom Umsetzer
94 über die Zugriffssteuerung 54 zur Steuerung 52 übertragen.
Gleichzeitig wird ein aus 20 Bits bestehender Kode K, dessen
Wert von der Zahl der zu springenden Schritte abhängt, über
den Kanal 73 vom Register 95 zum Operandenregister 64 übertragen.
Außerdem wird die Augenblicksbefehlsadresse (P) vom
Programmadressenregister 81 (Fig. 2A) zum Operandenregister
63 (Fig. 2B) geleitet. Der Ganzzahladdierer 57 wird betätigt,
um den Sprungwert K zur gültigen bzw. Augenblicksadresse zu
addieren und das Resultat zu den Abschnitten RA und RB der X-
Register 50 zu übertragen, um es dann über die Kanäle 85 und
86, die Verzweigungsadresse 84 und das ODER-Gatter 82 dem
Programmadressenregister 81 einzugeben.
Wenn die neue (Sprung-)Adresse einer Adresse im Befehlsadres
sen-Stapel 77 entspricht, verschiebt die Verschiebesteuerung
79 den Stapel zur entsprechenden Adresse, bis eine Koinzidenz
im Prüfer 87 festgestellt wird. Auf ähnliche Weise wird auch
der Befehlswort-Stapel 78 für die beschriebene Operation bezüglich
des Befehlsworts verschoben. Zwischenadressen im Stapel
77 und Worte im Stapel 78 werden ausgeworfen.
Falls jedoch die neue (Sprung-)Adresse keiner Adresse im Stapel
77 entspricht, wird durch den Prüfer 87 keine Koinzidenz
festgestellt. Statt dessen stellt der Koinzidenzprüfer das
Stapel-externe Fehlerkennzeichen 100 für die Operation an den
Wählschaltungen 101 und 102 (Fig. 3) ein. Die neue Adresse
(P+K) wird über die Wählschaltung 101 zum Befehlsabruf-
Adressenregister 105, über die Wählschaltung 102 zur Wählschaltung
106 und zur nächsten Stapeladresse 76 übertragen.
Die zwölf signifikantesten Bits der neuen Adresse (P+K)
werden zum Addierer 108 übertragen, wo ein Bezugsfehlerkennzeichen
für das Programm vom Fehlerkennzeichen 110 und vom
Austauschparameter-Wortregister 61 (Fig. 2B) zur neuen Adresse
addiert wird (über ODER-Gatter 112 und UND-Gatter 109).
Das Bezugsfehlerkennzeichen wird zum Speicheradressenregister
107 übermittelt, um auf die dem Speicher 34 zugeordnete Speicherzugriffssteuerung
128 einzuwirken. Danach werden die Bits
1-8 der Adresse von der Wählschaltung 106 zum Register 107
überschrieben.
Wie aus dem späteren Abschnitt "Sprungaustausch" noch näher
hervorgeht, enthält das Austauschparameter-Wortregister eine
Bezugsadresse des Maschinenprogramms, d. h. eine Adresse des
Speichers 34, in welcher das Maschinenprogramm gespeichert
ist. Die für das Maschinenprogramm kennzeichnende Bezugsadresse
wird zur Operation an der Speicherzugriffssteuerung 128
den zwölf wichtigsten Bits der von der Wählschaltung 106 überschriebenen
Adresse hinzuaddiert.
Die neue Adresse wird sodann von der nächsten Stapeladresse
76 zur zwölften Datenebene des Befehlswort-Stapels 77 überschrieben,
und das aus dem Speicher 34 herausgegriffene Befehlswort
wird über den Kanal 75 (Fig. 2A) in den Befehls
wort-Stapel 78 eingegeben.
Der Koinzidenzprüfer 87 notiert nunmehr die Koinzidenz zwischen
der neuen Adresse im Register 81 und der neuen Adresse
im Stapel 77 und gibt Datenebenen- und Bitpaket-Steuerbefehle
ab, um für die vorher beschriebenen Operationen den
neuen Befehl zum Augenblicksbefehl-Wortregister 91 überschreiben
zu lassen.
Nach dem vorstehend beschriebenen Verfahren wird nur ein
einziger Befehl vom Speicher zum Befehlswort-Kartensatz überschrieben.
Falls jedoch eine Gruppe von Befehlen aufgestellt
werden soll, wird das Befehlsabruf-Adressenregister durch den
Addierer 114 stellenmäßig ergänzt, so daß eine ganze Gruppe
von Befehlsworten vom Speicher zum Befehlswort-Kartensatz 78
überschrieben wird. Gleichzeitig wird das Programmadressenregister
81 durch die Inkrementschaltung 83 (Fig. 2A) stellenmäßig
ergänzt, damit die entsprechenden Adressen in den Be
fehlsadressen-Stapel 77 eingegeben werden können.
Unter gewissen Umständen kann es wünschenswert sein, einen
Sprung zu einem Abschnitt des Speichers 34 durchzuführen, der
eine allen Datenverarbeitungseinheiten zur Verfügung stehende
Programmbibliothek enthält. Gemäß Fig. 4 sei z. B. angenommen,
daß ein Benutzer R an einem Maschinenprogramm mit einer Adresse
(bezüglich des Speichers 34) arbeitet, die bei RA R beginnt
und eine Feldlänge FL R besitzt. Weiterhin sei angenommen,
daß das Maschinenprogramm einen bei 130 befindlichen Befehl
aufweist, welcher die Datenverarbeitungseinheit auffordert,
auf eine im Speicher 34 außerhalb des Maschinenprogrammfelds
enthaltene Festprogrammbibliothek bei 131 zu springen.
Ein durch das Maschinenprogramm abgegebener Bibliothekaufrufbefehl
ermöglicht einen Zugriff zur Festprogrammbibliothek.
In diesem Fall gibt der Umsetzer 94 einen aus zwei Bitpaketen
bestehenden Bibliothekaufrufbefehl ab, um einen die Absolutbibliothekadresse
darstellenden Programmkode (K) zum Operandenregister
64 (Fig. 2B) und die Befehlsadresse vom Register
81 (Fig. 2A) zum Operandenregister 63 (Fig. 2B) zu überschreiben.
Der Befehlsadressen-Stapel 77 wird freigemacht,
und alle von den Steuerungen gemäß Fig. 3 einzuholenden Ab
ruf-Befehle werden fallengelassen. Das Stapel-externe Fehlerkennzeichen
100 wird gesetzt (weil im Prüfer 87 keine Koinzidenz
festgestellt werden kann), wodurch die Wählschaltungen
101 und 102 (Fig. 3) zur Aufnahme von Adressen durchgeschaltet
werden. Die Bibliothekadresse (K) wird durch die Ganz
zahl-Addiersteuerungen 57 erzeugt und auf vorher erwähnte
Weise über die X-Register 50 und die Kanäle 85, 86 zum Programmadressenregister
81 überschrieben. Die Bibliothekadresse
im Register 81 wird dann zum Befehlsabruf-Adressenregister
105 und zur nächsten Anweisungsadresse 76 überschrieben. Die
Adresse wird auf vorher beschriebene Weise über die Speicher
zugriff-Steuerung 128 ausgegeben, so daß ein Zugriff in einem
der Bibliothekadresse zugeordneten Teil des Speichers 34
durchgeführt wird (in diesem Fall zu dem in Fig. 4 bei 131
angedeuteten Bibliothekfeld). Es ist zu beachten, daß weder
das Bezugsfehlerkennzeichen des Programms noch das Bit der
Datenspeicher-Bezugsgruppe gesetzt ist, so daß die Maschinen
programm-Bezugsadresse im Register 113 nicht zur Bibliothekadresse
hinzuaddiert wird. Infolgedessen wird nur die Absolutadresse
der Programmbibliothek auf die Speicherzugriffssteuerung
128 überschrieben, wodurch die Datenverarbeitungseinheit
für den Betrieb im Feld der Bibliothek aktiviert wird.
Die Bibliothekbefehle werden anschließend über den Kanal 75
zum Befehlswort-Stapel 78 (Fig. 2A) überschrieben, um in der
Datenverarbeitungseinheit verarbeitet zu werden.
Die im Befehleinhol-Adressenregister 105 (Fig. 3) enthaltene
Bibliothekadresse wird dann durch die Inkrementschaltung 114
ergänzt bzw. erhöht, so daß aufeinanderfolgende Adressen der
Bibliothek zur Speicherzugriffssteuerung 128 überschrieben
werden, damit die Befehlsworte der Programmbibliothek der
Reihe nach in den Befehlswort-Stapel 78 überschrieben werden
können. Die Bibliothekadresse in der nächsten Anweisungsadresse
76 wird ebenfalls durch die Inkrementschaltung 114 ergänzt,
und die Bibliothekadresse im Programmadressenregister 81 wird
durch die Inkrementschaltung 83 erhöht. Infolgedessen tritt
im Koinzidenzprüfer 87 eine Koinzidenz auf, so daß das Sta
pel-externe Fehlerkennzeichen 100 entfernt und die Datenebenensteuerung
89 sowie die Bitpaket-Steuerung 88 zur Ausgabe
von Bibliothekbefehlen betätigt werden.
Ein Merkmal der Absolutbibliothekadressen-Technik besteht
darin, daß verschiedene bzw. mehrere Datenverarbeitungseinheiten
gleichzeitig einen Zugriff zur gleichen Programmbibliothek
erhalten können. Genauer gesagt, können zwei oder mehr
Datenverarbeitungseinheiten einen Zugriff zu einer bestimmten
Programmbibliothek erhalten, indem deren Absolutadresse ausgegeben
wird, so daß jede Einheit Befehlsworte von der Bibliothek
erhält. Gemäß Fig. 4 vermag somit ein Benutzer oder Anwender
R mit einer Feldlänge FL R und einen Bibliothekaufrufbefehl
bei 130 zum Bibliothekfeld 131 zu springen, während
ein Benutzer oder Anwender T mit einer Feldlänge FL T und
einem Bibliothekaufrufbefehl 133 auf das gleiche Bibliothekfeld
131 springen kann.
In gewissen Fällen kann es wünschenswert sein, Daten ausschließlich
von einer außerhalb der Feldlänge eines Maschinenprogramms
liegenden Stelle zu erlangen. Beispielsweise
kann nach Abschluß eines Maschinenprogramms eine Datenverarbeitungseinheit
bestrebt sein, auf ein anderes Maschinenprogramm
zu springen.
In diesem Fall gibt der Umsetzer 94 einen aus zwei Bitpaketen
bestehenden Austauschbefehl zur Überschreibung eines Programmkodes
(K) auf das Operandenregister 64 und der Austauschprogrammadresse
auf das Operandenregister 63 ab. Der Befehls
adressen-Kartensatz 77 wird freigemacht, und alle durch die
Steuerungen gemäß Fig. 3 angestrebten Befehlsabrufe werden
fallengelassen. Das Stapel-externe Fehlerkennzeichen 100 wird
gesetzt (weil der Prüfer 87 infolge des freigemachten Zustands des
Stapels 77 keine Koinzidenz feststellen kann), so daß
die Wählschaltungen 101 und 102 zur Aufnahme von Adressen
durchgeschaltet werden. Die Austausch-Sprungadresse wird durch
die Ganzzahl-Addiersteuerungen 57 (Programmadresse+K) erzeugt
und auf vorher erläuterte Weise über die X-Register 50
sowie die Kanäle 85 und 86 zum Programmadressenregister 81
überschrieben. Die Austauschadresse wird - wie erwähnt - über
die Speicherzugriffs-Steuerung 128 ausgegeben, so daß der Inhalt
des Austauschpakets vom Speicher über den Kanal 65 und
die Mischnetze 53 in die X-Register 50 eingegeben wird.
Das Austauschpaket besteht aus sechzehn 64-Bit-Datenwörtern und
einem 64-Bit-Austauschparameterwort. Das Austauschparameterwort
des Austauschpakets wird zuerst abgegeben, und ihm folgen der
Reihe nach die Austauschdatenwörter für die X-Register 00 bis
15. Das zuerst ankommende Austauschparameterwort wird vorübergehend
im X-Register 00 gespeichert und eine Taktperiode später
in das Austauschparameter-Wortregister 61 eingeschrieben. Das
Austauschdatenwort füllt die Register 00 bis 15 der Reihe nach.
Das in Fig. 5 veranschaulichte Format des Austauschparameterworts
besteht aus einer 20-Bit-Programmadresse, einem 12-Bit-
Feldlängekode (welcher die Länge des Austauschpakets angibt),
einer 8-Bit-Austauschadresse (entsprechend K, nämlich die
Adresse des Austausches), einer 12-Bit-Bezugsadresse (entsprechend
der Adresse des Maschinenprogramms RA), einem 8-
Bit-Konditions- oder -Zustandskode und einem 4-Bit-Betriebsartkode.
Wie insbesondere aus den Fig. 2B, 3 und 5 hervorgeht,
wird die 20-Bit-Programmadresse des Austauschparameterworts
über die Kanäle 85 und 86 sowie die Verzweigungsadresse
84 in das Programmadressenregister 81 überschrieben,
die 8-Bit-Austauschadresse wird über den Kanal 124 zum Austauschadressenregister
103 übertragen, die 12-Bit-Bezugsadresse
wird über den Kanal 125 dem Bezugsadressenregister
113 eingeschrieben und ein Bezugsfehlerkennzeichen des Programms
wird vom Betriebsartsteuerteil des Austauschparameterworts
im Register 61 über den Kanal 126 zum Register 110 übertragen.
(In diesem Zusammenhang ist zu erwähnen, daß die Register
103, 110 und 113 tatsächlich physikalisch Teile des
Registers 61 und nur aus Gründen der Erläuterung als getrennte
Einheiten dargestellt sind. Bei einer einheitlichen Konstruktion
sind die Ausgänge 124, 125 und 126 vom Register 61
selbstverständlich unmittelbar mit der Wählschaltung 101, dem
UND-Gatter 109 bzw. dem ODER-Gatter 112 verbunden.)
Das Speicherformat der Austauschadresse im Austauschadressenregister
106 ist in Fig. 6 gezeigt. Dabei besteht das Register
103 aus einem 20-Bit-Register, dessen fünf am wenigsten signifikante
Bits in einem Vorwärtszähler mit der zugeordneten
Inkrementschaltung 127 (Fig. 3) enthalten sind, während die
nächsten acht Bits den 8-Bit-Austauschadressenkode speichern
und die sieben signifikantesten Bits nicht benutzt werden,
d. h. mit binären Nullen fest-verdrahtet sind.
Im folgenden ist die Arbeitsweise beim Sprungaustausch anhand
von Fig. 3 erläutert. Nachdem die erste Adresse der Austausch
paket-Programmadresse über die Kanäle 85 und 86 vom Register
61 (Fig. 2B) zur Verzweigungsadresse 84 (Fig. 2A und 3)
überschrieben worden ist, wird die Adresse zum Programmadressenregister
81 und sodann zur nächsten Anweisungsadresse 76
und zu den Wählschaltungen 101 und 102 übermittelt. Das Be
fehlsabruf-Adressenregister 105 wird auf die erste Adresse
gesetzt, die Austauschadresse wird im Register 103 gespeichert
und die Bezugsadresse wird im Register 113 gesetzt.
Die Bezugsadresse wird zum Addierer 108 geleitet, und zwar
über das UND-Gatter 109, das über das ODER-Gatter 112 durch
das Programmbezugs-Fehlerkennzeichen im Register 110 durchgeschaltet
wurde. (Dieses Fehlerkennzeichen ist eines von
vier im Register 61 gespeicherten Betriebsartsteuerungs-
Fehlerkennzeichen. Die anderen Fehlerkennzeichen umfassen,
wenn sie gesetzt sind, 1. ein Überwachungs-Fehlerkennzeichen
zur Ermöglichung eines Zugriffs zu den Eingang/Ausgang-Vorrichtungen
und zur Verhinderung von Unterbrechungszyklen,
2. ein Verriegelungs-Fehlerkennzeichen zur Ermöglichung eines
Zugriffs zum Verriegelungsregister 40 auf noch zu beschreibende
Weise und 3. ein Gleitkommaunterbrechungs-Fehlerkennzeichen,
welches eine Unterbrechung des Gleitkomma-Rechenbetriebs
ermöglicht, sooft ein Überlauf oder eine Unbestimmtheit
auftritt.)
Die erste Adresse wird auf vorher beschriebene Weise zur
Wählschaltung 106 überschrieben. Die acht am wenigsten signifikanten
Bits der ersten Adresse werden darauf - wie erwähnt
- zum Register 107 und dann zur Speicherzugriffssteuerung
128 überschrieben. Die Maschinenprogrammadresse (Bezugsadresse)
wird durch den Addierer 108 der Austauschadresse des
Austauschpakets hinzuaddiert und in Form der zwölf signifikantesten
Bits zur Operation an der Steuerung 128 zum Register
107 übertragen.
Nach Empfang eines Bestätigungs-Fehlerkennzeichens vom Speicher
wird der Zählerabschnitt des Registers 103 (die fünf
unwichtigsten Bit-Positionen) durch die Inkrementschaltung
127 um Eins erhöht, wodurch zu der in den Addierer 104 eingegebenen
Austauschadresse eine binäre "1" hinzuaddiert wird.
Daher wird der Austauschadressenkode um Eins erhöht, so daß
eine "1" der kombinierten Bezugsadresse und den im Register
107 erscheinenden Austauschadressenkoden hinzuaddiert wird.
Auf diese Weise wird ein Zugriff zu den Adressen des gesamten
Austauschpakets durch Erhöhung des Austauschadressenkodes
und durch die Bezugsadresse erlangt.
Einen Taktzyklus vor der Überschreibung des Austauschpaket-
Befehlsworts über den Kanal 75 aus dem Speicher in den Be
fehlswort-Kartensatz 78 wird die nächste Anweisungsadresse 76
durch die Inkrementschaltung 76 erhöht, um die betreffende
Programmadresse zum Befehls-Stapel 77 zu übertragen, so daß
während des nächsten Taktzyklus eine Koinzidenz im Prüfer 87
auftritt, wodurch der Befehl vom Befehlswort-Stapel 78 zum
Augenblickswort-Register 91 übertragen werden kann, um auf
erläuterte Weise ausgegeben zu werden.
Nach Beendigung eines Austauschpakets tritt ein weiterer
Sprung zurück zum Feld des Maschinenprogramms oder zu einem
anderen Feld-externen Programm auf, indem die Steuerung des
Austauschadressenregisters aufgegeben wird.
Nach Ausgabe eines Lese- oder Einschreib-Befehls vom Umsetzer
94 (Fig. 2A) wird ein Bit (oder ein Fehlerkennzeichen) in der
Ausgabesteuerung 122 (Fig. 2C) gesetzt. Dieses Bit, das im
folgenden zeitweilig als Datenspeicher-Bezugsgruppenbit bezeichnet
wird, wirkt durch das Register 111 über den Kanal
123 auf das ODER-Gatter 112 (Fig. 3) ein. (Dabei ist zu beachten,
daß die Ausgabesteuerung 122 ihrerseits ein Register
sein kann, wobei dann das Datenspeicher-Bezugsgruppenbit unmittelbar
mit dem ODER-Gatter 112 fest-verdrahtet sein kann,
so daß die Notwendigkeit für ein getrenntes Register 11 entfällt.)
Das Bit vom Register 111 schaltet das UND-Gatter 109
durch, so daß der Addierer 108 die Bezugsadresse (z. B. RA R )
zur Programmadresse addieren kann. Die über die Kanäle 99
(Fig. 2C) zur Speicherung im Speicher 34 (Fig. 1) aus dem
X-Register 50 herausgelesenen Daten werden daher an Adressen
gespeichert, die durch die Bezugsadresse (RA) diktiert werden,
welche zur Programmadresse (im Feld) addiert wurde. Auf
ähnliche Weise werden die aus dem Speicher für die X-Register
50 herausgelesenen Daten (über Kanäle 65, Fig. 2B) von Stellen
herausgelesen, die durch die zur Programmadresse hinzuaddierte
Bezugsadresse (RA) bestimmt werden.
Das Verriegelungsregister 40 erfüllt zwei wichtige Aufgaben,
nämlich einmal die Datenübertragung zwischen den Datenverarbeitungseinheiten
30-33 ohne Überschreibung durch den
Speicher, und zum anderen die Benachrichtigung anderer Verarbeitungseinheiten
von der Beendigung einer Verarbeitungsoperation,
wenn zwei oder mehr Verarbeitungseinheiten an verschiedenen
Teilen einer einzigen Aufgabe arbeiten. (Selbstverständlich
sind dem Fachmann noch andere wichtige Aufgaben
des Verriegelungsregisters 40 bekannt, doch reicht bei der
vorliegenden Beschreibung die Erläuterung der beiden zugeordneten
Funktionen aus.)
Wenn Daten über das Verriegelungsregister 40 zu einer anderen
Verarbeitungseinheit übertragen werden sollen, z. B. dann,
wenn Daten überschrieben werden sollen, wenn die aufnehmende
Verarbeitungseinheit für ihre Verarbeitung bereitsteht, veranlaßt
der Umsetzer 94 in der aussendenden Verarbeitungseinheit
ein Herauslesen der ausgewählten Daten über den Kanal
132 aus dem X-Register 50 zum Verriegelungsregister 40. Gleichzeitig
sendet der Umsetzer 94 über den Kanal 121 ein Steuersignal
zur Ausgabesteuerung 122, wodurch ein Signal zum Register
40 übersandt und dieses dadurch veranlaßt wird, die
Daten zu speichern.
Wenn eine Verarbeitungseinheit für die Datenaufnahme vom Verriegelungsregister
40 bereitsteht, gibt der Umsetzer 94 Steuerbefehle
zur Zugriffssteuerung 54 und zur Ausgabesteuerung 122
ab, wodurch die im Verriegelungsregister 40 enthaltenen Daten
über den Kanal 72 in das Parameterregister 62 der aufnehmenden
Einheit überschrieben werden und das Verriegelungsregister
freigemacht wird.
Wenn dagegen die Daten über den Speicher 34 zu einer anderen
Verarbeitungseinheit übertragen werden sollen, wie dies dann
vorkommen kann, wenn die ausgebende Einheit mit einem anderen
Programm fortfahren soll, setzen der Umsetzer 94 und die Ausgabesteuerung
122 ein Fehlerkennzeichen im Verriegelungsregister
40 und übertragen auf beschriebene Weise die Daten aus
den X-Registern 50 über den Kanal 99 zum Speicher 34. Wenn
die aufnehmende Verarbeitungseinheit diese Daten aufzunehmen
vermag, kann sie das im Verriegelungsregister gesetzte Fehlerkennzeichen
herauslesen und die Daten über ihren Kanal 65 vom
Speicher beziehen.
Wie erwähnt, empfängt das Speicheradressenregister 107 eine
aus 20 Bits bestehende Adresse vom Addierer 108 und von der
Wählschaltung 106 (Fig. 3). Wie ebenfalls erwähnt, werden
die acht am wenigsten signifikanten Bits des 20-Bit-Kodes
von einer der drei folgenden Quellen geliefert: 1. Programmadresse
(entweder von der Verzweigungsadresse 84 zur Wählschaltung
106 oder vom Programmadressenregister 81 zur Wählschaltung
102 und zur Wählschaltung 106), 2. Befehlsabrufadresse
vom Register 105, erhöht durch die Inkrementschaltung
114 und überschrieben zur Wählschaltung 106 über die
Wählschaltung 102, und 3. 15-Bit-Austauschadresse vom Register
103 über die Wählschaltung 101 und das Register 105
sowie die 5 Bits vom Zählerabschnitt, erhöht durch die Inkrementschaltung
127 und durch den Addierer 104 der 15-Bit-
Austauschadresse hinzuaddiert. Wie erwähnt, werden auch die
zwölf signifikantesten Bits des 20-Bit-Kodes nach einem der
vorgenannten Verfahren von der Wählschaltung 106 erhalten,
und zwar nach Addierung zur Bezugsadresse durch den Addierer
108, wenn die UND-Schaltung 109 entweder durch das Pro
grammbezugs-Fehlerkennzeichen 110 oder durch das Datenspei
cher-Bezugsgruppenbit 111 durchgeschaltet wird. Es ist somit
ersichtlich, daß die Bezugsadresse des Maschinenprogramms nur
die zwölf signifikantesten Bits des Inhalts des Speicheradressenregisters
107 beeinflußt; die acht unsignifikanten Bits
werden von einer der drei vorgenannten Quellen erhalten.
Gemäß Fig. 7 steuern die sechs am wenigsten signifikanten Bits
des Adressenkodes (welche die sechs unsignifikantesten Bits
der Gruppe der acht unsignifikanten Bits bilden) den Bank-
oder Reihenwähler im Speicher 34. Die nächsten zwölf Bits
(welche die beiden bedeutendsten der acht unsignifikanten
Bits und die zehn unwichtigsten Bits der zwölf signifikantesten
Bits darstellen) bestimmen die Adressenstelle in einer
gewählten Speicherbank.
Der Speicher 34 kann aus 64 4k-Wortspeicherbänken bestehen.
Der 6-Bit-Wählkode wählt eine spezielle Bank an, während der
12-Bit-Adressenkode ein bestimmtes Wort dieser Bank wählt.
Wie erwähnt, werden die am wenigsten signifikanten Bits für
sequentielle Befehlsworte der Reihe nach aufgeschaltet bzw.
abgerufen. Jede der aufeinanderfolgenden Adressen wird somit
auf die nächste Bank und nicht auf die neue Adresse in einer
einzigen Bank aufgeschaltet. Dieses Verfahren hat zur Folge,
daß die Bänke für die aufeinanderfolgenden Befehlsworte sequentiell
abgefragt werden, so daß die Wahrscheinlichkeit dafür,
daß eine der 64 Bänke durch Abrufe überlastet wird, statistisch
gering ist.
Obgleich das Speicherzugriffs-Steuersignal aus den 18 unbedeutendsten
Bits des 20-Bit-Kodes im Register 107 besteht,
dessen beide oberen Bits nicht benutzt werden, können diese
oberen Bits im Fall eines erweiterten Speichers für die Auswahl
benutzt werden, zu welchem von bis zu vier 256k-Wortspeichern
ein Zugriff erfolgen soll. Durch Hinzufügung von
drei zusätzlichen Speichern ist es somit möglich, den Speicher
auf bis zu 1024k-Worte (etwa 65,5 Millionen Bits) zu
erweitern.
Die Register 50 sind für den Programmierer-Operator über die
Eingang/Ausgangssteuerungen und den Speicher 34 zugänglich, um
für Rechenoperationen Daten und Befehle in den Rechner einzuprogrammieren.
Zur Erläuterung der "Universal"-Merkmale der
Register 50 und speziell ihrer Funktion in verschiedenen
Operations-Betriebsarten dienen die folgenden Beispiele. An
dieser Stelle ist darauf hinzuweisen, daß verschiedene der
Adressierfähigkeiten bereits beschrieben worden sind, und
zwar speziell in Verbindung mit den Abschnitten RA und RB
der Register 50 und dem Austauschparameter-Wortregister 61.
1. Logisches Produkt aus Xj und Xk nach Xj: Durch diesen Befehl
werden Operanden aus den durch die Markierer j und k
bezeichneten Registern zu den Operandenregistern 63 und 64
herausgelesen. Die Operanden werden dann durch die Boole′schen
und Schiebeschaltungen verarbeitet, wobei das Resultat
in das durch den Markierer j bezeichnete Register eingegeben
wird. Nachdem der Umsetzer 94 den Befehl ausgegeben hat und
die Markierer j und k in das Register 50 überschrieben worden
sind und das Fehlerkennzeichen des Registers für den
Markierer j gesetzt worden ist, werden die in den Registern
Xj und Xk enthaltenen Daten herausgelesen und wird das Re
servierungs-Fehlerkennzeichen freigemacht. Während der nächsten
Taktperiode wird das logische Produkt der Steuerungen
der Register Xj und Xk zum Register Xj zurück übertragen.
2. Logische Summe aus Xj plus Xk nach Xj: Diese Operation ist
ähnlich wie die unter 1. beschriebene Operation, nur mit dem
Unterschied, daß die Boole′schen Addierschaltungen benutzt
werden.
3. Logische Differenz aus Xj minus Xk nach Xj: Diese Operation
ähnelt den Operationen 1. und 2., nur mit dem Unterschied,
daß die Boole′schen Subtrahierschaltungen benutzt
werden. Wenn in den Fällen 1. und 2. die Markierer j und k
das gleiche Eingaberegister bezeichnen, wird das 64-Bit-
Wort lediglich aus dem Register herausgelesen und anschließend
wieder in das gleiche Register eingeschrieben. Wenn jedoch
beim Beispiel 3 die Markierer j und k gleich sind, wird
ein nur Nullen enthaltendes 64-Bit-Wort in das Register eingeschrieben.
4. Gleitende Zweistellenzahlsumme oder -differenz aus Xj und
Xk nach Xj: In diesen Fällen werden die bezeichneten Register
Xj und Xk in die Gleitkomma-Addiereinheit 56 eingelesen, in
welcher sie addiert werden. Die Einzelheiten der Addition
sind für das Verständnis der Erfindung nicht wesentlich; es
mag genügen, daß das obere Halbresultat normalisiert wird,
während dies beim unteren Halbresultat nicht der Fall ist.
Die untere Hälfte wird in das durch den Markierer j bezeichnete
Register eingegeben. Für Subtraktionsoperationen wird
der Subtrahent (Xk-Daten) zunächst erhöht und auf bekannte
Weise zum Minuenden (Xj-Daten) hinzuaddiert. Doppelte Stellenzahl
wird dann durch eine Einstellenzahl-Gleitsumme oder
-differenz aus Xj und Xk nach Xi (Beispiel 5) erreicht.
5. Gleitkomma-Einstellensumme oder -differenz aus Xj und Xk
nach Xi: In diesem Fall wird das obere Halbresultat nach Beispiel
4 in das durch den Markierer i bezeichnete Register
eingelesen.
6. Gleitkommadivision von Xj durch Xk nach Xj: In diesem Fall
werden die Operanden aus den durch die Markierer j und k bezeichneten
Registern zur Gleitkomma-Dividiereinheit 56 überschrieben,
um einen Quotienten zu bilden, der zu dem mit j
bezeichneten Register übermittelt wird. Der Rest des Teilungsvorgangs
wird verworfen. Wenn der Divisionsoperand nicht
normalisiert ist, wird das Fehlerkennzeichen für "außerhalb
des Bereichs" gesetzt.
7. Gleitkomma-Zweistellenprodukt aus Xj mal Xk nach Xj:
In diesem Fall werden zwei normalisierte Gleitkomma-Operanden
aus den durch die Markierer j und k bezeichneten Registern
zur Gleitkomma-Multipliziereinheit 56 überschrieben,
um drei 16 : 48-Bit-Produkte zu bilden, die in einem 96-Bit-
Resultatregister gemischt werden. Die unteren 48 Bits des
Resultats und der Exponent werden (unter Erhöhung, falls negativ)
in das durch den Markierer j bezeichnete Register
überschrieben.
8. Gleitkomma-Einzelstellenmultiplikation von Xj mal Xk nach
Xi: In diesem Fall wird das obere Halbresultat aus Beispiel 7
in das durch den Markierer i bezeichnete Register eingegeben.
9. Ganzzahlenprodukt aus Xj mal Xk nach Xj: Dieses Beispiel
ist ähnlich wie Beispiel 7, nur mit dem Unterschied, daß der
arithmetische Exponentenabschnitt der Gleitkommaeinheit nicht
benutzt wird und die unteren 64 Bits des von der Gleitkomma-
Recheneinheit gelieferten 96-Bit-Produkts in das mit j bezeichnete
Register eingelesen werden.
10. Ganzzahl-Addition oder -Subtraktion Xj und K nach Xj
oder Xi: In diesen Fällen wird die Programmkonstante (K) vom
Register 95 in das Register 64 eingelesen (mit Erhöhung, falls
eine Subtraktion durchgeführt werden soll), und die in dem
mit j bezeichneten Register enthaltenen Daten werden in das
Register 63 eingelesen. Die Inhalte der Register 63 und 64
werden durch die Steuerungen 57 mit erweiterter Mantisse
addiert, und das Resultat wird je nach Fall in das durch den
Markierer j oder i bezeichnete Register eingegeben.
11. Ganzzahlen-Differenz von Null minus Xk nach Xj: In diesem
Fall wird das Komplement der Daten in dem mit k bezeichneten
Register über die Komplementschaltung in das Register 64
eingelesen, und das Resultat wird durch die Ganzzahlen-
Addiersteuerungen 57 zu allen Nullen hinzuaddiert und schließlich
in das mit j bezeichnete Register eingegeben. Ein etwaiger
Überlauf wird zu einem anderen, benachbarten, mit Xi
bezeichneten Register übertragen.
12. Ganzzahlige Summe oder Differenz aus Xj und Xk nach Xi:
In diesen Fällen werden die in dem mit j bezeichneten Register
enthaltenen Daten in das Register 63 eingelesen, während
die Daten in dem mit k bezeichneten Register (im Fall
einer Subtraktionsoperation erhöht) in das Register 64 eingegeben
werden. Die Inhalte der Register 63 und 64 werden
durch die Ganzzahlen-Addiersteuerungen 57 addiert, und das
Resultat wird in das durch den Markierer i bezeichnete Register
eingegeben.
13. Sprung- oder Aufruf-Unterprogramm bei P+K: In diesem
Fall wird die gültige Programmfolge zugunsten einer neuen
Folge beendet. Die Programmadresse (P) wird vom Register 81
über den Kanal 66 zum Register 63 überschrieben, und die Programmkonstante
K wird vom Register 95 über den Kanal 73 zum
Register 64 übermittelt. Die Inhalte der Register 63 und 64
werden in Ganzzahl-Addiersteuerungen 57 addiert, worauf das
Ergebnis über die Abschnitte RA und RB des Registers 50 zum
Register 81 zurück überschrieben wird. Wenn sich die neue
Adresse im Kartensatz 77 befindet, kann der Befehl auf vorher
beschriebene Weise ausgegeben werden. Ist dies nicht der
Fall, so wird das "außerhalb des Stapels"-Fehlerkennzeichen
100 gesetzt, und die Befehle werden auf beschriebene Weise
vom Speicher abgerufen.
14. Sprung nach P+K, wenn Xj innerhalb des Bereichs ist
oder nicht: Diese Befehle lassen die Programmfolge (wie in
Beispiel 13 beschrieben) auf P+K springen, wenn Xj innerhalb
des Bereichs liegt (oder entsprechend dem Befehl nicht
im Bereich ist). Wenn die Verzweigungsbedingung nicht vorliegt,
d. h. wenn Xj außerhalb des Bereichs (oder ggf. im Bereich)
liegt, ignoriert die Datenverarbeitungseinheit den
Befehl und fährt mit der gültigen Programmadressenfolge fort.
Hierbei werden die Inhalte des durch den Markierer j bezeichneten
Registers zur Bestimmung des Sprungzustands auf Überlauf
("außerhalb des Bereichs") in jedem der drei folgenden
Sinne überprüft: Festkommaüberlauf, Gleitkommaüberlauf oder
Dividiere-durch-Null-Überlauf. Ein ähnlicher Befehl kann für
Bedingungen gegeben werden, in denen der Inhalt des Registers
Xj gleich oder ungleich±0 ist, oder wenn der Inhalt des Registers
Xj positiv oder negativ ist.
15. Verzweigungs-Rückwärts um i Worte, wenn Xj<Xk: Dieser Befehl
beendet die gültige Programmfolge und bewirkt eine Rücksprungverzweigung
für die Zahl der durch den Markierer i angegebenen
Worte, wenn der Inhalt des durch j markierten Registers
kleiner ist als der Inhalt des durch k markierten Registers.
Genauer gesagt, werden die Inhalte der Register Xj
und Xk zu den Registern 63 und 64 überschrieben und subtrahiert.
Wenn Xj-Xk positiv ist, ist die Verzweigungsbedingung
nicht erfüllt, so daß die gültige Programmadressenfolge
fortdauert. Ist dagegen Xj-Xk negativ, so ist diese Bedingung
erfüllt, und i wird von der Programmadresse subtrahiert.
Nachdem die neue Adresse P-i erhalten worden ist, wird
der Befehl auf die vorher in Verbindung mit den Stapel- oder
ggf. Stapel-externen Adressen angegebene Weise ausgegeben.
16. Aufruf für Unterprogramm: Ein Unterprogramm kann an
einer durch die Programmkonstante (K) im Register 95 spezifizierten
Adresse oder von den Registern 50 an einem im
Aufrufbefehl durch einen Markierer k bezeichneten Register
aufgerufen werden. In jedem Fall wird die neue Adresse zum
Register 64 übermittelt und über die Abschnitte RA und RB
des Registers 50 zum Register 81 überschrieben, um auf die
erwähnte Weise auf die Schaltung gemäß Fig. 3 einzuwirken.
Auf ähnliche Weise werden Programmbibliotheken an Adressen
aufgerufen, die durch die Programmkonstante (K) oder von Daten
im betreffenden Register Xk bestimmt werden.
17. Ausgänge: Diese Befehle unterbrechen die gültige Programmfolge
und leiten eine neue Folge ein. In Unterprogramm-
und Programmbibliothekausgängen wird ein Sprung auf Xj+K
durchgeführt, indem die Daten in dem durch den Markierer j
des Befehls bezeichneten Register den von der Programmkonstante
im Register 95 getragenen Daten hinzuaddiert werden
und auf die vorher, insbesondere in Beispiel 14 beschriebene
Weise ein Sprung auf diese Adresse durchgeführt wird. Ein
Austausch-Ausgangbefehl beendet die gültige Programmfolge mit
einem Austauschsprung auf die Absolutadresse des Austauschpakets.
In diesem Fall wird weder vom Datenspeicher-Bezugsgruppenbit
111 noch vom Programmbezugs-Fehlerkennzeichen 110
(Fig. 3) ein Gattersignal geliefert, so daß die Bezugsadresse
im Register 113 der Absolutadresse des Austauschpakets nicht
hinzuaddiert wird.
18. Speichere Daten von Xj: Die Daten können im Speicher 34
(über den Kanal 99) von einem durch den Markierer j des Speicherbefehls
bezeichneten Register gespeichert werden. In diesem
Fall wird die Speicher-Adresse, an welcher die Daten gespeichert
werden sollen, zum Teil entweder durch die Programmkonstante
(K) vom Register oder durch die Adresse, welche
in dem durch den Markierer k des Befehls bezeichneten Register
gespeichert ist, gesteuert, je nachdem, was gewünscht
wird. In jedem Fall wird die Speicheradresse (K oder Xk)
durch das Register 64, die Abschnitte RA und RB der Register
50, durch das Register 81 und die Schaltung gemäß Fig. 3
hindurchgeleitet, um der Bezugsadresse im Register 113 hinzuaddiert
zu werden (durchgeschaltet durch das Datenspeicher-
Bezugsgruppenbit 111). Die kombinierte Adresse bestimmt die
Absolutadresse im Speicher zur Speicherung von Daten. Die
Daten aus jedem der sechzehn X-Register 50 können unter Anwendung
dieses Verfahrens in den Speicher 34 eingeschrieben
werden.
19. Speichere Daten von Xi: In diesen Fällen können die Daten
von jedem X-Register 16 durch Markierung dieses Registers mit
einem Markierer i gespeichert werden. Die Speicheradresse im
Speicher 34 wird durch Addieren des Inhalts eines mit j markierten
Registers entweder mit einer Programmkonstante (K)
oder mit dem Inhalt eines mit k markierten Registers gebildet.
Die resultierende Adresse, welche die Absolutadresse des
Speicherorts bildet, wird zum X-Register 00, zum Austausch
parameter-Wortregister 61 und dann zum Bezugsadressenregister
113 gemäß Fig. 3 geleitet. Die Absolutspeicheradresse im Register
113 wird dann auf das vom Datenspeicher-Bezugsgruppenbit
gelieferte Durchschalt- oder Gattersignal hin zur Speicherzugriffssteuerung
128 überschrieben.
20. Auslesen von Daten nach Xj: In diesen Fällen können die
Daten über den Kanal 65 aus dem Speicher 34 in ein mit j markiertes
Register eingelesen werden. Die Position der Ausgabedaten
im Speicher 34 wird dadurch, daß die Bezugsadresse im
Register 113 entweder zu der im Register 95 durch die Programmkonstante
(K) spezifizierten Adresse addiert wird, oder aus dem
Inhalt eines mit k markierten Registers bestimmt, wie dies
vorher beschrieben wurde. Es ist möglich, die Befehle dieses
Beispiels 20 mit denen des Beispiels 18 zu kombinieren
und einen einzigen Befehl zu bilden, der ein Datenwort von
einer Programmspeicher-Feldadresse in ein bestimmtes Register
Xj eingibt, und den ursprünglichen Inhalt dieses Registers
Xj an der gleichen Programmspeicher-Feldadresse im
Speicher zu speichern.
21. Auslesen des Programms nach Xj: Diese Befehle ermöglichen
ein Auslesen eines Datenworts aus einer Absolutadresse
im Speicher 34. Wie vorher erwähnt, kann die Adresse entweder
von der Programmkonstante (K) im Register 95, vom Inhalt
eines bestimmten Xk-Registers oder von einer Adresse bestimmt
werden, die durch Addieren von K zur Programmadresse
(P) im Register 81 abgeleitet wurde. Sofern nicht das Daten
speicher-Bezugsgruppenbit 111 gesetzt ist, wird die Bezugsadresse
im Register 113 nicht der abgeleiteten Adresse hinzuaddiert.
22. Übertrage nach Xj: Es ist möglich, verschiedene Worte zu
einem mit j markierten Register zu übertragen, indem das Wort
durch das Register 64 geleitet wird. Auf diese Weise können
die Austauschadresse vom Register 61, die Programmkonstante
K vom Register 95, eine Addition der Programmkonstante und
der Programmadresse vom Register 81 oder sogar ein ausgewählter
Markierer k in einem ausgewählten X-Register gespeichert
werden.
23. Umspeichere Xk nach Xj: Hierbei wird das Wort in dem
durch den Markierer k bezeichneten Register durch das Register
64 herausgelesen und in das mit j markierte Register umgespeichert.
Wenn für das Wort das Komplement gebildet werden
soll, geschieht dies in der Komplementschaltung 69 vor der
Eingabe in das Register 64.
24. Verschiebe Xj um Xk: Dabei wird das Wort in dem mit j
markierten Register zum Register 63 herausgelesen, und das
Verschiebewort in dem mit k markierten Register wird zum Register
64 herausgelesen. Eine Verschiebung (entweder nach
links oder nach rechts, gemäß Bestimmung durch den Befehlskode
F) wird durch die Schiebesteuerungen 57 durchgeführt,
und das Resultat wird zu dem mit j markierten Register zurück
übertragen.
25. Ganzzahlige Verschiebung für Xj um n: In diesem Fall wird
das Wort in dem mit j markierten Register in das Register 63
eingelesen, während n in das Register 64 eingelesen wird. Hierbei
besitzt das Befehlsformat die im Beispiel (II) angenommene
Struktur, so daß n eine ganze Zahl aus 6 Bits, bestimmt
durch 2 Bits von der Position des Markierers i und 4 Bits von
der Position des Markierers k des Befehls, darstellt. Eine
Verschiebung nach links oder rechts erfolgt auf die in Beispiel
24 angegebene Weise.
26. Austasten oder Sicherstellen von n Bits von Xj: Hierbei
wird das Wort in dem mit j markierten Register in das Register
63 eingelesen, und Einsen werden in das Register 64 für
n Stellen eingelesen. Für Sicherstellungsoperationen schalten
die Einsen im Register 64 die Daten im Register 63 zur
Speicherung im Register Xj durch. Für Austastoperationen schalten
die Nullen im Register 64 die Daten im Register 63 zur
Speicherung im Register Xj durch.
27. Belegungszählung Xk nach Xj: Bei diesem Befehl wird ein
Operand aus einem durch den Markierer bezeichneten Register
50 in das Register 64 eingelesen, die Zahl der 1-Bits im
Operanden in den Boole′schen Schaltungen 57 gezählt und die
Zählung in ein mit j markiertes Register 50 eingegeben. Wenn
hierbei Xk alle 64 1-Bits enthält, ist die Xj eingegebene
Zählung die Dezimalzahl 64 (01000000); wenn Xk alle 0-Bits
enthält, ist die Xj eingegebene Zählung 0.
28. Auffächerungskoeffizient von Xj nach Xk: Bei diesem Befehl
wird ein aus 64 Bits bestehender Gleitkomma-Operand aus
einem mit j bezeichneten X-Register 50 in ein Register 63
eingelesen, um die nicht dargestellten Auffächerungssteuerungen
aufzuspreizen, während der 48-Bit-Koeffizient und eine
16-Bit-Koeffizient-Vorzeichenverlängerung in das mit k markierte
X-Register 50 eingespeist werden (vgl. Fig. 8).
29. Aufspreizexponent von Xj nach Xk: Bei diesem Befehl wird
ein aus 64 Bits bestehender Gleitkomma-Operand von einem mit
j bezeichneten X-Register in ein Register 63 eingelesen, um
eine Aufspreizung auf die in Beispiel 28 beschriebene und in
Fig. 9 dargestellte Weise durchzuführ 08207 00070 552 001000280000000200012000285910809600040 0002002463200 00004 08088en. Der Exponent des
Operanden erfährt eine Vorzeichenverlängerung oder -erweiterung
und wird in das Register Xk eingegeben. Falls Xj positiv
ist, wird das Komplement des signifikantesten Bits des Exponenten
nach Xk umgespeichert. Ist Xj negativ, so wird das
Komplement der 12 unbedeutendsten Bits des Exponenten nach
Xk umgespeichert.
30. Verdichtungs-Koeffizient Xk und -Exponent Xj nach Xk:
Infolge dieses Befehls wird ein Koeffizient-Operand vom Xk-
Register 50 zum Register 64 und ein Exponenten-Operand vom
Xj-Register 50 zum Register 63 herausgelesen, und diese Operanden
werden zu einem 64-Bit-Gleitkommawort verdichtet, wobei
das Resultat in das Xk-Register 50 eingespeichert wird
(vgl. Fig. 10). Dabei ist zu beachten, daß für die dreizehn
unsignifikantesten Bits des Exponenten das Komplement
gebildet wird, wenn das Xk-Vorzeichenverlängerungsbit negativ
ist, während für das signifikanteste Bit des Exponenten
das Komplement gebildet wird, wenn das Xk-Vorzeichenverlängerungsbit
positiv ist. Das "Außer-Bereich"-Fehlerkennzeichen
im Resultat wird auf das Vorzeichenbit gesetzt. Zum
Normalisieren des Ergebnisses kann auf diesen Befehl ein
Gleitkomma-Addierbefehl folgen, welcher dieses Resultat zu
Null addiert; vgl. Beispiel 5.
31. Überwachungsbetriebsart: Dies ist ein Systemzustand, bei
dem eine Datenverarbeitungseinheit in einer Überwachungsbetriebsart
(mit gesetztem Fehlerkennzeichen für diese Betriebsart)
ein Systemaufruf-Fehlerkennzeichen setzen kann, welches
einen Austausch aller nicht in der Überwachungsbetriebsart
arbeitenden Datenverarbeiter bewirkt, um deren Austauschadressen
in ihrem Register 103 auszutauschen. Der Zustand wird
durch ein Freimachen des Systembetriebsart-Fehlerkennzeichen
beendet. Während dieses Austauschzustands wird ein Block von
auf einem Eingang/Ausgang-Kanal eingehenden Daten in fortlaufenden
Adressenpositionen im Speicher 34 gespeichert, und
zwar beginnend mit einer durch ein Xk-Datenwort bestimmten
Absolutadresse. Der Datenblock kann aus einem oder aus mehreren
Worten bestehen, deren Länge durch die Kanalwahl bestimmt
wird. Teilweise zusammengesetzte 64-Bit-Worte werden mit Nullen
aufgefüllt. Ebenso kann ein entsprechender Ausgangsbefehl
ausgegeben werden, welcher die Herauslesung eines Datenblocks
aus dem Speicher auf einem Eingang/Ausgang-Kanal bewirkt.
32. Unterbrechungsmarken: Jedes beliebige oder alle der 20
Bits des Verriegelungs-Registers 40 können gesetzt oder von
den unteren 20 Bits eines mit k markierten X-Registers gelöscht
werden. Zum Setzen oder Stellen des Verriegelungs-Registers
setzen die Einsen im Register Xk entsprechende Bits
im Verriegelungs-Register. Zum Löschen des Verriegelungs-Registers
löschen die Einsen im Register Xk entsprechende Bits
im Verriegelungs-Register, wobei die Nullen im Register Xk
die im Verriegelungs-Register gesetzten Bits nicht beeinträchtigen.
Der Inhalt des Verriegelungs-Registers kann in
jedes beliebige, durch j markierte Register 50 eingelesen
werden.
33. Einlesen von Taktimpulsen nach Xj: Dieser Befehl, der
zur Bestimmung der zwischen ausgewählten Punkten bei der
Programmdurchführung verstrichenen Zeit benutzt wird, wird
durch Einlesen des augenblicklichen oder gültigen Inhalts
des nicht dargestellten, inneren Echtzeittaktgebers in die
oberen 44 Bits des mit j markierten X-Registers durchgeführt.
Mit der Erfindung wird somit ein sog. Multi-Processor-Rechnersystem
geschaffen, bei dem jede Datenverarbeitungseinheit
eine Anzahl von "Universal"-Registern aufweist, die in einer
beliebigen von mehreren Betriebsarten zu arbeiten vermögen,
wobei eine Verriegelungssteuerung zur Überschreibung von Daten
und Verfahrenssteuersignalen zwischen diesen Einheiten,
ohne sie durch den Haupt-Speicher zu leiten, vorgesehen ist.
Ein Vorteil der Erfindung besteht in einer Speicher-Zugriffstechnik,
die durch Kombination einer Bezugsadresse eines Maschinenprogramms
mit einer Sprungaustauschadresse durchgeführt
wird, um die Absolutadresse der herauszugreifenden Daten
abzuleiten. Das System kann unmittelbar auf einer Absolutadresse
arbeiten und dabei die Maschinenprogramm-Bezugsadresse
ignorieren.
Bezüglich der durch die speziell in Fig. 3 veranschaulichte
Vorrichtung durchgeführten Adressiertechnik sei angenommen,
daß ein Maschinenprogramm eine Absolutbezugsadresse RA R besitzt,
der, wie in Fig. 4 graphisch dargestellt, eine bestimmte
Stelle im Speicher 34 zugeordnet ist. Weiter sei angenommen,
daß andere Abschnitte des Speichers Festprogrammbibliotheken
(mit Absolutadresse LA) sowie ein Unterprogramm
mit einer Absolutadresse SA aufweisen. Gemäß Fig. 3 ist die
Maschinenprogramm-Bezugsadresse (RA) stets im Register 113
enthalten. Diese Adresse ist z. B. die Absolutadresse der Anfangsposition
des Maschinenprogramms. Wenn Befehle aus dem
Speicher aufgerufen werden sollen (z. B. bei einem Stapel-externen
Bibliothekaufruf oder in Sprungaustauschfällen, oder
wenn eine Herauslese- oder Einschreibefunktion durchgeführt
werden soll), ist die Bezugsadresse (RA) plus der von der
Wählschaltung 106 weitergeschalteten Zählung die zum Speicher
überschriebene Adresse. Im Fall von Stapel-externen Befehlen
wird z. B. die Programmadresse durch das Register 105
und die Schaltung 114 ergänzt, um die Zählung in der Wählschaltung
106 weiterzuschalten. Wenn die erste Programmadresse
0000 ist, wird somit die Zählung, ergänzt durch 0001, 0010,
0011 usw., zur Bezugsadresse (RA) hinzuaddiert und zum Speicher
34 überschrieben, um die laufende Befehle des Maschinenprogramms
zu erlangen. Auf ähnliche Weise wird bei Sprungfällen
dem Register 105 ein Kode eingegeben, welcher die Relativadresse
des Austauschpakets zum Maschinenprogramm angibt. Diese
Adressen werden zusammenaddiert und bilden die Absolutadresse
des Austauschpaket-Unterprogramms (SA). Soweit es die
Datenverarbeitungseinheit betrifft, wird jedoch nur die Relativadresse
des Austauschpakets benutzt, d. h. derjenige Adressenwert,
welcher angibt, wie weit entfernt das Maschinenprogramm
und das Unterprogramm im Speicher 34 angeordnet sind.
Beim Aufrufen einer Festbibliothek wird jedoch die Absolutadresse
der Bibliothek in das Register 105 eingegeben und unmittelbar
zum Speicher weitergeleitet (nach Ergänzung für
aufeinanderfolgende Befehle). In diesem Fall wird die Bezugsadresse
nicht zu der zum Speicher übermittelten Adresse
hinzuaddiert.
Die "universellen" Merkmale der Register 50 werden dadurch
gewährleistet, daß es sich bei den Registern 50 um die einzigen
für den Programmierer-Operator zugänglichen Register handelt,
die je nach der Art ihres Zugriffs für eine beliebige
von verschiedenen Funktionen benutzt werden können. Außerdem
ist es zulässig, einige dieser Register für Indizierung, andere
für die Adressierung und noch andere für arithmetische
Summierung zu benutzen, was alles simultan geschehen kann.
Mit der Erfindung wird somit eine Rechneranlage geschaffen, bei
welcher ein Speicherzugriff, eine Indizierung und eine Summierung
in einer Mindestzeit möglich sind, während die Fähigkeiten
der einzelnen Bauteile mit maximalem Wirkungsgrad ausgenutzt
werden. Durch die maximale Ausnutzung der Bauteile des
Systems kann außerdem die Gesamtgröße des Systems kleiner gehalten
werden als dies bisher möglich war.
Claims (13)
1. Datenverarbeitungsanlage mit
- - einem Augenblickbefehlswortregister (91) zur Abgabe von Befehlsworten für die Verarbeitung der Daten,
- - einer Einrichtung (56, 57) zur Durchführung arithmetischer Operationen an den Daten unter Verwendung von Registern (50) mit einer Anzahl von einzeln addressierbaren Abschnitten zur Speicherung der Daten,
- - einer Steuereinrichtung (54, 55), die auf die Befehlsworte anspricht,
- - einem Speicher (34),
- - einem Befehlswortstapel (78) zur Aufnahme von Befehlsworten vom Speicher (34) zur Steuerung der Datenverarbeitungsoperationen,
- - einer Speicherzugriffssteuerung (128) zur Konditionierung des Speichers (34) zwecks Übertragung von Befehlsworten zum Befehlswortstapel (78) entsprechend vorbestimmten Zugriffsadressen,
- - einer mit Speicherzugriffssteuerung (128) verbundenen Adressiereinrichtung (102, 106, 107) zur Erzeugung der vorbestimmten Zugriffsadressen und mit Programmadressenregister (81) zur Lieferung einer Programmadresse, welche einzelne Datenverarbeitungsbefehle eines Maschinenprogramms angibt,
- - Bezugsadressenregistern (113) zur Lieferung einer für das Maschinenprogramm kennzeichnenden Bezugsadresse,
- - einem auf die Bezugs- und die Programmadresse ansprechenden Addierer (108) zum Addieren der Bezugsadressen zu mindestens einem Teil der Programmadresse und
- - Gattern zur selektiven Betätigung des Addierers (108),
dadurch gekennzeichnet, daß
- - mit den Registern (50) und der Einrichtung (56, 57) verbundene Mischnetzwerke (53) selektiv Daten von der Einrichtung (56, 57) in adressierte Abschnitte der Register (50) einschreiben,
- - mit den Registern (50) und den Einrichtungen (56, 57) verbundene Verteilernetzwerke (51) Daten aus den adressierten Abschnitten der Register (50) zur Einrichtung (56, 57) auslesen,
- - die an die ersten Befehlswortregister (91), die Mischnetzwerke (53) und Verteilernetzwerke (51) angeschlossene Steuereinrichtung (54, 55) auf die Befehlsworte anspricht, selektiv die Mischnetzwerke (53) zum Einschreiben von Daten in ausgewählte Registerabschnitte des Akkumulators ansteuert und selektiv die Verteilernetzwerke (51) betätigt, um aus ausgewählten Registerabschnitten Daten zur Einrichtung (56, 57) auszulesen,
- - die Misch- und Verteilernetzwerke (53, 51) an den Speicher (34) angeschlossen sind und die Steuereinrichtung (54, 55) in Abhängigkeit von Befehlsworten selektiv einerseits die Mischnetzwerke (53) zum Einschreiben von Daten in ausgewählte Registerabschnitte vom Speicher (34) und andererseits die Verteilernetzwerke (51) zum Herauslesen von Daten aus ausgewählten Registerabschnitten in den Speicher (34) betätigen,
- - das Programmadressenregister (81) mit den Registern (50) verbunden ist, um Programmadressen zu empfangen,
- - das Bezugsadressenregister (113) mit den Registern (50) verbunden ist, um eine Objektprogrammadresse zu empfangen, und
- - die Objektprogrammadressen und die Befehlsprogrammadressen aus dem Speicher abgerufen und in den Registern (50) zur Verarbeitung durch die Bezugsadressenregister (113) und die Programmadressenregister (81) abgespeichert sind.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch
gekennzeichnet, daß jede Programmadresse für einen
einzelnen Befehl des Maschinenprogramm kennzeichnend
und auf die Bezugsadresse bezogen ist und daß
eine erste Inkrementeinrichtung (83) zur stellenmäßigen
Änderung der Programmadresse zwecks Lieferung
aufeinanderfolgender, schrittweise erhöhter Programmadressen
vorgesehen ist, wobei der Addierer
(108) bei Betätigung der Gatter wirksam wird
und die vorbestimmten Zugriffsadressen durch Kombinieren
der Bezugsadressen mit mindestens einem Abschnitt
jeder aufeinanderfolgenden Programmadressen
bildet.
3. Datenverarbeitungsanlage nach Anspruch 2, dadurch
gekennzeichnet, daß ein Austauschadressenregister
(103) zur Lieferung einer Festprogrammadresse, die
für eine Adresse eines Programms repräsentativ ist,
das im Speicher (34) außerhalb der Feldlänge des Maschinenprogramms
gespeichert ist, und eine zweite
Inkrementeinrichtung (127) zur stellenmäßigen Erhöhung
der Festprogrammadresse zur Lieferung schrittweise
aufeinanderfolgender Festprogrammadressen vorgesehen
sind und daß die Gatter den Addierer
(108) zum Durchlassen der aufeinanderfolgenden Festprogrammadressen
zu betätigen vermögen.
4. Datenverarbeitungsanlage nach Anspruch 3, dadurch
gekennzeichnet, daß eine Einrichtung (104, 106) zur
Anlegung der schrittweise geänderten Programmadressen
an den ersten Eingang des Addierers (108) vorgesehen
ist, daß die Gatter UND-Gatter (109) mit zwei
Eingängen und einem Ausgang aufweisen und daß eine
Einrichtung zur Verbindung des Ausgangs des UND-Gatters
mit dem zweiten Eingang des Addierers (108),
eine Einrichtung zur Anlegung der Bezugsadresse an
den ersten Eingang des UND-Gatters (109) und eine
Wähleinrichtung zur selektiven Anlegung eines Aktiviersignals
an den zweiten Eingang des UND-Gatters
(109) vorgesehen sind.
5. Datenverarbeitungsanlage nach Anspruch 4, dadurch
gekennzeichnet, daß die Wähleinrichtung eine dem Befehlswortregister
(91) zugeordnete Ausgabeeinrichtung
(122) zur Ausgabe des Aktiviersignals beim Auftreten
eines Einzelbefehls vom Maschinenprogramm aufweist.
6. Datenverarbeitungsanlage nach Anspruch 4, dadurch
gekennzeichnet, daß die Wähleinrichtung Austauscheinrichtungen
(61) zur Lieferung einer Austauschadresse
aufweist, die für die Relativposition eines
Austauschprogramms außerhalb der Feldlänge des Maschinenprogramms
im Speicher (34) repräsentativ ist
und welche auf die Bezugsadresse bezogen ist, daß
der Addierer (108) auf die Bezugsadresse und die
Austauschadresse anspricht und erstere bei Betätigung
des UND-Gatters (109) zu mindestens einem Teil
der Austauschadresse hinzuaddiert, und daß die Austauscheinrichtung
(61) bei Ausgabe eines Austauschprogramms
durch das Befehlswortregister das Aktiviersignal
an das UND-Gatter (109) liefert.
7. Datenverarbeitungsanlage nach Anspruch 5, dadurch
gekennzeichnet, daß die Wähleinrichtung mit der Ausgabeeinrichtung
(122) und der Austauscheinrichtung
(61) verbundene ODER-Gatter (112) zur Anlegung der
Aktiviersignale von diesen beiden Einrichtungen an
den zweiten Eingang des UND-Gatters (109) aufweist.
8. Datenverarbeitungsanlage nach Anspruch 1, gekennzeichnet
durch
einen mit dem Programmadressenregister (81) verbundenen Adressen-Stapel (77) mit einer oder mehreren Programmadressen, die den im Befehlswortstapel (78) gespeicherten Befehlsworten zugeordnet sind,
in der Datenverarbeitungsanlage angeordnete X-Register (50) zur Speicherung von Daten, Einrichtungen (82, 84, 85, 86) zur Einspeisung von Daten von den X-Registern (50) in das Programmadressenregister (81)
Stapel-externe Einrichtungen (87, 100), die auf eine Nichtkoinzidenz zwischen den Daten im Programmadressenregister (81) und den Adressen im Adressenstapel (77) ansprechen und ein Aktiviersignal liefern,
und eine auf das Aktiviersignal von den Stapel-externen Einrichtungen (87, 100) ansprechende erste Wähleinrichtung (102) zur Annahme der Daten vom Programmadressenregister (81), wobei die zuletzt genannten Daten zwei Sätze von Bits umfassen, die Steuereinrichtung den mit der ersten Wähleinrichtung (102) verbundenen Addierer (108) zur Aufnahme des ersten Bitsatzes aufweist, welcher in Abhängigkeit von der Betätigung der Gatter die Bezugsadresse (113) zum ersten Bitsatz binär hinzuzuaddieren vermag, und Speicherzugriffssteuerung (128) mit der ersten Wähleinrichtung (102) und dem Addierer (108) verbunden ist, um das Ausgangssignal vom Addierer (108) und den zweiten Bitsatz aufzunehmen.
einen mit dem Programmadressenregister (81) verbundenen Adressen-Stapel (77) mit einer oder mehreren Programmadressen, die den im Befehlswortstapel (78) gespeicherten Befehlsworten zugeordnet sind,
in der Datenverarbeitungsanlage angeordnete X-Register (50) zur Speicherung von Daten, Einrichtungen (82, 84, 85, 86) zur Einspeisung von Daten von den X-Registern (50) in das Programmadressenregister (81)
Stapel-externe Einrichtungen (87, 100), die auf eine Nichtkoinzidenz zwischen den Daten im Programmadressenregister (81) und den Adressen im Adressenstapel (77) ansprechen und ein Aktiviersignal liefern,
und eine auf das Aktiviersignal von den Stapel-externen Einrichtungen (87, 100) ansprechende erste Wähleinrichtung (102) zur Annahme der Daten vom Programmadressenregister (81), wobei die zuletzt genannten Daten zwei Sätze von Bits umfassen, die Steuereinrichtung den mit der ersten Wähleinrichtung (102) verbundenen Addierer (108) zur Aufnahme des ersten Bitsatzes aufweist, welcher in Abhängigkeit von der Betätigung der Gatter die Bezugsadresse (113) zum ersten Bitsatz binär hinzuzuaddieren vermag, und Speicherzugriffssteuerung (128) mit der ersten Wähleinrichtung (102) und dem Addierer (108) verbunden ist, um das Ausgangssignal vom Addierer (108) und den zweiten Bitsatz aufzunehmen.
9. Datenverarbeitungsanlage nach Anspruch 8, gekennzeichnet
durch eine Befehlsaufruf-Adresseneinrichtung
(105) zur Aufnahme von Daten vom Programmadressenregister
(81) zwecks Überschreibung der Daten
zur ersten Wähleinrichtung (102) und eine Inkrementeinrichtung
(114) zum stellenmäßigen Ändern der
Daten in der Befehlsaufruf-Adresseneinrichtung
(105) zwecks Lieferung von in Inkrementabständen
aufeinanderfolgenden Daten.
10. Datenverarbeitungsanlage nach Anspruch 9, gekennzeichnet
durch eine Austauscheinrichtung (61, 103)
zur Lieferung einer Austauschadresse, die für die
Relativposition eines Austauschprogramms außerhalb
der Feldlänge des Bezugsprogramms im Speicher (34)
repräsentativ und auf die Bezugsadresse bezogen
ist, eine zweite, auf die Stapel-externe Einrichtung
(87, 100) ansprechende Wähleinrichtung (101) zur
Überschreibung der Austauschadressen von der Austauscheinrichtung
(103) zur Befehlsaufruf-Adresseneinrichtung
(105), einen der Austauscheinrichtung
(103) zugeordneten Inkrementzähler zum Zählen der
Zahl der Datenüberschreibungen von der Austauscheinrichtung
(103) zur Befehlsaufruf-Adresseneinrichtung
(105) und einen weiteren Addierer (104) zum Addieren
der Zählung im Inkrementzähler zu den Daten
in der Befehlsaufruf-Adresseneinrichtung (105).
11. Datenverarbeitungsanlage nach Anspruch 10, dadurch
gekennzeichnet, daß die Gatter ein UND-Gatter (109)
mit einem ersten, mit dem Bezugsadressenregister
(113) verbundenen Eingang und einem zweiten, zum
Empfang eines Aktiviersignals geschalteten Eingang
aufweisen und daß die Austauscheinrichtung (61) ein
Aktiviersignal für das UND-Gatter (109) liefert.
12. Datenverarbeitungsanlage nach Anspruch 11, dadurch
gekennzeichnet, daß die Gatter weiterhin ODER-Gatter
(112) mit einem zum Empfang eines Aktiviersignals
von der Austauscheinrichtung (61) geschalteten
ersten Eingang und einem an den zweiten Eingang
des UND-Gatters (109) angeschlossenen Ausgang aufweisen,
und daß eine dem Befehlswortregister (78,
91) zugeordnete Ausgabesteuerung (122) zur Ausgabe
von Aktiviersignalen beim Auftreten von Befehlen
vom Maschinenprogramm sowie eine den zweiten Eingang
des ODER-Gatters (112) zum Empfang von Aktiviersignalen
von der Ausgabesteuerung (122) schaltende
Einrichtung (111) vorgesehen sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US00339237A US3833889A (en) | 1973-03-08 | 1973-03-08 | Multi-mode data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2463200C2 true DE2463200C2 (de) | 1990-01-18 |
Family
ID=23328107
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2463200A Expired - Fee Related DE2463200C2 (de) | 1973-03-08 | 1974-03-05 | |
DE2410491A Granted DE2410491A1 (de) | 1973-03-08 | 1974-03-05 | Datenverarbeitungsanlage |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2410491A Granted DE2410491A1 (de) | 1973-03-08 | 1974-03-05 | Datenverarbeitungsanlage |
Country Status (7)
Country | Link |
---|---|
US (1) | US3833889A (de) |
JP (1) | JPS5740532B2 (de) |
CA (1) | CA1000868A (de) |
DE (2) | DE2463200C2 (de) |
FR (1) | FR2221053A5 (de) |
GB (3) | GB1450919A (de) |
NL (1) | NL184546C (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4073005A (en) * | 1974-01-21 | 1978-02-07 | Control Data Corporation | Multi-processor computer system |
JPS5194734A (en) * | 1975-02-19 | 1976-08-19 | Tajushorisochino enzanseigyohoshiki | |
US4247893A (en) * | 1977-01-03 | 1981-01-27 | Motorola, Inc. | Memory interface device with processing capability |
US4272829A (en) * | 1977-12-29 | 1981-06-09 | Ncr Corporation | Reconfigurable register and logic circuitry device for selective connection to external buses |
US4276594A (en) * | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
GB2036392A (en) * | 1978-04-21 | 1980-06-25 | Ncr Co | Computer system having enhancement circuitry for memory accessing |
US4257097A (en) * | 1978-12-11 | 1981-03-17 | Bell Telephone Laboratories, Incorporated | Multiprocessor system with demand assignable program paging stores |
US4698746A (en) * | 1983-05-25 | 1987-10-06 | Ramtek Corporation | Multiprocessor communication method and apparatus |
US4720779A (en) * | 1984-06-28 | 1988-01-19 | Burroughs Corporation | Stored logic program scanner for a data processor having internal plural data and instruction streams |
DE3501968A1 (de) * | 1985-01-22 | 1986-07-24 | Siemens AG, 1000 Berlin und 8000 München | Steuerungseinrichtung fuer eine mehrachsige werkzeugmaschine |
ATE80480T1 (de) * | 1985-02-05 | 1992-09-15 | Digital Equipment Corp | Vorrichtung und verfahren zur zugriffsteuerung in einer mehrcachespeicherdatenverarbeitungsanordnung. |
US4754398A (en) * | 1985-06-28 | 1988-06-28 | Cray Research, Inc. | System for multiprocessor communication using local and common semaphore and information registers |
JP2522248B2 (ja) * | 1986-05-24 | 1996-08-07 | 株式会社日立製作所 | 記憶装置アクセス機構 |
US5050070A (en) * | 1988-02-29 | 1991-09-17 | Convex Computer Corporation | Multi-processor computer system having self-allocating processors |
US5159686A (en) * | 1988-02-29 | 1992-10-27 | Convex Computer Corporation | Multi-processor computer system having process-independent communication register addressing |
US5142638A (en) * | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
US5526487A (en) * | 1989-02-09 | 1996-06-11 | Cray Research, Inc. | System for multiprocessor communication |
US5099418A (en) * | 1990-06-14 | 1992-03-24 | Hughes Aircraft Company | Distributed data driven process |
US5206952A (en) * | 1990-09-12 | 1993-04-27 | Cray Research, Inc. | Fault tolerant networking architecture |
JP2625277B2 (ja) * | 1991-05-20 | 1997-07-02 | 富士通株式会社 | メモリアクセス装置 |
US5420856A (en) * | 1991-06-18 | 1995-05-30 | Multimedia Design, Inc. | High-speed multi-media switching system |
US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US6854003B2 (en) | 1996-12-19 | 2005-02-08 | Hyundai Electronics America | Video frame rendering engine |
US6430589B1 (en) | 1997-06-20 | 2002-08-06 | Hynix Semiconductor, Inc. | Single precision array processor |
ATE557342T1 (de) | 1998-08-24 | 2012-05-15 | Microunity Systems Eng | Prozessor und verfahren zur matrixmultiplikation mit einem breiten operand |
US7932911B2 (en) * | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
US7185177B2 (en) * | 2002-08-26 | 2007-02-27 | Gerald George Pechanek | Methods and apparatus for meta-architecture defined programmable instruction fetch functions supporting assembled variable length instruction processors |
US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2217565A1 (de) * | 1971-04-13 | 1972-12-14 | Sperry Rand Corp | Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US26171A (en) * | 1859-11-22 | Improvement in grain-binders | ||
NL136895C (de) * | 1960-03-29 | |||
NL267513A (de) * | 1960-07-25 | |||
US3245047A (en) * | 1962-09-19 | 1966-04-05 | Ibm | Selective data transfer apparatus |
US3346851A (en) * | 1964-07-08 | 1967-10-10 | Control Data Corp | Simultaneous multiprocessing computer system |
US3544965A (en) * | 1966-03-25 | 1970-12-01 | Burroughs Corp | Data processing system |
US3480914A (en) * | 1967-01-03 | 1969-11-25 | Ibm | Control mechanism for a multi-processor computing system |
US3735360A (en) * | 1971-08-25 | 1973-05-22 | Ibm | High speed buffer operation in a multi-processing system |
-
1973
- 1973-03-08 US US00339237A patent/US3833889A/en not_active Expired - Lifetime
- 1973-10-15 CA CA183,410A patent/CA1000868A/en not_active Expired
- 1973-11-13 JP JP48127647A patent/JPS5740532B2/ja not_active Expired
- 1973-11-13 GB GB3103575A patent/GB1450919A/en not_active Expired
- 1973-11-13 GB GB5259773A patent/GB1450918A/en not_active Expired
- 1973-11-13 GB GB3103675A patent/GB1450920A/en not_active Expired
- 1973-12-03 NL NLAANVRAGE7316537,A patent/NL184546C/xx not_active IP Right Cessation
- 1973-12-12 FR FR7344431A patent/FR2221053A5/fr not_active Expired
-
1974
- 1974-03-05 DE DE2463200A patent/DE2463200C2/de not_active Expired - Fee Related
- 1974-03-05 DE DE2410491A patent/DE2410491A1/de active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2217565A1 (de) * | 1971-04-13 | 1972-12-14 | Sperry Rand Corp | Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet |
Non-Patent Citations (2)
Title |
---|
DE-Z.: "Elektronische Rechenanlagen", 1971, H. 3, S. 124-128 * |
US-B.: S. Husson "Microprogramming", Prentice Hall Inc., 1970, S. 219-234 u. S. 415-417 * |
Also Published As
Publication number | Publication date |
---|---|
DE2410491A1 (de) | 1974-09-26 |
GB1450919A (en) | 1976-09-29 |
CA1000868A (en) | 1976-11-30 |
NL7316537A (de) | 1974-09-10 |
US3833889A (en) | 1974-09-03 |
NL184546B (nl) | 1989-03-16 |
NL184546C (nl) | 1989-08-16 |
DE2410491C2 (de) | 1989-03-02 |
JPS49122638A (de) | 1974-11-22 |
GB1450920A (en) | 1976-09-29 |
GB1450918A (en) | 1976-09-29 |
AU6287273A (en) | 1975-05-29 |
FR2221053A5 (de) | 1974-10-04 |
JPS5740532B2 (de) | 1982-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2463200C2 (de) | ||
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE2506117C2 (de) | Adreßumsetzungseinrichtung zur Bildung einer absoluten Adresse | |
DE1424732C3 (de) | Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher eineT Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
DE2515696A1 (de) | Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher | |
DE1499288B2 (de) | Datenverarbeitungsanlage | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE1524102B2 (de) | Elektronische, aus baueinheiten aufgebaute datenverarbeitungsmaschine | |
DE4220698A1 (de) | System zur dynamischen verknuepfung modularer abschnitte von computersoftware | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2912073C2 (de) | ||
DE2055522B2 (de) | Anordnung zur eingabe von daten in eine digitale datenverarbeitungsanlage | |
DE3013064C2 (de) | Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher | |
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE2558417A1 (de) | Datenverarbeitungssystem | |
DE69031529T2 (de) | Speichersteuerungssystem | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE2817757A1 (de) | Datenverarbeitungssystem | |
DE69808700T2 (de) | Cachespeichervorrichtung | |
EP0010135A1 (de) | Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen | |
DE2642251A1 (de) | Steuerungseinrichtung und betriebsverfahren fuer eine rechnergefuehrte steuerung bei einer numerisch gesteuerten maschine, beispielsweise einer werkzeugmaschine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
Q172 | Divided out of (supplement): |
Ref country code: DE Ref document number: 2410491 |
|
8110 | Request for examination paragraph 44 | ||
8181 | Inventor (new situation) |
Free format text: CRAY, SEYMOUR ROGER, CHIPPEWA FALLS, WIS., US |
|
AC | Divided out of |
Ref country code: DE Ref document number: 2410491 Format of ref document f/p: P |
|
AC | Divided out of |
Ref country code: DE Ref document number: 2410491 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |