DE2245284A1 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2245284A1 DE2245284A1 DE2245284A DE2245284A DE2245284A1 DE 2245284 A1 DE2245284 A1 DE 2245284A1 DE 2245284 A DE2245284 A DE 2245284A DE 2245284 A DE2245284 A DE 2245284A DE 2245284 A1 DE2245284 A1 DE 2245284A1
- Authority
- DE
- Germany
- Prior art keywords
- command
- register
- memory
- processing unit
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
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)
- Test And Diagnosis Of Digital Computers (AREA)
Description
1 Böblingen, 4. September 1972
km-we/fr/ba
Anmelderin: IBM Deutschland GmbH
Pascalstr. 100 7000 Stuttgart 80
Amtl. Aktenzeichen: Neuanmeldung
Aktenzeichen der Anmelderin: GE 972.015
Die Erfindung betrifft eine Datenverarbeitungsanlage mit mehreren gespeicherten, Programmbefehlsfolgen, mit einer Schaltung „zur
sequentiellen Entnahme der Programmbefehle aus einem zugeordneten Speicher, mit einer Schaltung zur Befehlsinterpretation und mit
von dieser gesteuerten Ausführungsschaltungen.
In programmgesteuerten Datenverarbeitungsanlagen besitzen die
Befehlsworte üblicherweise ein vorgegebenes Format, das für den gesamten Befehlssatz einheitlich ist. Dieses Befehlsformat besteht
aus einer Anzahl Bitstellen für den Operationscode, der
die auszuführende Operation bestimmt, und aus einer weiteren Anzahl
Bitstellen zur Darstellung einer oder mehrerer Operandenadressen. Dieses starre Befehlsformat beschränkt die Ausnutzung
der Bitstellen der Befehlswörter, da für jedes Befehlswort
stets die volle Bitstellenzahl für das Adressenfeld und auch für das OperationscodefeId reserviert werden muß, obwohl die
volle Stellenzahl bei vielen Befehlen nicht mit signifikanter Information belegt ist. Es sind deshalb Vorschläge bekanntgeworden,
das starre Befehlsformat zu verlassen und in Abhängigkeit von besonderen Bitstellen der Befehlswörter festzulegen, wie groß
das Adressenfeld und das Operationscodefeld sein soll (deutsches Patent 1 101 823). Ein nach diesen Vorschlägen aufgebautes Re-
A098U/0595
chengerät weist eine Befehlsdecodierschaltung auf, die aus mehreren Teilschaltungen besteht, von denen die einen den Inhalt der
besonderen Bitstellen zugeführt erhalten und Auswahl-Steuersignale liefern, welche die anderen Teilschaltungen zur Decodierung
des Operationscodes wirksam machen. Hierbei wird auch festgelegt,
welche Bitstellen als Operandenadressen zu benutzen sind.
Es ist ferner bekannt, bei Datenverarbeitungsanlagen das starre Befehlsformat dadurch zu erweitern, daß die Anlage wahlweise in
zwei unterschiedlichen Adressier-Betriebsarten arbeitet (deutsche Offenlegungsschrift 1 499 193). In der einen Adressier-Betriebsart
werden Befehlswörter mit einem aus zwei Zeichen bestehenden Adressenfeld und in der anderen Adressier-Betriebsart werden
Befehlswörter mit einem aus drei Zeichen bestehenden Adressenfeld benutzt. Jeder Betriebsart ist ein eigener Datenflußweg zugeordnet.
Zur Umschaltung von der einen auf die andere Adressier-Betriebsart dienen Umschaltbefehle, die eine Kippschaltung einstellen,
welche die Auswahl eines Datenflußweges steuert, der der verlangten Adressier-Betriebsart entspricht.
Durch diese bekannten Einrichtungen ist es zwar in einem gewissen Maße möglich, vom vorgegebenen Befehlsformat abzuweichen und dadurch
die Programmierung und den Betrieb der Datenverarbeitungsanlage hinsichtlich der Speicheradressierung flexibler zu gestalten.
Der Betrieb der Datenverarbeitungsanlage ist aber an den einmal festgelegten Befehlssatz gebunden, der entsprechend viele Befehlstypen
aufweisen muß, wenn die Anlage für eine universelle Anwendung vorgesehen ist. Dies hat den Nachteil, daß die Befehlswörter
eine relativ große Stellenzahl besitzen müssen und daß die Programme je nach Länge dementsprechend viel Speicherplatz in Anspruch
nehmen. Ein weiterer Nachteil besteht darin, daß bei Datenverarbeitungsanlagen,
die aus mehreren im Verbund betriebenen Verarbeitungseinheiten bestehen, die Zusammenarbeit der Verarbeitungseinheiten
erheblich erschwert wird und zusätzliche Steuerschaltungen und Pufferspeicher notwendig sind, wenn die zusammengekoppelten
Verarbeitungseinheiten unterschiedliche Maschinen-
4098U/0B9S
sprachen bzw. Befehlssätze benutzen.
Die Aufgabe der Erfindung besteht darin, eine Datenverarbeitungsanlage
anzugeben, die diesen Schwierigkeiten gerecht wird und
eine unmittelbare Verarbeitung unterschiedlicher Maschinensprachen
bzw. Befehlssätze und/oder eine vielseitigere Verwendungsmöglichkeit
vorgegebener Befehlswortformate gestattet. Bei einer elektronischen
Datenverarbeitungsanlage der eingangs angegebenen Art wird dies dadurch erreicht, daß die Ausführungsschaltungen wahlweise
aus unterschiedlichen und voneinander unabhängigen Befehlssätzen bestehende Befehlsfolgen über eine an diese Befehlssätze angepaßte
Schaltung zur Befehlsinterpretation zugeführt erhalten und daß diese Schaltung mittels einer Umschalteinrichtung von der
Interpretation der Befehlsfolge eines Befehlssatzes auf die Interpretation
der Befehlsfolge eines anderen Befehlssatzes durch bei bestimmten Maschinenbedingungen erzeugte Externsignale,
durch während der laufenden Verarbeitung der Befehlsfolgen auftretende
Betriebsartbefehle oder durch Befehle von einer übergeordneten Verarbeitungseinheit umstellbar ist.
Eine vorteilhafte Weiterbildung zur Anwendung der Erfindung bei Datenverarbeitungsanlagen, die aus mehreren Verarbeitungseinheiten
bestehen, kennzeichnet sich dadurch,, daß eine aus einem
Speicher, einer Steuereinheit und einer Ausführungseinheit bestehende erste Verarbeitungseinheit ein erstes Befehlsregister
aufweist, das nacheinander Befehle aus dem Speicher zugeführt erhält und an das zur Interpretation unterschiedlicher Befehlssätze
ausgebildete Befehlsdecodierschaltungen angeschlossen sind, die mit den Schaltungen der Ausführungseinheit und der Steuereinheit
verbunden sind, und daß die erste Verarbeitungseinheit ein zweites Befehlsregister aufweist, das mit den gleichen und/
oder weiteren Befehlsdecodierschaltungen verbunden ist und dessen Eingang mit-einer zweiten Verarbeitungseinheit verbunden ist,
die in Abhängigkeit von einem eigenen Programm oder von Maschinenbedingungen
einer oder beider Verarbeitungseinheiten das zweite Befehlsregister für eine Zuführung von Befehlen zu den Be-
GE 972 O15
4 0981 U/ 0595
fehlsdecodierschaltungen lädt und die Zuführung weiterer Befehle vom ersten Befehlsregister sperrt.
Die Erfindung ermöglicht es in vorteilhafter Welse, daß die in
einer Datenverarbeitungseinheit vorhandenen Datenflußwege wahlweise von Programmen verschiedener Befehlssätze bzw. Programmsprachen
in Anspruch genommen werden können. Sie ermöglicht es ferner, daß diese Datenflußwege unter direkter Steuerung von wenigstens
einer weiteren Verarbeitungseinheit arbeiten können, die ihre eigene Programmiersprache verwendet, welche von der Programmiersprache
der gesteuerten Verarbeitungseinheit unabhängig .ist und daher von dieser Programmiersprache auch verschieden sein
kann.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung
sind aus den Ansprüchen ersichtlich. Nachfolgend ist ein
Ausführungsbeispiel der Erfindung anhand von Zeichnungen beschrieben. Es zeigen:
Fign. IA und IB ein Blockschaltbild einer erfindungsgemäß ausgebildeten
Datenverarbeitungsanlage,
Fign. 2 bis 4 Befehls- und Datenwortformate, wie sie in der
Datenverarbeitungsanlage gemäß Fign. IA und IB
zur Anwendung kommen,
Fig. 5 ein Ablaufschema für den Befehlsablauf in der
Datenverarbeitungsanlage nach den Fign. IA und
IB,
Fig. 6 ein Zeitdiagramm zur Erläuterung der Befehlsmode-Umschaltung
in der Datenverarbeitungsanlage von Fig. IA und IB und
Fign. 7 bis 9 verschiedene Anwendungsbeispiele der erfindungs-
gemäßen Datenverarbeitungsanlage.
GE 972 °15 4098U/0S9S
Die in Fig. IA und IB dargestellte Datenverarbeitungseinheit
ist Teil einer Datenverarbeitungsanlage, die aus mehreren Verarbeitungseinheiten
besteht. Mehrere dieser Verarbeitungseinheiten
sind einander gleichgeordnete Service-Einheiten, die bestimmten Aufgabengebieten zugeordnet sind, wie z.B. der Ausführung
bestimmter Arten von Verarbeitungsprogrammen oder der Ausführung von Steueroperationen zur übertragung von Daten
zwischen den Verarbeitungseinheiten und an diese angeschlossenen
Eingabe/Ausgabeeinheiten. Wenigstens eine der Verarbeitungseinheiten hat die Funktion einer Meister-Verarbeitungseinheit, die
den restlichen Einheiten übergeordnet ist. Die Meister-Verarbeitungseinheit
kann zu beliebigen Zeiten in die Operationen der untergeordneten Verarbeitungseinheiten eingreifen und die dort
laufenden Programme unterbrechen. Die Meister-Verarbeitungseinheit
kann nach einer solchen Programmunterbrechung die betreffende untergeordnete Verarbeitungseinheit zwingen, einzelne
Operationen oder eine Folge von Programmbefehlen unter direkter Steuerung der Meister-Verarbeitungseinheit auszuführen. Bildlich
gesprochen leiht sich die Meister-Verarbeitungseinheit die Maschineneinrichtungen
der ausgewählten untergeordneten Verarbeitungseinheit zur Ausführung zusätzlicher Operationen aus.
In Fig. IA und IB ist eine einzelne der untergeordneten Verarbeitungseinheiten
dargestellt, die aus einem Speicher 11, einer Steuereinheit 12 und einer ,Ausführungseinheit 13 besteht. Die
übrigen untergeordneten Verarbeitungseinheiten, die in Fig. IA
und IB nicht.dargestellt sind, weisen die gleichen Schaltungseinheiten auf. Die Fig. IA und IB zeigt des weiteren eine Verarbeitungseinheit
2, welche die im. vorliegenden Beispiel einzige Meister-Verarbeitungseinheit der dargestellten Datenverarbeitungsanlage
ist. Die Verarbeitungseinheit 2, die in ihrem Aufbau ebenfalls den anderen Verarbeitungseinheiten gleicht,
besitzt einen Speicher 16, eine Steuereinheit 17 und eine Ausführungseinheit 18.
GE 972 °15 4098U/0595
Der Speicher 11 ist ein monolithischer Speicher, der in für sich
bekannter Weise zur Aufnahme von Programmbefehlen und von Daten dient, die unter der Wirkung der Programmbefehle zu verarbeiten
sind. Mit dem Speicher 11 ist eine Adressendecodier- und Steuerschaltung
20 verbunden, über welche der Inhalt des Speichers wahlfrei adressierbar ist und der Speicher für eine Leseoperation
oder eine Schreiboperation steuerbar ist. Die Adressierung des Speichers erfolgt in Abhängigkeit vom Inhalt eines Speicheradreßregisters
22, das bereits Teil der Steuereinheit 12 ist. Der Speicher erhält die einzuspeicherenden Informationen über
eine von zwei Sammelleitungen 23, 24 zugeführt. Der Ausgang des Speichers ist mit einem Register 25 verbunden, das als gemeinsames
Befehls/Datenregister dient.
Ein Speicherwort, d.h. diejenige Anzahl Bits, die mit einem Speicherzugriff gleichzeitig aus dem Speicher gelesen oder in
diesen eingeschrieben wird, kann eines der aus Fig. 2 ersichtlichen Formate haben. Das Speicherwort kann ein Datenwort 27
darstellen. Es kann aber auch ein Befehlswort 30 darstellen, das einem von mehreren Befehlssätzen angehört und eines der
aus Fig. 2 ersichtlichen Befehlswortformate aufweist, die in einem späteren Abschnitt im einzelnen erläutert werden.
Die zu verarbeitenden Daten gelangen vom Befehls/Datenregister
25 über eine Sammelleitung 31 zur Ausftihrungseinheit 13, wo sie
in einem A-Register 33 oder in einem B-Register 34 zwischengespeichert werden. Diese beiden Register sind Operanäenregister
einer Arithmetik/Logik-Einheit 35. Der Inhalt des A-Registers 33 wird dem einen Eingang der Arithmetik/Logik-Einheit 35 zugeführt,
und der Inhalt des B-Registers 34 wird dem anderen Eingang dieser Einheit über einen Inverter 36 zugeführt. Der Inverter 36 hat die
Aufgabe, vom Inhalt des B-Registers 34 das Komplement zu bilden, wie es beispielsweise bei der Ausführung von Subtraktionen benötigt wird. Der Ausgang der Arithmetik/Logik-Einheit 35 ist mit
einem R-Register 38 verbunden, das zur Aufnahme der in der Ein-
GE 972 015
4098U/0595
heit 35 gebildeten Resultatwerte oder der unverändert durch die
Einheit 35 geführten Daten dient. Dieses Register ist einerseits über eine Sammelleitung 39 mit einem sogenannten lokalen
Speicher 40 verbunden, der als Arbeitsspeicher dient und aus einer Anzahl Registern LS REG 1 bis LS REG N besteht. Dem
lokalen Speicher 40 ist eine Adressendecodier-Register und Steuerschaltung 41 zugeordnet, die über Sammelleitungen 42, 44
entsprechend dem Inhalt des Befehls/Datenregisters 25 zur Auswahl eines der Register im Speicher 40 einstellbar ist.
Der Ausgang des lokalen Speichers 40 ist wahlweise über eine
Sammelleitung 47 mit einem der Operandenregister 33 oder 34 koppelbar.
Der Ausgang der R-Registers 38 ist mit einer Sammelleitung 24
verbunden, über die der Inhalt dieses Registers dem Speicher
11 zugeleitet werden kann. Außerdem wird ein hochstelliger
Teil der Resultatausgänge der Arithmetik/Logik-Schaltung 35 über eine Sammelleitung 43 einem Status-Zwischenregister 44
zugeführt, das zur vorübergehenden Speicherung von Bedingungsdaten (z.B. negatives Vorzeichen) dient, die bei den Operationen
der Arithmetik/Logik-Einheit 35 erzeugt werden.
Die Ausführungseinheit 13 erhält somit über die Register 33 und 34 Operanden zugeführt, verarbeitet diese in der Arithmetik/
Logik-Einheit 35 und speichert die Resultate in einem ausgewählten Register des lokalen Speichers 40 oder überträgt sie in den
Hauptspeicher 11. Zu diesem Zweck erhalten die einzelnen Teile der Ausführungseinheit 13 Steuersignale C von der Steuereinheit
12 zugeführt. Diese Steuersignale legen die Art und die zeitliche
Folge der auszuführenden Operationen fest. Z.B. wird der Arithmetik/Logikeinheit
über eine Sammelleitung 45 eine Kombination von Steuersignalen C zugeführt, die diese Einheit zur Ausführung bestimmter
arithmetischer oder logischer Operationen, wie z»B. Addition, UND, ODER, EXKLÜSIV-ODER, steuert. Entsprechende Steuersignale
werden den Registern 33 und 34 zugeführt, um diese Regi-
GE 972 015
4098U/0 595
ster für eine Wertauf nähme von dem entsprechenden Werteingang
zu steuern. Das gleiche trifft auf das Register 38 zu. Die C-Steuersignale
am Eingang des Inverters 36 veranlassen diesen, die Ausgangssignale vom Register 34 entweder unverändert zur
Arithmetik/Logik-Einheit 35 durchzulassen oder vorher zu komplementieren. Die Steuersignale C auf der Sammelleitung 46 veranlassen die Adressendecodier- und Steuerschaltung 41 des lokalen
Speichers 40, ein Register LS REG 1 bis N auszuwählen entsprechend der über die Sammelleitungen 42 oder 44 zügeführten Registeradresse.
Die Signale auf der Sammelleitung 46 steuern außerdem eine Lese- oder Schreiboperation des lokalen Speichers
40. Im Falle einer Schreiboperation nimmt das ausgewählte Register Informationen auf, die über die Sammelleitung 39 dem
Speicher 40 zugeführt werden. Im Falle einer Leseoperation gibt das ausgewählte Register Informationen an die Sammelleitung 47
ab, die diese Informationen zum Register 33 oder 34 Überträgt. Bei diesen Informationen kann es sich um Daten oder um Adressen
handeln. Im letzteren Falle wird aus den Adressen über die Einheit 35 und das Register 38 eine endgültige Speicheradresse
gebildet, die über eine Sammelleitung 48 einem Zwischenspeicher
68 zugeführt wird, wo sie in noch zu beschreibender Weise zur Adressierung des Speichers 11 Verwendung findet. In diesem Zusammenhang
ist zu erwähnen, daß die Arithmetik/Logik-Einheit bei Zuführung einer entsprechenden C-Signalkombination über die
Sammelleitung 45 in der Lage ist, den Inhalt der Register 33 und/oder 34 unverändert dem R-Register 38 zuzuführen. Außerdem
können wahlweise auch Adressen aus dem Speicher 40 über eine Sammelleitung
37 dem Adressenspeicher 68 direkt zugeführt werden.
Die Steuereinheit 12 besteht aus dem bereits erwähnten Befehls/ Datenregister 25, einem in Fig. IA dargestellten Schaltungsteil,
der zur Befehlsinterpretation dient, und einem weiteren Schaltungsteil, der zur Adressierung des Hauptspeichers 11 verwendet
wird. Das Befehls/Datenregister 25 hat die Funktion eines Universalregisters
für die Zwischenspeicherung von Informationen,
CE 972 015
4098U/0595
die aus dem Speicher 11 entnommen werden. Bei diesen Informationen
kann es sich um Befehlswörter unterschiedlichen Formats oder
um Datenwörter handeln.
Bei der in Fig. IA und IB benutzten Darstellung sind die Eingangsleitungen und die Ausgangsleitungen von Registern oder anderen
Schaltungsteilen jeweils mit einem Querbalken versehen. Diese Symbolik bedeutet, daß die betreffende Eingangsleitung in Wirklichkeit
aus mehreren Einzelleitungen besteht. Beispielsweise hat der Balken 51 am Eingang des Registers 25 die Bedeutung, daß
die Eingangssammelleitung 51 aus soviel Einzeladern besteht, wie das Register 25 Stellen aufweist, wobei jede dieser Adern mit dem
Eingang einer zugeordneten Registerstelle verbunden ist. In ,der
gleichen Art sind auch die Ausgänge der Registerstellen in unterschiedlicher Bündelung mit Sammelleitungen verbunden. Z.B. sind
die Registerstellen eines linken Stellenbereiches des Registers
25 Über separate Ausgänge mit einer Sammelleitung 64 verbunden,
und die Ausgänge der Registerstellen von zwei weiteren Stellenbereichen des Registers 25 sind mit dem Sammelleitungspaar 42, 44
verbunden.
Die Formate der im Register 25 einstellbaren Speicherwörter sind aus Fig. 2 ersichtlich. Hier betreffen die Zeilen 30 Befehlsformate und die Zeile 27 ein Datenwortformat. Die Befehlsformate
bestehen in der üblichen Weise aus drei Feldern 54, 55, 56. Das
Feld 54 dient zur Aufnahme des Operationscodes OP, der in für
sich bekannter Weise in Form einer Bitkombination die auszuführenden
Operationen definiert. Die Felder.55 und 56 legen den
ersten Operanden und den zweiten Operanden für diese Operationen fest. Diese Operanden können beispielsweise aus einer Adresse
eines Registers im lokalen Speicher 40 bestehen* Die so bezeichneten Register enthalten die Adressen der Daten im Hauptspeicher
11, die unter der Wirkung des zugehörigen Operationscodes zu verarbeiten sind. Das Feld 56 kann aber auch Direkt-Daten (IM-DATEN),
enthalten, die unter der Wirkung des zugehörigen Operationscodes
verarbeitet werden. Direkt-Daten-Felder sind in Fig. 3 mit 57
GE972015 4098Ϊ4/ΟΒ95
bezeichnet. Das Feld 55 kann auch direkte Adressen oder Teiladressen
des Speichers 11 enthalten, wie es z.B. In der Unteren Zelle
bei 57 dargestellt ist. Die Felder 55 und 56 können ferner zu einem
einheitlichen Feld 58 zusammengefaßt werden, das zur Aufnahme einer Speicheradresse dient. Das letztere Befehlsformat findet
beispielsweise bei Verzweigungsoperationen Anwendung.
Entsprechend den aus Fig. 2 ersichtlichen Formaten sind die Registerstellen
des Befehl/Datenregisters 25 zu Gruppen zusammengefaßt mit Ausgangs-Sammelleitungen verbunden. Wieviele Registersteilen
jeweils an eine Sammelleitung angeschlossen und* ist
für das Wesen des zu beschreibenden Ausführungsbeispiels nicht von Bedeutung. Diese Zahlen richten sich in erster Linie nach
dem Aufwand, der getroffen werden soll, und nach der angestrebten Leistungsfähigkeit der Datenverarbeitungsanlage. Das Register
25 hat somit folgende Ausgangsleitungen:
Sammelleitung 31 - über diese Leitung gelangt der Inhalt
des Datenfeldes 27 wahlweise »ti den
Registern 33 oder 34.
Sammelleitungen 42, 44 - Über diese Leitungen Wird der Inhalt der
Befehlsformat-Felder 55, 56 zum Eingang der Adressendecodier- und Steuerschaltung
41 des lokalen Speichers 40 oder zu den Registern 33, 34 übertragen.
Sammelleitungen 61, 62 - über diese Leitungen wird der Infinit der
Adressenfelder 58, 60 2U einen Befehlsadressen-
und Datenadressenspeicher β8 übertragen.
Sammelleitungen 63, 64 - über diese Leitungen wird für das Befehlsformat
der Operationscode oder
Teile desselben zur Befehle-Interpretationsschaltung von Fig. IA Übertragen.
ge 972015 4 0 9 8 U / 0 5 9.5.
Sammelleitung 65 - über diese Leitung wird ein Befehlsmodesteuerwert·
in ein Mode-Zwischenregister 82 übertragen.
Der Befehlsadressen- und Datenadressenspeicher 68 besteht wie der lokale Speicher 40 aus einer Anzahl von Registern BA/DA
REG 1 bis Mf die zur Aufnahme von Befehlsadressen oder Datenadressen
dienen. Die Auswahl der Register erfolgt über eine Auswahlund
Steuerschaltung 69. Mit dem Ausgang des Speichers ist das oben erwähnte Speieheradreßregister 22 verbunden, welches
die zur Adressierung des Speichers 11 zu benutzende Adresse aufnimmt. Ein Adressenmodifizierer 70 dient dazu, die im Speicheradreßregister
22 stehende Adresse um einen vorgegebenen konstanten Wert zu inkrementieren und daraufhin wieder dem Eingang
des Adressenspeichers 68 zuzuführen. Auf diese Welse ist es
möglich, ausgehend von einer Startadresse eine bestimmte Folge von Adressen im Speicher 11 zu adressieren. Diese Adressenfolge
kann einer Befehlsfolge zugeordnet sein, sie kann aber auch eine Folge von Datenwörtern bezeichnen, die nacheinander zu verarbeiten
sind. Der Aufbau der Modifizierschaltung 70 ist für ,sich bekannt.
Das gleiche trifft für die Arbeitsspeicher 40 und 68 sowie für deren Adressier- und Steuerschaltungen 41 und 69 zu.
An den Eingang des Adressenspeichers 68 sind die Sammelleitungen 61 und 62 vom Befehls/Daten-Register 25 und die Sammelleitung
48 vom R-Register 38 sowie die Sammelleitung 37 vom Speicher angeschlossen. Die Adressierung des Adressenspeichers 68 erfolgt
entweder in Abhängigkeit vom Inhalt des Operationscodes des jeweiligen Befehlsformates, der auf einer der Sammelleitungen
63 oder 64 am Ausgang des Registers 25 erhalten wird. Zum anderen
kann die Auswahlschaltung 69 auch von der noch zu beschreibenden Befehlsinterpretationsschaltung Adressiersignale
zugeführt erhalten.
GE 972 015
40 98U/0595
!'■245284
Die Schaltungsanordnung zur Interpretation der im Befehls/Daten-Register
25 enthaltenen Befehle ist in Fig. 1Ά veranschaulicht. Diese Schaltung weist mehrere Operationsdecodierer 71 bis 75
auf. Jeder dieser Operationsdecodierer erfüllt die Funktion
eines herkömmlichen Operationsdecodierers, nämlich in Abhängigkeit
von einer binären Eingangssignal-Kombination und von Taktsignalen eine Anzahl Steuersignale in unterschiedlichen Zeitlagen
zu erzeugen, die zur Operationssteuerung Verwendung finden. Die Funktion eines Operationsdecodierers schließt daher eine
Codeumsetzung ein, wobei die umgesetzten Signale in Abhängigkeit von geeigneten Taktsteuerschaltungen dem Ausgang des Decodierers
zugeleitet werden. In Fig. IA sind die letztgenannten Taktsteuerschaltungen
nicht dargestellt. Sie sind für das Wesen des Ausführungsbeispiels nicht von Bedeutung und zudem in zahlreichen
Ausführungsformen für sich bekannt.
Die Operationsdecodierer 71, 72 und 73 sind parallel an die Sammelleitung 64 angeschlossen, über welche der Operationscode
aus dem Befehls/Daten-Register 25 zugeführt wird. Außerdem erhalten die Operationsdecodierer 71, 72, 73 Eingangssignale von
einem Statusregister 90 über eine Sammelleitung 94 parallel zugeführt. Die Ausgänge der Operationsdecodierer 71, 72 und 73
sind mit einer Zusammenfasserschaltung 77 verbunden, welche die Funktion einer ODER-Schaltung besitzt. Die Ausgänge Cl bis
Cn der Zusammenfasserschaltung 77 sind daher den Operationsdecodierern
71, 72 und 73 gemeinsam zugeordnet und können von jedem dieser Decodierer signalführend gemacht werden. Das gleiche
trifft für die Decodierer 74 und 75 zu, die ebenfalls an je einen Eingang der Zusammenfasserschaltung 77 angeschlossen sind. Es
ist nicht zwingend, daß jede der angeschlossenen Decodierer 71 bis 75 jeden der Ausgänge Cl bis Cn der Zusammenfässerschaltung
77 in Anspruch nimmt. Die Zuordnung kann vielmehr im Rahmen
der zu erzeugenden Steuersignale innerhalb der Operationsdecodie-
GE 972 015
40981 A/0595
- 13 rer 71 bis 75 willkürlich erfolgen.
Die Zahl der parallel an das Operationscode-Feld des Befehls/
Datenregisters 25 angeschlossenen Operationsdecodierer kann
je nach Bedarf variieren. Im dargestellten Ausführungsbeispiel
sind drei derartige Decodierer (OP-DEKODIERER 1, 2, N) 71 bis 73 vorgesehen. Jeder dieser Decodierer ist einem unterschiedlichen
Befehlssatz zugeordnet und wird durch eine Mode-Steuerschältung
zur Ausführung von Befehlen dieses Befehlssatzes über eine zugeordnete der Steuersignalleitungen 78 aktiviert.
Jeder der zur Anwendung kommenden Befehlssätze besteht aus einer
Anzahl von Befehlen, die an einen bestimmten Aufgabenbereich der Verarbeitungseinheit angepaßt sind. Z.B. kann ein Befehlssatz
aus solchen Befehlen bestehen, die zur internen Ausführung von bestimmten Arbeltsprogrammen (Problemprogrammen) geeignet sind.
Ein anderer Befehlssatz kann solche Befehle enthalten, die besonders
häufig bei Eingabe/Ausgabe-Operationen auftreten. Die Unterteilung kann auch so gewählt werden, daß jeweils ein Befehlssatz
aus Befehlen besteht, die zur Steuerung einer bestimmten Eingabe/Ausgabeeinheit dienen. Z.B. kann ein Befehlssatz zur Steuerung
von Operationen benutzt werden, die zum Betrieb und zur Datenübertragung
zu und von einem mit der Verarbeitüngseinheit verbundenen Magnetplattenspeicher benötigt werden, und ein anderer
Befehlssatz kann einer angeschlossenen Karteneinheit zugeordnet
sein und deren Operationen sowie die Datenübertragungen von und
zu dieser Einheit steuern. Die Zahl der einem Befehls-satz angehörenden
Befehle wird durch die ÖrÖße des Operationscodes bestimmt.
Wenn der Operationscode aus vier Bitsteilen besteht, kann ein Befehlssatz entsprechend der durch diese Bitzahl ermöglichten
Kombinationen 16 verschiedene Befehle aufweisen. Die Befehlssätze können so zusammengestellt werden* daß einzelne Befehle,
die sogenannten Kernbefehle, in mehreren oder allen Befehlssätzen vorhanden sind. Es handelt sich dabei um Standardbefehle,
wie beispielsweise einfaches "Addieren", die bei allen Betriebsarten benötigt werden. Nachfolgend sind zur Veranschauli-
4098 H/0595
chung eine Auswahl von Befehlen aus zwei verschiedenen Befehlssätzen
dargestellt. Der eine Befehlssatz trägt die Bezeichnung INTV und wird zur Ausführung von Arbeitsprograminen bzw* Prüblemprogrammen
benutzt (Internverarbeitung). Der andere Befehlssatz trägt die Bezeichnung E/A und wird insbesondere zur Ausführung
von Eingabe/Ausgabe-Operationen benutzt. Die mit K bezeichneten Befehle sind sogenannte Kernbefehle, die in beiden Befehlssätzen
vorhanden sind.
1. BEFEHLSSATZ - INTV BEFEHLE
INTV ADDIEREN MIT ÜBERTRAGSWÖtflliiitfÖWiÖ
INTV ADDIEREN MIT NULL-WEITlÜiüiÜNÖ
INTV SUBTRAHIEREN
INTV VERSCHIEBEN LINKS (2, i§ If 8 STELLEN)
INTV VERSCHIEBEN RECHTS (2, 4, 6, β STELLEN)
INTV ADDIEREN DEZIMAL
INTV SUBTRAHIEREN DEZIMAL
K ÜBERTRAGEN BYTE
K VERZWEIGEN
K VERZWEIGEN BEI BEDINGUNG
K ADDIEREN
INTV ÜBERTRAGEN HALBWORT INTERÜ (U)VB)
INTV ÜBERTRAGEN VOLLWORT INTUt(N (U)Vi)
BEFEHLSSATZ - E/A-BEFEHLE
E/A E/A
E/A
ÜBERTRAGEN VON EXTERNER EINHEIT ÜBERTRAGEN ZU EXTERNER EINHEIT
ÜBERTRAGEN BYTE INTERN (MOVE) VERZWEIGEN BEI BEDINGUNG TEST UND VERZWEIGUNG
LADEN DIREKTDATENBYTE ADDIEREN
4098U/0595
Aus der nachfolgenden Tabelle ist ersichtlich, daß der Operationscode zweier Befehle, die unterschiedlichen Befehlssätzen
angehören, identisch sein kann, obwohl die von dem betreffenden Befehl auszuführenden Operationen sich stark voneinander unterscheiden.
Als Beispiel wurde der dem Befehlssatz INTV angehörende
Befehl "ÜBERTRAGEN HALBWORT INTERN" sowie der dem Befehlssatz E/A angehörende Befehl "ÜBERTRAGEN VON EXTERNER EINHEIT". Beiden
Befehlen ist der gleiche Operationscode Olli zugeordnet. Die von den Befehlen auszuführenden Operationen sind in der letzten
Spalte der Tabelle aufgelistet.
BEF- OP
SATZ-KENN- CODE BEZEICHNUNG OPERATIONEN
WERT ; - " ' ■
INV Olli ÜBERTRAGEN HALBWORT - SPEICHER 40 ADRESSIE-
INTERN REN
- QUELLEN UND ZIELADRESSEN IN 68 EINSTELLEN
- SPEICHER 11 ADRESSIEREN MIT QUELLENADRESSE
- SPEICHERENTNAHME -
' ' - SPEICHER 11 ADRESSIE
REN MIT ZIELADRESSE
- EINSCHREIBEN IM SPEICHER 11
E/A Olli ÜBERTRAGEN VON EXTER SPEICHER 40 ADRESSIE-
NER EINHEIT REN
- EXTERN-REGISTER ADRESSIEREN
- ÜBERTRAGEN VON EXTERNREGISTER NACH SPEICHER 40
- SPEICHERADRESSE VON 40 NACH SPEICHER 68
- SPEICHER 11 ADRESSIEREN
τ DATEN VON SPEICHER 40 ÜBER 33, 35, 38 NACH SPEICHER 11
ÜBERTRAGEN
GE 972 O2O
4 O 9 8 U / O 5 9 5
Unabhängig vom dargestellten Beispiel können die verschiedenen Befehlssätze aber auch unterschiedlichen zeitlichen Phasen
desselben Ablaufes zugeordnet sein. So kann z.B. eine Initialisierungsroutine, die zur Vorbereitung der Verarbeitungseinheit für die Ausführung von Arbeitsprogrammen dient, mit einem
Befehlssatz ausgeführt werden, während das Arbeitsprogramm selbst mit einem anderen Befehlssatz durchgeführt wird. Aufgrund
der Möglichkeit, unterschiedliche Befehlssätze vorzusehen, kann die ihrem Aufbau nach universell einsetzbare Verarbeitungseinheit
in einfacher Weise an spezielle Verarbeitungsaufgaben angepaßt werden.
Die im Speicher 11 (Fig. IB) enthaltenen Programme bestehen aus
Befehlsfolgen, die unterschiedlichen Befehlssätzen angehören. Der
Betrieb der Verarbeitungseinheit zur Ausführung von Befehlen eines Befehlssatzes wird als Befehlsmode bezeichnet. Wenn bei der Ausführung
eines Programmes, das aus Teilprogrammen unterschiedlicher Befehlssätze besteht, von den Befehlen eines Befehlssatzes auf die
Befehle eines anderen Befehlssatzes übergegangen wird, muß eine Modeumschaltung vorgenommen werden. Diese Modeumschaltung erfolgt
entweder in Abhängigkeit von einem besonderen Modeumschaltbefehl, der im Programm enthalten ist oder in Abhängigkeit von externen
Anforderungen, die beispielsweise von einer Eingabe/Ausgabe-Einheit kommen können, welche eine Bedienung durch eine Steuerroutine
verlangt, die in einem anderen Befehlssatz zu steuern ist als das zur Zeit laufende Teilprogramm. Eine Befehlsmodeumschaltung
kann aber auch durch C-Steuersignale aus den Operationsdecodierern
71 bis 75 veranlaßt werden.
Zur Einstellung des jeweils benötigten Befehlsmode dient ein Moderegister 81, an dessen Ausgang eine Modesteuerschaltung 80
angeschlossen ist. Dem Moderegister ist ein Mode-Zwischenregister 82, auch Mode-Hilfsregister genannt, vorgeschaltet, das
während der überlappten Befehlsausführung den neuen Mode-Steuerwert
zwischenspeichert, bis er vom Moderegister aufgenommen werden kann. Das Moderegister besteht aus zwei Teilen INT und
GE 972 015 , IMepPCTED
4 0 9 8 U / 0 5 9 5 —»»mal INSPECT
MEI. Zunächst wird nur der Teil INT, der die interne Modesteuerung
betrifft, erläutert. Dieser Teil liefert die Eingangssignale für einen internen Teil der Modesteuerschaltung 80.
Der Inhalt des Moderegister-Teils INT wird über die Sammelleitung 65 entsprechend dem Inhalt eines Operandenfeldes des
Befehls/Daten-Registers 25 eingestellt. Dies geschieht durch
einen Modeumschaltbefehl, dessen Format bei 93 in Fig. 3 ersichtlich ist. Das OP-FeId 83 dieses Befehls enthält mehrere Steuerbits,
welche den jeweils aktiven Befehlsdecodierer veranlassen, eine Übertragung des Feldes 84 in das Mode-Zwischenregister 82 über die
Sammelleitung 65 zu steuern. Der im Feld 84 stehende Steuerwert ist ein Kennwert für den einzustellenden Befehlsmode und dient
zur Festlegung des Befehlsmodes über die Modesteuerschaltung 80. Ein weiteres Feld 85 kann eine Registeradresse enthalten, über
die aus dem Speicher 40 eine beliebige Verzweigungsadresse zu einem anderen Programmteil dem Speicher 11 entnommen werden kann.
Die Einstellung des Mode-Zwischenregisters 82 kann ferner durch Signale auf einer Sammelleitung 86 eingestellt bzw. geändert
werden. Die Sammelleitung 86 ist mit einer Koppeleinheit 52 verbunden, die den Anschluß der dargestellten Verarbeitungseinheit
zu externen Einheiten (Eingabe/Ausgabeeinheiten) herstellt, -über
die Sammelleitung 86 werden extern verursachte Mode-Einsteilsignale
empfangen, die bei bestimmten Maschinenbedingungen in den angeschlossenen Ein/Ausgabeeinheiten ausgelöst werden. Es handelt
sich dabei um Maschinenbedingungen, wie sie beispielsweise in
für sich bekannter Weise zur Veranlassung von Programmunterbrechungen und zum Start von Eingabe/Ausgabe-Steuerprogrammen verwendet
werden. Ein Beispiel für eine derartige Bedingung ist das Arbeitsbereit-Signal einer Eingabe/Ausgabe-Einheit, durch das
die Übertragung von Daten zwischen dieser Einheit und der zentralen Verarbeitungseinheit eingeleitet wird.
Die Ausgänge des INT-Teils der Register 81 und 82 sind parallel
an den· INT-Teil der Modesteuerschaltung 80 angeschlossen. Diese
Schaltung gleicht in ihrem Aufbau einer Decodier- oder Umsetzerschaltung, die in Abhängigkeit vom Vorliegen einer bestimmten
GE 912 015. ...-■=·,■,-„..., ' : ■ ■ ORlGlNAUiNSPECTED
'■ 4098 U/0595 "
Eingangssignalkombination in für sich bekannter Weise bestimmte Ausgangssignale erzeugt. Jedem Mode-Wert, der im INT-Teil der
Register 81 und 82einsteilbar ist, entspricht ein Aktivierungssignal auf einer der Leitungen 78, 98 oder 99. Dieses Signal wird
jeweils solange aufrechterhalten, wie der betreffende Wert in den Registern 81 und 82 steht. Das Signal dient dazu, einen der
Operationsdecodierer 71 bis 75 wirksam zu machen. Beispielsweise kann der Operationsdecodierer 71 dem oben angegebenen Befehlssatz
INTV zugeordnet sein und der Operationsdecodierer kann dem oben angegebenen Befehlssatz E/A zugeordnet sein. Die Schaltungen dieser
Decodierer sind so ausgelegt, daß bei Zuführung der Befehle des betreffenden Befehlssatzes die zur Ausführung dieser Befehle
benötigten Steuersignale am Ausgang der Decodierer auftreten. Durch die Aktivierungssignale auf den Leitungen 78 wird einer der
Decodierer 71 bis 73 zur Erzeugung von AusgangsSignalen aktiviert.
Die Ausgangssignale gelangen über die Zusammenfasserschaltung 77 zu den Steuerleitungen Cl bis Cn und über diese zu den Operationseinheiten
der Ausführungseinheit 13, der Steuereinheit oder des Speichers 11.
Die Modesteuerschaltung liefert außerdem ein Adressierungssignal auf einer Sammelleitung 84 zur Auswahlschaltung 69 des Adressenspeichers
68. Dieses Signal wird ebenfalls in Abhängigkeit vom Inhalt der Register 81, 82 erzeugt und dient zur Auswahl eines
bestimmten Befehlsregisters. Hierdurch wird ermöglicht, daß gleichzeitig mit der Modeumschaltung ein bestimmtes Befehlsregister im
Adressenspeicher 68 bestimmt wird, das die Adresse des ersten Befehls eines Teilprogramms des neuen Befehlsmodes bereits enthält
oder aus dem durch das Adressenfeld 85 des Modeausschaltbefehls angegebene Register in Speicher 40 empfängt. Hierdurch können
Sprünge zwischen verschiedenen Teilprogrammem stattfinden,
die aus Befehlen unterschiedlicher Befehlssätze bestehen. Derartige
Sprünge mit vorbereiteten und im Adressenspeicher 68 aufbewahrten Verzweigungsadressen sind vorteilhaft, wenn ein bestimmter
Befehlsmode zumeist ein und derselben Befehlsfolge im Speicher 11 zugeordnet ist. Die Verzweigungsadresse kann aber
GE 972 015
A098U/0595
auch erst durch den Mode-Umschaltbefehl über das Feld 85 aus dem
Speicher 4O geholt und in das adressierte Register des Adressenspeichers
eingestellt werden.
Die Befehlsmode-Umschaltung erlaubt es, Befehlssätze zu verwenden
die aus einer beschränkten Anzahl relativ kurzer Befehle (wenig Bitstellen innerhalb eines Befehlswortes) bestehen. Die Befehle
aller dieser Befehlssätze zusammen ergeben das Befehlsrepertoire
der Verarbeitungseinheit. Trotz der benutzten kürzen Befehlslänge
kann dieses gesamte Befehlsrepertoire wesentlich größer sein als bei einer Verarbeitungseinheit, die ein längeres Befehlsformat
verwendet. Es wird somit die Vielfalt der Einsatzmöglichkeiten der Verarbeitungseinheit verbessert und zudem in den meisten Fällen
eine Speicherplatzeinsparung erzielt. Letzteres ist insbesondere dann der Fall, wenn bei langen Programmen die wiederholt auszuführenden
Teilprogramme separaten Befehlssätzen zugeordnet sind, so daß allzu häufige Umschaltungen des Befehlsmodes vermieden
werden.
Die Einstellung des Befehlsmodes kann auch in Abhängigkeit von Signalen auf einer Sammelleitung 87 geändert werden, beispielsweise
auf einen Standard-Befehlsmode zurückgestellt werden. Der Sammelleitung 87 werden zu geeigneten Taktzeiten Steuersignale G
von der wirksamen Operationsdecodierschaltung 71 bis 75 über die Zusamraenfasserschaltung 77 zugeführt. Von dieser Steuerung
des Befehlsmodes wird beispielsweise Gebrauch gemacht, wenn nach Ausführung eines Testprogrammes in Abhängigkeit von einem
bestimmten Statuscode, im Register 9G eine Rückumschaltung des
Modes erfolgen soll.
In Verbindung mit einer Befehlsmode-Umschaltung kann das Befehlsformat
geändert werden, sofern die Übertragungswege der Verarbeitungseinheit hierzu angepaßt sind. Im dargestellten Ausführungsbeispiel ist eine derartige Umschaltung bei Aktivierung der Operationsdecodierschaltung
72 möglich. In diesem Falle kommt ein Befehlsformat zur Anwendung, wie es bei 59 in Fig. 2 dargestellt
GE 972 Ol5
■'■ ^ ^" :-:,;.V; 4098 U/0595
wird. Dieses Format besitzt einen verkürzten Operationscode und
eine verlängerte Speicheradresse. Ein derartiges Befehlsformat ist zweckmäßig/ wenn beispielsweise bei Datenübertragungen zwischen
der zentralen Verarbeitungseinheit und angeschlossenen Eingabe/Ausgabeinheiten ein großer Adressenbereich des Speichers
11 durch die Übertragungsbefehle adressierbar sein soll. Da die Übertragungsbefehle oft nur wenige Standardbefehle sind, ist die
Verkürzung des Operationscodes zulässig. Die Adresse aus dem Feld 60 des Befehlsformats 59 gelangt über die Sammelleitung 62
zu einem vorher über die Sammelleitung 6 3 ausgewählten Register des Adressenspeichers 68. Der Operationscode dieses Befehlsformats
gelangt über die Sammelleitung 63 zu einem Eingang des Operationsdecb'diere'rs 72, der dem Befehlsformat 59 zugeordnet
ist.
Die Befehlsinterpretation erfolgt in zeitlicher Überlappung mit der Ausführung der Befehle in der Ausführungseinheit 13. Dies
ist im Prinzip in Fig. 5 dargestellt. In der oberen Zeile dieser Figur sind die Interpretationszyklen (I-Zyklen) und in der unteren
Zeile die Ausführungszyklen (Ε-Zyklen) dargestellt. Nachdem
ein Befehl N aus dem Speicher 11 entnommen worden ist, wird sein Inhalt interpretiert. Gegen Ende des zugehörigen I-Zyklus beginnt
die Ausführung dieses Befehls. Etwa in der Mitte des dem Befehl N zugeordneten E-Zyklus beginnt die Interpretation des nächsten
Befehls N+l. Der folgende I-Zyklus überlappt sich daher mit dem restlichen Teil des laufenden Ε-Zyklus. Um diese Zeitüberlappung
realisieren zu können, muß sowohl für die Statusinformation, die vom Ausgang der Arithmetik/Logik-Einheit 35 gewonnen wird, als
auch für die Modesteuersignale ein Zwischenregister vorgesehen werden, das die neuen Werte, die entweder aus dem nächsten Befehl
oder bei der Ausführung des laufenden Befehls gewonnen werden, während der Überlappungsphase zwischenspeichert. Nachdem
die Überlappungsphase beendet ist, erfolgt eine übertragung dieser
Werte in diejenigen Register, die während der Ausführung des als nächstes entnommenen Befehls wirksam sind. Im Falle der Statusinformation
wird daher der Inhalt des Registers 44 in das Statusre-
013972015 409814/0595
gister 90 übertragen. Desgleichen wird der Inhalt des Mode-Zwischenregisters
82 am Ende der Überlappungsphase in das Mode-Register 81 überführt.
Die Taktzeiten, zu denen diese Übertragungen stattfinden, sind
aus Fig. 6 ersichtlich. In dieser Figur bezieht sich der Pfeil 88 auf die Übertragung des Inhaltes des Mode-Zwischenregisters
82 in das Moderegister 81. Es ist ersichtlich, daß diese Operation am Anfang des Ausführungszyklus eines jeden Befehls stattfindet.
Dementsprechend betrifft der Pfeil 89 die Übertragung der Statusinformation aus dem Register 44 in das Statusregister 90.
Durch die Pfeile 91 und 92 werden die während der Befehlsausführung gewonnenen Mode-Steuersignale auf den Sammelleitungen 86 oder
sowie die neuen Statussignale auf der Sammelleitung 43 in die zugehörigen
Zwischehregister 82 und 44 eingegeben« Der neue Inhalt wird dann am Anfang des nächsten Ε-Zyklus wiederum in die Register
81 und 9Q übertragen. Nachdem die Modesteuersignale am Anfang eines I-Zyklus über die Sammelleitungen 65, 86 oder 87
im Mode-Zwischenregister 82 eingestellt worden sind, wird über Sammelleitungen 94, 9 5 der Inhalt dieses Registers bereits vorab
als neuer Modesteuerwert der Mode-Steuerschaltung 80 zugeführt. Dies ist in Fig. 6 durch einen Pfeil 920 symbolisiert. Die Übertragung
der Mode-Steuersignale auf den Sammelleitungen 94 und
erfolgt über nicht dargestellte Torschaltungen, die durch Taktsignale etwa in der Mitte eines jeden I-Zyklus geöffnet werden.
Diese Signale veranlassen die Mode-Steuerschaltung 80, über die Sammelleitung 84 eine Adresse zur Auswahlschaltung 69 des Adressenspeichers
80 zu schicken. Hierdurch wird die Entnahme eines Speicherwortes aus dem Speicher 11 vorbereitet. Dieses Speicherwort
kann ein Befehl des neuen Befehlmodes oder ein Datenwort sein,
das entsprechend dem neuen Befehlsmode auszuführen ist. Die Steueroperationen zur Übertragung der ausgewählten Adresse über
das Adreßregister 22 zur Adressendecodier- und Steuerschaltung sowie zum Lesen des Speichers 11 und zum Laden des Registers 25
werden schon von Operationssteuersignalen des neuen Befehlsmodes ausgeführt. Der erste Ε-Zyklus des neuen Befehlsmodes -beginnt
GE972015 4098U/0595
dann mit der Auswertung bzw. Verarbeitung der im Register 25 enthaltenen Daten.
Ein Ausgang des Moderegisters 81 ist an die Speichereingangs-Sammelleitung
24 angeschlossen, über diese Verbindung wird eine Abspeicherung des Inhalts dieses Registers auf eine feste Adresse
im Speicher 11 veranlaßt, wenn eine Befehlsniode-ümschaltung
erfolgt. Diese Abspeicherung geschieht zu einem in Fig. 6 nicht eingetragenen Zeitpunkt, bevor die übertragung des1, neuen Befehlsmode-Steuerwertes aus dem Register 82 in das Register 81
stattfindet (Pfeil 88 in Fig. 6). Zum erneuten haA&n des Abgespeicherten
Befehlsmode-Steuerwertes dient ein Befehlsformat, wie es bei 930 in Fig. 3 dargestellt ist. Ein solcher Befehl
wird beispielsweise am Ende einer Eingabe/Ausgaberoutine wirksam, die in einem ihr eigenen Befehlmode ausgeführt wurde. Das
Befehlsformat 930 besteht lediglich aus einem Operationscode,
der die feste Speicherstelle im Speicher 11» wo «Jtt'r iiörltef abgespeicherte
Inhalt des Registers 81 aufbewahrt ist» adressiert und
eine Rückübertragung dieses Wertes in das Register 82 veranlaßt. Das Operandenfeld dieses Befehls hat keine Funktion, da die
Adressierung der festen Speicherstelle durch C-Auggangssignale von der Zusammenfasserschaltung 77 erfolgt (implizite Adressierung)
.
Abweichend vom dargestellten Ausführungsbeispiel kann natürlich
auch eine für sich bekannte Verarbeitungseinheit mit Progammstufe
nums ehalt ung Verwendung finden, wie sie z.B. in der deutschen
Offenlegungschrift 19 35 258 beschrieben ist. Bei einer solchen
Verarbeitungseinheit ist jeder Programmstufe in einem Arbeitsspeicher
ein Satz von Arbeitsregistern zugeordnet» 4#i für jede
Programmstufe u.a. ein seperates Befehlsadressenregister und mehrere Operandenadressregister, Operandenregister sowie Statusregister enthält. Die Umschaltung von einer Programmstufe auf
eine andere erfolgt entweder durch einen Programmbefehl, der einen
entsprechenden Programmstufen-Auswahlwert angibt, oder durch
externe Umschaltanforderungen von Eingabe/Ausgabeeinheiten, die
ge 972 015 4098 U/0595
ORiONA INSPECTED
ebenfalls bestimmten Programmstufen-Auswahlwerten zugeordnet sind.
Bei einer Umschaltung auf eine andere Programmstufe wird der Satz von Arbeitsregistern für die Steuerung der Verarbeitungseinheit
wirksam, welcher der neuen Programmstufe zugeordnet ist, während der Inhalt der Arbeitsregister der bis daher wirksam gewesenen
Programmstufe unverändert bleibt.
Soll die Datenverarbeitungsanlage nach der Erfindung mit einer solchen Verarbeitungseinheit ausgestattet werden, so erhält
jeder Satz von Arbeitsregistern ein zusätzliches Register, das zur Aufnahme des Befehlsmode-Steuerwertes dient. Dieses
Register, das in seiner Funktion dem Register 81 von Pig. IA
entspricht, wird in der oben in Verbindung mit den Registern 82 und 81 beschriebenen Weise eingestellt. Eine Umschaltung des
Befehlsraodes durch eine externe Anforderung kann daher durch
eine Programmstufenuiiischaltung realisiert werden, wozu in das
Befehlsmode-Register der betreffenden neuen Programmstufe der entsprechende Befehlsmode-Steuerwert voreinstellbar ist. Andererseits
wird bei einer Rückumsehaltung auf die ursprüngliche
Programmstufe der zuletzt benutzte Befehlsmode-Steuerwert im
Moderegister dieser Programmstufe wiedergefunden. Es erübrigt sich daher bei einer derartigen Ausführungsform die oben in
Verbindung mit der Umschaltung des Befehlsmodes beschriebene Abspeicherung
des Befehlsmode-Steuerwerts im Speicher 11.
Das Befehls/Adreßregister 25 dient zur Aufnahme aller aus dem
Speicher 11 gelesenen Speicherworte. Diese Speicherworte können sowohl Befehlsworte als auch Datenworte sein. Wenn der Inhalt
des Registers 25 ein Datenwort ist, muß durch den vorausgehend im Speicher 11 entnommenen Befehl eine Modeumschaltung auf einen
speziellen Befehlsmode stattgefunden haben, der eine implizite Erzeugung der erforderlichen Operationssteuersignale vorsieht.
Zu diesem Zweck dient der Implizit-Decodierer 74, der durch ein Steuersignal auf einer der Leitungen 99 oder 114 von der Mode-
GE 972 O15 4 0981 4/0595,
Steuerschaltung 80 aktiviert wird.
Der Implizit-Decodierer 74 kommt zur Wirkung, wenn im auszuführenden
Programm ein LADEN-Befehl oder ein SCHREIBEN-Befehl auftritt.
Der LADEN-Befehl dient zur übertragung eines Datenwortes aus dem Speicher 11 in ein ausgewähltes Register des lokalen Speichers
40 oder in ein nicht dargestelltes externes Register. Der SCHREIBEN-Befehl veranlaßt eine Übertragung des Inhaltes eines
Registers im lokalen Speicher 40 oder eines externen Registers in den Hauptspeicher 11. Beide Befehle gehören einem Befehlstyp
an, wie er bei 115 in Fig. 3 dargestellt ist. Der Operationscode
OP dieses Befehlsformates veranlaßt eine Einstellung der Mode-Steuer
schaltung 80 über die Register 80 und 81 in der oben beschriebenen
Weise, um den Implizit-Decodierer 74 zur Steuerung von Ladeoperationen oder von Schreiboperationen zu aktivieren.
Das Befehlsformat 115 enthält ferner ein Adressenfeld 116« das eine Hauptspeicheradresse angibt, von welcher ein Datenwort im
Speicher 11 gelesen werden soll, bzw. in welcher ein Datenwort einzuschreiben ist. Außerdem weist das Befehlsformat 115 ein
Feld 117 auf, das eine Registeradresse enthält. Hierbei handelt
es sich um eine Adresse des lokalen Speichers 40 oder um eine Adresse eines nicht dargestellten externen Registers. Im letzteren
Falle wird diese Adresse über eine Verlängerung der Sammelleitung 44 zu der Koppeleinheit 52 übertragen und über diese in für sich
bekannter Weise zur Adressierung des betreffenden externen Registers weitergeleitet. Wenn die Adresse ein Register im lokalen
Speicher 40 bezeichnet, gelangt sie über die Sammelleitung 44 in die Adressendecodier- und Steuerschaltung 41, die ihrerseits ein
Adressenregister enthält, das den über die Sammelleitungen 42 oder
44 zugeführten Adressenwert jeweils bis zur nächsten Adresseneinstellung aufbewahrt. Anstelle des Formats 115 oder zusätzlich zu
diesem kann natürlich auch ein Format mit verlängertem Adressenfeld zur Angabe der Hauptspeicheradresse benutzt werden wie es
bei 59 in Fig. 2 dargestellt ist.
ge 972 015 4 0 9 8 1^/0595
Der LADEN-Befehl und der SCHREIBEN-Befehl veranlassen somit die
folgenden Operationen: Neueinstellung des Moderegisters 81, Auswahl
einer Speicheradresse im Adressenspeicher 68, Einstellung einer Registeradresse in der Adressendecodier- und Steuerschaltung
41 oder über die Koppeleinheit 52 in einer Adressierschaltung für, die externen Register. Des weiteren wird der im Adressenspeicher
68 ausgewählte Adressenwert zum Speicheradreßregister übertragen und von dort der Adressendecodier- und Steuerschaltung
20 zur Speicheradressierung 11 zugeführt. Sofern es sich um einen
LADEN-Befehl (LESEN-Befehl) handelt, wird im letzten Teil des E-Zyklus
das betreffende Datenwort aus dem Speicher 11 ausgelesen und in das Befehls/Daten-Register 25 übertragen. Bei Ausführung
eines SCHREIBEN-Befehls wird der Inhalt des adressierten Registers
auf die im Register 22 enthaltene Adresse des Speichers gebracht. .'·..-
Der diesbezügliche Ε-Zyklus wird unter Steuerung des Implizit-Decodierers
74 ausgeführt. Der Decodierer 74 empfängt von der Steuerschaltung 80 neben dem Aktivierungssignal auf Leitung 99
ein Schreiben/laden-Steuersignal auf einer Leitung 98. Dieses .
Signal wird von der Steuerschaltung 80 in Abhängigkeit vom Inhalt des Registers 81 erzeugt, der eine Unterscheidung zwischen
Schreiben/ und Laden-Befehlen angibt. Der Decodierer 74 empfängt jedoch keinen Operationscode vom Befehls/Datenregister 25. Der
Decodierer 74 besteht aus einer Schaltung, die nach Anstoß durch ein Startsignal jeweils eine von zwei Serien Steuersignalen abgibt. Als derartige Schaltung können beispielsweise bekannte
Steuerzähler benutzt werden. Die vom Implizit-Decodierer 74 erzeugten
Steuersignale gelangen über den Zusammenfasser 77 zu den
verschiedenen Teilen der Ausfüh.rungseinheit 13 und steuern diese
Teile wie auch die Signale von den Operationsdecodierern 71 bis 73 entsprechend den auszuführenden Operationen. Im Falle eines
LADEN-Befehls bedeutet dies, daß der Inhalt des Registers 25 über die Sammelleitung 31, über eines der Register 33 oder 34, über
die Arithmetik/Logik-Einheit 35 und das R-Register 38 entweder
über die Sammelleitung 39 zu einem im vorausgehenden E-Zyklus
ge 972 015 4 Q 9 8 U / 0 5 9 5'
'-'245284
ausgewählten Register des lokalen Speichers 40 oder über die Sammelleitung 49 zu einem externen Register Übertragen wird. Im
Falle eines SCHREIBEN-Befehls erfolgt in umgekehrter Weise eine übertragung aus dem im vorausgehenden Ε-Zyklus ausgewählten Register
des Arbeitsspeichers 40 über eine Sammelleitung 47 zu einem der Register 33 oder 34 und von da über die ArIthroetik/Logik-Einheit
35, das Register 38 und die Sammelleitung 24 zum Spei-cher 11. Wenn der in den Speicher einzuschreibende Wert in
einem im vorausgehenden Ε-Zyklus adressierten externen Register
steht, erfolgt die übertragung von diesem Register Übel: die Koppeleinheit
52 und die Sammelleitung 53 zu einem der Register 33 und 34 und von dort auf dem gleichen Wege über die Sammelleitung 24
zum Speicher 11. Der Koppeleinheit 52 werden von der Zusammenfasserschal
tung 77 die zur Ausführung dieser Operation benötigten C-Steuersignale
zugeführt, die zu den externen Registern und deren Adressierschaltungen geleitet werden.
Zu dem vom Implizit-Decodierer 74 gesteuerten Ε-Zyklus gehört
auch die Adressierung des Speichers 11 und das Laden des nächsten Speicherwortes in das Register 25. Zu diesem Zweck wird Übet die
Sammelleitung 84 und die Auswahlschaltung 69 die betreffende
Speicheradresse im Adressenspeicher 68 ausgewählt, zum Speicheradreßregister 22 übertragen, gegebenenfalls im Modifiziere* 70
inkrementiert und danach erneut dem Speicheradreßregister 22 zugeführt.
Daraufhin wird der Speicher 11 adressiert und ein Speicherwort zum Register 25 übertragen. Bei diesem Speicherwort kann
es sich um ein weiteres Datenwort handeln, das in einem vom Implizit-Decodierer 74 gesteuerten Ε-Zyklus behandelt w|.rd. Der
letztere Vorgang kann fortgesetzt werden, bis die Speicheradresse einen in einem der Register des Speichers 40 vbreing&fetellten
Wert erreicht hat, der das Ende der übertragung anzeigt· Es erfolgt
dann eine Rückumschaltung des Befehlsmodes in Abhängigkeit
von der Statusinformation im Register 90 über C-Signale auf der
Sammelleitung 87 in der oben beschriebenen Weise.
ge 972 015 4098 U/0595
OfMGINAL INSPECTED
!'245284
Das als nächstes dem Speicher entnommene Wort kann jedoch auch ein Befehlswort sein, das einen eigenen Befehlsmode verlangt, so
daß noch zur Zeit des letzten Ε-Zyklus innerhalb des mit diesem zeitüberlappt ablaufenden I-Zyklus das Mode-Zwischenregister 82
mit dem verlangten neuen Modesteuerwert geladen wird. Das Register 82 veranlaßt daraufhin über die Mode-Steuerschaltung 80
eine Vorbereitung der Umschaltung auf den neuen Befehlsmode, die erfolgt, nachdem zum Anfang des neuen Ε-Zyklus der Inhalt des
Registers 82 in das Mode-Register 81 übertragen worden ist.
Zu den verschiedenen Betriebsarten, welche mit der dargestellten
Verarbeitungseinheit ausführbar sind, gehört insbesondere eine
direkte Steuerung in Abhängigkeit vom Programm der Verarbeitungseinheit 2. Diese Verarbeitungseinheit hat zu der aus dem Speicher
11, Steuereinheit 12 und Ausführungseinheit 13 bestehenden Verarbeitungseinheit
1 ein Meister-Gehilfen-Verhältnis. Dies bedeutet, daß die Steuereinheit 14 der Verarbeitungseinheit 2 entsprechend
dem im Speicher 16 gespeicherten Programm die gesamte Ausführungseinheit 13 oder Teile derselben, für eigene Steueroperationen in
Anspruch nehmen kann. Dieser Betriebsart ist ein eigener Befehlsmode zugeordnet, der Meister-Befehlsmode genannt wird und über
die Schaltungen 80 bis 82 einstellbar ist.
Teil der Steuereinheit 12 ist- ein Meister-Befehls/Datenregister
100 und ein Meister-Befehlsregister 101. Das Register 100 erhält von der Steuereinheit 17 der Verarbeitungseinheit 2
über eine Sammelleitung 104 Daten oder Befehle zugeführt. Ebenso wie das Register 25 dient das Register 100 wahlweise als Datenregister
oder als Befehlsregister. Da der Meister-Befehlscode ebenfalls von der zeitlichen Überlappung zwischen I-Zyklen und
Ε-Zyklen Gebrauch macht, dient das Register 101 zur Zwischenspeicherung der Befehle aus dem Register 100 während der E-Zyklen.
Der Ausgang des Registers 100 ist über die Sammelleitung 50 mit einem Eingang des Registers 25 verbunden. Ein weiterer Ausgang
GE 972 015 AO 98 U / Q 5 9 5
des Registers 100 ist über eine Sammelleitung 105 mit dem Speicher
16 und der Steuereinheit 17 in der Verarbeitungseinheit 2 verbunden. Das Register 100 erhält über eine Sammelleitung 106
vom R-Register 38 der Ausführungseinheit 13 Informationen zugeführt,
die zur Verarbeitungseinheit 2 zu übertragen sind.
Das Format der über das Register 100 laufenden Daten ist aus
Fig. 4 ersichtlich. Das Register 100 kann über die Sammelleitung 104 den Operationscode 120 oder 121 eines Befehls aufnehmen.
Es werden hierbei zwei Zustände unterschieden: Ein
Operationscode 120 auf der Sammelleitung 104 tritt auf, nachdem ein Mode-Steuerwert, der das Format 123 hat, über die Sammelleitung
108 dem Mode-Zwischenregister 82 zugeführt worden ist. Der andere Fall besteht darin, daß ein Operationscode 121 über
die Sammelleitung 104 zum Register 1OO gelangt, ohne daß zuvor ein Mode-Steuerwert über die Sammelleitung 1O8 dem Register 82
zugeführt worden ist. Das Register 100 kann ferner über die Sammelleitung 104 eine Adresse des Speichers 11 zugeführt erhalten,
wie es in Fig. 4 durch das Feld 124 angegeben 1st. Diese Adresse ist Teil eines Befehls, der in mehreren Obertragungstakten
dem Register 100 zugeführt wird. Ein derartiger Befehl
kann auch neben oder anstelle der Speicheradresse von Feld 124 eine Registeradresse gemäß Feld 125 enthalten, die zur Adressierung
eines Registers im lokalen Speicher 40 dient. Schließlich nimmt das Register 100 sowohl von der Sammelleitung 104 als auch von
der Sammelleitung 106 Daten im Format 126 auf, die von der Verarbeitungseinheit 2 zur Verarbeitungseinheit 1 oder umgekehrt zu
übertragen sind.
Die Ε-Zyklen des Meister-Befehlsmodes werden durch den Meister-Decodierer
75 gesteuert. Dieser erhält über eine Sammelleitung 107 einen Operationscode aus dem Register 101 zugeführt. Dieser
Operationscode ist Teil der Befehle, die der Steuereinheit 12
von der Steuereinheit 17 der Verarbeitungseinheit 2 zugeführt werden. Die Befehle bilden für die Steuereinheit 12 einen gesonderten
Befehlssatz, der dem Meister-Befehlsmode zugeordnet
GE 972 015 U 0 9 8 U/ 0 5 9 5
ist. Dieser Befehlssatz unterscheidet sich von den anderen durch die dargestellte Verarbeitungseinheit ausführbaren Befehlssätzen
nur dadurch, daß er an die" Erfordernisse der Zusammenarbeit der beiden Verarbeitungseinheiten angepaßt ist. Die Schaltung des
Meister-Decodierers 75 trägt diesem Umstand Rechnung. Dieser Decodierer
gleicht im Prinzip den Decodierern 71 bis 73, weist jedoch ebenfalls wie diese eine eigene, dem zu interpretierenden
Befehlssatz angepaßte Verdrahtung auf. Ebenso wie die Decodierer 71 bis 74 erhält auch der Decodierer 75 über die Sammelleitung
119 Status-Signale aus dem Statusregister 90 zugeführt, welche die
Erzeugung der Steuersignale beeinflussen, d.h. einzelne Steuersignale unterdrücken oder die Erzeugung zusätzlicher Steuersignale
veranlassen. Z.B. kann in Abhängigkeit von einer Statusinformation
eine Gruppe von Steuersignalen erzeugt werden, die eine übertragung
einer Verzweigungsadresse über eine der Sammelleitungen 37, 48, 61 oder 62 zum Adressenspeicher-68 vornehmen, um damit einen
Sprung innerhalb des auszuführenden Programms vorzubereiten. Die
Register 83 und 81 sowie die Mode-Steuerschaltung 80 werden bei
der Ausführung des Meister-Befehlsmodes in der gleichen Weise wirksam, wie es bereits oben erläutert wurde. Der Meister-Teil
des Mode-Zwischenregisters 82 wird über die Sammelleitung 108 von der Steuereinheit 17 zur Ausführung des Meister-Befehlsmodes eingestellt.
Dies geschieht in Abhängigkeit von einem Steuersignal auf einer Leitung 102, das von der Steuereinheit 17 der Verarbeitungseinheit
2 als Meister-Befehlsmode-Umschaltsignal erzeugt wird. Der entsprechende Mode-Steuerwert wird in der erläuterten
Weise zunächst über die Sammelleitung 94 dem Meisterteil der
Modesteuerschaltung 80 zugeführt. Nach Empfang von Signalen auf der Sammelleitung 94 unterdrückt die Steuerschaltung 80 das zu
dieser Zeit auf einer der Leitungen 78 oder 99 gelieferte Aktivierungssignal
für die Decodierer 71 bis 74. Der Mode-Steuerwert, der dieses Aktivierungssignal veranlaßt hat, bleibt jedoch im
INT-Tail des Moderegisters 81 erhalten. Dieser Steuerwert kommt
wieder zur Wirkung, wenn die Verarbeitungseinheit 2 auf der
Sammelleitung 108 ein Rückstellsignal zum MEI-Teil des Registers
82 geschickt hat und eine Wertübertragung zum Register 81 statt-
GE 972 015 4 Q 9 8 U / 0 5 9 5 .
gefunden hat.
Die Modesteuerschaltung 80 liefert nach Umschaltung a*t£ den Meisterbefehlsmode
ein Steuersignal auf einer Leitung 110, das die Register 100 und 111 zur Aufnahme von Informationen aktiviert.
Das Register 100 speichert daher ein zu dieser Zeit auf der Sammelleitung 104 angebotenes Informationswort, das z.B. ein
Befehl aus der Steuereinheit 17 sein kann. Der Operationsteil dieses Befehls wird in einer sich anschließenden Taktzeit von
dem Register 101 übernommen, um dem Meister-Decodierer 75 zugeführt zu werden. Die Modesteuerschaltung 80 liefert des weiteren
auf der Sammelleitung 84 in der oben beschriebenen Weise Auswahlsignale
zur Auswahl-Register- und Steuerschaltung 69, um ein Datenadreßregister im Adressenspeicher 68 auszuwählen.
Dieses Register bezeichnet eine Adresse im Speicher 11, auf der Daten aus der Verarbeitungseinheit 2 gespeichert werden
können.
Die Modesteuerschaltung 80 erzeugt ferner ein Steuersignal auf einer Leitung 111, das den Meister-Decodierer 75 aktiviert. Die
aus den Teilen 11, 12, 13 bestehende Verarbeitungseinheit 1 behält während ihrer Zusammenarbeit mit der Verarbeitungseinheit
ihre Zyklussteuerung bei. Während des folgenden Ε-Zyklus werden somit vom Meister-Decodierer 75 Steuersignale entsprechend dem
auf der Sammelleitung 107 auftretenden Operationscode erzeugt. Diese Steuersignale gelangen vom Decodierer 75 über die Zusammenfasserschaltung
77 zur Ausführungseinheit 13 sowie zum Befehls/ Datenregister 25 und den zur Speicheradressierung benutzten Schaltungsteilen
20, 22, 68 und 69. Unter Wirkung der Steuersignale werden Operationen der oben erläuterten Art ausgeführt. Alle Operationen,
die durch die maschineninterne Steuerung der Verarbeitungseinheit 1 in Abhängigkeit von einem im Speicher 11 enthaltenen
Programm ausführbar sind, können somit auch von einem in der Verarbeitungseinheit 2 enthaltenen Programm in der Verarbeitungseinheit 1 erzwungen werden. Der Befehlssatz, der im Meister-Befehlsmode
wirksam ist, kann so zusammengestellt sein, daß einzelne
ge 972015 4Q98U/0595
'^245284
Befehle nur ganz bestimmte Teile der Verarbeitungseinheit 13 und
der Steuereinheit 12 aktivieren, um deren Wirksamkeit zu testen (Diagnosebetrieb). Zu diesem Zweck werden dem Meister-Befehls/
Daten-Register 100 Testdaten zugeführt, die, gesteuert durch Ausgangssignale
des Meister-Decodierers 75, über die Sammelleitung 50 dem Befehls/Datenregister 25 zugeführt werden. Von dort gelangen
die Testdaten über das Register 33 oder 34 zur Arithmetik/ Logik-Einheit. In der gleichen Weise werden die Resultatdaten aus
dem R-Register 38 der Sammelleitung 106 zugeführt und über diese
im Register 100 eingestellt, von wo sie über die Sammelleitung 105 zur Verarbeitungseinheit 2 gelangen.
Der Meister-Decodierer 75 liefert zu bestimmten Taktzeiten jeweils
am Anfang oder am Ende eines E-Zyklus Steuersignale C
über eine Leitung 112 zur Steuereinheit 17 in der Verarbeitungseinheit 2. Durch diese Signale werden die Zeitpunkte festgelegt,
in denen Informationen (Befehls- oder Datenworte) über die Sammelleitung 104 zum Meister-Befehls/Daten-Register 100 zu übertragen
sind oder aus diesem Register über die Sammelleitung 105
vom Speicher 16 oder von der Steuereinheit 17 der Verarbeitungseinheit 2 abgerufen werden. Die beiden Verarbeitungseinheiten
weisen eine einheitliche Taktsteuerung auf, d.h. sie besitzen einen synchronen Ablauf der Maschinenzyklen. Steuersignale, die
zu bestimmten Zeiten innerhalb des Maschinenzyklus der einen Verarbeitungseinheit ausgelöst und zur anderen Verarbeitungseinheit
übertragen werden, passen daher ohne zusätzliche Synchronisierungsmittel
in den zeitlichen Ablauf der anderen Einheit.
Um dem Meister-Gehilfen-Verhältnis zwischen den beiden Verarbeitungseinheiten
Rechnung zu tragen, hat der Mode-Steuerwert im Meister-Teil der Register 82 und 81 Vorrang gegenüber dem
Mode-Steuerwert im Intern-Teil dieser Register. Wenn daher über
die Sammelleitung 94 ein entsprechender Mode-Steuerwert des Meister-Befehlsmodes
zur Mode-Steuerschaltung 80 übertragen wird, reagiert diese dadurch, daß die Steuersignale auf den Ausgängen
78 und 99 abgeschaltet werden. Dieser Zustand bleibt aüfrecht-
GE 972 015 409814/0595 "**''
erhalten, solange die Steuerschaltung 80 Signale über die Sammelleitungen
94 und 96 empfängt.
Innerhalb des Meister-Befehlsmodes ist auch ein Betrieb des impliziten
Decodierers 74 möglich. Zu diesem Zweck liefert die Steuerschaltung
80 nach Einstellung eines entsprechenden Mode-Steuerwertes über die Sammelleitung 108 im Meisterteil der Register 82,
81 und nach Zuführung dieses Wertes über die Sammelleitungen 94,
96 ein Ausgangssignal auf einer Leitung 114, das den Implizit-Decodierer
in der gleichen Weise konditioniert, wie es oben für das Steuersignal auf Leitung 99 beschrieben worden 1st. Außerdem
wird über die Leitung 98 dem Decodierer gemeldet, ob ein Lesenbetrieb oder ein Schreibbetrieb gefordert ist. Die Operationen,
die unter Steuerung des Implizit-Decodierers 74 ausgeführt werden, gleichen den oben beschriebenen·
In der Schaltungsanordnung von Fig. IA sind die Operationsdecodierer
71 bis 75 als separate Einheiten dargestellt. Diese Darstellung dient in erster Linie der Erläuterung der Funktionen
dieser Schaltungsweise. In der Praxis können diese Decodierer eine einheitliche integrierte Schaltung bilden, in der verschiedene
Schaltungsteile gemeinsame Funktionen übernehmen. Z.B. können diejenigen Steuersignale, die von den oben erwähnten
Kernbefehlen verlangt werden (Befehle, die in allen verwendeten Befehlssätzen gleichermaßen vorkommen), von gemeinsamen
Schaltungsteilen erzeugt werden, die jeweils in Abhängigkeit von den Eingangssignalen auf den Sammelleitungen 6 3,
64, 119 und 107 zur Wirkung gebracht werden und deren Ausgangssignale in Abhängigkeit von den Steuersignalen auf den Leitungen
78, 99, 114 und 111 an die Zusammenfasserschaltung 77 abgegeben werden. Haßgebend 1st lediglich, daß die einheitliche
integrierte Schaltung in der Lage ist, für bestimmte der zugeführten
Operationscode-Eingangssignale in Abhängigkeit von einzelnen Steuersignalen auf den Leitungen 78, 79 und 111 unterschiedliche
Ausgangssignale zu erzeugen, die über die Zusammenfasserschaltung 77 zu den Operationseinheiten der Ausführungs-
- 33 einheit 13 und der Steuereinheit 12 geleitet werden.
Wie eingangs bereits erwähnt wurde, gleicht*, die Verarbeitungseinheit 2 in ihrem Aufbau~im wesentlichen der oben erläuterten
Verarbeitungseinheit 1. Ungeachtet dessen verwendet die Verarbeitungseinheit 1 für ihre Zusammenarbeit mit der Verarbeitungseinheit 1 ein anderes Befehlsformat als innerhalb der Verarbeitungseinheit
1 Anwendung findet, wie insbesondere aus den Fign. 2 bis 4 ersichtlich ist. Z.B. wird beim Befehlsformat der von
der Meister-Verarbeitungseinheit 2 benutzten Kommandosprache
ein Befehl aufgeteilt in zwei oder drei Teilfelder, die dem Kommunikationsregister 100 nacheinander zugeführt werden. Ein
solcher Betrieb hat den Vorteil, daß eine geringere Anzahl Übertragungsleitungen erforderlich ist. Die Verarbeitungseinheit 1
ist aufgrund ihrer Eigenschaft^ durch eine Befehlsmode-Umschältung
unterschiedliche Befehlsformate zu akzeptieren, in der Lage, diese spezielle Kommandosprache zu verarbeiten.
Abweichend vom dargestellten Ausführungsbeispiel kann die Kommandosprache
der Verarbeitungseinheit 2 zwei oder mehr Befehlssätze
aufweisen, von denen jeder durch einen seperaten Operationsdecodierer
nach Art der Decodierer 71 bis 73 in der oben beschriebenen Weise interpretiert wird. Hierdurch kann die Flexibilität
der Anlage weiter erhöht werden.
Nachfolgend sind einige Anwendungsbeispiele der oben erläuterten
Anordnungen beschrieben.
Eine Anwendung für den Meister-Befehlsmode besteht darin, daß
die Verarbeitungseinheit 2 bestimmte Prüf- und Diagnoseoperationen in der Verarbeitungseinheit 1 veranlaßt, nachdem in
dieser eine Fehlerbedingung aufgetreten ist. Ein Beispiel für
einen solchen ,"Diagnosebetrieb" wird nachfolgend erläutert.
Es wird davon ausgegangen, daß die Verarbeitungseinheit lan
409814/aS9S
einem Problemprograiran arbeitet und daß die Verarbeitungseinheit
in Abhängigkeit von ihrem eigenen Programm von Zeit z« Zeit
eine Zustandsprüfung in der Verarbeitungseinheit 1 durchführt. Bei einer derartigen Prüfung wird eine Fehlerbedinfurig in der
Verarbeitungseinheit festgestellt. In einem solchen Fall laufen die folgenden Schritte ab:
1. Die Verarbeitungseinheit 2 stellt eine Fehlerbedingung in
der Verarbeitungseinheit 1 fest und stellt daraufhin den
. Meister-Befehlsmode "Diagnose" in den Registern 82, 81 ein
unter Wirkung eines Steuersignales auf Leitung 102.
2. Der Inhalt der Register A, B und R sowie der Inhalt des Befehls/Adressenregister
25 wird über das Register 100 nacheinander zur Verarbeitungseinheit 2 (übertragen.
3. Die Verarbeitungseinheit 2 untersucht den Inhalt des Registers 25 und holt die von den Operandenadressen bezeichneten Daten
aus dem lokalen Speicher 40 oder aus dem Speicher 11 in die Verarbeitungseinheit 2.
4. Die Operanden werden erneut im Register A und B eingestellt, und die Verarbeitungseinheit 2 veranlaßt eine erneute Durchführung
des gleichen Befehls. Hiernach wird aas Resultat aus
dem Register R zurück zur Verarbeitungseinheit 2 übertragen.
5. In der Verarbeitungseinheit 2 erfolgt eine Resultatanalyse, wobei das aus der Verarbeitungseinheit 1 empfangene Resultat
mit einem in der Verarbeitungseinheit 2 nach Durchführung der
gleichen Operation gewonnene Resultat verglichen wird. Wenn sich hierbei eine Fehlersituation ergibt, führt die Verarbeitungseinheit
2 in für sich bekannter Weise eine Fehleraufzeichnung in einem dafür vorgesehenen Speicherbereich durch.
6. Die Verarbeitungseinheit 1 wird in den Zustand versetzt, den ge 972 015 4098 U/0595
sie vor Ausführung des betreffenden Befehls einnahm.
7. Die Verarbeitungseinheit 2 löscht durch Steuersignale auf den
Leitungen 102 und 108 den Meister-Befehlsmode, womit eine Befehlsmode-Rückumschaltung
erfolgt. Ferner wird das Problemprogramm in der Verarbeitungseinheit fortgesetzt.
Wenn bei der Fortsetzung des Testproblemprogramms in der Verarbeitungseinheit
1 erneut eine-Fehlerbedingung auftritt, werden die angeführten Schritte 1 bis 7 wiederholt. Nachdem eine vorgegebene
Anzahl Wiederholungen stattgefunden hat, ohne daß die Fehlerbedingung verschwindet, wird die Verarbeitungseinheit 1
stillgesetzt.
Ein weiteres Beispiel für die Anwendung des Meister-Befehlsmodes
ist auf Fig. 7 ersichtlich. Dort wird davon,ausgegangen, daß sowohl
die Verarbeitungseinheit 1 als auch die Verarbeitungseinheit 2 mit einem Problemprogramm beschäftigt ist! und daß die Verarbeitungseinheit
1 eine höhere Rechenkapazität aufweist als die Verarbeitungseinheit 2. Z.B. kann die Arithmetik/Logik-Einheit 35 der*
Verarbeitungseinheit 1 mit einem Multiplizierwerk ausgestattet sein, während das Rechenwerk der Verarbeitungseinheit 2 nur zur
Ausführung von Additionen und Subtraktionen eingerichtet ist. Wenn
daher im Verlauf des von der Verarbeitungseinheit 2 ausgeführten Problemprogramms B eine Multiplikation auszuführen ist, benutzt
die Meister-Verarbeitungseinheit die Verarbeitungseinheit 1 als Gehilfen bei der Ausführung dieser Multiplikation. Zu diesem Zweck
wird durch den Schritt 130 der Meister-Befehlsmode-"Gehilfenbetrieb"
in den Registern 82, 81 eingestellt. Hierdurch wird eine Unterbrechung des Problemprogramms A in der Verarbeitungseinheit
bewirkt. Durch den folgenden Teil des Programms in der Verarbeitungseinheit 2 werden die Operanden zum Register 100 der Verarbeitungseinheit
1 übertragen. Diese Operanden werden durch den Schritt 131 im Register des lokalen Speichers 40 geladen. Dies geschieht
GE 972 015 . 4Q98U/0 5 9B-
unter Steuerung der Verarbeitungseinheit 2, die auch die Adressen
dieser Register angibt. Dementsprechend erfolgt im Schritt 132 ein Laden des Befehls/Datenregisters 25 mit dem Multiplikationsbefehls
ebenfalls unter Steuerung der Verarbeitungseinheit 2. Daraufhin führt die Verarbeitungseinheit 1 die Multiplikation
aus und überträgt das Resultat im Schritt 133 zur"Verarbeitungseinheit 2. Letztere schaltet durch den Schritt 134 den Meister-Befehlsmode
aus, wodurch die Verarbeitungseinheit 1 in die Lage versetzt wird, das Problemprogramm A fortzusetzen.
Befehlsmode-Wechsel mit Sprung in eine E/A-Sübroutine "
Anhand der Fig. 8 wird ein Anwendungsbeispiel für eine interne Befehlsmode-Umschaltung in der Verarbeitungseinheit 1 erläutert.
Es sei angenommen, daß in der Verarbeitungseinheit ein Problemprogramm abläuft, daß nicht zeitkritisch ist und daß von
einer Eingabe/Ausgabe-Einheit eine Anforderung auf der Sammelleitung 86 auftritt, die im Schritt 137 eine Umschaltung des Befehlsmodes
in den Registern 81, 82 mit gleichzeitiger Abspeicherung des bisher wirksamein Mode-Steuerwertes auslöst. Der neue Befehlsmode
ist ein spezieller E/A-Befehlsmode, der an die Steueroperationen der betreffenden E/A-Einheit angepaßt ist. Der im Register
81 eingestellte Mode-Steuerwert veranlaßt die Modesteuerschaltung 80 zur Abgabe eines Adressierungssignals auf Leitung
an die Auswahl- und Steuerschaltung 69, die im Adressenspeicher ein Befehlsadressenregister auswählt, das die Anfangsadresse
der angeforderten E/A-Routine enthält. Damit erfolgt eine Unterbrechung des Problemprogramms. Die ausgewählte Adresse wird
zur Adressierung des Hauptspeichers 11 benutzt, und der erste Befehl der Routine wird in das Register 25 geladen. Dieser
erste Befehl veranlaßt im Schritt 138 eine Abspeieherung des
Inhaltes des Statusregisters 90 in den Speicher 11. Daraufhin wird durch den Schritt 139 eine übertragung von der E/A-Einheit
zum lokalen Speicher 40 oder zum Hauptspeicher 11 vorgenommen. Diese übertragung kann sich sowohl auf Datensignale als auch
auf Statussignale der E/A-Einheit beziehen. Der Schritt 140
GE 972 °15 4098U/0595
prüft, ob die E/A-Einheit ihrerseits.Daten benötigt. Wenn dies
nicht der Fall ist, erfolgt eine Verzweigung zum Schritt 142,
der eine Rückladung der Statusinformationen des unterbrochenen
Problemprogramms in das Register 90 veranlaßt. Wenn dagegen der
Sch'ritt 140. eine Ja-Anzeige liefert, erfolgt durch den Schritt
141 beispielsweise eine übertragung aus einem Register des lokalen
Speichers 40 in ein externes Register, das Teil der betreffenden E/A-Einheit ist. Hiernach wird zum Rückladen des Registers
142 mit denn im Schritt 138 abgespeicherten Wert der Schritt
142 wirksam, an den sich der Schritt 143 anschließt, der eine Befehlsmode-Umschaltung
durch einen Ladebefehl nach Art des Befehls 930 (Fig. 3) bewirkt. Der im Schritt 137 abgespeicherte Kennwert
für den Befehlsmode "INTV" wird als Folge dieses Schrittes wieder in den Registern 81, 82 eingestellt. Damit ist die E/A-Routine beendet, und über die Mode-Steuerschaltung 80 wird das dem
unterbrochenen Problemprogramm zugeordnete Befehls-adressenregister
im Speicher 68 ausgewählt. Mit der in diesem Register enthaltenen Befehlsadresse wird das unterbrochende Problemprogramm fortgesetzt.
Doppelt interpretierte Routine für selbstbeschreibende Daten .
Die Fig. 9 zeigt ein Unterprogramm, das mit Hilfe der oben erläuterten
Befehlsumschaltung eine doppelte Interpretation erlaubt. Es handelt sich um eine Routine zur Berechnung der Fakultät
ni = 1·2·3 ..... (n-1)·η, das entweder mit binären Daten
oder mit dezimalen Daten ausgeführt werden kann. Die Befehlsmode-Umschaltung
erfolgt in diesem Falle in Abhängigkeit von einem den Operanden beigegebenen Datenattribut, welches die D.arstellungsart
der Operanden (z.B. binäre oder dezimale Darstellung) angibt. Derartige
Datenattribute sind z.B. in interpretativ arbeitenden Programmiersprachen
vorgesehen und lassen sich durch Testbefehle feststellen. ·
Im Beispiel von Fig. 9 erfolgt nach dem Eintritt in die Routine durch den Schritt 151 ein derartiger Test, der das Attribut des
Operanden η untersucht, ob es einen binären Operanden bezeichnet.
GE 972 °15 4098U/0 59 5
- 38 - 2^45284
Es wird davon ausgegangen, daß der erste oder normale Befehlsmöde
der Routine die Verarbeitung binärer Operanden vorsieht, und daß der zweite Befehlsmode sich auf die Verarbeitung dezimaler
Operanden bezieht. Wenn daher der Schritt 151 eine Ja-Anzeige liefert, wird als nächstes der Schritt 153 wirksam, der
den Operanden η in das Register 1 des lokalen Speichers 4O überträgt.
Der Schritt 154 überträgt den gleichen Wert in das Register 2 des lokalen Speichers 40. Daraufhin kommt der Schritt
155 zur Wirkung, der vom Inhalt des Registers 1 den Wert 1 subtrahiert. Ein Schritt 156 prüft, ob der neue Inhalt des Registers
1 null ist. Ist dies nicht der Fall ist, wird im Schritt 157 der Inhalt des Registers 1 mit dem Inhalt des Registers 2
multipliziert. Daraufhin verzweigt der Schritt 158 zurück zu Al, um eine Wiederholung der Schritte 155 bis 158 zu veranlassen,
Zeigt der Schritt 156 eine Ja-Anzeige, so kommt der Schritt 159
zur Wirkung, der eine erneute Einstellung des Binärcodes in den Registern 82, 81 veranlaßt. Damit ist die Routine zur Berechnung
der Fakultät von η beendet.
Wenn im Schritt 151 festgestellt worden ist, daß das Attribut des Operanden η einen dezimalen Operanden bezeichnet, liefert
dieser Schritt eine Nein-Anzeige, die den Schritt 152 zur Wirkung bringt. Der Schritt 152 veranlaßt eine Befehlsmode-Umschaltung
in den Registern 82, 81. Hierdurch wird ein anderer Befehlsdecodierer wirksam. Während z.B. der zuvor beschriebene
Befehlsmode unter Ausführung des Befehlsdecodierers 71 ausgeführt
wurd, kann der zweite Befehlsmode unter Steuerung des Operationsdecodierers 72 stattfinden. Die oben beschriebenen
Befehlsschritte 152 bis 158 werden daher in der gleichen Weise, aber mit veränderten Steuersignalen aus der Zusammenfasserschaltung
77 ausgeführt. Dies wirkt sich insbesondere bei den arithmetischen Operationen der Schritte 155 und 157 aus. Wenn die Routine
im zweiten Befehlsmode beendet ist, veranlaßt der oben erläuterte Schritt 159 eine Rückschaltung in den ersten Befehlsmode.
Es ist ersichtlich, daß es durch die Befehlsmode-Umschaltung möglich ist, eine nur in einer Kopie im Speicher 11 der Ver-
GE 972 015 4098 U/0595
arbeitungsexnheit gespeicherte Routine zweifach zu interpretieren.
Der Speicherplatz für eine separate Routine zur Berechnung der Fakultät des Dezimalwertes η wird daher eingespart.
GE972015 409814/059-5
Claims (15)
- - 40 -PATENTANSPRÜCHE 'Datenverarbeitungsanlage mit mehreren gespeicherten Programmbefehlsfolgen, mit einer Schaltung zur sequentiellen Entnahme der Programmbefehle aus einem zugeordneten Speicher, mit einer Schaltung zur Befehlsinterpretation und mit von dieser gesteuerten Ausfuhrungsschaltungen, dadurch gekennzeichnet, daß die Ausführungsschaltungen (13) wahlweise aus unterschiedlichen und voneinander unabhängigen Befehlssätzen bestehende Befehlsfolgen über eine an diese Befehlssätze angepaßte Schaltung zur Befehlsinterpretation (71 bis 75, 80) zugeführt erhalten und daß diese Schaltung mittels einer Umschalteinrichtung (81, 82, 94 bis 97) von der Interpretation der Befehlsfolge eines Befehlssatzes auf die Interpretation der Befehlsfolge eines anderen Befehlssatzes durch bei bestimmten Maschinenbedingungen erzeugte Externsignale, durch während der laufenden Verarbeitung der Befehlsfolgen auftretende Betriebsartbefehle (z.B. 93) oder durch Signale von einer übergeordneten Verarbeitungseinheit (16, 17, 18) umstellbar ist.
- 2. Anlage nach Anspruch 1, dadurch gekennzeichnet, daß eine aus einem Speicher (11) einer Steuereinheit (12) und einer Ausführungseinheit (13) bestehende erste Verarbeitungseinheit ein erstes Befehlsregister (25) aufweist, das nacheinander Befehle aus dem Speicher (11) zugeführt erhält und an das zur Interpretation unterschiedlicher Befehlssätze ausgebildete Befehlsdecodierschaltungen (71 bis 74) angeschlossen sind, die mit den Schaltungen der Ausführungseinheit (13) und der Steuereinheit (12) verbunden sind, und daß die erste Verarbeitungseinheit ein zweites Befehlsregister (100, 101) aufweist, das mit den gleichen und/oder weiteren Befehlsdedodierschaltungen (75) verbunden istundGE 972 015A098U/0595und dessen Eingang mit einer zweiter* Verarbeitungseinheit verbunden ist, die in Abhängigkeit von einem eigenen Programm oder von Maschinenbedingungen einer oder beider Verarbeitungseinheiten das zweite Befehlsregister (100, 101) für eine Zuführung von Befehlen zu den Befehlsdecodierschaltungen (75) lädt und die Zuführung weiterer Befehle vom ersten Befehlsregister (25) sperrt.
- 3. Anlage nach Anspruch 2, dadurch gekennzeichnet, daß die der ersten Verarbeitungseinheit CH bis 13) von der zweiten Verarbeitungseinheit (16 bis 18) zugeführten Befehle einem anderen Befehlssatz (Maschinensprache) angehören als die im Speicher (11) der ersten Verarbeitungseinheit gespeicherten Befehlsfolgen.
- 4. Anlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß mehrere unterschiedlich aufgebaute Befehlsdecodierschaltungen (71 bis 73) vorgesehen sind, die parallel einerseits mit den Ausgängen der Befehlsregister (25, 101) und andererseits mit den Steuereingängen der verschiedenen Operationseinheiten (z.B. 35, 40, 68, 70) verbunden sind, und daß jede der Befehlsdecodierschaltungen zur Interpretation von Befehlen eines eigenen Befehlssatzes dient, und daß eine Befehlsmodeschaltung (8O bis 82) vorgesehen ist, die in Abhängigkeit von besonderen Betriebsartbefehlen, von durch die Befehlsdecodierschaltungen erzeugten Maschinensteuersignalen oder von externen Signalen eine der Befehlsdecodierschaltungen wirksam, macht.
- 5. Anlage nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Befehlsdecodierschaltungen (71, 72) über ein gemeinsames Befehlsregister (25) an einen Speicher angeschlossen, sind, von dem sie Befehle zugeführt erhalten,. die wahlweise in den Befehlsdecodierschaltungen (71, 72 oder 73) als Befehle unterschiedlicher Befehlssätze interpretiert werden, indem die Befehlsdecodierschaltungen fürGE 972 °15 4098U/0595den gleichen Operationscode unterschiedliche Steuersignalkombinationen zu den Operationseinheiten (z.B. 35, 4O, 68, 70) liefern.
- 6. Anlage nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß jeweils die zur gleichen Steuersignaleingängen (C) führenden Ausgangs leitungen der Befehlsdecodierschaltungen (71 bis 75) mit einer die ODER-Funktion erfüllenden Zusammenfasserschaltung (77) verbunden sind, deren Ausgänge (Cl bis Cm) an die betreffenden Steuersignaleingänge (C) angeschlossen sind.
- 7. Anlage nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Befehlsdecodierschaltungen (71 bis 73) als einheitliche integrierte Schaltung ausgebildet sind, in der gleiche Steuersignale erzeugende Schaltungsteile zusammengelegt und durch Signale von gleichen Bitstellen des Befehlsregisters (25 oder 100) zur Wirkung gebracht werden.
- 8. Anlage nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß ein Befehlsregister (25) zugleich als Speicherzugriffsregister für aus dem Speicher (11) gelesene oder in diesen einzuschreibende Daten dient, daß ein Teil der Befehlsdecodierschaltungen (71 bis 75> ohne Eingangssignale vom Befehlsregister (25) die in Verbindung mit einem Speicherlesen oder einem Speichereinschreiben auszuführenden Operationen steuert, daß dieser Teil (74) der Befehlsdecodierschaltungen durch die Befehlsmodeschaltung (80 bis 82) in Tätigkeit gesetzt wird, nachdem die Befehlsmodeschaltung durch einen vorausgehenden das Lesen oder Einschreiben von Daten veranlassenden Befehl entsprechend eingestellt worden ist, und daß die Operandenadressen dieses Befehls in einer Registerschaltung (40> 41) für die Ausführung der Lese- und Schreiboperationen aufbewahrt werden.ge 9 72 015 4098 U /059 5
- 9. Anlage nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Befehlsmodeschaltung eine mit dem Befehlsregister (25 oder lOO), mit externen Schaltungen (52) und mit den Befehlsdecodierschaltungen (71 bis 75) verbundene Registersehaltung (81, 82) aufweist, die zur Speicherung eines jeweils eingestellten Befehlsmode-Steuerwertes dient/ und daß der Ausgang der Befehlsmode-Registerschaltung (81, 82) mit einer den Befehlsmode-Steuerwert decodierenden Modesteuerschaltung (80) verbunden ist, die Aktivierungssignale für die verschiedenen Befehlsdecodierschaltungen (71 bis 75) in Abhängigkeit vom gespeicherten Befehlsmode-Steuerwert erzeugt.
- 10. Anlage nach Anspruch 9, dadurch gekennzeichnet, daß die Modesteuerschaltung (80) in Abhängigkeit von dem in der Registersehaltung (81, 82) enthaltenen Befehlsmode-Steuerwert eine Adresse für einen Befehlsadressen/Datenadressen-Speicher erzeugt, die in Verbindung mit einer Modeumschaltung eine Sprungadresse zu einem aus Befehlen des neuen Befehlsmodes bestehende*} Programm enthält -oder von einem durch den Modeumschaltbefehl bezeichneten Platz eines Arbeitsspeichers (40) empfängt.
- 11. Anlage nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß die Befehlsmode-Registerschaltung (81, 82) und die Befehlsmode-Steuerschaltung (80) je aus einem internen Teil besteht zur Aufnahme und Auswertung eines von der ersten Verarbeitungseinheit (11 bis 13) eingestellten Befehlsmode-Steuerwertes und aus je einem externen Teil besteht zur Aufnahme eines von der zweiten Verarbeitungseinheit (16 bis 18) eingestellten Befehlsmode-Steuerwertes besteht, und daß die vom externen Teil erzeugten Signale gegenüber den vom internen Teil erzeugten Signalen bevorrechtigt sind.
- 12. Anlage nach einem der Ansprüche 1 bis 11, dadurch gekenn-GE 972 015 "409814/0595zeichnet, daß die Befehlsmode-Registerschaltung (81, 82) zweistufig ausgebildet ist, wobei die erste Stufe (82) jeweils einen neu einzustellenden Befehlsmode-Steuerwert empfängt und die zweite Stufe (81) den laufenden Befehlsmode-Steuerwert festhält, bis alle Operationen des vor einer Befehlsmode-ümschaltung als letzten auszuführenden Befehls beendet sind.
- 13. Anlage nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß wenigstens einzelne der Befehlsdecodierschaltungen (71 bis 73, 75) zur Interpretation spezieller Befehlssätze, wie Diagnosebefehlssätze, Eingabe/Ausgabe-Befehlssätze oder Befehlssätze für bestimmte Arten arithmitischer Operationen, ausgebildet sind.
- 14. Anlage nach Anspruch 1 bis 13, dadurch gekennzeichnet, daß die von der zweiten Verarbeitungseinheit (16 bis 18) in der ersten Verarbeitungseinheit (11 bis 13) benutzten Befehlsdecodiersehaltungen (75) zur Interpretation von Befehlssätzen eingerichtet sind, die für die Fehlerdiagnose der ersten Verarbeitungseinheit (11 bis 13) oder zur Ausführung von HiIfsfunktionen durch die erste Verarbeitungseinheit (11 bis 13) vorgesehen sind.
- 15. Anlage nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß im Speicher (11) der Verarbeitungseinheit Speicherstellen zur Aufnahme einer Befehlsfolge vorgesehen sind, daß diesen Speicherstellen eine weitere Speicherstelle für einen Befehlsmode-Einstellbefehl zugeordnet ist, der vor dem Aufruf der Befehlsfolge in Abhängigkeit vom zusätzlichen Programm-Parametern die Befehlsmode-Schaltung (80 bis 82) auf einen von wenigstens zwei Befehlsmode-Steuerwerten zur Auswahl einer bestimmten der Befehlsdecodierschaltungen (71 bis 73) einstellt, so daß je nach eingestelltem Befehlsmode-Steuerwert die an einer Stelle des Speichers befindliche Befehlsfolge wie wenigstens°15 4098 U/0595zwei verschiedene, an verschiedenen Speicherplätzen gespeicherte Befehlsfolgen interpretierbar ist.015 4 0 98 U/059 5Leerseite
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2245284A DE2245284C3 (de) | 1972-09-15 | 1972-09-15 | Datenverarbeitungsanlage |
IT27094/73A IT998285B (it) | 1972-09-15 | 1973-07-26 | Sistema di elaborazione di dati |
FR7328911*A FR2199896A5 (de) | 1972-09-15 | 1973-07-30 | |
GB3707073A GB1442459A (en) | 1972-09-15 | 1973-08-03 | Data processing system |
JP9061973A JPS5323058B2 (de) | 1972-09-15 | 1973-08-14 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2245284A DE2245284C3 (de) | 1972-09-15 | 1972-09-15 | Datenverarbeitungsanlage |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2245284A1 true DE2245284A1 (de) | 1974-04-04 |
DE2245284B2 DE2245284B2 (de) | 1975-04-03 |
DE2245284C3 DE2245284C3 (de) | 1975-11-13 |
Family
ID=5856423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2245284A Expired DE2245284C3 (de) | 1972-09-15 | 1972-09-15 | Datenverarbeitungsanlage |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS5323058B2 (de) |
DE (1) | DE2245284C3 (de) |
FR (1) | FR2199896A5 (de) |
GB (1) | GB1442459A (de) |
IT (1) | IT998285B (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5313854A (en) * | 1976-07-23 | 1978-02-07 | Panafacom Ltd | Information processor |
DE2637866C2 (de) * | 1976-08-23 | 1987-05-14 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zum Betrieb einer programmgesteuerten Datenverarbeitungsanlage |
US4236204A (en) * | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
JPS56149607A (en) * | 1980-04-23 | 1981-11-19 | Hitachi Ltd | Arithmetic controller |
JPS57168346A (en) * | 1981-04-08 | 1982-10-16 | Toshiba Corp | Computer |
JPS5856040A (ja) * | 1981-09-29 | 1983-04-02 | Nec Corp | デ−タ処理装置 |
US4814978A (en) * | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
US5127104A (en) * | 1986-12-29 | 1992-06-30 | Dataflow Computer Corporation | Method and product involving translation and execution of programs by automatic partitioning and data structure allocation |
US5930490A (en) * | 1996-01-02 | 1999-07-27 | Advanced Micro Devices, Inc. | Microprocessor configured to switch instruction sets upon detection of a plurality of consecutive instructions |
EP0942359B1 (de) * | 1998-02-19 | 2012-07-04 | Lantiq Deutschland GmbH | Vorrichtung zur Ausführung von Programmbefehlen |
EP1050796A1 (de) | 1999-05-03 | 2000-11-08 | STMicroelectronics S.A. | Dekodierungseinheit und Dekodierungsmethode |
EP1050798A1 (de) | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Decodierung von Adressbefehlen |
-
1972
- 1972-09-15 DE DE2245284A patent/DE2245284C3/de not_active Expired
-
1973
- 1973-07-26 IT IT27094/73A patent/IT998285B/it active
- 1973-07-30 FR FR7328911*A patent/FR2199896A5/fr not_active Expired
- 1973-08-03 GB GB3707073A patent/GB1442459A/en not_active Expired
- 1973-08-14 JP JP9061973A patent/JPS5323058B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1442459A (en) | 1976-07-14 |
DE2245284B2 (de) | 1975-04-03 |
JPS4966251A (de) | 1974-06-27 |
JPS5323058B2 (de) | 1978-07-12 |
IT998285B (it) | 1976-01-20 |
FR2199896A5 (de) | 1974-04-12 |
DE2245284C3 (de) | 1975-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2755273C2 (de) | ||
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE1815078B2 (de) | Elektronisches Datenverarbeitungssystem | |
DE2555963A1 (de) | Einrichtung zur funktionsmodifizierung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
EP0134831A1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2725614C2 (de) | ||
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE2936801C2 (de) | Steuereinrichtung zur Ausführung von Instruktionen | |
DE2727188A1 (de) | Anordnung zum adressieren eines speichers | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE2234192C2 (de) | Datenverarbeitungsanlage | |
DE3134057A1 (de) | Datenverarbeitungsanlage | |
DE2419836B2 (de) | Schaltungsanordnung zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen | |
DE2502005C2 (de) | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |