[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE2245284A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

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
Application number
DE2245284A
Other languages
English (en)
Other versions
DE2245284B2 (de
DE2245284C3 (de
Inventor
Arnold Dipl Ing Blum
Fritz Dipl Ing Irro
Hans Hermann Lampe
Claus Dipl Ing Dr Mohr
Leopold Dipl Ing Reichl
Peter Rudolph
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Priority to DE2245284A priority Critical patent/DE2245284C3/de
Priority to IT27094/73A priority patent/IT998285B/it
Priority to FR7328911*A priority patent/FR2199896A5/fr
Priority to GB3707073A priority patent/GB1442459A/en
Priority to JP9061973A priority patent/JPS5323058B2/ja
Publication of DE2245284A1 publication Critical patent/DE2245284A1/de
Publication of DE2245284B2 publication Critical patent/DE2245284B2/de
Application granted granted Critical
Publication of DE2245284C3 publication Critical patent/DE2245284C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

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
Datenverarbeitungs anlage
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
Allgemeine Beschreibung
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
Befehlsinterpretation
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, 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.
TABELLE
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.
Implizite Befehlsdecodierung
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.
Meister-Befehlsmode
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-
GE 972 015 4 098 U/0596 OWCMNAL INSPECTED
- 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.
Meister-Befehlsmode für Diagnosebetrieb
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.
Meister-Befehlsmode für Gehilfenbetrieb
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)

  1. - 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. 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 istund
    GE 972 015
    A098U/0595
    und 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. 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. 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. 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ür
    GE 972 °15 4098U/0595
    den gleichen Operationscode unterschiedliche Steuersignalkombinationen zu den Operationseinheiten (z.B. 35, 4O, 68, 70) liefern.
  6. 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. 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. 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. 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. 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. 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. 12. Anlage nach einem der Ansprüche 1 bis 11, dadurch gekenn-GE 972 015 "409814/0595
    zeichnet, 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. 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. 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. 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/0595
    zwei verschiedene, an verschiedenen Speicherplätzen gespeicherte Befehlsfolgen interpretierbar ist.
    015 4 0 98 U/059 5
    Leerseite
DE2245284A 1972-09-15 1972-09-15 Datenverarbeitungsanlage Expired DE2245284C3 (de)

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)

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

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