DE2410491A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2410491A1
DE2410491A1 DE2410491A DE2410491A DE2410491A1 DE 2410491 A1 DE2410491 A1 DE 2410491A1 DE 2410491 A DE2410491 A DE 2410491A DE 2410491 A DE2410491 A DE 2410491A DE 2410491 A1 DE2410491 A1 DE 2410491A1
Authority
DE
Germany
Prior art keywords
address
program
register
gate
exchange
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2410491A
Other languages
English (en)
Other versions
DE2410491C2 (de
Inventor
Seymour Roger Cray
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Control Data Corp
Original Assignee
Control Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Control Data Corp filed Critical Control Data Corp
Publication of DE2410491A1 publication Critical patent/DE2410491A1/de
Application granted granted Critical
Publication of DE2410491C2 publication Critical patent/DE2410491C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Description

Die Erfindung bezieht sich, auf elektronische Ee ohne ranlagen und betrifft insbesondere eine Datenverarbeitungsanlage zur simultanen Verarbeitung mehrerer Programme, d.h. einen Multi-Processor Computer mit einer Verriegelungssteuerung zwischen den verschiedenen Datenverarbeitungseinheiten zur Steuerung voneinander unabhängiger Rechen- oder Verarbeitungsvorgänge der jeweiligen Datenverarbeitungseinheiten. Weitere Merkmale der Erfindung beziehen sich auf Universalregister, die als Index-, Programmadressen- und Rechen- oder Operanden-Register verwendet werden können, sowie auf eine Adressiertechnik, die sich für Sprungbefehl-TJmspeicherung bzw. -Vermittlung und -Wechsel, Programmoperationen und Zugriff zur Programm- oder Befehlsbibliothek eignet.
Multi-Processor-Rechenanlagen kennzeichnen sich durch die Anordnung einer Anzahl von einzelnen Datenverarbeitungseinheiten, die einem gemeinsamen Speicher zugeordnet sind. Bisher erfolgten die Zuordnung von Verarbeitungsoperationen sowie Steuerung und Datenübertragung zwischen den Verarbeitungseinheiten durch selektive Ansteuerung des gemeinsamen Speichers zur Übermittlung von Daten zu und zwischen den einzelnen Einheiten zwecks Verarbeitung durch diese. Obgleich sich solche Multi-Processor-Rechenanlagen durohge-
Mü/Bl/Ro
- 2
409839/0663
setzt 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, und weil die verarbeiteten Daten, die für die Übermittlung zwischen den einzelnen Einheiten vorgesehen sind, über den Speicher laufen.
Die Rechner-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 Datenverarbeitungsein— heit kann daher bis zu vierundzwanzig Register aufweisen, 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 eineeinen Operation bemessen. Dies bedeutet, daß die Indexregister eine erste, die Adressenregister eine zweite und die Speicher-Register noch eine andere Kapazität besitzen.
Der Erfindung liegt damit die Aufgabe zugrunde, eine Datenverarbeitungseinheit zu schaffen, die eine Anzahl von Registern aufweist, die jeweils selektiv durch Misch- und Verteilernetzwerke betätigt werden, um je nach der Art der Betätigung dieser Misch- und Verteilernetzwerke Indizierungs-, Programmadressierungs- und Speicher-Operationen durchzuführen. Mr den Pail, daß sich solche "Üniversal"-Register bereitstellen lassen, könnte die Gesamtzahl der Register reduziert werden, während dennoch eine größere Zahl von Registern für die einzelnen Funktionen zur Verfügung stehen würde. '
409839/0663
Diese Aufgabe impliziert die Schaffung eines Steuernetzwerks zur selektiven Ansteuerung einer Anzahl von Registern entsprechend einer ausgewählten von mehreren gewünschten Operationsarten. Damit soll der Aufbau einer Multi-Processor-Eeohenanlage 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 Verarbeitungseinheiten, ohne daß eine Zuordnungsinformation durch den Speicher selbst geliefert zu werden braucht, vorgesehen 1st* Auch soll die Möglichkeit bestehen, die zwischen den einzelnen Datenverarbeitungseinheiten zu übertragenden Daten unmittelbar über eine gemeinsame Verriegelungssteuerung anstelle über einen gemeinsamen Speicher zu leiten.
Eine andere, 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 leidlänge des betreffenden Maschinenprogramms durchführen zu können, muß zunächst die Absolutadresse des Programme, 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.
Der Erfindung liegt daher die sich aus der erstgenannten Aufgabe ergebende weitere Aufgabe zugrunde, eine Datenverarbeitungseinheit mit Speicherzugriff-Steuerung zu schaffen, bei
409839/0663
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.
Diese mehrteilige Aufgabe wird erfindungsgemäß durch die in den Patentansprüchen gekennzeichneten Maßnahmen gelöst.
Erfindungsgemäß sind mehrere Datenverarbeitungseinheiten einzeln an einen gemeinsamen Speicher sowie an eine Verriegelungssteuereinrichtung angeschlossen. letztere ordnet die Verarbeitungsoperationen den einzelnen Datenverarbeitungseinheiten zu. Alle Eingang/Ausgang-Steuerungen, Wartungssteuerungen, Großraum- oder Massenspeicher und die Plattendateien sind mit diesem Haupt-Speicher verbunden.
Gemäß einem wesentlichen Merkmal der Erfindung ist eine Rechner-Datenverarbeitungseinheit mit einer Anzahl getrennter Register vorgesehen, die als gemeinsamen Eingang ein Misch-Netzwerk und als gemeinsamen Ausgang ein Verteiler-Netzwerk aufweisen. Mindestens ein Ausgang vom Verteilernetz ist an den Speicher angeschlossen, während zumindest zwei weitere Ausgänge des Verteilernetzes zu den Mischnetzen führen. Eine Programmsteuerung dient zur Steuerung des Zugriffs zu den Registern über die Mischnetze sowie zur Steuerung der Auswahl der Verteilernetze in Abhängigkeit von vorbestimmten Befehlen, so daß die Register selektiv als Indexregister, Programmadressierregister, Rechen- oder Speicherregister oder als beliebige Kombination davon betrieben werden können.
409839/0663
5~ 2A10A91
Ein anderes wichtiges Merkmal der Erfindung bestent in einer Speicherzugriff-Steuerung für eine Datenverarbeitungseinheit, in welcher eine Bezugsadresse bezüglich eines Maschinenprogramms gespeichert ist, wobei diese Steuerung ein Register zur Speicherung einer Austauschadresse und ein Register zur Speicherung einer Programmadresse aufweist. Ein Gatter bzw. eine Torschaltung dient dazu, dem Speicher entweder die Austauschadresse (die durch eine geeignete Inkrement schaltung stellenmäßig erhöht oder erniedrigt wurde) oder die Programmadresse in Kombination mit der Bezugsadresse zuzuführen, wobei die Programmadresse für fortlaufende Adressen stellenmäßig erhöht oder erniedrigt wird.
Im folgenden sind bevorzugte Ausführungsformen der Erfindung anhand der beigefügten Zeichnung näher erläutert. Es zeigen:
Hg. 1 ein Blockschaltbild einer Datenverarbeitungsanlage zur simultanen Verarbeitung mehrerer Programme bzw. eines Multi-Processor-Rechners gemäß einer bevorzugten Ausführungsform der Erfindung,
Hg. 2A, 2B und 2G, in auf die in Pig. 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 dgl. gebundenen Befehlszugriff geeignet ist,
Mg. 4 die Darstellung eines Speichers, welche die Operation eines Zugriffsvorgangs veranschaulicht,
409839/0663
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 Speieherzugriff und
Fig. 8 bis 10 Darstellungen von Datenverdichtungsoperationen auf Gleitkommaformat.
In Fig. 1 ist eine Multi-Processor-Beehneranlage gemäß einer bevorzugten Ausführungsform der Erfindung dargestellt. Diese Hechneranlage 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 Periphergeraten 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-Scale-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
409839/0663
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 Mg. 2A, 2B und 20, die auf die in Pig. 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äß Pig. 2B können die Register außerdem geometrisch in vier mit RA, RB, RO 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 35 - 48 in den Abschnitt RO 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 Pig. 2A allgemein dargestellt ist.
Das Mischnetzwerk 53 weist als Eingänge solche von Gleitkomma-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'sehe Steuerung und eine
409839/0663
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.
Gemaß Pig· 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 Befehlswort-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.
409839/0663
Das Programmadressenregister 81 weist einen Eingang von einem ODER-Gatter 82 auf, das seinerseits Eingänge von einer Plus/Minus-Inkrementsteuerung 83 und ein Verzweigungsadressregister 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 Prograinmadressenregister 81 besitzt Ausgänge zu einer Kakizidenzprüf steue rung 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 Durch schaltsignale 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
409839/0663
anderen vier Bits des 20 Bit-Programmkodes vom Umsetzer 94 geliefert.
Der Umsetzer 94 liefert zudem über einen Kanal 121 ein Aus— gangssignal zu einer Ausgabesteuerung 122, die ihrerseits über einen Kanal 123 ein Ausgangssignal zu einer Datenspeicher-Bezugsgruppe 111 (Fig. 3) sowie Stell- und Frei- oder Durchschaltsignale zu Verriegelungsregistern 40 liefert.
Das Austauschparameter-Wortregister 61 ist an den Ausgang des OO-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 7/ählschaltungen 101 und 102 weisen außerdem Aktiviereingänge vom externen Fehlerkennzeichen 100 auf.
409839/0663
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 "ü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 (Pig. 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 zur Operation mit der dem Speicher 34 zugeordneten Speicherzugriff ssteuerung 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-Pehleranzeige 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
409839/0663
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.
ARBEITSWEISE
Gemäß den Mg. 2A, 2B und 20, 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 Befehlsadressen-Stapelregister 77 und die Befehleworte 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.
STAPEL-GEBUNDENE BEFEHLE
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 Regigistern 50 aktiviert worden sind, um diesen Befehl bestimmte
409839/0663
Verarbeitungsoperationen (z.B. Adressierung, Indizierung oder arithmetische Operation) steuern zu lassen, wird ein aus 20 Bits bestehender Kode über dis 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 Durchschalt-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 Aügenblicksbefehlswort-Register 91.
409839/0663
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.
BEi1EHLSKODESTRUKTUR
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 Pake tbefehl besteht aus einem Befehlskode aus 4, 6 oder 8 Bits und einem oder mehreren Markiererkoden, 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 nocli 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 Markiererkode gesteuert. Im Pail eines Befehls in Form eines Bitpakets besitzt letzteres eines der folgenden Pormate:
I 6 I2 I 4 I 4 ,
409839/0663
P i 2 P j k
4 4 8 4 4
F · η 3 η
β 4 4
J' k
4 4
■ν i ,8 0 K
4 4 20
F j K
20
worin F den Befehlskode, i, 3 und k die Markierer- oder Kennzeichenkode für Operandenquelle und Bestimmung und η eine Konstante bedeuten. Im Fall eines Befehls in form von zwei Bitpaketen steht das folgende Format zur Verfügung:
(iv)
worin K ein 20 Bit-Programmkode für das Parameterregister 62 und/oder das 0perandenregi3ter 64 ist.
Im Fall (i) "besteht somit der Befehl aus einem 4 Bit-Befehlskode, einem 4 Bit-Markierer i, einem 4 Bit-Markierer 3 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 3 und einer 4 Bit-Konstante. Im Fall (iii) besteht der Befehl aus einem 8 Bit-Befehlskode, einem 4 Bit-Markierer 3 und einem 4 Bit-Markierer k. Bei (iv) besteht der Befehl aus einem 4 Bit-Befehlekode, einem 4 Bit-Markierer i, einem 4 Bit-Markierer 3" und einem- 20 Bit-Programmkode. Im Fall (v) besteht der Befehl aus einem 8 Bit-Befehlskode, einem 4 Bit-Markierer 3 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 3 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-Hegistern. Jede Informationseinheit, sowohl Daten als auch Befehle, ist von einem oder mehreren Markierern oder Kennzeichnern (z.B.
A09839/0663
i, j, k) begleitet. Dieser Markierer wird entweder durch, den Registermarkierer 70 oder durch die in den Befehlsworten enthaltenen Markiererkode 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 (J?), 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 (dae durch den Ganazahlen-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
409839/0663
US-PS 3 346 851, insbesondere Spalten 7 ff., hingewiesen, doch ist dabei zu beachten, daß sioh die Operation der Datenverarbeitungseinheit bezüglich der Befehlsworte dabei zumindest in dem Torliegend beschriebenen Ausmaß unterscheidet.
Für jedes der sechzehn X Register 50 ist je ein Reeervier-Fehlerkennzeiohen 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 untersuoht den Befehlskode jedes Befehls zur feststellung der Befehls- odar 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, welche» eine Markierung k (Xk des Registers 08) trägt, herausgelesen und diese Information im Register 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 anschliessendes 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
40 9839/06 63 original inspected
und das Resultat im Register 12 umzuspeiehern, 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 dae 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 yon K wird mit dem Befehl als 20 Bit-Programmkode in das Register 95 eingeschrieben.
MISOH- UND VERTEIIiERNETZWlRKE
Die Mischnetzwerke 53 und die Verteilernetzwerke 51 sind statische logische Schaltnetzwerke, die auf Durchschalt- oder Gattersignale ansprechen, um selektiv ausgewählte Register 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-Markiererkode wirken auf die logischen Netzwerke der Misch-(Verdiehtungs)- und Verteiler-(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 Markiererkode, 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
409839/0663
Markierungen i, j und k. Die 4 Bit-Kode j und k werden vom Umsetzer 94 an das Verteilernetzwerk 51 abgegeben, um logisöhe 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 $atsä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.
BITPAKET-STEÜERUNG
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:
(a)
Cb)
(c)
16 I 16 I 16 32 16 I
32 I I
t 16 I 32 1b I
I 1b I 16 I I I
I 32 I 16 16 !
409839/0663
Die Bitpaket-Steuerung 68 wird von der Augenblioksadresse über, den Koinzidenzprüfer 87 mit einem Eingangssignal beschickt, um EU bestimmen, welohe und wieviele Bitpakete de» Augenbliekswortbefehle 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 Augenblioksbefehlswort-Regiiter 91 aus und sohaltet das UHD-Gatter 92 duroh, um das gewählte 16 Bit-Paket zum Umsetzer 94 zu übertragen* Wenn der Befehl aus twei Bitpaketen besteht, wählt 41· Bitpaket-Steuerung die beiden Bitpakete aus dem Augenblioksbefehlewort-Register 91 aus Und schaltet die UND-Gatter 92 und <fe duroh, um den 12 Bit-Befehl sowie die ersten Tier Bit· der Programmkonstante zum Umsetzer 94- zu übertragen und die letzten 16 Bits der Programmkonstante dem Programmreglster 95 einzugeben. Die ersten Tier Bits der Programmkonetante werden dann Tom Umsetzer 94 turn Register 95 übertragen.
Wenn im Betrieb ein Befehlswort zuerst dem Register 91 eingegeben wird, Überträgt die Bitpaket-Steuerung 88 das erste Bitpaket dieseβ Befehlsworts zum Umsetzer 94 und, wenn das erste Bitpaket aus einem zwei Pakete umfassenden Befehl besteht, das zweit· Bitpaket zum Register 95, während gleichzeitig dl· Inkrementsohaltung 60 einen Schritt weiter«ehaltet. Kaoh der Ausgab· de· ersten Befehls wird die Bitpaket-Steuerung wiederum duroh die Xnkr«m«ntschaltung 60 stellenmltSig um M1M erhöht, um einen Zugriff zum zweiten (oder dritten) Bitpaket zu erreichen· Dieser Vorgang dauert an, bis das gesamte Wert herausgelesen ist.
In manchen Fällen kann es erforderlich sein, ein« Bitpaket-Durohlaufsteuerung Torzusehen, 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.
409839/0663
NIOHT-STAPEL-GBBUNEENER HEKBHL
Es können fälle auftreten, in denen die für den Umaetier 94 (und das Register 95 im fall von Befehlen au» «wei Bitpaketen) vorgesehenen Befehlsworte nicht im Befehlewort-Stapel bzw, -Kartensat■ 78 Torhanden sind. Ein solcher Zustand kann bei Sprungbefehlen auftreten, bei einen eine Augenblloksprogrammfolge beendet und eine neue folge begonnen wird* Im folgenden eel angenommen, daß ein solcher Sprungbefehl au« zwti Bitpaketen beet tat und zum Umsetmer 94 sowie zum Regietex· 99 übertragen wird. Der Sprungbefehl (16 Bits) wird vom Uaeetser 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 Sohritte abhängt, über den Kanal 73 vom Register 95 zum Operandenregister 64 übertragen. Außerdem wird die Augenblioksbefehlsadresse (P) vom Programmadressenregister 81 (fig· 2A) zum Operandenregister 63 (Pig. 2B) geleitet. Der öanzzahladdierer 57 wird betätigt, um den Sprungwert K zur gültigen bzw. Augenblioksadresse 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 Verzweigungeadresse 84 und das ODER-Gatter 82 dem Prpgrammadressenregister 81 einzugeben.
Wenn die neue (Sprung-)Adresse einer Adresse im Befehlsadressen-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.
fall Jedoch die neue (Sprung-)Adresse keiner Adresse im Stapel 77 entspricht, wird durch den Prüfer 87 keine Koinzidenz
40 9839/0663
festgestellt. Stattdessen stellt der Koinzidenzprüfer das Stapel-externe Fehlerkennzeiohen 100 für die Operation an den Wählschaltung«η 101 und 102 (71g. 3) ein. Die neue Adresse (P + K) wird über die Wählsohaltung 101 zum Befehlsabruf-Adressenregister 105, über die Wählschaltung 102 zur Wählsohaltung 106 und zur näohsten Stapeladresse 76 übertragen. Die »wolf signifikantesten Bits der neuen Adresse (F + K) werden zum Addierer 108 übertragen» wo ein Bezugsfehlerkennseiohen für das Programm Tom Fehlerkennseiohen 110 und tob Austauschparaaeter-Wertregieter 61 (Tig. 2B) sur neuen Adresse addiert wird (über ODER-Gatter 112 und UND-Gatter 109). Das Beaugefehlerkennzeiehen wird zum Speieheradressenregister 107 übermittelt, um auf die dem Speicher 34 zugeordnete,Speloheraugriffssteuerung 128 einzuwirken. Danach werden die Bits 1-8 der Adresse von der Wählschaltung 106 zum !Register überschrieben.
Wie aus dem späteren Abschnitt "Sprungaustausch11 no oh 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 SpeicherzugriffBeteuerung den zwölf wichtigsten Bits der von der Wählschaltung 106 übersohriebenen 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 (Mg. 2A) in den Befehlswort-Stapel 78 eingegeben.
Der Koinzidenzprüfer 87 notiert nunmehr die Koinzidenz zwischen der neuen Adresse im Register 81 und der neuen Adresse
409839/0663
im Stapel 77 und gibt Datenebenen- und Bitpaket-Sttuerbefehle ab, um für die rorher beeohriebenen Operationen den neuen Befehl zum Augenbliokebefehl-Wortregieter 91 überschreiben zu lassen.
Nach dta vorstehend beschriebenen Verfahren wird nur ein einziger Befehl rom Speicher zum Befehlswort-Kartensatz Überschrieben. Falls jedoch eine Gruppe von Befehlen aufgestellt werden toll, wird das Befehlsabruf-Adrsssenregieter durch den Addierer 114 stellenmäßig ergänzt, so daß eine ganze Gruppe von Befehlsworten vom Speicher zum Befehlewort-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 Befehlsadressen-Stapel 77 eingegeben werden können.
BIBLIOTHEKAUi1HUEE
Unter gewissen Umständen kann es wünschenswert sein, einen Sprung cu einem Abschnitt des Speiohers 34 durchzuführen, dir eine allen Datenverarbeitungseinheiten zur Verfügung stehende Programmbibliothek enthält. Gemäß Fig« 4 sei b.B. angenommen, daß ein Benutzer R an einem Maschinenprogramm mit einer Adresse (bezüglich des Speichere 34) arbeitet, die bei RA„ beginnt und eine Feldlänge FIu besitzt. Weiterhin sei angenommen, daß das Maschinenprogramm einen bei 130 befindlichen Befehl aufweist, weloher die Datenverarbeitungseinheit auffordert, auf eine im Speioher 34 außerhalb des Masohinenprogramm-. feld» 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
409839/0663
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 Abruf-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 Ganzzahl-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 Speicherzugriff-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 Fige 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 Maschinenprogramm-Bezugsadresse im Register 113 nicht zur Bibliothekadresse hinzuaddiert wird. Infolgedessen wird nur die Absolutadresse der Programmbibliothek auf die Speicherzugriffssteuerung 128 überschrieben, wodurch die Datenrerarbeitungseinheit 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
409839/0663
~ 25 " 2410A91
Bibliothekadresse wird dann durch die Inkrementschaltung 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 duroh die Inkrementschaltung 83 erhöht. Infolgedessen tritt im Koinzidenzprüfer 87 eine Koinzidenz auf, so daß das Stapel-externe Pehlerkennzeichen 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^ und einem Bibliothekaufruf« befehl bei 130 zum Bibliothekfeld 131 zu springen, während ein Benutzer oder Anwender T mit einer Feldlänge ΙΊΐφ und einem Bibliothekaufrufbefehl 133 auf das gleiche Bibliothekfeld 131 springen kann.
SPRUIiGBEiEHLAUSTAUSOH
In gewissen Fällen kann es wünschenswert sein, Daten ausschließlich von einer außerhalb der Feldlänge eines Maschi-
409839/0663
nenprogramms liegenden Stelle zu erlangen. Beispielsweise kann nach Abschluß eines Maschinenprogramms eine Datenverarbeitungseinheit bestrebt sein, auf ein anderes Maschinenprogramm zu springen.
In diesem Pail gibt der Umsetzer 94 einen aus zwei Bitpaketen bestellenden Austauschbefehl zur Überschreibung eines Programmkodes (K) auf das Operandenregister 64 und der Austauschprogrammadresse auf das Operandenregister 63 ab. Der Befehlsadressen-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 877^^plge7^s"jrreJge^rc^en_Züst^ds Stapels 77 keine Koinzidenz feststellen kann), so daß '"^"~""' : " die Wählschaltungen 101 und 102 zur Aufnahme von Adressen durehgeschaltet werden. Die Austausch-Sprungadresse wird durch die Ganzzahl-Addiersteuerungen 57 (Programmadresae + 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 Speieherzugriffs-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 Attstauschdatenwort füllt die Register 00 bis 15 der Reihe nach.
Das in Pig. 5 veranschaulichte Format des Austauschparameterworts besteht aus einer 20 Bit-Programmadresse, einem 12 Bit-
409839/0663
leldlä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 nioht 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-
409839/0663
paket-Programmadresse über die Kanäle 85 und 86 vom Register 61 (Fig. 2B) zur Verzweigungsadresse 84 (^ig· 2A und 3) überschrieben worden ist, wird die Adresse zum Programmadressenregister 81 und sodann zur nächsten Anweisungsadresse 76 und zu den Wälschaltungen 101 und 102 übermittelt« Das Befehlsabruf-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 MD-Gatter 109, das über das ODER-Gatter 112 durch das Programmbezugs-Pehlerkennzeichen 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 tJberwachungs—Pehlerkennzeichen zur Ermöglichung eines Zugriffs zu den Eingang/Ausgang-Vorrichtungen und zur Verhinderung von Unterbrechungszyklen, 2· ein Verriegelungs-lehlerkennzeichen zur Ermöglichung eines Zugriffs zum Verriegelungsregister 40 auf noch zu beschreibende Weise und 3. ein Gleitkommaunterbrechungs-Pehlerkennzeichen, 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 Austauschadresee des Austauschpakets hinzuaddiert und in Form der zwölf signifikantesten Bits zur Operation an der Steuerung 128 zum Register 107 übertragen.
409839/0663
Nach Empfang eines Bestätigungs-Fehlerkennzeiohens 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 Austauachpakets 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 Befehlswort-Kartensatz 78 wird die nächste Anweisungeadresse durch die Inkrementschaltung 76 erhöht, um die betreffende Programmadresse zum Befehls-Stapel 77 zu übertragen, so daß während des nächsten laktzyklus eine Koinzidenz im Prüfer 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 PeId des Maschinenprogramms oder zu einem anderen Jeld-externen Programm auf, indem die Steuerung des Austausohadressenregisters aufgegeben wird.
LESE/EINSCHREIB-PROGRAMM
Nach Ausgabe eines Lese- oder Einschreib-Befehls vom Umsetzer 94 (Pig. 2A) wird ein Bit (oder ein Fehlerkennzeichen) in der Ausgabesteuerung 122 (Pig. 2G) gesetzt. Dieses Bit, das im
409839/0663
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 Datenspeioher-Bezugsgruppenbit unmittelbar mit dem GDER-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. RAR) zur Programmadresse addieren kann· Die über die Kanäle 99 (Fig. 2ö) sur 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 Speioher für die X Register 50 herausgelesenen Daten (über Kanäle 65, Fige 2B) von Stellen herausgelesen, die durch die zur Programmadresse hinzuaddierte Bezugsadresse (RA) bestimmt werden.
VERRIEGELUNGSSTEUERUNa
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.)
409839/0663
~ 31 -
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 40o 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 Verriegelungsre— gister 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.
409839/0663
SPEIOHERZUG-EIFi1
Wie erwähnt, empfängt das Speicheradressenregister 107 eine aus 20 Bits bestehende Adresse vom Addierer 108 und von der Wählschaltung 106 (Pig. 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ählsehaltung 106), 2. Befehlsabrufadresse vom Register 105, erhöht durch die Inkrementschaltung 114 und überschrieben zur Wählschaltung 106 über die Wählsehaltung 102, und 3« 15 Bit-Austauschadresse vom Register 103 über die Wählsehaltung 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ählsehaltung 106 erhalten, und zwar nach Addierung zur Bezugsadresse durch den Addierer 108, wenn die UND-Schaltung 109 entweder durch das Programmbezugs-Fehlerkennzeichen 110 oder durch daa Datenspeicher-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äß Pig. 7 steuern die sechs am wenigsten signifikanten Bits des Adressenkodes (welche die sechs unsignifikantesten Bits der Gruppe der acht unsignifikanten Bits bilden) den Bankoder 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 signifikante-
409839/0663
sten 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 dleeer 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 iat.
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 Pail 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.
BEISPIELE
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
409839/0663
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*
REGHENOPERATIOKEN
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'-sehen 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 Reservierungs-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'sehen 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'sehen Subtrahierschaltungen benutzt werden. Wenn in den Fällen 1. und 2, die Markierer j und k
409839/0663
das gleiche Eingaberegister bezeichnen, wird das 64 Bit-Wort lediglich aus dem Register herausgelesen und ansohliessend wieder in das gleich· 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 Pä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 Pail ist. Die untere Hälfte wird in das durch den Markierer j bezeichnete Register eingegeben. Mr Subtraktionsoperationen wird der Subtrahend (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 Xit In diesem Pail 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 lall 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.
409839/0663
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:4-8 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 3PaIl 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, falle 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 Mull minus Xk nach Xj: In diesem Fall wird das Komplement der Daten in dem mit k bezeichneten Register über die Komplementschaltung in das Register
409839/0663
eingelesen, und das Resultat wird durch die Ganzzahlen-Addierateuerungen 57 zu allen Hüllen hinzuaddiert und schließlich in das mit j bezeichnete Register eingegeben. Ein et- . waiger Überlauf wird zu einem anderen, benachbarten, mit Xi bezeichneten Register übertragen.
12. Ganzzahlige Summe oder Differenz aus Xj und Xk nach Xi: In diesen lallen 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.
SPRt)NGE UND AUFRUFE
13e Sprung- oder Aufruf-Unterprogramm bei P + Ks In diesem Fall wird die gültige Srogrammfolge zugunsten einer neuen Folge beendet. Die Programmadresse (P/) wird vom Register 81 über den Kanal 66 zum Register 63 überschrieben, und die P/rogrammkonstante 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 nioht der Fall, so wird das "außerhalb des Stapels"-Fehlerkennzeichen 100 gesetzt, und die Befehle werden auf beschriebene Weise vom Speicher abgerufen.
409839/0663
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: Pestkommaüberlauf, G-leitkommaüberlauf oder Dividiere-durch-Uull-tlberlauf. 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.
.um
15. Verzweigungs-Rückwärts/ i Worte, wenn Xj<Xk: Dieser Befehl beendet die gültige Prcgrammfolge 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 ICj - Xk positiv ist, ist die Verzweigungsbedingimg 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
409839/0863
Aufrufbefehl durch einen Markierer k bezeichneten Register aufgerufen werden. In jedem lall wird die neue Adresse zum Register 64 übermittelt und über die Abschnitte RA und Rl des Registers 50 zum Register 81 überschrieben, um auf die erwähnte Weise auf die Schaltung gemäß 3?ig. 3 einzuwirken. Auf ähnliche Weise werden Programmbibliotheken an Adressen aufgerufen, die durch die Programmkonstante (K) oder von Baten 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 Datenspeioher-Bezugsgruppenbit 111 noch vom Programmbezugs~3?ehlerkennzeiehen (Fig. 3) ein Gattersignal geliefert, so daß die Bezugsadresse im Register 113 der Absolutadresse des Austauschpakets nicht hinzuaddiert wird.
HERAUSLESEN, SPEICHERN UND ÜBERTRAGUNG
18. Speichere Daten von Xj; Die Daten können im Speicher (über den Kanal 99) von einem durch den Markierer j des Speicherbefehls bezeichneten Register gespeichert werden. In diesem Pail wird die Speicher-Adresse, an welcher die Daten gespeichert werden sollen, zum Teil entweder durch die Programm-
409833/0663
konstante (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 Pail 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äß Pig·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 milliner Programmkonstante (K) oder mit dem Inhalt eines mit k markierten Registers gebildet. Die resultierende Adresse, welche die Absolutadresse dee Speicherorts bildet, wird zum X Register 00, zum Austauschparameter-Wortregister 61 und dann zum Bezugsadressenregister 113 gemäß 3?ig. 3 geleitet. Die Absolutspeicheradresse im Register 113 wird dann auf das vom Datenspeicher-Bezugsgruppenbit gelieferte Durchsohalt*» oder Gattersignal hin zur Speicher zugriff Beteuerung 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
409839/0863
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 Programmspeioher-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 Datenspeicher-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.
PRO GRAMMAUSFÜHRUNG
23. Umspeichere Xk nach Xj: Hierbei wird das Wort in dem durch den Markierer k bezeichneten Register durch das Register
409839/068 3
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 Xki 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 3?) wird durch die Schiebe Steuerungen 57 durchgeführt, und das Resultat wird zu dem mit j markierten Register zurück übertragen.
25. Ganzzahlige Verschiebung für Xj um ni In diesem Pail wird das Wort in dem mit j markierten Register in das Register eingelesen, während η in das Register 64 eingelesen wird. Hierbei besitzt das Befehlsformat die im Beispiel (ii) angenommene Struktur, so daß η 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 η 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 η Stellen eingelesen. Sür Sicherstellungsoperationen schalten die Einsen im Register 64 die Daten im Register 63 zur Speicherung im Register Xj durch. i*ü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
409839/0683
Operand aus einem durch den Markierer bezeichneten Register 50 in das Register 64 eingelesen, die Zahl der 1-Bits im Operanden in den Boole'sehen 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 O-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. Mg· 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 Eg, 9 dargestellte Weise durchzuführen. Der Exponent des Operanden erfährt eine Vorzeiphenverlängerung oder -erweiterung und wird in das Register Xk eingegeben. Palls 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, wo-
-i bei das Resultat in das Xk Register 50 eingespeichert wird
4098^9/0063
(vgl. Pig. 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 Grleitkomma-Addierbefehl folgen, welcher dieses Resultat zu Hull addiert? vgl. Beispiel 5.
31. Überwachungsbetriebsart: Dies ist ein Systemzuatand, 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 Austausohzustands 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. Unterbreehungsmarken: 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 Register« gelöscht werden. Zum Setzen od er Stellen des Verriegelungs-Re-
409839/0683
gisters 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-Registere kann in jedes beliebige, durch j markierte Register 50 eingeleeen werden·
33. Einlesen von Taktimpulsen nach Xj: Dieser Befehl, der zur Bestimmung der zwischen ausgewählten Punkten bei der Prögrammdurohfü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,
ZUSAMMENFASSUNG
Mit der Erfindung wird somit ein sog. Multi-Processor-Rechnersystem geschaffen, bei dem jede Datenyerarbeitungseinheit eine Anzahl von "Universal"-Reg!stern 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 Merkmal der Erfindung besteht In einer Speioher-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.
A09839/06633

Claims (1)

  1. Pat entansprüehe
    Ιβ/Datenverarbeitungsvorrichtung mit einer logischen Einrichtung zur Durchführung binärer logischer Operationen an Daten, einer Befehlsausgabeeinrichtung zur Ausgabe von Verfahrensbefehlen zur Verarbeitung der Daten und mit einer Akkumulator- oder Rechenwerkseinrichtung zur Durchführung arithmetischer Operationen an den Daten, gekennzeichnet durch Register zur Speicherung der Daten, mit einer Anzahl von einzeln adressierbaren Abschnitten, mit den Registern sowie den logischen Einrichtungen und der Akkumulatoreinrichtung verbundene Miaehnetzwerke zum selektiven Einschreiben von Daten in adressierte Abschnitte der Register von der logischen Einrichtung und der Akkumulatoreinrichtung, mit den Registern sowie mit den logischen Einrichtungen und der Akkumulatoreinrichtung verbundene Verteilernetzwerke zum Herauslesen von Daten aus den adressierten Abschnitten der Register zu den logischen Einrichtungen und der Akkumulatoreinrichtung, sowie durch an die Befehlsausgabeeinrichtung und an die Mischnetzwerke und Verteilernetzwerke angeschlossene Steuereinrichtungen, die auf die Verfahrensbefehle ansprechen und selektiv die Mischnetzwerke zum Einschreiben von Daten in ausgewählte Registerabschnitte von ausgewählten logischen Einrichtungen und Akkumulatoreinrichtungen ansteuern und welche selektiv die Verteilernetzwerke betätigen, um aus ausgewählten Registerabschnitten Daten zu ausgewählten logischen Einrichtungen und Akkumulatoreinrichtungen auszulesen.
    2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die logischen Einrichtungen solche zur Durchführung von
    409839/0863
    Verschiebe-, Ganzzahlen-Additions-, Boole'sehen Logik-, Ausblend-, Gleitkomma-Verdichtungs- und -Aufspreiz-Operationen umfassen, daß zwei zwischen die logischen Einrichtungen und die Verteilernetzwerke eingeschaltete Operandenregister vorgesehen sind und daß die Steuereinrichtungen selektiv die Verteilernetzwerke zu betätigen vermögen, um Daten aus ausgewählten Registerabschnitten zu ausgewählten Operandenregistern herauszulesen.
    Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Misch- und Verteilernetze an einen Speieher angeschlossen sind und daß die Steuerungen in Abhängigkeit von den Verfahrensbefehlen selektiv einerseits die Mischnetzwerke zum Einschreiben von Daten in ausgewählte Registerabschnitte vom Speicher und andererseits die Verteilernetzwerke zum Herauslesen von Daten aus ausgewählten Registerabschnitten in den Speicher betätigen.
    4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die logischen Einrichtungen solche zur Durchführung von Verschiebe-, Ganzzahlen-Additions-, Boole'sehen Logik-, Ausblend-, Gleitkomma-Verdichtungs- und -Aufspreiz-Operationen umfassen, daß zwei zwischen die logischen Einrichtungen und die Verteilernetzwerke eingeschaltete Operandenregister vorgesehen sind und daß die Steuereinrichtungen selektiv die Verteilernetzwerke zu betätigen vermögen, um Daten aus ausgewählten Registerabschnitten zu ausgewählten Operandenregistern herauszulesen.
    5. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Steuerungen Befehlswortspeicher und Befehlsadressenspeicher aufweisen, von denen erstere Verfahrensbefehle vom Speicher aufzunehmen vermögen und letztere an die Register angeschlossen sind, um Befehlsadressen von ausge-
    409839/0663
    wählten Abschnitten der Register zu empfangen, 'wobei die Befehlsadressenspeicher in Abhängigkeit von einer Befehlsadresse einen entsprechenden Verfahrensbefehl vom Befehlswortspeicher abzugeben vermögen, und daß ein auf das Befehlswort vom Befehlswortspeicher ansprechender Umsetzer zur selektiven Betätigung der Verteiler- und Mischnetzwerke vorgesehen ist·
    6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die logischen Einrichtungen solche zur Durchführung von Verschiebe-, Ganzzahlen-Additions-, Boole'sehen Logik-, Ausblend-, Gleitkomma-Verdiohtungs- und -Aufspreiz-Operationen umfassen, daß zwei zwisohen die logischen Einrichtungen und die Verteilernetzwerke eingeschaltete Operandenregister vorgesehen sind und daß die Steuereinrichtungen selektiv die Verteilernetzwerke zu betätigen vermögen, um Daten aus ausgewählten Registerabschnitten zu ausgewählten Operandenregistern herauszulesen.
    7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß eine Einrichtung zur Übertragung zumindest eines Teile der Befehlsadressen zu einem ausgewählten Operandenregister vorgesehen ist.
    8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß eine Einrichtung zur Übertragung zumindest eines Teile der Verfahrensbefehle zu einem ausgewählten Operandenregister vorgesehen ist.
    9. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß eine Einrichtung zur Übertragung zumindest eines Teils der Verfahrensbefehle zu einem ausgewählten Operandenregister vorgesehen ist.
    409839/0663
    10. Vorrichtung nacii Anspruch 3» dadurch, gekennzeichnet, daß Befehlswortregister zur Aufnahme von Befehlsworten vom Speicher zur Steuerung der Datenverarbeitungsoperationen, SpeicherzugriffBeteuerungen zur Konditionierung des Speichers zwecks Übertragung von Befehlsworten zu den Befehlswortregistern entsprechend vorbestimmten Zugriffsadressen, eine mit der Speicherzugriffssteuerung verbundene Adressiereinrichtung zur Erzeugung der vorbestimmten Zugriffsadressen, mit Programmadressenregistern zur Lieferung einer Programmadresse, welche einzelne Datenverarbeitungsbefehle eines Maschinenprogramms angibt, Bezugsadressenregister zur Lieferung einer für das Maschinenprogramm kennzeichnenden Bezugsadresse, eine zweite, auf die Bezugs- und die Programmadresse ansprechende Steuereinrichtung zum Addieren der Bezugsadresse zu mindestens einem Teil der Programmadresse und Gatter zur selektiven Betätigung der zweiten Steuereinrichtung vorgesehen sind.
    11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß jede Programmadresse für einen einzelnen Befehl' des Maschinenprogramms kennzeichnend und auf die Bezugsadresse bezogen ist und daß eine erste Inkrementeinrichtung zur stellenmäßigen Änderung der Programmadresse zwecks Lieferung aufeinanderfolgender, schrittweise erhöhter Programmadressen vorgesehen ist, wobei die zweite Steuereinrichtung bei Betätigung der Gatter wirksam wird und die vorbestimmten Zugriffsadressen durch Kombinieren der Bezugsadresse mit mindestens einem Abschnitt jeder aufeinanderfolgenden Programmadresse bildet.
    12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß ein Austauschadressenregieter zur Lieferung einer Pestprogrammadresse, die für eine Adresse eines Programms repräsentativ 1st, das im Speicher außerhalb der Feldlänge
    409839/0663
    des Maschinenprogramms gespeichert ist, und eine zweite Inkrementeinrichtung zur stellenmäßigen Erhöhung der Festprogrammadresse zur Lieferung schrittweise aufeinanderfolgender Festprogrammadressen vorgesehen sind und daß die Gatter die zweite Steuereinrichtung zum Durchlassen der aufeinanderfolgenden FestProgrammadressen zu betätigen vermögen.
    13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß die zweite Steuereinrichtung Addierer mit zwei Eingängen zum binären Addieren von an den beiden Eingängen auftretenden Binärsignalen aufweist, daß eine Einrichtung zur Anlegung der schrittweise geänderten Programmadressen an den ersten Eingang der Addierer vorgesehen ist, daß die Gatter UND-Gatter 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, eine Einrichtung zur Anlegung der Bezugsadresse an den ersten Eingang des UND-Gatters und eine Wähleinrichtung zur selektiven Anlegung eines Aktiviersignals an den zweiten Eingang des UND-Gatters vorgesehen sind.
    14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die Wähleinrichtung dem Befehlswortregister zugeordnete Ausgabeeinrichtungen zur Ausgabe des Aktiviersignals beim ■Auftreten eines Einzelbefehls vom Maschinenprogramm aufweist.
    15. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die Wähleinrichtung Austauscheinriohtungen zur Lieferung einer Austauschadresse aufweist, die für die Relativposition eines Austauschprogramms außerhalb der Peldlänge des Maschinenprogramms im Speicher repräsentativ ist und welche tauf die Bezugsadresse bezogen ist, daß die zweite
    409839/0663
    Steuereinrichtung auf die Bezugsadresse und die Austauschadresse anspricht und erstere bei Betätigung der UND-Gattereinrichtung zu mindestens einem !Teil der Austauschadresse hinzuaddiert, und daß die Austauscheinrichtung bei Ausgabe eines Austauschprogramms durch das Befehlswortregister das Aktiviersignal an das UHD-Gatter liefert.
    16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß die Wähleinrichtung dem Befehlewortregister zugeordnete Ausgabeeinrichtungen zur Ausgabe des Aktiviersignale beim Auftreten eines Einzelbefehls vom Maschinenprogramm sowie mit der Ausgabeeinrichtung und der Austauscheinrichtung verbundene ODERJ-Gatter zur Anlegung der Aktiviersignale von diesen beiden Einrichtungen an den zweiten Eingang des UND-Gatters aufweist.
    17. Datenverarbeitungsvorriohtung mit einem Befehlswortregister zur Aufnahme von Befehlsworten von einem Speicher zwecks Steuerung von Datenverarbeitungsoperationen und mit einer Speicherzugriff-Steuereinrichtung zur Konditionierung des Speichers für die Übersehreibung von Befehlsworten zum Befehlswortregister in Übereinstimmung mit vorbe-
    . stimmten Zugriffsadressen, gekennzeichnet durch eine mit der Speicherzugriff-Steuereinrichtung verbundene Adresseneinrichtung zur Erzeugung der vorbestimmten Zugriffsadressen, bestehend aus einem Programmadressenregister zur Lieferung einer die Einzeldaten-Verarbeitungsbefehle eines Maschinenprogramms angebenden Programmadresse, einem Bezugsadressenregister zur Lieferung einer für das Maschinenprogramm spezifischen Bezugsadresse, einer auf di.» Bezugs- und die Programmadresse anspreohenden Steuereinrichtung zum Addieren der Bezugsadresse zu zumindest einem Teil der Programmadresse und einer Gattereinrichtung zur selektiven Betätigung der Steuereinrichtung,
    409839/06S3
    18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß jede Programmadresse für einen einzelnen Befehl des Maschinenprogramms kennzeichnend und auf die Bezugsadresse bezogen ist und daß eine erste Inkrementeinrichtung zur stellenmäßigen Änderung der Programmadresse zwecks Lieferung aufeinanderfolgender, schrittweise erhöhter Programmadressen vorgesehen ist, wobei die Steuereinrichtung bei Betätigung der Satter wirksam wird und die vorbeetimmten Zugriffsadressen durch Kombinieren der Bezugsadresse mit mindestens einem Abschnitt jeder aufeinanderfolgenden Programmadresse bildet.
    19. Vorrichtung nach Anspruch 18, daduroh gekennzeichnet, daß ein Austauschadressenregister zur Lieferung einer Festprogrammadresse, die für eine Adresse eines Programms repräsentativ ist, das im Speicher außerhalb der Peldlänge des Maschinenprogramms gespeichert ist, und eine zweite Inkrementeinrichtung zur stellenmäßigen Erhöhung der ]?estprogrammadreese zur Lieferung schrittweise aufeinanderfolgender Festprogrammadressen vorgesehen sind und daß die Gatter die Steuereinrichtung zum Durchlassen der aufeinanderfolgenden Pestprogrammadressen zu betätigen vermögen.
    20« Vorrichtung nach Anspruch 19» dadurch gekennzeichnet, daß die Steuereinrichtung Addierer mit zwei Eingängen «um binären Addieren von an den beiden Eingängen auftretenden Binärsignalen aufweist, daß eine Einrichtung zur Anlegung der schrittweise geänderten Programmadressen an den ersten Eingang der Addierer vorgesehen ist, daß die Gatter UND-Gatter 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, eine Einrichtung zur Anlegung der Bezugsadresse an den ersten Eingang des UND-Gatters und eine Wähleinrichtung zur selektiven Anlegung eines Aktiviersignals an den zweiten Eingang des
    409839/0683
    UND-Gatters vorgesehen sind.
    21. Vorrichtung nach Anspruch 20, dadurch gekennzeichnet, daß die Wähleinrichtung dem Befehlswortregister zugeordnete
    Ausgabeeinrichtungen zur Ausgabe des Aktivier signals "beim Auftreten eines Einzelbefehls vom Maschinenprogramm aufweist.
    22. Vorrichtung nach Anspruch 20, dadurch gekennzeichnet, daß die Wähleinrichtung Austauscheinrichtungen zur Lieferung
    einer Austauschadresse aufweist, die für die Relativposition eines Austauschprogramms außerhalb der leldlänge des Maschinenprogramms im Speicher repräsentativ ist und welche auf die Bezugsadresse bezogen ist, daß die zweite
    Steuereinrichtung auf die Bezugsadresse und die Austauschadresse anspricht und erstere bei Betätigung der UND-Gattereinrichtung zu mindestens einem Teil der Austauschadresse hinzuaddiert, und daß die Austauscheinrichtung bei Ausgabe eines Austauschprogramms durch das Befehlswortregister das Aktiviersignal an das UND-Gatter liefert.
    23· Vorrichtung nach Anspruch 22, dadurch gekennzeichnet, daß die Wähleinrichtung dem Befehlswortregister zugeordnete
    Ausgabeeinriohtungen zur Ausgabe des Aktiviersignals beim Auftreten eines Einzelbefehls vom Maschinenprogramm sowie mit der Ausgabeeinrichtung und der Austauscheinrichtung
    verbundene ODER-Gatter zur Anlegung der Aktiviersignale
    von diesen beiden Einrichtungen an den zweiten Eingang
    des UND-Gatters aufweist.
    24-. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß die Steuereinrichtung eine Addiereinrichtung mit zwei Eingängen zum binären Addieren von BinärSignalen, die am ersten und am zweiten Eingang auftreten, aufweist, daß eine
    409839/0663
    Einrichtung zum Anlegen der Programmadressen an den ersten Eingang der Addiereinriohtung vorgesehen ist, daß die Gattereinrichtung UND-Gatter mit je zwei Eingängen und einem Ausgang aufweist, und daß eine Einrichtung zur Verbindung des Ausgangs des UND-Gatters mit dem zweiten Eingang der Addiereinrichtung, eine Einrichtung zum Anlegen der Bezugsadresse an den ersten Eingang des UND-Gatters und eine Wähleinrichtung zum selektiven Anlegen eines Aktiviersignals an den zweiten Eingang des UND-Gatters vorgesehen sind,
    25. Vorrichtung nach Anspruch 24, dadurch gekennzeichnet, daß die Wähleinrichtung dem Befehlswortregister zugeordnete Ausgabeeinrichtungen zur Ausgabe des Aktiviersignals beim Auftreten eines Einzelbefehls vom Maschinenprogramm aufweist.
    26. Vorrichtung nach Anspruch 24, dadurch gekennzeichnet, daß die Wähleinrichtung Austauscheinrichtungen zur Lieferung einer Austauschadresse aufweist, die. für die Relativposition eines Austauschprogramms außerhalb der Feldlänge des Maschinenprogramms im Speicher repräsentativ ist und welche auf die Bezugsadresse bezogen ist, daß die zweite Steuereinrichtung auf die Bezugsadresse und die Austauschadresse anspricht und erstere bei Betätigung der UND-Gattereinrichtung zu mindestens einem Teil der Auataueohadresse hinzuaddiert, und daß die Austauscheinrichtung bei Ausgabe eines Austauschprogramms durch das Befehlswortregister das Aktiviersignal an das UND-Gatter liefert.
    27· Vorrichtung nach Anspruch 26, dadurch gekennzeichnet, daß die Wähleinrichtung dem Befehlswortregister zugeordnete Ausgabeeinrichtungen zur Ausgabe des Aktiviersignals beim Auftreten eines Einzelbefehls vom Maschinenprogramm sowie
    409839/0663
    mit der Ausgabeeinrichtung und der Austauscheinrichtung verbundene ODER-Gatter zur Anlegung der Aktiviersignale von diesen beiden Einrichtungen an den zweiten Eingang des UED-Gatters aufweist.
    28. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß die Datenverarbeitungseinheit weiterhin einen mit dem Programmadressenregister verbundenen Adressen-Stapel mit einer oder mehreren Programmadressen, die den im Befehlswortregister gespeicherten Befehlsworten zugeordnet sind, in dieser Einheit vorgesehene X Register zur Speicherung von Daten sowie Einrichtungen zur Einspeisung von Daten von den X Registern in das Programmadressenregister aufweist, daß zudem Stapel-externe Einrichtungen, die auf eine Nichtkoinzidenz zwischen den Daten im Programmadressenregister und den Adressen im Adressen-Stapel ansprechen und ein Aktiv!ersignal liefern, sowie eine auf das Aktiviersignal von den Stapel-externen Einrichtungen ansprechende erste Wähleinrichtung zur Annahme der Daten vom Programmadressenregister vorgesehen sind, wobei die zuletzt genannten Daten zwei Sätze bzw. Gruppen von Bits umfassen, daß die Steuereinrichtung eine mit der ersten Wähleinrichtung verbundene erste Addiereinrichtung zur Aufnahme des ersten Bitsatzes aufweist, welche in Abhängigkeit von der Betätigung der Gattereinrichtung die Bezugsadresse zum ersten Bitsatz binär hinzuzuaddieren vermag, und daß die Zugriffasteuerung mit der ersten Wähleinrichtung und der ersten Addiereinrichtung verbunden ist, um das Ausgangssignal von der Addiereinrichtung und den zweiten Bitsatz aufzunehmen.
    29. Vorrichtung nach Anspruch 28, dadurch gekennzeichnet, daß eine Befehlsaufruf-Adresseneinriohtung zur Aufnahme von Daten vom Programmadressenregister zwecks Überschreibung
    409839/0663
    der Daten zur ersten Wähleinrichtung und eine Inkrementeinrichtung zum stellenmäßigen Indern der Daten in der Befehlsaufruf-Adresseneinrichtung zwecks Lieferung von in Inkrementabständen aufeinanderfolgenden Daten vorgesehen sind,
    30. Vorrichtung nach Anspruch 29, dadurch gekennzeichnet, daß eine Austauscheinrichtung zur Lieferung einer Austauschadresse vorgesehen ist, die für die Relativposition eines Austauschprogramms außerhalb der Peldlänge des Bezugsprogramms im Speicher repräsentativ und auf die Bezugsadresse bezogen ist, und daß eine zweite, auf die Stapel-externe Einrichtung ansprechende Wähleinrichtung zur Überschreibung der Austauschadresse von der Austauscheinriohtung zur Befehlsaufruf-Adresseneinrichtung, ein der Austauscheinrichtung zugeordneter Inkrementzähler zum Zählen der Zahl der DatenüberSchreibungen von der Austauscheinrichtung zur Befehlsaufruf-Adresseneinrichtung und eine zweite Addiereinrichtung zum Addieren der Zählung im Inkrementzähler zu den Daten in der Befehlsaufruf-Adreeseneinrichtung vorgesehen sind.
    51. Vorrichtung nach Anspruch 30, dadurch gekennzeichnet, daß die Gattereinrichtung ein UND-Gatter mit einem ersten, mit dem Bezugsadressenregister verbundenen Eingang und einem zweiten, zum Empfang eines Aktiviersignals geschalteten Eingang aufweist und daß die Auatausoheinriohtung ein Aktiviersignal für das UND-Gatter liefert.
    32. Vorrichtung nach Anspruch 31, dadurch gekennzeichnet, daß die Gattereinrichtung weiterhin ODER-Gatter mit einem zum Empfang eines Aktiviersignals von der Austauscheinrichtung geschalteten ersten Eingang und einem an den zweiten Eingang des UND-Gatters angeschlossenen Ausgang aufweist, und
    409839/0663
    daß eine dem Befehlswortregister zugeordnete Ausgabesteuerung zur Ausgabe von AktivierSignalen beim Auftreten von Befehlen vom Maschinenprogramm sowie eine den zweiten Eingang des ODER-G-atters zum Empfang von Aktiviersignalen von der Ausgäbesteuerung schaltende Einrichtung vorgesehen sind.
    33. Multi-Processor-Rechneranlage mit einer Anzahl von einzelnen Datenverarbeitungseinheiten, die jeweils Register mit einer Anzahl von einzeln addressierbaren Registerabschnitten sowie Steuerungen zur selektiven Betätigung der Registerabschnitte für das selektive Herauslesen von Binärkodeinformationen aus ausgewählten Registerabschnitten und für das selektive Einschreiben binärverschlüsselter Informationen in ausgewählte Registerabschnitte aufweisen, wobei jede Einheit eine dem betreffenden Register zugeordnete Einrichtung zur Durchführung von Rechen-, Adressier- und Indizierfunktionen unabhängig von anderen Datenverarbeitungseinheiten aufweist, und mit einem allen Datenverarbeitungseinheiten gemeinsam zugeordneten und an jede Steuerung angeschlossenen Speicher sowie mit einer dem Speicher betrieblich zugeordneten Eingang/Ausgang-Einrichtung, dadurch gekennzeichnet , daß an jedes Register angeschlossene Verriegelungseinrichtungen zur Übertragung von binärverschlüsselten Informationen zwischen ausgewählten Registern vorgesehen sind, daß die Verriegelungseinrichtungen einen mit einem Eingang jedes Registers verbundenen Ausgang und einen mit einem Ausgang jedes Registers verbundenen Eingang aufweisen, und daß die Steuerungen selektiv binärverschlüsselte Informationen aus ausgewählten Registerabschnitten der betreffenden Register zu den Verriegelungseinrichtungen auszulesen und selektiv binärverschlüsselte Informationen von den Verriegelungseinrichtungen in ausgewählte Registerabschnitte der betreffenden Register einzulesen vermögen.
    409839/0663
    34. Vorrichtung nach Anspruch 33, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, welche die einzelnen Steuerungen mit der Verriegelungseinrichtung verbindet, um letztere selektiv zu betätigen.
    35· "Vorrichtung nach Anspruch 33, dadurch gekennzeichnet, daß jede Datenverarbeitungseinheit logische Einrichtungen zur Durchführung von binären Logikoperationen an Daten, Befehlsausgabeeinrichtungen zur Ausgabe von Verfahrensbefehlen für die Handhabung oder Verarbeitung von Daten, Akkumulatoreinrichtungen zur Durchführung von arithmetischen Operationen an den Daten und mit den Registern sowie mit den logischen Einrichtungen und den Akkumulatoreinrichtungen verbundene Mischnetze zum selektiven Einschreiben von Daten in addressierte Abschnitte der Register von den logischen Einrichtungen und den Akkumulatoreinrichtungen aus aufweist, daß mit den Registern sowie den logischen Einrichtungen und den' Akkumulatoreinrichtungen ein Verteilernetz zum selektiven Herauslesen von Daten aus adressierten Abschnitten der Register zu den logischen Einrichtungen und zu den Akkumulatoreinrichtungen verbunden ist, und daß zweite Steuerungen mit der Befehlsausgabeeinrichtung und dem Mischnetz sowie dem Verteilernetz verbunden sind, die auf die Verfahrensbefehle ansprechen und selektiv das Mischnetz zum Einschreiben von Daten in ausgewählte Registerabschnitte von ausgewählten logischen und Akkumulatoreinrichtungen ansteuern und zudem selektiv das Verteilernetz zum Herauslesen von Daten aus ausgewählten Registerabschnitten zu ausgewählten logischen und Akkumulatoreinrichtungen ansteuern.
    36. Vorrichtung nach Anspruch 35» dadurch gekennzeichnet, daß das Mischnetz und das Verteilernetz mit dem Speicher verbunden sind, und daß die zweiten Steuerungen in Abhängigkeit
    409839/0663
    vom Verfahrensbefehl selektiv das Mischnetz zum Einschreiben von Daten aus dem Speicher in ausgewählte Regist erabschnitte und das Verteilernetz selektiv zum Herauslesen von Daten aus ausgewählten Registerabschnitten in den Speicher ansteuern.
    37. Vorrichtung nach Anspruch 36, dadurch gekennzeichnet, daß die zweite Steuereinrichtung Befehlswortspeicher und Befehlsadressenspeicher aufweist, von denen erstere die Verfahrensbefehle vom Speicher aufzunehmen vermögen und letztere an die Register angeschlossen sind, um Befehlsadressen von ausgewählten Abschnitten der Register aufzunehmen, daß der Befehlsadressenspeicher in Abhängigkeit von einer Befehlsadresse die Ausgabe eines entsprechenden Verfahrensbefehls vom Befehlswortspeicher einzuleiten vermag und daß ein auf ein Befehlswort vom Befehlswortspeioher ansprechender Umsetzer zur selektiven Ansteuerung des Verteilernetzes und des Mischnetzes vorgesehen ist.
    38. Vorrichtung nach Anspruch 37, dadurch gekennzeichnet, daß die logischen Einrichtungen, mit Einrichtungen zur Durchführung von Verschiebe-, Ganzzahlenadditions-, Boole'sehen Logik-, Ausblend-, Gleitkomma-Verdichtungs— und-Aufspreiz-Operationen versehen sind, daß weiterhin zwei zwischen die logischen Einrichtungen und das Verteilernetz eingeschaltete Operandenregister vorgesehen sind und daß die Steuerungen selektiv das Verteilernetz anzusteuern vermögen, um Daten aus ausgewählten Registerabschnitten zu ausgewählten Operandenregistern auszulesen.
    39. Vorrichtung nach Anspruch 37, dadurch gekennzeichnet, daß eine Einrichtung zum Überschreiben von zumindest einem Teil der Befehlsadressen zu einem ausgewählten Operandenregister vorgesehen ist.
    409839/0663
    40. Vorrichtung nach Anspruch 39, dadurch gekennzeichnet, daß eine Einrichtung zum Überschreiben von zumindest einem Teil der Verfahrensbefehle zu einem ausgewählten Operandenregister vorgesehen ist.
    41. Vorrichtung nach Anspruch 37, dadurch gekennzeichnet, daß eine Einrichtung zum Überschreiben von zumindest einem Teil der Verfahrensbefehle zu einem ausgewählten Operandenregister vorgesehen ist.
    42. Vorrichtung nach Anspruch 37, dadurch gekennzeichnet, daß die erstgenannte Steuereinrichtung mit dem Umsetzer Terbunden ist und auf dessen Ausgangssignal anspricht,
    43« Vorrichtung nach Anspruch 37, dadurch gekennzeichnet, daß jede Datenverarbeitungseinheit Speicherzugriff-Steuer einrichtungen zur Konditionierung des Speichers für die Übertragung von Verfahrensbefehlen zum Befehlswortspeicher in Abhängigkeit von vorbestimmten Zugriffsadressen aufweist, daß an die Speicherzugriff-Steuereinrichtung eine Adresseneinrichtung zur Lieferung der vorbestimmten Zugriffsadressen angeschlossen ist, welche Programmadressenregister zur Lieferung einer Programmadresse aufweist, die einzelne Datenverarbeitungsbefehle eines Maschinenprogramms angibt, und daß ein Bezugsadressenregister zur Lieferung einer für das Maschinenprogramm spezifischen Bezugsadresse, eine dritte, auf die Bezugsadresse und die Programmadresse ansprechende Steuereinrichtung zum Addieren der Bezugsadresse zu zumindest einem Teil der Programmadresse und eine Gattereinrichtung zur selektiven Ansteuerung der dritten Steuereinrichtung vorgesehen sind.
    44. Vorrichtung nach Anspruch 43, dadurch gekennzeichnet, daß
    409839/0663
    2410A91
    - Di -
    jede Programmadresse für einen Einzelbefehl des Maschinenprogramms spezifisch und auf die Bezugsadresse "bezogen ist und daß eine erste Inkrementeinrichtung zur stellenmäßigen Änderung der Programmadresse zwecks Lieferung schrittweise aufeinanderfolgender Programmadressen vorgesehen ist, wobei die dritte Steuerung bei Betätigung der Gattereinrichtung die vorbestimmte Zugriffsadresse durch Kombinieren der Bezugsadresse und mindestens eines Teils jeder der aufeinanderfolgenden Programmadressen bildet.
    45. Vorrichtung nach Anspruch 44, dadurch gekennzeichnet, daß sie ein Austauschadressenregister aufweist, das eine lestprogrammadresse liefert, die für eine Adresse eines im Speicher außerhalb der Feldlänge des Maschinenprogramms gespeicherten Programms repräsentativ ist, daß eine zweite Inkrementeinrichtung zur stellenmäßigen Erhöhung der Pestprogrammadresse zwecks Lieferung von schrittweise aufeinanderfolgenden Festprogrammadressen vorgesehen ist und daß die Gattereinrichtung die dritte Steuereinrichtung zum Durchlassen der aufeinanderfolgenden Festprogrammadressen anzusteuern vermag.
    46. Vorrichtung nach Anspruch 45, dadurch gekennzeichnet, daß die dritte Steuerung Addiereinrichtungen mit zwei Eingängen zum binären Addieren der an den beiden Eingängen auftretenden Binärsignale aufweist, daß eine Einrichtung zum Anlegen der schrittweise geänderten Programmadressen an den ersten Eingang der Addiereinrichtung vorgesehen ist und daß die Gattereinrichtung UND-Gatter mit zwei Eingängen und einem Ausgang, Mittel zur Verbindung des Ausgangs der UND-Gatter mit dem zweiten Eingang der Addiereinrichtung, Mittel zur Anlegung der Bezugsadresse an den ersten Eingang des UND-Gatters und Wähleinrichtungen zur selektiven Anlegung eines Aktiviersignals an den zweiten Eingang des UND-Gatters aufweist.
    409839/0663
    47· Vorrichtung nach Anspruch 46, dadurch gekennzeichnet, daß die Wähleinrichtung den Umsetzer zur Abgabe des Aktiviersignals bei Ausgabe eines Einzelbefehls des Maschinenprogramms vom Befehlswortspeicher aufweist·
    48. Vorrichtung nach Anspruch 46, dadurch gekennzeichnet, daß die Wähleinrichtung eine Austauscheinrichtung zur Lieferung einer Austauschadresse aufweist, die für die Relativposition eines außerhalb der leldlänge des Maschinenprogramms liegenden Austauschprogramms im Speicher repräsentativ ist und welche auf die Bezugsadresse bezögenist, daß die dritte Steuerung auf die Bezugsadresse und die Austauschadresse anspricht und bei Betätigung des UND-Gatters die Bezugsadresse mindestens einem Teil der Austauschadresse hinzuaddiert, und daß die Austauscheinrichtung bei Ausgabe eines Austauschprpgramms durch den Befehlswortspeicher das Aktiviersignal zum UND-Gatter liefert.
    49. Vorrichtung nach Anspruch 48, dadurch gekennzeichnet, daß die Wähleinrichtung weiterhin den Umsetzer zur Ausgabe eines Aktivier signals bei Ausgab'e eines Einzelbefehls des Maschinenprogramms aus dem Befehlswortspeicher aufweist und daß ein an die Ausgabeeinrichtung und an die Austauscheinrichtung angeschlossenes ODER-Gatter zum Anlegen der Aktiviersignale von diesen beiden Einrichtungen an den zweiten Eingang des UND-Gatters vorgesehen ist.
    50. Vorrichtung nach Anspruch 33, dadurch gekennzeichnet, daß jede Datenverarbeitungseinheit ein Befehlswortregister zur Aufnahme von Befehlsworten vom Speicher zur Steuerung der Datenverarbeitungsoperationen, eine Speicherzugriffssteuerung zur Konditionierung des Speichers zwecks Übermittlung der Befehlsworte zum Befehlswortregister in Abhängigkeit von vorbestimmten Zugriffsadressen, eine mit dieser Steuerung verbundene Adresseneinrichtung zur Lieferung der vor-
    409839/0663
    bestimmten Zugriffsadressen, wobei diese Adresseneinrichtung Programmadressenregister zur Lieferung einer die einzelnen Datenverarbeitungsbefehle eines Maschinenprogramms angebenden Programmadresse enthält, ein Bezugsadressenregister zur Lieferung einer für das Maschinenprogramm spezifischen Bezugsadresse, eine auf die Bezugsadresse und die Programmadrease ansprechende zweite Steuerung zum Addieren der Bezugsadresse zu mindestens einem Teil der Irogrammadresse und eine Grattereinriohtung zum selektiven Ansteuern der zweiten Steuerung aufweist.
    51. Vorrichtung nach Anspruch 50, dadurch gekennzeichnet, daß jede Programmadresse für einen Einzelbefehl des Maschinenprogramms spezifisch und auf die Bezugsadresse bezogen ist und daß eine erste Inkrementeinrichtung zum stellenmäßigen Ändern der Programmadresse zwecks Lieferung von schrittweise aufeinanderfolgenden Programmadressen vorgesehen ist, wobei die zweite Steuerung bei Betätigung der Gattereinriohtung die vorbestimmten Zugriffsadressen durch Kombinieren der Bezugsadresse mit zumindest einem Teil jeder der aufeinanderfolgenden Programmadressen bildet.
    52. Vorrichtung nach Anspruch 51, dadurch gekennzeichnet, daß sie ein Austauschadressenregister aufweist, das eine 3?estprogrammadresse liefert, die für eine Adresse eines im Speicher außerhalb der Feldlänge des Maschinenprogramms gespeicherten Programms repräsentativ ist, daß eine zweite Inkrementeinrichtung zur stellenmäßigen Erhöhung der lestprogrammadresse zwecks Lieferung von schrittweise aufeinanderfolgenden Festprogrammadressen vorgesehen ist und daß die Gattereinriohtung die zweite Steuereinrichtung zum Durchlassen der aufeinanderfolgenden üTestprogrammadressen anzusteuern vermag.
    409839/0663
    53. Vorrichtung nach Anspruch 52, dadurch gekennzeichnet, daß die zweite Steuerung Addiereinrichtungen mit zwei Eingängen zum binären Addieren der an den beiden Eingängen auftretenden Binärsignale aufweist, daß eine Einrichtung zum Anlegen der schrittweise geänderten Programmadressen an den ersten Eingang der Addiereinriohtung vorgesehen ist und daß die Gattereinrichtung UND-Gatter mit zwei Eingängen und einem Ausgang, Mittel zur Verbindung des Ausgange der UND-Gatter mit dem zweiten Eingang der Addiereinrichtung, Mittel zur Anlegung der Bezugsadresse an den ersten Eingang des UND-Gatters und Wähleinriohtungen zur selektiven Anlegung eines Aktiviersignals an den zweiten Eingang des UND-Gatters aufweist.
    54. Vorrichtung nach Anspruch 53, dadurch gekennzeichnet, daß die Wähleinrichtung eine dem Befehlswortregister zugeordnete Ausgabeeinrichtung zur Ausgabe des Aktiviersignale beim Auftreten eines Einzelbefehls des Maschinenprogramms aufweist.
    55. Vorrichtung nach Anspruch 53, dadurch gekennzeichnet, daß die Wähleinrichtung eine Austauscheinriohtung zur Lieferung einer Austauschadresse aufweist, die für die Relativposition eines außerhalb der IPeldlänge des Maschinenprogramms liegenden Austauschprogramms im Speioher repräsentativ ist und welche auf die Bezugsadresse bezogen ist, daß die zweite Steuerung auf die Bezugsadresse und die Austauschadresse anspricht und bei Betätigung des UND-Gatters die Bezugsadresse mindestens einem Teil der Auetauschadresse hinzuaddiert, und daß die Austauscheinrichtung bei Ausgabe eines Austauschprogramms durch den Befehlswortspeicher das Aktiviersignal zum UND-Gatter liefert.
    56. Vorrichtung nach Anspruch 55, dadurch gekennzeichnet, daß
    409839/0663
    die Wähleinrichtung eine dem Befehlswortregister zugeordnete Ausgabeeinrichtung zur Ausgabe eines Aktiviersignale beim Auftreten eines Einzelbefehls vom Maschinenprogramm aufweist und daß an die Ausgabeeinrichtung und an die Austauscheinriohtung ein ODER-G-atter zur Anlegung der Aktiviersignale von diesen beiden Einriohtungen an den zweiten Eingang des UND-Gatters angeschlossen ist.
    409839/0663
    Leerseite
DE2410491A 1973-03-08 1974-03-05 Datenverarbeitungsanlage Granted DE2410491A1 (de)

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 (2)

Publication Number Publication Date
DE2410491A1 true DE2410491A1 (de) 1974-09-26
DE2410491C2 DE2410491C2 (de) 1989-03-02

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 Before (1)

Application Number Title Priority Date Filing Date
DE2463200A Expired - Fee Related DE2463200C2 (de) 1973-03-08 1974-03-05

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) GB1450918A (de)
NL (1) NL184546C (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
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
JPS55500197A (de) * 1978-04-21 1980-04-03
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
DE3686660T2 (de) * 1985-02-05 1993-04-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 株式会社日立製作所 記憶装置アクセス機構
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
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
GB2335127B (en) 1996-12-19 2002-02-13 Hyundai Electronics America Video frame rendering engine
US6430589B1 (en) 1997-06-20 2002-08-06 Hynix Semiconductor, Inc. Single precision array processor
ATE467171T1 (de) 1998-08-24 2010-05-15 Microunity Systems Eng System mit breiter operandenarchitektur und verfahren
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3346851A (en) * 1964-07-08 1967-10-10 Control Data Corp Simultaneous multiprocessing computer system
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
DE2217565A1 (de) 1971-04-13 1972-12-14 Sperry Rand Corp Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26171A (en) * 1859-11-22 Improvement in grain-binders
NL262931A (de) * 1960-03-29
NL267513A (de) * 1960-07-25
US3245047A (en) * 1962-09-19 1966-04-05 Ibm Selective data transfer apparatus
US3544965A (en) * 1966-03-25 1970-12-01 Burroughs Corp Data processing system
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3346851A (en) * 1964-07-08 1967-10-10 Control Data Corp Simultaneous multiprocessing computer system
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
DE2217565A1 (de) 1971-04-13 1972-12-14 Sperry Rand Corp Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
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
US-B.: S. Husson, Microprogramming, Prentice Hall, Inc. 1970, S. 219-234 *

Also Published As

Publication number Publication date
FR2221053A5 (de) 1974-10-04
GB1450920A (en) 1976-09-29
NL184546B (nl) 1989-03-16
NL7316537A (de) 1974-09-10
AU6287273A (en) 1975-05-29
JPS49122638A (de) 1974-11-22
DE2463200C2 (de) 1990-01-18
NL184546C (nl) 1989-08-16
CA1000868A (en) 1976-11-30
JPS5740532B2 (de) 1982-08-28
US3833889A (en) 1974-09-03
GB1450918A (en) 1976-09-29
GB1450919A (en) 1976-09-29
DE2410491C2 (de) 1989-03-02

Similar Documents

Publication Publication Date Title
DE2410491A1 (de) Datenverarbeitungsanlage
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
DE2515696C2 (de) Datenverarbeitungssystem
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1524129A1 (de) Datenverarbeitungssystem mit gemeinsamem Zugang
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2431379B2 (de) Datenverarbeitungseinrichtung
DE1094496B (de) Anordnung zur Speichersteuerung in Angaben-Bearbeitungssystemen
DE1499288B2 (de) Datenverarbeitungsanlage
DE2455803A1 (de) Mehrprozessor-datenverarbeitungsanlage
DE2719247A1 (de) Datenverarbeitungssystem
CH634940A5 (en) Channel-adapter arrangement
DE2054830A1 (de) Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher
DE2632564A1 (de) Schaltung zur selbsttaetigen auswahl einer unter mehreren speichereinheiten mit einem adressenbereich
DE3013064C2 (de) Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher
DE2055522B2 (de) Anordnung zur eingabe von daten in eine digitale datenverarbeitungsanlage
DE1909477A1 (de) Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem
DE1922304A1 (de) Datenspeichersteuergeraet
DE2558417A1 (de) Datenverarbeitungssystem
DE2032323A1 (de) Vielstufiges Warteschlangensystem
CH495584A (de) Datenverarbeitungsanlage
DE2161213B2 (de) Verfahren und Steuereinheit zum Übertragen von Datenwortblöcken
DE1222289B (de) Datenverarbeitungseinrichtung
DE1808678B2 (de) Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher
DE1449816C3 (de) Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZ

8125 Change of the main classification

Ipc: G06F 9/34

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2463200

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2463200

AH Division in

Ref country code: DE

Ref document number: 2463200

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
AH Division in

Ref country code: DE

Ref document number: 2463200

Format of ref document f/p: P

8339 Ceased/non-payment of the annual fee