DE1222289B - Datenverarbeitungseinrichtung - Google Patents

Datenverarbeitungseinrichtung

Info

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
Application number
DEJ24415A
Other languages
English (en)
Inventor
Gerrit Anne Blaauw
Orville Goering
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1222289B publication Critical patent/DE1222289B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving 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

BUNDESREPUBLIK DEUTSCHLAND
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)
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.
Tabelle I
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.
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.
Tabelle II
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.
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.
Tabelle III
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.
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.
Tabelle IV
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 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)

Patentansprüche:
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
DEJ24415A 1962-09-19 1963-09-13 Datenverarbeitungseinrichtung Pending DE1222289B (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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