DE1222289B - Datenverarbeitungseinrichtung - Google Patents
DatenverarbeitungseinrichtungInfo
- Publication number
- DE1222289B DE1222289B DEJ24415A DEJ0024415A DE1222289B DE 1222289 B DE1222289 B DE 1222289B DE J24415 A DEJ24415 A DE J24415A DE J0024415 A DEJ0024415 A DE J0024415A DE 1222289 B DE1222289 B DE 1222289B
- Authority
- DE
- Germany
- Prior art keywords
- register
- program
- memory
- circuits
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Description
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. Cl.:
G06f
Deutsche Kl.: 42 m -14 " ~
Nummer: 1222 289 ^C1"
Aktenzeichen: J 24415IX c/42'm
Anmeldetag: 13. September 1963
Auslegetag: 4. August 1966
Die Erfindung bezieht sich auf eine Datenverarbeitungseinrichtung mit einer Mehrfachprogrammeinrichtung
und mit Registern, die von Befehlen verschiedener Programme wahlweise benutzt werden.
Die Durchführung eines aus Befehlen zusammengesetzten Programms auf einer Rechenanlage besteht
in der Behandlung und Modifizierung von Daten, die in Speichern oder Registern enthalten
sind. Ein jeder Befehl ist in seiner Wirkung abhängig vom Ergebnis der Ausführung des vorausgehenden
Befehls. Es besteht daher eine enge Beziehung unter den Datengrößen, die während der Ausführung
eines bestimmten Programms verwendet werden. Diese Beziehung ist ohne Bedeutung für andere Programme.
Sie ist jedoch für jedes Programm aufrechtzuerhalten, wenn eine einzelne Recheneinrichtung
zur Durchführung von mehr als einem Programm dienen soll. Bekannte derartige Datenverarbeitungseinrichtungen lösen dieses Problem dadurch, daß die
Daten des laufenden Programms aus den Registern entfernt und durch Daten des nächsten Programms
ersetzt werden. Die aus den Registern entfernten Daten werden beispielsweise in einen Speicher eingegeben,
so daß die Möglichkeit besteht, zu einem späteren Zeitpunkt durch ein erneutes Übertragen
dieser Daten in die Register zum ursprünglichen Programm zurückzukehren. Zur Ausführung dieser
Operationen dienen Datenübertragungsbefehle, die nacheinander den Inhalt eines jeden Registers leeren
und in einen Speicher eingeben. Daraufhin laden weitere Datenübertragungsbefehle ein jedes Register
mit den Datengrößen, die dem nächsten zur Ausführung kommenden Programm entsprechen. Wenn beispielsweise
ein Rechner zwölf Register bei der Ausführung von Befehlen verwendet, so sind mindestens
24 Leerungs- und Ladebefehle notwendig. Diese Arbeitsweise macht es erforderlich, daß der Inhalt
eines jeden Registers in den Speicher übertragen wird und daß jedes Register in Übereinstimmung mit dem
folgenden Programm neu zu laden ist, trotzdem das folgende Programm nicht von allen Registern Gebrauch
macht. Da es üblich ist, innerhalb eines Programms nur wenige der verfügbaren Register eines
Rechners zu verwenden, bedeutet der Austausch der Daten beim Übergang von einem auf ein anderes
Programm einen großen Zeit- und Speicheraufwand.
Die Aufgabe der Erfindung besteht darin, eine flexibel verwendbare und mit geringem Aufwand an
Befehlen vielseitig steuerbare Datenverarbeitungseinrichtung zu entwickeln, welche die angeführten
Nachteile vermeidet. Dies wird im wesentlichen dadurch erreicht, daß den Registern oder zumindest
Datenverarbeitungseinrichtung
Anmelder:
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen, Sindelfinger Str. 49
Als Erfinder benannt:
Gerrit Anne Blaauw,
Orville Goering, Poughkeepsie, N. Y. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 19. September 1962
(224 695)
V. St. v. Amerika vom 19. September 1962
(224 695)
einem Teil derselben Anzeigeschaltungen zur Markierung der jeweils letzten Benutzung zugeordnet
sind, die bei Anruf eines Registers zur Steuerung seiner Verwendung innerhalb eines laufenden Befehls
dienen. Ein weiteres Merkmal der Erfindung besteht darin, daß diese Anzeigeschaltungen zur
Markierung der Zugehörigkeit oder Nichtzugehörigkeit des Registerinhalts zum jeweils wirksamen Programm
benutzt werden und daß Steuerschaltungen vorgesehen sind, die mit den Anzeigeschaltungen gekoppelt
sind und bei Anruf eines Registers einen Austausch des Registerinhalts nur dann veranlassen,
wenn dieser zu einem anderen als dem jeweils wirksamen Programm gehört.
Weitere Einzelheiten der Erfindung sind aus den Ansprüchen in Verbindung mit einem an Hand
einer Zeichnung erläuterten Ausführungsbeispiel ersichtlich.
Die Zeichnung zeigt ein Blockschaltbild einer elektronischen Datenverarbeitungseinrichtung gemäß
der Erfindung.
Der Rechner
Die Zeichnung zeigt die üblichen Teile einer Recheneinrichtung. Ein Speicher 1 dient zur Speicherung
von Daten- und Befehlsworten, die wahlweise
609 608/330
3 4
auf ein "Puffer-Speicherregister 2 über Leitung 30 zahl von Leitungen, von denen hier nur diejenigen
übertragen werden können. Eine derartige Übertra- dargestellt sind, die eine Bedeutung in der vorliegengung
erfolgt in Übereinstimmung mit einer Adresse den Erfindung haben. Der Programmimpulsgeber
im Adreßregister 3, die dem Speicher über eine Lei- liefert anfangs ein Steuersignal auf der 7-Zyklustung
33 zugeführt wird. Die Befehle sind im Spei- 5 Leitung 11 zur Anzeige dafür, daß ein Befehl zu
eher 1 in einer Folge von Speicherstellen gespeichert, interpretieren ist. Anschließend wird zur Ausfühdie
normalerweise dadurch ausgewählt werden, daß rung dieses Befehls ein Signal auf einer Leitung 42
ein Befehlszähler Adressen zum Adreßregister 3 erzeugt, das zur Weiterschaltung der Befehlszähler 9
liefert. Da die dargestellte Anlage zu gleicher Zeit und 10 um einen Schritt auf einen neuen Befehl dient,
mehr als ein Programm ausführen kann, sind mehr io und ein Ausführungszyklus wird ausgelöst durch Erals
ein Befehlszähler vorgesehen. Ein Überwachungs- zeugung eines Signals auf der .E-Zyklus-Leitung 12.
programm wird nacheinander durch die schrittweise Wenn eine Indexierungsoperation, worin eine modi-Weiterschaltung
eines Überwachungsprogramm- fizierende Nummer zu der durch das Adreßfeld be-Befehlszählers
9 abgetastet, der Adressen zu dem zeichneten Adresse addiert werden soll, durch einen
Adreßregisters über Leitung34 liefert, sofern ein 15 Befehl aufgerufen wird, wird eines von drei Index-Tor
22 geöffnet ist. Ein Problemprogramm wird aus- registern IRA, IRB oder IRC durch ein Signal auf
geführt als Schrittfolge in Übereinstimmung mit einer von zugeordneten Leitungen 13, 14 und 15
Adressen, die über Leitung 35 von einem Befehls- ausgewählt. Vom Programmimpulsgeber sind ferner
zähler 10 zum Adreßregister 3 geliefert werden, Signale auf den Leitungen ti, ti und i3 erhältlich;
wenn ein Tor 23 geöffnet ist. Eines der zwei Pro- 20 diese Signale treten in aufeinanderfolgenden Intergramme,
das Uberwachungsprogramm oder das Pro- vallen auf. Ferner liefert die Schaltung 8 auf einer
blemprogramm, kann durch Öffnen eines der Tore Leitung 38. ein Signal, das eine Rückstellung anzeigt
22 oder 23 ausgewählt werden. Hierzu kann ein sym- und später erläutert wird.
bolisch dargestellter Schalter 98 dienen, der gege- Das Auftreten eines E-Zyklus-Signals schließt das
benenfalls durch einen Befehl betätigt werden kann. 25 Tor 24 und öffnet das Tor 26, durch das das Adreß-Das
Tor 22 wird geöffnet, wenn ein Kontakt 17 über feld des laufenden Befehls vom Speicherregister 4
einen Anschluß 19 eine Spannungsquelle 16 mit dem zur arithmetischen und logischen Schaltung 5 über-Tor
22 verbindet. Das Tor 23 ist betätigt, wenn der tragen wird, von dessen Ausgang 37 es im normalen
Kontakt 17 über einen Anschluß 18 die Spannungs- (nicht indexierten) Fall zum Adreßregister 3 zur Ausquelle
16 mit dem Tor 23 verbindet. Ist der Befehls- 30 wahl eines Datenwortes übertragen wird. In diesem
zähler 9 des Überwachungsprogramms mit dem Fall wird der Inhalt des durch eine Adresse im
Adreßregisters über Tor22 verbunden, so kann er Adreßregister 3 bezeichneten Dateninhalts in das
zur Adressierung des nächstfolgenden Befehls durch Puffer-Speicherregister 2 gebracht und von da zu
ein Signal auf einer Leitung 43 von einem Tor 20 der arithmetischen und logischen Schaltung 5 über
weitergeschaltet werden, welches zur gleichen Zeit 35 das Speicherregister 4 übertragen zur Ausführung
wie das Tor 22 über den Anschluß 19 geöffnet wird. einer Operation entsprechend den Signalen von der
In der gleichen Weise ist der Befehlszähler 10 des Schaltung 8. Wenn jedoch der laufende Befehl eine
Problemprogramms durch Signale auf der Leitung Indexierungsoperation angibt, so erscheint auf Lei-44
weiterschaltbar, die von einem Tor 21 durchge- tang 120 über das Tor 105, dessen Betätigung später
lassen werden, das zur gleichen Zeit wie das Tor 23 40 erläutert wird, ein Adreßmodifikator, der durch die
über den Anschluß 18 betätigt wird. Wenn ein Be- arithmetische und logische Schaltung 5 zu der über
fehl in einem der Programme durch das Adreß- das Tor 26 zugeführten Befehlsadresse addiert wird,
register 3 adressiert worden ist, wird der ganze Be- Die Summe von diesen Adressen, genannt die effekfehl
in das Puffer-Speicherregister 2 gebracht. tive Adresse, erscheint am Ausgang 37 der arith-
Ein typischer Befehl ist unterteilt in eine Anzahl 45 metischen und logischen Schaltung 5 und wird in das
Felder, von denen die bedeutendsten ein Adreßfeld Adreßregister 3 eingegeben zur Bezeichnung einer
und ein Operationscodefeld sind. Es kann auch ein Datenwort-Speicherstelle. Die Quelle des zur Adresse
Kennzeichnungsfeld zur Bezeichnung eines Index- des laufenden Befehls addierten Adreßmodifikators
registers vorgesehen sein, wie später noch erklärt ist eines der drei Indexregister IRA, IRB und IRC,
wird. Das Adreßfeld bezeichnet üblicherweise eine 50 welches durch das Kennzeichnungsfeld des Befehls
Stelle im Speicher 1, an der ein Datenwort gefunden bezeichnet worden ist. Jedes Indexregister umfaßt
werden kann, und das Operationscodefeld bezeich- eine Anzahl Speicherstellen zur Aufnahme einer
net die Operation, die mit einem bezeichneten Daten- Binärzahl, die zu dem Inhalt des Adreßfeldes des
wort auszuführen ist. Ein durch das Adreßregister 3 Befehls addiert wird. Jedes Indexregister kann vom
bezeichneter Befehl in einer Speicherstelle des Spei- 55 Speicher 1 gefühlt werden. Hierzu dient die Verchers
1 wird über eine Leitung 31 zu einem Speicher- bindung 30, das Puffer-Speicherregister 2 sowie ein
register 4 übertragen, von wo das Adreßfeld in eine Tor 27, dessen Betätigung später erläutert wird. Der
arithmetische und logisch Einheit 5 über eine Lei- Inhalt eines jeden Indexregisters kann in den
tung32 gebracht wird. Der Operationscode wird in Speicher 1 über ein Tor 25 übertragen werden, das
ein Befehlsregister 6 unter Zwischenwirkung eines 60 in einer Verbindung zwischen den Indexregistern
Tores 24 eingestellt, das durch ein Signal auf einer IRA, IRB und IRC und dem Puffer-Speicher-7-Zyklus-Leitung
11 von einem Programmimpuls- register 2 liegt. Die Übertragung in das Puffergeber
8 betätigt wird. Der Inhalt des Befehlsregisters 6 Speicherregister 2 wird jeweils für das durch einen
wird durch einen Befehlsdecodierer 7 entschlüsselt, Befehl angegebene Indexregister wirksam. Der
der Signale über eine Leitung 38 zum Programm- 65 Platz im Speicher 1, zu dem oder von dem die Überimpulsgeber
8 liefert. tragung erfolgt, wird von dem Adreßregister 3 be-
Der Programmhnpulsgeber 8 erzeugt die Signale zeichnet, in Übereinstimmung mit der über das Ka-
zur Betätigung der Tore im Rechner über eine An- bei 36 eingegebenen Adresse.
Anzeigeschaltungen
Die Indexregister IRA, IRB und IRC sind mit je zwei bistabilen Speichereinrichtungen XA und YA,
XB und YB sowie XC und YC verbunden. Die mit einem Indexregister gekoppelten Speichereinrichtungen
können zugleich eingestellt oder abgefühlt werden. Die Auswahl eines bestimmten Paares dieser
Speichereinrichtungen zur Ausführung der vorerwähnten Operationen ist davon abhängig, welches
der Indexregister durch den laufenden Befehl aufgerufen ist. Jede der Speichereinrichtungen besteht
aus einer Flip-Flop-Schaltung mit einem bekannten Aufbau. Sie können zur Speicherung eines Eins-Bits
eingestellt werden durch ein Signal auf einer Einstell-Leitung oder rückgestellt zur Speicherung eines Null-Bits
durch ein Signal auf einer Rückstell-Leitung. In der gezeigten Schaltung sind nur die Einstell- und
Rückstell-Leitungen für die Flip-Flops XA und YA im Kabel 73 dargestellt. Die Flip-Flops XA und YA
werden eingestellt durch ein Signal auf einer der Leitungen 79 und 81 und rückgestellt durch ein Signal
auf einer der Leitungen 80 und 82. Wenn einer der Flip-Flops XA und YA in den Ein-Zustand gebracht
ist, so kann dies durch Abfühlen einer entsprechenden Eins auf den Leitungen 76 und 78 erkannt
werden. Befindet sich hingegen einer der beiden Flip-Flops im Null-Zustand, so kann dies durch Abfühlen
eines Eins-Signals auf den Leitungen 75 und 77 festgestellt werden. Zusätzliche Abfühlleitungen
für die Flip-Flops XB, YB, XC und YC sind im Kabel 74 enthalten, jedoch nicht dargestellt.
Abfühlsteuerschaltungen 48, 49 und 50 sind den einzelnen Indexregistern IRA, IRB und IRC zugeordnet.
Die Funktion der Abfühlsteuerschaltungen besteht darin, den Einstellzustand der mit den Indexregistern
verbundenen Anzeige-Flip-Flops festzustellen. Es sind ferner Einstellsteuerschaltungen 45,
46 und 47 mit den einzelnen Indexregistern IRA, IRB und IRC verbunden. Diese bewirken, daß der
mit einem entsprechenden Indexregister verbundene Anzeige-Flip-Flop einen Schaltzustand einnimmt,
der das letzte im Indexregister verwendete Programm anzeigt. Die Abfühlsteuerschaltungen 48, 49 und 50
sowie die Einstellsteuerschaltungen 45, 46 und 47 steuern in Verbindungs mit den Anzeigeschaltungen
der Indexregister IRA, IRB und IRC das Leeren und Füllen der Indexregister während der Ausführung
eines Programms. Die Tabelle I veranschaulicht die Bedeutung der Schaltzustände der Anzeigeschaltungen
X und Y.
X | Y | Bedeutung |
0 0 1 1 |
0 1 0 1 |
IR noch nicht verwendet IR zuletzt verwendet durch PP IR zuletzt verwendet durch MP (ohne Bedeutung) |
PP = Problemprogramm.
MP = Überwachungsprogramm.
MP = Überwachungsprogramm.
Die mit den Indexregistern IRA, IRB und IRC verbundenen Anzeigeschaltungen X und Y zeigen
durch ihren Schaltzustand somit an, ob das zugeordnete Indexregister (IR) vorausgehend verwendet
wurde, und wenn dies so ist, durch welches Programm (Problemprogramm PP oder Überwachungsprogramm MP). Es ist einleuchtend, daß ähnliche
Anzeigeschaltungen für jedes Register, für jeden Zähler usw. im Rechner vorgesehen werden können.
Des weiteren können zusätzliche Anzeigeschaltungen vorgesehen werden, wenn die Anzahl der Programme,
die in jedem Register verwendet werden können, erhöht werden soll. Ein anderer Weg zur
Erhöhung der Anzahl der Programme, ohne daß zusätzliche Anzeigeschaltungen notwendig sind, wird
später beschrieben.
Die Abfühlsteuerschaltung 48 des Indexregisters IRA ist im Detail dargestellt. Die Abfühlsteuerschaltungen
49 und 50 der übrigen Indexregister IRB und IRC sind gleichartig aufgebaut. Die Funktion der
Schaltung 48 besteht darin, den Schaltzustand der Anzeigeschaltung XA und YA zu ermitteln und ein
Signal zu erzeugen, das die Übertragung von Daten zwischen dem Indexregister IRA und dem Puffer-Speicherregister
2 steuert. Die durch die verschiedenen Schaltzustände der Anzeigeschaltungen bestimmten
Steuerfunktionen sind aus Tabelle II zu ersehen.
FaU | X | Y | Programm | IR Inhalt |
1 | 0 | 0 | MP | Übertrage zu arithmetischer und logischer Einheit 5 |
2 | 0 | 1 | MP | a) Leere nach PA, b) Lade von MA |
c) Übertrage zu arithmetischer und logischer Einheit 5 | ||||
3 | 1 | 0 | MP | Übertrage zu arithmetischer und logischer Einheit 5 |
4 | 0 | 0 | PP | Übertrage zu arithmetischer und logischer Einheit 5 |
5 | 0 | 1 | PP | Übertrage zu arithmetischer und logischer Einheit 5 |
6 | 1 | 0 | PP | a) Leere nach MA, b) Lade von PA |
c) Übertrage zu arithmetischer und logischer Einheit 5 |
MP = Überwachungsprogramm.
PP — Problemprogramm.
PP — Problemprogramm.
PA = Problembereich. MA = Überwachungsbereich.
Aus dieser Tabelle ist ersichtlich, daß die Abfühlsteuerschaltung 48 die Übertragung des Inhalts
des Indexregisters IRA zur arithmetischen und logischen Einheit 5 stets dann gestattet, wenn der Inhalt
des Registers IRA dem zur Zeit ausgeführten Programm entspricht (wie angezeigt in der Tabelle I).
Der Inhalt des Indexregisters IRA entspricht dem ausgeführten Programm, wenn die letzte Benutzung
des Indexregisters IRA durch das laufende Programm erfolgt ist (Fälle 3 und 5) oder wenn das
Indexregister//?^ vorausgehend durch keines der Programme benutzt wurde (Fälle 1 und 4). Wenn
andererseits das Indexregister IRA durch ein anderes Programm verwendet worden ist (Fälle 2 und 6),
so kann das laufende Programm den Inhalt des Indexregisters IRA nicht zu der arithmetischen und
logischen Einheit 5 übertragen. Dies kann erst geschehen, nachdem der Inhalt des Indexregisters IRA
in den Speicher 1 übertragen und durch Daten, die dem laufenden Programm entsprechen, ersetzt
worden ist. In den Fällen 2 und 6 wird der Inhalt der Indexregister IRA in einen Überwachungsbereich
(Fall 6) oder in einen Problembereich (Fall 2) des Speichers 1 geleert durch Betätigung des Tores 25,
und eine dem laufenden Programm entsprechende Quantität aus dem Überwachungsbereich (Fall 2)
oder dem Problembereich (Fall 6) wird in das Indexregister IRA durch Betätigung des Tors 27 geladen,
Es ist einleuchtend, daß im Fall 2 und 6 der Ladeschritt (b) unterlassen werden kann bei Befehlen,
die eine Information in das Indexregister IRA einstellen, da hier nicht mit einer vorausgehenden
Information weitergearbeitet wird.
Die Einstellsignale der Anzeigeschaltungen XA und YA werden über das Kabel 74 und das Tor 28
während eines /-Zyklus zu den Toren 66, 67, 68 und 69 übertragen. Die Tore 66 bis 69 sind geöffnet,
wenn der Programmimpulsgeber 8 durch ein Signal auf Leitung 13 anzeigt, daß das Indexregister IRA
im laufenden Befehl verwendet wird. Ist der laufende Befehl Teil ernes Problemprogramms PP, so erscheint
ein Signal auf Leitung 18 vom Schalter 98, das zu einem Eingang einer UND-Schaltung 59 geleitet
wird. Ist der laufende Befehl hingegen Teil eines Uberwachungsprogramms MP, so erscheint ein
Signal auf Leitung 19 vom Schalter 98, welches zu einem Eingang einer UND-Schaltung 58 geleitet wird.
Der Ausgang 87 der UND-Schaltung 59 führt direkt zu einem Eingang einer UND-Schaltung 60 und über
ein Tor 100 zu einem Eingang . einer jeden von ODER-Schaltungen 62 und 65. Der Ausgang 86
einer UND-Schaltung 58 ist mit einem Eingang einer UND-Schaltung 61 verbunden und führt außerdem
über ein Tor 99 zu den Eingängen der ODER-Schaltungen 62 und 65. Zeitsignale werden vom Programmimpulsgeber
8 zu den UND-Schaltungen 60 und 61 zu einer Zeit ti und zu Toren 99 und 100
zu einer Zeit ti geliefert, welche die Ausgangssignale aus den ODER-Schaltungen 62 bis 65 synchronisieren.
Dadurch wird sichergestellt, daß die Steuersignale für die Operation Leeren (zur Zeit ti) vor
den Steuersignalen für die Operation Laden (zur Zeit ti) erscheinen. Treten z. B. auf Leitung 75 ein
Signal für XA — 0, auf Leitung 78 ein Signal für YA = 1 und auf Leitung 19 ein Signal für MP auf
(Tabelle Π, Fall 2), so wird ein Ausgangssignal auf Leitung 86 von der UND-Schaltung 58 erzeugt.
Wenn ein Signal auf Leitung ti zur UND-Schaltung 61 gelangt, so erscheint ein Signal an deren Ausgang
88, welches zu den ODER-Schaltungen 63 und 64 geführt wird und Signale auf der Leitung 91, die der
Funktion Leeren zugeordnet ist, sowie auf der Leitung 92, die dem Problembereich zugeordnet ist, erzeugt.
Daraufhin wird zur Zeit 11 das Tor 99 geöffnet, wodurch Signale auf der Leitung 90, die der
Funktion Laden zugeordnet ist, und auf der Leitung 93, die dem Überwachungsbereich zugeordnet ist, erscheinen.
Durch die Signale auf den Leitungen 91 und 92 zur Zeitil werden gleichzeitig die Tore 25
und 71 geöffnet zum Leeren des Inhalts des Indexregisters IRA in den Speicher 1 auf eine Adresse, die
von einem Problembereich-Adreßregister 52 zum Adreßregister 3 geliefert wird. Daraufhin werden zur
Zeit 11 durch Signale auf den Leitungen 90 und 93
die Tore 27 und 70 gleichzeitig geöffnet, wodurch das Indexregister IRA vom Inhalt einer Adresse des
Speichers 1 geladen wird, die von einem Problembereich-Adreßregister 52 zu einem Adreßregister 3
geliefert wird. Es wird daher in einem Fall, wenn die Anzeigeschaltungen XA und YA angeben, daß
das Indexregister IRA vorausgehend durch ein Problemprogramm verwendet worden ist, der laufende
Befehl eines Überwachungsprogramms, der das Indexregister IRA verwenden will, erst den Inhalt des
Indexregisters in eine Problembereichadresse im Speicher 1 leeren und daraufhin das Indexregister
mit dem Inhalt einer Adresse des Überwachungsbereichs im Speicher 1 füllen. In der gleichen Weise
wird der Inhalt des Indexregisters IRA zuerst in eine Uberwachungsbereichadresse des Speichers 1 geleert
und dann mit einer Problembereichadresse des Speichers 1 geladen, wenn die Anzeigeschaltungen XA
und YA die vorausgehende Verwendung des Indexregisters IRA durch ein Überwachungsprogramm anzeigen,
während der laufende Befehl die Verwendung des Indexregisters IRA für ein Problemprogramm
vorsieht (Tabelle II, Fall 6). Dies ist der Fall, wenn Signale auf den Leitungen 76, 77 und 18 erscheinen.
Es treten Ausgangssignale an den UND-Schaltungen 59 und 60 auf, welche ursprünglich die
Torschaltungen 25 und 70 und daraufhin die Torschaltungen 27 und 71 betätigen.
Sobald eines der Indexregister IRA, IRB oder IRC mit den geeigneten Daten entsprechend dem laufenden
Programm gefüllt ist, dient es zur Modifizierung der Adresse eines zugeordneten Befehls durch
ein Signal vom Programmimpulsgeber 8 zur Zeit i3, welches ein Tor 105 öffnet. Zu dieser Zeit werden
auch die Einstellsteuerschaltungen 45, 46 und 47 in Übereinstimmung mit den Regem nach Tabelle I
eingestellt, um den Umstand anzuzeigen, daß ein Befehl des laufenden Programms ein Indexregister verwendet.
Zum Beispiel wird die Einstellsteuerschaltung 45 des Indexregisters IRA betätigt, wenn das
Tor 101 zur Zeit i3 geöffnet ist. Wenn der laufende,
im Indexregister IRA zugeordnete Befehl Teil eines Problemprogramms PF ist, tritt ein Signal auf Leitung
18 vom Schalter 98 auf, das über UND-Schaltung 54 und ODER-Schaltung 57 zu einem Rückstellsignal
für die Anzeigeschaltung XA auf Leitung 79 führt sowie ein Signal auf der Leitung 82 zur Einstellung
der Anzeigeschaltung YA auslöst. Wenn andererseits der laufende Befehl Teil eines Überwachungsprogramms
MP ist, so erscheint ein Signal auf Leitung 19, das zur Zeit i3 zu einem Einstellsignal
für die Anzeigeschaltung XA auf Leitung 80 und zu einem Rückstellsignal für die Anzeigeschaltung
YA auf Leitung 81 führt. Beide Anzeigeschaltungen können durch Signale auf den Leitungen 79
und 81 rückgestellt werden durch einen Befehl, der üblicherweise im Überwachungsprogramm enthalten
ist und der den Programmimpulsgeber 8 veranlaßt, ein Rückstellsignal auf der Leitung 83 zu erzeugen.
Diese Einrichtung dient zur Rückstellung der Anzeigeschaltungen XA und YA anstatt einer Operation,
und es wird damit auch gestattet, mehr als zwei Programme ohne zusätzliche Anzeigeschaltungen
auszuführen.
Zusätzliche Programme können ausgeführt werden, ohne daß weitere Anzeigeschaltungen den Registern
Die Arbeitsweise
Die Arbeitsweise der gezeigten Anordnung wird nun unter Bezugnahme auf die Tabellen III und IV
erläutert.
Code
ADDY1IXR
CLA Y, IXR
Bedeutung
10
zugeordnet sind, durch die Anordnung von Befehlen in einem der Programme, beispielsweise im Überwachungsprogramm
MP, die ein drittes Programm zum vollständigen Ersatz des anderen Programms,
z. B. des Problemprogramms PP, bewirken. Alle Register
müssen, wie auch bei den bekannten Anordnungen, geleert und daraufhin gefüllt werden in Erwartung
des dritten Programms. Ein Befehl am Ende dieser Austauschroutine erzeugt ein Signal auf der
Leitung 83 zur Löschung aller vorausgehenden Anzeigen für die Ausführung des dritten Programms.
Das dritte Programm teilt sich daraufhin in den Rechner mit dem ersten Programm (in diesem Beispiel
das Überwachungsprogramm MP) an Stelle des zweiten Programms (Problemprogramm). In dieser
Weise können eine Anzahl Programme durch Einsetzen in eines oder das andere von zwei Programmen,
in die sich der Rechner teilt, durchgeführt werden. Da weiterhin durch zusätzliche Anzeigeschaltungen
sich mehr als zwei Programme in einen ao Rechner teilen können, sind zusätzliche Kombinationen
von Aufteilung und Austausch möglich.
Code
35 STZY, IXR
30
35
40
Der Inhalt einer Speicherstelle im Speicher 1, die durch Addition der
Nummer im Adreßfeld Y zum Inhalt des Indexregisters mit dem Kennzeichnungsfeld
IXR bestimmt ist, wird algebraisch zu der in der arithmetischen und logischen Einheit 5 gespeicherten
Nummer addiert.
Der Inhalt einer Speicherstelle des Speichers 1, die durch Addition der Nummer im Adreßfeld Y zum Inhalt des Indexregisters mit dem Kennzeichnungsfeld/Zi? bestimmt ist, wird in die arithmetische und logische Einheit 5 eingespeichert.
Die Operation des Rechners wird unterbrochen.
Der Inhalt einer Speicherstelle des Speichers 1, die durch Addition der Nummer im Adreßfeld Y zum Inhalt des Indexregisters mit dem Kennzeichnungsfeld/Zi? bestimmt ist, wird in die arithmetische und logische Einheit 5 eingespeichert.
Die Operation des Rechners wird unterbrochen.
Bedeutung
LXAY,IXR Der Inhalt einer Speicherstelle des Speichers 1, die durch Adreßfeld Y
bestimmt ist, ersetzt den Inhalt des Indexregisters, welches das Kennzeichnungsfeld
IXR aufweist.
PAXO, IXR Eine in der arithmetischen und logischen
Einheit 5 gespeicherte Nummer ersetzt den Inhalt des Indexregisters, welches das Kennzeichnungsfeld IXR
aufweist.
PXAO, IXR Der Inhalt des Indexregisters mit dem Kennzeichnungsfeld IXR wird
in die arithmetische und logische Einheit 5 eingespeichert.
STO Y, IXR Eine in der arithmetischen und logischen Einheit 5 gespeicherte Nummer
wird in eine Speicherstelle im Speicher 1 eingespeichert, die durch die Addition der Nummer im Adreßfeld Y
zum Inhalt des Indexregisters mit dem Kennzeichnungsf eldIXR bestimmt ist.
Der Inhalt der Speicherstelle des Speichers 1, die durch Addition der Nummer im Adreßfeld Y zu dem Inhalt
des Indexregisters mit dem Kennzeichnungsfeld IXR bestimmt ist, wird auf Null gestellt.
SUBY, IXR Der Inhalt einer Speicherstelle des Speichers 1, die durch Addition der
Nummer im Adreßfeld Y zum Inhalt eines Indexregisters mit dem Kennzeichnungsfeld
IXR bestimmt ist, wird algebraisch subtrahiert von einer in der arithmetischen und logischen
Einheit 5 gespeicherten Nummer.
TRAY,IXR Der Rechner nimmt den nächsten Befehl von einer Speicherstelle des
Speichers 1, die durch Addition der Nummer im Adreßfeld Y zum Inhalt des Indexregisters mit dem Kennzeichnungsfeld
IXR bestimmt ist.
Die Tabelle III erklärt die Bedeutung von bestimmten Befehlen, welche durch bekannte Rechner
ausgeführt werden können und im vorliegenden Zusammenhang zur Darstellung der Arbeitsweise der
Einrichtung gemäß der Erfindung dienen.
Pro | PPIC | Problem | MPIC | Überwachungs | XA | IRA | Inhalt | XB | IRB | Inhalt | |
Qr1Ii ritt | gramm | 10 | programm | 9 | programm | 0 | 0000 | 0 | 0000 | ||
ΟΙΊΛΙΙΙΙ | schalter | Befehls | Befehls | 0 | YA | 0101 | 0 | YB | 0000 | ||
98 | 314 | ausführung | 430 | ausführung | 0 | 0 | 0101 | 0 | 0 | 0000 | |
1 | PP | 315 | STZ 145,0 | 430 | 1 | 1 | 1111 | 0 | 0 | 0000 | |
2 | PP | 316 | LXA 50, IRA | 430 | — | 1 | 1 | 1111 | 0 | 0 | 0000 |
3 | PP | 317 | CLA 6, IRA | 430 | — | 1 | 0 | 0011 | 0 | 0 | 0000 |
4 | MP | 317 | — | 431 | PXA 0, IRA | 1 | 0 | 0011 | 0 | 0 | 0000 |
5 | MP | 317 | — | 432 | SUB 70, IRA | 1 | 0 | 0011 | 0 | 0 | 0000 |
6 | MP | 317 | 433 | PAX 0,IRA | 1 | 0 | 0011 | 0 | 0 | 0000 | |
7 | MP | 317 | 434 | CLA 68, IRA | 0 | 0 | 0101 | 0 | 0 | 0000 | |
8 | MP | 317 | 435 | TRA PP, 0 | 0 | 0 | 0101 | 0 | 1 | 0000 | |
9 | PP | 318 | ADD 7, IRB | 435 | — | 1 | 1 | ||||
10 | PP | 319 | STO 145, IRA | 435 | — | 1 | 1 | ||||
11 | PP | HLT | — | ||||||||
609 608/330
Die Tabelle IV zeigt die Ordnung, in welcher elf Befehle von zwei Programmen ausgeführt werden,
wobei der Programmschalter 98 von der dem Problemprogramm zugeordneten Schaltstellung PP zu
der dem Überwachungsprogramm zugeordneten Schaltstellung MP und zurückgeschaltet wird. Die
Tabelle IV zeigt ferner den Inhalt von zwei Indexregistern IRA und IRB während dieser Operationen.
Ursprünglich befindet sich der Programmschalter 98 in seiner dem Problemprogramm zugeordneten
Schaltstellung PP, das mit einem Befehl (STZ 145, 0) beginnt. Dieser Befehl ist in der Speicherstelle 314
des Speichers 1 -enthalten. Die Indexregister IRA und
IRB sind ursprünglich in Null-Stellung, und die zugeordneten Anzeigeschaltungen XA, XB, YA und
YB sind ebenfalls auf Null gestellt.
. Während des Schrittes 1 wird der Inhalt (314) des dem Problemprogramm zugeordneten Befehlszähler 10 über das Tor 23 zum Adreßregister 3 übertragen, wodurch der Befehl (STZ 145,0) in das Puffer-Speicherregister 2 eingestellt wird. Der Programmimpulsgeber 8 sendet am Anfang ein Signal auf der Leitung 11. Der laufende Befehl (STZ 145, 0) wird in das Speicherregister 4 eingegeben, und der Operationsteil (STZ) sowie das Kennzeichnungsfeld für Indexregister gelangen über das Tor 24 in das Befehlsregister 6. Der Befehlsdecodierer erkennt den Befehl im Befehlsregister 6 als einen, welcher Nullen in ein bestimmtes Speicherfeld (145) speichert und welcher kein Indexregister verwendet. Der Programmimpulsgeber 8 beendet das Signal auf der Leitung 11 und sendet ein U-Zyklus-Signal auf der Leitung 12, und das Adreßfeld (145) wird über die arithmetische und logische Einheit 5, deren Ausgang 37 und die Leitung 35 zum Adreßregister 3 übertragen. Die Daten in der Speicherstelle 145 des Speichers 1 werden daraufhin über das Puffer-Speicherregister 2 und das Speicherregister 4 zu der arithmetischen und logischen Einheit 5 gebracht Die Ausführung dieses Befehls wird durch die Speicherung von Nullen im Speicherplatz 145 des Speichers 1 vollendet. Da dieser Befehl von keinem der Indexregister Gebrauch gemacht hat, ändert sich der Schaltzustand der Anzeigeschaltungen XA, XB, YA und YB, die mit den Indexregistern IRA und IRB verbunden sind, nicht. Auf Leitung 42 des Programmimpulsgebers erscheint ein Signal, welches den Befehlszähler 10 auf die Adresse (315) des nächsten Befehls (LXA 50, IRA) weiterschaltet. Das E-Zyklus-Signal auf Leitung 12 wird beendet und ein erneutes Signal auf Leitung 11 tritt auf.
. Während des Schrittes 1 wird der Inhalt (314) des dem Problemprogramm zugeordneten Befehlszähler 10 über das Tor 23 zum Adreßregister 3 übertragen, wodurch der Befehl (STZ 145,0) in das Puffer-Speicherregister 2 eingestellt wird. Der Programmimpulsgeber 8 sendet am Anfang ein Signal auf der Leitung 11. Der laufende Befehl (STZ 145, 0) wird in das Speicherregister 4 eingegeben, und der Operationsteil (STZ) sowie das Kennzeichnungsfeld für Indexregister gelangen über das Tor 24 in das Befehlsregister 6. Der Befehlsdecodierer erkennt den Befehl im Befehlsregister 6 als einen, welcher Nullen in ein bestimmtes Speicherfeld (145) speichert und welcher kein Indexregister verwendet. Der Programmimpulsgeber 8 beendet das Signal auf der Leitung 11 und sendet ein U-Zyklus-Signal auf der Leitung 12, und das Adreßfeld (145) wird über die arithmetische und logische Einheit 5, deren Ausgang 37 und die Leitung 35 zum Adreßregister 3 übertragen. Die Daten in der Speicherstelle 145 des Speichers 1 werden daraufhin über das Puffer-Speicherregister 2 und das Speicherregister 4 zu der arithmetischen und logischen Einheit 5 gebracht Die Ausführung dieses Befehls wird durch die Speicherung von Nullen im Speicherplatz 145 des Speichers 1 vollendet. Da dieser Befehl von keinem der Indexregister Gebrauch gemacht hat, ändert sich der Schaltzustand der Anzeigeschaltungen XA, XB, YA und YB, die mit den Indexregistern IRA und IRB verbunden sind, nicht. Auf Leitung 42 des Programmimpulsgebers erscheint ein Signal, welches den Befehlszähler 10 auf die Adresse (315) des nächsten Befehls (LXA 50, IRA) weiterschaltet. Das E-Zyklus-Signal auf Leitung 12 wird beendet und ein erneutes Signal auf Leitung 11 tritt auf.
Während des Schrittes 2 wird der nächste Befehl (LXA 50, IRA) aus dem Speicher 1 entnommen und
in der gleichen Weise interpretiert, wie es vorausgehend für den Befehl STZ 145, 0 beschrieben wurde.
Im Gegensatz zu dieser vorausgehenden Instruktion verwendet der vorliegende Befehl jedoch ein Indexregister.
Er dient insbesondere dazu, ein Indexregister IRA mit dem Inhalt einer Speicherstelle (50)
des Speichers 1 zu laden. Der Programmimpulsgeber 8 liefert über Leitung 13 ein Signal zu der Abfühlsteuerschaltung
48, das die Tore 66 bis 69 öffnet. Da das bezeichnete Indexregister IRA vorausgehend
durch ein Programm nicht verwendet wurde, empfängt die Abfühlsteuerschaltung 48 Signale auf den
Leitungen 75 (XA = 0) und 77 (YA = 0), die durch die Tore 66 und 68 laufen, im weiteren aber wirkungslos
bleiben. Das Adreßfeld (50) der laufenden Instruktion (LXA 50, IRA) wird in das Adreßregister
3 eingestellt. Es bewirkt eine Übertragung des Inhalts der Speicherstelle 50 im Speicher 1 zum
Puffer-Speicherregister 2. Bei diesem Inhalt handelt es sich um die Nummer (5), die in das Indexregister
IRA über ein nicht gezeigtes Kabel vom Puffer-Speicherregister
2 übertragen wird. Wenn ein Signal t3 vom Programmimpulsgeber 8 erzeugt wird, gelangt
das Signal auf Leitung 13 zu den Einstellsteuerschaltungen 45 über das Tor 101. Da ein Problemprogramm
verarbeitet wird, erscheint auch ein Signal auf Leitung 18. Es ergibt sich daraus ein Ausgangssignal auf der Leitung 84 der UND-Schaltung
54, das seinerseits Signale auf der Xy4-Rückstell-Leitung
79 und auf der Y^i-Einstell-Leitung 82 auflöst.
Die Anzeigeschaltung XA speichert daraufhin ein Null-Bit, und die Anzeigeschaltung YA speichert
ein Eins-Bit. Es erscheint ein Signal auf der Ausgangsleitung 42 des Programmgebers 8, um den
ao Befehlszähler 10 auf die Adresse des nächsten Befehls (316) weiterzuschalten.
Während des Schritts 3 wird die nächste Instruktion (CLA 6, IRA) von der Speicherstelle 316 im
Speicher 1 in einer vorausgehend beschriebenen Weise entnommen. Diese Instruktion ist Teil des
Problemprogramms und verwendet ein Indexregister IRA, das vorausgehend durch einen Befehl des
gleichen Programms gefüllt wurde, für die Modifizierung seines Adreßfeldes (6). Der Programmimpulsgeber
liefert ein Signal auf der Leitung 13, das zu den Toren 66 bis 69 der Abfühlsteuerschaltung
48 gelangt. Die Schaltstellung der Anzeigeschaltungen XA (= 0) und YA (— 1) bewirken Ausgangssignale
von den Torschaltungen 66 und 69 an die UND-Schaltungen 58 und 61. Da ein Problemprogramm
in Bearbeitung ist, wird keine dieser UND-Schaltungen durch das Signal auf Leitung 18 betätigt.
Es erscheint daher kein Ausgangssignal von der IRA-Abfühlsteuerschaltung 48, und der Inhalt des
Indexregisters IRA wird verwendet. Wenn der Programmimpulsgeber 8 ein Signal i3 abgibt, wird das
Tor 105 geöffnet, und der Inhalt (0101) des Indexregisters/i?^
wird in die arithmetische und logische Einheit 5 für eine Addition zu der Adresse (6) des
laufenden Befehls (CLA 6, IRA) übertragen. Das Ergebnis (der Dezimalwert 11) von Leitung 37 wird
zu dem Adreßregisters geführt, um ein Datenwort aus dem Speicher 1 zu entnehmen, welches in die
arithmetische und logische Einheit 5 eingespeichert wird. Auf Leitung 42 erseheint von dem Programmimpulsgeber
8 ein Signal, das den Befehlszähler 10 auf die Stelle (317) der nächsten Instruktion (ADD 7,
IRB) des Problemprogramms weiterschaltet. Dieser Befehl, der die Addition einer Nummer zu der soeben
in die arithmetische und logische Einheit 5 eingestellten Nummer beabsichtigt, wird jedoch im
Augenblick nicht ausgeführt, da der Programmschalter 98 umgeschaltet wurde zur Anzeige dafür,
daß ein Überwachungsprogramm auszuführen ist.
Während des Schritts 4 wird ein Befehl (PXA 0, IRA) auf einer Adresse (430), die durch den dem
Überwachungsprogramm zugeordneten Befehlszähler 9 bezeichnet wird, aus dem Speicher 1 entnommen
und in der in Verbindung mit den Problemprogramminstruktionen beschriebenen Weise
interpretiert. Dieser Befehl (PXA 0, IRA) gibt an, daß der Inhalt des Indexregisters IRA in die arithmetische
und logische Einheit 5 eingespeichert
werden soll. Der gegenwärtige Inhalt (0101) des Indexregisters IRA ist jedoch nicht der Inhalt, auf den
sich der Befehl (PXA 0, IRA) bezieht, da der gegenwärtige Inhalt durch ein anderes Programm (Problemprogramm)
eingestellt worden ist. Der gegenwärtige Inhalt des Indexregisters IRA muß daher in
den Speicher 1 geleert werden, und eine entsprechende Größe für das Überwachungsprogramm muß
aus dem Speicher 1 entnommen werden. Der Programmimpulsgeber 8 liefert ein Signal auf Leitung
13, das die Torschaltungen 66 bis 69 öffnet, wodurch Ausgangssignale vom Tor 66, das ein Eingangssignal
XA = 0 aufweist, und vom Tor 69, das ein Eingangssignal YA = 1 aufweist, ausgelöst
werden. Ein Signal auf der MP-Leitung 19 ergibt ein Ausgangssignal an der UND-Schaltung 58, das als
Eingangssignal der UND-Schaltung 61 dient. Wenn ein Signal ti vom Programmimpulsgeber8 zur UND-Schaltung
61 gelangt, so liefert diese auf Leitung 88 ein Signal, das über die ODER-Schaltungen 63 und
64 zur Betätigung der Tore 25 und 71 dient. Der gegenwärtige Inhalt (0101) des Indexregisters IRA
wird somit in eine durch das Problembereich-Adreßregister 52 bezeichneten Speicherstelle des
Speichers 1 geleert. Der Inhalt des Adreßregisters 52 (0101) wird hierzu über das Tor 71 und das Kabel
36 zum Adreßregister 3 übertragen. Daraufhin wird mit Auftreten eines Signals ti am Programmimpulsgeber
8 ein Ausgangssignal von den ODER-Schaltungen 62 und 65 erhalten, das die Tore 27 und 70
öffnet. Diese bewirken, daß das Indexregister IRA mit dem Inhalt einer Speicherstelle des Speichers 1
geladen wird, die durch das Überwachungsbereich-Adreßregister 52 angegeben wird, dessen Inhalt
(1111) über das Tor 70 und das Kabel 36 zum Adreßregisters gebracht wird. Der Inhalt (1111)
dieser Adresse wird in das Puffer-Speicherregister 2 eingespeichert und daraufhin durch Betätigung des
Tors 27 in das Indexregister IRA übertragen. Wenn diese Operation vollendet ist, erscheint ein Signal t2>
vom Programmimpulsgeber 8 zur Betätigung der Torschaltung 105, welche den Inhalt (1111) des Indexregisters
IRA zu der arithmetischen und logischen Einheit 5 überträgt in Übereinstimmung mit dem
laufenden Befehl (PXA 0, IRA). Es wird daran erinnert, daß während des Schrittes 3 die Instruktion
(CLA 6, IRA) des Problemprogramms eine Nummer in die arithmetische und logische Einheit 5 eingestellt
hat. Es erscheint hier nicht erforderlich, zuerklären, wie diese Nummer in den Speicher 1 geleert
wird vor dem Einstellen des Inhalts des Indexregisters IRA in die Einheit 5 in Übereinstimmung
mit dem laufenden Befehl, da alle Register im Rechner entsprechend der vorliegenden Erfindung ausgebildet
sein können, wie es im Detail mit Bezug auf die Indexregister IRA erklärt wurde. Zur Zeit i3
erscheint auch ein Signal auf der Leitung 13, welches durch das Tor 101 zur Einstellsteuerschaltung 45
läuft. Da ein Signal auf der MP-Leitung 19 vorliegt, wird ein Ausgangssignal auf Leitung 85 von der
UND-Schaltung 55 geliefert, welches Signale auf der X./4-Einstell-Leitung 80 und auf der Y;4-Rückstell-Leitung
81 auslöst. Ein Eins-Bit wird daher in die Anzeigeschaltung XA und ein Null-Bit in die Anzeigeschaltung
YA eingespeichert. Der Befehlszähler 9 wird um Eins erhöht zur Anzeige der Stelle (431) der nächsten Instruktion (SUB 70,
IRA).
Während der Schritte 5 bis 8 werden vier Befehle des Uberwachungsprogramms ausgeführt, welche in
der Tabelle III erläuterte Operationen erfüllen. Ein jeder dieser Befehle verwendet den Inhalt des Indexregisters
IRA. Einer der Befehle (PAXO, IRA) modifiziert
den Inhalt des Indexregisters IRA, während ein anderer Befehl (TRA PP, 0) eine Übertragung
zurück zum Problemprogramm bewirkt. Die Mittel, durch welche dies verwirklicht wird, sind in dei
Zeichnung nicht gezeigt. Aber es ist einleuchtend, daß der Schalter 98 direkt durch einen Befehl betätigt
werden kann oder daß der Befehl einen Indikator einstellt, welcher ein Signal an ein Betätigungsmittel liefert zur Umschaltung des Schalters 98.
Während des Schrittes 9 wird das Problemprogramm wieder aufgenommen mit der Ausführung des
Befehls (ADD 7, IRB), der das vorausgehend nicht benutzte Indexregister IRB verwendet. Bei der Ausführung
dieses Befehls wird der Inhalt (0000) des Indexregisters IRB benutzt, und daher liefert die
Einstell-Steuerschaltung 45 Signale auf der XA-Rückstell-Leitung 79 und der Y;4-Einstell-Leitung
82 als Antwort auf die Eingangsimpulse auf den Leitungen 15 und 18. Wie vorausgehend erläutert,
wird der Inhalt der arithmetischen und logischen Einheit 5 ebenfalls ausgetauscht in Übereinstimmung
mit dem laufenden Programm in der gleichen Weise wie die Indexregister. Der Befehlszähler 10 des Problemprogramms
wird durch ein Signal auf Leitung 42 weitergeschaltet.
Während des Schrittes 10 wird die nächste Instruktion (STO 145, IRA) des Problemprogramms
ausgeführt. Diese Instruktion bezieht sich auf Indexregister/i?.<4
für den Zweck der Modifizierung des eigenen Adreßfeldes (145). Der hierzu bestimmte
Modifizierungsbetrag ist jedoch nicht derjenige, der gegenwärtig im Indexregister IRA steht, da der
gegenwärtige Inhalt (0011) das Resultat einer Operation während des Uberwachungsprogramms ist. Ein
Signal auf Leitung 13 öffnet die Tore 66 und 68, die Eingangssignale auf den Leitungen XA (=1) und
YA (=0) empfangen. Als Resultat dieser Signale und eines Signals von der Leitung 18 werden ein
Ausgangssignal der UND-Schaltung 59 ausgelöst und der UND-Schaltung 60 zwei Eingangssignale
zugeführt. Zur Zeit ti erscheinen Signale auf der die Registerleerung steuernden Leitung 91 und auf der
die Adressierung des Überwachungsbereichs steuernden Leitung 93, die gefolgt sind zur Zeit ti durch
Signale auf einer Leitung 90 für die Ladefunktion und auf einer Leitung 92 für die Adressierung des
Problembereichs. Diese Signale bewirken, daß der gegenwärtige Inhalt (0011) des Indexregisters IRA
in eine Speicherstelle geleert wird, die durch das Überwachungsbereich-Adreßregister 51 angegeben
wird, und daß der Inhalt (0101) der durch das Problembereich-Adreßregister 52 bezeichneten Adresse
in das Indexregister IRA geladen wird. Der Inhalt (0101) des Indexregisters IRA wird daraufhin zur
Zeit t2> durch das Tor 105 zur Modifizierung der
Adresse des laufenden Befehls in die arithmetische und logische Einheit 5 gebracht. Während dieses
Schrittes werden auch die Anzeigeschaltungen XA und YA des Indexregisters IRA durch Signale auf
der JO-Rückstell-Leitung 79 und auf der Y^4-Einstell-Leitung
82, wie vorausgehend beschrieben, eingestellt, so daß sie die Verwendung des Indexregisters
IRA durch das Problemprogramm wiedergeben. Der
Befehlszähler 10 des Befehlsprogramms wird daraufhin auf die nächste Instruktion (HLT) geschaltet.
Dieser elfte Befehlsschritt beendet die Operation des Rechners. Es wurde eine Einrichtung beschrieben,
die es gestattet, daß sich eine Vielzahl Programme in die Benutzung eines einzelnen Rechners
teilen. Jedes Register im Rechner kann mit Anzeigeschaltungen versehen sein, die Signale zur Anzeige
dafür speichern, zu welchem Programm der Inhalt der Register gehört. Wenn ein Befehl, der auf ein
bestimmtes Register Bezug nimmt, zu einem anderen Programm gehört als derjenige Befehl, zu welchem
der Inhalt des Registers gehört, wird der Inhalt des Registers automatisch geleert und daraufhin mit
einer Information geladen, die dem laufenden Programm entspricht. Der Inhalt der Register ist daher
nur insofern verschiedenen Programmen'zugeordnet, als er sich auf die Programme bezieht, ohne daß
eine Leerung oder Wiederladung eines jeden Registers ohne Rücksicht auf dessen Verwendung vor
der Ausführung eines jeden Programms nötig ist.
Claims (11)
1. Datenverarbeitungseinrichtung mit einer Mehrfachprogrammeinrichtung und mit Registern,
die von Befehlen verschiedener Programme wahlweise benutzt werden, dadurch gekennzeichnet,
daß den Registern oder zumindest einem Teil derselben Anzeigeschaltungen (X, Y) zur Markierung der jeweils letzten Benutzung
zugeordnet sind, die bei Aufruf eines Registers zur Steuerung seiner Verwendung innerhalb
eines laufenden Befehls dienen.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Anzeigeschaltungen (Z, Y)
zur Markierung der Zugehörigkeit oder Nichtzugehörigkeit des Registerinhalts zum jeweils
wirksamen Programm dienen und daß Steuerschaltungen (48 bis 50) vorgesehen sind, die mit
den Anzeigeschaltungen gekoppelt sind und bei Aufruf eines Registers einen Austausch des Registerinhalts
nur dann veranlassen, wenn dieser zu einem anderen als dem jeweils wirksamen Programm gehört.
3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Anzeigeschaltung eines
Registers aus mehreren Speicherelementen (X, Y) besteht, deren Anzeige-Signalkombinationen den
verschiedenen Programmen und einem Nicht-Benutzt-Zustand zugeordnet sind.
4. Einrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Abfübisteuerschaltungen
(48 bis 50) eingangsseitig einerseits zur Anzeige des ausgewählten Programms mit einem Programmwähler (98) und andererseits
zur Anzeige des zuletzt im Register wirksam gewesenen Programms mit den Anzeigeschaltungen
(X, Y) verbunden sind und Vergleichs- und Entschlüsselungsmittel (58 bis 61) aufweisen,
über die Steuersignale für die Funktionen »Register Leeren nach Speicher« oder »Register
Laden von Speicher« ableitbar sind, wenn eine Nichtübereinstimmung zwischen dem ausgewählten
und dem zuletzt im Register wirksam gewesenen Programm vorliegt.
5. Einrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß eine mit dem
Programmwähler (98) verbundene Einstellvorrichtung (45 bis 47) für jedes Register vorgesehen
ist, welche die Anzeigeschaltungen (X, Y) eines Registers bei dessen Aufruf entsprechend dem
jeweils ausgewählten Programm einstellt.
6. Einrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß zur Datenübertragung
zwischen den Registern und einem Speicher und umgekehrt Übertragungsschaltungen vorgesehen sind, die von den Ausgangssignalen
der Abfühlsteuerschaltungen (48 bis 50) betätigt werden.
7. Einrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Abfühlsteuerschaltungen
(48 bis 50) Adreßregister (51, 52) zur Aufnahme von Speicheradressen für den Programmen zugeordnete Bereiche des Speichers
(1) aufweisen und daß von den Vergleichsund Entschlüsselungsmitteln (58 bis 61) mit den
Signalen für das Leeren des Registers ein Steuersignal zur Übertragung der Speicherbereichsadresse des vorausgehenden Programms in ein
Adreßregister (3) des Speichers (1) und mit den Signalen für das Laden des Registers ein Steuersignal
zur Übertragung der Speicherbereichsadresse des laufenden Programms in das Adreßregister
des Speichers ableitbar ist.
8. Einrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Anzeigeschaltungen
(X, Y) zusätzliche Speicherstellen des jeweiligen Registers sind.
9. Einrichtung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Anzeigeschaltungen
(X, Y) separate bistabile Kippstufen sind, die in Zuordnung zu den Registern stehen.
10. Einrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß ein Programmimpulsgeber
(8) Signalausgänge (ti, ti) aufweist, die mit den Abfühlsteuerschaltungen
(48 bis 50) verbunden sind und das zeitliche Auftreten der Steuerimpulse für die Funktion Leeren
nach Speicher« vor den Steuerimpulsen für die Funktion »Laden von Speicher« sicherstellen.
11. Einrichtung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß der Programmimpulsgenerator
(8) einen mit den Einstellvorrichtungen (45 bis 47) verbundenen Signalausgang (83) zur Rückstellung der Anzeigeschaltungen
(X, Y) in die Aus-Stelung besitzt, der bei von der Funktion der Anzeigeschaltungen unabhängigem,
programmiertem Austausch der Registerinhalte betätigbar ist.
Hierzu 1 Blatt Zeichnungen
609 608/330 7.66 © Bundesdruckerei Berlin
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US224695A US3245047A (en) | 1962-09-19 | 1962-09-19 | Selective data transfer apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1222289B true DE1222289B (de) | 1966-08-04 |
Family
ID=22841768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ24415A Pending DE1222289B (de) | 1962-09-19 | 1963-09-13 | Datenverarbeitungseinrichtung |
Country Status (3)
Country | Link |
---|---|
US (1) | US3245047A (de) |
DE (1) | DE1222289B (de) |
GB (1) | GB996790A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1933685A1 (de) * | 1968-07-05 | 1970-01-08 | Ibm | Simultan arbeitende Datenverarbeitungsanlage |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3373408A (en) * | 1965-04-16 | 1968-03-12 | Rca Corp | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
US3374466A (en) * | 1965-05-10 | 1968-03-19 | Ibm | Data processing system |
US3477063A (en) * | 1967-10-26 | 1969-11-04 | Ibm | Controller for data processing system |
US3676852A (en) * | 1970-07-20 | 1972-07-11 | Ibm | Multiple program digital computer |
US3833889A (en) * | 1973-03-08 | 1974-09-03 | Control Data Corp | Multi-mode data processing system |
US3868644A (en) * | 1973-06-26 | 1975-02-25 | Ibm | Stack mechanism for a data processor |
JPS6349945A (ja) * | 1986-08-20 | 1988-03-02 | Nec Corp | デ−タ処理装置のプロセス・ロ−ルイン方式 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL229160A (de) * | 1958-06-30 | |||
US3029414A (en) * | 1958-08-11 | 1962-04-10 | Honeywell Regulator Co | Information handling apparatus |
US3142043A (en) * | 1960-07-28 | 1964-07-21 | Honeywell Regulator Co | Information handling apparatus for distributing data in a storage apparatus |
-
1962
- 1962-09-19 US US224695A patent/US3245047A/en not_active Expired - Lifetime
-
1963
- 1963-09-12 GB GB35901/63A patent/GB996790A/en not_active Expired
- 1963-09-13 DE DEJ24415A patent/DE1222289B/de active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1933685A1 (de) * | 1968-07-05 | 1970-01-08 | Ibm | Simultan arbeitende Datenverarbeitungsanlage |
Also Published As
Publication number | Publication date |
---|---|
GB996790A (en) | 1965-06-30 |
US3245047A (en) | 1966-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1549532C2 (de) | Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten | |
DE2702090C3 (de) | Datenverarbeitungssystem mit einem zentralen Prozessor | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2844357A1 (de) | Speichererweiterung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE1168127B (de) | Schaltungsanordnung zum Vergleich von Zahlen | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE1549522B1 (de) | Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner | |
DE2219918A1 (de) | Programmierbares Steuergerät | |
DE2424820B2 (de) | Einrichtung zur Durchsuchung eines Datenspeichers | |
DE3500804A1 (de) | Unterbrechungssteuerkreis | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE2039040B2 (de) | Verfahren zum steuern des datenaustauschs zwischen einer zentralstation und mindestens einer von mehreren unterstationen und unterstation zur durchfuehrung eines solchen verfahrens | |
DE1499182B2 (de) | Datenspeichersystem | |
DE2148956C3 (de) | Datenübertragungssystem | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE2363846A1 (de) | Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage | |
DE1189294B (de) | Datenverarbeitungsanlage | |
DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
DE1222289B (de) | Datenverarbeitungseinrichtung | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2745204A1 (de) | Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage | |
DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE1549434A1 (de) | Datenverarbeitungsanlage |