DE1549531A1 - Digitale Rechenanlage - Google Patents

Digitale Rechenanlage

Info

Publication number
DE1549531A1
DE1549531A1 DE19671549531 DE1549531A DE1549531A1 DE 1549531 A1 DE1549531 A1 DE 1549531A1 DE 19671549531 DE19671549531 DE 19671549531 DE 1549531 A DE1549531 A DE 1549531A DE 1549531 A1 DE1549531 A1 DE 1549531A1
Authority
DE
Germany
Prior art keywords
access
memory
group
cell
information
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.)
Pending
Application number
DE19671549531
Other languages
English (en)
Inventor
Alfred England
Mendelson Myron J
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.)
Scientific Data Systems Inc
Original Assignee
Scientific Data Systems Inc
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 Scientific Data Systems Inc filed Critical Scientific Data Systems Inc
Publication of DE1549531A1 publication Critical patent/DE1549531A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Description

Unser Zeichen: S 2344
Scientific Ifeta Systems, Inc.
Santa fionica., Kalifornien/V.St .A.
Digitale Rechenanlage
Die hrfinclunp; bezieht sich auf digitale Allzweck-Rechenanlagen mit fjespeichertem Programm und insbesondere auf die Ausbildung des Speichers einer solchen Rechenanlage für Mehrfach-Programmierunf"j v/elche einen schnellen Wechsel von einem Programm zu einem anderen in Abhängigkeit von Unterbrechungssignalen oder auf andere V/eise gestattet.
.."erlerne digitale Allzv/eck-iiechonanlagen v/eisen gewöhnlich einen
/iiv, op el eher
ORIGINAL 1 0 3 8" U / 1 6 6 3
Speicher auf, welcher als Speicher mit beliebigem oder wahlweisem Zugriff bezeichnet wird, indem ein Zügriff zu den einzelnen Speicherzellen eines solchen Speichers jederzeit ohne Bevorzugung bestimmter Zellen möglich ist, und es ist auch nicht erforderlich, daß der Zugriff zu den Zellen in einer bestimmten Folge geschieht^und die Zugriffzeit ist für alle Speicherzellen in Jedem Zeitpunkt gleich. Speicher dieser Art in Rechenanlagen weisen gewöhnlich magnetisierbare Kerne auf, welche in Matrizen angeordnet sind, wodurch der Magnetisierungszustand eines
von
einzelnen Kerns seinen Speicherinhalt in Form/Bits mit binären Bitwerten definiert. Ein Kern ist die kleinste Speichereinheit j wobei der Ausdruck klein hier weniger die physischen Abmessungen als das Fassungsvermögen von Speicherinformation betrifft*
Der Zugriff geschieht bei einem derartigen Speicher gewöhnlich dadurch, daß Gruppen von Speicherzellen gleichzeitig adressiert werden und solche Gruppen beispielsweise einzeln die Speicherzelle für ein Wort bilden, wodurch ein Wort aus einer vorbestimmten Anzahl von Bits besteht.
Die so definierten Speicherzellen enthalten gewöhnlich die ganze zur Ausführung eines Rechenprogramms benötigte Information. Diese Information umfaßt gewöhnlich Worte mit direkter numerischer oder anderer symbolischer Bedeutung und
werden 1098U/1663 BAD original
werden der Verarbeitung unterzogen, was den Hauptzweck des Rechenprogramms darstellt. Andere Worte umfassen Befehle, wobei ein Befehl einen ,die auszuführende Operation kennzeichnenden Kode und beispielsweise eine Kodezahl enthält, welche eine mit der Operation in Beziehung zu setzende Speicherzelle kennzeichnet.
Wenn bei einem solchen Speicher oder einer Speicherzelle beispielsweise durch Lesen, seines Inhalts ein Zugriff durchgeführt wirdj ist es nötig, einen sogenannten Lese-Schreibzyklus einzurichten. Während der Lesephase wird der Inhalt der adressierten Speicherzelle beispielsweise in ein Speicherregister gegeben. Die Art dieses LeseVorgangs ist abbauend, c* 'ι, sie zerstört die in der Speicherzelle enthaltene Information. Daher muß normalerweise das gleiche Wort in die Speicherzelle, aus welcher es entzogen worden ist, zurückgeschrieben werden und dies stellt die Schreibphase eines Speicherzyklus dar. Ein solcher Lese-Schreibzyklus definiert die Zeitdauer der kürzesten Größenordnung, in welcher bei dieser Speicherart der Zugriff durchgeführt werden kann. Gelegentlich kann es statthaft sein, ohne Viiederauf zeichnen zu lesen, wenn das Wort im Speicher nicht mehr gebraucht wird. Vom Standpunkt des Programmierens kann es jedoch nicht erwünscht sein, zwischen einer Wortübertragung aus dem Speicher mit oder.ohne Wiederaufzeichnung zu unterscheiden. Daher, ist der allgemeine Fall für den Speicherzugriff ein vollständiger Lese-Schreibzyklus. .
BADOBIGWAL 109814/16G3
Die magnetischen Eigenschaften und insbesondere die Sättigungsänderungen dieser einzelnen, die einzelnen Bits speichernden Kerne begrenzen die Zugriffsgeschwindigkeit des Speichers. Die Lese- und Schreibvorgänge, d.h. das Zeitintegral des zur Änderung des Magnetisierungszustands eines solchen Kerns erforderlichen elektrischen Stromes muß einen bestimmten Wert haben und der Strom wird durch die verwendeten physischen Abmessungen begrenzt, so daß die benötigte Zeit ein fester Parameter ist. Der Lese-Schreibzyklus liegt bei bekannten Anlagen im Bereich von 0,5 bis 1 Mikrosekunden und eine Verkürzung dieser Zeitspanne 1st zwar möglich, hat sich jedoch aus vielen Gründen als unpraktisch erwiesen.
Eine Mehrzweck-Rechenanlage mit gespeichertem Prc;·?' : arbeitet gewöhnlich so, daß zur Ausführung eines Programms einzelne Speicherzellen nacheinander im Zugriff betätigt werden. Eine so betätigte Zelle kann einen am nächsten auszuführenden Befehl enthalten oder eine solche Zelle ist entweder die Quelle oder das Ziel eines Operanden. In vielen Fällen wird der Inhalt einer einzeln, beispielsweise auf den Wortwert, betätigten Zelle sodann in eine zentrale Verarbeitungseinrichtung geleitet und wird- entsprechend einem gleichzeitig vorgesehenen Steuer- oder Operationskode verarbeitet. Zur Erzielung einer unzweideutigen Operation wird nur eine Wortzelle zu einem Zeitpunkt (je Speicherzyklus)
betätigt
10-98 U/166-3
BAD ORIGINAL
betätigt oder ergriffen, um den Übergang beispielsweise eines Wortes-"..zwischen dem Speicher und der zentralen Verarbeitungseinrichtung und in einer oder der anderen Richtung zu ermöglichen. Dies bedeutet, daß beim Vorhandensein von zwei oder mehreren Worten bei einer bestimmten Operation gewöhnlich zwei oder mehr SpeicherZyklen für den Übergang von Worten erforderlich sind.
Beispielsweise erfordert normalerweise eine Operation, bei 'welcher--zwei" Zahlen addiert werden sollen, daß zuerst der Augend vom Speicher in die zentrale Verarbeitungseinrichtung*
: 1
beispielsweise in einen sogenannten Akkumulator gegeben wird. In einem folgenden Speicherzyklus wird der Addend gezogen und in der zentralen Verarbeitungseinrichtung verarbeitet und die Summe wird im Akkumulator belassen. Ein weiterer Speicherzyklus ist erforderlich, um die Summe in eine Speicherzelle zurückzuübertragen und den Akkumulator für einen neuen Vorgang freizumachen. Gewöhnlich wird jede dieser gerade beschriebenen Operationen durch verschiedene Befehle gekennzeichnet und es sind drei zusätzliche Speicherzyklen erforderlich, um einen Zugriff zu den Speicherzellen durchzuführen^ welche die Befehle enthalten, um dadurch die oben beschriebenen Operationen zu bewirken. Dementsprechend erfordert die oben geschilderte Operationsfolge sechs Speicherzyklen.
Diese
BAD ORiGlNAL
:: 1098 U/1663 . ■
Diese sechs Speicherzyklen laufen in der folgenden Weise ab. Das. Programrarechenwerk erzeugt in einem bestimmten Moment eine Speicherzellen-Adressenzahl und es wird ein erster Speicherzyklus durchgeführt, um den Zugang zu dieser bestimmten Speicherzelle zu erhalten. Nach dem Zugriff wird der Inhalt derselben herausgezogen und es kann angenommen werdens daß ein Befehl empfangen wird, welcher bewirkt, daß sich ein Steuerkode und eine Speicherzellen-™ Adressennummer ergibt, wobei der Steuerkode die übertragung eines Wortes von der gleichzeitig gekennzeichneten Speicherzelle zum Akkumulator hervorruft. Diese übertragung wird dann im zweiten Speicherzyklus durchgeführt.
Nach Beendigung dieser übertragungsoperation ruft das Rechenwerk eine weitere Speicherzelle an, welche nunmehr einen dritten Speicherzyklus erfordert. Während dieses dritten Zyklus kann ein Befehl empfangen werden, welcher fe wiederum einen Steuer- oder Operationskode und einen Speicherzellen-Kennzeichnungskode aufweist, wobei der Steuerkode bewirken kann, daß die in der gleichzeitig vorgesehenen Speicher-Adressenstelle enthaltene Zahl zu dem Inhalt des Akkumulators addiert wird. Diese Addition wird gewöhnlich im nächsten Speicherzyklus ausgeführt, wobei die Summe im Akkumulator verbleibt. Nach Beendigung des Addiervorganges ruft das Programmrechenwerk wiederum die nächste .Speicher-Adressenstelle oder Zelle entsprechend
dem 1098U/1663
BAD ORIGINAL
dem Programm an,, wobei dies den fünften Lese-Schreibzyklus darstellt, und diese Speicherzelle kann nun einen Befehl enthalten, welcher bewirkt, daß das augenblicklich im Akkumulator enthaltene Wort in der Zelle gespeichert wird, welche durch die gleichzeitig erzeugte Speicheradresse während des fünften Speicherzyklus bezeichnet wird. Dieser vollständige Ablauf ist erforderlich, wenn nicht der Augend sich bereits im Aldaimulator als Resultat einer anderen arithmetischen Operation befindet, welche der beschriebenen direkt voranging, und/oder wenn nicht die durch die Addition erhaltene Summe lediglich für eine weitere arithmetische Operation benötigt wirdj welche der beschriebenen unmittelbar nachfolgt. In allen anderen Fällen muß der Akkumulator zuerst geladen werden" und sein Inhalt muß sodann gespeichert werden, da der Akkumulator für eine andere Operation verfügbar sein muß und daher nicht als Speichereinheit dienen kann.
■■ ■ ' ■ ■ '
Dieser letztere Punkt ist besonders kritisch. Der Akkumulator muß gewöhnlich mindestens zwei Register aufweisen, falls Gleitkommaarithmetik vorkommt. Dies bedeutet, daß die Verarbeitungseinheit für irgendeine Operation nur verfügbar gemacht werden kann3 nachdem der Inhalt der Akkumulatoren im Speicher oder Gedächtnis gespeichert ist.
Eine leistungsfähige Reehenanlage muß mit einem Unterbrechungs-
1088U/166 3 BAD0R1G!NAL
. 8_ 1549S31
system ausgestattet sein, welches die Unterbrechung des laufenden Programms ermöglicht, so daß die Rechenanlage sich einer dringenderen Aufgabe zuwenden kann. Dies ist insbesondere wichtig, wenn die Rechenanlage im Realzeitbetrieb oder schritthaltend arbeitet. In diesen Fällen werden veränderliche Vorkommnisse von außen auf die Rechenanlage gegeben. Wenn sich verschiedene Benutzer in die Rechenanlage teilen, die voneinander und von der Rechenanlage entfernt sind, kann es sein, daß jeder Benutzer die Rechenanlage jederzeit benützen möchte, Dabei müssen sodann verschiedene, miteinander nicht in Beziehung stehende Programme in der Rechenanlage enthalten sein und werden in Art einer Mehrfachschaltung ausgeführt. Jedem von beispielsweise zehn Benutzern scheint es, daß er die Rechenanlage allein benützt, nur daß die Rechenanlage für ihn nur ein Zehntel so schnell zu arbeiten scheint als es tatsächlich der Fall ist. Dies erfordert jedoch, daß die Rechenanlage schnell von einem Programm auf ein anderes umschalten kann. Mit anderen Worten, wenn ein Wechsel von einem Programm zum anderen stattfindet, soll nicht viel Rechenanlage-Betriebszeit mit Operationen verschwendet werden, mit welchen die Rechenanlage die Abfolge von "brauchbaren" Operationen organisiert.
Neben dem Akkumulator sind andere Register in der Rechenanlage vorhanden, welche Zahlen und andere zum Programm ge-
λ * hörige 109814/1663
BAD ORIGINAL
hörige Daten enthalten. Beispielsweise sind sogenannte Indexregister vorhanden, Vielehe Zahlen zwecks Veränderung von Adressenkodezahlen halten, d.h. zeitweise speichern. Alle diese"Zahlen in diesen Registern müssen in der bekannten Weise zuerst in Speicherzellen gespeichert werden, bevor die Rechenanlage beispielsweise infolge einer Unterbrechung oder infolge der oben erwähnten Programm-Mehrfacheingabe auf ein anderes Programm umschalten.kann.
Die Erfindung schafft Verbesserungen in der Beziehung zwischen dem Akkumulator und anderen Verarbeitungsregistern sowie dem Speicher. Erfindungsgemäß wird vorgeschlagen, daß der Speicher erweitert wird, so daß er mehrere Register enthält. Register ■weisen "gewöhnlich bistabile Stufen auf, und zwar jeweils eine zur Speicherung eines einzigen Bits. Die Zugriffgeschwindigkeit für ein Register ist nur durch die verwendeten elektronischen bestandteile-begrenzt, insbesondere durch die Zeit, um stabile ■elektrische Zustände zu erreichen. Diese Zugriffgeschwindigkeit jj kann im Vergleich zu dem Zugriff zum Kernspeicher um mehr als eine Größenordnung erhöht werden. Im folgenden soll daher .'zwischen einem Speicherten mit niedriger Zugriff geschwindigkeit und einem Speicherteil mit hoher Zugriffgeschwindigkeit unterschieden' v/erden. Der Speicherteil mit hoher Zugriff geschwindigkeit besteht aus Rechtem mit bistabilen elektronischen Zuständen, wie Tra-nsistor-Fllpflops.. Der Speicherteil mit niedriger Zugriffgeschwindigkeit kann ein Kernspeicher oder
ein 1098 14/1683 BAD ORIOINAl-.
ein Typ mit noch niedrigerer Zugriffgeschwindigkeit einschließlich Speichern mit nichtbeliebigem Zugriffs wie Scheiben, Trommeln, Verzögerungsleitungen, Bänder und dergleichen, sein.
Die Haup-^funktion des Speicherteils mit hoher Zugriffgeschwindigkeit besteht in einer zweifachen Rolle. Einerseits dient der schnelle Speicherteil als Speicher, indem die Register des schnellen Speicherteils Datenworte für beliebige Zeitdauern speichern. Diese Register können sodann im Speicherkontinuum enthalten sein und können als Speicherzellen adressierbar gemacht werden oder es kann eine besondere Zugriff art zu diesen Speicherzellen mit schnellen Zugriff oder eine Kombination dieser Arten vorgesehen werden.
Speicherrecister Andererseits können die lao als Portsetzungen der Verarbeitungseinrichtung dienen. Zu diesem Zweck sind die Register des schnellen Speicherteils zu Gruppen zusammengefaßt und die Gruppen sind einzeln durch besondere Kodes kennzeichenbar. Diese Kodes werden auch als Blockanzeigekodes bezeichnet und die Gruppen von Registern werden Blocks genannt.
Bei Betrieb ist ein bestimmter Biockanzeigekode beispielsweise
in einem besonderen Register vorgesehen, wodurch eine Gruppe Speicherrep.ister
der schnellen A gekennzeichnet und vorläufig aufgesucht wird. Irgendein Register dieser Gruppe oder dieses
Blocks
109814/1883
BAD ORIGINAL
Blocks dient dann als Akkumulator. Es ist zwar noch ein Eingangsregister der Verarbeitungseinrichtung vorgesehen, aber die Analogie desselben zu einem bekannten'Akkumulator ist nicht sehr eng, da das Eingangsregister der Verarbeitungseinrichtung lediglich ein zeitweise arbeitendes Element ist, welches die Handhabung von Daten erleichtert, jedoch keine bestimmte Bedeutung als in·einem Programm kennzeichenbare Zelle besitzt. Dieses Eingangsregister der Verarbeitungseinriehtung enthält daher niemals andere Daten als solche, ™
welche unmittelbar verarbeitet werden, und sodann auch nur zeitweise, ohne daß programmierte Auflade- und Entleerungsvorgänge der oben beschriebenen Art erforderlich sind. Alle
Speicherregistern
anderen Daten werden in bestimmten &feta*aftiifi£-e£ie«- des laufenden Blocks gehalten. Mit anderen Worten, nunmehr ist der laufende Block selbst der Akkumulator. Jedes Speicherregister ist adressierbar» Dies führt zu einem bestimmten Format des Befehlswortes.
■; :■■■■■■" ; <
Die grundlegende Form des erfindungsgemäß verwendeten Befehlswortes enthält in bekannter Weise einen Betätigungsoder Steuerkode, weicher die durchzuführende Operation bezeichnet ο Wenn ein bestimmter Steuerkode in der Verarbeitungseinrichtung vorhanden ist9 werden bestimmte Steueroperationen, für welche die Einrichtung geschaltet ist, von derselben durchgeführt. Das Befehlswort weist - *■ weiter einen Onterkode· auf, welcher ein bestimmtes Speicherregister Im laufenden Block als Operandquelle3 als Resultat-
BAD ORIQIfMAL
- 1Ö98U/1663
cbestimmung
bestimmung oder beides kennzeichnet, wodurch der jeweilige Akkumulator-oder Verarbeitungseinrichtung-Eingangsfortsatζ bei der durch den Betätigungskode hervorgerufenen jeweiligen Operation bestimmt wird.
Der jeweilige Betätigungskode kann bedeuten, daß das so gekennzeichnete Register das erste von mehreren als Akkumulator zu verwendenden ist. Ein weiterer Kode kann ein Register im W laufenden Block kennzeichnen, welches als Indexregister verwendet werden soll. Die Unterkodes zusammen mit der im Blockanzeigeregister gehaltenen Kodezahl sind die Adressenkodes für Speicherregister.
Außerdem enthält das Befehlswort Bits, welche Information " mit numerischer Bedeutung enthalten. Dies kann eine Zahl sein, welche direkt als arithmetischer Operand verwendet werden soll, oder es kann eine Zahl sein, welche die Adresse einer * Speicherzelle darstellt, die den arithmetischen Operanden enthält oder das Ziel oder die Bestimmung eines arithmetischen Operanden ist. Wenn daher der Speicher als Gesamtheit betrachtet wird, welche sowohl Teile mit schnellem als auch mit langsamem Zugriff enthält, so kennzeichnen die meisten Befehlsworte, insbesondere die, welche für arithmetische Befehle verwendet werden, zwei oder mehrere Speicherzellen, .welche alle auf die jeweilige, durch den Betätigungskode hervorgerufene Operation bezogen sind.
Der 109814/1683
BAD ORIGINAL
Der schnelle Speieherteil weist weiter eine Mehrzahl von Registern auf, welche durch einen Teil eines Adressenkodes · von der Art adressierbar sind, wie sie zum Adressieren einer Speicherzelle mit langsamem Zugriff verwendet werden. Dieser Teil wird durch die höheren Bitstellen dieses Adressenkodes gebildet und dieser kann daher als Seitenadresse für eine feste Anzahl von Speicherzellen betrachtet werden. Eine Seitenadresse schafft den Zugriff zu einer Seite im Speicher. Nunmehr wird statt dessen eine solche Seitenadresse zum'Adressieren eines der Register in der weiteren Mehrzahl von Registern verwendet, welche eine andere Seitenadresse enthalten, die mit den unveränderten Bits niedriger Ordnung der ursprünglichen Speicheradressenzahl verknüpft werden soll. Daten, welche durch Programmieren in bestimmten Speicherzellen gespeichert werden sollen, können versetzt werden, falls mehrere Reehenprogramme in dem Speicher gespeichert werden sollen, da die ursprünglichen Adressenstellen,-.welche zu einem Programm gehören, nicht verfügbar sein können, weil sie von einem anderen Programm besetzt sind.
Es ist daher ersichtlich, daß der Speicher mit schnellem Zugriff als ganzes eine dynamische Änderung von Adressen ermöglicht. Es werde ein Befehl in dem oben beschriebenen Wortformat betrachtet, welcher ausgeführt werden soll. Nunmehr wird der die volle Länge aufweisende Speicheradressenkode folgenden Änderungen unterworfen: Einer der Unterkodes des
BAD ORIGINAL 1 0 9 8 14/16 63. Befehlswortes
Befehlswortes zusammen rait dem laufenden Blockanzeigekode adressiert oder sucht eine erste schnelle Speicherzelle,
deren Inhalt zu der die volle Länge besitzenden Speicherzelle adressenzahl addiert wird, so daß er an einer Adressenbierfc*
eines anderen Programms erscheint. Dieser Vorgang wird Indicieren genannt. Ein Teil (die Bits hoher Größenordnung) dieser neuen Adressenzahl oder ein Teil der ursprünglichen ^ Adressenzahl, wenn kein Indicieren stattfand, wird zum Adressieren einer zweiten schnellen Speicherzelle verwendet, welche gewöhnlich außerhalb des laufenden Blocks liegt, um die Seitenadresse der augenblicklichen Adressenstelle gegen
Adressenzuordnung eine neue auszutauschen. Dieser Vorgang wird /oder Mapping genannt. Die so erhaltene endgültige Adressenzahl wird sodann für den Speicherzugriff verwendet.
Der Hauptvorteil des Befehlswortformats und der daraus folgenden Ergänzung beruht auf der Tatsache, daß das Befehlswort W nicht nur zwei Register für Adressenänderungen kennzeichnen kann, sondern auch zwei Speicherzellen von zwei HauptOperanden, wobei die Zelle unabhängig, d.h. gleichzeitig aufgesucht und gleichzeitig verarbeitet werden kann. Es wird betont, daß dies nichts mit Swei_adressen-Befehlsrechenanlagen zu tun hat, bei welchen ein Befehlswort eine Operandenadresse sowie die Adresse für den nächsten Befehl enthält. Es sind auch Mehradressensysteme bekannt, bei welchen das Befehlswort mehrere Operandenadressen enthält, welche alle Zellen in einem Speicher
mit 1098U/1663
mit langsamem Zugriff enthält, welche nacheinander zugänglich sind. Die vorliegende Erfindung stellt eine Verbesserung für eine Einadressen-Rechenanlage dar, bei welcher das Befehlswort nicht mehr als eine Adresse einer Speieherzelle mit langsamem Zugriff enthält, wobei alle anderen, durch das Befehlswort gekennzeichneten Speicherzellen einen schnellen Zugriff aufweisen. Die Verwendung des Erfindungsgedankens ist entsprechend zur Verbesserung von Zxveiadressen- oder Mehr- ^ adressen-Rechenanlagen möglich.
Einer der Unterkodes eines Befehlswortes bewirkt, wie oben erläutert, zusammen mit dem Blockanzeigekode den Zugriff zu einer Speicherzelle mit schnellem Zugriff, welche dadurch
Akkumulator zu em den ersten Operanden haltenden laufenden -
wird. Die die volle Länge besitzende Adresse ergibt,
möglicherweise nach einer in den vorangehenden Abschnitten beschriebenen Änderung, den Zugriff zu einer zweiten Speicherzelle, welche eine den zweiten Operanden enthaltende schnelle oder langsame Speicherzelle sein kann. Bei der hier beschriebenen
. zugeordnet
Ausführungsform werden schnelle Speicherzellen nicht, fe,
das Mapping jedoch kann bei anderen Aus führungs formen auf diese Speicherzellen ausgedehnt werden. So sind nach einem einzigen Zugriffzyklüs einer-Jbängsamen. Speicherzelle oder sogar noch schneller zwei Operanden, zur Verarbeitung verfügbar. Die Blockanzeige ermöglicht eineh.s schnellen Wechsel von einem Registerblock zu einem anderen,· indem durch Änderung des Block-
anzeiKekodes 1098.14/16-63
anzelgekodes der ganze vorherige Block Speicher und ein neuer Block Akkumulator wird. Dieser letztere Gesichtspunkt ist jedoch nicht einschränkend, indem die Register des neuen Blocks lediglich als Akkumulatorregister dienen können. Einige von ihnen können auch als Indexregister verwendet werden öder sie können irgendeine Art von numerischer oder Steuerinformation enthalten, welche zur Ausführung der jeweiligen Operationen gehört. Sie können Adressenkodes enthalten und dadurch einen Befehl in einen Befehl mit zwei Adressenkodes ohne Erweiterung des Formats dee Befehlswortes umwandeln. Sie können Zählzahlen zum Definieren einer bestimmten Mehrzahl von Speicherzellen enthalten, deren erste beispielsweise in dem Adressenfeld eines Befehlswortes definiert ist· So können die Registerblocke gemeinsam als Speicher bezeichnet werden und sie können einzeln als Mehrzweckregister mit programmierbarer Verwendbarkeit bezeichnet werden.
Diese Blockbildung zusammen mit dem oben erläuterten
Mapping .
ermöglicht eine Mehrfachaueführung von einigen unabhängigen Programmen in einer Weine, die eine weitgehende Ausnutzung der Rechenanlage für die Ausführung der verschiedenen Programme selbst ohne unnütze ZeltVerschwendung zum Organisieren des Wechsels von einem Programm zu einem anderen er-
Das riappi-ng,
* mOglicht. « Kp ermöglicht das Einbringen einer beliebigen 1098 U/1663
lieb igen Anzahl von unabhängigen Programmen in den .' Speicher der Rechenanlage, wobei diese Anzahl lediglich durch die Kapazität des Speiehers und nicht durch die Verfügbarkeit der einzelnen Speicherzellen beschränkt wird, die in den einzelnen Programmen eingeschrieben werden» Die Anwesenheit eines Programms im Speicher kann lediglich durch seine Dringlichkeit und nicht
durch die Verfügbarkeit von explizit programmierten ^
Speieherzellen bestimmt werden.
Die Verschiebung von Block zu Block bei einem Wechsel von einem Programm zu einem anderen ermöglicht daher die Verschiebung von einem Programm zu einem anderen ohne vorherige Behandlung zahlreicher Operanden, Daten und dergleichen,, welche in dem Block enthalten sind, der gerade vor dem Zeitpunkt verwendet worden war, zu dem solch ein Wechsel nötig wurde. Dieser Gesichtspunkt eines schnellen Wechsels von Programm zu Programm ist .. ■ " weiterhin wichtig für ein schnelles Ansprechen auf zeitempfindliche Unterbrechungen, welche zu einem Zeitpunkt auftreten, während irgendein Programm durchgeführt wird. Die Ansprechzeit ist hierbei die Zeit vom Auftreten des Unterbrechungsbefehls bis zum Zeitpunkt der Ausführung des ersten brauchbaren Befehls in Abhängigkeit davon. Wenn dieser erste brauchbare Befehl der erste einer regelmäßigen Reihe ist, welche für ein anderes Programm als
BADORfGiRAL 1098 14/1683 ~
das unterbrochene gehalten werden muß, dann ist es klar, daß das ganze Unterbrechungssystem eine Ansprechzeit aufweist, welche durch die Zeit gemessen wird, die die Rechenanlage braucht, um von einem Programm zu einem anderen umzuschalten, sowie von einer Art, welche verhindert, daß das bis dahin ausgeführte, unterbrochene Programm infolge der Unterbrechung wertlos wird. Die Ansprechgeschwindigkeit beruht hierbei auf der Kombination der Blockanzeige mit einem Vorrang-Unterbrechungssystem, in welchem ein Unterbrechungssignal, das in irgendeinem Augenblick den höchsten Vorrang unter allen Unterbrechungs-Signalen (wenn andere vorhanden sind) besitzt, direkt die Ausführung eines Befehls auslöst, welcher die Blockanzeige (und andere wesentliche Daten) wechselt.
Jede Unterbrechung mit dem jeweils höchsten Vorrang zum Zeitpunkt des Auftretens kann von der Rechenanlage in diskreten, unterbrechbaren Zeitpunkten beachtet werden, deren jeder so definiert ist, daß er ein Anhalten der Ausführung des laufenden Programms ermöglicht, ohne dieselbe wertlos zu machen. Danach erfordert es nur fünf Speicherzyklen, bevor der erste brauchbare Befehl des unterbrechenden Programms beginnen kann. In diesen fünf Speicherzyklen tritt unter anderem ein Wechsel des Blockanzeigekodes auf, worauf alle Register des vom unterbrochenen Programm verwendeten Blocks betriebsmäßig aus der zentralen
Λ ΛΑ Verarbeitungseinheit 109814/1663 """"
Verarbeitungseinheit (CPU) als Mehrsweckregister herausgenommen werden und alle Register eines anderen Blocks statt dessen als Mehrzweckregister verfügbar werden* Wenn beispielsweise angenommen wird, daß Jeder Block sechzehn Register aufweist, und -weiter angenommen wird, daß alle diese Speicherregister Daten enthalten, würde es andernfalls länger als 32 Speicherzyklen dauern, um den gleichen Zustand der Rechenanlage hervorzurufen, wenn die CPU nicht Register enthält, welche sowohl Speicher» als auch Hehrzweckregister sein können.
Das Befehlswort-Format umschließt die Möglichkeit der Übertragung eines Worts von einer Kernspeicherzelle zu
aem Speicherregister des laufenden Blocks oder umgekehrt, was wiederum als Setzvorgang beispielsweise des Akkumulators, Indexregisters und dergleichen gedeutet werden kann, es kann jedoch auch als ZwlBchenspeicher-Wortübertragung gedeutet werden. Wenn jedoch das Programm so geschrieben 1st, daß sich einer der Operanden stets in einem Speicherregister des laufenden Blocks befindet, so können diese lediglich einen übergang oder eine Versetzung bewirkenden Operationen auf einem Minimum gehalten werden. Mit Bezug auf die oben gegebene Beschreibung eines AdditionsVorganges oder auf einen Programmwechsel wird es nun in vielen Fällen möglich, das Setzen des Akkumulators und/oder Speichern des Ergebnisses im Speicher wegzulassen, vorausgesetzt, daß der
Programmierer 100014/1063
Programmlerer die Tateache optimal ausnützt j daß die Zellen mit schnellem Zugriff sowohl Speicher als auch Akkumulator sind.
Die verschiedenen Bits in einem Befehlswort können auf verschiedene Weisen als ähnliche Verarbeitungsoperationen umfassend gedeutet werden. Beispielsweise kann sich ein oder mehrere Teile stets auf ein Speicherregister be-™ ziehen. Der Inhalt dieses Speicherregisters wird,, sodann zu einem zweiten Teil des Befehlswortes addiert.;Wenn : dieser zweite Teil eine Adressennummer darstellt, so stellt der Vorgang ein Indicieren dar, welcher zur Berechnung einer anderen Speicheradresse verwendet wlrdr, ; ; Wenn jedoch dieser zweite Teil im Befehlswort eine unmittelbare numerische Bedeutung hat, so ist der Vorgang eine direkte Operanden-Äddleroperation. Im Fa.3.1-.des Indicierens kann ein Teil der neu berechneten Zahl (eine Adressenzahl)
Zuordnen
fe zum oder Mapping verwendet werden, d.h. zum Suchen eines anderen Speicherregisters mit schnfe-liem Zu- ; griff. Im Fall des Addierens als unmittelbare arithmetische Operation wird die erhaltene Zahl in dem schnellen Speiche1!·- register gespeichert, aus welchem der Addend ausgelesen wurde.
, Anhand der Figuren wird die Erfindung beispielsweise ■ näher erläutert. Es zeigt
Figur
1098U/1663
Figur 1 ein fBloelts ehält schemader grundlegenden Elemente, welche erfindungsgemäß zur Verbesserung einer digitalen Rechenanlage verwendet werden,
. .. . .... ...'." oder die Struktur
Figur 2 sehematisch das Format^des grundlegenden Befehlswortes, weiches in der den Gegenstand der vorliegenden Erfindung bildenden Rechenanlage verwendet wird,
Figur 3 beispielsweise die verschiedenen Phasen einer arithmetischen Addieroperation, welche mit dem in Figur dargestellten System durchgeführt wird,
,-■--';·*- einer anderen Ausführungsform'" Figur k eine Teildarstellung/des in.Figur 1 dargestellten Systems, -.: ;
Figur 5 etwas sehematisch einen Unterbrechungsmodul mit Adressier- und -Steuersystemen sowie dessen Beziehung zu Modulen, welche<zu Unterbrechungskanälen mit höherem oder \ niedrigerem Vorrang gehören, und -
Figur 6 etwas sehematisch das Unterbrechungssystem zusammen mit einer Schaltung als Blockschaltskizze, welche bei der Ausführung von zwei Befehlen vorkommt, die ganz allgemein in Abhängigkeit von einer Forderung nach Unterbrechung ausgeführt werden.
Figur 1 zeigt einen Teil der zentralen Verarbeitungseinheit CPU
1 0 9 8 H / 1 6 6 3 loo
BAD QIHiGlNAL
100 und eine Kernspeichereinheit 10. Der gesamte Speicher für die hier beschriebene Rechenanlage umfaßt die Kernspeichereinheit 150, welche ein Teil der zentralen Verarbeitungseinheit ist, Jedoch ist der schnelle Speicher teilweise und mit verschiedenen Zugriffzeiten verfügbar. Die Einheit 150 kann auch Eigenspeicher der CPU bezeichnet* werden. ·
Der Kernspeicher 10 ist an sich bekannt und wird hier daher nur kurz und soweit wie nötig beschrieben. Der Kernspeicher selbst weist Ringkernmatrizen zum Speichern von Datenbits in einem Wortformat auf, welches 32 Bits je Wort umfaßt, und jeder Bit wird in einem einzigen Ringkern gespeichert. Die 32 Ringkerne, welche die Bits eines Wortee speichern, werden nachfolgend als Speicherzelle oder als Speicherzelle mit langsamem Zugriff bezeichnet. Ein Zugriffsteuersystem 11 wählt die jeweils zu adressierende Speicherzelle. Das Zugriffsteuer-} system 11 weist mehrere Eingangsleitungen oder Kanäle auf, welche auf die eine Adressenkodezahl bildenden Bits anssprechen, solange diese im Adressierregister 12 gehalten werden. Der Eingang des Registers 12 ist eine Speichersammelleitung 125, welche so viele Kanäle aufweist, wie zur Bildung einer Kernspeicheradresse Bits nötig sind. Die Steuervorrichtung 11 dekodiert die Im Register 12 gehaltene Kodezahl und gibt darauf beruhende Steuersignale,.^uf die Ausgangsleitungen 13· Die Signale in den Leitungen 13 suchen bestimmte Adressenzellen im Kernspeicher 15.
1098U/1663 Ein
Ein Lese- und Schreibsteuernetzwerk 1*1 führt den Speicher zyklisch durch abwechselnde Kernspeicherauslese- und Einschreibphasen, wobei jede Phase eine genügende Dauer besitzt, um dlfcsnötigen Änderungen der Magnetisierung in einzelnen Kefnspeiehern der gerade adressierten Speicherzelle zu bewirken.
Gewöhnlich dauert ein voller Lese-Schreibzyklus etwa eine Mikrosekunde. Die.heutige Entwicklung ermöglicht die Verminderung dieser Zeitspanne auf 800 Nanosekunden und darunter. Die Datier-;-jedes Lese-Schreibzyklus wird durch öle Geschwindigkeit bestimtitt, mit der die Magnetisierung eines Kerns im Speicher 15 von einem Sättigungswert auf einen entgegengesetzten geändert werden kann. Zum Ablesen des in einer Speicherzelle gespeicherten Inhalts ist ein voller Lese-Schreibzyklus erforderlieh, da das Ablesen des Kernspeichers ein Vorgang 1st, welcher die durch die jeweilige Magnetisierung des Kerns gebildete Information zerstört, so daß die Wortablesung in die gleiche Zelle zurückgeschrieben werden muß.
Während der Ablesephase wird das Wort, wie es aus der adressierten Zelle abgelesen wird, in das M-Register 16 gegeben und von dort wird das gleiche Wort;üw' der darauffolgenden Schreibjihase in der gleichen Zelle* wieder %üfgezeichnet. Polgen von Kern* ßpeicher-Ablesevörgängln erfordern daher Polgen von vollständigen Lese-Schreibzyklen, was einen Begrenzungsfaktor für
. die
BAD OBlGlNAL
15A9531
die Geschwindigkeit der Rechenanlage darstellt. Während des Aufzeichnens oder Schreibens allein wird die adressierte Speicherzelle zuerst abgelesen, wodurch der vorige Inhalt derselben zerstört wird. Das M-Register, welches den Inhalt dieser Speicherzelle erhält, wird sodann vollständig entleert, falls ein volles neues Wort aufzuzeichnen ist. Dieses neue Wort wird sodann in das M-Register gesetzt und k danach in der noch adressierten Speicherzelle aufgezeichnet.
Bei der Aufzeichnung von Halbworten oder Viertelworten (Bytes) wird der ursprüngliche Inhalt der jeweiligen Zelle nach vorherigem Ablesen und Eingeben in das M-Register nur teilweise zerstört und das neue Halbwort oder Byte wird sodann für eines der zwei Halbworte oder für eines der vier dann im M-Reglster gehaltenen Bytes gesetzt und sodann das ganze Wort in die jeweilige Zelle geschrieben.
Die Speicheradressenkodes werden durch die und in der " zentralen Verarbeitungseinheit 100 erzeugt, wie weiter unten beschrieben wird. Zur Beschreibung des vorliegenden Systems soll angenommen werden, daß die Speichersammelleitung 125 einen 17-Bit-Kode überträgt. Daher ist die Gesamtzahl von adressierbaren Speicherzellen 2 (131 072). Die Speichereinheit 10 besitzt jedoch nicht notwendigerweise so viele Zellen, d.h. nicht alle Zellen, welche unzweideutig durch einen 1.7-Bit-Kode definierbar sind, müssen ausgeführt werden, da es nicht notwendig oder wirtschaftlich
sein 1098-1 A/1663 BAD ORIGINAL
sein kann, so viele Speicherzellen bei einer bestimmten Rechenanlage zu haben. Eine Anpassung der Speichergröße ist aus Preisüberlegungen oft wesentlich.
Wie ausgeführt, wird ein gelesenes .und/oder aufzuzeichnendes Datenwort im Speicher-M-Register 16 gehalten. Die Ausgangskanäle 18 des M-Registers erhalten ein Wort aus dem Speicher-M-Register 16 zur Ausgabe in die zentrale Verarbeitungseinheit 100, die M-Register-Eingangskanäle 17 erhalten ein Λ Wort von der zentralen Verarbeitungseinheit 100 zur nachfolgenden Speicherung im Kernspeicher. Im allgemeinen Fall geht ein aus dem Speicher abgelesenes Wort vom M-Register über die Kanäle 18 zu einem Steuerregister C und ein im Kernspeicher 15 zu speicherndes Wort wird normalerweise von,einer Verarbeitungseinheit 120 erzeugt. Die Einzelheiten und denkbaren und möglichen Abänderungen dieser Einheit 120 betreffen die vorliegende Erfindung nicht unmittelbar. Es genügt die Feststellung, daß die Einheit 120 ein Additionswerk 121 enthält, und zwar vorzugsweise ein paralleles Additionswerk j welches zwei auf dasselbe gegebene Zahlen additiv kombiniert. Eine zu kombinierende Zahl wird im D-Register gehalten, welches in Reihe mit dem C-Register gekoppelt ist, um eine Zahl aus demselben zu empfangen, welches aus dem Speicher erhalten wurde. Die andere zu addierende Zahl wird im Α-Register gehalten, welchem das zeitweise arbeitende Akkumulatorregister ist. Der Ausgang des Addierwerks
"1098H/1683
BAD ORIGINAL
- 2β -
wird entweder durch einen Kanal 122 rezirkuliert 3 "wie es im Fall der Multiplikation oder Division nötig ist, oder die Summe (oder Differenz) wird in eine Datenausgangs-Sammelleitung 175 gegeben. Die Verarbeitungseinheit 120 führt andere Funktionen aus, wie die Bildung der Inversion eines Zahlwortes, den Wechsel seines Vorzeichens, ctfe Bestimmung, welche von zwei Zahlen (welche wiederum im A- und D-Register gehalten werden) größer oder kleiner ist oder ob sie gleich oder ungleich sind. Wenn das Ergebnis dieser Operation eine Zahl ist, wird diese Zahl entweder in die Sammelleitung 175 oder in die Sammelleitung 17 gegeben, wobei das letztere in solchen Fällen auftritt, in welchen das Ergebnis in den Kernspeicher 15 übertragen werden soll.
Die Einheit 120 kann auch lediglich als Übertragungseinheit für solche Fälle arbeiten, in welchen ein Wort, das aus irgendeinem Grund in das A- oder D-Register gesetzt worden ist, in den Speicher übertragen werden soll, und sodann wird das Wort in die Ausgangssammelleitung 17 oder 175 Je nach Lage des Falles gegeben. Der Zweck der Sammelleitung 175 wird weiter unten beschrieben.
Es wird nunmehr in der Beschreibung des Speichers 150 mit schnellem Zugriff in der CPU 100 fortgefahren. Die schnelle Speichereinheit hat zwei Teile l6o und 180 und zunächst wird der Teil l60 beschrieben. Die Speicherzellen des Speichers
mit
109814/1663
BAD ORlGWAL
mit schnellem Zugriff bestehen aus Registern-, wie l60~l9 1.6Ό-2, ..., 160-16 und anderen usw. Diese Speicherregister sind zu Gruppen oder Blocks von 16 Registern ^e Block zusammengefaßt. Die Zusammenfassung ist keine körperliche, sondern bezieht sich lediglich auf eine Gruppierung von Registern durch Zuordnung von Registeradressenkodes gemäß einem bestimmten Muster. Jeder Block besteht aus l6 Speicherregisterm In Figur i sind die Blocks mit l6l9 1629 ..«, l6n λ bezeichnet. Die Register -160-1, l6O-2 oder 16O-16 gehören zu der Seite Ιβΐ, die anderen Blocks haben ebenfalls jeweils sechzehn (=2 ) Register. Jedes Register dieser Blocks hat 52 bistabile Stufen (Flipflops), welche vorzugsweise in Gruppen von integrierten Sehaltungseinheiten vorgesehen sind. Jedes Flipflop bildet die einzelnen Speicherzellen ait schnellem Zugriff. Jedes Register ist einzeln zugänglich,- um entweder einen neuen Befehl zu empfangen oder eine Kopierung seines Inhalts in ein anderes Register zu ermöglichen. Das Auslesen eines Registers ist ein nlchtzerstörender Vorgang. Der Zugriff " ist in etwa 150 Nanosekunden durchführbar. -
Die Register des Registerspeichers 160 weisen eine gemeinsame Datenausgangs-Sammelieitung 170 und eine gemeinsame Dateneingangssaamielleitung auf, welche von der Sammelleitung 175 gebildet wird, deren 4ede 32 Bitkanälej und zwar einen je Bit · aufweist. "Eine gemeinsame Eingangssammeileitung und eine gemeinsame Äusgangssammelleitung ist zulässig, da nur ein Register
ZU
1C98U/1663
zu einem Zeitpunkt alarmiert wird, um entweder ein Wort zu empfangen oder seinen Inhalt zu kopieren. Normalerweise ist die Quelle für ein in einem Speicherregister aufzuzeichnendes Wort die Verarbeitungseinheit 120, so daß die Hauptquelle für die Datensammelleitung 175 für die Speicherregister diese Einheit 120 ist.
^ Das unmittelbare Ziel eines aus einem Speicherregister zu kopierenden Wortes ist entweder das Register Λ oder das C-Register. Daher führt ein Zweigkanal 171 von der Ausgangssammelleitung 170 zum Α-Register und ein Zweigkanal 172 führt von der Sammelleitung 170 zum C-Register. Das Α-Register ist das arbeitende Akkumulatorregister und das Speicherregister, welches seinen Inhalt zu irgendeinem Zeitpunkt in das A-Register einspeisest,, ist der laufende Akkumulator selbst. Das C-Reglster ist, wie oben erwähnt, das Register in der CPU,
. welches Daten aus dem Kernspeicher 15 erhält. Da der Registerspeicher l60 auch als Speicherzellen betrachtet werden kann, können Daten von einer solchen Zelle auch in das C-Register gesetzt werden.
Jedes Speicherregister wird durch einen Neun-Bit-Adressenkode gekennzeichnet. Dieser Kode oder diese Adressenzahl ergibt sich aus Verknüpfung von zwei Unterkodes, welche jeweils einen Block, zu welchem das Register gehört, und ein Register im Block kennzeichnen. Da Jede Seite 16 Register aufweist, ist ein Vier-Bit-Blockkode zur Kennzeichnung eines
10 98 H/1663 bad original
bestimmten
bestimmten Registers in jedem Block erforderlich. Ein " Block als solcher wird durch einen Fünf-Bit-Kode gekennzeichnet. Diese?Blockkode wird im Blockanzeigeregister gehalten-, welches ein Teil des·Schnellspeicher-Adressier-.-systems ist, jedoch auch als Teil des schnellen Speichers selbst3 wenn auch außerhalb der Gruppierung in Blocks, betrachtet werden kann. .
■■.'■ ■
Das gleichzeitig im Blockanzeigeregister 151 gehaltene Fünf-Bit-Wort wird in einer Dekodieranordnung 152 dekodiert, um Blockkennzeichnungs- oder Rufsignale zu erzeugen, d.h. eine bestimmte durch einen Blockkode gekennzeichnete Gruppe von Speicherregistern "anzuzeigen". Eine Änderung in dem im Register 151 enthaltenen Kode führt zu einem "Anzeigen" eines anderen Blocks. Der Dekoder 152 hat so viele Ausgangskanäle 153 wie ausgeführte Blocks vorhanden sind. Ein in Bereitschaft setzendes Signal in irgendeinem Kanal 153 ist das Ergebnis eier Dekodierung eines Blockanzeige-Adressenkodes und setzt die sechzehn Speicherregister in Bereitschaft, , welche zu einem Block gehören. '
Jeder Block weist einen im Block enthaltenen Dekoder auf, welcher durch den jeweils dekodierten Blockanzeigekode In Bereitschaft gesetzt wird. Lediglich der Dekoder 154 für den Block l6l ist als Beispiel für einen im Block enthaltenen Dekoder dargestellt. Zusätzlich zu dem dekodierten Seitenanzeige
BAD OBlGWAU kode
1098 14/1663
kode spricht jeder im Block enthaltene Dekoder auf sechzehn verschiedene Vier-Bit-Kodes zur Unterscheidung zwischen den Registern in einem Block an. Dementsprechend ist eine Vier-BitrLeitung in der Seitenadressier-Sammelleitung 115 vorgesehen. Eine bestimmte Bitkombination in der Sammelleitung 115 führt zur Adressierung oder zum Zugriff von nur einem Speicherregister innerhalb des adressierten Blocks.
Wie ausgeführt, ist die Adresse eines Speicherregisters eine Neun-Bit-Nummer oder ein solcher Kode, fünf Bits hoher Größenordnung kennzeichnen einen Block und die vier am wenigsten geltenden Bits kennzeichnen das Register innerhalb eines Blocks.
q Dies ergibt ein Adressierkontlnuum von 2 Registern. Man kann dieses Kontinuum als Teil des größeren Adressierkontinuums für den Speieher auf diese Weise betrachten: Man kann den Neun-Bit-Speicherregister-Adressierkode nehmen und man kann ferner eine Acht-Bit-Zahl wählen und die zwei Zahlen werden verknüpft, um einen 17-Bit-Adressenkode innerhalb des Adressierkontinuums des Kernspeicher-Adressiersystems zu bilden. Wenn diese Acht-Bit-Zahl als der am meisten geltende Adressenkodeteil gewählt
17
wird und wenn nicht alle 2 ' Speicherzellen im Kernspeicher ausgeführt sind, kann eine Überlappung (Abschattung) zwischen Kernspeicheradressen und Schnellspeicheradressen vermieden werden. Das Adressierkontinuum und die Länge einer Adressenaahl für den Kernspeicher ist jedoch vom Gesichtspunkt der möglichen Ausführung jeder Kernspeicherzelle gewählt worden, welche innerhalb des 17-Bit-
Kontinuums 109814/166 3 ßAD
Kontinuuias gebildet werden kann. Die Deutung einer Schnell-Speicher-Registeradresse innerhalb des gleichen Kontinuums, Vielehe sur Kennzeichnung von Zellen im Kernspeicher verwendet wird, ergibt daher Probleme, welche weiter unten im einzelnen behandelt werden sollen. ·
Bezüglich des SpeiGherrergiater-Adressenkodes, Wie er durch Verknüpfung einer Blockanzeige-Adressenzahl und einer inneren | Blocksah! definiert wird«, ist ersichtlich, daß der Blockanzeigekode in das Register 151 gesetzt und darin für jede gewünschte Zeitdauer gehalten werden kann9 während die vier am wenigsten geltenden Bits für die innere Blockdekodierung unabhängig verändert werden. Dies 1st für Programmierzwecke wesentlich, da es die Zuordnung von inneren Blockkodes für bestimmte Aufgaben unabhängig von irgendeinem bestimmten verwendeten Block ermöglicht« Dies ermöglicht wiederum die Verwendung von Speieherre gis tern als öpe,ratlonsreglsters welche nur den abgekürzten inneren Yier-Bit-Bloekkode zur bestimmten KennzeichnungerfordernV solange es klar ist, daß der volle Speicherregisterkode durch den leicht erhältliehen Blockanzeigekode erzeugt werden kann. Nunmehr wird eines der zwei verwendeten Befehlswortformate betrachtet. Das normale Befehlswort hat vier Felder, wie symbolisch, in Figur 2 dargestellt. Das Befehlswort hat das normale Format von32 Bits, wie es für alle Worte verwendet wird.
• - ■ ■ ■ ■
Der Operationskode oder das OP-FeId bezeichnet, d.h. es kenn-
zeichnet
zeichnet in einem Binärkode (ohne numerische Bedeutung) die bestimmte auszuführende Operation einschließlich einer Bestimmung, ob eine indirekte Adressierung angerufen werden soll oder nicht. Dieses Feld kann aus acht Bits bestehen, welche den Operations- oder Steuerkode darstellen. Das R-PeId hat vier Bits und jeder Vier-Bit-Kode bezeichnet hier eines der sechzehn Speicherregister des Blocks, welches durch den laufenden Inhalt des Anzeigeregisters 151 gekennzeichnet wird. Daher stellt das R-PeId einen inneren Blockkode dar, welcher für eine vollständige Adressierung des betreffenden Speicherregisters durch den im Register 151 enthaltenen Blockanzeigekode zu ergänzen ist. Das so gekennzeichnete Speicherregister kann als Operandquelle oder als Operandziel oder beides dienen, was von der Art der gewünschten Operation abhängt. Bei diesen Arten von Operationen, welche nicht die Teilnahme eines Speicherregisters, welches durch einen R-Peldkode gekennzeichnet ist, erfordern oder welche an sich bestimmte Speicherregister des laufenden Blocks betreffen,ist das R-PeId des Befehlswortes frei für eine Benützung für andere Zwecke und für eine entsprechende Dekodierung.
Das X-FeId hat drei Bits und bezeichnet eines von sieben der sechzehn Register des laufenden Blocks und das so gekennzeichnete Register soll als Indexregister dienen. X = 000 kennzeichnet das erste Register des Blocks, wird jedoch insbesondere als Anzeige verwendet, daß der Befehl ohne Indicieren
ausgeführt 109814/1663
BAD ORIGINAL
ausgeführt werden soll, so daß tatsächlich dieses erste Register irgendeines Blocks nicht als Indexregister verfügbar ist.
Die verbleibenden siebzehn Bits des Befehlswortes be-
nach dem setzen das MA-FeId, um eine Speicheradresse 4»e Wortwert/g zu kennzeichnen. Die Verbindung zwischen diesem Kode im MA-PeId und einem der Kernspeicher oder dem schnellen Speicher wird ebenfalls weiter unten beschrieben. Vorerst wird nur auf den Kernspeicher bezug genommen und man kann mindestens als eine Möglichkeit daran denken, daß die Adresse im MA-PeId direkt eine Kernspeicherzelle definiert. Daher sind innerhalb eines Befehlswortes drei verschiedene ' Speicheradressenplätze gekennzeichnet, wobei bemerkt wird, daß beim Aktivwerden des Befehlswortes ein Blockanzeigekode im Register 151 verfügbar ist, um die Kodes im R- und X-FeId zu ergänzen.
In einem weiteren Fall von Operationen können unmittelbare Operanden innerhalb des Befehlswortes vorgesehen werden. Für eine bestimmte Klasse von Operationskodes werden die verknüpften X- und MA-Felder nicht als Adressen, sondern als ein Operand mit unmittelbarer numerischer Bedeutung gedeutet. Das OP- und das -R-PeId werden jedoch durch dieses unterschiedliche Format nicht beeinflußt und dienen dem gleichen-Zweck,.'wie'er oben beschrieben wurde.
BAD ORiGWAt j ο 9 8 1 4/1663
Im Hinblick auf diese Bemerkungen ist es ersichtlich, daß die verschiedenen Bits und Felder eines Befehlswortes eine verschiedene Behandlung erfordern, nachdem ein Befehlswort aus dem Speicher abgelesen und in das C-Register der CPU gegeben worden ist, da das C-Register das Hauptempfangsregister der CPU ist, soweit der Datenfluß aus dem Speicher betroffen ist. Das ganze Befehlswort, d.h. sein OP-, R-, X- und MA-FeId, kann unmittelbar in ein D-Register übertragen werden. Zu verarbeitende Worte werden gewöhnlich im D-Register gehalten. Soweit das Befehlswort betroffen ist, wird nur das MA-FeId desselben, welches im D-Register gehalten wird, vielter mit Hilfe des D-Registers verwendet. Das OP-, X- und R-FeId eines Befehlswortes werden gleichzeitig aus dem C-Register in drei die entsprechende Feldbezeichnung tragende Register gesetzt.
Es wird bemerkt, daß das OP-, R- und X-Register zusammen mit dem Teil des D-Registers, welcher das MA-FeId eines Befehlswortes enthält, als das Befehlsregister betrachtet werden können, welches daher nicht eine einzelne Einheit mit getrennter Bedeutung ist. Das D-Register hält das MA-FeId nur zeitweise, wenn die Adressierzahl für den Operanden in ein P-Register zu übertragen ist. Dieser Vorgang wird weiter unten beschrieben und wenn einmal die Operadenadresse in das P-Register gesetzt ist, so ist das D-Register frei zur Aufnahme anderer Daten einschließlich Zahlen* welche
bei &; . :, 109814/1663.
BAD
bei der Ausführung des laufenden Befehls vorkommen. Das OP-, R- und X-Register halten ihren Inhalt während der ganzen Ausführung des laufenden Befehls.
Das OP-Register hält den Acht-Bit-Öperandenkode des Befehlswortes. Dieser Operationskode wird auf einen Operationskode-Dekoder 111 gegeben. Dieses Netzwerk 111 vfird nicht im einzelnen beschrieben., da es grundsätzlich normale Rechen- ä anlagenoperationen ausführt, und es werden nur solche Teiloperationen im einzelnen beschrieben., welche mit der vorliegenden Erfindung zu tun haben. Grundsätzlich spricht die Einheit 111 auf den jeweiligen im OP-Register enthaltenen Operationskode an3 um Steuersignale zu erzeugen, welche zur Steuerung der jeweiligen, durch den Operationskode gekennzeichneten Operation nötig sind» In den meisten Fällen ist dabei die Verarbeitungseinrichtung 120 beteiligt.
Der Operationskode-Dekoder 111 arbeitet mit einer Zeit- und ' Phasensteuereinheit IiM eng zusammen. Die richtige Abfolge der einzelnen Operationen zur Ausführung eines Befehls wird durch die Zeit- und Phasensteuereinheit H1J gesteuert, welche die Abfolge der Operationsschritte in der Rechenanlage zeitlich organisiert und Operationsphasen erzeugt, welche die Operation beschränken und einige Schaltungselemente während bestimmter Zeitdauern außer Bereitschaft setzens während andere Elemente gleichzeitig in Bereitschaft gesetzt werden und nur für vorbestimmte Zeitdauern in diesem Zustand verbleiben« Eine richtige
109014/1063 Abfolge
Abfolge der Operationsschritte ist gewährleistet und als nächstes werden die besonders interessierenden Gesichtspunkte beschrieben.
Es wird daran erinnert, daß, wenn das OP-Register einen Operationskode empfängt, das D-Register nicht einen Operanden, sondern das Befehlswort enthält. Der Operand kann in das D-Register in' einer späteren Phase gesetzt werden, was einen Teil der Ausführung des Befehls darstellt. Daher wird in vielen Fällen die Operation, beispielsweise eine arithmetische Operation, nicht sofort ausgeführt, so daß das Eingeben des Operanden in das D-Register und seine nachfolgende Verarbeitung zeitgesteuert werden muß. Ein Beispiel wird weiter unten ausführlich beschrieben. Der Operationskode verbleibt im OP-Register während der ganzen Durchführung eines Befehls.
Das R-Register hält die Bits des R-Feldes eines Befehlswortes, nachdem dasselbe vom Speicher empfangen wurde. Die Ausgangsseite des R-Registers speist einen Kanal 112, welcher eine in Bereitschaft setzende Gatteranordnung enthalten kann. Der. Kanal 112 hat vier Bitleitungen, welche zum schnellen Speicher führen, in der Blockadressier-Sammelleitung 115. Der Kanal ist vollständig gesperrt, wenn das R-FeId nicht ein Register innerhalb eines Blocks bezeichnet, sonst ist der Kanal 112 während einer bestimmten Befehlsphase oder bestimmter Befehlsphasen geöffnet, um die Sammelleitung 115 zu speisen. Da dies in Abhängigkeit von dem laufenden Operationskode entschieden
1098U/1663 „ird
BAD ORiQINAL
wird, wird ein in Bereitschaft setzendes Signal $2 für die Gatter im Kanal 112 aus der Zeit- und Phasensteuereinheit 114 entnommen, wenn der Dekoder 111 es gestattet.
Zu bestimmten-Zeiten; kann es notwendig sein» den Inhalt des R-Re*gisters zu ändern, welches ein bestimmtes Register in den laufenden Seiten bezeichnet. Eine bestimmte Operation, welche durch einen Befehl gefordert wird, kann beispielsweise die Teilnahme von mehr als einem Speicherregister als laufender Akkumulator erfordern. Daher kann es notwendig werden, beispielsweise auch das Register mit der nächsthöheren oder näehstniedrigeren inneren Blockadressen-Kodezahl zu adressieren. Daher ist ein Kanal Il6 zur Erhöhung oder Erniedrigung der im R-Register gehaltenen Zahl um Eins vorgesehen. Diese Operation wird von den Netzwerken 111 und 114 genau gesteuert, da nur bestimmte der Operationskodes diesen Schritt erfordern.
Das X-Register hält die Bits des X-Feldes eines Befehlswortes. Der Inhalt dieses Registerabschnitts:oder X-Registers bildet das Speicherregister im laufenden Block, welcher die zum Indlcieren verwendeten Zahlen enthält. Der Ausgang des X-Registers speist eine Drei-Bit-Leitung, welche einen Kanal bildet. Dieser Kanal speist auch die innere Blockadressier-Sammelleltung 115. Da die volle Adresse eines Speieherregistera neun Stellen erfordert, wobei fünf Stellen durch das Anzelge-
register 109-814/1683
register 151 geliefert werden, muß eine Bitleitung der Sammelleitung 115 automatisch einen Null-Bit erhalten, wenn der Drei-Bit-Kpde des X-Registers in die Sammelleitung 115 eingespeist wird. Der Kanal 113 ist gesperrt^ wenn das X-FeId nicht eine-der sieben möglichen Register innerhalb des-laufenden Blocks bezeichnet, welcher zum Indicieren verwendet werden soll, '
Da das Indicieren innerhalb einer bestimmten Zeitspanne' nach dem Setzen eines Befehlswortes in das D-Register auftreten soll, wird auch ein in Bereitschaft setzendes Signal Q1 für das Gatter 113 aus der Zeit- und Phasensteuereinheit 114 entnommen. Da ein X-Kode (0,0,0) anzeigt: nicht indicieren, ergibt der Nachweis dieser bestimmten Zahl im X-Register durch einen Detektor 117 eine Sperrung entweder der Erzeugung oder der Wirksamkeit des Phasensignals 0L und einer anderen Steuerung der Indicieroperation.
Während das R- und X-Register jeweils gleichzeitig einen Kode enthalten können, weil der laufende Befehl sowohl ein R- als auch ein X-PeId aufweist, müssen die jeweiligen Ausgänge der zwei Registerteile nicht gleichzeitig in die inneren Blockadressier-Sammelleitungen 115 eingespeist werden. Die Phasen- und Zeitsteuereinheit 114 gibt zuerst ein Phasensignal iL auf den Kanal 113, um denselben zur Steuerung des Indicierens in Bereitschaft zu setzen, und sodann öffnet
1098U/1663
BAD ORIGINAL
das Phasensignal 0O für eine andere Operation den Kanal 112,
■■■'ν ■ eilt
wobei natürlich 0.· 0 nicht . Diese Phasensignale können in fester Zeitbeziehung zu dem Zeitpunkt gegeben werden, zu dem ein Befehlswort in das D-Register gegeben worden ist.
Das R-Register erzeugt Vier-Bit-Kodes und das X-Register erzeugt Drei-Bit-Kodes, welche Jeweils Register kennzeichnende Signale sind und eine Operationsbedeutung nur in Verbindung mit der laufenden Blockanzeigeadresse besitzen, welche im Register 151 gehalten wird, um ein bestimmtes Speicherregister innerhalb des durch das Blockanzeigeregister 151 "angezeigten" Blocks zu adressieren.
Aus der Beschreibung des Befehlswortformates ist ersichtlich, daß kein bestimmtes Speicherregister durch das R- und X-PeId in einem Befehl definiert zu werden scheint. Wenn ein Speicherregister als Akkumulator-Portsatzregister verwendet wird9 tritt es in dem Programm nur als ein bestimmtes innerhalb eines Blocks auf. Der bestimmte Block ist nicht besonders gekennzeichnet in dem einzelnen Befehlswort, aber es ist selbstverständlich der laufende Block. Durch Auswahl eines bestimmten R- und/oder X-ICodes wird daher ein Speicherregister des laufenden Blocks einer bestimmten Aufgabe zugeordnet und dieses kann ein bestimmtes in Irgendeinem Block sein.
Der Programmierer erkennt natürlich, welches bestimmte Speicher
register 1098 H/1663
-110-
register betroffen ist, da für jeden Programmteil ein . Blockanzeigekode im Register 151 gehalten wird. Das Setzen des Registers 151 durch den richtigen Kode geht der Ausführung aller einen bestimmten Block erfordernden Befehle voraus. Es ist daher ein bestimmter Befehl vorgesehen, welcher "Blockanzeiger setzen" genannt wird, dessen Ausführung ein Setzen des Registers 151 bewirkt. Wie oben ausgeführt, ist der Blockanseigekode eine Fünf-Bit-Zahl. Eine solche Zahl besetzt besondere Bitsteilen eines Operandwortes, welches aus dem Speicher zum Setzen und Entleeren des Registers 151 entnommen wurde. Dieses Wort tritt zuerst im D-Register auf und sodann geht derjenige Teil desselben, welcher den Anzeigekode darstellt, in das Register über die Leitungen 155 durch Betätigung des Dekoders 111 und der Phasensteuereinheit Il4. Es sind andere Befehle vorhanden, welche im'einzelnen weiter unten beschrieben werden, die eine Änderung im Blockanzeigekode zusammen mit einer Änderung anderer Kodes bewirken.
Es ist daher ersichtlich» daß im Verlauf der Ausführung einer Befehlsfolge verschiedene Speicherregister adressiert werden. Der zur Ergänzung des R- und X-Feldes erforderliche Anzeigekode wird im Register 151 während einer ganzen Befehlsfolge gehalten, welche nacheinander aus dem Kernspeicher entnommen und in gleicher Abfolge ausgeführt wird. Der innere Blockkode wird im X- und R-Register gehalten, deren Inhalt
1Q98U/1663
BAD
sich bei jedem Befehl ändern kann. Ob die Teilnahme des adressierten Speicherregisters zu einem Indicieren oder zu einer anderen logischen oder arithmetischen Operation führt, hängt von der Phasensteuerung ab. Das Adressieren irgendeines Speicherregisters innerhalb eines Blocks ist unabhängig von der Deutung und von der nachfolgenden Verwendung von dessen Inhalt.
Der schnelle Speicher ist andererseits als Speicher adressierbar, indem ein innerer Blockkode aus einer Sammelleitung abgeleitet wird, welche einen weiteren Speisekanal für die Sammelleitung 115 darstellt. Diese Situation ergibt sich auf eine weiter unten zu beschreibende Welse, es wird jedoch hier darauf hingewiesen, daß das X- und R-Register nicht die einzigen Quellen für innere Blockkodes und Speicherregister-Adressierung sind. ■■■■"-.
Das Adressieren eines bestimmten Speicherregisters umfaßt ein allgemeines In-Bereitschaft-Setzen dieses Registers* Jedes Speicherregister hat 32 parallele Eingangskanäle, Vielehe zur Datensammelleitung 175 führen, und es sind 32 parallele Ausgangskanäle vorhanden, welche zur Datensammelleitung 170 führen, um jeweils das in Bereitschaft gesetzte Register zu setzen oder seinen Inhalt abzulesen. Das Adressieren eines Speicherregisters stellt ein In-Bereltsehaffc'-Sefcsen der 32 Eingangs- und/oder Ausgangskanale dar, wobei ©in
Eingangs-» BAD0RIQ1NAL 109814/1663
Eingangs- und ein Ausgangskanal für jede Registerstufe vorgesehen ist.
Wenn ein Speicherregister adressiert wird, wird sein Inhalt auf die Datensammelleitung 17$ gegeben und kann daraus entnommen werden, Die Sammelleitung 170 weist zwei Verzweigungsleitungen 171 und 172 auf. Die Verzweigungs leitung 171 führt zu dem Operations-Akkumulatorregister A. Ob oder " nicht und zu welchem Zeitpunkt die Daten im Kanal 171 in das Register A gesetzt werden9 wird durch die Phasensteuer-
den
einheit 114 und 4a· Operationskode-Dekoder 111 bestimmt. Da
ein Speicherregister als Akkumulatorfortsatζ von R- und X-Registern und durch die Wirkung der Signale 0^ und $2 adressiert wird, werden die gleichen Signale als Durchgangssignale für den Kanal 171 verwendet. Dieser Kanal 171 ermöglicht es, alle Speicherregister l6o als Akkumulatorfortsata zu betrachten. Vom Programmierer aus v/ird jedes in der ) laufenden Seite gehaltene Wort als im Akkumulator befindlich betrachtet und der Kanal 171 verwirklicht diesen Gedanken, indem er einen Übergang oder ein Kopieren eines Worts aus dem Speicherregister zum Α-Register hervorruft, welchen Übergang der Programmierer nicht gewahr wird, da er keinen besonderen Befehl erfordert.
Der bekannte Akkumulator erforderte stets den Übergang eines
Worts 1098 U/ 1663 ft«riNAL
BAD ORIGINAL
Worts vom regulären (Kern-) Speicher zum Akkumulator, wie einem Α-Register, als getrennten Operationsschritt. Die arbeitsmäßige- Verbindung zwischen dem Α-Register und dem schnellen Speicher macht den Inhalt eines durch ein X- oder R-FeId gekennzeichneten Speicherregisters ohne einen solchen Operationsschritt unmittelbar im A-Register verfügbar, da die gleichzeitig gekennzeichnete Kernspeicheradresse des MA-Feldes des gleichen Befehlswortes eine längere Zugriff zeit erfordert als die-'Zeit/weiche eine übertragung eines Worts zwischen zwei Registern braucht.
Jedes Speicherregister kann daher als ein Teil des Akkumulators betrachtet werden« Der Inhalt des Speieherregisters ist im Akkumulator selbst verfügbar, da das "Austauschen" von Daten zwischen dem zeitweisen Akkumulator, welcher das Register A ist ^ und seinen Fort Sätzen-s d.h. dem Speieherregister.» wesentlich schneller ist als die übertragung von Daten in einen und aus. einem Kernspeicher 9 so daß im Fall einer arithmetischen Operation diese übertragung möglich ist-ta&d während des gleichen Kernspeicherzyklus beendet wiräs welcher die zweite Zahl aus dem Kernspeicher anruft.
Die zweite Verzweigungsleitung 172 führt in.das C-Register als ein anderer Eingang desselben. Es wird daran erinnert, daß■der Kanal Io zum"Eingeben von Daten,, welche"aus dem Kernspeicher (M-Register) erhalten wurden» in das C-Register
■ ■ - -■. : . . dient
1098H/16S3 bad original'
dient. Der Verzweigungskanal 172 ist die analoge Speiseleitung, wenn das in Bereitschaft gesetzte Speicherregister als Speicherzelle betrachtet wird, und in diesem Fall ist die übertragung in das C-Register notwendig, um danach das Wort unabhängig von der Tatsache zu handhaben, ob es aus dem Speicher mit schnellem oder langsamem Zugriff entnommen war. Der Kanal 172 wird im allgemeinen in solchen Fällen verwendet, in welchen ein Speicherregister nicht über im X- und R-Reglster enthaltene. Kodes, sondern über die Speicheradressier-Sammelleitung 134 adressiert wurde. Wenn daher die Sammelleitung 134 in Bereitschaft gesetzt wird, so wird es auch der Kanal 172. Der Vorgang des Ablesens oder Kopierens des Inhalts eines schnellen Speicherregisters in das C-Register wird wiederum von der Phasensteuereinheit 114 durch ein Phasensignal 0g gesteuert. Dieses Signal wird unabhängig vom Operationskode-Dekoder erzeugt, da die Anordnung des Datenworts im Speicher grundsätzlich mit der bei einem solchen Wort durchgeführten Operation nichts zu tun hat. Das Phasensignal 0g wird erzeugt, wenn sich eine durch das MA-FeId eines Befehlswortes gekennzeichnete Operandzelle im Kernspeicher nicht findet.
Die jeweils durch den Inhalt des X- und R-Registers in Verbindung mit dem im Register 151 enthaltenen laufenden Seiten· anzeigekode gekennzeichneten Speicherregister sind mit dem Α-Register aur schnellen Datenübertragung in dasselbe gekoppelt .
Durch
1098U/1663 IAI "~~
BAD ORIGINAL
Durch Änderung des Anzeigekodes im Register 151 werden die Register des vorigen Blocks absolut zu Speicherzellen und : die Register des neu adressierten Blocks werden Akkumulatorfortsätze,, welche-für den unmittelbaren Zugriff verfügbar sind. Irgendein Übertragungsbefehl, etwa zwischen dem Kernspeicher und der Verarbeitungseinrichtung, ist daher tatsächlich eine Wiederspeicher-Operation., etwa innerhalb ,des als ganzes genommenen Speichers, und der Anzeigekode bestimmt einfach, "welcher Speicherteil augenblicklich als Akkumulator-Verarbeitungsfortsatz verfügbar ist.
Im liormalfall tritt daher bei einer arithmetischen Verarbeitung ein Wort auf, welches aus einem der durch das R-FeId gekennzeichneten Speicherregister des laufenden Blocks in das Α-Register überführt worden ist, sowie ein zweites Wort, welches aus irgendeiner Speicherzelle entnommen und im C-Register für die arithmetische Kombination mit dem sodann im Α-Register befindlichen Wort gehalten würde. ( Das Ergebnis.--wird sodann in den Kanal 175 geleitet, um zu dem durch das R-PeId gekennzeichneten Speicherregister zurückzukehren. Beispielsweise kennzeichnet ein Addierbefehl in seinem R-PeId ein Speicherregister, welches zu dem laufenden block gehört. Dadurch wird der Augend gekennzeichnet. Der Befehl kennzeichnet welter eine den Addend enthaltende Speicherzelle. Bei Ausführung dieses Befehls wird der Äugend in das A-Roßister und der Addend in das C-Register gegeben. Die
Zahlen TD98U/ 1663
Zahlen v/erden durch das Addierwerk 121 addiert und danach wird die Summe zu dem Speieherregister zurückgeleitet, aus welchem der Augend entnommen wurde.
Das Α-Register und das Addierwerk 121 werden auch für Index-Operationen verwendet, Indicieren ist die Veränderung .der Adresse eines Befehlswortes durch Dazuaddieren einer Zahl, um eine neue Adresse zu erhalten, und der Befehl
^ wird mit dem in der so Rinderten Adresse enthaltenen Wortausgeführt. Dieser Indiciervorgang betrifft eines der sieben Register des laufenden Blocks, welches durch den X-Peldkode des augenblicklich im D-Register gehaltenen Befehlswortes gekennzeichnet wird. Der Inhalt dieses letzteren Speicherregisters ist eine Indexnummer und wird in das A-Register gegeben, während der ursprünglich in den MA-Teil des D-Registers gesetzte Kode zu der Indexnummer addiert wird und über einen Verzweigungskanal 176 zum P-Register geleitet
) wird. Nur die so abgeänderte Adresse wird nachfolgend zur Speicheradressierung verwendet. Nach diesen Ausführungen wird nunmehr in der Beschreibung des Adressiersteuersystems innerhalb der CPTJ 100 fortgefahren. Das zentrale Adressierregister für den Speicher als solchen ist dieses P-Register. Dieses Register erhält Spelcheradressenkodes aus drei Quellen.
Die erste Quelle ist das D-Register und insbesondere jene
Stufen 1Q98U/1683
BAD
Stufen, welche ein Adressenfeld (MA) eines Befehlswortes enthalten. Dementsprechend ist ein Kanal 131 für die parallele Bitübertragung eines Adressenkode vom D-Register zum P-Register vorgeseheni Diese Übertragung wird Jedoch gesperrt j wenn ein Indicieren erforderlich ist. Es wird daran erinnert, daß nach Setzen eines Befehlsworts in das C-Register aus dem Speicher dasselbe in das D-Register gegeben wird und Teile desselben werden auch in das R-, X- und OP-Register gesetzt. Der Detektor 117 bestimmt, ob ein Indicieren stattfindet oder nicht. Wenn nicht, dann ist das X-FeId (000) und dieses wird vom Detektor 117 zur Öffnung des Kanals 131 verwendet. Irgendein anderer Inhalt des X-Registers schließt den Kanal 131· ,
Der zweite Eingang des P-Registers wurde oben erwähnt, und zwar ist es der Ausgangs-Verzweigungskanal 176 aus der Verarbeitungsanordnung 120, welcher beispielsweise nach dem Indicieren verwendet wird, wodurch das MA-PeId im D-Register verändert wurde. Der Kanal oder die Sammelleitung 176 enthält sodann das arithmetische Ergebnis der Indicieroperation. · ' . '
Der dritte Eingang für das P-Register ist ein Programmzählerregister oder Q-Register l40. Die im .Q-Register gehaltene. Zahl ist die Programmadresse, Vielehe die Zelle i definiert, die dem nächsten Befehl in der regelmäßigen Ab
f 1 0 9 8 H / 1 6 6 3 BAD ORIGINAL
folge der Ausführung eines Programms enthält. Diese Speicheradressierzahl wird zuerst aus dem Q-Register über Kanäle 132 in das P-Register gegeben. Die Zahl wird sodann in dem den Zugriff zum Speicher ausführenden Netzwerk, welches weiter unten beschrieben wird, wiedergegeben. Nunmehr muß die Adressenzahl für den nächsten Befehl aus irgendeiner Quelle gebildet oder entnommen werden. Nacheinander auszuführende Befehle werden gewöhnlich für eine Speicherung in Speicherzellen mit aufeinanderfolgenden Adressennummern programmiert. Daher wird die im P-Register enthaltene Adressennummer um Eins erhöht. Die Leitung 145 zeigt dies symbolisch an und diese neue Zahl wird dann als nächste Befehlszelle über Kanäle l4l'in das Q-Register gesetzt und wird im Q-Register gehalten, bis sie abgerufen oder ersetzt wird. In der Zwischenzeit empfängt das P-Register andere Adressenzahlen, wie das im A-FeId eines Befehlswortes.
Alle diese Schritte werden durch die Zeit- und Phasensteuereinheit Il4 gesteuert. Die vorliegende Erfindung ist jedoch nicht an diese besondere Programmsteuerung gebunden und es wird festgestellt, daß das Q-Register die Speicheradressenzahl enthält, welche die Zelle definiert, aus der der nächste Befehl entnommen werden soll, unabhängig davon, wie diese Zahl gebildet wurde. Nach der Ausführung des laufenden Befehls wird die neue Adressenzahl vom Q-Register in das P-Register gesetzt, .um die Zelle zu kennzeichnen, welche den nächsten Programmschritt
enthält. 1098U/ 1663
BAD ORIGINAL
enthält. Ob diese neue Adresse sich durch Eins von der vorgehenden unterscheidet oder auf andere Weise erhalten wurdej ist hier unwesentlich.
Im Fall von Programmverzweigung,, Unterbrechungsoperationen oder indirekter Adressierung ist die jeweils nächste Befehlszelle nicht die im Q-Register enthaltene, sondern wird aus- verschiedenen Quellen in das P-Register gesetzt.
es ·
Gewöhnlich ist/das D-Register oder die Sammelleitung 176, welche diese neue Adressenzahl durch Verarbeitungsoperationen, aus dem Speicher usw. empfangen haben. Wenn diese Zahl in das P-Register gesetzt ist, bestimmt es die nächste Befehlszelle, wird um Eins erhöht und die neue Zahl wird wiederum in das Q-Register als Ersatz für den vorigen Inhalt desselben gesetzt, so daß nunmehr das Programm von einer änderen Stelle aus fortgesetzt wird.
Jede zu adressierende Speicherzelle wird im P-Register für alle Fälle eines Zugriffs zum Speicher gehalten, welche durch die und von der CPU gesteuert werden. Daher wechselt im allgemeinen,die Speicheradressierung zwischen einem Aufsuchen der Zelle, welche vom Programmzähler definiert wird, einerseits und der Zelle, welche von der entweder im MA-Feldteil des D-Registers vor dem Indicieren gehaltenen oder auf die Sammelleitung 176 nach dem Indicieren gegebenen Adresse definiert wird, andererseits ab. Zusammenfassend gilt also, daß am Ende der Ausführung eines Befehls und* nach.'der Erhöhung der im Q«
1098 14/166 3 . , Register
Register gehaltenen Programmzählzahl ein Phasensignal 0^ aus der Einheit 114 den Kanal 132 öffnet, um eine neue Adressen-Kodezahl in das P-Register zu geben. Nach dem Setzen eines Befehlswortes in das D-Register geht das System durch eine Phase ÖL, während welcher die Operandadresse entweder aus dem Kanal 1J6 oder aus dem Kanal 131 in das P-Register geht, aus welchem Kanal, das hängt vom Vorhandensein oder der Abwesenheit des Indicierens ab. 0u · (ZL gilt natürlich niemals, ™ da die Quelle für die Speicheradresse unzweideutig sein muß.
Jeder Adressenkode, welcher in das P-Register gesetzt worden ist, wird zuerst in ein Verzweigungsnetzwerk 133 geleitet, welches die folgende Funktion hat. Die Adressenkodezahl hat in Dezimaldarstellung einen Wert zwischen 0 und 15. Für ein Adressenzahlformat mit siebsehn Bits bedeutet dies, daß die dreizehn am meisten geltenden Bits alle den Bitwert Null haben und die vier am wenigsten geltenden Bits eine Desimalzahl ) zwischen 0 und 15 bilden. Wenn der Separator 133 die Null» werte in den dreizehn am meisten geltenden Bitstellen nachweist , so speist er die vier am wenigsten geltenden Bits in Leitungen 134S welche in die innere Bloekadressier-Sammelleitung einspeisen. Wenn die dreizehn am meisten geltenden Bits nicht alle Null sind, dann geht die Adressenzahl in den Kanal 133'. Zunächst wird" die Funktion des Kanals oder der Leitungen 131J beschrieben. Da dazu ein schneller Speicherzyklus nötig ist, kann ai® Wirksamkeit der Leitungen des Kanals 13^ zusätzlich von der· Phasen« und Durchgangs steuerung abhängig sein, um
109814/1663
BAD ORIGINAL SiJl
ein Durchgehen irgendwelcher anderen Speicherregister-Unterkodes in die Sammelleitung 115 auszuschließen. Es ist daher ersichtlich, daß der Nachweis von 0-Bits in den dreizehn am meisten geltenden Stellen einer Adressenzahl im P-Reglster die Bedingung für die Erzeugung des Phasensignals 0g ist.
Die vier am wenigsten geltenden Bits im Kanal 134 bezeichnen ein bestimmtes Speicherregister und diese vier Bits können durch sich selbst gedeutet werden, da sie zu irgendeinem Vier-Bit-Kode im R- oder X-Register analog sind. Einer der Blocks wird jederzeit vom Seitenanzeigeregister 151 in.Be-. reitschaft gesetzt und diese vier Bits in der Leitung 13^ zusammen mit der laufenden Blockanzeigeadresse definieren daher ein einzelnes Register innerhalb dieser laufenden Basis.
Man sieht
daher, daß ein Speicherregisters d.h. eine Zelle im schnellen Speicher, in einer dreifachen Weise adressiert werden kann, d.h. eine Speicherregisteradresse kann auf drei verschiedene Arten verknüpft werden. Die erste Zugriffart erfordert ein Kombinieren des laufenden Blockanzeigekodes9 lielcher im Register 151 enthalten ist, mit'dem Inhalt des R-Registers, Zum Indicieren wird der gleiche Blockanzeigekode mit dem Inhalt des X-Registers kombiniert, was die zweite Art darstellt, : '
Drittens kann ein Speicherregister des laufenden Blocks
adressiert BAD ORIGINAL ^ Qg 8 14/1663
adressiert werden, wenn die dreizehn Bits höherer Größenordnung einer im P-Register enthaltenen Adresse alle Null sind und die vier Bits mit niedriger Größenordnung mit dem laufenden Blockanzeigekode verknüpft werden, um eine Speicherregisteradresse statt einer Kernspeicheradresse zu bilden. Daher ist es wesentlich, daß die Kernspeicherzellen mit einer Adresse, welche als eine der Dezimalzahlen 0 bis 15 ausdrückbar ist, abgeschirmt werden. Das Abschirmen einer Adresse bedeutet, daß die jeweilige Speicherzelle nicht erreicht werden kann, indem die Adressenzahl in das Register P gegeben wird.
Das Abschirmen eines Teiles des Kernspeichers bedeutet jedoch nicht, daß diese bestimmten Kernspeicherzellen überhaupt nicht erreicht werden können. Damit geht die Beschreibung zu dem anderen Zweigausgang des Separators 133 mit einem Ausgangskanal 135 über, welcher den Eingangskreis für die Kernspeicher-Zugriffsteuerung bildet. Ein Adressenkode tritt in diesem Kanal auf (der normale Fall), wenn nicht die Zelle 0 bis 15 gekennzeichnet wird. Das Adressieren des Kernspeichers erfordert eine analytische Unterscheidung zwischen einer Programmädresse und einer Speicheradresse. Eine Programmadresse wird manchmal virtuelle Adresse genannt und die Speicheradresse wird tatsächliche Adresse genannt. Der Programmzähler l40 (Q-Register) und das MA-PeId liefern Programmadressen. Die virtuellen oder Programmadressen werden gewählt, um eine Steuerinformation und numerische Daten zu speichern
1 0 9 8 U / 1 6 6 3 und
und sie werden durch menschliche oder Selbstprogrammiererwirkung so zugeordnet, daß sie zusammen ein Rechenprogramm
bilden. . ■ .
Oftmals muß eine Rechenanlage, beispielsweise unter Aufteilung der Zeit, eine große Anzahl von verschiedenen Programmen in einer Weise behandeln, welche auch als Mehrfachprogrammver- " arbeitung (program multiplexing) beschrieben werden kann, wobeiein Wechsel von einem Programm zu einem anderen nicht mit fester Zeiteinteilung geschieht, obwohl dies möglich ist, sondern auf der Grundlage von Vorrängen. Andererseits können nicht alle Programme, welche über eine verhältnismäßig lange Zeitspanne weg verarbeitet werden sollen, im Kernspeicher gespeichert werden, da der Kernspeicher meistens au klein ist. Billigere Speicher-Ausdehnungsvorrichtungen, wie Trommeln, Scheiben, Bänder und dergleichen, werden verwendet und bei Betrieb werden Programme zwischen dem Kernspeicher und den Ausdehnungsvorrichtungen ausgewechselt-. Dies kann wiederum zu . einer Überlappung von Ädressennamen führen, insbesondere wenn die Gesamtzahl von Speicheradressenplätzen zur Anpassung an alle Daten aller Programme größer ist als die Anzahl von verfügbaren und ausgeführten Kernspeicherzellen, Die Gesamtzahl von erforderlichen Adressenplätzen zur Anpassung an alle Programme kann sogar größer sein als die Anzahl von möglichen Speicheradressen in dem ganzen.Adressenkontinuum, welches durch die Länge der Adressenzahlen gebildet wird. Außerdem kann die
ι ' , Rechenanlafie
1098H/1ß63
Rechenanlage durch verschiedene Benutzer benützt werden, deren jeder sein eigenes Programm schreibt, und natürlich erfordert jedes Programm, wenn es geschrieben ist, eine Bezeichnung der Plätze, wo alle die Befehle und Operanden im Speicher gespeichert werden: sollen. Da diese Programme unabhängig von den verschiedenen Benutzern geschrieben werden können, wird eine Überlappung der programmierten Adressen unvermeidlich.
Man könnte jedem Benutzer einen bestimmten Teil des Speichers zuteilen, dies ist jedoch nicht zufriedenstellend, da es seine Programmierung einschränken könnte. Außerdem kann ein Benutzer die Unterstützung der Rechenanlage verhältnismäßig selten anfordern, so daß der ihm zugeteilte Speicherteil den größten Teil der Zelt unbenutzt wäre. Die sich in eine Rechenanlage teilenden verschiedenen Benutzer würden dadurch den Raum der Rechenanlage unter sich aufteilen. Jeder Benutzer sollte daher in die Lage gesetzt werden, die ganze Rechenanlage mit maximalem Fassungsvermögen derselben zu programmieren. Ohne weitere Maßnahmen würde dies bedeuten, daß während einer bestimmten Zeltspanne verschiedene Benutzer den Speicherraum der Rechenanlage nur soweit unter sich teilen könnten, daß für eine gegebene Zeitspanne jeder Benutzer nur einen bestimmten Raum so benutzen könnte, daß andere Benutzer nicht gestört würden. Dies ist nicht zufriedenstellend, da es Vorränge der Programroausführung für jeden Benutzer erfordern würde.
Alle 10 9814/1663
BAD. ORIGINAL
Alle diese Probleme können gelöst werden, wenn die · Rechenanlage in der Lage ist, die Speicherung in den Speicherzellen so durchzuführen.,.-"daß-eine Abweichung'von-den Programmadressen möglich ist,. Eine-wirksame Zeitaufteilung der Rechenanlage erfordert die gleichzeitige Anwesenheit von Programmen verschiedener Benutzer im Kernspeicher, wobei es jedem Benutzer möglich ist, unabhängig den Vorrang der Programmausführung zu bestimmen und wobei Programme mit geringerem Vorrang in Speieherausdehnungsvorrichtungen gespeichert sind. Daher kann es notwendig werden, ein Programm in Speicherzellen zu setzen, welche sich von den vom Programmierer beabsichtigten Zellen unterscheiden, ohne daß die Durchführung jedoch gestört wird. Weiter erfordert ein Programm gewöhnlich den Zusammenhang von mindestens den Zellen, welche die nacheinander ausgeführten und vom Programmzähler in dieser Reihenfolge abgerufenen Befehle aufnehmen. Zu irgendeinem gegebenen Zeitpunkt, wenn ein bestimmtes Programm in den Kernspeicher ausgewechselt werden soll, kann ein solcher zusammenhängender Raum nicht verfügbar sein. Daher wird der Kernspeicher aufgeteilt, indem er in gleiche Seiten unterteilt wird, deren jede beispielsweise 512 ( = 2") Speicherzellen enthält. Bei ,dem gewählten 17-Blt-Spelcheradressenkode kann angenommen werden, daß der Wortspeicher oder die inneren Seitenadressen die neun Bits mit niedriger Größenordnung besetzen, so daß die acht Bits mit höherer Größenordnung als Seitenspeicheradressen ausgebildet werden können. Daher 1st die Teilung des Kernspeichers nicht eine körperliche Unterteilung, sondern eine Organisierung der ver-
10981 A/1663
BADORiGlNAL fügbaren
fügbaren Speicherplätze In Art einer Software. Wenn ein Programm in den Speicher gegeben wird, wird es nicht notwendigerweise in der bezeichneten Weise in die Adressenplätze gegeben, sondern wie sie gerade verfügbar sind. Ein Programm kann vollständig zusammenhängend sein und ist es tatsächlich auch, soweit die beabsichtigte Programmadresse betroffen ist. In vielen Fällen erfordert ein Programm mehrere Seiten. Die tatsächlich demselben zugeordnete und innerhalb dieses bestimmten Programms betätigte Speicherzelle kann daher seitenweise über den Kernspeicher verteilt sein,, je nachdem wie dort Raum verfügbar ist. Daraus folgt, daß für den tatsächlichen Speicherzugriff die acht Bits höherer Größenordnung einer Programmadresse nicht beachtet werden dürfen und eine neue Seitenadresse an deren Stelle gesetzt wird. Daher werden Programmseiten-Adressenkodes und Speicherseiten-Adressenkodes in einer vorbestimmten Weise ausgetauscht, was Mapping genannt wird. Bei Betrieb, d.h. während des Laufens eines Programms, werden die neun Bits mit niedriger Größenordnung der Adresse nicht geändert (mit Ausnahme des Indicierens, was mit dem Anordnungsproblem nichts zutun hat), aber die acht Bits höherer Größenordnung einer Programmblockadresse, wie sie beispielsweise im Kanal 133' auftritt, werden gegen eine Speicherseitenadresse ausgetauscht.
Der Austausch einer Programmseitenadresse gegen eine Speicherseitenadresse wird durch einen zweiten Speicherteil 180 mit schnellem Zugriff gesteuert, welcher eine Map darstellt. Diese
1098U/1663
BAD ORIGINAL
Hap enthält die Register l8l, 182, 183 bis zu 18M1 wobei
M 2 (= 256) ist. Jedes dieser Mapregister (mapping register) kann mit einem Speicherseiten-Adressenkode gesetzt werden. Jedes Mapregister kann einzeln durch eine Programmseitenadresse;, d.h. durch die acht Bits mit höherer Größenordnung adressiert werden, welche vom P-Register.geliefert werden.
Ein Teil des Kernspeichers ist gewöhnlich durch eine Ausführ ungs rout ine (executive routine) besetzt, welche hauptsächlich mit der Steuerung befaßt ist. Diese Routine enthält bestimmte Befehle, welche ein Setzen der Mapregister 181, 182 usw. bewirken, wobei die Zahlen Speicherseiten kennzeichnen.
Dieser SetζVorgang wird weiter Unten beschrieben* Die die verschiedenen Speicherseitenadressen bildenden Zahlen werden im Speicher als Teil einer oder mehrerer Routinen gespeichert, welche außerdem Befehle enthalten, die eine Zusammenfassung von Programmseitenadressen und Speicherseitenadressen bewirken. Zusätzlich oder statt dessen können die Speicherseitenadressen von einer äußeren Quelle über Eingangs-Ausgangsoperationen erhalten werden.
Falls die verschiedenen Programme im Kernspeicher anwesend sind, können sie einander überlappende Programmadressen aufweisen, d.h. mindestens eine gemeinsame Programmseitenadresse. Während der Ausführung Jedes Programms wird das gleiche Mapregister adressiert, soll jedoch verschiedene Speicherseitenadressen In Abhängigkeit von dem jeweils betreffenden Programm
1098 14/1663
erzeugen .
erzeugen. Daher ist für diesen Fall ein Austausch der Speicherseitenadresse in dem betreffenden, durch die Programraseite gekennzeichneten Mapregister nötig, um die Programmadresse jedes betreffenden Programms mit seiner Speicherseitenadresse oder seinen Speicherseitenadressen zusammenzufassen. Daher können verschiedene Programme nicht abwechselnd ohne Veränderung des Inhalts des jeweiligen Mapregisters ablaufen, dessen Adressenseiten-
ψ kode für die verschiedenen Programme eine gemeinsame Seitenprogrammadresse aufweist. Das Zurückschreiben der Map zwischen dem Wechsel von der Ausführung eines Programms zur Ausführung des anderen Programms ist jedoch ein wesentlich schnellerer Vorgang als das Austauschen von ganzen Programmen zwischen dem Speicher selbst und den Speicherausdehnungsvorrichtungen , so daß das Mapping eine wirkliche Beschleunigung von Mehrfachprogramm-Ausführungen und die zeit_aufteilenden Mehrfaehbenützungen der Rechenanlage
. darstellt. Das Verfahren des Mapschreibens und -Zurückschreibens wird vielter unten ausführlicher erläutert und vorerst wird mit der Speichersteueroperation unter Verwendung der gesetzten Map fortgefahren.
Wenn der Schnell-Langsam-Separator 133 entschieden hat, daß die Programmadresse, wie sie indiciert wurde, wenn ein Indicieren durchgeführt wurde, im Kernspeicher angeordnet ist, wird das Siebzehn-Bit-Programm oder die virtuelle Adresse aufgespalten. Die neun Wortadressen-Bits mit niedriger Größen-
1Q98U/1663 , Ordnung
BAD OBSGlMAt
549531
Ordnung werden in den Kanal 136-gegeben, da das Mapping dieselben nicht beeinflußt. Die acht Bits mit höherer Größenordnungj welche die Programmseitenadresse bilden,
werden in Kanäle 137 und l42 gegeben. Es ist nicht erStatus- forderlich, daß die Map verwendet wird, und eine .& steuereinrichtung 135 speichert und erzeugt unterscheidende Steuersignale in Abhängigkeit von der Bedingung, ob die Map benützt werden soll oder nicht.
Die Steuereinrichtung 135 kann ein Plipflop sein, welches abwechselnd die zwei Kanäle 137 und 142 in Abhängigkeit ' vom jeweiligen Zustand des Flip-flops zum jeweiligen Zeitpunkt der Adressieroperation öffnet. Wenn ein Mapping verwendet wird, geht die Programmseitenadresse durch die Kanäle 137 zu einem Seitenadressen-Dekoder 195. Wenn kein Mapping verwendet wird, geht die Programmseitenadresse zu Kanälen und wird dadurch eine Speicherseitenadresse*
Der Programmseitenadressen-Dekoder 195 setzt das jeweils adressierte Mapregister in Bereitschaft und das letztere speist sodann die Speicherseitenadresse, die es enthält, in eine Speicherseitenadressen^Sammelleitung 196. Ob die Seiten adresse in der Sammelleitung 196 tatsächlich als Speicheradresse dienen kann oder nicht, hängt vom Ergebnis einer Prüfung ab.
Wie bereits ausgeführt, liegt der Grundsatz der Verwendung
mm/ma-,
- 6ο -
der Map in einer Mehrfachprogrammierung oder Ilehrfach-Programmverarbeitung einer Rechenanlage, welche die Anwesenheit von verschiedenen Programmen mit gleichen Programmadressen im Speicher erfordert. Einer der Gründe, eine Map vorzusehen, ist die beachtliche Verwendung der Rechenanlage durch verschiedene Benutzer, welche !lZeitzwischenräume'1 für die Betriebszeit der Rechenanlage belassen. Für diese betrachtete Betriebs- und Verwendunj-s- ψ art ist es notwendig, eine Störung zwischen den verschiedenen Programmen und einen unzulässigen Zugriff zum Programm eines anderen zu verhindern. Daher ist ein Schutz nötig in dem Sinne, daß ein gerade ausgeführtes Programm nicht automatisch Zugriff zu allen Teilen des Speichers haben soll.
Nach diesen Ausführungen wird ein Satz von Steuerregistern l80a mit den Registern l8la, 182a 18Ma betrachtet, x^obei
M = 2 ist. Diese Register haben jeweils zwei Stufen und sind den Mapregistern mit entsprechender Nummernbezeichnung jeweils zugeordnet. Der in einem solchen Steuerregister gehaltene Zwei-Bit-Kode ist ein Zugriffsteuerkode für die Programmseite. Die folgende Unterscheidung muß sorgfältig getroffen werden, in einen bestimmten Programmseiten-Adressenkode teilen sich verschiedene Programme, jedoch zu verschiedenen Zeiten, so daß verschiedene Programme verschiedener Benutzer zu verschiedenen Zeiten die Verwendung des gleichen Mapregisters zusammen mit dem zugehörigen Steuerkoderegister erfordern. Der in einem Steuerregister zu irgendeiner Zeit enthaltene Koc...
1098U/1663 , ■-.,■■ :,:
BAD ORIGINAL
- βΐ -
ist einzig rait dem Programm des jeweiligen Benutzers verbunden, welcher dann gerade diesen bestimmten Registersatz benutzt, der ein Mapregister, und ein Zugriff Steuerregister enthält. Daher kann sich der Zugriffkode für diese Programmseite ändern, so daß es bedeutungsvoll ist, eine bestimmte Programmseite einem wählbaren Zugriffkode zuzuordnen. Der Kode im jeweiligen ZugriffSteuerregister wird geändert,, wenn infolge von mehrfacher Programmverarbeitung die gleiche Programmseite für verschiedene Programme verwendet wird.
Es hat sich als bedeutungsvoll herausgestellt, die folgenden Zugriffsteuerfunktionen zu verwenden, v/elehe beispielsweise durch die folgenden Steuerkodes zu kennzeichnen sind;
0Oj das Programm kann auf die Seite von Programmadressen schreiben, daraus ablesen oder Befehle aus derselben aufsuchen. Daher sperrt dieser Kode nicht.
Hi es ist keinerlei Zugang zu der Seite möglich. Dies ist der hauptsächliche Schutzkode, welcher eine vollständige 'Geheimhaltung für den Benutzer gewährleistet, dessen Programm die jeweilige Öpeicherseite besetzt, deren Speicherseiten-Adressenkode im ['iapregister gehalten wird,, das seinerseits dem Steuerregister zugeordnet ist, welches diesen bestimmten Zugriffkode speichert.
01 BADOR1GiNAL 1098U/16eJ
01; das Programm kann nicht auf diese Seite schreiben, kann jedoch alles einschließlich Befehlen aus dieser Seite .ablesen. Dies ist ein besonders brauchbarer Zugriffsteuerkodej da er eine gemeinsame Verwendung dieser Programmseite durch alle Programme ermöglicht, mit der Ausnahme, daß ein Benutzer in derselben nichts ändern kann. Beispielsweise kann die Programmseite arithmetische Unterroutinen enthalten, um beispielsweise eine iterative Integration, die Entwicklung von Potenzreihen zur Annäherung algebraischer Punktionen, die Speicherung von gemeinsam verwendeten Bezugsdaten, welche von Benutzern nicht umdatiert oder verpfuscht werden sollen, und dergleichen zu bewirken. Solche gemeinsamen Programme können natürlich, wenn nötig, dur""- Veränderung des Zugriffsteuerkodes verändert werden.
10; das Programm kann nicht auf die Seite schreiben oder Befehle von derselben erhalten, kann jedoch aus derselben andere Informationen als Befehle ablesen. Man benützt diesen Zugriffsteuerkode beispielsweise, falls eine Programmseite Daten und beispielsweise Befehle zum Umdatieren solcher Daten enthält. Die Daten können von allen Benutzern verwendet werden, jedoch ist eine Umdatierung nur durch eine
routine ausführende oder Überwachungs3?e4fee möglich, welche bei ihrer Ausführung sodann durch einen anderen Schutzkode begleitet ist. Es ist ein wichtiger Gesichtspunkt, daß normalerweise : Benutzer der Rechenanlage nicht in der Lage sind, in ihr
Programm 109814/1663
BAD ORIGINAL
Programm Befehle aufzunehmen, Vielehe eine Änderung des Zugriff steuerkodes bewirken. ■ ":
Die Zugriffsteuerkodes werden In einer Prüfvorrichtung 197 mit Signalen in Beziehung gebracht , welche den Zxieck des gewünschten Zugriffs bedeuten. Da der Programmseitenadressen·- Dekoder 195 den Zugriff zu einem Mapregister, beispielsweise dem Register l8l usw., bewirkt, bewirkt er auch den Zugriff zu dem jeweils zugehörigen Zugriffkode-Steuerregister l8la,. welches den jeweiligen Steuerkode zur Prüfvorrichtung 197 gibt. Im Normalfall wird der Zugriff eines solchen Registerpaares als einer der Schritte ausgeführt, um einen Zugriff zu einer bestimmten Speicherzelle zu erhalten, und dieser Zugriff hat einen Zweck«. Die Prüfvorrichtung 197 empfängt ebenfalls Information, beispielsweise von der Speicher-Lese-Schreibsteuerung lHf ob der beabsichtigte Speicherzugriff zum Zweck des Ablesens von der Speicherzelle oder des Schreibens in diese Speicherzelle geschieht, welche zu der Speicherseite gehört, die durch den Acht-Bit-Kode im Kanal oder der Sammelleitung 196 gekennzeichnet ist. Wie symbolsch durch ein Signal .02, dargestellt, wird die Entnahme von Befehlen als Folge eines Vorrückens des Programmzählers durch das Signal 0h oder durch ein Signal mit einer festen Phase bezüglich 0^ phasengesteuert, so daß dieses Signal als repräsentativ für die Tatsache betrachtet werden kann, daß der gegenwärtige Speicherzugriff _s ehr it t zum Zweck der Entnahme eines Befehlswortes aus demselben durchgeführt wird. Wie oben erläutert, steuert 0j.
1098 U/1663 ; die
die Programmoperation zum Setzen einer Programmadresse in das Register P zwecks Entnahme des nächsten Befehls des Programms aus dem Speicher.
Die Prüfvorrichtung 197 steuert nunmehr die Sperrung der übertragung des Speicherseiten-Adressenkodes von dem aufgesuchten Mapregister, indem, wenn nötig, der jeweils zugehörige Zugriffsteuerkode mit dem Signal in Beziehung gebracht vrird, welches den Zweck des beabsichtigten Zugriffschrittes kennzeichnet. Bei einem Zugriffsteuerkode 00 tritt keine Sperrung auf, so daß die "den Zugriffzweck definierenden" Signale, welche auf die Vorrichtung 197 gegeben werden, nicht beachtet werden. Bei einem Zugriffsteuerkode 11 tritt Sperrung ein unabhängig vom Zweck des Zugriffs. Bei einem Kode 01 wird ein beabsichtigtes Schreiben, jedoch nicht ein Ablesen gesperrt und beim Kode 10 ist das Schreiben und Entnahme von Befehlen gesperrt, jedoch nicht das Ablesen von anderen Informationen als Befehlen.
Jede Sperrung hat zwei Wirkungen. Eine besteht darin., daß der Speicherseiten-Adressenkode nicht zur Sammelleitung 199 übertragen wird. Die andere Wirkung ist eine Auslösung einer Fallensteuerung 139· Die Fallensteuervorrichtung 139 bewirkt, wenn sie ausgelöst ist, das direkte Setzen eines bestimmten Speicheradressenkodes in das Register 12. Der dadurch aufgesuchte Speicheradressenplatz enthält den Beginn einer Unterkontrolle, welche sich mit dieser Fehlersituation befaßt. Es
·■■-.-
1098U/1G63 -
BAD ORiGSNAL
Ist dies eine Angelegenheit der Programmierung, um ein Pestsetzen oder Einfangen der Rechenanlage vorzusehen. In der einfachsten Form kann dadurch die Rechenanlage angehalten werden oder ein Ausdruck einer Darstellung bevrirkt werden., welche die Bedienungsperson .'soweit informiert, daß das gegenwärtige Programm aufgrund der Festlegung oder Falle unterbrochen Ist und die Rechenanlage sodann mit einem anderen Programm fortfahren kann.
Die I~ap kann nicht immer verwendet werden, insbesondere dann nicht 3 wenn die Programme sich zufällig nicht überlappen und wenn keine ilehrfachbenutzung vorhanden ist, sodaß nicht die iiotwendigkelt der Sperrung von Teilen des Speichers gegen unberechtigte Benutzung besteht. Es ist Jedoch oftmals noch erwünscht, die Zerstörung oder Veränderung von Daten in einer Speicherseite zu verhindern. Zu diesem Zweck ist die Rechenanlage mit einem nSperrungs!I- und "Schlusse^-System versehen. Die "Sperrung" besteht in einer Sperregisteranordnung 190 mit
2J Registern, deren jede zwei Stufen besitzt. Jedes zweistufige Sperrungsregister ist einer Speicherseite zugeordnet. Daher ist Jedes solche Register durch den entsprechenden Speicherseiten-Adressenkode adressierbar. Die "Sperrung" für eine Seite wird durch einen Zwei-BIt-"Sperrungs"-Kode definiert, welcher im Sperrungsregister enthalten ist, so daß er als Sperrung für die zugehörige Speicherseite wirkt. Normalerweise wird ein bestimmtes Sperrungsregister mit einem Kode zu dem Zeitpunkt gefüllt, wenn Daten in die Jeweils zugeordnete Speicher-
1098U/1663
seite gegeben werden. Das Setzen dieser Sperrungsregister wird weiter unten beschrieben.
Unter einem "Schlüssel" wird ein Zwei-Bit-Kode verstanden, welcher in einem einzigen, zweistufigen Schlüsselregister gehalten wird. Der i:Schlüssel"-Kode wird in das Register 193 vor der Ausführung eines Programms oder genauer beim Beginn der Ausführung eines Programms und nach Ausführung eines der zwei Befehle: XPSD und LPSD gesetzt, welche weiter unten ausführlicher beschrieben werden. Es kann jedoch festgestellt werden, daß das Setzen oder Verändern des Schlüssels gleichzeitig mit dem Setzen oder Indern des Inhalts des Blockanzeigeregisters 151 geschehen kann. In jedem Pail wird die Ausführung des normalen Programms stets durch die Anwesenheit eines' "SchlüsselK-Kodes in dem zweistufigen Register 193 begleitet.
Die Speicherseitenadresse in den Kanälen oder der Sammelleitung \ 199 wird von der Mapregister-Ausgangsleitung 196 oder durch den Kanal 142 geliefert. Diese Seitenadresse wird im Dekoder 192 dekodiert, um einen Zugriff zum jeweiligen "Sperrungs''-Register zu bewirken, und ein Komparator 19^ vergleicht nunmehr den "Sperrungs"- und den uSchlüssellr-Kode. Dieser Vergleich wird gemäß dem folgenden Muster ausgeführt, welches durch eine einfache logische Schaltung verwirklicht werden kann:
Wenn der "Sperrungs"-Kode 00 ist, werden unabhängig vom liSchlüssel"-Kode keine Beschränkungen auferlegt, so daß eine
-109014/1663 Speicherseite
BAD ORIGINAL
Speicherseite mit einem "Sperrungs"-Kode "00" "geöffnet" ist. Das gleiche gilt, wenn der llSchlüssel"-Kode im Register 193 00 ist, und zwar unabhängig vom Inhalt des Sperrungsregisters. Daher ist eine "Sperrung" OO durch jeden "Schlüssel" 'geöffnet" und ein "Schlüssel" OO "öffnet" jede "Sperrung".
Wenn der Sperrungskode von OO verschieden ist, d.h. 01, oder 11, dann ist ein Schreiben auf die Speicherseite nur möglieh, wenn der im Register 193 gehaltene Schlüsselkode gleich dem Sperrungskode ist. Wenn daher die "Sperrungs"-und"Schlüssel"-Kodes ungleich sind und beide ungleich "00" sind, kann nicht auf die Speicherseite geschrieben werden.
Das gleiche Schreibsignal, welches die oben beschriebene Zugriffsteuervorrichtung 197 auslöst, kann nun auf den Komparator 194 angewandt werden, um die Sperrung einer weiteren übertragung eines Speicherseiten-Adressenkodes .in der Sammelleitung 199 zu sperren, und die Falle 139 wird statt dessen ausgelöst. Wenn der geforderte Zugriff zu einer Speicherseite nicht zum Zweck des Schreibens erfolgt oder wenn Sperrungs- und Schlüsselkodes übereinstimmen oder wenn entweder Sperrungs- oder Schlüsselkode = 00 ist, kann die Forderung auf Zugriff zur Speicherseite gestattet werden.
Es wird bemerkt, daß im Fall des Mapping und der Verwendung
eines 1098U/1663
BAD ORIGINAL
eines Zugriffsteuerkodes im jeweils zugehörigen Register l80a die zusätzliche Durchführung der Sperrungs- und Schlüsselprüfung nicht überflüssig ist. So kann nicht gesagt werden, daß im Fall des Zugriffschutzes durch Betätigung von Zugriffsteuervorrichtungen nicht die Notwendigkeit einer Schreibsperrung besteht. Sicher verhindern auch die Zugriffkodes 0I3 10 und 11 ein Schreiben,, so daß im Fall einer Schreibförderung keine "Sperrungs- und
" Schlüssel"-Prüfung stattfindet, da die Prüfvorrichtung bereits die übertragung des Speicherseitenkodes vom adressierten Mapregister gesperrt hat. Ein Zugriffsteuerkode 00 bedeutet jedoch nicht, daß eine Schreibförderung anerkannt werden muß, und eine Sperrungs- und Schlüsselprüfung kann trotzdem ein Schreiben auf die Speicherseite verhindern. Der Zugriffkode ist auf das Programm orientiert und der Sperrungs- und Schlüsselkode ist auf den Speicher orientiert. Zugriffkodes, Sperrungskodes und Schlüsselkodes können unabhängig vertauscht werden, so daß man ein vielseitiges Verfahren zum Errichten und Abbrechen von Sperren für Schreibforderungen auf drei verschiedene V/eisen hat, und der Programmierer hat eine Wahl zwischen den Verfahren, welche bei der jeweiligen Situation die geringste Anzahl von Schritten erfordern.
Die Ausgangskanäle 199 der Mapregister empfangen die . Spe.icherseitenadresse entweder von der Ausgangssammelleitung für das in Bereitschaft gesetzte Mapregister oder direkt von
1-0 9814/1863
BAD ORIGINAL
der Sammelleitung l42 und nach Durchführung aller Prüfungen-, wie beschrieben, ergibt sich die Speicheradresse selbst nunmehr aus der Verknüpfung der nunmehr im Kanal 199 enthaltenen Acht-Bit-Zahl und der im Kanal 136 befindlichen Neun-Bit-Zahl ,um dadurch die vollständige und gewünschte Kernspeicheradresse zu. bilden. Die Kernspeicheradresse in der Sammelleitung 199 wird sodann einer Prüfung unterworfen, ob sie ausgeführt oder ausgebildet ist. Es wird nun geprüft, ob die jeweils angekommene Speicheradresse in der Rechenanlage tatsächlich existiert oder nicht. Die Prüfvorrichtung
17
138 ist nicht erforderlich, wenn tatsächlich alle 2 ' Adressen des Adressenkontinuums im Kernspeicher ausgeführt sind. Sollte die Prüfung zu einer negativen Antwort führen, wird die Adresse in Bereitschaft gesetzt, um einen besonderen Adressenkode auf die Speichersammelleitung 125 und das Register 1.2 zu geben. Wenn der Adressenkode nunmehr schließlich alle Prüfungen durchlaufen hat, wird er in das Register 125 eingespeist und die so adressierte Speicherzelle wird nun in der üblichen Weise aufgesucht, um ihren Inhalt in das M-Register zu übertragen. ,
Die durch Happing erhaltene Adresse kann beispielsweise die Seitenzahl (in Dezimalform) 0 mit einer deeimalen Wortadressenzahl 0 bis 15 aufweisen. Wenn eine solche Adresse in das Register 12 gesetzt und auf die Adressensteuerung angev/andt wird, bewirkt sie die Adressierung des Kernspeichers und nicht des Kernregisters in der laufenden Seite. So er-
BAD OBiGi^ 098 U/1663 mögllcht
möglicht das Mapping einen Zugriff zu dem abgeschirmten Kernspeioherteil.
Es soll nun beispielsweise erläutert werden, wie das erfindungsgemäße System vorteilhaft arbeitet, insbesondere bei der Verkürzung der Verarbeitungszeit im einzelnen sowie im allgemeinen. Es wird auf das Zeitsteuerdiagramm in Figur 3 bezug genommen. Es werde angenommen, daß zum Zeitpunkt t der Programmzähler, d.h. das Q-Register, um eins vorrückt und dadurch eine bestimmte Programmadresse in dasselbe gesetzt wird. Der Phasensteuerteil 114 erzeugt nun das Phasensignal 0h, um den Durchgang vom Q-Register zum P-Register zu öffnen. Zum Zeitpunkt t^ wird daher die Adressenkodezahl auf den Separator 133 gegeben und es kann weiter angenommen werden, daß eine Kernspeicheradresse aufgesucht werden soll, so daß die Programmadressenzahl nicht zwischen 0 und 15 liegt.
Die Programmseitenadresse wird abgetrennt und über den Kanal 137 auf den Dekoder 195 gegeben. Das in Bereitschaft gesetzte Mapregister substituiert seinen Inhalt als Speicherseitenadresse. Gleichzeitig wird das entsprechende ZugriffSteuerregister für den Komparator 197 In Bereitschaft gesetzt, um den erlaubten Zugriffzweck mit dem gewünschten zu vergleichen. Der gewünschte Zugriff hat augenblicklich den Zweck des Ablesens eines Befehls aus dem Speicher, so daß ein Zugriffsteuer-
register-Kode TQ98U/1663
BAD ORIGINAL
register-Kode von 10 oder 11 die übertragung der Speicherseitenadresse sperrt und statt dessen wird die Falle in Bereitschaft gesetzt. Wenn der Zugriff erlaubt ist, findet keine Schreib-"Sperrungs"- und !ISchlüssel"-Prüfung statt j da kein Schreibzugriff gefordert wird. Nach der Ausführungsprüfung in der Vorrichtung 138 wird die vollständige Speicheradresse für diese besondere Programmadresse zur Kernspeicher-Eingangssammelleitung 125 vor dem Zeitpunkt t2 gegeben. Zum Zeitpunkt t2 ist die Ausführung des vorangehenden Befehls beendet. Es wird hier bemerkts daß die Zeitpunkte tQ und t. allgemein in einen Speicherschreibzyklus fallen, währenddessen der Inhalt des Registers 12 nicht geändert werden muß, jedoch kann die
CPU bereits mit den notwendigen Vorbereitungen für den nächsten Schritt beginnen, nämlich dem Aufsuchen der Speicherzelle, welche den nächsten Befehl enthält. Zum Zeitpunkt t2 wird der Inhalt in der Sammelleitung 125 in das Register gesetzt. Der nun beginnende Speicherablese-Zyklusteil dauert etwa 400 Nanosekunden, so daß zum Zeitpunkt t, der Inhalt der adressierten Speicherzelle, welcher ein Befehlswort ist> im M-Register erscheint und zum C-Register zu übertragen ist sowie von dort in das D-, OP-, X- und R-Register, wobei die letzteren drei natürlich ihre jeweiligen Teile des Befehlswortes empfangen. Der Zeitpunkt t, markiert auch den Beginn des Speicherschreibzyklus, um den Inhalt in der adressierten Kernspeicherzelle wiederherzustellen.
Das
1 0 9 8 H / 16 6 3 bad original
Das dann in den verschiedenen Registern gehaltene Befehlswort kann beispielsweise einen Operationskode für eine Additionsoperation enthalten, was eine volle Wortlänge ausmacht. Natürlich hält das Anzeigeregister 151 eine Kodezahl, welche den laufenden Block kennzeichnet und ein vorläufiges Bereitschaftssignal in einer der Leitungen 153 und für einen der Blocks I61, 162 usw. erzeugt. Das R-PeId des Befehls wird im R-Register gehalten und bezeichnet ein Speicherregisterj welches den Augend für die folgende Additionsoperation enthält.
Das X-FeId des Befehls kann eines der sieben beiseite gesetzten Speicherregister zum Halten von ganzen Zahlen zur Indicierung bezeichnen und es kann angenommen werden3 daß das X-PeId nicht Null ist. Daher sperrt der Detektor 17 den Kanal 131 > um zu verhindern,, daß der MA-Feld-Adressen-Kode direkt in das P-Register gesetzt wird, Nach einer geringen Zeitverzögerung nach dem Zeitpunkt t,, beispielsweise zum Zeitpunkt tu3 beginnt das Indicieren. Das Anzeig;eregister 151 kann beispielsweise den Kode für den ersten Block enthalten und der Dekoder 15^ wird daher in Bereitschaft gesetzt. Der Zeitpunkt tu markiert daher den Beginn der Phase 0p. Das X-Register kann daher seinen Inhalt auf die Kanäle und auf das jeweils beteiligte Speicherregister übertragen, beispielsweise wird das Register I6O-2 gesucht.
Das
10S8U/186 3
BAD
Das Phasensignal 0~ kann auch in der Sammelleitung 171 wirksam werden und bewirkt,, daß der Inhalt des gegenwärtig in Bereitschaft gesetzten Indexregisters 1βΟ-2 in das Α-Register kopiert wird. Zum Zeitpunkt t,- wird die ganze Indexzahl im Α-Register gehalten. Die Phasensteuereinheit Il4 gibt Signale auf das Addierwerk 121 zur Steuerung eines regulären Addiervorgangs, indem sie bewirkt 3 daß die im Α-Register gehaltene ganze Indexzahl zu den das MA-FeId bildenden Bits addiert wird, wie es zu dieser Zeit im D-Register gehalten wird. So werden diese zwei Zahlen durch das Addierwerk geleitet und die Adre s s enkode zahl Xiird durch die ganze Indexzahl verändert. Die erhaltene neue Adresse wird auf die Leitung oder Datensamr.ielleitung 176 gegeben, so daß sie in das P-Register gesetzt wird-. Das Phasensignal 0,- öffnet den Kanal 176 zum Zeitpunkt t,- und zum Zeitpunkt t^ ist die neue Adresse im P-Reßister. Dieser Zeitpunkt liegt ziemlich vor dem Ende des laufenden Speicherschreibzyklus, in welchem das Befehlswort wieder in der Speicherzelle aufgezeichnet wird, aus der es entnommen worden war. .
Die Zeitspannen zwischen tj. und tj- sowie zwischen tr und tg betragen jeweils etwa 150 bis 200 Nanosekunen. Zum Zeitpunkt t-, wurde der Befehl, in diesem Fall ein Additionshefehl, in die verschiedenen Befehlsregister gesetzt. Es ist daher"bekannt1} daß ein R-FeId, d.h. ein Speicherregister des laufenden
'■ Blocks 9814/1683 BAD ORIGfMAL ~
Blocks, direkt bei der Ausführung des laufenden Befehls beteiligt .ist. Wie oben angegeben, hält dieses Speicherregister den Augend. Daher wird zum Zeitpunkt tg, insbesondere am Ende des Indicierens und am Ende der Notwendigkeit einer Arbeitsverbindung des X-Registers mit dem schnellen Speicher, das Phasensignal 0^ erzeugt, um den Kanal 112 zu öffnen, damit der R-Peldkode in die innere Blocksammelleitung 115 eingespeist wird. Der Blockanzeigekode hat sich nicht geändert, d.h. der gleiche Block wird über den Dekoder 152 "angezeigt" und der Inhalt des Speicherregisters dieses Blocks, welches durch den Vier-Bit-R-Peldkode gekennzeichnet ist, wird in das Α-Register gegeben. Diese Operation ist zum Zeitpunkt t„ beendet, welcher etwa 150 bis 200 Nanosekunden nach tg liegt.
Beim Betrieb von bekannten Rechenanlagen bewirkt der Additionsbefehl gewöhnlich, daß die im Akkumulator gehaltene Zahl zu der in dem im Adressenfeld des Additionsbefehlswortes gekennzeichneten Adressenplatz gehaltenen Zahl addiert wird. Dies setzt die Verfügbarkeit des Augenden im Akkumulator vortfaus, was wiederum bedeutet., daß der Akkumulator mit dem Augenden geladen worden sein muß. Im vorliegenden Fall" ist der Akkumulator, d.h. das Α-Register, zur Zeit des Nachweises des Additionsbefehls (Zeitpunkt t·,) leer, aber durch Verwendung von schnellen Speicherzellen wird der Augend schnell in das Akkumulatorregister A gesetzt, um am Beginn der Ausführung (to) des Additionsbefehls verfügbar zu sein. Der Akkumulator ist daher
109814/1663 BAD original
ausgedehnt
-.75 -
ausgedehnt, so daß er tatsächlich alle schnellen Speicherregister als Hardware durch Betätigung von Software umfaßt j indem das Register durch einen Blockkode und einen R-Feldkode gekennzeichnet wird.
Wie ausgeführt, wird die indicierte Speicheradresse für den Addenden im P-Register zum Zeitpunkt tg gehalten und wird aufgespalten, die Programmseitenadresse wird zum Kanal gegeben, die innere Seiten- oder Wortadresse selbst wird zum Kanal 136 gegeben und das richtige Mapregister wird aufgesucht. Die erhaltene Adresse wird auf die Zulässigkeit des Zugriffs geprüft und nun würde nur ein Zugriffsteuerkode 11 zu einer Pestleg- oder Fallensituation führen. Die Ausführung wird ebenfalls geprüft und wenn alle Prüfungen zu positiven Antworten führen, wird die volle Speicheradresse nunmehr auf die Sammelleitung 125 gegeben, um die Beendigung des laufenden Schreibzyklus (Zeitpunkt tg) abzuwarten. Dies trifft nur zu, wenn die Speicherprogrammadresse, wie sie indiciert und vom Zeitpunkt tg an im P-Register gehalten wurde, nicht eine dezimale Adressenzahl im Bereich von-0 bis 15 besaß. Diese andere Situation wird weiter unten diskutiert.
Zum Zeitpunkt to beginnt ein neuer Speicherzyklus, welcher die Zeit umfaßt, die zur Fortschaltung der Speicheradresse für den Addenden in das Register 12 erforderlich ist. Der
BAD ORIGWÄL · Addend
T09 8.U/166 3
Addend tritt im D-Reglster zum Zeitpunkt t„ auf, welcher das Ende des Operanden-(Addenden-)Speicheradressen-Lesezyklus markiert, und die Addition kann gleichzeitig mit dem Schreibzyklusteil (beginnend bei tg) beginnen, während dessen der Addend wieder in der Kernspeicherzelle aufgezeichnet wird. Gleichzeitig dazu wird die Addition durchgeführt, indem die zwei im A- und D-Register gehaltenen Zahlen durch das Addierwerk 121 geleitet und auf die Kanäle 175 gegeben werden. Da durch Definition die Summe in die schnelle Speicherzelle gegeben werden soll, aus welcher der Augend entnommen wurde, wird wiederum ein Phasensignal 0-z erzeugt, um dieses Speicherregister wieder in Bereitschaft zu setzen, welches noch durch den ungeänderten R-Feldkode im R-Register gekennzeichnet ist. Der vorher in diesem Speicherregister gehaltene Augend wird zerstört und durch die Summe ersetzt. Dieser Vorgang ist zum Zeitpunkt t.Q beendet, welcher vor dem Zeitpunkt t^- liegt, der das Ende des Schreibzyklus für die Wiederaufzeichnung des Addenden markiert.
Zum Zeltpunkt t~ "wußte" die CPU 100, daß ein Additionsbefehl ausgeführt werden soll und daß der Zeitpunkt t^ der Augenblick der Beendigung ist. Daher werden zu irgendeiner Zeit vor dem Zeltpunkt t-i*, vorzugsweise während dieses zweiten Schreibzyklus, die oben erläuterten Operationen, welche zwischen den Zeitpunkten tQ, t* und tp auftreten sollen, wiederholt, so daß zum Zeitpunkt t.. die neue Speicheradresse, welche den nächsten Befehl enthält, in das Register 12 geschaltet werden kann.
1Q98U/1663 Wiederum
BAD ORiGSHAt
Wiederum mit bezug auf die.Additionsoperation werde ange- nommen, daß in dem anderen Fall die den Addenden enthaltende Programmadresse (MA-FeId indiciert) eine Dezimalzahl von Q bis 15 aufweist und in diesem Fall befindet sich der Addend ebenfalls im schnellen Speicher. Dies wird zum Zeltpunkt tg nachgewiesenj wenn nach dem Indicieren die Adresse für den Addenden in das P-Register gesetzt wird. Je nach der Anlage ist es erwünscht, den festen Zyklusablauf, wie er durch den Kernspeicherzyklus vorgeschrieben wird, noch durchlaufen zu lassen und die arithmetische Operation erst zum Zeitpunkt tg zu beginnen und in der vorher beschriebenen Meise fortzufahren. Bei dem anderen Fall ermöglicht die Beteiligung des schnellen Speichers eine Beschleunigung der Operation·
Etwa zum Zeitpunkt tg sucht der Separator 133 die vier Bits mit niedriger Größenordnung der Adresse mit dreizehn Hüllen als Bits mit höherer Größenordnung durch den Kanal 134 auf die innere Blocksämmelleitung 115 zu geben, aber zunächst muß der Augend aus dem Speicherregister des laufenden Blocks in der durch das R-FeId vorbestimmten Weise entnommen werden. Daher kann die Sammelleitung 134 erst nach dem Zeitpunkt t„ aktiviert werden., wenn sich der Augend im Α-Register befindet. Nun kann ein Phasensignal 0g erzeugt werden, um ein anderes Speicherregister zu suchen und dessen Inhalt über den Kanal 172 zuerst in das C-Reglster und von dort in das D-Register zu leiten, was zum Zeitpunkt t „ beendet ist, also nur etwa
200
6ADORJGiNAL 1098 14/166 3
200 Nanosekunden oder weniger nach dem Zeitpunkt t„. Daher kann die arithmetische Additionsoperation selbst zu diesem Zeitpunkt t^2 beginnen und kann zum Zeitpunkt t.-z beendet sein, wobei während der Zeitspanne t. 2 bis t.-j. das Phasensignal 0, zum Eingeben der Summe in das durch das R-FeId gekennzeichnete Speicherregister erzeugt wird. Der Separator 133 kann verwendet werden, um Steuersignale für die Steuereinheit 114 zu erzeugen und die Phasen- und Zeitsteuerung so abzuändern., daß eine Phasensteuerung der Additionsoperation in bezug auf den Zeitpunto tg und nicht auf den Zeitpunkt tg ermöglicht wird. Der Zeitpunkt t.-, markiert nun das Ende der Ausführung des Additionsbefehls für diesen Fall und der nächste Speicherzyklus kann mehr als einen halben Kernspeicherzyklus früher beginnen.
Der zum Zeitpunkt t^, nachgewiesene Additionsbefehl kann von der Art gewesen sein, bei welcher die verknüpften Bits im X- und M-FeId des Befehlswortes direkt eine Addendenzahl definieren, In diesem Fall findet natürlich keine Indicierung statt, so daß 0. zum Zeitpunkt t-, beginnen kann, um den Augend in das Α-Register durch Aufsuchen des durch das R-FeId gekennzeichneten Speicherregisters des laufenden Blocks einzugeben. Zum Zeitpunkt t.^ befindet sich.der Augend im A-Register und die Phase Φ-, bewirkt eine Addition, welche zum Zeitpunkt t^t- beendet ist, wobei die Summe in dem durch den laufenden
R-Feld-Block 1098U/16S3
BAD ORIGINAL
R-Feld-Block gekennzeichneten Speicherregister gespeichert wird. Diese Operation erfordert daher nur einen einzigen Speicherzyklus zur Ausführung,-wodurch insbesondere die arithmetische Operation bereits während der Zeitspanne der Wiederaufzeichnung des Befehls im Kernspeicher beendet ist.
Die Bedeutsamkeit der vorher beschriebenen Operationen liegt ' in der Tatsache, daß am Ende t^, t^ oder sogar t^ alle Operationsregister A, C und D nur solche Daten enthalten, welche zerstört werden können. Das Ergebnis der vorhergehenden Berechnung, hier die Summe einer Additionsoperation, ist sicher in einer Speicherregisterzelle gespeichert. Wenn man annimmt, daß eine nachfolgende arithmetische Operation gefordert wird, wobei mindestens einer der Operanden in einem der Register des laufenden Blocks gehalten wird, dann muß vor dieser arithmetischen Operation nicht ein Ladebefehl ausgeführt werden,, wie es bei bekannten Verfahren erforderlich ist. Wenn in einer weiteren nachfolgenden Operation die in der gerade beschriebenen Weise gebildete Summe als weiterer Operand, beispielsweise als Multiplikand, Augend, Dividend und dergleichen, verwendet wird, muß vor dieser arithmetischen Operation wiederum nicht ein Ladebefehl oder Eingabebefehl ausgeführt werden, da der laufende Block für eine solche Speicherung von Daten verwendet wird, welche normalerweise zuerst in einem Operationsregister gespeichert lierden müssen. Dabei ist es von besonderer Wichtigkeit, daß die schnellen Speicherregister eine doppelte Rolle spielen, da sie Speicher-
103814/16 63
zellen sind und auf diese Weise durch Verwendung einer Speicheradressenkennzeichnung (MA) mit einer Dezimalzahl 0 bis 15 gedeutet werden können oder aber als Operationsregister verwendet werden können, welche durch einen laufenden Blockkode und das R-FeId gekennzeichnet werden.
Ein anderer wichtiger Gesichtspunkt dieses Systems beruht auf der Tatsache, daß beim Auftreten einer Unterbrechung während des zweiten Speicherzyklus der beschriebenen Ausführung der Unterbrechung bereits spätestens zum Zeitpunkt fcll (°der früher) entsprochen werden kann, d.h. am Ende der Ausführung des laufenden Befehls, ohne daß Sicherungsoperationen erforderlich sind j Vielehe den Inhalt irgendeines Operationsregisters betreffen. Dieser Gesichtspunkt soll nunmehr ausführlicher beschrieben werden.
Das Unterbrechungssystem soll zunächst mit bezug auf die Figuren 5 und 6 erläutert werden. Ein Unterbrechungssystem wird im allgemeinen verwendet, um eine Unterbrechung des laufenden gerade ausgeführten Programms zu ermöglichen, wenn die Rechenanlage für eine Aufgabe benötigt wird, welche einen höheren Vorrang hat als das laufende Programm. Dies schließt das Erfordernis zur Einrichtung verschiedener Vorrangstufen ein, so daß eine dringendere Anforderung für den Betrieb der Rechenanlage eine weniger dringende unterbrechen kann, aber natürlich nicht umgekehrt.
109814/1663 Unterbrechungen
BAD ORIGINAL
Unterbrechungen können sowohl von innen als auch von ■ außen oder gemischt ausgelöst werden* Das Unterbrechungssystem ist jedoch so ausgebildet, daß beispielsweise zum Prüfen alle Unterbrechungskanäle von innen ausgelöst oder geschaltet werden können, d.h. nach der Ausführung von bestimmten Befehlen. Darüber hinaus sind die Grundlagen der UnterbrechungsVorrichtung gänzlich unabhängig von der Signalquelle , welche die Unterbrechungsförderung liefert. Daher kann jeder Unterbrechungssignalkanal von irgendwo__her eingeschaltet werden.
Erleichterung der Ausführung und Verdrahtung sind die Unterbrechungskanäle in Gruppen aufgeteilt und einige sind so angeschlossen, daß sie innere Signale empfangen, andere dienen zum Empfang von äußeren Unterbrechungssignalen. Kurz und mit bezug auf das in Figur 6 dargestellte Beispiel ausgeführt, werden innere Unterbrechungen durch die folgenden Bedingungen hervorgerufen. Sollte aus irgendeinem Grund die der Rechenanlage zugeführte Spannung wegen eines Netzleitungs ausfalles oder aus einem anderen Grund abfallen, so tritt dieser Abfall nicht augenblicklich ein, sondern während einer Zeitspanne., während der noch genug Spannung verfügbar ist, um die Rechenanlage zu betreiben, welche Zeitspanne Verwendet werden-kann, um alle jene Daten zu retten, welche gerade in solcher Weise gespeichert sind, daß sie zerstört werden würden, wenn die Spannung ausfällt, und welche Daten
nicht 1 O 9 G H / 1 8 6 3 "~~~
nicht als Doppel oder sonst auf eine unzerstörbare Weise verfügbar sind, so daß sie nicht wieder hergestellt v/erden können, außer durch vollständigen Neubeginn des Programms. Die Speicherung im Kernspeicher ist unabhängig von der Spannungsversorgung. Daher bewirkt im Fall eines drohenden Spannungsausfalls der RettungsVorgang, daß Daten aus Registern und Steuer-Flipflops in vorher zugeordneten Kernspeicherzellen gespeichert werden. Diese "Spannungsausfall-Sicherungs"-Unterbrechung hat stets den höchsten Vorrang und ist beispielsweise durch einen Fühler 201-1 auszulösen, welcher den Spannungswert überwacht, welcher am Spannungseingang der Rechenanlage herrscht. Man könnte diesen Fühler auch äußerlich einbauen, beispielsweise im Kraftwerk, in der Verteilerleitung usw., um den Netzausfall zum frühest möglichen Augenblick zu erfassen.
Innere Unterbrechungen werden durch Zeitsteuerungen, wie beispielsweise eine Zeitsteuerung 201-2 hervorgerufen. Bei einem sogenannten Realzeitbetrieb ist es für den Betrieb der Rechenanlage wesentlich, daß bestimmte Operationen in Synchronisierung mit der tatsächlich verstrichenen Zeit auftreten. Beispielsweise müssen bestimmte Ausgänge zu bestimmten Zeitpunkten vorgesehen werden oder bestimmte Eingänge müssen zu bestimmten Zeitpunkten aufgenommen werden. Daher empfangen ein oder mehrere Unterbrechungskanäle Zeitgebersignale in regelmäßigen Zeltabständen, beispielsweise 1/60 Sekunde oder 125 Mikrosekuhden. Jeder Zeitgeber ergibt
einen
109814/1663 BAD originäC
einen bestimmten Zeitintervallschritt., welcher die Auflösung für Zeitspannen darstellt9 die durch Zählen der Zeitgeberimpulse gemessen werden können. Bestimmte Zeitspannen werden durch besonders programmierte Z-shl-Unterroutinen gemessen. Der Zeitgeber liefert die zu zählenden Signale und die Zähl-Unterroutine zur Messung der .gevrünschten Zeitspannen muß sofort mit dem Auftreten jedes Zeitgebersignals ausgeführt werden. Daher wirken diese Zeitgebersignale als Unterbrechungen der Rechenanlage. Die Zeitgebersignale haben einen hohen Vorrang in der Reihenfolge des Auflösungsvermögens, wobei der Zeitgeber mit dem höchsten Auflösungsvermögen nach der Spannungsausfall-Sicherungsunterbrechung den höchsten Vorrang hat. Die Unterbreehungsroutine. Vielehe in Abhängigkeit vom Auftreten einer Zeitgeberunterbrechung ausgelöst wird, wird weiter unten beschrieben und dient gewöhnlich nur zur direkten- Messung von bestimmten Zeitspannen.
Wenn eine bestimmte programmierbare Zeitspanne verstrichen ist, ^ίelche gezählt wurde,, dann wird ein erhaltenes Signal zum Auslösen oder Sehalten eines zweiten Unterbrechungskanals mit niedrigerem Vorrang als alle Zeitgeber-Unterbrechungskanäle verwendet. Daher vrird nach Messung einer bestimmten, programmierten Zeitspanne in Abhängigkeit von einer vorbestimmten Ansprechanzahl auf Zeitgebersignale ein Kanal mit niedrigerem Vorrang vom Inneren der Rechenanlage getriggert oder geschaltet. In Figur 6 ist ein Beispiel durch eine Signalleitung mit der Bezugszahl 201-3 dargestellt, welche einen Eingang für einen
109814/1863 bad original —
von innen gesteuerten Unterbrechungskanal bildet. Dieser Unterbrechungskanal hat einen niedrigeren Vorrang als der jeweils zugeordnete Zeitgebersignal-Heß-Ünterbrechungskanal mit höherem Vorrang, welcher beispielsweise durch den Zeitgeber 201-2 gesteuert wird.
Eine weitere Art von Unterbrechungforderungen wird durch mit der Rechenanlage verbundenes "wirklich äußere Vorrichtunger. erzeugt j beispielsweise bei schritthaltenden Operationen zur Überwachung von kritischen Bedingungen, oder durch einen äußeren Zeitgeber. Auch die Bedienungstafel der P.echenanlage ist gewöhnlich nit einen Unterbrechungsschalter ausre·- stattet,, welcher ebenfalls einen äußeren Unterbrechung skc-.nal bildet. Ein Beispiel dafür ist symbolisch in Figur 6 nit der Bezugszahl 201-4 bezeichnet.
Ein Grundgedanke der Unterbrechungsvorrichtung ir.t die Verwendung von gleichartigen Hoduln 2CO (200-1, 2CC-?: us·.·.-.), ur.c". zwar eines für jeden Eingangs-Unterbrechungskanal unrbhTngig von der Quelle der Unterbrechung -Fordersignale. Piese Moduln sind in einer Weise niteinander verbunden, daf ein ir der Schaltung begründeter Vorrang für jeden Unterbrechungc-lrarr.l in bezug.auf alle anderen erzeugt wird. Weiter sind die i'oduln so ausgebildet, daß eine programmierbare Änderung im Vorrang zwischen den einzelnen Unterbreehungskr.nflen ermöglicht wird5 einschließlich einer wahlveisen Abschaltung oder Abtrennung eines Kanals nit Ausnahme der Netsrur>fall-
109814/1663 s j Qh er ungs unt e r -
BAD ORIGINAL
Sicherungsunterbrechung, welche stets den höchsten Vorrang ' hat und nicht abgetrennt werden kann. Daher können alle anderen ünterbrechungskanäle (einschließlich der Realzeit-Zeitmeßkanäle) in irgendeiner, gewünschten Vorrang-Anordnung angeschlossen werden und ihre jeweiligen Vorränge können durch innere Programmänderungen abgeändert werden.
Jeder Unterbrechungsmodul ist mit seiner Ausgangsseite mit der Rechenanlage derart verbunden, daß irgendein Unterbrechungs· signal sofort und direkt bezüglich seiner Quelle ohne Einschaltung einer Untersuchung gekennzeichnet werden kann. Jeder Unterbrechungskanal ist mit einer besonderen Speicherunterbrechungszelle verbunden., welche den Beginn einer einer
routine
Unterbrechung dienenden UnterKssKfcKBiliii enthält, die dem jeweiligen Unterbrechungskanal zugeordnet ist und dadurch die Quelle kennzeichnet, welche die Unterbrechung bewirkte.
Jeder Unterbrechungsmodul weist eine Unterbrechungssignal-Eingangsleitung 211 zum Anschließen des Moduls an die Vorrichtung auf j Vielehe das. Unterbröchungs-Fordersignal ausgeben kann. Wie bemerkt, kann diese Vorrichtung ein Zeitgeber, ein Schalter, ein Fühler und dergleichen sein, wie oben angedeutet. Eine zweite Eingangsleitung 211' dient als wahlweiser Eingang für ein Unterbrechungssignal bei jedem Modul, welche das Auslösen der Unterbrechung von innen als Folge der Ausführung eines bestimmten, "direkt schreiben" (in Abkürzung WD) genannten Befehls ermöglicht und weiter
10981 4/1 6B- 3 unten
-OD-
unten ausführlicher beschrieben wird. In Figur 6'ist die Unterbrechungssteuerung schematisch durch den Block 250, eine VJD-Ausführungssteuerung dargestellt. Der gleiche Befehl wird zur sonstigen Betätigung des Moduls verwendet. Jeder Modul isf weiter durch eine Steuerung 25^ adressierbar, welche zu der zentralen Verarbeitungseinheit gehört und ebenfalls weiter unten ausführlich beschrieben wird.
Jeder Modul hat weiterhin eine Ausgangsleitung 212, welche getriggert oder erregt wird, wenn die CPU die Steuerung der Rechenanlage auf den Unterbrechungskanal umschaltet. Die Leitungen der verschiedenen Unterbrechungsmodulfin führen in eine Steuervorrichtung 202, welche als Hardware oder als eingebaute Quelle für Speicheradressierkodes betrachtet werden kann. Für jeden Unterbrechungskanal und Modul ist ein besonderer Adressenkode in dieser Vorrichtung gespeichert und wenn ein Ausgangssignal in der jeweiligen Ausgangsleitung 212 eines Moduls erzeugt wird, so wird das jeweils zugehörige Signal in das Register P gegeben, um einen Zugriff zu dem so gekennzeichneten Speicherregister zu bewirken. Der Ausdruck Speicheradresse wird hier rieht ig; verwendet, da der auf einer Unterbrechungsförderung beruhende Speieherzugriffschritt nicht dem Mapping unterworfen ist. So überläuft die Unterbrechungsübertragung die Mapsteuereinrichtung 135, so daß die Map übergangen wird, falls das unterbrochene Programm die Map verwendete. Die so aufge-
. - - suchte
1QS8U/1G'63 >-—-
BAD ORIGINAL
suchte Speicherzelle enthält ein programmierbares Befehlswort zur Handhabung der Situation. Wie bemerkt, umfaßt die Programmierung dieser Zellen die Kennzeichnung der Unterbrechungsquelle, da das Befehlswort in der jeweiligen Unterbrechungszelle vergleichbar mit dem erwarteten Leistungserfordernis programmiert ist, welches .von der jeweiligen Quelle erfordert wird, wenn sie ein Unterbrechungssignal auf den Modul gibt, mit welchem sie verbunden ist. Beispiele werden weiter unten beschrieben.
Ein weiteres Paar vonAusgangsleitüngen eines Unterbrechungsmoduls, die Leitungen 215 und 217, definieren den jeweiligen Zustand oder die jeweilige Bedingung von allen Modulen mit höherem Vorrang zur Signalabgabe an alle Modulen mit niedrigerem Vorrang, ob irgendwelche derselben eine Unterbrechungsförderung anerkennen können oder nicht, wenn eine solche Forderung auftreten sollte.
Nunmehr wird mit der Beschreibung der verschiedenen Zustände fortgefahren, in welchen sich ein Modul befinden kann. Dies schließt eine Beschreibung eines Moduls selbst ein, wie er in Figur 5 dargestellt ist. Die Verschiedenen Zustände eines
Moduls werden durch drei Flipflops 221, 222 und 223 hervortrennt lossen gerufen. Ein Modul kann abge, angesch&ifcet3 wartend
oder aktiv sein, was jeweils, durch Steuerzustände 221 222;
221 222, 221 222: und 221 2~22 hervorgerufen wird. Der abtrennte
gea Zustand erzeugt eine arbeitsmäßige Ausschaltung
fO98 1-4/1663' des
des Unterbrechungskanals von der Rechenanlage und entspricht einer Abtrennung der Drähte der den jeweiligen Unterbrechunkskanal steuernden Anlage mit der Ausnahme, daß "in den abgetrennten Zustand des Betriebs der Rechenanlage eingetreten werden kann oder derselbe belassen v/erden kann, wenn ein "direkt schreiben"-Befehl ausgeführt wird, und es ist nicht die Handhabung von Drähten oder Schaltern erforderlich. So ist die Eingangsleitung 211 eines Moduls wirksam abgeschaltet, wenn /221 222 gilt.
Wie ausgeführt, erzeugt die Ausführung eines ''direkt schreiben*'- oder WD-Befehls zum Zweck der Anschaltung des Moduls ein Triggersignal in einer Leitung 224, welche das Flipflop .222 zur Erzeugung des Ans ehalt zus-tands einschaltet. Im angeschlossenen Zustand kann nunmehr die ein Unterbrechungssignal ausgebende Vorrichtung den Modul durch "Und"-Schaltung eines Signals in der Leitung 211 (oder in der Leitung 211') in diesen Modul wirksam steuern. Wenn dies eintritt 3 wird der Wartezustand hervorgerufen. Daher steuert die Leitung 211 oder 211' tatsächlich das Einschalten des Flipflops 221, vorausgesetzt, daß sich das System im angeschlossenen Zustand befindet, welcher durch eine 221 222-Koinzidenz hervorgerufen wird.
Der Wartezustand speichert den Unterbrechungsbefehl, bis die. Rechenanlage die Unterbrechung anerkennen kann, was von .einer Anzahl von Bedingungen abhängt. Das Flipflop 223 kann das Einschalt-Aussehalt-Steuer-Flipflop des Unterbrechung^-
109814/1863
BADORlGiNAt
nioduls genannt werden und sein Zustand entscheidet, ob der jeweilige Unterbrechungskanal in die Kette von wartenden Unterbrechungskanälen "eingereiht" werden soll oder nicht. Damit ein Unterbrechungssignal beachtet oder anerkannt wird,, muß sein Modul zuerst symbolisch in diese
reihe ■ ■ ■-
Warte gebracht werdend Daher muß sich für die Beachtung eines ünterbrechungssignals durch die Rechenanlage der Modul nicht nur im Wartezustand befinden, sondern muß auch in Bereitschaft gesetzt sein, d.h.. das Flipflop 223 muß eingeschaltet worden sein. Jeder Unterbrechungskanal muß nunmehr die Reihe abwarten, bis alle Unterbrechungsforderungen mit höherem Vorrang von der Rechenanlage beachtet worden sind.
Es ist ersichtlich., daß durch Betätigung dieses Einschalt-Plipflops 223 die eingebaute Vorrang-Wertfolge des Unterbrechungssystems verändert werden kann. Wenn der Benutzer der Rechenanlage die Vorrangabfolge in der vorhandenen Form wünscht und daher die einzelnen Unterbrechungsvorrichtungen in. der Reihenfolge mit den Unterbrechungskanälen verbunden hat und wenn er diese Vorrang-Reihenfolge nicht zu ändern wünscht oder keine Änderung erwartet,, dann bleiben die Ein-■sehalt-Flipflops aller dieser Modulen gesetzt. Sollte eine /incierunn; .des Vorrangs gewünscht sein, dann kann das Programm so geschrieben werden, daß ein bestimmter Unterbrechungsmodul
• . mit ·
BAD OBSGmAU 1098
mit verhältnismäßig hohem Vorrang für eine Zeitspanne abgeschaltet bleibt, wodurch er tatsächlich aus der Wartereihe herausgenommen wird, bis sein Einsehalt-Flipflop eingeschaltet worden ist, was nach Beachtung einer Unterbrechungsförderung mit normalerweise niedrigerem Vorrang eintreten kann.
Man unterscheidet daher zwischen dem Warte- und Bereitsschaftsstatus und dem Warte- und Abschalt- oder Außerbereitschafts-Status. Der erstere kann durch 221 222 223 gekennzeichnet werden und setzt den Modul in die Wartereihe. Der nächste und sozusagen höchste Status eines Moduls ist der aktive Status, welcher durch 221 222 223 gekennzeichnet ist, und dieser Status kann nur aus dem "Bereitschafts- und Warte"-Status hervorgerufen werden. Damit ein Modul in den aktiven Status kommt, ist es erforderlich, daß die folgenden zusätzlichen Bedingungen gelten. Man kann sehen, daß all diese nunmehr zu erläuternden Bedingungen das Abschalten des Flipflops 222 steuern. Wie bereits ausgeführt, ist die erste Bedingung, daß sich der Modul im "V/arte- und Bereitschafts"-Status befindet. Zweitens darf kein Modul mit höherem Vorrang aktiv sein oder sich im Bereitschafts- und Wartestatus befinden. Drittens muß die Rechenanlage einen unterbrechbaren Zeitpunkt erreicht haben und viertens darf eine Gruppensperrung nicht vorhanden sein. Bevor diese Bedingungen im einzelnen beschrieben und erläutert werden, wird die Beschreibung der Zustandsänderungen oder Statusänderungen
109814/ 1863 eines
BAD ORIGINAL
eines Unterbrechungsmoduls zu Ende geführt.
Wenn sich der Modul im "Bereitschafts- und Warte"~Status befindet und die drei weiteren Bedingungen ebenfalls gelten, schaltet der Modul in den aktiven Status, welcher als 221 222 223 definiert ist, indem ein Gatter 230 das Flipflop 222 abschaltet. Der aktive Status bewirkt eine Koinzidenz im Gatter 228 und es wird ein Signal auf die Leitung 212 gegeben, um die jeweils zugeordnete Unterbrechungs-Speicherzelle in Bereitschaft zu setzen. Nachdem die Unterbrechung beachtet worden ist und die Unterbrechungsroutine beendet worden ist, wird entweder ein Befehl LPSD oder ein Befehl WD ausgeführt. Die Einzelheiten der Ausführung eines dieser Befehle werden weiter unten erläutert. Vorläufig genügt die Peststellung, daß dadurch der Modul auf verschiedene Weisen deaktiviert werden kann. Da in der Zwischenzeit das Triggersignal in der Leitung 211 oder 211' abgeklungen ist, ist die Deaktivierung eines Moduls möglich, indem der Modul in den angeschalteten Status, wofür ein Triggersignal in der Leitung 224 erforderlich ist, oder in den abgeschalteten Zustand aufgrund eines Signals in der Leitung 231 und/oder in den Außerberfeitschafts^Status gebracht 'wird.,- wodurch ein Abschalten des Flipflops 223 erforderlich ist.
Nünmehr werden die Einzelheiten bezüglich der Herstellung des aktiven Status und der Bedingungen für diesen betrachtet. Eine zu betrachtende Bedingung besteht darin, daß der Modul
15A9531
~ 92 -
in den aktiven Status gebracht werden kann, wenn sich kein anderer Modul mit höherem Vorrang in dem "Bereitschafts- und Warte"- oder dem aktiven Status befindet. Die logische"Und"-Schaltung 227 des im einzelnen in Figur dargestellten Moduls erzeugt ein Steuersignal für den "Bereitschafts- und Warte-Status" des Moduls, welches durch 221 222 223 definiert wird. Die logische "Und"-Schaltung 228 erzeugt 221 222, was den aktiven Status definiert, und dieses Signal wird auf die Leitung 212 gegeben. Jeder Modul weist außerdem ein Paar von Vorrangketten-Ausgangsleitungen 215 und 217 auf oder, genauer, der Modul 200-Y weist Ausgangsleitungen 217Y 215Y auf. Die Ausgangsleitung 215Y des Moduls 200Y empfängt ein wichtiges Signal, wenn der Modul 200Y sich im aktiven Status (Gatter 228) befindet oder wenn die Leitung 215Y-1 des Moduls 200Y-1 mit dem nächsthöheren Vorrang ein richtiges Signal enthält.
Die Ausgangsleitung 217Y des Moduls 200Y empfängt ein richtiges oder wahres Signal, wenn der Modul 200Y sich 'im Bereitschafts- und Warte-Status befindet, welcher durch Koinzidenz am Gatter 227 hervorgerufen wird, oder wenn die Leitung 217-(Y-I) des Moduls 200-(Y-I) mit dem nächsthöheren Vorrang ein richtiges Signal erzeugt.
Auf diese Weise wird der "Bereitschafts- und Warte*- oder aktive" Status jedes Moduls zu allen Modulen mit niedrigerem
10 9814/Ί663 Vorrang
1ORIGINAL
■ - 93 -.'■■■
Vorrang übertragen. Die Signale in den Vorrangketten-Aus- ; gangsleitungen 215Y-1 und 217Y-1 des Moduls mit dem nächsthöheren Vorrang werden in einem "Oder"-Gatter 216 verknüpft* Dieses "Oder""Gatter erzeugt ein richtiges Ausgangssignal nur,-wenn sich mindestens einer der Modulen 200-1,"200-2, ..., 200-(Y-I)3 die alle einen höheren Vorrang besitzen als der Modul 200Y, entweder im aktiven oder im Bereitschaftsund Warte-Status befindet. Der Ausgang des Gatters 2l6 dient als Sperrsignal im Gatter 230 des gerade betrachteten Moduls,
Es ist ersichtlich, daß, falls das "Oder"-Gatter 216 das Gatter 230 sperrt, um dadurch zu verhindern, daß der Modul 200Y den aktiven Status annimmt, die Leitung 215-Y oder die Leitung 217-Y ein richtiges Signal enthält, um gleichermaßen ein Aktivwerden des Moduls mit dem nächstniedrigeren Vorrang zu sperren, so daß sich diese Sperrung zu allen Modulen mit niedrigem Vorrang ausbreitet.
Wunmehr wird mit der ausführlichen Beschreibung einer weiteren der drei zusätzlichen Bedingungen für einen Übergang eines Moduls in den aktiven Status fortgefahren. Es muß erläutert werden,.- was mit dem Ausdruck "unterbrechbare Zeitpunkte111 gemeint ist. Stets am Ende der Ausführung eines Befehls wird ein unterbrechbarer Zeitpunkt gebildet. Bevor daher die Rechenanlage den Programmzähler Q steuert, so daÄ sr den Adressenkode für den nächsten Befehl in öas.. F-Regi&teg» s@tst3' gibt die teifc- und Phas'enstauereijahei* %lk sin S&
ab, welches als Prüfsignal für die ganze Unterbrechungsvorrichtung betrachtet werden kann. Es wird auf alle Modulen über eine Leitung 225 gegeben, aber nur der nächste in der Wartereihe, d.h. der mit dem höchsten Vorrang unter dem im Warte- und Bereitschafts-Status befindlichen, kann auf dieses Signal 0-Ende ansprechen.
Viele Befehle erfordern jedoch zur Ausführung eine ziemlich lange Zeit. Daher würde das Unterbrechungssystem verhältnismäßig langsam sein, wenn die Rechenanlage nur am Ende der Ausführung irgendeines Befehls unterbrochen werden könnte. Für einen Betrieb und eine Programmierung mit gutem Wirkungsgrad muß es möglich sein, dem Benutzer die Zeitgrenzen des maximalen Wartens mitzuteilen, bevor zu erwarten.ist, daß ein Unterbrechungssignal beachtet wird. Wenn diese maximale Zeitgrenze entsprechend der längsten Ausführungszeit eines Befehls gewählt würde, so wäre das Ergebnis sehr wenig zufriedenstellend und würde die Verwendbarkeit der Rechenanlage für Realzeit- und/oder schritthaltenden Betrieb stark einschränken. Daher sind zusätzliche unterbrechbare Zeitpunkte erforderlich und sie werden beim erfindungsgemäßen System vorgesehen.
Bei einigen Befehlen, gewöhnlich solchen mit einer Ausführungsdauer zwischen 10 und 20 Mikrosekunden, treten unterbrechbare Zeitpunkte während der Ausführung des Befehls bis zu der Seit auf, zu der der Inhalt einiger Speicherzellen mit schnellem
103814/1883 oder
BAD ORIGINAL
_ 95 -
oder langsamem Zugriff zuerst verändert wird. Ein solcher Befehl kann an diesem Punkt beseitigt werden, d.h. die Reehenanlage kann die Situation behandeln, wie wenn mit der Ausführung dieses Befehls nie begonnen worden wäre. Wenn ein Unterbrechungsmodul daher in Abhängigkeit von einem solchen 0-^int-Signal in den aktiven Status geschaltet wird, so wird der Befehl beseitigt. Wenn eine Veränderung einer Speicherzelle nicht stattgefunden hat, kann die Ausführung dieses Befehls von neuem begonnen werden, nachdem die Unterbrechung beachtet und ausgeführt worden ist, und es ergibt sich kein Fehler im unterbrochenen Programm. Diese Befehlsbeseitigung kann stattfinden, da gültige Doppel von Operanden sich im schnellen oder Kernspeicher befinden und in aktiven Registern nicht unwiederbringlich verändert sind.
Schließlich gibt es lange Befehle mit Ausführungszeiten von über 30 Mikrosekunden. Die Ausführung dieser Befehle wird derart gesteuert, daß dabei häufig Zeitpunkte auftreten, in welehen ein Zwischenergebnis in der Rechenanlage derart erzeugt wird, daß die Ausführung an diesem Punkt unterbrochen und später wieder aufgenommen werden kann, und es besteht keine Gefahr, daß das Ansprechen auf die Unterbrechung und1 das daraus folgende Abzweigen auf eine ünterbreChungs-Unterroutine und die Ausführung derselben das Zwischenergebnis stört. Einige Beispiele sollen hier erwähnt werden.* ■."-■-.-
BAD OHlQtNAt
Es
109314/1663
Es werden beispielsweise Befehle gegeben, welche bewirken, daß der Inhalt einer Anzahl von nacheinander adressierbaren Speicherzellen zur Speicherung in anderen, gleichermaßen aufeinanderfolgend adressierbaren Speicherzellen umgeordnet werden. Die anfängliche, mit einem solchen Befehl verbundene Information wird in einem Paar von durch den Blockanzeiger gekennzeichneten Speicherregistern gehalten. Insbesondere enthalten diese zwei Speicherregister anfänglich zwei Adressen. Eine Adresse definiert die erste Speicherzelle aus einer Mehrzahl, welche die Quelle des umzuordnenden Datums sein soll, und die andere Adresse definiert die erste Speicherzelle aus einer Mehrzahl, welche das Ziel für ein solches Datum sein soll. Die Ausführung geht nun mit dem Aufsuchen einer Speicherzelle zu einem Zeitpunkt mit Umdatieren (updating) der jeweiligen Adressenkodes in den Speicherregistern vielter. Man kann sehen, daß dieser UmordnungsVorgang in einer Folge von ähnlichen Arbeitszyklen ausgeführt wird.' Während jedes solchen Zyklus wird der Inhalt einer Speicherzelle umgeordnet oder versetzt. Am Ende jedes solchen Zyklus befindet sich die Rechenanlage in einem Zustand, welcher sich im Grund nicht von dem Zustand unterscheidet, den sie am Beginn der Ausführung dieses Befehls aufwies, mit der Ausnahme, daß die zwei teilnehmenden Speicherregister nunmehr verschiedenes d.h. umdatierte Adressen für Quelle und Ziel (source and destination) enthalten. Diese Adressen definieren nun die 'jeweils ersten Zellen für Quelle und Ziel der Übrigen umzuordnenden Daten. Daher kann nach jedem solchen Umordnungszyklus
1098H/1663
BAD ORIGINAL
der UmordnungsVorgang tatsächlich unterbrochen werden und der UmordnungsVorgang kann später gerade da wieder aufgenommen werden, wo er unterbrochen wurde, während in der Zwischenzeit eine Unterbrechungsroutine oder auch mehrere derselben ausgeführt worden sind.
Man kann sehen., daß die Ausführung aller Befehle, welche mittels ähnlicher aufeinanderfolgender Zyklen ausgeführt werden, wodurch am Ende jedes solchen Zyklus die Rechenanlage sich in einem Zustand befindet, so daß der nächste Zyklus gerade so beginnen kann, wie wenn er der erste aus einer kleineren Anzahl von durchzuführenden Zyklen wäre, zwischen je zwei Zyklen unterbrochen werden kann, und die Beendigung der Ausführung kann später ohne Gefahr für das Ergebnis der Ausführung des ganzen Befehls wieder aufgenommen werden. Daher wird ein Unterbrechungs-Zeitgebersignal 0-int am Ende jedes solchen Zyklus innerhalb der Ausführung von langen Befehlen ausgegeben.
Hierbei ist es von entscheidender Wichtigkeit, daß bei Teilnahme von allgemeinen oder Blockregistern alle Daten in dem laufenden Registerblock automatisch gespeichert werden, wie wenn sie sich am Ende jedes solchen beschriebenen · Zyklus im Speicher befänden. Die Ausführung eines solchen langen Befehls kann unterbrochen werden, da, wenn Irgendeine Unterbrechung die Ausführung einer Unterroutine erfordert, diese Unterbrechungs-Unterroutine mit einer Änderung des Anzeige*
BAD OHlGiMAL
1098 U/1663 kodea
kodes beginnt, welche automatisch den Block des unterbrochenen Programms im Moment der Unterbrechung speichert und sicherstellt. Insbesondere werden die Quellen- und Zieladressen für einen Umordnungsbefehl der beschriebenen Art nach jedem Zyklus verändert und diese veränderten Adressen werden in dem durch das R-PeId gekennzeichneten Speicherregister gehalten, welches zu dem während der Ausführung des Programms3 von dem der Umordnungsbefehl ein Teil ist, angezeigten Block gehört. Wenn die Unterbrechung den Anzeigekode verändert, werden die Quellen- und Zieladressen für den Rest des Umordnungsvorgängs automatisch im Eigenspeicher der CPU gespeichert.
So werden unterbrechbare Punkte oder Signale 0-Ende und 0-int am Ende der Ausführung jedes Befehls, während der Ausführung eines Befehls mittlerer Länge vor der Änderung des Inhalts irgendeiner Speicherzelle mit schnellem oder langsamem Zugriff und während der Ausführung von langen Befehlen Erzeugt, welche in Zyklen ausgeführt werden, wobei am Ende jedes Zyklus die Rechenanlage sich in einem Zustand befindet, welcher die Unterbrechung und die darauffolgende Wiederaufnahme gestattet, auch wenn die Rechenanlage inzwischen verschiedene Unterroutinen durchgeführt hat.
Unter einem allgemeineren Gesichtspunkt weist die Rechenanlage .unterbrechbare Punkte stets zu solchen Zeitpunkten auf,
109814/1663
BAD ORIGINAL
wenn der Betriebsstatus der Rechenanlage durch Daten definiert werden- kann, welche in zwei Worte gepackt werden können, die ein sogenanntes Programmstatus-Doppeltfort bilden, so daß nach einer Unterbrechung die Rechenanlage ihren Betrieb zu einem späteren Zeitpunkt wieder aufnehmen kann, wenn dieses Programmstatus-Doppelwort des unterbrochenen Programms in der Zwischenzeit gespeichert worden ist, wie wenn eine Unterbrechung nie stattgefunden hätte. Dieses Programmstatus-Doppelwort wird weiter unten ausführlich behandelt.
Es wurde bereits bemerkt, daß die Rechenanlage insbesondere so ausgebildet Ist, daß sie ein schnelles Ansprechen bei Realzeitbetrieb gewährleistet. Es ist daher wesentlich, daß die unterbrechbaren Zeitpunkte (ßS-Ende oder 0-int) in der geschilderten Weise vorgesehen werden. Der Befehlsvorrat ist daher so ausgebildet, daß die maximale Zeltspanne zwischen unterbrechbaren Punkten eine bestimmte Zeitspanne, wie beispielsweise 30 MIkrosekunden, nicht übersteigt. Dies bedeutet, daß bei Betrieb unterbrechbare Zeitpunkte mindestens mit dieser Geschwindigkeit oder schneller erzeugt werden sollten. Andererseits muß es absolut sicher sein, daß unterbrechbare Punkte auf einer dem Benutzer garantierten Grundlage mit minimaler Geschwindigkeit erzeugt werden. Um die Möglichkeit von Fehlern, möglicherweise zusammengesetzten Fehlern in dem System auszuschalten, welche die Grundlage für diese Garantie zerstören, weist das System einen sogenannten "Wachhund-Zeitgeber" 280 auf. Dies ist ein selbständiger ZeIt-BAD OWGINAI
10 9814/1663
geber, welcher einen Triggerimpuls beispielsweise 40 Mikrosekunden nach dem jeweils letzten unterbrechbaren Zeitpunkt erzeugt. Daher setzt jedes Signal 0-int oder 0-Ende den Zeitgeber 280 zurück und seine Schalt- oder Trigger-Verzögerungszeit beginnt erneut zu laufen. Bei normalem Betrieb erzeugt er niemals ein Triggersignal. Wenn jedoch Uo Mikrosekunden seit dem letzten unterbrechbaren Zeitpunkt vergehen, schaltet das dann erzeugte Triggersignal eine Falle 281, welche eine bestimmte Speicherzelle aufsucht. Wenn dies eintritt, ist jeder von der Rechenanlage ausgeführte Vorgang unterbrochen und die Hilfsroutine, welche ihren Anfang in der von der Falle 281 aufgesuchten Zelle hat, wird durchgeführt« In dieser Fallenzelle befindet sich ein XPSD-Befehl.
Es ist ersichtlich^ daß dies eine drastische Maßnahme ist, welche den zum Zeitpunkt der "Wachhund-Zeitgebert!-Schaltung durchgeführten Teil des Programms unbrauchbar machen kann. Daher muß nicht nur der unterbrochene Befehl, sondern in den meisten Fällen das ganze Programm beseitigt werden. Dies hängt wesentlich von der Art des Befehls ab, v/elcher unterbrochen wurde, aber im allgemeinen muß das unterbrochene Programm neu begonnen werden. Die Hilfsroutine für diese Fallensituation schließt natürlich die Erzeugung eines unterbrechbaren Zeitpunkts am Ende der Ausführung des Befehls in • der Fallenzelle ein, welcher, wie ausgeführt, einXPSD-Befehl ist. Da dieser beispielsweise 5 Mikrosekunden dauert, ist ersichtlich, daß tatsächlich einAnsprechen auf die Unterbrechung von höchstens 45 Mikrosekunden garantiert werden kann.
1098 U/ 1663 BAD ORIGINAL
- 101 - ,.
Es kann kürz erwähnt .werden, daß "die Netzausfall-Sleherungsunterbrechung, wenn sie aktiviert wird, den Wachhund-Zeltgeber deaktivieren kann, da keine unterbrechbaren Zeitpunkte erzeugt werden müssen, solange dieser Unterbrechungskanal mit dem höchsten Vorrang aktiviert ist. "Seine Hilfsroutine kann nicht und darf tatsächlich nicht unterbrochen werden. Bei Wetzausfall ist der Sicherstellungsvorgang natürlich wichtiger als jede andere Art von Forderungen an das Arbeiten der Rechenanlage« .
In den vorangehenden Abschnitten ist beschrieben worden, was unter einem unterbrechbaren Zeitpunkt der Rechenanlage verstanden wird, und es. ist ersichtlich, daß die Signale 0-int oder 0-Ende das übergehen eines unterbrochenen Moduls aus dem !tWarte-Bereitschafts"-Status in den aktiven Status steuern,, vorausgesetzt, daß die anderen Bedingungen erfüllt sind.
Die letzte zu beschreibende Bedingung beruht auf der sogenannten Gruppen-Sperrsteuerung. Zweckmäßigerweise können die verschiedenen'Unterbrechungskanäle zu Klassen zusammengefaßt werden und es können ganze Klassen gesperrt werden. Dies ermöglicht tatsächlich die arbeitsmäßige Ausschaltung von ganzen Klassen, ja sogar des ganzen Unterbrechungssystems durch innere Steuerung. Das gleiche kann mit einem einzelnen Viert durch Abschaltsteuerung durchgeführt werden.
ORIGINAL „ Λ Es
109814/1663 —
Es ist jedoch ratsam, die Netzausfallsicherung und die Zeitgeberunterbrechungen von dieser Gesamt-Sperrung auszuschließen. Dadurch ist die Beschreibung der Erzeugung des aktiven Status in einem Modul beendet. Zusammenfassend ist zu sagen, daß ein Modul im VJartestatus die Unterbrechungsförderung speichert und im Bereitschaftsstatus vor oder nach der Erzeugung des Wartestatus tritt der Modul in eine Wartereihe entsprechend seinem Vorrang ein. Wenn kein höherer Vorrang aktiv ist oder sich im Bereitschafts- und Wartezustand befindet, wenn keine Gruppensperrung vorhanden ist, dann bewirkt die CPU bei der nächsten Zeitspanne (0-int + 0-Ende), daß der Modul aktiv wird und ein Triggersignal in seiner Ausgangsleitung 212 erzeugt, woraufhin der Betrieb der Rechenanlage tatsächlich unterbrochen wird und die Unterbrechungs-Hilfsroutine für den jeweiligen Unterbrechungskanal ausgeführt wird.
Es wird bemerkt, daß der Netzausfall-Sicherungsmodul mit dem höchsten Vorrang niemals abgeschaltet oder außer Bereitschaft gesetzt werden kann. Daher hat er nur einen Wartestatus, da er auf die nächste UnterbrechungsZeitspanne (0-int oder 0-Ende) warten muß. Dieser Modul kann daher von einem einzigen Flipflop gebildet werden, welches vom Netzausfall-Pühler 201-1 augenblicklich gesetzt wird und das nächste Unterbrechungs-Zeitpunkt-Signal 0-Ende oder 0-int schaltet dieses einzige, den Unterbrechungsmodul bildende Flipflop direkt. Sobald sich dieser Modul im Wartestatus befindet, überläuft er alle vorhandenen
109814/1663 Unterbrechungsstatus
■■■"■:-' BAD ORIGINAL
■Unterbrechungsstatus in allen anderen Moduln einschließlich den bereits in der "Wartereihe" oder im aktiven Status befindlichen. Alle anderen Moduln sind, wie beschrieben, früher, mit der Ausnahme, daß einer Klassensperrung nicht unterworfene Unterbrechungsmoduln keine Steuerlei^tung aufweisen, sonst könnte eine solche Leitung dauernd in Bereitschaft sein. Es sind die verschiedenen Status eines Unterbrechungsmoduls im allgemeinen beschrieben worden und es ist weiter insbesondere beschrieben worden, wie der aktive Status in einem Modul hervorgerufen wird. Nunmehr werden Einzelheiten, wie die Erzeugung der anderen Status eines Moduls beschrieben.
Jeder Modul weist weiter ein Eingangsgatter 229 oder eine Anordnung von Gattern für jede der Steuerleitungen 211», 224, 231, 226 und die nicht bezeichneten Eingangsleitungen zum Setzen und Zurücksetzen des Bereitschafts-Flipflops auf. Diese Eingangsgatter-Anordnung 229 wird durch ein Signal von einer Adressierleitung 228 geöffnet, mit des-s-en Hilfe die CPU den jeweiligen Modul adressieren kann, so daß das Befehlssignal oder die Befehlssignale in den Leitungen 224, 231 usw., welche ebenfalls von der CPU erzeugt werden, in den Modul eintreten können, um die Flipflops desselben in der oben beschriebenen Wiise zu steuern.
Nunmehr wird die Beschreibung der Erzeugung der einzelnen Steuersignale fortgesetzt, mit deren Hilfe eine Rechenan-
lage
lage irgendeinen der Unterbrechungsmoduln mit Ausnahme des Netzausfall-Sicherungsmoduls anschalten, abschalten, in Bereitschaft und außer Bereitschaft setzen kann. Alle Moduln können Jedoch auch durch solche Steuersignale (Leitung 211') gesteuert werden, daß der Wartestatus für diesen Modul hervorgerufen wird. Diese Steuerungen werden durch die Ausführung des "direkt schreiben^ (WD)-Befehls hervorgerufen, welcher bereits wiederholt erwähnt wurde und nun im einzelnen beschrieben wird.
Das Befehlswort für den WD-Befehl hat einen Steuerkode, ein R-FeId und ein X-FeId wie üblich. Die Adresse in dem Bezugsfeld, d.h. dem MA-PeId, wird jedoch nicht zur Kennzeichnung einer Speicheradresse verwendet. Statt dessen definieren nun bestimmte Bits des MA-Feldes eine Gruppe von Unterbrechungskanälen oder Moduln. Die jeweils gewünschte Steuerung wird in einem Steuerkode dargestellt, welcher in bestimmten anderen Bitstellen des MA-Feldes enthalten ist. Das vom R-FeId dieses WD-Befehls zusammen mit dem laufenden Anzeigekode gekennzeichnete Speicherregister enthält einen Adressenkode, welcher einen oder mehrere der Unterbrechungsmoduln der Gruppe enthält, welche nun auf die Ausführung dieses besonderen Befehls hin gesteuert werden soll. Da jede Gruppe bis zu 16 Moduln aufweisen kann, kann man 16 Bits (oder ein halbes Wort) des durch das R-FeId gekennzeichneten Speicherregisters zur einzelnen Zuordnung zu einem Unterbrechungsmodul verwenden. Auf diese Weise ist es möglich, gleichzeitig sechzehn Unterbrechungs-
1098U/1663
moduln
BAD ORIGINAL
moduln durch den gleichen Steuervorgang zu beeinflussen. Jeder Modul einer Gruppe ist einer bestimmten Bitstelle des in dem.· durch das R-PeId gekennzeichneten Blockregister enthaltenen Halbwort zugeordnet und ein "EIn"-Bit oder ein "Null"-Bit' in dieser Bitstelle definiert Umfang und Art der Steuerung für den jeweiligen Modul.
"V/ie symbolisch in Figur 5 angedeutet, öffnet der Operationskode-Dekoder· Hl5 wenn er nachgewiesen hat, daß sieh der zu dem WD-Befehl gehörende Operationskode im OP-Register befindet, die zwei Kanäle 251 und 252, welche von bestimmten Teilen des D-Registers derart weggeführt sind, daß sie' auf die in bestimmten Bitstellen innerhalb des MA-Peldes des WD-Sefehlswortes enthaltenen Bits ansprechen. Die durch die Kanäle 252 geleiteten Bits definieren eine Gruppe von Unterbrechungsmoduln. Diese Bits gehen zum Dekoder 252I und setzen sechzehn Unterbrechungsmoduln einer solchen Gruppe ,vorläufig in Bereitschaft. Beispielsweise werden sechzehn Gatterleitungen, wie beispielsweise 228, für die Eingangsgatter von sechzehn Unterbrechungsmoduln vorläufig vorgespannt, werden jedoch auf diesen Kode in den Leitungen 253 hin allein nicht auf Durchr-am: geschaltet.
Vom laufenden Heßisterbloek und über das Λ-Register gibt ein iialbv/ort den vom R-FeId adressierten Speicherregisters sechzehn Adrensenkode-Mtsin einen Kanal 252, welcher ebenfall:; zur .r-iodulzupriffänord-nurif; 25^ führt. Wie oben angegeben,
BAD ORIGINAL
J qf
1 098 U/1 863 —
ist nun jeder dieser Bits einem Modul der vorläufig in Bereitschaft gesetzten Gruppe zugeordnet und dient als Adressier- und Steuerbit. Die Zugriffsteueranordnung 25^ gibt diese sechzehn Bits in die entsprechenden sechzehn Ausgangsleitungen 228, welche zu den betroffenen Moduln führen.Ein solcher Bit wird als Schaltsignal auf das Eingangsgatter 229 eines Moduls gegeben,, um ein Eintreten von Steuersignalen in den Modul entsprechend dem vom Kanal 251 zu einem Unterbrechungs-Steuerkode-Dekoder 255 geleiteten Steuerkode zu ermöglichen.
Die durch die Kanäle 251 geleiteten Bits definieren den jeweiligen Steuerkode und in Übereinstimmung damit werden die Moduln der Gruppe in dem Umfang gesteuert, welcher durch die Schaltsignale in den Leitungen 228 ermöglicht wird. Insbesondere und beispielsweise bedeutet ein Steuerkode "001", daß alle Unterbrechungsmoduln der Gruppes welche durch einen Eins-Bit in der jeweils zugeordneten Bitstelle des Halbworts im Kanal 253 gewählt wird, abgeschaltet oder abgetrennt werden und alle anderen Moduln der Gruppe unbeeinflußt bleiben. Insbesondere empfängt ein Modul der Gruppe, welcher durch einen "Eins"-Bit in einer bestimmten Bit-Stelle des auf den Kanal 253 gegebenen Halbworts gekennzeichnet ist, diesen "Eins^-Bit in seinen jeweiligen Schaltleitungen 228. Dieser "Eins"-Bit öffnet das Gatter 229. Der Dekoder 255 sendet einen Trigger-Bit zu allen Moduln, aber nur die sodann auf Öffnung geschalteten geben ein Steuersignal in die Leitung 231,
1 0 9 8 U / 1 6 6 3 —
BAD ORIGINAL
so daß alle diese Moduln, welche das entsprechende Gatter 229 geöffnet hat, abgeschaltet werden.
Oex· Steuerkode "100" bedeutet, daß alle Unterbrechungsmoduln in Bereitschaft gesetzt werden, welche durch einen "Eins"-Bit in der jeweils zugeordneten Bit-Stelle des Halbworts im Kanal 253 gewählt wurden. Die Moduln der Gruppe 3 -welche nicht in dieser Weise durch einen "Eins"-Bit gewählt wurden, bleiben unbeeinflußt. Nunmehr kurz gesagt, der Steuerkode 010 schließt alle durch eine Eins gewählten Moduln an und setzt sie in Bereitschaft, die durch Null gewählten Moduln bleiben unbeeinflußt. Der Steuerkode 011 schließt alle Moduln der durch eine Eins gewählten Gruppe an und setzt sie außer Bereitschaft, die anderen Moduln bleiben unbeeinflußt. Der Steuerkode 010 setzt die durch Eins gewählten Moduln außer Bereitschaft, die anderen bleiben unbeeinflußt.
Der Steuerkode 111 triggert alle durch eine Eins gewählten' Moduln (Signal in der Leitung 211')· Daher werden alle sodann angeschlossenen und in Bereitschaft gesetzten Moduln gleichzeitig in den Wartestatus gesetzt und die Rechenanlage beachtet alle gleichzeitigen Unterbrechungsforderungen in der Reihenfolge des vorher geschalteten Vorrangs der so getriggerten Moduln. Natürlich werden nicht alle angeschlossenen, jedoch außer Bereitschaft gesetzten Moduln der Gruppe an
BAD 1M8U/1
diesem Punkt in die Wartereihe gesetzt. Der Kode 111 ist das typische Steuersignal, um eine programmierte, von innen erzeugte Unterbrechung hervorzurufen.
Schließlich setzt der Steuerkode 110 alle durch einen "Eins"-Bit gewählten Moduln in Bereitschaft, setzt jedoch alle durch einen "Nulll!-Bit gepfählten Moduln außer Bereitschaft. Dies bedeutet, daß beispielsweise der Dekoder 255 sowohl in Bereitschaft als auch außer Bereitschaft setzende Steuersignale ausgibt und die Gatter 229 der sechzehn betroffenen Moduln werden veranlaßt, diese Koinzidenz zusammen mit dem auf die jeweilige Leitung 228 gegebenen Bit als außer Bereitschaft oder als in Bereitschaft setzendes Signal zu deuten.
Bei einer normalen und unkomplizierten Situation wird ein Modul am Anfang, d.h. am Beginn eines bestimmten Programms, angeschlossen und in Bereitschaft gesetzt, Kode 010. Die beschriebenen Kodes werden zum Programmieren irgendeiner Änderung des Vorrangs oder, etwas drastischer, zur arbeitsmäßigen Beseitigung eines Unterbrechungskanals aus der Rechenanlage verwendet. Dies ist nicht nötig in Fällen, in welchen kein Drahtanschluß zu einer Ausgangsleitung 211 eines Moduls vorhanden ist oder wenn die entsprechende Steuereinrichtung 201 ausgeschaltet ist. Zeitgeber-Unterbrechungskanäle können jedoch nur durch Abtrennen der jeweiligen Moduln "abgeschaltet" werden.
Einige
1 0 9 8 U / 1 6 6 3
BAD ORIGINAL
Einige der erläuterten Steuerkodes könnten innerhalb . " ." der Hilfs-Unterroutine verwendet werden, welche als Folge des Ansprechens auf ein Unterbrechungssignal ausgeführt wird, um den Modul zu deaktivieren, welcher die Unterbrechung hervorrief. Ein Modul kann auf verschiedene Weisen über geeignete WD-Befehle deaktiviert werden« Beispielsweise"-kann der Modul außer Bereitschaft oder abgetrennt oder angeschlossen und in Bereitschaft gesetzt werden. Allgemein ist es jedoch nicht erwünscht, daß am. Ende einer solchen Unterbrechungs-Hilfsroutine der betreffende Modul gerade deaktiviert wird. Die Inaktivierung sollte automatisch mit einer Rückkehr zum unterbrochenen Programm gekoppelt sein, wenn nicht ein anderer Unterbrechungsmodul mit höherem Vorrang als das unterbrochene Programm sich im "Warte- und Bereitschafts"-Status befindet, was. allgemein nicht voraussehbar ist, soweit das Programm betroffen ist. Der WD-Befehl steuert nicht eine solche Rückkehr zu einem unterbrochenen Programm.
Daher sollte ein Unterbrechungsmodul am Ende der entsprechenden Unterbrechungs-Hilfsroutine in einer Weise deaktiviert werden, welche eine Rückkehr zu dem unterbrochenen Programm gestattet, und dies wird durch Ausführung des oben erwähnten Befehls LPSD bewirkt. Auch wenn eine einzige befehlsartige Unterbrechungs-Hilfsroutine ausgeführt 1st, wird die Unterbrechung aufgehoben, d.h. deaktiviert. Einzelheiten werden weiter unten erläutert. Zur Beschreibung der Steuerung des Unterbrechungs-
OBIGlNAL 10 98 U/ 1663 module
moduls genügt vorerst die Peststellung, daß bei Ausführung jedes dieser letzteren zwei Befehle der dann aktive Unterbrechungsmodul mit dem höchsten Vorrang aus dem aktiven Status entfernt ist.
Es wird bemerkt, daß ein Unterbrechungsmodul im aktiven Status solange bleibt, wie seine Unterbrechungs-Hilfsroutine ausgeführt wird oder wenn er durch die Ausführung eines WD-Befehls deaktiviert wird. Dies bedeutet, daß ein bestimmter Modul im aktiven Status verbleibt, auch wenn seine Hilfsroutlne durch eine Unterbrechungsforderung mit höherem Vorrang unterbrochen wird. Wenn die letztere beachtet ist, und die Hilfsroutine derselben ausgeführt ist, kehrt das System zu der dem noch aktiven Modul zugeordneten, unterbrochenen Hilfs-Unterroutine zurück. Daher ist es möglich, daß zu irgendeinem Zeitpunkt sich mehrere Moduln im aktiven Status befinden, wodurch der mit dem höchsten Vorrang seine Hilfsroutine ausgeführt bekommt und das System sodann zu den unterbrochenen Unterbrechungs-Hilfsunterroutinen in der Reihenfolge der Vorränge zurückkehrt. Daher bleibt ein einmal aktiver Modul aktiv, bis seine Hilfsroutine beendet ist, unabhängig davon, wie oft und wie lang diese selbst unterbrochen wurde.
Im Vorangehenden wurde beschrieben, wie das Unterbrechungssyetem von außen und von innen in bezug auf seinen Status gesteuert wird, wie durch Ausführung eines Befehls, wie eines WD-Befehls, ein Modul für den Betrieb vorbereitet oder aus
1098U/1663 .der
BAD
- Ill -
der Vorrangkette herausgenommen werden kann und wieirgendeine Unterbrechungsförderung in die Rechenanlage geleitet werden kann, indem zuerst ein Modul in den Wartestatus gesetzt wird und, wenn der Modul in Bereitschaft gesetzt ist, die Unterbrechungsförderung entsprechend den Vorrängen "eingereiht" wird. Es wurde ebenfalls oben beschrieben, wie die Reehenanlage die Forderung durch Aktivierung des Moduls beachtet, wodurch wiederum ein Zugriff zu der bestimmten, diesem Unterbrechungskanal zugeordneten Speicherzelle bewirkt wird. Es wird nunmehr beschrieben, was geschieht, nachdem eine solche Unterbrechungs-Speicherzelle aufgesucht worden ist. Hier wird zuerst die ganz einfache Situation einer Unterbrechungs-Hilfsroutine mit einem einzigen Befehl beschrieben. Ein Signal aus einem Zeitgeber, wie er als Element 201-2 in Figur 6 gezeigt ist, löst gewöhnlich ' eine solche Routine aus.
In vielen Fällen· kann eine Zeitgeberunterbrechung die Ausführung eines Befehls bewirken, welcher "Änderungs- und Prüfwort" (MTW) genannt wird und welcher in der jeweiligen Speicherzelle gespeichert ist, die direkt in Abhängigkeit von der Zeitgeberunterbrechung aufgesucht wird, nachdem die Reehenanlage die Unterbrechung beachtet hat. Die Ausführung dieses "Änderungs- und Prüfwortes" ist ein Zählvorgang zum Messen von bestimmten Zeitspannen. Der Befehl hat einen Operationskode, ein X-FeId und eine Bezugsadresse, da das Indicieren zulässig ist. Der Operationskode übersteuert
' " die
BAD ORIGINAL 1098 14/1663 ~,
15A9531
die Mapping-Steueranordnung 135 sowie die "Sperrungs- und Schlussel"-Prüfanordnung 19ks so daß der Schlüsselkode nicht geändert werden muß. Der vorhandene Schlüsselkode gilt nur für das unterbrochene Programm. Die Bezugsadresse (MA-FeId) des MTW-Befehlswortes wird daher als Speicheradresse unabhängig vom Mapping behandelt, was bedeutet, daß der Inhalt dieser Bezugsadresse nicht einer Versetzung oder Umordnung durch Mapping unterworfen ist. Das R-PeId dieses~Befehls kann gleichermaßen nicht als Registerbezeichnung gedeutet werden, da der laufende Anzeigeregisterkode nur für das unterbrochene Programm gilt. Das R-FeId wird statt dessen direkt als Zahl gedeutet und.,wird zur arithmetischen Veränderung der Zahl in der Operandadresse verwendet. Die geänderte Zahl wird in die Operandadresse zurückgebracht. Vor diesem Ersetzen wird der Viert der neuen Zahl geprüft, ob er Null ist oder nicht
32
(modulo 2 ). Wenn er nicht Null ist, macht die Beendigung der Ausführung dieses Befehls den Unterbrechungskanal frei.
32 Wenn die neue Zahl Null ist (modulo 2J ), dann wird ein Unter·? brechungskanal getriggert, welcher dem Zeitgeber zugeordnet ist, was eine Zählerunterbrechung genannt wird und einen niedrigeren Vorrang hat.
Diese Abfolge der Ausführung des Befehls MTW ist in Figur 6 symbolisch dargestellt. Wenn der MTW-Operationskode im OP-Register nachgewiesen wird, wird der Inhalt des R-Registers auf das Addierwerk 121 über geeignete Kanäle 262 gegeben. In der üblichen Welse wird die Zahl, welche in der durch das HA-FeId
des
1 0 9 8 U / 1 6 6 3
BAD ORIGINAL
• . ■ - 113 -
des MTW-Befehls bezeichneten Adressenstelle enthalten ist,-aus dem Speicher abgelesen, in das C-Eegister gesetzt und auch auf das Addierwerk 121 gegeben. Die erhaltene Zahl wird auf die Sammelleitung 17 gegeben,, in das M-Register gesetzt und wieder in die immer noch gleiche Speicherzelle aufgezeichnet .
Wie symbolisch in Figur 5 durch ein Gatter 235 angedeutet;, kann der Befehlt, welcher aus der aufgesuchten ünterbrechungs-Speieherzelle in Abhängigkeit von der Aktivierung eines Unterbrechungsmoduls entnommen wurde, ein Befehl sein,, welcher für eine Ünterbrechungs-Hilfsroutine mit einem einzigen Befehl verwendet wird,, beispielsweise ein Befehl MTW.. Am Ende der Ausführung dieses Befehls, gekennzeichnet durch ein 0~Ende-Signal3 wird dieser Ünterbrechungskanal freigemacht oder gelöscht und deaktiviert, indem der Modul in den angeschlossenen Status versetzt wird, welches eine der Arten der Deaktivierung eines Moduls ist. So spricht das Gatter 235 auf den dekodierten Operationskode aus dem Dekoder 111 für den MTW-Befehl an, es spricht .auf das Vorhandensein des aktiven Status und auf das Phasensignal 0-Ende an, welches notwendigerweise' das Ende der Ausführung des Befehls MTW anzeigt. .Es wird bemerkt, daß der MTW-Befehl selbst nicht unterbrechba]? ist, so daß der jeweilige Modul nur aktiv sein kann, wenn tatsächlich der Befehl in der zugeordneten Speicherzelle ausgeführt wird. Das (x) nach dem MTW-Syrabol bei einem Eingang des Gatters 236 deutet an, daß irgendein anderer Befehl in die zugehörige Speicherzelle ge-
t Q 9 8 1 4 / 16 6 3
setzt worden sein kann, aber diese müssen alle eine Hilfsroutine' mit einem einzigen Befehl für die Unterbrechung bilden. Irgendein anderer Befehl bewirkt"nicht die Deaktivierung des Moduls. Der Ausgang des Gatters 236 steuert die Leitung 224 zum Anschließen des Moduls als jeweiligen Deaktivierungsschritt. Das unterbrochene Programm wird automatisch wieder aufgenommen, wenn nicht das jeweilige 0-Ende-Signal die Aktivierung eines anderen Unterbrechungs— moduls mit höherem Vorrang als das wieder aufzunehmende Programm bewirkt.
Eine Prüfanordnung 26l prüft den Ausgang des Addierwerks 121 nach Durchführung der Erhöhung der aus der Speicherzelle entnommenen Zahl. Falls die Prüfung zeigt, daß die neue
32
Nummer Null ist (modulo 2 ), triggert die Prüfanordnung die Leitung 201-3, welche die Unterbrechungsanordnung für den Modul 200-3 darstellt und mit der Trigger-Eingangsleitung 211-3 desselben zusammenhängt. Der Zähler-Unterbrechungsmodul 200-3 ist dem Zeitgeber 201-2 zugeordnet, hat jedoch einen niedrigeren Vorrang als der letztere. Dieser Unterbrechungsmodul 200-3 steuert wiederum, wenn er vermutlich zu einem späteren Zeitpunkt beachtet wird, eine Unterbrechungs-Hilfsroutine, welche mit dem Befehl in der Speicher-Unterbrechungszelle beginnt, die diesem Modul 200-3 zugeordnet ist. Eine solche Unterroutine befaßt sich mit der Tatsache, daß der vom Zeitgeber 201-2
gesteuerte
1098 U/1683
BAD ORIGINAL ·
gesteuerte Erhöhungs- oder ZuwachsVorgang als Zählvorgang zur Messung einer vorbestimmten Zeitspanne geführt hat und diese vom Modul 200-3 getriggert Subroutine steuert nun bestimmte Operationen, welche nach Beendigung des Meßvorgangs auszuführen sind. Dies führt nun zu der anderen Art von Befehl, welche gewöhnlich in einem ünterbrechüngsspeicher vorgefunden wird und nicht eine Hilfsroutine mit einem einzigen Befehl darstellt. .
Die andere, normalerweise in einer"Unterbrechungs-Speicherzelle vorgefundene Befehlsart wird "Programmstatus-Austausch-Doppelwort" oder in Abkürzung XPSD genannt. Die Ausführung dieses Befehls bewirkt tatsächlich die Unterbrechung des laufenden Programms und die Umschaltung zu einem Programm mit höherem Vorrang. Vor der Beschreibung dieser Ausführung soll beschrieben werden, was mit diesem Programmstatus-Doppelwort gemeint ist.
Die kritischen Steuerbedingungen der Rechenanlage können innerhalb SU Informationsbits definiert werden, welche zusammenfassend als Programmstatus-Doppelwort bezeichnet werden. Dieses Doppelwort hat nicht einen einzigen, besonders kennzeichenbaren Platz in der Rechenanlage, wenn es den laufenden Status der Rechenanlage definiert, aber es umfaßt den Status einer Anzahl von Flipflops und Registerinhalte, welche zusammen den Betriebsstatus der Rechenanlage in bezug auf das laufende Programm vollständig beschreiben. Alle Status können entweder direkt als Zahlen in irgendeiner binären Schreibweise oder
BAD ORIGINAL direkt
. 1098-14/1663" " ~
- lib -
direkt als Ein-Aus-Steuerstatus ausgedrückt werden. Wenn daher die Rechenanlage arbeitet, kann man in jedem-Augenblick ein Programmstatus-Doppelwort einfach durch Zuordnung der Status der verschiedenen Elemente in der CPU zu besonderen Bit-Stellen definieren. Dies ist einfach eine Angelegenheit der Definition und hat keine Beziehung zu irgendeiner einzigens kennzeichenbaren und adressierbaren Zelle, wo sich diese Bits finden. Nur wenn ein Programmstatus erhalten werden soll, dann werden diese Bits gesammelt und zur Bildung von zwei Worten angeordnet, welche in zwei Speicherzellen gespeichert werden sollen.
An einem der oben definierten unterbrechbaren Punkte oder Unterbrechungs-Zeitslots definiert das Programmstatus-Doppelwort den laufenden Status der Rechenanlage in solchem Umfang, daß eine Unterbrechung stattfinden kann und das unterbrochene Programm später wieder aufgenommen werden kann, wenn das Programmstatus-Doppelwort, wie es zum Unterbrechungszeitpunkt existierte, erhalten, zeitweise gespeichert und, wenn benötigt, wieder ausgegeben werden kann.
Das Programmstatus-Doppelwort umfaßt daher eine Sammlung von allen solchen in Schaltungselementen gespeicherten Steuerdaten, welche wahrscheinlich direkt an der Ausführung der der Unterbrechung folgenden neuen Subroutine teilnehmen. Daten an irgendwelchen anderen Plätzen, welche einen Teil des unterbrochenen
1098 U/1663
BAD ORiGfNAL
brochenen Programms darstellen, werden nicht in dieser Weise beeinflußt, ausgenommen wenn es durch die Programmie^ng der Unterbrechungs-Unterroutine beabsichtigt ist. Wenn das' letztere nicht der Fall ist, dann·können bei einer Unterbrechung die das Programmstatus-Doppelwort bildenden Daten^ gesämmelt3 in zwei Speicherzellen gespeichert und bei Wiederaufnahme des unterbrochenen Programms wiederum auf die Elemente verteilt werden, aus Vielehen sie gesammelt wurden, und das unterbrochene Programm kann sodann genau da wieder aufgenommen werden,wo es unterbrochen wurde.
Es, ist hier nicht nötig, alle die ein Programmstatus-Doppelwort bildenden Daten zu beschreiben und es werden nur die für die Erfindung wesentlichen erwähnt. Zunächst ist ein Teil des Programmstatus-Doppelworts der laufende Inhalt des Registers Q, welches die Adresse des nächsten Befehls für das laufende Programm enthält. Daher definiert das Register Q insbesondere die Zelle, von der das unterbrochene Programm nach der Wiederaufnahme ausgehen muß. Dann ist da der Blockanzeigekode, welcher im Anzeigeregister 151 gehalten wird. Er definiert den laufenden Registerblock und der Ersatz des laufenden Anzeigekodes·durch einen anderen am Beginn einer Unterbrechungs-Hilfsroutine stellt automatisch den Inhalt der sechzehn Register des laufenden Blocks sicher. Diese besondere Tatsache ermöglicht ein solches schnelles Ansprechen auf eine ünterbreehung3anforderung, da durch Sicherstellen des laufenden
Anzeigekodes
> T098U/1663 BAD OBI
Anzeigekodes die laufenden Blockregister Speicher werden und tatsächlich aus der CPU herausgenommen werden. Es wird daran erinnert, daß die laufenden Blockregister als Akkumulatorregister und Indexregister definierbar sind und sogar Daten für eine zeitweise Speicherung im Speicher sowie andere Daten enthalten können.
Sodann ist der Schreib-"Schlüssel" des laufenden unter-
da
brochenen Programms/ welcher sichergestellt werden muß. •Dieser Schlüssel ist der Inhalt des Registers 193. Ein weiterer Teil des Programmstatus-Doppelworts ist der Status des Flipflops oder der Map-Steuereinrichtung 135. Der Status des Elements 135 gibt an, ob das laufende Programm mit Mapping läuft oder nicht. Sodann sind die Bits vorhanden, die angeben, welche Gruppen von UnterbrechungsmodulH gesperrt sind und welche nicht. Andere zum Programmstatus-Doppelwort gehörende Daten stellen bestimmte arithmetische Steuerarten dar, wie vorher erzeugte überlauf- und Prüfbedingungen und dergleichen. Es ist ersichtlich, daß irgendein Programm durch Verteilung der Bits eines Programmstatus-Doppelworts auf die verschiedenen Elemente und Register beginnen kann und da dies eine Befehlsadresse im Q-Register einschließt, kann jedes Programm von hier beginnen. Vorläufig ist es nicht wichtig, zu erläutern, ob und in welchem Ausmaß es zweckmäßig sein kann oder nicht, eine einzelne Verteilung der das Programmstatus-Doppelwort bildenden Daten
10 98 U/ 166 3
BAD ORIGINAL
auf die verschiedenen Elemente und Register vorzusehen, obwohl dies grundsätzlich möglich ist. Für unsere Zwecke genügt die Peststellung, daß das Programmstatus-Doppelwort für ein Programm in zwei Speicheradressen gehalten wird und daraus abgelesen und auf verschiedene Elemente und Register verteilt wird, um ein Programm zu beginnen. Dies kann durch Ausführung eines Befehls LPSD oder als Folge der zweiten Phase der Ausführung des Befehls ,XPSD geschehen, wobei die erste Phase desselben das Sammeln der Daten aus den verschiedenen besetzten Elementen und Registern umfaßt, um das Programmstatus-DoppeIwort des unterbrochenen Programms zusammenzufassen und in zwei Speicheradressen zu laden. Zur Ausführung eines LPSD-Befehls werden lediglich zwei Worte in dieser Weise verteilt, wodurch der Inhalt gerstört wird, welchen diese Elemente direkt vor der Ausführung des LPSD-Befehls enthielten. Dieser letztere Befehl wird gewöhnlich am Ende jedes beendeten Programms einschließlich einer Unterbrechungs-Hilfsroutine verwendet und dadurch wird das Programmstatus-Doppelwort des unterbrochenen Programms in die verschiedenen Elemente zurückgesetzt, um dadurch die Wiederaufnahme des unterbrochen Programms zu bewirken. Die Einzelheiten der Ausführung des LPSD-Befehls sind analog zur zweiten Phase der Ausführung des XPSD-Befehls und werden daher nachfolgend summarisch beschrieben.
Es werden nunmehr einige Einzelheiten beschrieben, welche eintreten, wenn die Rechenanlage einen ünterbrechungskanal
109814/1663 BAD original
oder Modul aktiv gemacht hat und wenn die jeweils zugeordneten Speicherzellen, welche nunmehr direkt auf ge-» sucht sind, ein Befehlswort XPSD enthalten. Das Programm, welches zum Zeitpunkt der Aktivierung des Unterbrechungsmoduls in der Ausführung war, wird hiermit angehalten, indem der Inhalt des Registers Q nicht in das Speichersteuer-Register 25 eingespeist werden kann, statt dessen erzeugt die Vorrichtung 202 die nächste Adresse für den Speicherzugriff, wie oben erwähnt. Wenn ein Mapping vorhanden ist, wird es zum Zeitpunkt der Unterbrechung verhindert oder umgangen .
Der Inhalt dieser direkt aufgesuchten Speicherzelle, welche dem aktivierten Unterbrechungsmodul zugeordnet ist und von der angenommen wird, daß sie einen XPSD-Befehl enthält, wird in das C- und D-Register geladen und auch auf das X-, R- und OP-Register ohne Störung des Inhalts des Programmzählers Q verteilt. Es findet kein Indicieren statt (Z-FeId 000), da alle die bei der Operation beteiligten Speicherzellen durch die Programmierung fest zugeordnet sind* Das Adressenfeld (MA-PeId) dieses Befehlswortes kennzeichnet die erste von vier aufeinanderfolgenden Speicherzellen. Dieser XPSD-Befehl wird während der nächsten vier Speicherzyklen ausgeführt. Die ersten zwei dieser Speicherzyklen bilden die erste Phase der Ausführung und dabei wird das den laufenden Status der Rechenanlage definierende Programmstatus-Doppelwort in zwei der vier Speicherzellen
109814/1663
BAD ORIGINAL
gespeichert. Die nachfolgenden zwei Speicherzyklen bilden die zweite Phase und ein weiteres Programmstatus-Doppelwort wird aus*den zwei anderen Speicherzellen entnommen, welches eindeutig den Anfangsstatus des den Vorrang besitzenden, nun zu beginnenden Programms kennzeichnet.
Die ersten zwei dieser vier oben angegebenen Speicherzellen, empfangen u.a. die folgenden kennzeichnenden Kodes: in einigen Bit-Stellen der ersten Speicherzelle werden die siebzehn Bits des laufenden Programmzähler-Status gespeichert, welcher der Inhalt des Q-Registers ist, da dieses Register zum Zeitpunkt der Unterbrechung nicht gestört wurde. Andere Bit-Stellen empfangen bezeichnete Status-Signale von verschiedenen arbeitenden Elementen, welche in charakteristischer Weise das Programm und den Status 'der Ausführung zu dem Zeitpunkt kennzeichnen, bei welchem die Unterbrechung auftrat. Dies umschließt insbesondere den in der Steueranordnung 135 gehaltenen llapping-Steuerbit, die Überlaufbedingungen im allgemeinen und die Überlauf-Übertrag- oder Entleih-Bits im besonderen als arithmetische Statussignale und dergleichen.
Wie symbOlisch in Figur β gezeigt, bewirkt die Zeit- und Phasensteuereinheit 114 zusammen mit dem Operationskode-Delcoder 111 die Öffnung eines ersten besonderen Teils 272a eines V/^hlgatters, so daß der Inhalt des Q-Registers und der Steuereinheit 135 und von anderen Elementen in besondere Bit-Stellen der Speichersammelleitung 1? zur Übertragung in
1098 14/ 166 3 —
die erste der vier Speicheradressen geschaltet wird. Diese erste Adresse stammt aus dem XPSD-Befehlswort als das MA-PeId desselben und wurde in das P-Register gesetzt.
Wie ebenfalls durch die Zeit- und Phasensteuereinheit gesteuert, wird der Inhalt des P-Registers um 1 erhöht (Schleife 145), um die nächste, d.h. die zweite Speicherzelle zu kennzeichnen. Der zweite Teil 272b dieser Gatteranordnung bewirkt nun die Schaltung des betreffenden Schreibschlüssels aus dem Register 193 und des Inhalts des Blockanzeigeregisters 151, d.h. des Anzeigekodes zu den jeweils zugeordneten Bit-Stellen der Speichersammelleitung 17 zur übertragung zur zweiten Speicherzelle. Mit diesem letzteren Schritt ist nunmehr automatisch der ganze Speicherblock, mit welchem vorher gearbeitet wurde, sichergestellt, was bedeutet, daß vermutlich sechzehn Worte im Speicherregister ohne weitere Handhabung unversehrt gelassen werden.
Die anderen zwei Speicherzellen, welche auf die Ausführung des XPSD-Befehlswortes hin adressiert worden sind, enthalten nunmehr alle die entsprechenden Operationsdaten und Signale, · welche erforderlich sind, um die Vorrang besitzende Operation zu beginnen, welche durch die Unterbrechung gefordert wurde. Während des dritten Speicherzyklus der Ausführung des XPSD-
Befehls 1098 T 4/ 16 63
BAD
Befehls (wobei der Inhalt des P-Registers in der Zwischenzeit !Wiederum um 1 erhöht wurde) wird ein erster Gatterteil 271a geöffnet und einige der in der Speicherausgangs-Sammelleitung 18 erscheinenden Bits werden in das Q-Register gesetzt und ein bestimmter Bit wird in die Steueranordnung 135 gesetzt. Während des letzten der vier Speicherzyklen wird der zweite Teil 271b geöffnet und ein rauer Anzeigekode wird in das Anzeigeregister 151 gesetzt, um einen anderen Block anzuzeigen, und ein anderer Schlüssel wird in das Register 193 gesetzt, und andere Elemente erhalten die zu arithmetischen und anderen, nun zu beginnenden Operationen gehörenden Daten.
Die Ausführung des Lade-Programmstatus-Befehlsdoppelwortes ist der Ausführung der zweiten Phase sehr ähnlich, d.h. dem dritten und vierten Speicherzyklus des XPSD-Befehls, mit der Ausnahme, daß der LPSD-Befehl zusätzlich den gerade aktiven Unterbrechungsmodul mit dem höchsten Vorrang deaktiviert. Eine weitere Verfeinerung ist möglich, indem der Anzeigekode nicht notwendigerweise geändert werden muß, wenn.die Befehle XPSD pder LPSD ausgeführt werden.
Wenn die Bit-Stelle 8 des LPSD- oder XPSD-Befehlswortes einen Eins-Bit enthält, wird der Anzeigekode durch einen neuen Anzeigekode· ersetzt, wie erwähnt. Wenn jedoch der Bit 8 des LPSD- oder XPSD-Befehlswortes eine Hull ist, so bleibt der laufende Registeranzeigewert ungeändert. So bleibt im letzteren
109814/186? IMi
Pall der Teil der Gatter 271b und 272as welcher den übergang des Anzeigekcdes steuert, geschlossen.
Um eine Verwirrung zu vermeiden, die Bit-Stelle uStr, Vielehe gerade erwähnt wurde,, stellt keinen Teil des Programm-Döppelworts selbst dar, sondern ist ein Teil der Instruktionsworte XPSD und LPSD. Diese Bit-Stelle 8 gehört zu den R-Peldern dieser Befehle, welche hier nicht in der gewöhnlichen Weise verwendet v/erden kennen, da ein möglicher Wechsel in den Anzeigekodes während der Ausführung der Befehle XPSD oder LPSD eine solche Registerbezeichnung zweideutig machen würde.
Andere Bit-Stellen des XPSD-Befehlswortes, welche zum R-FeId desselben gehören und daher für eine.andere Verwendung frei sind, sind die Bit-Stellen 10 und 11, welche ebenfalls in anderer V/eise als als Registeradressen zu verwenden sind.
Wie oben erwähnt, triggert die Deaktivierung eines Unterbrechungsmoduls eine Vorrichtung 202, welche den Adressenkode der jeweils zugeordneten Speicherzelle enthält. Diese Speicherzelle wird direkt unter Umgehung der Map aufgesucht. Die Programmierung des Inhalts der den Unterbrechungskanülen zugeordneten Speicherzellen ist nicht einer Umordnung oder Versetzung durch Mapping unterworfen.
Die oben erläuterte Hilfsunterroutine mit einem einzigen Befehl 10981^/1663 BAD ORIGINAL
fehl (beispielsweise dem IITW-Befehl) wird ebenfalls ohne . flapping ausgeführt 3 d.h. die im MA-Feld des MTW-Befehlswortes bezeichnete Speicherzelle ist als tatsächliche Speicheradresse unterbrochenj so daß das unterbrochene Programm mit oder ohne !lapping ablaufen kann und die kurze Unterbrechung durch diese HiIfsroutine mit einem einzigen Befehl stört hier überhaupt nicht 3 da eine unmittelbare Wiederaufnahme stattfindet. Die Situation ist anders, wenn die- Unterbrechung zur Ausführung eines /PSD-Befehls führt. Der Zugriff zu der diesen Befehl enthaltenden Speicherzelle geschieht natürlich ebenfalls unter Umgehung der r-;ap, aber wenn das XPSD-Befehlswort aus dem Speicher entnomracn v/ird., um in der beschriebenen Weise ausgeführt zu werden;, dann ergibt sich die folgende Situation.
Die Llt-Stelle 10 des XPSD-Befehlswortes bestimmt, wie die tatsächliche Adresse des XPSD-Befehlswortes für die Adressierung des Speichers zu deuten ist. Wenn der Bit 10 des XPSD-Wortes eine 1 ist, werden die wirksame Adresse, d.h. das MA-PeId und die drei zusätzlichen, aus der nachfolgenden Erhöhung folgenden Adressen als virtuelle oder Programmadressen behandelt , in welchem Fall jede der wirksamen Adressen durch ciie Hpeichermap umgewandelt wird, wenn das unterbrochene Pro^ronrn mit !lapping ausgeführt wird (d.h.,wenn der Bit 9 des laufenden Programms.tatus-Doppelwortes in der Steueranordnung 135 ebenfalls eine 1 ist). Die wirksame Adresse, d.h. da« MA-FeId in- dem XPSD-Befehlswort und die drei darauffolgenden Zahlens werden als tatsächliche Speicheradressen
verwendet, wenn die Rechenanlage ohne Mapping zum Zeitpunkt der Unterbrechung verwendet wird (d.h., wenn der Bit des laufenden Programmstatus-Doppelwortes eine 0 ist). Wenn jedoch der Bit 10 des XPSD-Befehlswortes eine 0 ist, wird die wirksame Adresse als eine tatsächliche Adresse verwendet, unabhängig davon, ob die Rechenanlage zu dem Zeitpunkt der Unterbrechung mit Mapping oder ohne Mapping arbeitet.
Hier ist eine kurze Bemerkung bezüglich der Mappingsteuerung als Folge der Ausführung des XPSD-Befehls erforderlich, Vielehe teilweise vom Status der Steueranordnung 135 gemäß dem unterbrochenen Programm abhängt. Diese Steueranordnung 135 empfängt einen neuen Bit während der zweiten Phase der Ausführung des XPSD-Befehls als eine Komponente des neuen Programmstatus-Doppelwortes, während der ganze Adressiervorgang zum Entnehmen des letzteren Doppelwortes durch den Status der Steueranordnung 135 gemäß dem unterbrochenen Programm geregelt wird. Zunächst ist das Sammeln der Daten zum Zusammenstellen des laufenden Programmstatus-Doppelwortes ein nicht zerstörender Vorgang, nur das Ersetzen, d.h. die Verteilung der Bits des neuen Programmstatus-Doppelwortes zerstört endgültig das alte Programmstatus-Doppelwort in den verschiedenen Zellen. Darüber hinaus ist da3 Mapping (wenn ein solches durchgeführt wird) oder Nichtmapping zum Aufsuchen der die zweite Hälfte des
neuen
BAD ORlGIMAL
neuen Programmstatus-Doppelwortes enthaltenden vierten Speicherzelle bereits vor dem Eingeben eines neuen Bits in die Steueranordnung 135 beendet, so daß ein neuer Bit hier nicht die Ausführung des XPSD-Befehls beeinflußt, sondern.nur der alte tut dies.
Es muß nun erläutert werden, daß der Befehl LPSD als der letzte einer Unterbrechungs-Hilfsroutine den Unterbrechungskanal oder kodul deaktiviert, welcher diese besondere Hilfsunterroutine erfordert. Diese Deaktivierung xiird durch zwei Bit-Stellen 10 und 11 des R-Feldes dieses Befehlswortes LPSD gesteuert, da« wie oben erwähnt, das R-FeId hier nicht irgendeinen Speicher kennzeichnet.
Wenn dieBit-Stelle 10 des Register-LPSD-Befehlswortes eine Eins enthält, wird der Unterbrechungswert mit dem höchsten Vorrang, welcher sich gerade im aktiven Status befindet, aus dem aktiven Status herausgenommen. Der Unterbrechungswert wird sodann angeschlossen, wenn der Bit 11 des LPSD-Befehlswortes eine Eins ist,oder wird abgetrennt, wenn derBit 11 des LPSDt Befehlswortes eine Null ist. Wenn der Bit 10 des LPSD-Befehlswortes eine Null ist, wird-kein Unterbrechungswert inirgendeiner Weise beeinflußt, unabhängig davon, ob der Bit 11 des LPSD-Befehlswortes Eins oder Null ist. Auf diese Weise wird es möglich, einen LPSD-Befehl auch in der Mitte einer Unterbrechuncs-liilfsroutine zu haben, welcher selbst eine
Verschiebung/ 1098U/1S63
Verschiebung zwischen verschiedenen Programmen erfordert, und dadurch wird gewährleistet, daß nicht jeder LPSD-Befehl einen Modul deaktiviert. Anhand von Figur 5 wird daran erinnert, daß die Leitung 217Y-1 ein richtiges Signal enthält, wenn mindestens einer der Moduln 200-1 bis 200-(Y-I) sich im aktiven Status befindet. Die Leitung 212Y erzeugt ein wahres Signal, wenn der Modul 200Y sich im aktiven Status befindet, Wenn daher ein Signal 212Y 217(Y-D gilt, so bezeichnet es den Modul mit höchstem Vorrang im aktiven Status und wird im Gatter 236 erkannt, wobei natürlich ein solches Gatter je Unterbrechungsmodul vorhanden 1st.
Das Gatter 236 steuert die Anschluß-Steuer leitung 221I oder die Abtrenn-Steuerleitung 231, was von dem Bit-Wert des zehnten Bits im Befehlswort LPSD abhängt. Dies ist schematisch durch die Leitung 237 angedeutet, welche vom OP-Kode-Dekoder 111 zur Ausgangsleitung der R-Register-Stufe führt, die den zehnten Bit des Befehlswortes,enthält, so daß der OP-Kode für den LPSD-Befehl diesen im R-Reglster gehaltenen Bit in Bereitschaft Betzt, die übertragung des elften Bits des LPSD-Befehlswortes, welcher ebenfalls im R-Register gehalten wird, auf alle Moduln zu steuern. Wenn dieser elfte Bit eine "Eins" ist, wird die Leitung 224 getriggert, um diesen Modul anzuschließen, wenn das Gatter 236 ein richtiges Signal liefert. Wenn der elfte Bit Mull ist, wird die Leitung 231 getriggert, um den Modul abzutrennen, und es ist in jedem Fall notwendig, daß der zehnte Bit, welcher ebenfalls im R-Register enthalten
1098U/ 1663 1st
BAD ORIGINAL
-129 - 15/>9531
1st, den Bitwert "Eins" besitzt, sonst wird der Modul nicht deaktiviert.
Es ist wesentlich, daß eine Änderung in dem im Register 151 enthaltenen Anzeigekode nicht auf solche Unterbrechungs-Operationen beschränkt ist. Es kann beispielsweise vorteilhaft sein, das Wiederaufladen von Daten im Speicher ablaufen, zu lassen und man kann weitgehend Speicherregister als programmierbare Zellen, verwenden. Befehle zum Speichern von ,arithmetischen Ergebnissen sind wesentlich weniger häufig erforderlich als üblich.
Die Grundlage dieser Vorteile beruht darin, daß nach Ausführung irgendeines Befehls die Hauptoperationsregister C und D leer sind oder ihr Inhalt zerstört werden kann. Getrennte Operations-Indexregister sind überhaupt nicht erforderlich. Nach der Ausführung jedes Befehls werden alle wichtigen Daten in Speicherzellen gehalten und können dort beliebig lange bleiben. Die in dem CPU-System außerhalb des schnellen Speichers zum Zeitpunkt der Beendigung der Ausführung irgendeines Befehls gehaltenen Daten sind nur Statussteuerdaten, jedoch nicht Operanden, die an keiner anderen Stelle des Speichersystems vorhanden sind. Grundsätzlich sind diese Statussteuerdaten der Inhalt der Blockanzeigeregister, die Programmzählerzahl und andere Statussteuerdaten, wie ein Bedingungskode, welcher die überlaufbedingungen abtastet, und andere. Alle
diese BAD QRlGSNAl 10 9814/1663
diese Steuerdaten können in die zwei Worte "gepackt11 werden, welche gegen zwei andere Worte auszutauschen sind, wie oben ausgeführt, um das laufende Programm ohne Zerstörung irgendwelcher bereits verarbeiteten oder zu verarbeitenden Zahlen oder Daten zu wechseln.
Es wurde weiter oben beschrieben,.wie ein Zeitgeber, beispielsweise der Zeitgeber 201-2 seinen zugeordneten Unterbrechungsmodul, beispielsweise den Modul 200-2, periodisch triggern kann, wobei angenommen wird, daß dieser sich stets im Bereitschafts- und angeschlossenen Status nach der Deaktivierung befindet. Das Triggern durch den Zeitgeber bringt den Modul in den Wartestatus. Sobald es die anderen Bedingungen erlauben, wird der Modul aktiviert, um einen Zählvorgang zu bewirken. Beispielsweise enthält seine zugeordnete Speicherzelle einen MTW-Befehl und, wie ebenfalls oben beschrieben, es beginnt eine Zählung von einer programmierbaren Zahl nach unten auf Null bei einer Anzahl von Zeitgeberimpulsschritten, welche gleich der programmierbaren Zahl ist. Sodann* wird ein Modul mit niedrigerem Vorrang, beispielsweise 200-3, in den aktiven Status getriggert, wenn es die anderen Bedingungen erlauben. Wie ebenfalls oben beschrieben, kann die dem Modul 200-3 zugeordnete Speieherzelle einen XPSD-Befehl enthalten, welcher eine tatsächliche Verschiebung von einem Programm zu einem anderen bewirkt und nicht nur eine zeltweise Aufhebung wie im Fall einer einzigen MTW-Ünterbrechungs-Hilfsroutine.
1098U/1663 BADORiQ1NAL
•Diese Elemente können zweckmäßigerweise dazu benutzt werden, eine Supervisorsteuerung zum Betrieb der Rechenanlage auf einer zeitaufteilenden Grundlage zu erzielen* Beispielsweise kann die auf eine wiederholte Ausführung des MTW-Befehls hin heruntergezählte Zahl mal die Zeitgeber-Impulsperiode die Gesamtdauer sein, welche irgendeinem Programm für das kontinuierliche Arbeiten und die Ausführung zugeteilt wird. Wenn diese Zeitspanne abgelaufen ist, muß die Rechenanlage auf ein anderes Programm umgeschaltet werden, um beispielsweise eine gleiche Zeitdauer zu laufen, bevor die Rechenanlage zu einem dritten Programm umschaltet oder zum ersten Programm zurückkehrt. Wenn daher ein tPrlggerimpüls auf die Leitung 211-2 gegeben
ird, ist die Zeitspanne für die Ausführung eines Teiles des ersten Programms abgelaufen. Die Unterroutine, welche nun mit der Ausführung des XPSD-Befehls in der dem Modul 200-3 zugeordneten Speicherzelle beginnt, ist nicht das zweite Programm selbst, welches begonnen oder wiederaufgenommen wird, sondern es ist die Hilfsroutine, welche programmiert wird, um zu entscheiden, welches Programm eines Benutzers nunmehr für eine gleiche Zählperiode ausgeführt v/erden soll. Diese Entscheidung führt beispielsweise zu einem besonderen LPSD-Befehl, welcher das Programmstatus-Doppelwort in die verschiedenen Elemente, der Rechenanlage gibt, wie beschrieben, wodurch die Rechenanlage automatisch in einen Zustand versetzt wird, welcher die Ausführung eines besonderen, zweiten
Programms 109814/1663
Programms ermöglicht. Die Ausführung des zweiten Programms wird zeitweise für den Zählvorgang unterbrochen und wenn die Zählung wiederum bis zur programmierten Anzahl von Zählschritten fortgeschritten ist, dann wird die Hilfsroutine erneut ausgeführt, um zu entscheiden, zu welchem Programm eines Benutzers die Rechenanlage als nächstes umzuschalten ist usw.
Wie oben erwähnt, kann ein Speicherregister über den R-Feld-Kode oder den X-Peld-Kode adressiert werden, und zwar bei jedem in Kombination mit dem laufenden Blockanzeigekode. Aus Gründen des verfügbaren Kodierraumes kann es jedoch notwendig sein, entweder das R-PeId oder das X-PeId eines Befehlswortes für andere Zwecke zu verwenden. Beispiele dafür wurden bereits oben angegeben.
Bei unmittelbaren Operand-Operationen, welche durch besondere Operationskodes so gekennzeichnet sind, kann das MA- und X-PeId verwendet werden, um die Bits dieser Operanden zu enthalten. Wenn das MA-PeId nicht einen Adressenkode enthält, ist ein Indicieren für diesen Befehl überflüssig, wie oben ausgeführt.
Andere Arten von Befehlen, welche noch nicht erwähnt wurden, werden in einer Weise ausgeführt, daß automatisch besondere Register des laufenden Blocks verwendet werden. Diese Register werden sodann durch den dekodierten Operationskode
109814/1663 ,■■ ^aufgesucht
aufgesucht, so daß das R-Peid auf andere Weise verwendet werden kann. Beispielsweise kann das R-PeId eine Zählzahl in Binärschreibweise definieren, welche die Anzahl von Speicherzellen angibt, die zu der Operation gehören,'und das MA-PeId kennzeichnet die erste Programmadresse einer solchen Folge.
In diesen Fällen wird der Inhalt des R-Registers nicht auf die Sammelleitung 115 gegeben, aber es werden ein oder mehrere besondere, d.h. nicht programmierbare Blockregister beispielsweise als Akkumulator verwendet. Wenn daher irgendwelche Befehle dieser letzteren Art in den Befehlsregistern auftreten, wird der Inhalt des R-Pelds eines solchen Befehlswortes entweder überhaupt nicht in das R-Register gesetzt oder sofort daraus gelöscht. Da diese Arten von Operationen von besonderen Operationskodes abhängen, bewirkt der Dekoder 111, daß ein besonderer innerer Blockkode in das R-Register gesetzt wird.
Dies ist in Figur 1 als wahlweiser Eingang für das R-Register gezeigt. Das Phasensignal 0. wird zur öffnung des Kanals in der gewöhnlichen Weise.-erzeugt, Der Seitenanzeigekode wird ebenfalls in dergewöhnlichen Weise zur Verknüpfung einer Speicherregisteradresse verwendet, welche nunmehr vom Operationskode abhängt und nicht programmiert ist. Die Schleife 116 erzeugt eine .schrittweise Erhöhung des Inhalts des R-Registers,
um
3^™..™ 1098 H/1663 ~
um nacheinander vier Register der laufenden Seite zu adressieren.
Abweichungen vom Format oder von der Struktur des normalen Befehlswortes treten beispielsweise auch für das Schreiben der Map3 für das Laden der Zugriffsteuerregister 188 und für das Laden der Sperrungsregister 190 auf. In gewissem Ausmaß sind dies gleichartige Vorgänge und werden auf die Ausführung eines Befehls hin ausgeführt, v/elcher "umschalten zur Speichersteuerung", abgekürzt MMC, genannt wird und zunächst beschrieben werden soll.
Das MMC-Befehlswort weist natürlich einen Operationskode und ein R-FeId auf. Das MA-FeId definiert nicht eine Bezugsadresse und daher kann in diesem Fall das X-FeId auf andere Weise verwendet werden. Die drei Bit-Stellen des X-Feldes werden als Steuerkodes verwendet, um zwischen dem Schreiben der Map, dem Laden des Sperregisters und dem Laden der ZugriffSteuerregister zu unterscheiden. Daher wird das X-FeId hier in solcher Weise verwendet, daß es tatsächlich als Fortsetzung des Operationskodefeldes betrachtet werden kann. .
Das durch das R-FeId gekennzeichnete Blockregister enthält die Programmspeicheradresse einer ersten Speicherwortadresse. Die so gekennzeichnete und zu adressierende Speicherzelle
enthält
1098 U/1663
BAD ORIGINAL
- 155 -
■'enthält vier oder weniger Seitenadressen, sechzehn oder weniger "Sperrungen" oder sechzehn oder weniger Zugriffsteuerkodes, was von dem X-Feld-Kode abhängt. Der Operationskode bewirkt zusätzlich, daß ein weiteres Register des laufenden Blocks mit einem inneren Blockkode R+l aufzusuchen ist (siehe Schleife l66), und dieses Register enthält eine Zählzahl zur Kennzeichnung der Anzahl von Worten, welche zur Beendigung des jeweils gesuchten Ladeprozesses erforderlich sind. Daher bestimmt diese Zählzahl, wieviel zusätzliche Speicheradressen aufgesucht werden müssen, um aus denselben zusätzliche Seitenadressen oder Sperrungen oder Zugriffsteuerkodes zu entnehmen.
Es ist ersichtlich, daß 64 Worte erforderlich sind, um
e ganze Map 180 wieder zu schreiben, da sie 256 Register hat. Sechzehn Worte sind erforderlich, um alle Zugriffsteuerkode-Register wieder zu laden. Ebenfalls sechzehn Worte sind erforderlich, um alle Sperrungsregister wieder zu laden. Daraus folgt, daß 64 die höchste erforderliche Zählzahl ist, so daß nur sechs Bit-Stellen des R+1-Registers zum Halten der Zählzahlen erforderlich sind.
Das Blockregister R+l enthält auch eine bestimmte Zahl in anderen Bit-Stellungen, welche eine Seitenadresse ist^ die an sich die erete der Seitenadreasen der Map oder der Zugriff^ßt9werregister kennsseichnet, welche wieder geschrieben werden sollen. Es wird daran erinnert, daß der Programmseiten-
kode, d.h. die Bits mit acht Größenordnungen einer Programmadresse, der Adressenkode für ein Mapregister, oder ein Zugriff Steuerregister ist. Zum Laden der Sperrungsregister ist es·eine ähnliche Seitenadresse, da diese Schutzkodes ebenfalls seitenweise beeinflußt werden. Es wird weiter daran erinnert, daß die Sperrungsregister durch tatsächliche Speicherseitenkodes adressiert werden.
Die Ausführung eines MMC-Befehls geht nun folgendermaßen vor sich: Wenn der MMC-Befehl aus dem Speicher entnommen oder kopiert wird und in das D-, OP-, R- und X-Register gesetzt wird, sperrt der dekodierte Operationskode den Weg 115 und das X-PeId bestimmt statt dessen den Zugriff zu den Registern l80, l80a oder 190. Vorerst wird nicht in das P-Register eingespeist, da kein Adressenkode mit dem MMC-Befehl gegeben wird. Das durch das R-PeId und durch den im Register 151 enthaltenen, laufenden Anzeigekode gekennzeichnete Blockregister wird aufgesucht und der Adressenkode, welchen es enthält, geht durch die Sammelleitung 1701, das C- und D-Register in das P-Register und der Speicherzugriff wird sodann mit oder ohne Mapping in der beschriebenen Weise gesteuert.
Das erste Operandwort, welches aus der aufgesuchten Speicherzelle entnommen wird, wird in das C-Register nach einem Speicherzyklus gesetzt. Während dieses Speicherzyklus geschieht jedoch das folgende. Zuerst wird der gleiche Adressenkode um Eins erhöht (Schleife 145) und zu dem durch das R-PeId gekennzeichneten
109814/1663
Register
Register über den Kanal l4la und die Sammelleitung 175 zurückgeleitet. Danach, jedoch noch während des Speicherzugriffzyklus für den ersten Operanden, erhöht die Schleife 166 das R-FeId um Eins und das durch den (R+1)-Kode gekennzeichnete Register des laufenden Blocks wird aufgesucht, um die Zählzahl und den Steuerstartkode in die Sammelleitung 170 und das C-Register einzuspeisen* Der Steuerstartkode erscheint nun an zweckmäßigen Bit-Stellen im C-Register, so daß er in das P-Register übertragen werden kann, um die acht höheren Bit-Stellen zu besetzen und so eine Seite zu kennzeichnen. In Abhängigkeit von dem X-Feld-Kode und zusammen mit einem dekodierten MMC-Kode ergibt nun dieser Inhalt des P-Registers einen Zugriff a) zu einem der Register 180, welches durch diese Seitenadresse gekennzeichnet ist, und zu den nächsten drei Registern derselben, oder b) zu dem durch den Seitenkode gekennzeichneten Sperrungsregister und den nächsten fünfzehn Sperrungsregistern, welche alle einen Teil der Register 190" bilden, oder c) zu einem der durch den Seitenkode gekennzeichneten Register l80a.
Infolge eier Zugriff geschwindigkeit zum Blockregister wird diese Zugriffsteuerung zu den jeweiligen Registern 180, l80a, 190 ebenfalls beendet3 bevor der Operand aus dem Speicher auftritt, nachdem dieses letztere Operandwort in das C-Register gesetzt ist, wird es in die jeweils aufgesuchten Register l80, l80a oder 190 verteilt. In der Zwischenzeit wird die Zählzahl um Eins erniedrigt, der Steuerstartkode wird um Vier oder Sechzehn
BADOB)GWAL 1098 U/1663 erhöht
erhöht.(was vom X-Feld-Kode abhängt) und die zwei so geänderten Zahlen werden in das R+1-Bloekregister zurückge-
in geben. Das R-FeId wird um Eins erniedrigt, die #»η ihm enthaltene Programmadresse definiert nunmehr die nächste Operandenzelle und wird aus dem R-Blockregister entnommen und in das P-Register geladen, um einen weiteren Speicherzyklus zum Entnehmen der nächsten vier Seitenkodes oder sechzehn Sperrungskodes .oder sechzehn Zugriffsteuerkodes zu bewirken. Während dies geschieht, wird die Operandadresse wiederum um Eins erhöht und in das vom R-FeId gekennzeichnete Blockregister zurückgegeben. Das R-FeId wird um Eins erhöht, das R+1-Register wird aufgesucht, um den Seitenstartkode plus Vier oder den Seitenstartkode plus Sechzehn zu entnehmen, die nächsten Mappingregister oder die nächsten sechzehn AC-Register oder die nächsten sechzehn Sperrungen aufzusuchen, und das Datenwort, nunmehr das zweite, welches bald aus dem Speicher angelangt, wird in die so vorbereiteten Register gesetzt. In der Zwischenzeit wird die Zählzahl wiederum erniedrigt und der Steuerkode wird erhöht. Der Vorgang wird auf diese Weise fortgesetzt, bis die fortschreitend erniedrigte Zählzahl Null erreicht, worauf das Laden aufhört, d.h. die Ausführung des MMC-Befehls wird dann beendet.
Es ist ersichtlich, daß dieser Befehl MMC von solcher Art ist, daß er unterbrochen werden kann, da er in Zyklen ausgeführt wird. Jeder solche1Zyklus wird beendet, wenn ein Operandwort
109814/1663
auf die verschiedenen Map-, Schlüssel- oder Zugriff-. Steuerregister verteilt ist und wenn Zählzahl und Steuerkode verändert und in das durch den (R+1)-Kode gekennzeichnete Blockregister zurückgebracht sind. An dieser Stelle ist ein unterbrechbarer Zeitpunkt erreicht und es wird ein 0-int-Signal ausgegeben9 um zu prüfen, ob sich ein Ünterbrechungs-
modul im "Warte- und Bereitschafts"-Zustand befindet.
Die Anpassungsfähigkeit der Rechenanlage erfordert, daß nicht alle Befehle nach dem Wortwert ausgeführt werden, da dies wertvollen Speicherraum direkt oder indirekt als eine Portsetzung des Programms verbrauchen kann. Beispielsweise kann eine Information verarbeitet werden, in welcher die ; -standteile nicht die volle 32-Blt-Struktur erfordern, so daß es bedeutungsvoll ist, mit Halbworten oder Viertelworten (Bytes) zu arbeiten. Dies stört jedoch nicht die oben erläuterten Grundsätze.
Beispielsweise ist es für ein schnelles Speicheraufsuchen einfach erforderlich, daß nicht der ganze Inhalt eines Speicherregisters verwendet wird, sondern nur die Hälfte oder ein Viertel desselben. Da die übertragungskanäle zu und von den Speicherregistern einzelne Leitungen mit Gattern für jede solche Bit-Leitung sind, wird die übertragung von Daten von oder· zu einem Speicherregister, zu oder von A- oder C-Registern durch zusätzliche Durchgangs- oder Sperrsignale
, .... . Λ gesteuert.
109814/16(63
- IkQ -
gesteuert» Durch Betätigung der Hälfte, eines Viertels oder von drei Vierteln der übertragungsleitungen zwischen einem Speicherregister und dem A-Register wird die Bitübertragung auf ein Halbwort oder Byte eingeschränkt. Befehle mit Halbworten oder Bytes sind gekennzeichnet durch unterscheidende Operationskodes (beispielsweise haben "volles Wort addieren" und "Halbwort addieren" verschiedene Operationskodes). Daher erzeugt die Steuereinheit 111 für den Halbwort- oder Byte-Operationsbefehl solche zusätzlichen Schaltsignalei welche bewirken, daß die nicht betroffenen Halbworte oder Bytes der adressierten Ganzwort-Zelle bei der Ausführung nicht beeinflußt werden. Einzelheiten sind in der USA-Patentanmeldung Serial No. 546 279 vom 29.April 1966 beschrieben.
Andere Befehle können Operanden erfordern, welche die Länge von zwei Worten besitzen, d.h. bis zu 64 Bits aufweisen. Es würde umständlich sein, die zwei Worte dieses Doppelworts durch getrennte Ausführung der zwei Einzelwort-Befehle zu verarbeiten. Ein Doppelwort dieser Art wird tatsächlich in zwei Speicherzeilen gespeichert, muß jedoch als einzige Zahl behandelt werden, welche eben länger ist als gewöhnlich. Zwei Speicherzellen sind für eine solche Zahl mit doppelter Länge erforderlich und sie haben stets aufeinanderfolgende Adressen. Die Doppelwort-Programm- oder Speicheradresse ist stets eine gerade Zahl und bringt mit sich, daß die zweite
erforderliche
1098 U/168 3 J-V-
erforderliche Zelle diejenige mit der nächsthöheren ungeraden Zahl ist. Da nur eine Zelle besonders gekennzeichnet ist, erhöht die gesteuerte Leitung 1^5 die Adressenzahl im -.P-Register tun Eins, wenn die nicht direkt gekennzeichnete zweite Zelle aufgesucht werden soll, ilenn ein Befehl den aufeinanderfolgenden Zugriff zu einer Anzahl von Zellen erfordert, wie es oben mit bezug auf die Befehle MMC und XPSD beschrieben wurde, wird die Schleife 145 durch eine gleichzeitig direkt oder indirekt durch das Befehlswort gelieferte Zählzahl gesteuert.
Das gleiche gilt nun für die durch das R-PeId gekennzeichneten Speicherregister, indem Steuersignale von der Einheit ill _ das Aufsuchen eines zweiten Speicherregisters bewirken können, welches auf das durch den Adressenkode des R-FeId-Kodes adressierte Register folgt·. Wiederum sorgt die Schleife Il6 hier für eine geeignete Erhöhung des R-Feld-Kodes im R-Register um Eins, so daß zuerst das vom R-FeId gekennzeichnete Register aufgesucht werden kann, und sodann wird das R-PeId pluo Eins-Register des gleichen Blocks aufgesucht, ohne daß das Laden eines anderen R-Peld-Kodes aus irgendeiner der beschriebenen Quellen erforderlich ist.
Bei der oben beschriebenen Ausführungsform wurde der Kernspeiciierabschnitt mit einer Dezimalzahl 0· bis 15 vom schnellen
Speicher
BAD ORIGINAL 1 0 9 8 1 4 /16 6 3
Speicher abgeschirmt, indem die vier Bits niedriger Größenordnung so gedeutet werden konnten, daß sie auf ein Speicherregister des laufenden Blocks und nicht auf eine Kernspeicheradresse mit gleicher Kodebezeichnung bezogen sind. Diese Regel gilt jedoch nur, wenn diese Adresse sich nicht aus dem Mapping oder aus einer direkten Eingangs-Ausgangsoperation ergibt. Eine während des Mapping oder durch Eingangs-Ausgangsoperationen aufgetretene Speicheradresse mit einem Dezimalzahlwert zwiSQhen.JLund__15_bewirkt den Zugriff zu der jeweiligen Kernspeicherzelle und nicht zum laufenden Block. Daher unterscheidet die Verarbeitungsoperation den Kernspeicher vom schnellen Speicher. Mit dem dargestellten System ist es jedoch möglich, nur ein Speicherregi-ster des laufenden Blocks aufzusuchen. Irgendein anderes Speicherregister kann nur nach Änderung des Blockanzeigekodes im Register 151 aufgesucht werden.
Die in Figur 4 dargestellte Abänderung ermöglicht den Zugriff zu irgendeinem Speicherregister unter Verwendung der Adressenzahlen im P-Register. In diesem Fall werden weitere Programmadressen abgeschirmt, jedoch das Mapping ermöglicht den Zugriff zu irgendeiner Speicheradresse. Beispielsweise kann eine im P-Register befindliche Adressennummer Nullen in der elften bis siebzehnten Bit-Stelle der vollen Speieheradresse aufweisen (Mull-Speicherseite). Die neun verbleibenden Stellen können die folgende Struktur besitzen: fünf Bits definieren
109SU/166 3 :--:..■ .-sisss
BAD ORIGINAL
einen Block, vier Bits definieren ein Register im Block. Daher wird in diesem Falle ein abgeänderter Separator 133a mit drei Ausgangskanälen vorgesehen. Der erste ist der Aus- -gangskanal 132J, welcher der gleiche ist, wie oben erwähnt, der die eingespeisten vier Bits mit niedriger Größenordnung aufnimmt, falls die Programmadresse wieder eine Dezimalzahl zwischen 0 und 15 aufweist. Wie vorher beschrieben, führt der Kanal 13*f zur Sammelleitung 115 und daher wird das Adressierendes lai^gnden Blocks als Speicher in der vorher beschriebenen-.Weise durchgeführt.
Die Vier-Bit-Leitung 134 nimmt jedoch die vier Bits mit niedrigster Größenordnung einer Programmadresse auf, wenn die Programmadresse Null-Bits in der zehnten bis siebzehnten Bit-Stelle aufweist, lediglich um dadurch ein Abschirmen für eine ganze Programmadressenseite von 512 Speicherzellen vorzusehen, von welchen zusammen 512 vorhanden sind.
1Ö98U/1G63
1543531
Ein Kanal mit fünf Leitungen oder eine Sammelleitung 143 gibt die fünf Cits der fünften bis neunten Bit-Stellung der Programmadresse zum Block-Dekoder 152 als Ersatz für die im Blockanzeigeregister 151 gehaltene Anzeigekodezahl., Der Inhalt des Anzeigeregisters 151 sollte sich nicht ändern, so daß die Arbeitsverbindung zwischen dem Register 151 und dem Dekoder 152 unterbrochen wird. Dieser Kanal 143 wird lediglich in Bereitschaft gesetzt, wenn die acht Bits mit höherer Größenordnung der Programmadresse alle Null sind und wenn die fünfte bis zehnte Bit-Stelle einer Programmadresse Bits enthält, welche nicht alle Null sind. Es wird bemerkt, daß die Kodezahl in den Leitungen 143 zufällig die gleiche sein kann wie die gerade im Blockanzeigeregister enthaltene, so daß dies eine zweite Art der Adressierung des laufenden Blocks als Speicher ist.
.Der in den Leitungen 143 definierte Blockanzeige-Ersatzkode öffnet den nunmehr adressierten jeweiligen Block direkt. Dies kann der laufende Block oder irgendeiner der anderen Blocks sein, wie ausgeführt. Nur */enn die acht Bits mit hoher Größen-Ordnung der Programmadresse eine Dezimalzahl ungleich Null definieren, dann wird die volle Adresse zum Kanal 133' durchgelassen, und zwar aus dem gleichen Zweck, wie oben erläutert, so daß nach dem Mapping der Kernspeicher adressiert werden kann und die neun Leitungen 134 und 143 keinerlei Signale aufnehmen.
'■- ■ Es 109814/16 6 3 BftD? GRiCHNAl
Es ist ersichtlich, daß das erfindungsgemäße System weit- · gehend anpassungsfähig ist» Es ist weiter ersichtlich, daß die Mapregister auch innerhalb des Adressenkontinuums mit oder ohne Abschirmung oder mit gleicher Zahl versehene Kernadressen adressierbar gemacht werden können. Dies gilt insbesondere;, wenn man bedenkt, daß die acht Bits mit hoher Größenordnung irgendeiner Programmad!resse von der Verarbeitungseinheit3 d.h. dein Operationskode-Dekoder, als Wortadressen gedeutet. T/erden liönnen5 welche in den Leitungen 137 zum Adressieren des I'lapregisters verwendet werden sollen.
Kit anderen Worten, es ist nicht erforderlich, daß nur die acht Bits mit hoher Größenordnung einer Adressenzahl, wenn sie durch die Kanäle 137 gespeist werden, ein Mapregister adressieren können. Die Verarbeitungssteuerung (operate decoder) kann so ausgebildet werden, daß sie bestimmte Programmadressenzahlen allgemein als Mapregister-Adressenkodes deutet. Zu diesem Zweck kann man die obere Hälfte des Adressenkontinuums verwenden,.welches die Seite mit der höchsten Größenordnung mit acht Einer-Bits hoher Größenordnung ist, und die neun Bits mit niedriger Größenordnung der gleichen Zahl, worden'dann als i'lapregister-Ädressen gedeutet. Dies ist die Punktion eines vierten Ausgangskanals 137a des Separators 133a in Figur 4. Er weist dieseachtEiner-Bits mit hoher 'Größenordnung nach und speist die übrigen neun Bits mit niedriger''Größenordnung, in den Dekoder 195 ein. Wiederum Ir;t ersichtlich, daß diese Art der Adressierung der Map-
10 98 U/ 1663 BADOBJGiNAL
register
register sich nicht aus Mapping- oder Eingangs-Ausgangs-Operationen ergibt. Irgendeine nach dem Mapping auftretende Kernspeicheradresse, welche in der Speicherseite mit der höchsten Größenordnung angeordnet ist, bewirkt den Zugriff zu einer Kernspeicherzelle und nicht zu einem Mapregister.
BAD ORIGINAL
1098 U/ 1663 n „ ,
Patentansprüche

Claims (1)

  1. Patentansprüche
    1. Digitale Allzxifeck-Rechenanlage, gekennzeichnet durch einen Speicher-mit einem Speicherteil mit langsamem Zugriff und einem Speicherteil mit schnellem Zugriff zum Halten von Informationsgegenständen, Programmeinrichtungen zur Erzeugung von Operatlons-Steuersignalen, Zellen - Kennzeichnungssignalen und Signalen zur Kennzeichnung der Darstellung quantitativer Information, Einrichtungen zur Erzeugung von Signalen, welche eine aus einer Mehrzahl von Gruppen von schnellen Speicherzellen kennzeichnen, wobei ein von der Programmeinrichtung erzeugtes Zellenkennzeichnungssignal eine'bestimmte Zelle in der durch ein bestimmtes der Gruppenkennzeichnungssignale gekennzeichneten Gruppe kennzeichnet, und durch Einrichtungen, welche auf das erzeugte'Zellenkennzeichnungssignal und ein Gruppenkennzeichnungssignal ansprechen, um die jeweils .gekennzeichnete Zelle und die durch die Programmeinrichtung gekennzeichnete quantitative Information in einer durch das Operations-Steuersignal bestimmten Weise charakteristisch zuzuordnen.
    2. Digitale Allzweck-Rechenanlage, gekennzeichnet durch
    BAD ORIGINAL | 098'I. 4 / 1 ββ 8'
    einen
    einen Speicher zum Pesthalten von -Informationsgegenständen, wobei diese Gegenstände Operationskodes. Speicheradressenkodes, Zahlendarstellungen und Registerkennzeichnungskodes umfassen, mit einer Hauptspeichereinheit mit wahlweisem Zugriff, welcher adressierbare Speicherzellen aufweist, sowie mit einer Mehrzahl von Gruppen gleicher Größe von Speicherregisterzellen, Verarbeitungssteuereinrichtungen, welche in Reihenfolge auf von dem Speicher für Verarbeitungsdaten empfangene Operationskodes ansprechen, wobei mindestens einige der Verarbeitungsdaten entsprechend einem vorbestimmbaren Programm in dem Speicher gehalten werden^ Iiinrichtungen zur Erzeugung eines Registergruppen-Kennzeichnungskode für die Dauer einer Unterreihenfolge von Operationen., wie sie von den Verarbeitungssteuereinrichtungen vorgesehen werden, und Einrichtungen, Vielehe auf einen von der Re^istergruppe unabhängigen Kode ansprechen, der von den Verarbeitun,"ssteuereinrichtungen gleichzeitig: mit einen wirksamen Operationskode ausgegeben wird, und welche weiter auf den in der bestimmten Register gehaltenen Gruppenkennzeichr.unrskcce ansprechen, um ein zusammengesetztes Steuersignal für uen Zugriff zu mindestens einem der Speicherrcgister innerhalb der gekennzeichneten Gruppe zu erzeugen.
    3. Rechenanlage., gekennzeichnet durch einen Speicher r.it einer Mehrzahl von einzeln kennzeichenbaren Speicherzellen, Auswahleinrichtungen, um unter den Zellen der genannten '!ehrrahl
    10 9 814/1663 Ά - eire
    BAD ORIGINAL
    eine bestimmte Ilehrzahl von Zellen als Akkumulatorrer~ister zu wählen, und Einrichtungen, um eine bestimmte Zelle der bestimmten Hehrzahl zu wählen und eine zweite Zelle in der Speichermehrzahl zur Erzeugung einer arbeitsmäßigen Zuordnung zum Inhalt der zwei so gewählten Zellen zu wählen.
    H. Digitale Allzweck-Rechenanlage, gekennzeichnet durch Einrichtungen zur Durchführung von arithmetischen Operationen bei Informationen mit numerischer Bedeutung, eine Mehrzahl von einzeln adressierbaren Registern, wobei die Register zu Gruppen zusammeneefaßt sind, was die Adressierung einer Gruppe und die Adressierung eines Registers innerhalb dieser Gruppe ermöglicht3 eine erste Adressiereinrichtung zur Erzeuj.vun£ von Signalen, Vielehe jeiveils Gruppen von Registern in der Mehrzahl von Registern adressieren, zweite Adressier-. einrichtungen zur Erzeugung von Signalen, um ein bestimmtes der Register in der durch die ersten Adressiereinrichtungen
    ■"■■■ adressierten-"Gruppe zu adressieren und das so adressierte i.crisfcer .als- Akkumulator register .an die Operations-Ausführungselni-ichtunpen zu koppeln, sowie Einrichtun.^en zur Veränderung aeü von den Graten Adressierelnrichtunp.en erzeugten Adressier- :ji,.n&lc unabh;"n.^lr:: von den Adressier Signalen der zureiten
    lji:/ltale Allzv/eck-7"eciienanlai;a, gekennzeichnet" durch Daten-
    BAD ORIGINAL ' ° 9 8 U 7 1 6 6 3 eicherelnrlChtunn
    Speichereinrichtungen mit einer Hehrzahl von Speicherzellen mit langsamem Zugriff und einer Mehrzahl von Zellen mit schnellem Zugriff, Programmeinrichtungen zur gleichzeitigen Erzeugung von Reihenfolgen von Informationsgruppen, wobei jede Gruppe erste und zweite Adressierkodes und einen Steuerkode umfaßt, Verarbeitungssteuereinrichtungen zum arithmetischen Kombinieren von Zahlen, um sich daraus ergebende Zahlen zu erzeugen, erste Zugriffsteuereinrichtungen zum Koppeln einer ersten Zelle mit schnellem Zugriff an die VerarbeitungsSteuereinrichtungen in Abhängigkeit von dem ersten Kode, damit diese als Akkumulator dient und eine der Zahlen feststellt, welche arithmetisch mit den Verarbeitungseinrichtungen zu kombinieren sind, und damit diese als Zieloder Bestimmungszelle für die erhaltene Zahl dient, sowie zweite Zugriffsteuereinrichtungen, welche auf den zweiten Kode ansprechen, um aus der damit gekennzeichneten Speicherzelle eine zweite, in die Verarbeitungssteuereinrichtungen einzuspeisende Zahl zu entnehmen.
    6. Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen Speicher mit einem Teil mit langsamem Zugriff und einem Teil mit schnellem Zugriff, deren jeder adressierbare Speicherzellen zum Festhalten von Informatinnsgegenständen aufweist, erste Einrichtungen einschließlieh eines Operationsregisters zur Durchführung von arithmetischen Operationen, Prograimreinrichtungen, um in Reihenfolge Speicheradressen definierende
    1098U/1663
    BAD
    Information
    15Λ9531
    Information aus dem Speicher zu entnehmen, zweite Einrichtungen zum Adressleren einer Gruppe aus einer Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei.Jede dieser Gruppen wahlweise adressierbar ist, dritte Einrichtungen zum Adressieren einer bestimmten der schnellen Speicherzellen., welche zu der von den zweiten Einrichtungen adressierten Gruppe gehören, und vierte Einrichtungen zum Einspeisen der die Speicheradresse dafinierenden Information und des Inhalts der bestimmten schnellen Speicherzelle in die ersten Einrichtungen, um eine zweite. Speicheradressen definierende Information zu erhalten.
    Digitale Allzweck-Rechenanlage j gekennzeichnet durch Datenspeichereinrichtungen mit einer Mehrzahl von Speicherzellen mit langsamein Zugriff und einer Mehrzahl von Speicherzellen mit schnellem Zugriff, Programmeinrichtungen zur gleichzeitigen Erzeugung von Reihenfolgen, von Informations gruppen, wobei jede Gruppe erste, zx^eite und dritte Unterkodes und einen Steuerkode aufweist, erste ZugriffSteuereinrichtungen . zum Aufsuchen einer ersten, schnellen Speicherzelle in Abhängigkeit vorn ersten Unterkoüe unä weiter in Abhängigkeit von einem vierten Unterkode, welcher in einer bestimmten der schnellen Speicherzellen, enthalten ist, zweite Zugriffsteuereinrichtungen, Vielehe auf den zweiten Unterkode an-
    -AA„„ . i - sprechen BADOHIGINAL 1098U/1663 ^ "
    sprechen, um eine zweite der schnellen Speicherzellen aufzusuchen Vielehe einen fünften Unterkode' enthält, dritte Zugriffsteuereinrichtungen} welche auf den fünften Unterkode und den dritten Unterkode ansprechen, welcher eine dritte Speicherzelle definiert, sowie Verarbeitungssteuereinrichtungen, um den Inhalt der ersten Zelle und der dritten Zelle in eine charakteristische Beziehung zueinander zu setzen.
    8. Digitale Allzweck-Rechenanlage, gekennzeichnet durch Informationsspeichereinrichtungen mit einer Mehrzahl von Zellen mit schnellem Zugriff und einer Mehrzahl von Zellen mit verhältnismäßig langsamem Zugriff, Programmeinrichtungen zur gleichzeitigen Erzeugung von Signalgruppen mit ersten, zweiten und dritten Zahlenkodesignalen und einem Steuerkode, Zugriffsteuereinrichtungen, welche auf das die Zellengruppe kennzeichnende Kodesignal und das erste und zweite Zahlenkodesignal ansprechen, um den Zugriff zu zwei der schnellen Speicherzellen zu erzeugen, und welche weiter auf den Inhalt einer der zwei schnellen Speicherzellen und auf den dritten Zahlenkode ansprechen, um den Zugriff zu einer dritten Speicherzelle zu erzeugen, sowie Einrichtungen, welche auf den Steuerkode ansprechen, um den Inhalt der anderen der zwei Zellen und der dritten Zelle in charakteristischer V/eise zuzuordnen.
    9. Digitale Allzweck-Rechenanlage, gekennzeichnet durch Daten-
    ,...,, 1( Λ. speichereinrlchtungen 10981Λ/1663
    BAD ORIGINAL
    Speichereinrichtungen mit einer Mehrzahl von Speicher- · .zellen mit langsamem Zugriff und einer Mehrzahl von Speicherzellen mit schnellem Zugriff, Programmeinrichtungen zur gleichzeitigen Erzeugung von Reihenfolgen von Informationsgruppen, wobei jede Gruppe erste und zweite Kodezahlen aufweist, erste ZugriffSteuereinrichtungen zum Aufsuchen einer ersten Zelle mit schnellem Zugriff in Abhängigkeit von der ersten Kodezahl und von einer dritten Kodezahl, welche in einer bestimmten der Zellen mit schnellem Zugriff enthalten ist, Einrichtungen zur Veränderung der zweiten Kodezahl durch den Inhalt der ersten ZeIIe5 um eine vierte Kodezahl zu erhalten, zweite ZugriffSteuereinrichtungen, welche auf einen ersten Teil des vierten Kodes ansprechen, um eine zweite der Zellen mit schnellem Zugriff aufzusuchen, welche eine fünfte Kodezahl enthält, sowie dritte Zugriffsteuereinrichtungen, welche auf die fünfte Kodezahl und den restlichen Teil der vierten Kodezahl ansprechen, der eine dritte Speicherzelle definiert, um den Zugriff zu eier dritten Speicherzelle hervorzurufen»
    Iß. Digitale P.eehenanlage, gekennzeichnet durch Informationsspßichereinrichtungen mit Speicherzellen einschließlich einer Mehrzahl von Speicherzellen mit langsamem Zugriff uri'i einer Hehr zahl von Speicherzellen mit schnellem Zugriff, erste Linriehtuncen zur Erzeugung von Zellengruppen
    1 0 9 8 1 4 / 16 6 3 kennzeichnenden
    kennzeichnenden Signalen, zweite Einrichtungen zur gleichzeitigen Erzeugung von ersten und zweiten inneren Gruppenkennzeichnungskodes und eines Steuerkodes, Zugriffsteuereinrichtungen, welche auf ein Zellengruppen-Kennzeichnungssignal, das von den ersten Einrichtungen erzeugt wird, und auf einen gleichzeitig erzeugten ersten, inneren Gruppenkode ansprechen, um den Zugriff zu einer Zelle mit schnellem Zugriff zu bewirken, wobei die Zugriffsteuereinrichtungen weiter auf ein Zellengruppen-Kennzeichnungssignala das von den ersten Einrichtungen erzeugt wird, und auf einen gleichzeitig mit dem ersten inneren Gruppenkode erzeugten zweiten inneren Gruppen-Zellenkode ansprechen, um den Zugriff zu einer zweiten der Speicherzellen zu bewirken, sowie Verarbeitungseinrichtungen zum Zuordnen des Inhalts der aufgesuchten schnellen Zelle und der zweiten Speicherzelle in einer durch den Steuerkode bestimmten charakteristischen Weise.
    *£. Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen Speicher mit schnellem Zugriff mit einer Mehrzahl von gleichartigen Registern, Zugriffsteuereinrichtungen, welche auf Adressenkodes ansprechen, um den Zugriff zu dem durch den empfangenen Adressenkode gekennzeichneten Speicherregister zu bewirken-, ein einzelnes Register zur Erzeugung eines ersten Adressen-Unterkodes, welcher eine''Gruppe von Speicherregistern kennzeichnet, wobei der erste Adressen-Unterkode aus einer Mehrzahl von Unterkodes gewählt ist, welche insgesamt die Speicherregister zu gleich großen Gruppen zusammen-
    10981Ui1683
    fassen BAD RlOINAL
    fassen,, erste Steuereinrichtungen zur Erzeugung eines ■zweiten Unterkodes, welcher in Kombination mit einem ersten Unterkode ein bestimmtes Speicherregister kennzeichnet, zweite Steuereinrichtungen zum Einspeisen des ersten und zweiten Unterkodes, welche gleichzeitig von dem einzelnen Register und von den ersten Steuereinrichtungen erzeugt werden, in die ZugriffSteuereinrichtungen, um als so kombinierter Adressenkode zu arbeiten, sowie Adressensteuereinrichtungen zum Einspeisen eines Adressenkodes in die ZugriffSteuereinrichtungen unabhängig von und statt des von den zweiten Steuereinrichtungen erzeugten kombinierten Adressenkodes.
    Α3ί,ί * Rechenanlage nach Anspruch 12, gekennzeichnet durch Einrichtungen, welche auf eine bestimmte Klasse von Adressenkodes ansprechen, die von den Adressensteuereinrichtungen erzeugt werden^ um einen Teil einer Adresse innerhalb der Klasse mit dem in dem einzelnen Register gehaltenen Unterkode zu kombinieren und einen neuen Adressenkode zum Steuern der ZugriffSteuereinrichtungen anstatt der Adresse der Klasse selbst zusammenzusetzen.
    Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen Speicher mit schnellem Zugriff mit einer Mehrzahl von gleichartigen Speicherregistern, ZugriffSteuereinrichtungen, welche auf AdresBenkodes-ansprechen, um den Zugriff zu dem von dem
    '^9814/1663 empfangenen
    empfangenen Adressenkode gekennzeichneten Speicherregister zu bewirken, Registereinrichtungen zur Erzeugung eines ersten Adressen-Unterkodes, welcher eine Gruppe von Speicherregistern kennzeichnet, wobei der erste Adressen-Unterkode aus einer Mehrzahl von Unterkodes gewählt ist, Vielehe insgesamt die Speicherregister zu gleichgroßen Gruppen zusammenfassen, erste Steuereinrichtungen zur Veränderung des ersten Adressen-Unterkodeteils in den Registereinrichtungen, um dadurch eine andere Gruppe von Speicherregistern zu kennzeichnen, zweite Steuereinrichtungen, welche auf einen von der Gruppe unabhängigen zweiten Adresse-Unterkode und außerdem auf den in den Registereinrichtungen gehaltenen laufenden ,ersten Unterkode ansprechen, um einen Adressenkode zu erhalten, auf welchen die ZugriffSteuereinrichtungen ansprechen können, sowie dritte Steuereinrichtungen zur .Erzeugung der zweiten Unterkodes für die zweiten Steuereinrichtungen unabh£Tngig von der Änderung des ersten Unterkodes in den Registereinrichtungen, welche von den ersten Steuereinrichtungen bewirkt -wird.
    Digitale Allzweck-Rechenanlace, gekennzeichnet durch einen Speicher mit einem Speicherteil mit langsamen Zugriff und einem Speicherten nit schnellem, wahlweises Zugriff zum Speichern von Informationsgegenstänclen, welche Zahleninformation und Steuerinfcrmation umfassen, eine
    . 109-8 U/166 3 *%££-
    BAD ORlGiNAL
    erste Registereinrichtung zum Halten eines Kodes, welcher · eine Gruppe von Speicherzellen mit schnellem Zugriff kennzeichnet, Befehlsresistereinrichtungen mit einem ersten Abschnitt zum Halten eines Speicherzellen-Kennzeichnungskodes und mit einem zweiten und einem dritten Abschnitt, deren jeder einen Kode enthält, welcher eine bestimmte schnelle Speicherzelle der Gruppe kennzeichnet, die durch den in den ersten Rer-istereinrichtungen enthaltenen Kode gekennzeichnet wirdj Pror^ammsteuereinrichtungen, um in Reihenfolge Information von dem Speicher in das Befehlsregister zu laden und "den Inhalt desselben in einer vorbestimmten Reihenfolge zu veränderna Speicherzugriff-Steuereinrichtungen, welche auf Speicherzellen-Kennzeichnungskodes ansprechen," um eine durch diese Kodes gekennzeichnete Speicherzelle zu adressieren, Schaltungen, welche auf den Kode im zxyeiten Abschnitt der Befehlsre^istereinrichtungen und'auf den in den ersten Registereinrichtungen enthaltenen Kode ansprechen, um die erhaltene Adresse auf die Zugriffsteuereinrichtungen zu geben und dadurch-die'so gekennzeichnete schnelle Speicherzelle zu adressieren und den im ersten Abschnitt enthaltenen Kode entsprechend aera Inhalt der gekennzeichneten schnellen Speicher-'" ■ zelle zu verändern und sodann den so geänderten Kode auf die Zu;riffSteuereinrichtungen zu ceben, sowie Einrichtungen zur Verarbeitung- des Inhalts der .Zellen, welche durch den dritten Au.;-;cl:nitt zusci/amen mit üen ersten Registereinrichtungen und uxivση '-en vcur'.nuQrton Ilorie (-/^Kennzeichnet werden, „der auf die
    Ά ugr1 P Γ« t euor e inr 1 cnJb un^ori
    - 158 Zugriffsteuereinrichtungen gegeben wird. _
    Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen Speicher mit einem Speicherteil mit langsamem, wahlweisem Zugriff und einem Speicherteil mit schnellem, wahlweisem Zugriff zum Speichern von Informationsgegenständen, welche Zahleninformation und Steuerinformation umfassen, Programmeinrichtungen zur Erzeugung einer Reihenfolge von Informationsgruppen durch Entnehmen dieser Informationsgruppen aus dem Speicher in einer vorbestimmten Reihenfolge, wobei jede Gruppe Steuerinformation und Kodezahlen enthält, Einrichtungen zur Erzeugung einer ersten Kodezahl unabhängig von den Programmeinrichtungen, wobei die erste Kodezahl eine aus einer Mehrzahl von gleichen Gruppen von schnellen Speicherzellen kennzeichnet, Speicherzellen-Kennzeichnungseinrichtungen, welche auf die zweite und dritte Kodezahl einer von den Programmeinrichtungen erzeugten Informationsgruppe ansprechen, wobei die zweite Kodezahl eine Speicherzelle innerhalb der Gruppe kennzeichnet, die durch eine erste erzeugte Kodezahl gekennzeichnet ist, und wobei die dritte Kodezahl eine Speicherzelle kennzeichnet Steuereinrichtungen, welche auf die erste und zweite Kodezahl ansprechen,.um den Inhalt der so gekennzeichneten schnellen Speicherzelle zur Veränderung der dritten Kodezahl zu verwenden, Speicherzellen-Zugriffeinrichtungen zum Adressieren einer Speicherzelle, welche durch die von den Steuereinrich-
    1098U/1663 tunren
    BAD ORlGSNAt
    tungen veränderte Kodezahl gekennzeichnet ist, sowie Einrichtungen, welche auf die von den Programmeinrichtungen erzeugte Steuerinformation ansprechen, um den Inhalt der adressierten Speicherzelle in charakteristischer Weise zu verarbeiten.
    Allzweck-Rechenanlagej gekennzeichnet durch eine Mehrzahl von einzeln ädresslerbaren Registern, erste Einrichtungen zur Erzeugung von Adressiersignalen, wobei jedes erzeugte Signal zum Adressieren einer bestimmten Gruppe der Register dient, zweite Einrichtungen zur Erzeugung von Adressiersignalen, wobei jedes dieser Signale zusammen mit einem durch die ersten Einrichtungen erzeugten Signal ein bestimmtes Register in der jexieiligen Gruppe adressiert, sowie durch Programmeinrichtungen zur Erzeugung.- von Operationskodes einschließlich eines ersten Operationskodes 9 weicher gleichzeitig mi£ einem Adressenkode erzeugt wird, xiobei dieser Adressenkode über einen bestimmten Bereich veränderlich ist, der Adressenkode in die zweiten Adressiereinrichtungen eingespeist 'wird, um die Erzeugung eines Adressiersignals durch die zweiten Einrichtungen zu bewirken, wie es durch den Adressenkode bestimmt wird3 und wobei ein zweiter der durch die "Programmeinriehtun-gen erzeugten Operationskodes bewirkt, daß ein bestimmter Adressenkode in die zweiten Adressiereinrichtuhgen eingespeist wird. .
    18.
    Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen Speicher mit einem Speicherteil mit langsamem, wahlweisem Zugriff und einem Speicherteil mit schnellem, wahlweisem Zugriff zum Speichern von Informationsgegenständen, ein erstes Register zum Halten von Kodes, deren jeder eine Gruppe von Speicherzellen mit schnellem Zugriff kennzeichnet, wobei eine Mehrzahl von gleichen Gruppen solcher Zellen vorhanden ist, ein zweites Register mit einem ersten Abschnitt zur Erzeugung von Speicherzellen-Kennzeichnungskodes und einem zweiten Abschnitt zur Ereeugüng von Kodes 3 xvelche bestimmte schnelle Speicherzellen der Gruppe kennzeichnen, die durch den dann im ersten Register gehaltenen Kode gekennzeichnet wird, Programmeinrichtungena um in Reihenfolge den Inhalt des zweiten Registers entsprechend der im Speicher enthaltenen Information zu verändern., Einrichtungen zur Verarbeitung der Operanden, welche in den Zellen enthalten sind, die durch den in den verschiedenen Registern enthaltenen Kode gekennzeichnet sind, sowie zum Zurückführen des Ergebnisses der Verarbeitung in öine der letzteren Zellen, und Einrichtungen zur Veränderung des Inhalts des ersten Registers durch Übertragung des Inhalts einer durch einen bestimmten Kode gekennzeichneten Speicherzelle, wenn dieser im ersten Abschnitt des zweiten Registers enthalten ist, in das erste Register, .
    109SU/1-661
    Ig. Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen ersten Speicher mit einer Mehrzahl von einzelnen Speicherzellen zum Speichern von Informationsgegenständen " derart 3 daß beim Ablesen dieser Information dieselbe in der Zelle zerstört wird, wobei Einrichtungen zum " ■ Aufzeichnen von Information einschließlich der Aufzeichnung der aus der Zelle abgelesenen Information zurück in dieselbe vorgesehen sind, einen zweiten Speicher, vie Icher aus einer Mehrzahl von Registern mit Stufen besteht, die Speicherzellen zur Speicherung von Informations gegenständen bilden, welche ein nichtzerstörendes Kopieren oder übertragen gestatten, ein erstes und zweites Zugriffsteuersystem für den ersten* bzw. zweiten Speicher, welche jeweils auf Adressenkqdes ansprechen, um den Zugriff zu vorbestimmten Gruppen von Speicherzellen in einem der Speicher zu bewirken, Einrichtungen zur Erzeugung von Speicheradressenkodes sowie Verteilereinrichtungen, welche auf die Kodeerzeugungseinrichtungen ansprechen und einen erzeugten Kode in eines der Zugriffsteuersysteme einspeisen, um dadurch zwischen Adressenkodes zu unterscheiden- auf welche das erste und zweite Steuersystem anspricht. .
    Digitale Rechenanlage, gekennzeichnet durch eine erste Einrichtung, welche eine erste Mehrzahl von Speicherorganen
    bildet
    1098 U/ 166 3
    BAD ORIGINAL
    bildet, die eine erste numerische Information enthalten und einen verhältnismäßig schnellen Betrieb aufweisen, eine zweite Einrichtung, welche eine zweite Mehrzahl von Speicherorganen bildet, die eine zweite numerische Information enthalten und einen verhältnismäßig langsamen . Betrieb aufweisen, eine dritte Einrichtung zur Erzeugung von Befehlen mit einem ersten Teil, welcher die Auswahl von einzelnen Speicherorganen in der ersten Hehrzahl steuert, und mit einem zweiten Teil, welcher die Auswahl von einzelnen Speicherorganen der ersten und zweiten Mehrzahl steuert, eine vierte Einrichtung, welche arbeitsmäßig mit der ersten Einrichtung und dritten Einrichtung gekoppelt ist, zur Auswahl von einzelnen Speicherorganen in der ersten Mehrzahl entsprechend dem ersten Teil der Befehle, eine fünfte Einrichtung, welche .arbeitsmäßig mit der ersten, zweiten und dritten Einrichtung gekoppelt ist, zur Auswahl von einzelnen Speicherorganen in der ersten und zweiten Mehrzahl entsprechend dem zweiten Teil der Befehle und eine sechste Einrichtung, welche arbeitsmäßig mit der vierten und fünften Einrichtung gekoppelt ist, zum arithmetischen Kombinieren der Information in den von der vierten und fünften Einrichtung ausgewählten Registern.
    20. Digitale Rechenanlace, gekennzeichnet durch eine Einrichtung, welche eine erste Mehrzahl von Speicherorganen definiert, die numerische Informationen enthalten und verhältnismäßig
    1.09814/1663 schnell
    BAD ORiGJNAL
    schnell arbeiten, eine zweite Einrichtung, Vielehe eine zweite Mehrzahl von Speicherorganen definiert, die eine zweite numerische Information enthalten und verhältnismäßig langsam arbeiten, eine dritte Einrichtung zur Erzeugung von Befehlen, welche die Auswahl von einzelnen Speicfterorganen in der ersten und zweiten Mehrzahl steuern, Akkumülatoreinrichtung zur Speicherung von Information aus den einzelnen Speicherorganen in der ersten Mehrzahl, eine vierte Einrichtung, welche arbeitsmäßig mit üer ersten und -dritten Einrichtung und mit den Akkumülatoreinrichtuhgen gekoppelt ist, um auf,: die Akkumulator einrichtungen die Information in einzelnen der Speicherorgane in der ersten Mehrzahl entsprechend den Befehlen in der dritten Einrichtung zu übertragen, eine fürifte Einrichtung, welche arbeitsmäßig mit der zweiten und dritten Einrichtung gekoppelt ists um Information aus einzelnen'der Speicherorgane in der zweiten Mehrzahl entsprechend den Befehlen in der dritten Einrichtung auszuwählen, sowie Einrichtungen, welche arbeitsmäßig mit den lift Akkumulatoreinrichtungen'und der fünften Einrichtung gekoppelt sind, iim die in die Akkumülatoreinrichtungen Übertragene Information sowie die von der fünften Einrichtung ausgewählte Information arithmetisch zu kombinieren und eine neuö Information zur Verwendung durch die digitale Rechenanlage au erhalten. λ .
    ι ■ .
    1098U/1663
    a#. Digitale Rechenanlage, gekennzeichnet durch eine erste Einrichtung, welche eine erste Mehrzahl von Speicherorganen bildet, die eine erste numerische Information enthalten und verhältnismäßig schnell arbeiten, eine zweite Einrichtung, welche eine zweite Mehrzahl von Speicherorganen bildet, die eine zweite numerische Information enthalten und verhältnismäßig langsam arbeiten, eine dritte Einrichtung zur Erzeugung von Befehlen, welche die Auswahl von verschiedenen Speicherorganen in der ersten und zweiten Mehrzahl und die verschiedenen Artei von arithmetischen Operationen einschließlieh Addition und Multiplikation steuern, welche an der auf den verschiedenen Speicherorganen auszuwählenden Information auszuführen sind, eine vierte Einrichtung, welche arbeitsmäßig mit der ersten und dritten Einrichtung gekoppelt ist, um Information aus einzelnen Speicherorganen in der ersten Mehrzahl entsprechend ersten bestimmten Befehlen aus der dritten Einrichtung auszuwählen, eine fünfte Einrichtung, welche arbeitsmäßig: mit der zweiten und dritten Einrichtung gekoppelt ist, um Information aus einzelnen Speicherorganen in der zweiten Mehrzahl entsprechend zweiten besonderen Befehlen aus der dritten Einrichtung auszuwählen, sowie eine sechste Einrichtung, welche arbeitsmäßig mit der vierten, fünften und sechsten Einrichtung gekoppelt ist, um besonderer arithmetische Operationen an der aus der vierten und fünften Einrichtung
    ausgewählten 1098 H/1663
    BAD
    - 155 -
    ausgewählten Information entsprechend dritten besonderen ; Befehlen aus der dritten Einrichtung durchzuführen,
    2&, Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen Speicher-mit einem Speicherteil mit langsamem Zugriff und einein Speicherten mit schnellem., wahlweisem Zugriff zur Speicherung von Informationsgegenständen, Programmeinrichtungen zuraufeinanderfolgenden Entnahme einer Reihe von Inforraationsworten aus dem Speicher, wobei Jedes Wort ein Operationskode, der aus einer Mehrzahl von Operationskoäes ausgewählt ist, einen ersten Zellenkode und einen zweiten^ eine quantitative Information darstellenden Kode enthält, ein Register, welches einen dritten Kode ervfchäit, der eine aus einer Mehrzahl von gleichen Gruppen von schnellen Speicherzellen kennzeichnet, wobei der e'rste Zellenkode eine bestimmte Zelle in der durch den dritten Kode gekennzeichneten Gruppe kennzeichnet, sowie Einrichtungen, welche auf den dritten und ersten Kode ansprechen, um die jeweils gekennzeichnete Zelle und die von dem zweiten Kode dargestellte quantitative Information in einer von dem Operationskode bestimmten Weise charakteristisch zuzuordnen.
    -8#. Allzweck-Reehenanlape nach Anspruch 23, gekennzeichnet durch Einrichtungen;, v/elche auf einen Teil des zweiten Kodes an-Gprecnon} um eine zweite beaonaere, schnelle Speicherzelle aufzusuchen, sov/ie ■ inricritun/ cn, welche auf den restlichen
    1098 U/ 1683
    Teil des zweiten Kodes und auf den Inhalt der zweiten besonderen Speicherzelle ansprechen, um einen Speicherzellen-Kennzeichnungskode zu verknüpfen, welcher eine Zahl zur Verarbeitung durch die Zuordnungseinrichtungen enthält.
    a#. Allzweck-Rechenanlage nach Anspruch 23, gekesnzeichnet durch Einrichtungen, welche auf bestimmte der Operationskodes ansprechen, um den zweiten Kode als Zahl mit unmittelbar numerischer Bedeutung zu deuten und diese Zahl auf den Inhalt der bestimmten Zelle zu beziehen.
    ■86. Allzweck-Rechenanlage nach Anspruch 23, gekennzeichnet durch Einrichtungen, welche auf einen bestimmten Operationskode zur Veränderung des Werts des dritten Kodes ansprechen, um die durch den Kode in dem Register gekennzeichnete Gruppe zu wechseln.
    Digitale-■Allzweck-Rechenanlage, gekennzeichnet durch eine Mehrzahl von einzeln adressierbaren Speicherzellen, wobei die Adresse jeder Speicherzelle durch eine bestimmte Zahl definiert ist und die Speicherzellen zur Speicherung von Operandzahlen vorgesehen sind, Programmeinrichtungen, um in Reihenfolge Operations-Steuersignale zu erzeugen, wobei jedes so erzeugte Operations-Steuersignal von einem ersten Zahlenkode begleitet ist s eine erste Einrichtung, um einen
    109814/1663 zweiten
    BAD ORIGINAL
    zweiten Zahlenkode unabhängig von der in der Reihenfolge erfolgenden Änderung der ersten Zahlenkodes durch die Programmeinrlchtungen zu enthalten, eine zweite Einrichtung zur Verknüpfung des zweiten Zahlenkodes, welcher durch die erste Einrichtung erzeugt wurde, und eines zweiten Zahlenkodes, welcher durch die Programmeinrichtungen erzeugt wurde, um eine zusammengesetzte dritte Zahl zu bilden und den Zu-' griff zu einer Speicherzelle zu bewirken, welche einen Operanden enthält, welcher der durch das gleichzeitig erzeugte Operationssteuersignal bestimmten Operation unterworfen werden soll, und eine dritte Einrichtung zur änderung des zweiten Zahlenkodes in Abhängigkeit von einem bestimmten Operationssteuersignal.
    ■. Digitale Allzweck-Rechenanlage, gekennzeichnet duroh eine erste Mehrzahl von einzeln adressierbaren Speicherzellen mit schnellem Zugriff, eine zweite Mehrzahl von einzeln adressierbaren Speicherzellen mit langsamem Zugriff, wobei die Adresse jeder dieser Speicherzellen durch eine bestimmte Zahl definiert ist und die Speicherzellen zur Speicherung von Operandzahlen vorgesehen sind, Programmeinrichtungen, um in Reihenfolge aus den Speicherzellen mit langsamem Zugriff Operationssteuersignale zu entnehmen, wobei Jedes so erhaltene Operationssteuersignal von einem ersten Zahlenkode Begleitet ist, eine erste Einrichtung, um einen zweiten Zahlenkode unabhängig von der in Reihenfolge erfolgenden
    1 09 814/1663 Xnderung
    IAD ORiGlNAL
    Änderung der ersten Zahlenkodes durch die Programmeinrichtungen zu enthalten, eine zweite Einrichtung, um den zweiten, durch die erste Einrichtung erzeugten Zahlenkode und einen ersten, durch die Programmeinrichtungen erzeugten Zahlenkode zu verknüpfen und eine zusammengesetzte dritte Zahl zu bilden und dadurch den Zugriff zu einer Speicherzelle mit schnellem Zugriff zu bewirken, welche einen ersten Operanden enthält, der der Operation unterworfen werden seil, Vielehe durch das gleichzeitig erzeugte Operationssteuersignal bestimmt wird, sowie eine dritte Einrichtung zur Erzeugung
    η
    eines zvreiten Operaden, welcher operationsmäßig auf den ersten Operanden bezogen werden soll, indem eine Speicherzelle mit langsamerem Zugriff aus der genannten Ilehrzahl aufgesucht wird.
    2g. Rechenanlage mit mehrfachem Adressiersystem, gekennzeichnet durch eine erste Einrichtung zur gleichzeitigen Erzeugung einer ersten vollständigen Adressenzahl-und einer zweiten teilweisen Adressenzahl, eine zweite Einrichtung zur Erzeugung einer Zahl zur Ergänzung der zweiten teilweisen Adressenzahl, um eine vollständige zweite Adressenzahl zu bilden, wobei die zur Ergänzung erzeugte Zahl unabhängig von einer Änderung der ersten vollständigen und der zweiten, von der ersten Einrichtung erzeugten- teilweisen Zahl veränderbar ist, und einen Speicher mit adressierbaren Zellen,
    wobei 109814/1663 """
    -BAD ORiGiMAL
    15Λ9531
    - ιβ$ -
    wobei mindestens ein Teil derselben durch eine der ersten ·
    vollständigen Adressenzahlen adressierbar ist und mindestens
    ein zweiter Teil desselben durch eine zweite vollständige
    Adressenzahl adressier-bar ist.
    Rechenanlage5 gekennzeichnet durch einen Speicher niit einer : ■
    Hehrzahl von einzeln adressierbaren Speicherzellen zur Speicherung
    von Befehlsdarstellungen und von Operanden, eine Verarbeitungseinrichtung, welche auf Befehle anspricht, äie in Reihenfolge ; aus dem Speicher abgelesen werden, um Operationen für die , Operanden vorzusehen, wobei mindestens einige der Beföhle erste \ und zweite Adressierkodes enthalten, eine Mapping ööei» Adressen- j zuordnungseinrichtung zur Zuordnung der ersten Adressenkodes zu \ tatsächlichen Adressen von Zellen in dem Speicher, wobei die " Verarbeitungseinrichtung eine Einrichtung zum Ändern dieser ■ Zuordnung in Abhängigkeit von einem bestimmten Befehl enthält, 1 eine Kehrzahl von einzeln adressierbaren Registern, ein Steuer- ; register zum Halten eines Kodes, welcher eine Gruppe, dieser | Register kennzeichnet, wobei die Verarbeitungs.einrichtung eine * Einrichtung; zur Änderung dieses Kodes in Abhängigkeit von
    mindestens einem anderen besonderen Befehl enthält, um dadur'ch
    die durch den Kode im Steuerregister gekennzeichnete Gruppe
    eier Register zu ändern, und wobei die Verarbeitungseinrichtung
    wejter eine auf die zweiten Adressenkodes ansprechende EInrlchtunr aufv;elst5 um ein Register in der Gruppe aufzusuchen,
    die
    1098H/1663
    die durch den im Steuerregister enthaltenen Kode laufend gekennzeichnet wird, und um dieses aufgesuchte Register an die Verarbeitungseinrichtung zu koppeln.
    Rechenanlage, gekennzeichnet durch eine Einrichtung zug. Erzeugung von Befehlssignalen» welche Jeweils einen Operationskode und einön Adressenkode enthalten, Eiri-' richtungen, welche auf einen Teil des Adresssnkodes an» sprechen, um einen ünterkode zu erzeugen, welcher zu&atwnen mit dem verbleibendenTeil des Adressenkodes eine Speicheradresse bildet, sowie eine Einrichtung zum Halten bestimmter Steuerkodes infolge der Aufführung von bestimmten dei\ Befehle, um eine Zugriffbeschränkung zu der duych einen Ünterkode definier.ten Gruppe von Speicheradressen in Abhängigkeit von diesem Teil des Adresseökodes zu erzeugen,
    Rechenanlage, gekennzeichnet durch eine Einrichtung zur; Erzeugung von; Befehls Signalen, welche Jeweils Operationskodes und einen Adressenkode enthalten, eine Einrichtung, welche auf einen Teil des Adressenkodes anspricht, um einen Unterkode zu erzeugen, welcher zusammen mit dem verbleibenden Teil des Adressenkodes eine Speicheradresse definiert, sowie eine Einrichtung, welche auf diesen Teil des Adressenkodes anspricht, um wahlweise eine Zugriffbeschränkung zu der von dem unterkode definierten Gruppe von Speicheradressen zu erzeugen.
    1098U/1663
    BAD OBlGlHAl
    jjäf. Rechenanlage, gekennzeichnet durch einen Speicher mit einer Mehrzahl von einzeln adressierbaren Speicherzellen, Vielehe zu Gruppen zusammengefaßt sind, eine Mehrzahl von einzeln adressierbaren Registern, welche jeweils diesen Gruppen zugeordnet sind, indem ein für eine Gruppe repräsentativer Adressenunterkode auch ein Register der Mehrzahl adressiert und jedes Register einen Steuerkode . enthält, ein einzelnes Register zum Halten eines 'Steuerkodes sowie eine Einrichtung, .um ein Zugriffbeschränkung zu einer Gruppe von Speicherzellen zu erzeugen, wenn ein Adressenkode einen Unterkode enthält, welcher auch das jeweils zugeordnete Register der Mehrzahl aufsucht, wobei der Kode in derselben eine bestimmte Beziehung zu dem Kode in dem einzelnen Register besitzt.
    *. Rechenanlage, gekennzeichnet durch einen Speicher mit einer Mehrzahl von adressierbaren Speicherzelleny eine ■Verarbeitungseinrichtung, welche auf Befehlssignale anspricht, um charakteristische Operationen an Operanden hervorzurufen, welche in einigen der Speicherzellen enthalten sind, ein Unterbrechungssystem mit einer Mehrzahl von Moduln, welche jeweils Eingangs- und Ausgangsklemmen aufweisen, wobei die Eingangsklemme eines Moduls zur Aufnahme eines Triggersignals zum Anrufen des Unterbrechungsmodüls und die Ausgangsklemme eines Moduls zum Bewirken des Zugriffs zu einer dem jeweiligen Modul zugeordneten besonderen Speicherzelle dient, eine Einrichtung in jedem
    .1098 H/166 3
    ..:.'■ Modul . BAD ORIGINAL
    Modul, um zeitweise den Empfang eines Triggersignals zu speichern,, eine Einrichtungj welche auf das Ende der Ausführung irgendeines Befehls und auf bestimmte Phasen während der Ausführung von Befehlen mit Ausführungsdauern oberhalb- einer bestimmten Zeitgrenze anspricht, um Zeitgebersignale auf diese Moduln zu geben, sowie eine Einrichtung zur gegenseitigen Verbindung der r.oduln, um eine Vorrangkette für das Ansprechen zu bilden, indem . nur der Modul, in welchem ein Triggersignal gespeichert ist und der einen höheren Ansprechvorrang besitzt als alle anderen Moduln, in welchen ein Triggersignal gespeichert ist, ein Ausgangssignal an seiner Ausgangsklemme erzeugt, um den Zugriff zu der zugeordneten Speicherzelle zu bewirken .
    Rechenanlage nach Anspruch 3^., dadurch gekennzeichnet. daß die Verar.beitungseinrichtunp weitere Einrichtungen aufweist, welche auf besondere Befehle zur Steuerung aer Moduln ansprechen, um den Vorrang zu verändern, indem Jain Modul auf die Zeitgebersignale nichtansprechend gemacht wird.
    Rechenanlage nach Anspruch 3^, gekennzeichnet durch Einrichtungen, welche auf jedes der Zeitgebersignale ansprechen, um ein Steuersignal zu erzeugen, wenn die Zeit seit e'.er.: letzten Zeitgebersignal eine vorbestimmte Grenze übersteigt.
    1 0 9 8 U / 1 6 6 3 37.·.
    BAD ORIGINAL
    #· Allzv.recl:-Eech.enanlace., 'gekennzeichnet durch einen Speicher mit einer /lehrzahl von einzeln adressierbaren Speicher- : zellen3 welche so zusammengefaßt sind,, daß der Speicher . einen Teil mit schnellem^, wählweisem Zugriff und einen Teil ?:±t langsamen;, wahlweisern Zugriff aufweist, ein Anzeigeregister zur Speicherung eines Kodes, welcher eine. , Gruppe von Zellen- im Teil mit schnellein Sugriff Kennzeichnet■;, wobei andere Kodes andere Gruppen von Zeilen mit ' .schnellen Zugriff kennzeichnen^ eine,Mehrzahl^Qn7-unterbrechungskanüien^ deren jeder Eingang und Ausgang aufweista uobei uer unhang zur Aufnahme eines Unterbrechungs-Triggersignals dient und der Ausgang so angeschlQssejä Isfe^ daß ein Zugriff zu einer bestimmtenj. einaig diesem/Üfetter* ' ' brechun^skanal zugeordneten Speicherzelle !'bewirkt wird, sowie eine Einrichtung, welche auf den Inhalt?, der bestimmten Speicherzelle anspricht, deren j swells zugeordneter' Ünterbrechun.cskanal an seinem' Eingang getrlggert wurde 3 um Insbesondere den in dem Anzeigeregister gehaltenen Kode zu ändern. : :, ' - - ',.- ,
    3*· Bechenanlafe nach Anspruch Yf3 dadurch gekennzeichnet, ■·■■ daß die letzte Einrichtung desselben eine erste Einrichtung zur ersten Speicherung eines Anzelgeregisterlcodes in einer zweit en j programmierbaren Speicherzelle sovile eine zv/elte Elnricnturif: zum nachfolgenden Ablesen eines anderen Kodes r<.u:> eirer clrltt'en fj-ofrarir.ilerbaren Speicherzelle und zum
    ΤΌ98 1Λ/166 3 - Schroibon BAD ORIGINAL
    Schreiben desselbenin das Anzeigeregister aufweist.
    Rechenanlage nach Anspruch 37 s gekennzeichnet durch eine Einrichtung zum Halten von charakteristischen Steuerdaten des laufenden,- auszuführenden Programms, wobei die genannte letzte Einrichtung eine gleichzeitig mit der ersten und " zweiten Einrichtung betätigte Einrichtung zur Speicherung dleaer Daten im Speicher und zum Einsetzen eines neuen Satzes von charakteristischen Steuerdaten aufweist. ·
    Allzweck-Rechenanlages gekennzeichnet durch einen Speieher mit einer Mehrzahl von einzeln adressierbaren Speicher-': zellen zur Speicherung von Befehlsdarstellungen und Operanden, wobei der Speieher in Seiten unterteilt ist und jede Speicherzelle durch eine Seitenadresse und durch eine innere Seitenadresse gekennzeichnet und adressierbar ist, die Befehle einen Operationskode enthalten und einige der Befehle einen vollständigen Speieheradressenkode und einen Registerkode enthalten, eine Mehrzahl von Unterbrechungskanälen, deren jeder zur Aufnahme eines Unterbrechungs-Fordersignals dient, wobei die Kanäle miteinander verbunden sind, um eine Vorrangreihenfolge des Ansprechens der verschiedenen Kanäle hervorzurufen, und wobei ein Kanal, wenn er ein Unterbreehungs-Fordersignal überträgt, für die übertragung nur in Bereitschaft gesetzt wird, vrenn die jeweiligen Kanäle mit höherem Vorrang kein Unterbrechung
    1 0 9 8 U / 1 6 6 3 Vordersif-nal
    BAD OHiGiNAt
    yprdersignal erhalten haben, eine Zugriffsteuereinrlchtung zur Erzeugung von Adressensignalen für den Speicher, um eine Speieherzelle entsprechend dem erzeugten Adressensignal aufzusuchen, mit einem Programmzähler, um ein Reihenfolge die Erzeugung Von Adressensignalen zum Aufsuchen von Befehle enthältenden Speicherzellen'zu bewirken, sowie mit einer Einrichtung, weiche einzeln auf übertragene Unterbrechungs-Fordersignale anspricht, um Speicherzellen aufzusuchen, welche jeweils einzeln den Unterbrechungskanälen zugeordnet sind, eine Mehrzahl von einzeln adressierbaren Speicherregistern, v/ob ei jedes Register durch einen Anzeigekode adressierbar ist, wenn dieser zusammen mit einem durch einen Befehl erzeugten Registerkode genommen \fird, ein Anzeigeregister zum Kalten einer Darstellung des laufenden, austauschbaren Anzeigekodes, "welcher arbeitsmäßig eine Gruppe der Speicherregister zur einzelnen Adressierung über den Registerkode vorbereitet, wobei eine Änderung des Anzeigekodes die so vorbereitete Gruppe ändert, eine Kappingeinrichtung, welche wahlweise auf die Adressensignale anspricht, um die in einem von der Steuereinrichtung erzeugten Adressensignal enthaltene Seitenadresse entsprechend einem programmierbaren Muster zu ändern, eine Hehrzahl von Steuerelementen zur Steuerung der Verwendung der Mappingeinrichtung und zur Erzeugung von Zugriffbeschränkungen zu den Speicherzellen, sowie eine Einrichtung, welche auf den Operationskode eines aus dem Speicher in- Abhängigkeit von einem Unter-
    BAD.OWQWAL 1098 U/1663 -.
    breChungs-EOrdersignal entnommenen Befehls ansprechen, welcher durch einen in Bereitschaft gesetzten Unterbrechungskanal übertragen wurde, um die Zugriffsteuereinrichtung zum in der Reihenfolge verlaufenden Aufsuchen einer geraden Mehrzahl von Speicherzellen zu betätigen und in der ersten Hälfte der letzteren Mehrzahl Statussignale der Mehrzahl von Steuerelementen, den laufenden Anzeigekode und den Inhalt des Programmzählers aufzuzeichnen und Statussignale, einen Kode und eine Zahl aus der zweiten Hälfte der letzteren Mehrzahl abzulesen und das Setzen der Statussignale in die Steuerelemente, das Setzen des Kodes in das Anzeigeregister und das Setzen der Zahl in den Programmzähler zu.bewirken.
    4<L, Digitale Allzweck-Rechenanlage, gekennzeichnet durch einen Speicher mit einer Mehrzahl von adressierbaren Speicherzellen, eine Einrichtung zur Verarbeitung von Information entsprechend einem vorbestimmten Programm von in dem Speicher gespeicherten Befehlen, -wobei die Verarbeitung" von Operanden ebenfalls im Speicher gespeichert ist, eine Einrichtung zur Erzeugung von Zeitgebersignalen in regelmäßigen Abständen, eine Einrichtung. Vielehe auf die Zeitgebersignale anspricht und zeitweise die Ausführung des Programms aufhebt, um eine bestimmte Speicherzelle aufzusuchen und aus dieser einen bestimmten Befehl abzulesen,, sowie eine Einrichtung, welche in der Verarbeitungseinrichtung enthalten ist und auf den
    10 9 8 14/1663 jeweiligen
    BAD ORIGINAL
    ■ - 177 -
    jeweiligen Befehl anspricht, um denselben durch Umdatiereih eines in einer bestimmten Zelle enthaltenen Operanden vor und nach Ausführung des jeweiligen Befehls auszuführen ·' und eine Wiederaufnahme des ausgesetzten Programms nach der Ausführung zu bewirken.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren InformationsSignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch Verarbeitungseinrichtungen,, eine Speichereinrichtung mit langsamem Zugriff3 welche· durch eine Steuereinrichtung mit langsamem Speicherzugriff mit den Verarbeitungseinrichtungen zu verbinden ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst durch eine Gruppe von Auswahleinrichtungen mit den Verarbeitungseinrichtungen verbindbar ist> die Gruppenauswahleinrichtung auf eine wahlfrei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt mit den Verarbeitungseinrichtungen unabhängig von den Steuereinrichtungen mit langsamem Speicherzugriff zu verbinden, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationsaignalen ansprechen, Unterbrechungssteuereinrichtungen zum Unterbrechen der gerade verarbeiteten Gruppe von Informationssignalen, um eine Gruppe von Informatlonssignalen mit höherem Vorrang
    BAD ORIGINAL 1098U/1663 entsprechend
    entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals und zum direkten Verbinden mit der Verarbeitungseinrichtung unabhängig von der Zugriff einrichtung für den langsamen Speicher einer besonderen langsamen Speicherzelle aufweist, welche der
    die
    Unterbrechungseinrichtung zugeordnet ist, auf die /· Unterbrechungssteuereinrichtung anspricht, und wobei die besondere Speicherzelle eine Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der der Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, eine Einrichtung zur Speicherung von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten, der Gruppe von Informationssignalen zugeordneten Befehlssignals zum Zeitpunkt des Anhaltens der Verarbeitungseinrichtung vom Äußeren der Gruppe her darstellt, um zu bewirken, daß diese Gruppe von Informationssignalen ohne Zwischenraum und Fehler die Verarbeitung beim Rückgewinn des Zugriffs zur Verarbeitungseinrichtung wieder aufnimmt.
    1098 U/1663
    BAD ORIGINAL
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche mit der Verarbeitungseinrichtung durch Steuereinrichtungen mit langsamem Speicherzugriff verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zügriff, wobei jede Gruppe wahlweise durch sich selbst durch eine Gruppenauswahleinrichtung mit der Verarbeitungseinrichtung verbindbar ist, die Gruppenauswahleinrichtung auf eine wahlfrei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung zu verbinden;, eine Mehrzahl von Unterbrechungseinrichtungen, um auf eine Mehrzahl von äußeren Informationssignalen anzusprechen, eine Unterbreehungssteuereinrichtung zur Unterbrechung der Gruppe von gerade verarbeiteten Informationssignalen., um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorhang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimnrt ist^ wobei die Unterbrechungssteuereinrichtung eine 'Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignales aufweist, um unabhängig von
    1098 1.4/ 1663 der
    BAD OBIGINÄL
    der langsamen Speicherzugriffeinrichtung eine besondere, langsame, der Unterbrechungseinrichtung,, auf welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle der Verarbeitungseinrichtung anzuschließen, und wobei die besondere Speicherzelle Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungs· einrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt.
    . Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren InformationsSignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche durch eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungsein-
    ' richtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei Jede Gruppe uurch sich selbst durch eine Gruppenauswahleinrichtung mit der Verarbeitungseinrichtung wahlweise verbindbar ist, die Gruppenauswahleinriehtung auf eine wahlfrei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von der Steuereinrichtung mit langsamem Speicher-
    zugriff 1098U/1663
    BAD ORIGINAL
    zugriff rait der Verarbeitungseinrichtung verbindbar macht, einer Supervisoreinrichtung zur gleichzeitigen Verarbeitung einer ilehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis s wobei diese Einrichtung eine Zeitteilereinrichtung sowie eine auf die Zeitteilereinrichtung ansprechende Einrichtung aufweist, um durch die Steuereinrichtung mit langsamem Speicherzugriff;für jede Gruppe von InformationsSignalen eine Speichereinrichtung wahlweise aufzusuchen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtung einschlie£lich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darstellt, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von f'.ußeren Informationssignalen ansprechen, Unterbrechunr-ssteuereinrichtungen zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von Informationssignaien mit höherem Vorrang entsprechend dem äußeren Signal mit höchsten Vorrang zu verarbeiten, wobei die Priorität' des äußeren Signals durch die Art des Anschlusses der Unterbrechungs'einrichtung vorbestinmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befohla&ignals aufweist, um unabhängig von der Einrichtung r.iit langsamem Speicherzugriff eine besondere, der Unter-, brechunoseinrichtung,-auf welche die Unterbrechungssteuer-
    1098 U/ 166 3 einrichtung
    BADORSGSNAL
    einrichtung anspricht, zugeordnete Speicherzelle mit langsamem Zugriff an die Verarbeitungseinrichtung direkt anzuschließen, und wobei die besondere Speicherzelle mit langsamem Zugriff, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich' der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, und durch Einrichtungen zur Speicherung von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, das der Gruppe von InformationsSignalen zum Zeitpunkt des Anhaltens der Verarbeitung vom Äußeren der Gruppe her zugeordnet ist, um zu bewirken, daß diese Gruppe von Informationssignalen ohne Zwischenraum und Fehler beim Wiedergewinn des Zugriffs zur Verarbeitungseinrichtung die Verarbeitung wieder aufnimmt.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen
    109814/-1663
    BAD ORlGlNAl
    .von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst über eine Gruppenauswahleinrichtung mit der Verarbeitungseinrichtung verbindbar ist, wobei die Gruppenauswahleinrichtung auf eine wahlfrei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar zumachen, eine Supervisoreinrichtung zur gleichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung und eine auf die Zeitteilereinrichtung ansprechende Einrichtung aufweist, um über die Einrichtung mit langsamem Speicherzugriff für jede Gruppe von Informationssignalen eine Speichereinrichtung wahlweise anzuschließen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darste.llt, eine Mehrzahl von Unterbrechungseinrichtungen, Vielehe auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zum Unterbrechen der gerade verarbeiteten Gruppe von Informationssignalen, um eine Gruppe von Informationssignalen mit
    BAD ORIGINAL
    höherem 1098 14/1663
    höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten.,, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine bestimmte, der Unterbrechungseinrichtung, auf welche die Unterbreehungssteuereinrichtung anspricht, zugeordnete Speicherzelle m.it langsamem Zugriff direkt an die Verarbeitungseinrichtung anzuschließen, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält, Vielehe einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignales der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, eine Einrichtung zum Speichern von Digitalinformation, vrelche den Steuersfeatus der Verarbeitungseinrichtung einschließlich 'der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von Informationssignalen zum Zeitpunkt des Anhaltens der Verarbeitung durch eine außerhalb der Gruppe gelegene Einrichtung zugeordnet ist, um zu bewirken, daß diese Gruppe von Informationssignalen ohne Zwischenraum und Pelüler beim Wiedergewinn des Zugriffs
    - zur
    1098U/1663
    BAD ORIGrNAL
    zur Verarbeitungseinrichtung die Verarbeitung wieder '■ \ aufnimmt, sowie eine Einrichtung zum Aufsuchen der Mehrzahl von Gruppen von Informationssignalen in neuen Zellen in Abhängigkeit von Zellenadressiersignalen zum Aufsuchen von Daten bei ursprünglichen Zellenadressen, wobei die Aufsucheinrichtung eine zweite Mehrzahl von Speicherzellen mit schnellem Zugriff mit Zellenadressen aufweist, welche den Zahlen innerhalb des Bereichs von Adressen entsprechen, die durch einen ersten Teil eines Zellenadressiersignals adressierbar sind, und wobei die Ati£sucheinrichtung weiter eine übertragungseinrichtung zum automatischen Ersetzen des ersten Teils eines Zellenadressiersignals mit dem Inhalt der Speicherzelle mit schnellem Zugriff aufweist, v;elche dem Wert des ersten Teils des Zellenadressiersignals entspricht, um zu bewirken, daß die Aufsucheinrichtung die dem abgeänderten Zellenadressiersignal entsprechende Zelle aufsucht.
    Digitale Rechenanlage zum Verarbeiten von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, Vielehe über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtüng verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen
    zellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst über eine Gruppenauswahleinriehtung wahlweise mit der Verarbeitungseinrichtung verbindbar ist, die Gruppenauswahleinriehtung auf eine wahlfrei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar zu machen, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, wobei die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine besondere, der Unterbrechungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle mit langsamem Zugriff direkt der Verarbeitungseinrichtung anzuschließen, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der mit dieser Unterbrechung verbundenen Informationsgruppe darstellt.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von ge-
    1098U/1663 - », * ■
    speicherten
    speicherten Befehlssignalen,· gekennzeichnet durch eine ■Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche Über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst' über eine Gruppenauswahlein-■ richtung mit der Verarbeitungseinrichtung wahlweise verbindbar ist, die Gruppenauswahleinrichtung auf eine wahlfrei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar au machen, sowie eine Supervisoreinrichtung zur gleichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung sowie eine auf die Zeitteilereinrichtung ansprechende Einrichtung auf weist a .um-über diese Einrichtung mit langsamem Speicherzugriff für. jede Gruppe von Informationssignalen eine, Speichereinrichtung wahlweise anzuschließen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus --der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informations· Signalen'darstellt.
    ■ ' üii. '
    109814/1663
    BAD ORIGINAL
    ψ!ΐ WK Digitale Rechenanlage, gekennzeichnet durch eine erste Einrichtung zur Erzeugung von Signalangaben, Vielehe eine erste Anzahl von Quantitäten darstellen, eine zweite Einrichtung zur Erzeugung von Signalangaben, welche verschiedene Operationen darstellen, welche an den Quantitäten auszuführen sind, wobei mindestens einige der Operationen eine Reihe von Schritten erfordern, eine dritte Einrichtung, welche mit der zweiten Einrichtung arbeitsmäßig gekoppelt ist, zum Auswählen von ersten einzelnen Operationen und ersten einzelnen Quantitäten, an welchen die einzelnen Operationen auszuführen sind, eine vierte Einrichtung, welche arbeitsmäßig mit der ersten, zweiten und dritten Einrichtung gekoppelt ist, um die ersten einzelnen Operationen an den ersten einzelnen Quantitäten auszuführen, eine fünfte Einrichtung zum Bewirken einer Auswahl von zweiten einzelnen Operationen und zweiten einzelnen Quantitäten, an welchen die zweiten einzelnen Operationen auszuführen sind, eine sechste Einrichtung zum Bewirken der Unterbrechung der ersten einzelnen Operationen bei der Auswahl der zweiten einzelnen Operationen sowie eine siebente Einrichtung, um periodisch das Arbeiten der fünften Einrichtung zum Auswählen der zweiten einzelnen Operationen und der zweiten einzelnen Quantitäten zu "bewirken.
    ■ 4gv Digitale Rechenanlage zur Verarbeitung von gespeicherten
    109814/1663 —
    BAD OBICUNAL
    und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine · Verarbeitungseinrichtung,' eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung · mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar sind, eine erste Mehrzahl von Gruppen . von Speicherzellen mit schnellem Zugriff, eine Mehrzahl \
    ■■■-■■ - - - i
    von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang j zu verarbeiten, wobei der Vorrang des äußeren Signals : durch die Art des Anschlusses der Unterbrechungseinrichtung j vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade aus- f geführten Befehlssignales aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine besondere., der Unterbrechungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, augeordnete Speicherzelle mit langsamem Zugriff direkt mit der Verarbeitungseinrichtung zu verbinden, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält, welche einen vorbestimmten Steuerst at us der mit dieser Unterbrechungseinrichtung ver-
    109814/1663 bundenen
    BAD OPJQfMAL ~ ~~
    bundenen Verarbeitungseinrichtung einschließlich der Zelle.des nächsten Befehlssignals der mit dieser Unterbrechung verbundenen Informationsgruppe darstellt, sowie eine Einrichtung zum Speichern von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, welches nit der Gruppe von Informationssignalen zu dem Zeitpunkt des Anhaltens der Verarbeitung durch eine außerhalb der Gruppe gelegene Einrichtung verbunden ist, um zu bewirken, daß diese Gruppe von Informationssignalen beim VJiedergewinn des Zugriffs zu der Verarbeitungseinrichtung die Verarbeitung ohne Zwischenraum und Fehler wieder aufnimmt.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von ge speicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zum Unterbrechen der gerade verarbeiteten Gruppe von Informationssignalen, um eine
    iO98U/iee3 Gruppe
    Gruppe von InformationsSignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei άέτ Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine besondere, mit der Unterbrechungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, verbundene Speicherzelle mit langsamem Zugriff direkt an die Verarbeitungseinrichtung anzuschließen, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält,, welche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der mit dieser Unterbrechung verbundenen Informationsgruppe darstellt, eine Einrichtung zur Speicherung von Digitalinformation, welche den Steuerstatus der Verarteitan^seinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von Informationssignalen zum Zeltpunkt des Anhaltens der Verarbeitung durch eine außerhalb der Gruppe gelegene Einrichtung zugeordnet ist, um zu bewirken, daß diese Gruppe von InformationsSignalen beim Wiedergewinn des Zugriffs zu der Verarbeitungseinrichtung die Verarbeitung
    μ * -> ohne
    bador,g,nal 1098U/1663
    ohne Zwischenraum und Fehler wieder aufnimmt, sowie eine Einrichtung zur wahlweisen Deutung von Informationssignalen, welche in dieser Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff als Vielfache und Teiler von solchen Informationssignalen in Abhängigkeit von einem ersten Teil eines Befehlssignals gehalten werden.
    5d. Digitale Rechenanlage zur Verarbeitung von gespeicherten und äuferen Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zum Unterbrechen der gerade verarbeiteten Gruppe von Informationssignalen, um eine Gruppe von Informationssignalen mit höherem Vorrang ent-, sprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der
    Einrichtung 1 0 9 8 U / 1 6 6 3
    BAD ORIGINAL
    .- 193 -
    Einrichtung mit langsamem Speicherzugriff eine besondere,; der Unterbrechungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle mit langsamem Zugriff direkt mit der Verarbeitungseinrichtung zu verbinden, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält, x-ielche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, eine Einrichtung zur Speicherung von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssij:nals darstellt, welches der Gruppe von Informationsaignalen zu dem Zeitpunkt des Anhaltens der Verarbeitung durch eine außerhalb der Gruppe gelegene Einrichtung zugeordnet ist, um zu bewirken, daß diese Gruppe von Informationssignalen beim Wiedergewinnen des Zugriffs zu der Verarbeitungseinrichtung ohne Zwischenraum und Fehler die Verarbeitung wieder aufnimmt, sowie eine Einrichtung zum Aufsuchen dieser Mehrzahl von Gruppen von Informations-Signalen in neuen Zellen in Abhängigkeit von Zellenadressiersignalen zum Aufsuchen von Daten an ursprünglichen Zellenadressen, wobei die Aufsucheinrichtung eine zweite Mehrzahl von Speicherzellen mit schnellem Zugriff aufweist, welche Zeilenadressen entsprechend" Zahlen Innerhalb des
    Bereiches 1098U/1663
    BAD ORIGINAL
    Bereiches von Adressen besitzen, die durch einen ersten Teil eines Zellenadressiersignals adressierbar sind, und wobei die Aufsucheinrichtung eine übertragungseinrichtung zum automatischen Ersetzen des ersten Teiles eines Zellenadressiersignals durch den Inhalt der Speicherzelle mit schnellem Zugriff entsprechend dem Wert des ersten Teils des Zellenadressiersignals aufweist, um zu bewirken, daß die Aufsucheinrichtung die dem abgeänderten Zellenadressiersignal entsprechende Zelle aufsucht.
    Jy£, Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, eine Supervisoreinrichtung zur gleichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung und eine auf die Zeitteilereinrichtung ansprechende Einrichtung aufweist, um über diese Einrichtung mit schnellem Speicherzugriff für Jede Gruppe von Informationssignalen eine Speichereinrichtung wahlweise aufzusuchen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungs·
    1098U/1663 einrichtung
    einrichtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darstellt, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zur Unterbrechung der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt 1st, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignales aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine besondere, mit der Unterbrechungseinrichtung, auf welche die Untjerbrechungssteuereinrichtung anspricht, verbundene Speicherzelle mit langsamem Zugriff direkt an die Verarbeitungseinrichtung anzuschließen, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, sowie eine Einrichtung zur Speicherung
    von BAD ORIGINAL
    1098U/1663
    von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von Informations-Signalen zu dem Zeitpunkt des Anhaltens der Verarbeitung; durch eine außerhalb dieser Gruppe gelegene Einrichtung zugeordnet ist, um zu bewirken, daß diese Gruppe von Informations-Signalen beim Wiedergewinn des Zugriffs zu der Verarbeitungeinrichtung ohne Zwischenraum und Fehler die Verarbeitung· wieder aufnimmt.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren InformationsSignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, Vielehe über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Kehrzahl von Gruppen von.Speicherzellen mit schnellem Zugriff, eine Supervisoreinrichtunp zur "leichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung und eine e.uf die Seitteilereinrichtung ansprechende Einrichtung aufweist,, um über die Einrichtung mit langsamem Speicherzugriff für jede Gruppe von Informationssignalen eine Speichereinrichtung wahlreise anzuschließen, welche Digitalinformation enthalt, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtunc einschließlich der Zelle des nächsten Eefehlssirnals für diese
    109814/1663 Gruppe
    BAD ORIGINAL
    Gruppe von Informationssignalen darstellt, eine Mehrzahl von Unterbrechungseinrichtungen, Vielehe auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zur Unterbrechung . der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von InformationsSignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtunr: vorbestimmt ist, die Unterbreehungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des r-erao.e ausgeführten Befehlssignales aufweist, um unabhüngig von der Einrichtung mit langsamem Speieherzugriff eine bestimmte, mit der Unterbrechungseinrichtung, auf Vielehe die Unterbrechungssteuereinrichtung anspricht, verbundene Speicherzelle mit langsamem Zugriff direkt mit aer Verarbeitungseinrichtung zu verbinden, und wobei .die bestimmte Speicherzelle mit langsamem Zugriff Digitalinfornation enthält, welche einen vorbestimmten Steuerstatus aer mit dieser ünterbrechungseinrichtung verbundenen Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der mit dieser Unterbrechung verbundenen Infornationsgruppe darstellt, eine Einrichtung zur Speicherung von Dißitalinformatlon, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten
    Befehlssignals BAD ORIGINAL 109814/1863
    Befehlssignals darstellt, welche der Gruppe von Informations-Signalen zum Zeitpunkt des Anhaltens der Verarbeitung durch eine außerhalb dieser Gruppe gelegenen Einrichtung zugeordnet ist, um zu bewirken, daß diese Gruppe von Informationssignalen beim Wiedergewinnen des Zugriffs zu der Verarbeitungseinrichtung ohne Zwischenraum und Fehler die Verarbeitung wieder aufnimmt, sowie eine Einrichtung, welche auf einen Teil eines Zellenadressiersignals anspricht, um wahlweise eine Zugriffbeschränkung zu einer Gruppe von Speichereinrichtungen zu bewirken.
    £3 $%. Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, eine Supervis_oreinrichtung zur gleichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung und eine auf die Zeitteilereinrichtung ansprechende Einrichtung aufweist, um über die Einrichtung mit langsamem Speicherzugriff für jede Gruppe von Informationssignalen eine Speichereinrichtung
    wahlweise
    1098 U/ 1663 mO ORIGINAL
    _ 199 -
    wahlweise anzuschließen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darstellt, eine Mehrzahl von unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren InformationsSignalen ansprechen, eine Unterbrechungssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von InformationsSignalen mit einem höheren Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten,' wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine bestimmte, der Unterbrechungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht; zugeordnete Speicherzelle mit langsamem Zugriff direkt an die Verarbeitungseinrichtung anzuschließen, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehls signals" der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, eine Einrichtung
    BAD ORIGINAL
    zur 109814/1663
    zur Speicherung von Digitalinformation, welche den Steuerstatus der "Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von InformationsSignalen zum Zeitpunkt des Anhaltens der Verarbeitung durch ein außerhalb der Gruppe gelegenes Mittel zugeordnet ist, um zu bewirken, daß diese Gruppe von Informationssignalen beim Wiedergewinnen des Zugriffs zu der Verarbeitungseinrichtung die Verarbeitung ohne Zwischenraum und Fehler wieder aufnimmt, eine Einrichtung zum Aufsuchen dieser Mehrzahl von Gruppen von Informationssignalen in neuen Zellen in Abhängigkeit von Zellenadressiersignalen zum Aufsuchen von Daten an ursprünglichen Zellenadressen, wobei die Aufsucheinrichtung eine zweite Mehrzahl von Speicherzellen mit schnellem Zugriff enthält, welche Zellenadressen entsprechend Zahlen innerhalb des Bereiches von Adressen aufweisen, die durch einen ersten Teil eines Zellenadressiersignals adressierbar sind, und wobei die Aufsucheinrichtung eine übertragungseinrichtung zum automatischen Ersetzen des ersten Teiles eines Zellenadressiersignals durch den Inhalt der Speicherzellen mit schnellem Zugriff entsprechend dem Viert des ersten Teils des Zellenadressiersignals aufweist, um zu bewirken, daß die Aufsucheinrichtung die Zelle entsprechend den abgeänderten Zellenadressiersignal aufsucht, sowie durch eine Einrichtung zum wahlweisen Deuten von InformationsSignalen, welche in der Mehrzahl von Gruppen von Speicherzellen mit
    schnellem 1098U/166 3
    BAD ORIGINAL
    schnellem Zugriff als Vielfache und Divisoren solcher ". Informationssignale in Abhängigkeit von einem ersten Teil eines Befehlssignals gehalten werden.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten ._ und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst über eine Gruppenauswahleinrichtung wahlweise an die Verarbeitungseinrichtung an-■schließbar ist, die Gruppenauswahleinrichtung auf eine frei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtunc verbindbar zu machen, eine Supervisoreinrichtung zur gleichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationsslnnalen auf einer Zeitteilerbasis, wobei 'iiese Linrichtung eine Zeitteilereinrichtung und eine auf ale Zeitteilereinrichtunc ansprechende Einrichtung aufweist, UKi über die Einrichtung mit langsamem Speicherzu-■,riff für Jede Gruppe von Informationsaignalen eine Speicher-
    BAD ORIGINAL 1 0 9 8 U / 1 6 6 3 einrichtung
    einrichtung wahlweise anzuschließen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignales für diese Gruppe von Informationssignalen darstellt, sowie eine Einrichtung zur wahlweisen Deutung von InformationsSignalen, welche in dieser Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff als Vielfache und Teiler dieser Informationssignale in Abhängigkeit von einem ersten Teil eines Befehlssignals gehalten werden.
    . Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren InformationsSignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst über eine Gruppenauswahleinrichtung wahlweise mit der Verarbeitungseinrichtung verbindbar ist, wobei die Gruppenauswahleinrichtung; auf eine frei wählbare Informationssignaleinrichtung anspricht, Vielehe geeignet ist, eine Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar zu machen, eine Supervisoreinrichtung zur gleich
    zeitigen 10 98 U/1863
    BAD ORIGINAL
    zeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung und eine auf die Zeitteilereinrichtung ansprechende Einrichtung aufweist, um über die Einrichtung mit langsamem Speicherzugriff für jede Gruppe von Informationssignalen eine Speichereinrichtung wahlvieise aufzusuchen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinriehtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darstellt, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine ünterbrechungssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von Informationssignalen rl.^ höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignales aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine bestimmte, der Unterbreehungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle mit langsamem Zugriff direkt an die Verarbeitungseinriehtung anzusehließen, und
    wobei BAD ORIGINAL 1098H/1663
    wobei die bestimmte Speicherzelle mit langsamem Zugriff Digitalinformation enthält, welche einen bestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten BefehlsSignalenj gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zum unterbrechen der Gruppe von gerade verarbeiteten Informations-Signalen, um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit der: höchsten Vorrang zu verarbeiten, vrobei der Vorrang dos äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechung Steuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speiclierzugriff eine bestimmte, der Unterbrechungseinrichtung, auf
    1098U/1663
    v; el ehe BAD ORIGINAL
    • - 205 -
    welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle mit langsamem Zugriff direkt an die Verarbeitungseinrichtung anzuschließen, und wobei die bestimmte Speicherzelle mit langsamem Zugriff Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der dieser Unterbreehungseinrichtung zugeordneten Bearbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, eine Einrichtung zur ,Speicherung von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von InformationsSignalen zu dem Zeitpunkt des Anhaltens der Verarbeitung durch ein außerhalb dieser Gruppe ^ele^enes Hittel zugeordnet ist, um zu bewirken, daß diese Gruppe von Informationssignalen beim Wiedergewinnen des Zugriffs zu der Verarbeitungseinrichtung die Verarbeitung ohne Zwis&enraum und Fehler wieder aufnimmt, sowie eine Einrichtung zum Aufsuchen der Mehrzahl von Gruppen von Informationssignalen in neuen Zellen in Abhängigkeit von ZellenadresGiernicnalen zum Aufsuchen von Daten an ursprünglichen Zellenadresüen/ wobei die Aufsucheinrichtung eine . ichrzahl von Speicherzellen mit schnellem Zugriff aufweist, vrelche Zellenariressen besitzen, die Zahlen innerhalb des üereichea von Adressen entsprechen, welche durch einen ersten Teil einen Zollßnadre-ßsierslnnals adre3slerbar sind, und wobei
    BAD ORlGiMA^ ^ ο T 4 / 1 6 6 3 "
    diese Aufsucheinrichtung eine Übersetzungseinrichtung zum automatischen Ersetzen des ersten Teiles eines Zellenadressiersignals durch den Inhalt der Speicherzelle mit schnellem Zugriff entsprechend dem Wert des ersten Teils des Zellenadressiersignals aufweist, um zu bewirken, daß die Aufsucheinrichtung die dem abgeänderten Zellenadressiersignal entsprechende Zelle aufsucht.·
    \ Digitale Rechenanlage zur Verarbeitung von gespeicherten uüd äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff so schaltbar ist, daß der Zugriff zu der Verarbeitungseinrichtung hergestellt wird, eine erste Hehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst Über eine Gruppenaus-: ■wähleinrichtung so schaltbar ist, daß der Zugriff zu der Verarbeitungseinrichtung hergestellt wird, die Gruppenauswähleinrichtung auf eine frei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff gleichzeitig unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff so zu schalten, daß der Zugriff zu der Verarbeitung^ einrichtung hergestellt wird, eine Supervisoreinrichtung zur gleichzeitigen Verarbeitung einer !lehrzahl von Gruppen von Informationssignalen auf
    einer 1098U/ 1663
    BAD ORIGJNAL
    einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung; und eine auf die Zeitteilerein-. richtung ansprechende Einrichtung aufweist, um über die Einrichtung: mit langsamem Speicherzugriff für jede Gruppe von Inforinationssignalen eine Speichereinrichtung wahlweise aufzusuchen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darstellt, eine Einrichtung zum Aussuchen dieser Mehrzahl von Gruppen von Informationssignalen in neuen Zellen in Abhängigkeit von Zellenadressiersignalen zum Aussuchen von Daten und der ursprünglichen Zellenadressen, wobei diese Aussucheinrichtung eine zweite Hehrzahl von Speicherzellen mit schnellem Zugriff aufweist, Vielehe Zellenadressen besitzen, die Zahlen innerhalb des Bereiches von Adressen besitzen, die Zahlen innerhalb des Bereiches von Adressen entsprechen, welche durch einen ersten Teil eines Zellenadressiersignals adressierbar sind, und ifobei diese Einrichtung eine Übersetzungseinrichtung zum automatischen Ersetzen des ersten Teils eines Zellenadressiersignals durch den Inhalt der Speicherzelle mit schnellem Zugriff entsprechend dem Wert des ersten Teils des Zellenadressiersignals aufweist, um zu bewirken, daß die Aufsucheinrichtung den Zugriff zu der dem abgeänderten Zellenadressiersignal entsprechenden Zelle herstellt.
    '109814/1663 BAD
    5g. Digitale Rechenanlage zur Verarbeitung von gespeicherter: und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch einen Processor, einen Speicher mit langsamem Zugriff, welcher durch eine Steuereinrichtung mit langsamem Speicherzugriff mit dem Processor verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, eine Mehrzahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informations Signalen ansprechen., eine Unterbrechungssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeitenj wobei der Vorrang des· äußeren Signals durch die Art des Anschlusses der ünterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine bestimmte, der Unterbrechungseinrichtung, auf welche die Unterbrechungsteuereinrichtung anspricht, zugeordnete Speicherzelle mit langsamem Zugriff so zu schalten, daß ein direkter Zugriff zum Processor hergestellt wird, und wobei die besondere Speicherzelle Digitalinformation enthält, welche einen vorbestimmten Steuerstatus des dieser Ünterbrechungseinrichtung zugeordneten Processors einschließlich der Zelle des
    nächsten 1098U/1663
    BAD ORIGINAL
    nächsten Befehls-signals der dieser Unterbrechung zugeordneten Informat!onsgruppe darstellt, eine Einrichtung zur Speicherung von Digitalinformation, welche den Steuerstatus des Processors einschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von Informationssignalen zum Zeitpunkt des Anhaltens der Verarbeitung durch Mittel außerhalb dieser Gruppe zugeordnet ist j urn-zu bewirken., daß diese Gruppe von Informationssicnalen nahtlos und fehlerlos beim Wiedergewinnen des Zugriffs zum Processor die Verarbeitung wieder aufnimmt, sowie eine Einrichtung, Vielehe auf einen Teil eines Zellenadressiersipnals anspricht, um wahlweise eine Zugriffbeschränkung zu einer Gruppe von Speichereinrichtungen zu bewirken.
    •e*. Digitale riechenanlaree zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitunjseinrichtung, eine Speichereinrichtung mit langsamem Zugriff. Vielehe über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zurriff, eine Mehrzahl von Unterbrechungseinrichtunp.e-n, welche auf eine Mehrzahl von äußeren Informationssi: nalen ansprechen., eine Unterbrechungssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten In-. forniatlonasicnalen, um eine Gruppe von Informationssignalen
    mit
    1098U/166 3 bad original
    mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist3 eine zusätzliche Einrichtung, Vielehe durch eine Gruppe von innerlich gespeicherten Inforniationssignalen gesteuert wird, um wahlweise den Operationsstatus von einzelnen Unterbrechungseinrichtungen zu steuern, wobei die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine bestimmte, der Unterbrechungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle mit langsamem Zugriff direkt mit der Verarbeitungseinrichtung zu verbinden, und wobei die besondere Speicherzelle mit langsamem Zugriff Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe darstellt, sowie eine Einrichtung zur Speicherung von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von Informationssignalen zum Zeitpunkt des Anhaltens der Verarbeitung durch eine außerhalb dieser Gruppe
    gelegene 1098U/1663
    BAD
    gelegene Einrichtung zugeordnet ist und den relativen Vorrang dieser Gruppe von Informationssignalen gegenüber Gruppen von InformationsSignalen, welche von dieser Unterbrechungseinrichtung empfangen werden, und gegenüber Gruppen von Informations Signalen besitzt, Vielehe von der Supervisoreinrichtung zeitlich aufgeteilt werden, wobei die Speichereinrichtung geeignet ist, zu bewirken, daß diese Gruppe von InformationsSignalen beim Wiedergewinnen des Zugriffs zu der Verarbeitungseinrichtung nahtlos und fehlerlos die Verarbeitung wieder aufnimmt.
    6fl. Rechenanlage nach Anspruch 60, gekennzeichnet durch eine Einrichtung, welche auf einen Teil eines Zellenadressiersignals anspricht, um wahlweise eine Zugriffbeschränkung zu einer Gruppe von Speichereinrichtungen zu bewirken.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtungj eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe durch sich selbst über eine Gruppenauswahleinrichtung-mit der Ver
    arbeitungseinrichtung
    109814/1663'
    BAD ORIGINAL
    arbeitungseinrichtung verbindbar ist und die Gruppenauswähleinrichtung a.uf eine frei wählbare Informationssignaleinrichtung anspricht3 welche geeignet ist^ eine Gruppe mit schnellem Zugriff gleichzeitig unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar zu machen, eine Ilehrzahl von Unterbrechungseinrichtungen^ welche auf eine Hehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechungssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignaleri, u;ti eine Gruppe von InformationsSignalen mit einem höheren Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Eefehlssignals aufweist 3 um unabhängig von eier Einrichtung mit langsamem Speicherzugriff eine der Unterbrechungseinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle mit besonders längspmei-i Zugriff direkt mit der Verarbeitungseinrichtung zu verbinden, wobei diese Speicherzelle mit besonderem Zugriff Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der mit dieser Unterbrechungseinrichtung verbundenen Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der mit dieser Unterbrechung verbundenen
    109814/1663
    BAD ORIGIN*1-
    Informations gruppe darstellt..
    Rechenanlage nach Anspruch 62, gekennzeichnet durch eine · zusätzliche Einrichtung, welche durch eine Gruppe von . innerlich gespeicherten Informationssignalen steuerbar Ist3 um wahlweise'den Operationsstatus von einzelnen Untere brechungseinrichtungen zu steuern.
    Reehenanlage nach Anspruch 62, gekennzeichnet durch eine Einrichtung zur Speicherung von Digitalinformation, welche den Steuerstatus der Verarbeitungseinrichtung darstellt, die die Zelle des nächsten Befehlssignals, welches der Gruppe von Informationssignalen zu dem Zeitpunkt des Anhaltens der Verarbeitung durch eine außerhalb dieser Gruppe gelegene Einrichtung zugeordnet ist, und außerdem den relativen Vorrang dieser Gruppe von Informationssignalen gegenüber Gruppen von durch diese Unterbrechungseinrichtung empfangenen Informationssignalen und gegenüber Gruppen von Inforniationsgruppen einschließt, welche von der Supervisoreinrichtung zeitlich unterteilt werden, wobei die Speichereinrichtung geeignet ist, zu bewirken, daß die Gruppe von Inforrnationssignalen beim Wiedergewinnen des Zugriffs zu der Verarbeitungseinrichtung ohne Unterbrechung und fehlerlos die Verarbeitung wieder aufnimmt.
    Digitale Rechenanlage zur Verarbeitung, von gespeicherten
    und BAD ORIGINAL 10 9-8 U/16 6 3.
    und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff3 welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, wobei jede Gruppe wahlweise durch sich selbst über eine Gruppenauswahleinrichtung mit der Verarbeitungseinrichtung verbindbar ist, % die Gruppenauswahleinrichtung auf eine frei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine Gruppe mit schnellem Zugriff unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff gleichzeitig an die Verarbeitungseinrichtung anschließbar3 eine Mehrzahl von Unterbrechungseinrichtungen zum Ansprechen auf eine Mehrzahl von äußeren Informationssignalen, eine Unterbrechungssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, eine zusätzliche Einrichtung, welche durch eine Gruppe von innerlich gespeicherten Informationssignalen steuerbar ist, um den Operationsstatus von einzelnen Unterbrechungseinrichtungen wahlweise zu steuern, wobei die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Aus-
    1098U/1663 führung
    BAD ORlGJNAt
    „215- ixTXT-*!
    führung; des gerade ausgeführten Befehlssignals aufweist, tin unabhängig von der Einrichtung mit langsamem Speicherzugriff eine der ünterbrechungseinrichtunr. auf welche die ünterbrechungssteuereinriehtung anspricht, zugeordnete Speicherzelle mit besonders langsamem Zugriff direkt mit der Vercirbeituiirseinrichtung zu verbinden, und wobei die Speicherzelle mit besonderer! Zugriff Digitalinformation enthält j welche einen vorbestimmten Steuerstatus der mit dieser Unterbrechungseinrichtung verbundenen VerE-rbeitungseinrichtung darstellt, die die Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informationsgruppe enthält 3 eine Einrichtung zur Speicherung von Digitalinformation 3 welche den Steuerstatus der Verarbeitungeinrichtung darstellt, welche die Zelle des nächsten Befehlssignals enthält, das der Gruppe von Informationssignalen zum Seitpunkt des Anhaltens der Verarbeitung durch ein außerhalb dieser" Gruppe gelegenes Mittel zugeordnet ist, um zu bewirken« daß diese Gruppe von InformationsSignalen die Verarbeitung beim Wiedergewinnen des Zugriffs zu der Verarbeitungseinrichtung nahtlos und fehlerlos wieder aufnimmt, sowie- durch eine Einrichtung, welche auf einen Teil eines Zellenadressierslgnals anspricht, um wahlweise eine Zugriffbeschränkung zu einer Gruppe von Speichereinrichtungen bewirken.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten
    und 10981 kl 16 63 BADORiGiNAL
    und äußeren InformationsSignalen in Abhängigkeit von
    gespeicherten Befehlssignalen, gekennzeichnet durch
    eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen init schnellem Zugriff, wobei jede Gruppe für sich selbst über eine Gruppenauswahleinrichtung mit der Verarbeitungseinrichtung verbindbar ist, die Gruppenauswahleinrichtung auf eine frei wählbare Informationssignaleinrichtung anspricht, welche geeignet ist, eine
    Gruppe mit schnellem Zugriff unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff gleichzeitig· mit der Verarbeitungseinrichtung verbindbar zu machen, eine Supervisoreinrichtung zur gleichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtung und eine auf die Zeitteilereinrichtung ansprechende Einrichtung aufweist, um über die Einrichtung •mit langsamem Speicherzugriff für jede Gruppe von Informationssignalen eine Speichereinrichtung wahlweise
    aufzusuchen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darstellt, eine Mehrzahl
    109814/1663
    BAD OBlGlMAt
    zahl von Unterbrechungseinrichtungen, welche auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechung steuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten InformationsSignalen, um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinricutunvorbestimmt ist, eine zusätzliche Einrichtung, welche curch eine Gruppe von innerlich gespeicherten Informations signal en steuerbar ist, um wahlweise den Operationsstatus von einzelnen ünterbrechungseinrichtungen zu steuern, wobei de üntcrbrechungssteuereinriehtung eine Einrichtung zurr! Anhalten eier Ausführung des gerade ausgeführten Befehlss-if-rialsaufweist, um unabhängig von der Einrichtung r.iit-langsamem Speicherzugriff eine der Unterbrechungseinrichtung, aufweiche cJie Unterbrechungssteuereinrichtung anspricht, zugeordnete Speicherzelle mit besonders langsamem Zugriff direkt mit der Verarbeitungseinrichtung zu verbinden und uobei die Speicherzelle mit besonderem Zugriff Digitalinformation entji:lt_, welche einen vorbestimmten Steuerstatus c'.er dieser ünterbrechun^seinrichtung zugeordneten Verarbeltun^s-einrichtune: einschließlich der Zelle des nächsten Le fehls signal rs f*er diener Unterbrechung zugeordneten Inforr.ationsgruppG darstellt, eine Einrichtung zur Speicherung
    von BAD ORSGiNAL
    1098 1 Ul 166 3
    von Bigitalinformation, welche den Steuerstatus der Verarbeit-ungseinrichtung einschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von Informations-Signalen zum Zeitpunkt des Anhaltens der Verarbeitung durch eine außerhalb dieser Gruppe gelegene Einrichtung zugeordnet ist, und weiter einschließlich des relativen Vorrangs dieser Gruppe von Informationssignalen gegenüber Gruppen von durch diese Unterbrechungseinrichtung empfangenen Informations Signalen und gegenüber Gruppen von Informationsgruppen, welche durch die Supervisoreinrichtung zeitlich aufgeteilt v/erden, wobei- die Speichereinrichtung geeignet ist, zu bewirken, daß diese Gruppe von Informationssignalen beim Wiedergewinn des Zugriffs zu der Verarbeitungseinrichtung die Verarbeitung nahtlos und fehlerlos wieder aufnimmt, sowie durch eine Einrichtung, welche auf einen Teil eines Zellenadressiersignals anspricht 3 um wahlweise- eine Zugriffbeschränkung zu einer Gruppe von Speichereinrichtungen zu bewirken.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren InformationsSignalen in Abhängigkeit von gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamen Speicherzugriff mit der Verarbeitungseinrichtung verbindbar ist, sowie durch eine erste Mehrzahl von Gruppen von Speicherzellen T0 98U/1663
    BAD
    zellen mit schnellem Zugriff, wobei jede Gruppe wahlweise durch sich selbst über eine Gruppenauswahleinriehtung mit der Verarbeitungseinriehtung verbindbar ist und die Gruppenauswahleinrichtung auf eine frei wählbare Informationssignaleinrichtung anspricht 3 welche geeignet ist.> eine Gruppe mit schnellem Zugriff unabhängig von der Steuereinrichtung mit langsamem Speicher- · zugriff gleichzeitig mit der Verarbeitungseinrichtung verbindbar zu machen.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten Befehlssignalens gekennzeichnet durch eine Verarbeitungseinrichtung } eine Speichereinrichtung mit tlangsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungseinrichtung verbindbar lst2 eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, vrobei jede Gruppe durch sich selbst über eine Gruppenauswahleinrichtung wahlweise mit der Verarbeitungseinrichtung verbindbar ist und die Gruppenauswahleinrichtung auf eine frei wählbare Informationssignaleinrichtung anspricht a Vielehe geeignet ist, eine Gruppe mit schnellem Zugriff unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff gleichzeitig mit der Verarbeitungseinrichtung verbindbar zu machen,, eine Einrichtung zum Aufsuchen dieser Mehrzahl von Gruppen von Informationssignalen
    ---■■
    BADORiGIHAt 109814/1683
    in
    /neuen Zellen in Abhängigkeit von Zellenadressiersignalen ■zum Aufsuchen der Daten an aen ursprünglichen Zellenadressen, wobei die Aufsucheinrichtung eine zweite Mehrzahl von Speicherzellen mit schnellem Zugriff aufweist, welche Zellenadressen entsprechend Zahlen innerhalb des Bereiches von Adressen aufweisen, die durch einen ersten Teil eines Zellenadressiersignals adressierbar sind^und wobei diese Einrichtung weiter eine übertragungseinrichtung zum automatischen Ersetzen des ersten Teils eines Zellenadressiersignals durch den Inhalt der Speicherzelle mit schnellem ■Zugriff entsprechend dem Wert des ersten Teils des Zellenadressiersignals aufweist^ uia zu bewirken., daß c.ie Auf sucheinrichtung die dem veränderten Zellenadressiersi-nal entsprechende Zelle aufsucht.
    60. Digitale Rechenanlage zur Verarbeitung vcn gespeicherten und äußeren Informations Signalen in Abhfrigifkcit vcn gespeicherten Befehlssignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung r.it . langsamem Zugriff, welche über eine Steuereinrichtung mit ' langsamem Speicherzugriff mit der Verarbeitungscinriclitunr verbindbar istj eine erste Mehrzahl.von Crupren von Speicherzellen mit schnellem Zugriff,, wobei jede Gruppe r.urch sich selbst über eine 'Cruppenauswahleiririchtung mit der Verarbeitungseinrichtung vjahlvreise verbindbar ist und die Oruppenauswahleinrichtung auf eine frei wählbare Informations-
    signaleinrichtung
    1098 U/1663
    ' BAD ORIGINAL
    - a j
    signaleinrichtung anspricht i Vielehe geeignet ist, eine -Gruppe mit schnellem Zugriff zu einem Zeitpunkt unabhängig von c,cr Steuereinrichtung mit.langsamem Speicherzugriff mit äer Vererb ei tungs einrichtung verbindbar zu machen , sowie eine Linrichtungzum wahlweisen Deuten von Informationssi^nalen, welche in dieser liehrzahl von Gruppen von Speicherzellen "mit schnellem Zugriff als Multiple und Divisoren dieser Infornationssignale in Abhängigkeit von einem ersten Teil eines Befelilssignals gehalten werden.
    Digitale Hechenanlage zur Verarbeitung von gespeicherten una i'ufieren Informations Signalen in Abhängigkeit von gespeicherten Eefehlssignalen, gekennzeichnet durch eine Verarbeitun^seinriehtung,. eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speieherzugriff mit der Verarbeitungseinrichtung verbindbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, eine Einrichtung zum Aufsuchen der Mehrzahl von Gruppen von Informationssignalen in neuen Zellen in Abhängigkeit von Zellenadressiersignalen zum Aufsuchen der Daten an ursprünglichen Zellenadressen, wobei die Aufsucheinrichtung eine zweite Mehrzahl von Speicherzellen mit schnellem Zugriff aufweist, welche Zellenadressen entsprechend Zahlen innerhalb des Bereiches von Adressen aufweisen, die durch einen ersten Teil eines Zellenadressiersignals adressierbar sind, und wobei diese Einrichtung
    eine
    109314/1663-
    - 3t-
    eine Übersetzungseinrichtung zum automatischen Ersetzen des ersten Teils eines Zellenadressiersignals durch den Inhalt der Speicherzelle mit schnellem Zugriff aufweist, welche dem Wert des ersten Teils des Zellenadressiersignals entspricht, um zu bewirken, daß die Aufsucheinrichtung die dem veränderten Zellenadressiersignal entsprechende Zelle aufsucht, sowie durch eine Einrichtung zum wahlweisen Deuten von Informationssignalen, welche in dieser Hehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff als Vielfache und Teiler dieser Befehlssignale in Abhängigkeit von einem ersten Teil eines Befehlssignals gehalten werden.
    Digitale Rechenanlage zur Verarbeitung von gespeicherten und äußeren Informationssignalen in Abhängigkeit von gespeicherten BefehlsSignalen, gekennzeichnet durch eine Verarbeitungseinrichtung, eine Speichereinrichtung mit langsamem Zugriff, welche über eine Steuereinrichtung mit langsamem Speicherzugriff an die Verarbeitungseinrichtung anschließbar ist, eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff, eine Einrichtung zum Aufsuchen der Mehrzahl von Gruppen von Informationssignalen in neuen Zellen in Abhängigkeit von Zellenadressiersignalen zum Aufsuchen von Daten an ursprünglichen- Zellenadressen, wobei die Aufsucheinrichtung eine zweite Mehrzahl von Speicherzellen mit schnellem Zugriff aufweist, welche Zellenadressen entsprechend Zahlen innerhalb des Bereiches
    von 103814/1663
    BAD ORIGINAL
    νόη Adressen aufweisen, die durch einen ersten Teil eines Zellenadressiersignals adressierbar sind, und wobei diese Einrichtung weiter eine übertragungseinrichtung zum automatIschen Ersetzen des ersten Teils eines Seilenadressiersignals äurch den Inhalt der Speicherzelle mit schnellem Zugriff aufweist3 welche den !iert des ersten Teils des Zellenadressiersignals entspricht s um zu bewirken,, daß die Aufsucheinrichtung die dem veränderten Zellenadressiersignal entsprechende Zelle aufsucht.
    . Digitale Rechenanlage zur Verarbeitung von gespeicherten und r'ußeren Infomat ions Signalen in Abhängigkeit von gespeicherten BefehlsSignalenj gekennzeichnet durch eine Verarbeitungseinriclitun^j eine Speichereinrichtung mit langsamem .Zugriff, welche über eine Steuereinrichtung mit langsanen Speicherzugriff nit der Verarbeitungseinrichtung verbindbar ist s eine erste Mehrzahl von Gruppen von Speicherzellen mit schnellen Zugriff, wobei Jede Gruppe durch sich selbst über eine Gruppenauswahleinrichtune wahlweise' mit der Verarbeitungseinrichtung verbindbar ist und die Gruppenauswahleinrichtung auf eine frei wählbare Inforißationssignaleinrichtung anspricht> welche geeignet ist, eine Gruppe mit schnellem Zugriff unabhängig von der Steuereinrichtung mit langsamem Speicherzugriff mit der Verarbeitungs· einrichtung gleichzeitig verbindbar zu machen^ eine Supervisor-
    einrichtung
    UH
    einrichtung zur gleichzeitigen Verarbeitung einer Mehrzahl von Gruppen von Informationssignalen auf einer Zeitteilerbasis, wobei diese Einrichtung eine Zeitteilereinrichtunp und eine auf die Zeitteilereinrichtung ansprechende Einrichtung aufweist j um über die Einrichtung mit langsamem 'Speicherzugriff für jede Gruppe von Informaticnssignalen eine Speichereinrichtung wahlweise aufzusuchen, welche Digitalinformation enthält, die einen vorbestimmten Steuerstatus der Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals für diese Gruppe von Informationssignalen darstellt, eine iiehrzahl von Unterbrechungseinrichtungen, Vielehe auf eine Mehrzahl von äußeren Informationssignalen ansprechen, eine Unterbrechunfvssteuereinrichtung zum Unterbrechen der Gruppe von gerade verarbeiteten Informationssignalen, um eine Gruppe von Informationssignalen mit höherem Vorrang entsprechend dem äußeren Signal mit dem höchsten Vorrang zu verarbeiten, wobei der Vorrang des äußeren Signals durch die Art des Anschlusses der Unterbrechungseinrichtung vorbestimmt ist, die Unterbrechungssteuereinrichtung eine Einrichtung zum Anhalten der Ausführung des gerade ausgeführten Befehlssignals aufweist, um unabhängig von der Einrichtung mit langsamem Speicherzugriff eine der Unterbrechungeinrichtung, auf welche die Unterbrechungssteuereinrichtung anspricht, zugeordnete, besondere Speicherzelle mit langsamem Zugriff direkt mit der Verarbeitungseinrichtung zu verbinden, und
    wobei
    109814/1663
    BAD
    wobei die besondere Speicherzelle Digitalinformation enthält, welche einen vorbestimmten Steuerstatus der dieser Unterbrechungseinrichtung zugeordneten Verarbeitungseinrichtung einschließlich der Zelle des nächsten Befehlssignals der dieser Unterbrechung zugeordneten Informations- ^ruppe darstellt5 eine Einrichtung zur Speicherung von Digit al information., welche den Steuerstatus der Verärbeituncseir.richtunfeinschließlich der Zelle des nächsten Befehlssignals darstellt, welches der Gruppe von InformationsSignalen zum Zeitpunkt des Anhaltens der Verarbeitung durch ein außerhalb dieser Gruppe gelegenes Ilit.tel zugeordnet ist, un zu bewirken, daß diese Gruppe von rnforruationssignalen beim ¥iedergewinn des Zugriffs zu dor Yerarbeitunirseinrichtung nahtlos und fehlerlos die Vorarbeiturij- wieder aufniiiimt5 eine Eini'icht.ung zum Aufsuchen <ver Ix-hrzahl von Gruppen von Informationssignalen in neuen Zollen in Abhängigkeit von Zellenadressiersignalen zuvi /.ufcj-uerion von Daten an ursprünglichen Zellenadressen, .'ioboi '-Io Auf sucheinrichtung eine zweite Mehrzahl von CjvC-ichorzr.ircri. mit schnellen Zugriff aufweist3 welche ZelLonaUronscr. ontaprecheriö Zahlen innerhalb des Bereiches von :". Jrorsnen 'aif'./eisen; die durch einen ersten Teil eines Zc-llonr'ΐΓ-ο3Γ'1οΓί3ΐ.'_ηο.ΐ3 rulronr/icrbar sind., und wobei diese \,lr!i'"i.-c':tur.,'j; Reiter eine "beiMietZunfneinrichtung zum automatischen r-y^t'/jCi. -.Ior; orr;tcr, Γ:Ό11η ci.iicj^ Zellonacirofiniersignals dui'ch
    ■..-.;. "r, .;lt · ';:■ -,'V)CiKi r;i-y(;iio -;dfc ischnolloj. Zugriff aufweist i
    BAD ORIGINAL welche
    10 98 U/ 1 66 3
    - -Mf-
    Vielehe dem Wert des ersten Teils des Zellenadressiersignals entsprichts um zu bewirken, daß die Aufsucheinrichtung die dem abgeänderten Zellenadressiersignal entsprechende Zelle aufsucht3 scwie durch eine Einrichtung zum. vrahlweisen Deuten von Inforsationssiyaalen, welche in dieser Fiehrzahl von Gruppen von Speicherzellen mit schnellem Zugriff als Vielfache und Teiler dieser Införmationssignale in Abhängigkeit von einem ersten Teil eines Befehlssignales -ehalten werden.
    · Rechenanlage nach Anspruch 72, gekennzeichnet durch eine Einrichtung, welche auf einen Teil eines Zellenadressiersignals anspricht, um wahlweise eine Zugriffbesehrankun;-zu einer Gruppe von Speichereinrichtungen zu bewirken.
    1^ 3 JjUk Digitale Rechenanla;;es gekennzeichnet durch eine erste Einrichtung zur Erzeugung von Signala.nzeigen5 welche die Werte einer Mehrzahl von verschiedenen Quantitäten digital darstellen, eine zweite Einrichtung zur Erzeugung von Signalans5eigens welche verschiedene, an den Quantitäten durchzuführende Operationen digital darstellen, eine dritte Einrichtungj welche arbeitsmäßig mit der ersten und zweiten Einrichtung gekoppelt ist, um auf die Signalanzeigen einzuwirkens Vielehe einzelne der Quantitäten in der Mehrzahl darstellen, gemäß den verschiedenen auszuführenden Operationen, welche durch die aus der zweiten Einrichtung gewählten Signal-
    anζeigen NV-'-.V-- 10981Λ/166 3
    BAD OBiGlNAL
    'ir "■
    anzeigen dargestellt werden, um die Ergebnisse dieser Operationen darstellende Signalanzeigen zu erzeugen, eine vierte Einrichtung, welche arbeitsmäßig mit der ersten und-zweiten Einrichtung gekoppelt ist«, um mit einem ersten. Vorrang Signalänzeigen zu wählen, welche erste einzelne der verschiedenen Quantitäten in der Mehrzahl und erste einzelne der verschiedenen auszuführenden Operationen'darstellen* eine fünfte Einrichtung, Vielehe arbeitsmäßig mit der ersten und zweiten■Einrichtung gekoppelt istj um mit einem zweiten, höheren als dem ersten Vorrang Signalanzeigen zu wählen, Vielehe zweite einseine der verschiedenen Quantitäten in. der Mehrzahl und zweite der verschiedenen durchzuführenden Operationen darstellen, eine sechste Einrichtung, welche arbeitsmäßig mit der ersten, .zweiten, vierten und fünften Einrichtung gekoppelt ist,, zum Unterbrechen der durchgeführten Operationen vor dem Ende dieser Operationen in Übereinstimmung mit der durch die vierte Einrichtung bewirkten Auswahl, um die durch die fünfte Einrichtung gewählte Operation durchzufuhren-., eine siebte Einrichtung, welche arbeitsmäßig mit der· ersten, zweiten, dritten,, vierten und sechsten Einrichtung .verbundeil ist, zum Speichern der Signalanzeigen, welche die ersten einzelnen der verschiedenen Quantitäten in der Mehrzahl und die ersten einseinen der durchzuführenden Operationen sowie die Ergebhisse der ersten
    einzelnen ' BAD. ORIGINAL
    !09814/1663
    einzelnen, bis zum Seitpunkt der Unterbrechung an den ersten Einzelnen der verschiedenen Quantitäten durchgeführten Operationen darstellen, sowie durch eine achte Einrichtungj welche arbeitsmäßig mit der ersten, zweiten, vierten und siebten Einrichtung verbunden ist, um die ersten einzelnen der durchzuführenden Operationen vom Zeitpunkt der Unterbrechung wieder aufzunehmen, nachdem die zweiten Einzelnen der Operationen beendet sind.
    Reehenänlage nach Anspruch 7^; dadurch gekennzeichnet, daß die zweiten Einzelnen der Operationen in Realzeitbetrieb durchgeführt werden.
    Digitale Rechenanlage, gekennzeichnet durch eine erste Registereinrichtur.g zum .Abgeben, von Signalangab en 3 vrelche eine erste Kehrzahl von Quantitäten darstellen s eine zvrc-ite Einrichtung zum Abgeben von Sirnalanr aben, uri verschiedene Operationen an den die Quantitäten in eier ersten Ilehrsahl darstellenden Signalangaben zu erzielen, wobei bestimmte der verschiedenen Operationen eine Reihenfolge von aufeinanderfolgenden Schritten darstellen ä eine dritte Einrichtung, welche arbeitsmäßig mit der ersten und svreiten Einrichtung gekoppelt ist, zur Bearbeitung der Signalangaben, Vielehe einzelne Quantitäten in der ersten Mehrzahl darstellen, in Übereinstimmung mit den Signalangaben, Vielehe einzelne der verschiedenen Operationen darstellen, un Signal-
    angaben 1Q 9 8 14 /16 6 3 BAD
    angaben zu erzielen, welche·Zwischen- und Endergebnisse dieser Operationen darstellen, eine vierte Einrichtung, welche arbeitsmäßig, r.iit der dritten Einrichtung gekoppelt ist. zum Speichern der in den aufeinanderfolgenden Schritten durch die dritte Einrichtung erzielten Signalangaben, eine fünfte Einrichtung zur Erzielung der Auswahl von ersten einzelnen der Quantitäten in der ersten Mehrzahl und ersten einzelnen per verschiedenen Operationen, welche an den ersten-einzelnen" Quantitäten -auszuführen sind, eine sechste Einrichtung zur Erzielung der Auswahl vom zweiten der Quantitäten in der ersten ilehrzahl und von zweiten einzelnen , der verschiedenen.Operationen, welche an.den zweiten einzelnen Quantitäten auszuführen sind, eine siebte Einrichtung, welche arbeitsmäßig- mit der fünften und sechsten Einrichtung verbunden ist 5 zum Unterbrechen der ersten einzelnen Operationen, ur-i aie zweiten-einzelnen Operationen beim Auftreten eines höheren Vorrangs für die ζ vielte einzelne Operation als für die erste einzelne Operation einzusetzen, sowie durch eine achte Einrichtung zur l\Tiederaufnähme der ersten einzelnen Operationen vorn Zeitpunkt der Unterbrechung an durch die zweiten einzelnen Operationen, auch wenn die' ersten einzelnen Operationen" in- eier Peihenfolr'e von verschiedenen Schritten unterbrochen'worden sind.
    Ji: itale i?echenanla^G zur. Aufnahme, von "ir.nalangaben,
    Vielehe
    1098U/1663 BAD ORIGINAL
    welche Information aus mindestens einer Quelle außerhalb der Rech'enanlage darstellen, gekennzeichnet durch eine erste Einrichtung zum Abgeben von Signalangaben, welche eine Mehrzahl von verschiedenen Quantitäten darstellen, eine zweite Einrichtung zur Abgabe von Signalangaben., welche verschiedene Operationen darstellen, die an der Mehrzahl von verschiedenen Quantitäten auszuführen sind, wobei mindestens einige dieser Operationen eine Reihenfolge von Schritten umfassen5 eine dritte Einrichtung;, welche arbeitsmäßig mit der ersten und zweiten Einrichtung gekoppelt Ist3 zur Auswahl der Signalangaben, welche einzelne der verschiedenen Quantitäten und einzelne der verschiedenen Operationen darstellen, die an den einzelnen Quantitäten auszuführen sind,, eine vierte Einrichtung welche arbeitsmäßig mit der ersten, zweiten und dritten Einrichtung gekoppelt ist, zur Durchführung der einzelnen Operationen an den einzelnen Quantitäten, eine fünfte Einrichtung zum periodischen Abfragen der Süßeren Quelle., un zu bestimmen.; ■ob sich-die Süßere Quelle in Verbindung mit der Eechenanlc^e befindet; sowie durch eine sechste Einrichtung welche arbeitsmäßig mit der vierten unü fünften Einrichtung verbunden ist, zum Unterbrechen des Betriebs der vierten Einrichtung beim Ausfall der fünften Einrichtung, um periodisch anzuzeigen.» aal? sich die äußere Quelle in Verbindung mit der Rechenanlage befindet.
    109814/1663 BAD ORIGINAL
    Digitale .Kechenanlace s gekennzeichnet durch eine erste Einriclitunr sur Abgabe von Signalangaben, welche eine ' .ielirsalil Von verschiedenen Quantitäten darstellen, eine zireite Linrichtunr; zur Abgabe von Signalangaben., welche Befehle für verschiedene Operationen darstellen, die an den Cuantit-gfeen auszuführen sind, wobei mindestens einige der verschiedenen Operationen eine Reihenfolge von Schritten erfordern und wobei die Befehle durch riehrzahlen von Signalangaben dargestellt werden, welche zu ersten5 zxjeiten und dritten Länr.en gruppiert sind., eine dritte Einrichtung zur Auswahl der Signalangaben, Vielehe erste einzelne der verschiedenen Operationen und erste einseine der Quantitäten darstellen, an■welchen die verschiedenen Operationen auszuführen sind3 eine vierte Einrichtung zum Auswählen der Signalangaben, welche zweite einzelne der verschiedenen Operationen und zweite einzelne der Quantitäten darstellen, an welchen die "Verschiedenen Operationen auszuführen sind, eine fünfte EinrichtunG. welche arbeitsmäßig mit der ersten, zweiten und dritten Einrichtung gekoppelt 1st, zur Durchführung der ersten einzelnen Operationen an den ersten einzelnen 'Quantitäten* eine sechste Einrichtung, welche arbeitsmäßig mit der dritten und fünften Einrichttang gekoppelt ist, zur Unterbrechung des Betriebs der fünften Einrichtung bei der Durchführung der ersten
    BAD ORIGINAL einseinen
    einzelnen Operationen an den ersten einzelnen Quantitäten; wenn die vierte Einrichtung in Tätigkeit tritt, um die zweiten einzelnen der verschiedenen Operationen und die zweiten einzelnen der Quantitäten auszuwählen, und wenn die ersten Befehle die zweiten und dritten Längen aufweisen, eine siebte Einrichtung, welche arbeitsmäßig mit der fünften und sechsten Einrichtung gekoppelt ist, zur Erzielung der Durchführung der zweiten Einzelnen Operationen an den zweiten einzelnen Quantitäten durch die fünfte Einrichtung bei Unterbrechung der ersten einzelnen Operationen an den ersten einzelnen Quantitäten sowie-eine achte Einrichtung vrelche arbeitsmäßig mit der dritten und sechsten Einrichtung gekoppelt ist, um zu verhindern, daß die sechste Einrichtung die ersten Operationen unterbricht, wenn die ersten Befehle die erste Länge aufweisen.
    Rechenanlage nach Anspruch 78, gekennzeichnet curch eine neunte Einrichtung zur Speicherung: der .Signalanraben, welche die Ergebnisse der ersten Operationen an den ersten Quantitäten in der Reihenfolge von Schritten darstellen, sowie c.urch eine zehnte Einrichtung zur Wiederaufnahme der ersten Operaticnen an den ersten Quantitäten bei Beendigung der zweiten Operationen an den zx^eiten Quantitäten vom Zeitpunkt der Unterbrechung der ersten Operationen an den ersten Quantitäten ab, wenn die ersten Befehle die zweiten Längen besitzen, sowie zur Wiederaufnahme der ersten Operationen an den ersten Quantitäten-
    bei.
    10S8U/1663
    BAD ÖRiÜfNAL
DE19671549531 1966-08-16 1967-08-16 Digitale Rechenanlage Pending DE1549531A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57283566A 1966-08-16 1966-08-16
US87243069A 1969-10-29 1969-10-29

Publications (1)

Publication Number Publication Date
DE1549531A1 true DE1549531A1 (de) 1971-04-01

Family

ID=27075971

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19671549531 Pending DE1549531A1 (de) 1966-08-16 1967-08-16 Digitale Rechenanlage

Country Status (2)

Country Link
US (1) US3594732A (de)
DE (1) DE1549531A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3740722A (en) * 1970-07-02 1973-06-19 Modicon Corp Digital computer
US3982620A (en) * 1972-01-25 1976-09-28 Nsm Apparatebau Gmbh Kommanditgesellschaft Coin computing apparatus
US3878513A (en) * 1972-02-08 1975-04-15 Burroughs Corp Data processing method and apparatus using occupancy indications to reserve storage space for a stack
US3815101A (en) * 1972-11-08 1974-06-04 Sperry Rand Corp Processor state and storage limits register auto-switch
FR2215877A5 (de) * 1973-01-26 1974-08-23 Thomson Csf
FR2216883A5 (de) * 1973-02-01 1974-08-30 Etudes Realis Electronique
US4117536A (en) * 1976-12-27 1978-09-26 International Business Machines Corporation Instruction processing control apparatus
US4342082A (en) * 1977-01-13 1982-07-27 International Business Machines Corp. Program instruction mechanism for shortened recursive handling of interruptions
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
US4177513A (en) * 1977-07-08 1979-12-04 International Business Machines Corporation Task handling apparatus for a computer system
US5167030A (en) * 1989-08-23 1992-11-24 Helix Software Company, Inc. System for dynamically allocating main memory to facilitate swapping of terminate and stay resident communication program to increase available memory space
JP2507833B2 (ja) * 1990-12-25 1996-06-19 三菱電機株式会社 マイクロコンピュ−タ
JPH04253244A (ja) * 1991-01-29 1992-09-09 Nec Corp プログラム暴走時のメモリ内データ保護回路
US5274834A (en) * 1991-08-30 1993-12-28 Intel Corporation Transparent system interrupts with integrated extended memory addressing
US6076157A (en) * 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6446195B1 (en) * 2000-01-31 2002-09-03 Intel Corporation Dyadic operations instruction processor with configurable functional blocks
US7519273B2 (en) * 2001-01-19 2009-04-14 Blackarrow, Inc. Content with advertisement information segment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3058659A (en) * 1958-12-31 1962-10-16 Ibm Add address to memory instruction
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
US3434118A (en) * 1964-05-01 1969-03-18 Vyzk Ustav Matemat Stroju Modular data processing system
US3376554A (en) * 1965-04-05 1968-04-02 Digital Equipment Corp Digital computing system
US3359544A (en) * 1965-08-09 1967-12-19 Burroughs Corp Multiple program computer

Also Published As

Publication number Publication date
US3594732A (en) 1971-07-20

Similar Documents

Publication Publication Date Title
DE1549531A1 (de) Digitale Rechenanlage
DE2645537C2 (de)
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE2458065C2 (de) Datenverarbeitungsanlage
DE2459006C2 (de) Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage
DE2054835C2 (de) Steuereinrichtung in einem Prozessor einer Mehrprozessor-Datenverarbeitungsanlage
DE3638572C2 (de)
DE2719295A1 (de) Programmsteuerung
DE2714805A1 (de) Datenverarbeitungssystem
DE3716229A1 (de) Mikroprozessorchip mit einem stapelrahmen-cache
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
CH619309A5 (de)
DE2414311C2 (de) Speicherschutzeinrichtung
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2423194A1 (de) Vorrichtung zur adressengewinnung und -berechnung in einem segmentierten speicher
DE2630323B2 (de) Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik
DE2411963B2 (de) Datenverarbeitungsanlage
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2926589A1 (de) Anordnung zur verlaengerung einer logischen computeradresse
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
CH615521A5 (de)
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE2556617C2 (de) Schiebe- und Rotierschaltung

Legal Events

Date Code Title Description
OHW Rejection