DE2704560B1 - Data processing system with parallel provision and execution of machine commands - Google Patents

Data processing system with parallel provision and execution of machine commands

Info

Publication number
DE2704560B1
DE2704560B1 DE2704560A DE2704560A DE2704560B1 DE 2704560 B1 DE2704560 B1 DE 2704560B1 DE 2704560 A DE2704560 A DE 2704560A DE 2704560 A DE2704560 A DE 2704560A DE 2704560 B1 DE2704560 B1 DE 2704560B1
Authority
DE
Germany
Prior art keywords
memory
register
command
processor
machine
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
DE2704560A
Other languages
German (de)
Other versions
DE2704560C2 (en
Inventor
Manfred Dipl-Ing Koehler
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2704560A priority Critical patent/DE2704560C2/en
Priority to CH1514177A priority patent/CH632605A5/en
Priority to IT19652/78A priority patent/IT1092143B/en
Priority to FR7802174A priority patent/FR2379858B1/en
Priority to NL7801238A priority patent/NL7801238A/en
Priority to AT0071078A priority patent/AT373701B/en
Priority to GB4181/78A priority patent/GB1582815A/en
Priority to BE184896A priority patent/BE863644A/en
Publication of DE2704560B1 publication Critical patent/DE2704560B1/en
Application granted granted Critical
Publication of DE2704560C2 publication Critical patent/DE2704560C2/en
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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung bezieht sich auf eine datenverarbeitende Anlage mit mehreren spezialisierten, durch Mikroprogramme gesteuerten Prozessoren und mit einem gemeinsamen Speichersystem, in der die Verarbeitung von auch virtuell adressierten Maschinenbefehlen im Regelfall parallel erfolgt, indem ein Aufbereitungsprozessor das Befehlslesen und die Adreßrechnung für Befehlsoperanden durchführt, und ein angeschlossener Exekutivprozessor die eigentliche Befehlsausführung » übernimmt (»Elektronische Rechenanlagen«, 1973, S. 60-65).The invention relates to a data processing system with several specialized microprograms controlled processors and with a common memory system in which the processing machine commands that are also virtually addressed are usually carried out in parallel by a preparation processor carries out command reading and address calculation for command operands, and one connected Executive processor "takes over the actual execution of commands (" Electronic Computing Systems ", 1973, p. 60-65).

Für die Zentraleinheiten kommerzieller datenverarbeitender Anlagen sind abhängig von der Leistungsklasse verschiedene Strukturen für die Verarbeitungseinrichtungen bekannt. Neben Prozessoren mit einer rein sequentiellen Befehlsverarbeitung, d. h. einer strengen Reihenfolge tier Funktionen »Ausführung eines /Men Maschinenbefehls«, »Lesen des darauffolgenden (h+1)-ten Maschinenbefehls«, »Ausführung ties ι (η \- l)-ten Maschinenbefehls« usw., sind auch Prozesso ren mit überlappender Befehlsverarbeitung bekannt. Hier wird die Tatsache ausgenutzt, daß sich ein Verarbeitungszyklus für einen Maschinenbefehl mindestens in eine Bereitstellungs- und eine Ausführungsphase unterteilen läßt. Bei solchen Prozessoren wird dann der Lesevorgang für einen (n f //ten Maschinenbefehl parallel zur Ausführung eines /Men Maschinen befehls durchgeführt, wobei i> I sein kann.For the central units of commercial data processing systems, different structures are known for the processing devices, depending on the performance class. In addition to processors with a purely sequential command processing, ie a strict sequence of functions "execution of a / menu machine command", "reading of the following (h + 1) -th machine command", "execution of the ι (η \ - l) -th machine command" etc., processors with overlapping instruction processing are also known. This makes use of the fact that a processing cycle for a machine instruction can be divided into at least a preparation phase and an execution phase. In the case of such processors, the reading process for an (n f // th machine instruction is then carried out in parallel to the execution of a / menu machine instruction, where i> I can be.

In diese Gruppe von datenverarbeitenden Anlagen ist ι auch eine Einrichtung zum Verarbeiten von Maschinen befehlen unterschiedlicher Formate in einem mikropio grammierteii Datenveraibeitungssysteni einzuordnen, die in der deutschen Patentanmeldung P 25 57 787 vorgeschlagen ist. In dieser Einrichtung werden ι Maschinenbefehle verdeckt bereitgestellt, d. h. bereits während tier Ausführung eines vorausgehenden Maschinenbefehls in einer Verarbeitungseinheit aus dem Arbeitsspeicher gelesen und in Befehlspuflern zwischengespeichert, tieren Breite der Schnittstelle zum Arbeitsspeicher entspricht. Dazu wird neben einem aktuellen Befehlszähler, der die vollständige Adresse des in der Veraibeitungseinheit gerade auszuführenden Maschinenbefehls enthalt, ein weiterer, mit ihm verbundener Vorauslade-Befehlszähler vorgesehen. Dieser enthält jeweils die Speicheradresse des nächsten, aus dem Speichersystem auszulesenden Maschinenbefehls. An beide Befehlszähler ist je eine Vergleichsrich tung angeschlosssen, die außerdem mit einem Adreßregister des Speichersystems verbunden ist. Damit läßt sich die Gültigkeit des Inhalts der Befehlspuffer bei unstetigen Modifikationen des aktuellen Befehlszählers überwachen. So werden Speicherkonflikte vermieden, bei denen der Speicherinhalt bereits ausgelesener Maschinenbefehle während der Ausführung eines vorangehenden Maschinenbefehls nochmals geändert wird.In this group of data processing systems is ι also a facility for processing machines commands of different formats in one micropio to classify grammierteii data processing systems, which is proposed in German patent application P 25 57 787. Be in this facility ι Machine commands made available in a concealed manner, d. H. already during the execution of a preceding machine command read from the main memory in a processing unit and buffered in command buffers, width of the interface to the main memory. This is next to a Current command counter, which is the complete address of the one to be executed in the processing unit Contains machine instruction, a further pre-load instruction counter connected to it is provided. This contains the memory address of the next machine command to be read out from the memory system. A comparison direction is connected to each of the two command counters, which also has an address register of the storage system is connected. This allows the content of the command buffer to be valid monitor discontinuous modifications of the current command counter. This avoids storage conflicts, in which the memory content of machine commands that have already been read out during the execution of a previous machine command is changed again.

Noch stärker ausgeprägt ist die Parallelarbeit bei Verarbeitungseinrichtungen der höchsten Leistungsklasse, sie sind vielfach als sogenannte »Pipeline«-Prozessoren ausgeführt. Die Struktur derartiger Verarbeitungseinheiten ist z. B. in der Zeitschrift »Elektronische Rechenanlagen«, 1973, Seiten 60 bis 65 in dem Aufsatz »Möglichkeiten der Beschleunigung einer Zentraleinheit durch strukturelle Maßnahmen« beschrieben. Danach werden die Befehle nach Art eines Fließbandes bearbeitet, wofür sich der Ausdruck »Pipeline« eingebürgert hat. Für die einzelnen Bearbeitungsphasen, wie Lesen eines Maschinenbefehls, Decodieren, Adreßrechnung und Bereitstellung des Befehlsoperanden sind jeweils eine oder mehrere Bearbeitungsstationen vorgesehen. Die Maschinenbefehle durchlaufen taktweise die Kette dieser Bearbeitungsstationen und werden anschließend in einen Exekutivprozessor/derThe parallel work in processing equipment of the highest performance class is even more pronounced, they are often implemented as so-called "pipeline" processors. The structure of such processing units is z. B. in the journal "Electronic Computing Systems", 1973, pages 60 to 65 in the article "Possibilities of accelerating a central unit through structural measures" are described. The commands are then processed in the manner of an assembly line, for which the term »pipeline« has become common Has. For the individual processing phases, such as reading a machine command, decoding, address calculation and provision of the instruction operand are each one or more processing stations intended. The machine commands cycle through the chain of these processing stations and are then transferred to an executive processor

analog gegliedert ist, übergeben. Dabei wird der Verkehr mit dem Speichersystem der datenverarbeitenden Anlage vielfach über eine autonome Speicherzugriffsstcuerung abgewickelt, die die verschiedenen Speicherzugriffe während des gesamten Verarbeitungs-/yklus eines Maschinenbefehls bzw. der parallel zu verarbeitenden Maschinenbefehle miteinander koordinieren muß.is structured analogously. The Communication with the storage system of the data processing system often takes place via an autonomous storage access control handled the various memory accesses during the entire processing / cycle coordinate a machine command or the machine commands to be processed in parallel got to.

Lin solches Befehls-Fließband bedingt einen hohen schaltungsmäßigen Aufwand für die Parallelarbeit wahrend der Bereitstellungs- und der Ausführungsphasc, um zu erreichen, daß möglichst mit jedem Maschinentakt ein Maschinenbefehl abschließend ausgeführt wird. In jeder dieser beiden Phasen sind, wie beschrieben, im allgemeinen mehrere Bearbeitungsstationen vorgesehen d. h., es werden auch relativ viele Maschinenbefehle mit unterschiedlich weit fortgeschrittenem Bearbeitungszustand gleichzeitig verarbeitet. Besonders nachteilig bei diesen zwar leistungsstarken, jedoch sehr aufwendigen Prozessoren ist die Vielzahl möglicher Speicher- oder Registerkonflikte. Darüber hinaus treten erfahrungsgemäß häufig unstetige Modifikationen eines Programmablaufs auf, z. B. bei Programmunterbrechungen oder erfüllten Sprungbedingungen, so daß dann die in kosekutiver Folge in das Fließband eingelesenen Maschinenbefehle in all diesen lallen für ungültig erklärt werden müssen.Such a command assembly line requires a high level of circuit complexity for parallel work during the deployment and execution phases to achieve that with each one as possible Machine cycle a machine command is finally executed. In each of these two phases are how described, generally several processing stations provided d. that is, there will be a relatively large number Machine commands with different processing statuses processed at the same time. The large number of these processors, which are powerful but very complex, is particularly disadvantageous possible memory or register conflicts. In addition, experience has shown that discontinuous modifications often occur a program sequence, z. B. in the event of program interruptions or fulfilled jump conditions, so that the machine instructions read into the assembly line in consecutive order are then included in all of these lall must be declared invalid.

Für datenverarbeitende Anlagen einer mittleren Leistungsklasse ist dieser hohe Aufwand nicht gerechtfertigt, der bei »Pipeline«-Prozessoren für die Steuerung von Warteschlangen und die Konfliktüberwachung notwendig ist. Der Erfindung liegt daher die Aufgabe zugrunde, eine leistungsfähige datenverarbeitende Anlage der eingangs genannten Art zu schaffen, an die folgende Anforderungen gestellt werden:This high effort is not justified for data processing systems of a medium performance class, that of "pipeline" processors for controlling queues and conflict monitoring necessary is. The invention is therefore based on the object of a powerful data processing system of the type mentioned at the beginning, to which the following requirements are made:

Die im Exekutivprozessor bzw. im Aufbereitungsprozessor ablaufenden Mikroprogramme dürfen sich nicht gegenseitig behindern, deshalb müssen die Zugriffe beider Prozessoren zu dem Speichersystem bzw. zu den internen Arbeitsregistern des Exekutivprozessors auf einfache Weise koordniert werden. Bei unstetigen Programm-Modifikationen müssen im Vorgriff gelesene und bereits vorverarbeitete Befehle mit Sicherheit von der Ausführung ausgeschlossen, die Befehlsverarbeitung muß am Sprungziel mit möglichst geringem 7.eitverlust wieder aufgenommen werden. Speicher- und Registerkonflikte selbst müssen auf möglichst einfache Weise erkannt werden und davon abhängig ein so modifizierter Maschinenbefehl nochmals gelesen bzw. für ihn die Adreßrechnung und die Bereitstellung von Operanden wiederholt werden.The microprograms running in the executive processor or in the preparation processor must not be mutually exclusive hinder each other, therefore the accesses of both processors to the memory system or to the internal working registers of the executive processor can be easily coordinated. With discontinuous Program modifications must be read and preprocessed commands with certainty from excluded from execution, command processing must be as low as possible at the jump target 7. time loss to be resumed. Memory and register conflicts themselves must be as simple as possible Recognized manner and, depending on this, read or read a modified machine command again. the address calculation and the provision of operands are repeated for him.

Bei einer datenverarbeitenden Anlage der eingangs genannten Art wird diese Aufgabe erfindungsgemäß durch die im Kennzeichen des Hauptanspruches beschriebenen Merkmale gelöst.In the case of a data processing system of the type mentioned at the beginning, this object is achieved according to the invention solved by the features described in the characterizing part of the main claim.

Der Exekutivprozessor und der Aufbereitungsprozessor benutzen also einen gemeinsamen Registerspeicher, der im Exekutivprozessor realisiert ist. Dies hat den Vorteil, daß ein im Exekutivprozessor modifizierter Registerinhalt nicht auch noch eine Modifikation in einem sonst erforderlichen entsprechenden Register des Aufbereitungsprozessors bedeutet. Weiterhin können Aufbereitungs- und Exekutivprozessor eine einzige Schnittstelle zum Speichersystem gemeinsam benutzen, ohne daß hierfür eine aufwendige Prioritätssteuerung notwendig wäre. Auch die Überwachung von möglichen Speicher- oder Registerkonflikten mit Hilfe von zwei Vergleichseinrichtungen ist relativ einfach, weil statt einer ausgeklügelten Überwachungsmethode das relativ einfach zu verwirklichende Kriterium benutzt wird, bei nicht konsekutiv im Speichersystem stehenden Maschinenbefehlen die Parallelverarbeitung zu unterdrücken.The executive processor and the editing processor use a common register memory, which is implemented in the executive processor. This has the advantage that a modified in the executive processor The contents of the register do not also include a modification in an otherwise required corresponding register of the Editing processor means. Furthermore, the editing and executive processors can be a single one Use the interface to the storage system together without the need for an expensive priority control would be necessary. Also the monitoring of possible memory or register conflicts with the help of two Comparison facilities is relatively simple because instead of a sophisticated monitoring method, it is relative criterion that is easy to implement is used for machine commands that are not consecutive in the memory system suppress parallel processing.

Dazu trägt auch wesentlich bei, daß durch den Aufbereitungsprozessor keine Speicher-Operanden eines Maschinenbefehls im voraus gelesen, sondern nur deren effektive Speicheradressen bereitgestellt werden. Selbst Register-Operanden werden nur dann direktA major factor in this is that the editing processor does not have any memory operands of a machine instruction are read in advance, but only their effective memory addresses are provided. Even register operands only become direct

κι bereitgestellt, wenn dies bereits innerhalb einer kurzen Bereitstellungsphase möglich ist oder sie andererseits nicht innerhalb der Ausführungsphase eines Maschinenbefehls ohne zusätzlichen Zeitaufwand gelesen werden könnten.κι provided if this is already within a short time The deployment phase is possible or, on the other hand, it is not within the execution phase of a machine command could be read without additional expenditure of time.

Von besonderem Vorteil ist schließlich die hierarchisch gegliederte Mikroprogrammsteuerung für den Exekutiv- und den Aufbereitungsprozessor aus dem ladbaren Mikroprogrammspeicher. Die Mikroprogramme des Exekutivprozessors geben an geeigneter Stelle Steuerkommandos zum Lesen eines Speicherwortes oder des Registerspeichers durch den Aufbereitungsprozessor ab, dadurch kann eine gegenseitige Behinderung des Exekutiv- und des Aufbereitungsprozessors am Speichersystem bzw. am Registerspeicher ausgeschlossen werden. Im Format der Mikrobefehle des Exekutivprozessors sind dafür zusätzlich nur zwei weitere Bitstellen erforderlich, so daß dieser Vorteil bereits mit einem sehr geringen Aufwand erreicht wird.Finally, the hierarchically structured microprogram control is of particular advantage for the Executive and editing processors from the loadable microprogram memory. The micro programs of the executive processor give control commands for reading a memory word at a suitable point or the register memory by the editing processor, this can cause mutual interference of the executive and editing processors on the storage system or on the register memory are excluded will. In the format of the executive processor's microinstructions, there are only two additional further bit positions are required, so that this advantage is achieved with very little effort.

Trotzdem ist der Mikroprogrammspeicher des Exekutivprozessors nicht mit der Detailsteuerung des Aufbereitungsprozessors belastet, was eine erhebliche Verbreiterung des Mikrobefehlsformates bedeuten würde, denn zusätzlich ist ein kleiner Zustandssteuer-Speicher im Aufbereitungsprozessor vorgesehen. DamitNevertheless, the microprogram memory of the executive processor is not connected to the detailed control of the Editing processor is loaded, which means a considerable broadening of the microinstruction format because a small state control memory is also provided in the preparation processor. In order to

i) ist der Aufbereitungsprozessor autonom gegenüber dem Exekutivprozessor und kann selbständig und bedarfsabhängig über die Annahme der ihm vom Exekutivprozessor übergebenen Steuerkommandos entscheiden. Weiterbildungen der Erfindung sind in Unteransprüchen gekennzeichnet und werden in der nachfolgenden Beschreibung eines Ausführungsbeispieles der Erfindung näher erläutert.i) the preparation processor is autonomous in relation to it the executive processor and can independently and depending on the needs of the acceptance of the Control commands transferred to the executive processor decide. Developments of the invention are in Subclaims characterized and are in the following description of an embodiment the invention explained in more detail.

Für die Beschreibung dieses Ausführungsbeispieles dient erläuternd die Zeichnung, dabei zeigtFor the description of this exemplary embodiment, the drawing serves as an explanation, and shows

Fig. 1 in einem Blockschaltbild schematisch die Struktur einer datenverarbeitenden Anlage, bei der ein Prozessorsystem gemäß der Erfindung verwendbar ist,Fig. 1 in a block diagram schematically the structure of a data processing system in which a Processor system according to the invention can be used,

F i g. 2 und F i g. 3 gemeinsam die erfindungsgemäße Ausgestaltung des Aufbereitungsprozessors und an ihnF i g. 2 and F i g. 3 together show the embodiment of the preparation processor according to the invention and to it

so angeschlossene Funktionseinheiten der datenverarbeitenden Anlage,functional units of the data processing system connected in this way,

F i g. 4 und 5 anhand von Funktionsdiagrammen den Ablauf der Aufbereitungsphase bereitzustellender Maschinenbefehle. F i g. 4 and 5 show the sequence of the processing phase of the machine commands to be provided on the basis of function diagrams.

Zum besseren Verständnis für den Gegenstand der Erfindung ist zunächst in F i g. 1 ein Blockschaltbild einer datenverarbeitenden Anlage dargestellt, von der eine Einrichtung zum Aufbereiten von Befehlen einen Teil bildet. Die Anaige gliedert sich in drei größere Funktionseinheiten, ein Speichersystem S-SYST, ein Prozssorsystem P-SYSTund ein Ein/Ausgabe-System E/A-SYST. For a better understanding of the subject matter of the invention, FIG. 1 shows a block diagram of a data processing system, of which a device for processing commands forms part. The Anaige is divided into three larger functional units, a storage system S-SYST, a processor system P-SYST and an input / output system E / O-SYST.

Das Speichersystem S-SYST enthält einen vorzugsweise als Halbleiterspeicher ausgebildeten Arbeitsspeieher mit einer Mehrzahl von Speichermoduln SP-M, die voneinander unabhängig über eine Arbeitsspeicher-Steuerung AST angesteuert werden. An diese ist ebenfalls ein modular aufgebauter Pufferspeicher PSP The memory system S-SYST contains a main memory, preferably designed as a semiconductor memory, with a plurality of memory modules SP-M, which are controlled independently of one another via a main memory controller AST. A modular PSP buffer memory is also attached to this

angeschlossen. Diese Speicherhierarchie erlaubt im typischen Betriebsfall mehr als 95% aller Speicherzugriffe aus dem schnellen Pufferspeicher PSP zu bedienen und damit die effektive Zugriffs- und Zykluszeit des Speichersystems S-SYST wesentlich herabzusetzen.connected. In the typical operating case, this memory hierarchy allows more than 95% of all memory accesses to be served from the high-speed buffer memory PSP and thus to significantly reduce the effective access and cycle time of the S-SYST memory system.

Als Verarbeitungssystem enthält das Prozessorsystem P-SYST mindestens einen Exekutivprozessor EP und einen damit integrierten Aufbereitungsprozessor UP, dem ein Mikroprogrammladespeicher MPL zugeordnet ist. Dieser enthält die gesamten funktionellen Mikroprogramme und kann beispielsweise als flexible Magnetplatte ausgebildet sein.As a processing system, the processor system P-SYST contains at least one executive processor EP and a processing processor UP integrated therewith, to which a microprogram load memory MPL is assigned. This contains the entire functional micro-programs and can be designed, for example, as a flexible magnetic disk.

Schließlich kann auch das Ein-/Ausgabe-System E/A-SYST mikroprogrammgesteuert sein und dazu r> eventuell auch den ladbaren Mikroprogrammspeicher WCM benutzen. Es besitzt neben einer Ein-/Ausgabe-Steuerung E/A-ST Byte- und Block-Multiplexkanäle BY-MUX bzw. BL-MUX, die funktionell als spezielle Datenübertragungsprozessoren zu betrachten sind, in denen die Ein-/Ausgabevorgänge unabhängig vom Verarbeitungssystem durch Kanalprogramme gesteuert ablaufen. Die Ein-/Ausgabe-Steuerung E/A-STkoordiniert diese Datenübertragungsprozeduren nach Prioritätsgesichtspunkten. 2">Finally, the I / O- SYST input / output system can also be microprogram-controlled and, for this purpose, possibly also use the loadable microprogram memory WCM. In addition to an input / output control I / O-ST byte and block multiplex channels BY-MUX or BL-MUX, which are functionally to be regarded as special data transmission processors in which the input / output processes are carried out independently of the processing system Run channel programs in a controlled manner. The input / output control I / O-ST coordinates these data transfer procedures according to priority aspects. 2 ">

Nach diesem anhand von Fig. 1 geschilderten Überblick interessiert im vorliegenden Zusammenhang im wesentlichen das Verarbeitungssystem und hier insbesondere der integrierte Aufbereitungsprozessor IIP, da mikroprogrammierte Verarbeitungsprozessoren, jo wie der Exekutivprozessor EP, an sich als bekannt vorausgesetzt werden können. Lediglich aus Platzgründen ist der Aufbereitungsprozessor UP in zwei getrennten F i g. 2 bzw. 3 dargestellt. Beide Figuren enthalten, soweit zum Verständnis notwendig, neben i% Einzelheiten des Aufbereitungsprossors //fauch schematisch angegebene weitere Funktionseinheiten der datenverarbeitenden Anlage, die hier aus der Zeichnung durch eine strichpunktierte Umrandung deutlich herausgehoben sind, um den Zusammenhang herzustellen.According to this overview described with reference to FIG. 1, the processing system and in particular the integrated processing processor IIP are of interest in the present context, since microprogrammed processing processors such as the executive processor EP can be assumed to be known per se. Only for reasons of space is the preparation processor UP in two separate figures. 2 and 3 shown. Both figures contain, as far as is necessary for understanding, in addition to i% details of the processing processor // fauch schematically indicated further functional units of the data processing system, which are clearly highlighted here from the drawing by a dash-dotted border in order to establish the connection.

Der in den Exekutivprozessor EP integrierte Aufbereitungsprozessor IIP soll parallel zur Verarbeitung eines Maschinenbefehls in folgende, die Befehlsausführung abkürzende Funktion für nachfolgende Maschinenbefehle I(n+ /^ausführen:The editing processor IIP integrated in the executive processor EP is to execute parallel to the processing of a machine command in the following function, which abbreviates the command execution, for the following machine commands I (n + / ^:

Lesen von Befehlen l(n + i) mit /=2 ... 8 aus dem Speichersystem S-SVSTin einem Befehlspuffer; Bereitstellen von Register-Operanden für den Befehl I(n+\); Reading of commands l (n + i) with / = 2 ... 8 from the storage system S-SVST in a command buffer; Provision of register operands for the instruction I (n + \);

Berechnung von effektiven Speicheradressen für den oder die Speicher-Operanden des BefehlsCalculation of effective memory addresses for the 5UE or the memory operand of the instruction

Bereitstellung des ersten Mikrobefehls für den Befehl I(n+\). Providing the first microinstruction for the instruction I (n + \).

So kann im allgemeinen der Zeitaufwand für den Lesezugriff des Befehls für die Bereitstellung von Register-Operanden und für die Adreßrechnung eingespart werden.In general, this can reduce the time it takes for the command to provide read access to Register operands and for address calculation can be saved.

Gemäß der F i g. 2 enthält der Aufbereifjngsprczessor IIP einen aus Zähler-Flip-Flops aufgebauten aktuellen Befehlszähler P, in dem die effektive Adresse eines zur Ausführung kommenden Maschinenbefehls niedergelegt ist. Da, wie noch zu erläutern sein wird, die Befehlsliste der datenverarbeitenden Anlage Befehle mit einer Länge von zwei, vier oder sechs Byte umfaßt, ist dieser Befehlszähler P in herkömmlicher Weise um ±2, ±4 oder ±6 zu modifizieren. An ihm ist ein ebenfalls 3 Byte breiter und analog aufgebauter Vorauslade-Befehlszähler PPF angeschlossen. Dieser enthält eine effektive Speicheradresse zum Befehlslesen. Sein Zählerstand weist deshalb gegenüber dem Stand des aktuellen Befehlszählers P meist einen Vorlauf auf, der in diesem Ausführungsbeispiel maximal 20 Byte betragen kann. Dieser Befehlszähler kann um + 2, +4 und +8 modifiziert werden. Sein Vorlauf gegenüber dem Stand des aktuellen Befehlszählers P wird in einem Vorlaufzähler VLZ angezeigt, der bei einer Breite von 4 Bit als Vorwärts-Rückwärts-Zähler ausgebildet ist. Sein Inhalt wird je nach der Länge des zur Ausführung kommenden Maschinenbefehls um 1, 2 oder 3 erniedrigt. Umgekehrt wird der Zählerstand des Vorlaufzählers um 1, 2 oder 4 erhöht, wenn ein neues Befehlswort aus dem Speichersystem S-SYST gelesen wird.According to FIG. 2, the Aufbereifjngsprczessor IIP contains a current command counter P made up of counter flip-flops, in which the effective address of a machine command to be executed is stored. Since, as will be explained later, the command list of the data processing system includes commands with a length of two, four or six bytes, this command counter P is to be modified in the conventional manner by ± 2, ± 4 or ± 6. An analog pre-load command counter PPF is also connected to it, which is 3 byte wide and has an analog structure. This contains an effective memory address for reading commands. Its counter reading therefore usually has a lead in relation to the reading of the current command counter P , which in this exemplary embodiment can be a maximum of 20 bytes. This command counter can be modified by + 2, +4 and +8. Its lead over the status of the current command counter P is displayed in a lead counter VLZ, which is designed as an up / down counter with a width of 4 bits. Its content is decreased by 1, 2 or 3 depending on the length of the machine command to be executed. Conversely, the count of the forward counter is increased by 1, 2 or 4 when a new command word is read from the S-SYST memory system.

Beiden Befehlszählern P bzw. PPF sind außerdem zwei Speicheradressenvergleicher 5Vl bzw. SV2 zugeordnet. Diese vergleichen bei allen Schreiboperationen im Speichersystem S-SYST die im jeweils angeschlossenen Befehlszähler P bzw. PPF stehende Adresse für einen Maschinenbefehl mit einer Speicheradresse, die in einem 3 Byte breiten Speicheradressen-Register MA enthalten ist. Dieses Register ist ebenso wie ein Speicherdaten-Register MD mit einer Länge von 8 Byte im Exekutivprozessor EPangeordnet.Two memory address comparators 5V1 and SV2 are also assigned to both command counters P and PPF. During all write operations in the S-SYST memory system, these compare the address for a machine command in the respectively connected command counter P or PPF with a memory address that is contained in a 3-byte-wide memory address register MA . Like a memory data register MD with a length of 8 bytes, this register is arranged in the executive processor EP.

In Fig.2 ist schematisch angedeutet, daß das Speicheradressen-Register MA aus dem Vorauslade-Befehlszähler PPF, aber auch intern aus dem Exekutivprozessor EP über Speicheradreßleitungen SAL geladen werden kann. Sein Ausgang ist mit dem Speichersystem S-SKSTverbunden. Bei einer Leseoperation wird der durch dieses Register definierte Speicherinhalt ausgelesen und in das Speicherdaten-Register MD, aber auch über eine Speicherdatenleitung SDL 1 in den integrierten Aufbereitungsprozessor IIP übertragen. Für Speicherzugriffe des Exekutivprozessors EP werden einzuschreibende Speicherdaten über weite Speicherdatenleitungen SDL 2 in das Speicherdaten-Register MD übertragen bzw. gelesene Speicherdaten auf dritten Speicherdatenleitungen SDL 3 in den Exekutivprozessor EP übernommen. Wird nun durch den Exekutivprozessor EP ein Schreibzugriff zum Speichersystem S-SYST durchgeführt, so ist jedesmal ein Speicherkonflikt möglich. Ein solcher Speicherkonflikt, bei dem in einen bereits im voraus ausgelesenen Maschinenbefehl nochmals geschrieben wird, wird durch die beiden Speicheradressenvergleicher SVl bzw. 5V2 festgestellt und durch ein Konfliktsignal MC angezeigt. Von der internen Steuerung des integrierten Aufbereitungsprozessors IIP wird auch bei erfüllten Sprungbedingungen der Vorlaufzähler VLZ auf Null gestellt und so am Sprungziel der Maschinenbefehl mit der in das Speicheradressen-Register MA transferierten Adresse gelesen. Mit dem Nullsetzen des Vorlaufzählers VLZgelten alle im Vorgriff übertragenen Maschinenbefehle als nicht gültig.In FIG. 2 it is indicated schematically that the memory address register MA can be loaded from the preload instruction counter PPF, but also internally from the executive processor EP via memory address lines SAL. Its output is connected to the S-SKST storage system. During a read operation, the memory content defined by this register is read out and transferred to the memory data register MD, but also via a memory data line SDL 1 to the integrated editing processor IIP . For memory accesses by the executive processor EP , memory data to be written are transferred to the memory data register MD via wide memory data lines SDL 2 or read memory data are transferred to third memory data lines SDL 3 in the executive processor EP . If the executive processor EP now performs a write access to the S-SYST memory system, a memory conflict is possible each time. Such a memory conflict, in which a machine command that has already been read out in advance is written again, is determined by the two memory address comparators SV1 and 5V2 and indicated by a conflict signal MC . The forward counter VLZ is set to zero by the internal control of the integrated preparation processor IIP , even if the jump conditions are fulfilled, and the machine command with the address transferred to the memory address register MA is read at the jump destination. When the forward counter VLZ is set to zero , all machine commands transmitted in advance are considered invalid.

In F i g. 3 ist neben weiteren Einrichtungen des integrierten Aufbereitungsprozessors IIP vor allem ein Byte fassender Befehlspuffer IB mit fünf, in vier Stufen angeordneten Registern zu je 4 Byte Breite dargestellt. In der ersten Stufe nehmen zwei Pufferregister IBD bzw. IBE ein Befehlsdoppelwort über die erste Speicherdatenleitung SDL 1 direkt aus dem Speichersystem S-SYST auf. In der zweiten Stufe übernimmt ein weiteres Pufferregister IBC den Inhalt eines der beiden Pufferregister der ersten Stufe und übergibt diesen anIn Fig. 3 shows, in addition to further devices of the integrated preparation processor IIP, above all a byte-containing command buffer IB with five registers, each 4 byte wide, arranged in four stages. In the first stage, two buffer registers IBD or IBE receive a double command word via the first memory data line SDL 1 directly from the memory system S-SYST . In the second stage, a further buffer register IBC takes over the content of one of the two buffer registers of the first stage and transfers it

809 521/500809 521/500

ein Pufferregister IBB der dritten Stufe und an ein weiteres Pufferregister IBA in der vierten Stufe.a buffer register IBB of the third stage and to a further buffer register IBA in the fourth stage.

Wie bereits angedeutet, besitzen die Maschinenbefehle ein Format von zwei, vier oder sechs Byte und können daher an einer Wort- oder einer Halbwortgrenze ausgerichtet sein. Die Ausrichtung eines aufzubereitenden Maschinenbefehls läßt sich aus dem Zustand der Bitstellen 29 und 30 im aktuellen Befehlszähler P, wie später noch erläutert wird, erkennen. Diese Bitkombination wird ausgewertet, um einen Maschinenbefehl aus dem Befehlspuffer IB auszulesen. So werden z. B. bei einem an einer Wortgrenze WG ausgerichteten Maschinenbefehl mit einem Format von 6 Byte aus dem Befehlspuffer der vollständige Inhalt des Pufferregisters IBA der vierten Stufe und aus dem Pufferregister IBB der dritten Stufe die beiden ersten Bytes 0 und 1 entnommen. Ist dagegen ein solcher Befehl an einer Halbwortgrenze HWG ausgerichtet, werden dem Pufferregister IBA der vierten Stufe, lediglich die beiden Bytes 2 und 3 und dem Pufferregister IBB der dritten Stufe alle vier zwischengespeicherten Bytes 0 bis 3 entnommen.As already indicated, the machine instructions have a format of two, four or six bytes and can therefore be aligned with a word or half-word boundary. The alignment of a machine command to be processed can be recognized from the status of bit positions 29 and 30 in the current command counter P, as will be explained later. This bit combination is evaluated in order to read out a machine command from the command buffer IB. So z. B. in the case of a machine command with a format of 6 bytes aligned on a word boundary WG , the complete contents of the buffer register IBA of the fourth stage and the first two bytes 0 and 1 from the buffer register IBB of the third stage. If, on the other hand, such a command is aligned with a half-word boundary HWG , only the two bytes 2 and 3 and the buffer register IBB of the third stage are taken from the buffer register IBA of the fourth stage, all four cached bytes 0 to 3.

Für diese Lesesteuerung sind dem Befehlspuffer IB drei Multiplexer zugeordnet. Über einen ersten Multiplexer D-MLJX für Distanzadressen mit einer Breite von 12 Bit werden Befehlsfelder für die Adreßrechnung ausgegeben. Ein zweiter Multiplexer OM UX dient zum Auslesen des Operationscodes eines Maschinenbefehls und der Register-Längenverschlüsselung mit jeweils 1 Byte. Derartige Daten sind im eigentlichen Sinne als Steuerdaten anzusehen; Leitungen, auf denen solche Daten transportiert werden, sind deshalb zur Kennzeichnung mit unterbrochenen Linien dargestellt. Die über den zweiten Multiplexer OMUX ausgelesenen Steuerdaten werden u. a. unmittelbar dem in Fig.3 nur schematisch angedeuteten Exekutivprozessor EP zugeführt, um dort das für die Verarbeitung des ausgelesenen Maschinenbefehls benötigte Mikroprogramm anzustoßen.Three multiplexers are assigned to the command buffer IB for this read control. Command fields for address calculation are output via a first multiplexer D-MLJX for distance addresses with a width of 12 bits. A second multiplexer OM UX is used to read out the operation code of a machine command and the register length encryption with 1 byte each. Such data are to be regarded as tax data in the strict sense of the word; Lines on which such data are transported are therefore shown with broken lines for identification. The control data read out via the second multiplexer OMUX are, among other things, fed directly to the executive processor EP , which is only indicated schematically in FIG. 3, in order to initiate the microprogram required there for processing the machine command read out.

Ein dritter Multiplexer R-MUX für Registrieradressen ist 4 Bit breit, dient zum Extrahieren von Registeradreßfeldern des nächsten Maschinenbefehls aus den Pufferregistern IBA bzw. IB der vierten bzw. dritten Stufe und ist ausgangsseitig mit dem Exekutivprozessor EP zum Ansteuern eines Registerspeichers ÄSPverbunden. Dort sind sämtliche internen Arbeitsregister des Exekutivprozessors £7* zusammengefaßt.A third multiplexer R-MUX for registration addresses is 4 bits wide, is used to extract register address fields of the next machine instruction from the buffer registers IBA or IB of the fourth or third stage and is connected on the output side to the executive processor EP to control a register memory ÄSP. All internal working registers of the executive processor £ 7 * are summarized there.

Außerdem ist an diesen dritten Multiplexer R-MUX für Registeradressen eine zweite Vergleichseinrichtung angeschlossen, die auch mit diesem Registerspeicher RSP verbunden ist. Sie besteht aus zwei Registeradressen-Vergleichern RVX bzw. RV2, die bei allen Schreiboperationen im Registerspeicher die Schreibadressen mit den für die Aufbereitung eines Maschinenbefehls benutzten Registeradressen vergleichen. Fällt ein Vergleich positiv aus, so bedeutet dies, daß beim Ausführen eines n-ten Maschinenbefehls ein Registerinhalt für einen nachfolgenden (n+ l)-ten Maschinenbefehl geändert wird, d. h. ein Register-Konflikt auftritt. Mit einem dann abgegebenen zweiten Konfliktsignal RC wird die Wiederholung der bis dahin im Aufbereitungsprozessor IIP abgelaufenen Vorbereitung für den (n+ lj-ten Maschinenbefehl eingeleitet.In addition, a second comparison device, which is also connected to this register memory RSP , is connected to this third multiplexer R-MUX for register addresses. It consists of two register address comparators RVX and RV2, which compare the write addresses with the register addresses used to prepare a machine command for all write operations in the register memory. If a comparison is positive, this means that when an n- th machine instruction is executed, a register content is changed for a subsequent (n + 1) -th machine instruction, ie a register conflict occurs. A second conflict signal RC then emitted is used to initiate the repetition of the preparation for the (n + lj-th machine command that has taken place in the preparation processor IIP up to that point).

Im integrierten Aufbereitungsprozessor IIP ist darüber hinaus ein Adreßrechnerwerk AAD mit einem 24 Bit breiten Binäraddierer vorgesehen. Dieser wird einerseits von dem Multiplexer D-MUX für Distanzadressen und andererseits von einem Register RD für Registeradressen gespeist. Letzteres ist seinerseits wiederum mit dem Registerspeicher RSPdes Exekutivprozessors EP verbunden und nimmt die aus dem Registerspeicher RSP gelesenenen Basis- und Indexj adressen oder bei reinen Registerbefehlen auch unmittelbar die Register-Operanden auf. Über den ersten Multiplexer D-MUX werden dem Binäraddierer die Distanzadressen oder aber das Ergebnis einer ersten Adreßrechnung aus dem ersten von zwei an denAn address computer unit AAD with a 24-bit binary adder is also provided in the integrated preparation processor IIP. This is fed on the one hand from the multiplexer D-MUX for distance addresses and on the other hand from a register RD for register addresses. The latter is in turn connected to the register memory RSP of the executive processor EP and accepts the base and index addresses read from the register memory RSP or, in the case of pure register commands, also directly the register operands. Via the first multiplexer D-MUX , the binary adder receives the offset addresses or the result of a first address calculation from the first of two to the

ίο Binäraddierer AAD angeschlossenen Adreßpuffer-Registern ABA bzw. ABB angeliefert. Bei der Adreßrechnung selbst werden 12 Bit breite Distanzadressen durch führende Nullen auf 24 Bit aufgefüllt, von der aus dem Register RD für Registeradressen kommenden Infor-ίο Binary adder AAD connected address buffer registers ABA or ABB delivered. During the address calculation itself, 12-bit wide offset addresses are padded to 24 bits with leading zeros, from the information coming from the register RD for register addresses.

I) mation werden die höherwertigen 8 Bit nicht in die Rechnung einbezogen. Das Ergebnis ist dann eine 24 Bit breite effektive Adresse, die in einem der beiden als Warteschlange wirkenden Adreßpuffer-Register ABA bzw. ABBniedergelegt wird.I) mation, the more significant 8 bits are not included in the calculation. The result is an effective address 24 bits wide, which is stored in one of the two address buffer registers ABA or ABB , which act as a queue.

Vorstehend wurde bereits mehrfach auf das verschiedene Format von Maschinenbefehlen hingewiesen, jedoch noch nicht näher erläutert, daß fünf Gruppen von Maschinenbefehlen vor allen hinsichtlich der Art unterscheidbar sind, wie und wo die Befehls-Operanden abgespeichert sind. In der folgenden Tabelle 1 sind diese fünf möglichen Befehlstypen RR bis SS, bezogen auf das jeweilige Speichermedium für die Operanden, ausgedrückt: The different formats of machine commands have already been pointed out several times above, but have not yet been explained in more detail, that five groups of machine commands are distinguishable above all with regard to the type of how and where the command operands are stored. In the following table 1 these five possible command types RR to SS are expressed in relation to the respective storage medium for the operands:

Tabelle 1Table 1

Name BefehlstypName of command type

Codecode

RR Register-Registerbefehle 00 RR Register Register Instructions 00

RX Register-Speicherbefehle mit 01 RX register storage instructions with 01

IndexierungsmöglichkeitIndexing option

RS Register-Speicherbefehle 10 RS Register Save Instructions 10

SI Speicher-Direktoperandenbefehle 10 SI memory direct operand instructions 10

55 Speicner-Speicherbefehle 1155 Speicner memory commands 11

Dabei bedeuten die Abkürzungen
R: die Registeradresse eines Operanden,
X: die Indexregisteradresse eines Operanden,
/: einen im Befehl enthaltenen Direktoperanden,
5: die Speicheradresse eines Operanden.
45
The abbreviations mean
R: the register address of an operand,
X: the index register address of an operand,
/: a direct operand contained in the instruction,
5: the memory address of an operand.
45

RR- Befehle haben die Länge von 2 Byte oder — anders ausgedrückt — eines Halbwortes. RX-, RS- und 5/-Befehle umfassen ein Wort, d. h. 4 Byte. 55-Befehle schließlich bestehen aus 3 Halbworten oder 6 Byte. In jedem Maschinenbefehl ist dieses Befehlsformat — in der Tabelle 1 als Code bezeichnet — in zwei Bitstellen des Operationsfeldes mit 00, 01 bzw. 11 verschlüsselt. Aus dieser Bitkombination können die notwendigen Informationen für alle erforderlichen Wegeschaltungen abgeleitet werden. Für einen bereitzustellenden Maschinenbefehl steht sie im aktuellen Befehlszähler Pan den erwähnten Bitstellen P29, P30. RR commands have a length of 2 bytes or - in other words - a half word. RX, RS and 5 / commands are one word, i.e. 4 bytes. Finally, 55 commands consist of 3 half-words or 6 bytes. In every machine command, this command format - referred to as code in Table 1 - is encoded in two bit positions of the operation field with 00, 01 and 11 respectively. The necessary information for all necessary route switching can be derived from this bit combination. For a machine command to be provided, it is in the current command counter Pan at the bit positions P29, P30 mentioned.

Für das Bereitstellen der Daten eines Maschinenbefehls in den Adreßpuffer-Registern ABA bzw. ABBläüt sich damit nun folgendes feststellen:For the provision of the data of a machine command in the address buffer registers ABA or AB , the following can be determined:

Bei ÄÄ-Befehlen wird der erste Operand R 1 aus dem ersten Adreßpuffer-Register ABA, der zweite Operand R 2 aus dem zweiten Adreßpuffer-Register ABB dem Exekutivprozessor EP übergeben. Bei RX-, RS- und 5/-Befehlen wird die Adresse für den Speicher-Operanden aus dem zweiten Adreßpuffer-Register ABB ausgelesen und bei 55-BefehIen steht die Adresse für den ersten Speicher-Operanden im ersten Adreßpuffer-In the case of ÄÄ commands, the first operand R 1 from the first address buffer register ABA and the second operand R 2 from the second address buffer register ABB are transferred to the executive processor EP . With RX, RS and 5 / commands, the address for the memory operand is read from the second address buffer register ABB and with 55 commands the address for the first memory operand is in the first address buffer.

itit

Register ABA und die für den zweiten Speicher-Operanden im zweiten Adreßpuffer-Register ABB. Dabei gilt die Festlegung, daß alle acht höherwertigen Bitstellen auf Null gesetzt sind, wenn die beiden Adreßpuffer-Register Adressen enthalten.Register ABA and the one for the second memory operand in the second address buffer register ABB. It is stipulated that all eight more significant bit positions are set to zero if the two address buffer registers contain addresses.

Einleitend wurde erläutert, daß der integrierte Aufbereitungsprozessor UP den unmittelbar zugeordneten ladbaren Mikroprogrammspeicher WCM des Exekutivprozessors EP mitbenutzt, vor allem auch um Zugriffskonflikte zu vermeiden. Um jedoch das Format der Mikrobefehle des ladbaren Mikroprogrammspeichers WCM nicht unnötig zu vergrößern, wird aber nicht die gesamte Steuerung des integrierten Aufbereitungsprozessors IIP im Detail übernommen. Für die Detailsteuerung des integrierten Aufbereitungsprozessors ist ein Zustandssteuer-Speicher ZS-ROM vorgesehen, der als Festwertspeicher ausgebildet ist. Dafür wird nur ein verhältnismäßig geringes Mikrobefehlsformat von beispielsweise 2 Byte benötigt, so daß insgesamt für die dort abzuspeichernden Mikroprogramme eine Speicherkapazität von 1 KBit genügt.In the introduction it was explained that the integrated preparation processor UP also uses the directly assigned loadable microprogram memory WCM of the executive processor EP , above all in order to avoid access conflicts. However, in order not to unnecessarily enlarge the format of the microinstructions of the loadable microprogram memory WCM , the entire control of the integrated editing processor IIP is not taken over in detail. A status control memory ZS-ROM , which is designed as a read-only memory, is provided for detailed control of the integrated preparation processor. Only a relatively small microinstruction format of 2 bytes, for example, is required for this, so that overall a storage capacity of 1 Kbit is sufficient for the microprograms to be stored there.

Die Anfangsadresse eines Mikroprogramms der Detailsteuerung wird abhängig vom Befehlsformat des Maschinenbefehls und seiner relativen Lage in einem Speicher-Doppelwort, d. h. seiner Ausrichtung in einem diesem Festwertspeicher zugeordneten Adressenzähler SRA gebildet. Dazu ist dieser Adressenzähler über eine 2 Bit breite Steuerleitung mit dem Befehlszähler P verbunden, aus dem er die beiden Bitstellen P29, 30 empfängt. Über eine weitere 2 Bit breite Steuerleitung ist der Adressenzähler SRA an den Ausgang des Multiplexers O-MUX für den Operationscode angeschlossen, der ihm zwei Bitstellen IBO, 1 als Information über den Operationscode zuführt. Die niederwertigsten beiden Bitstellen des Adressenzählers SRA werden mit Nullen aufgefüllt. Der Adressenzähler SRA ist über eine 1 Bit breite dritte Steuerleitung außerdem unmittelbar mit dem ladbaren Mikroprogrammspeicher WCM des Exekutivprozessors EP verbunden. Wie angedeutet, kann damit in den Adressenzähler SRA ein Steuerkommando »Lesen Registerspeicher« RRS übertragen werden, mit dem die Mikroprogrammadresse im Zustandssteuer-Speicher ZS-ROM weitergeschaltet wird.The start address of a microprogram of the detailed control is formed as a function of the instruction format of the machine instruction and its relative position in a memory double word, ie its alignment in an address counter SRA assigned to this read-only memory. For this purpose, this address counter is connected to the command counter P via a 2-bit wide control line, from which it receives the two bit positions P29, 30. The address counter SRA is connected via a further 2-bit wide control line to the output of the multiplexer O-MUX for the operation code, which supplies it with two bit positions IBO, 1 as information about the operation code. The two least significant bit positions of the address counter SRA are padded with zeros. The address counter SRA is also directly connected to the loadable microprogram memory WCM of the executive processor EP via a 1-bit wide third control line. As indicated, a control command “read register memory” RRS can thus be transferred to the address counter SRA , with which the microprogram address is advanced in the state control memory ZS-ROM.

Mikroprogrammsteuerungen sind an sich bekannt, deshalb ist die eigentliche Detailsteuerung durch die 16 Bit breiten Mikrobefehle im Zustandssteuer-Speicher aus Gründen der Übersicht nicht in Fig. 2 und 3 aufgenommen. In Fig. 3 ist nur eine Besonderheit herausgehoben: Ein weiterer Festwertspeicher stellt den Mikroprogrammspeicher WP-ROM eines im übrigen nicht detailliert dargestellten Wartungsprozessors dar. Dort sind Wartungsfunktionen abgelegt, die vom Betriebssystem der datenverarbeitenden Anlage ausgeführt werden. Während der Befehlsausführung — also im normalen Programmablauf — werden diese nicht benötigt. Dies wird ausgenutzt und es werden in diesem Speicher auch die jeweils ersten Mikrobefehle von im Exekutivprozessor EP ablaufenden Mikroprogrammen für die Befehlsausführung abgespeichert, Damit wird erreicht, daß der erste Mikrobefehl eines Maschinenbefehls, z.B. des (n+ l)-ten Maschinenbefehls bereits während der Ausführung des vorhergehenden n-ten Maschinenbefehls bereitgestellt und am Ende der Ausführung dieses Maschinenbefehls dem Exekutivprozessor übergeben werden kann. Die Mikroprogramme für die Befehlsverarbeitung im Exekutivprozessor EP können so, gesteuert durch den integriertenMicroprogram controls are known per se, which is why the actual detailed control through the 16-bit microinstructions in the state control memory is not included in FIGS. 2 and 3 for reasons of clarity. Only one special feature is highlighted in FIG. 3: Another read-only memory is the microprogram memory WP-ROM of a maintenance processor, which is otherwise not shown in detail. There, maintenance functions are stored that are carried out by the operating system of the data processing system. During the execution of the command - i.e. in the normal program sequence - these are not required. This is utilized and will be stored in this memory, the respective first microinstructions by proceeding in the executive processor EP microprograms for the instruction execution, it is achieved that the first microinstruction of a machine instruction, such as the (n + l) -th machine instruction of already during the execution previous n-th machine command provided and can be transferred to the executive processor at the end of the execution of this machine command. The microprograms for command processing in the executive processor EP can be controlled by the integrated

Aufbereitungsprozessor IIP, nahtlos aneinandergefügt werden.Preparation processor IIP, can be seamlessly joined together.

Die anhand von Fig.2 und 3 beschriebene Einrichtung gestattet eine in drei Stufen überlappende Bearbeitung der Funktionen »Lesen eines Maschinenbefehls«, »Adreßrechnung, Bereitstellung eines Maschinenbefehls« und »Ausführung eines Maschinenbefehls«. Die ersten beiden Funktionen werden für aufeinanderfolgende Maschinenbefehle überlappend im integrierten Aufbereitungsprozessor //rund die dritte Funktion, im eingeschwungenen Zustand dazu nochmals überlappend, im Exekutivprozessor fPausgeführt.The device described with reference to FIGS allows processing of the functions »reading a machine command«, overlapping in three stages, "Address calculation, provision of a machine command" and "Execution of a machine command". The first two functions are overlapping in the integrated for successive machine commands Processing processor // around the third function, in the steady state, overlapping again, executed in the executive processor fP.

Der Ablauf in den beiden ersten Stufen wird im folgenden anhand von Fig.4 und 5 näher erläutert. Beide Ablaufschemate hängen an sich zusammen, die Übergänge einzelner Ablaufzweige sind deshalb mit identischen Buchstaben A, B bzw. C bezeichnet. Jeder Block gibt eine Elementaroperation EO eines Mikroprogramms wieder, das entweder aus dem ladbaren Mikroprogrammspeicher WCM, dem Zustandssteuer-Speicher ZS-ROM oder dem Mikroprogrammspeicher WP-ROM des Wartungsprozessors abläuft. Um dies zu verdeutlichen, sind die einzelnen Elementaroperationen EO, soweit notwendig, zusätzlich mit diesen entsprechenden Bezeichnungen definiert.The sequence in the first two stages is explained in more detail below with reference to FIGS. Both flow charts are related, the transitions of individual flow branches are therefore designated with identical letters A, B and C , respectively. Each block represents an elementary operation EO of a microprogram that runs either from the loadable microprogram memory WCM, the state control memory ZS-ROM or the microprogram memory WP-ROM of the maintenance processor. To make this clear, the individual elementary operations EO are, if necessary, additionally defined with these corresponding designations.

Unstetige Modifikationen des aktuellen Befehlszählers P werden beispielsweise durch eine Programmunterbrechung oder einen erfüllten Sprungbefehl hervorgerufen. Wie bereits erläutert, muß danach die Bereitstellung des nachfolgenden Maschinenbefehls erneut anlaufen. Wie in F i g. 4 dargestellt, wird dieser Vorgang durch den Exekutivprozessor EP gesteuert. Wird mit der letzten Elementaroperation EO η bei der Verarbeitung eines Maschinenbefehls /ndie Sprungbedingung / erfüllt, so läuft mit der nachfolgenden Elementaroperation EO1 ein Mikroprogramm aus dem ladbaren Mikroprogrammspeicher WCM an. Sie umfaßt eine Adreßübersetzung ATTür den Inhalt des aktuellen Befehlszählers P und das Überführen dieses Registerinhalts in den Vorauslade-Befehlszählers PPF. Discontinuous modifications of the current command counter P are caused, for example, by a program interruption or a fulfilled jump command. As already explained, the provision of the following machine command must then start again. As in Fig. 4, this process is controlled by the executive processor EP. If the jump condition / is met with the last elementary operation EO η when processing a machine command (s), a microprogram from the loadable microprogram memory WCM starts with the following elementary operation EO 1. It includes an address translation AT door, the content of the current command counter P and the transfer of this register content to the preload command counter PPF.

In der Elementaroperation EO 2 läuft die Funktion »Lesen Befehls-Doppelwort« RDIaus dem Speichersystem S-SYSTab, der Inhalt des Vorauslade-Befehlszählers PPF wird um acht erhöht und so die nächste effektive Speicheradresse eingestellt.In the elementary operation EO 2 , the function »Read command double word« RDI runs from the memory system S-SYSTab, the content of the pre-load command counter PPF is increased by eight and the next effective memory address is set.

In der dritten Elementaroperation EO3 wird das gelesene Befehls-Doppelwort /D Win den Befehlspuffer IBübertragen. Außerdem wird vom ladbaren Mikroprogrammspeicher WCM ein Steuerkommando PF»Lesen Speicher-System« an den integrierten Aufbereitungsprozessor IIP gegeben, der damit das Lesen des nächsten Befehls-Doppelwortes übernimmt.In the third elementary operation EO3 , the read command double word / D Win is transferred to the command buffer IB . In addition, the loadable microprogram memory WCM issues a control command PF “Read memory system” to the integrated processing processor IIP , which then reads the next double-word command.

Zu diesem Zeitpunkt ist der bereits in den Befehlspuffer IB eingelesene Maschinenbefehl I(n+\) noch nicht in den Adreßpuffer-Registern ABA bzw. ABB bereitgestellt. Deshalb schließt sich im Exekutivprozessor EP, d. h. auf der Ausführungsebene in der nachfolgenden Elementaroperation EO 4 eine gegebenenfalls wiederholte Nulloperation NOOP an. Zugleich wird ein weiteres Steuerkommando RRS »Lesen Registerspeicher« an den integrierten Aufbereitungsprozessor IIP übergeben, so daß dann auf der Bereitstellungsebene zeitlich parallel eine Elementaroperation abläuft, die aus dem Zustandssteuer-Speicher ZS-ROM gesteuert wird. Dabei wird schrittweise der erste gelesene Maschinenbefehl l(n+ 1) weiter aufbereitet, bis er zur Verarbeitung im Exekutivprozessor EP bereitgestellt ist.At this point in time, the machine command I (n + \) already read into the command buffer IB is not yet made available in the address buffer registers ABA or ABB . Therefore, in the executive processor EP, ie on the execution level, in the subsequent elementary operation EO 4, a possibly repeated zero operation NOOP follows . At the same time, another control command RRS "Read register memory" is transferred to the integrated preparation processor IIP , so that an elementary operation then runs in parallel on the preparation level, which is controlled from the state control memory ZS-ROM. The first machine command I (n + 1) read is further processed step by step until it is made available for processing in the executive processor EP .

Im einzelnen können sich dabei im integrierten Aufbereitungsprozessor HP drei Ablaufzweige A, B bzw. C ergeben, die in F i g. 5 dargestellt sind. Diese Ablauffolgen für die zweite Funktionsstufe, d. h. auf der Bereitstellungsebene sind abhängig vom Befehlstyp RR, > RX, RS, Sl bzw. SS und von der Ausrichtung eines Befehls im Speicher-Doppel wort. Bei einem an einer Doppel wortgrenze DG ^ausgerichteten Maschinenbefehl weisen die beiden Bitstellen 29 und 30 im aktuellen Befehlszähler Pin diesem Beispiel die Bitkombination m 00 auf. Bei einer Ausrichtung an einer Wortgrenze WG heißt die Bitkombination 10 und bei einer Ausrichtung an einer der beiden Halbwortgrenzen HWG1 und HWG 2 im Doppelwort heißen die Bitkombinationen 01 bzw. 11. Die Art der Bitkombination bestimmt einen der ι > drei Ablaufzweige A, Boder C. In detail, there can be three process branches A, B and C in the integrated preparation processor HP , which are shown in FIG. 5 are shown. These sequences for the second functional level, ie on the provision level, are dependent on the command type RR, > RX, RS, Sl or SS and on the alignment of a command in the memory double word. In the case of a machine command aligned with a double word boundary DG ^, the two bit positions 29 and 30 in the current command counter Pin have the bit combination m 00 in this example. In one orientation on a word boundary WG the bit combination means 10 and at a position on one of the two half-word boundaries HWG 1 and HWG 2 in the double word names of the bit combinations 01 and 11. The type of bit combination determines one of the ι> three outlet branches A, B or C .

Im wichtigsten Fall, dem Ablaufzweig A, ist ein aufzubereitender Maschinenbefehl an einer Doppelwortgrenze DWG bzw. an der ersten Halbwortgrenze HWG1 ausgerichtet, dies ist im eingeschwungenen m Zustand immer der Fall, während nach unstetigen Modifikationen auch eine andere Ausrichtung möglich ist. Für jeden Maschinenbefehlstyp sind die während der drei Elementaroperationen £041, EO 51 und £061 dieses Ablaufzweiges A ablaufenden Vorgänge in den j-> einzelnen entsprechend gekennzeichneten Blöcken in F i g. 5 angegeben.In the most important case, branch A, a machine command to be processed is aligned with a double word boundary DWG or the first half word boundary HWG 1; this is always the case in the steady m state, while a different alignment is possible after discontinuous modifications. For each machine instruction type, the processes taking place during the three elementary operations £ 041, EO 51 and £ 061 of this branch A are in the individual appropriately marked blocks in FIG. 5 specified.

Betrachten wir zunächst ÄÄ-Befehle. Bei diesem Befehlstyp stehen die beiden Operanden in Registern R 1 bzw. R 2 des Registerspeichers RSP und sind durch so Registeradressen definiert. In der ersten Elementaroperation EO 41 dieses Ablaufzweiges wird das vom ladbaren Mikroprogrammspeicher WCM abgegebene Steuerkommando RRS »Lesen Registerspeicher« vom integrierten Aufbereitungsprozessor HP übernommen r, und der Inhalt des zweiten Registers Rl aus dem Registerspeicher RSP in das Register RD für Registeroperanden überführt. In der zweiten Elementaroperation EO 5\ wird dieser gelesene Registerinhalt in das zweite Adreßpuffer-Register ABB eingetragen. Daneben wird, ausgelöst durch ein weiteres Steuerkommando RRS, nun auch der andere Registeroperand aus dem Register R1 gelesen und in der nächsten Elementaroperation £061 in das erste Adreßpuff er-Register ABA übertragen. Beide Registeroperanden sind nun bereitgestellt, daraufhin wird im integrierten Aufbereitungsprozessor HP ein Bereitstellungssignal SRR erzeugt. Damit v/ird das Ansteuern des Mikroprogrammspeichers WP-ROM des Wartungsprozessors ausgelöst und aus ihm die erste Elementaroperation EOX' auf der ,0 Ausführungsebene für den bereitgestellten Maschinenbefehl I(n+\) ausgelesen. Die weitere Befehlsausführung läuft dann, aus dem ladbaren Mikroprogramm-Speicher WCMgesteuert, im Exekutivprozessor EPab. Let us first consider ÄÄ commands. With this type of instruction, the two operands are in registers R 1 and R 2 of the register memory RSP and are thus defined by register addresses. In the first elementary operation EO 41 of this branch of the process, the control command RRS "read register memory" issued by the loadable microprogram memory WCM is taken over by the integrated preparation processor HP , and the content of the second register Rl is transferred from the register memory RSP to the register RD for register operands. In the second elementary operation EO 5 \ , this read register content is entered in the second address buffer register ABB . In addition, triggered by a further control command RRS, the other register operand is now also read from register R 1 and transferred to the first address buffer register ABA in the next elementary operation £ 061. Both register operands are now made available, thereupon a ready signal SRR is generated in the integrated preparation processor HP. This triggers the control of the microprogram memory WP-ROM of the maintenance processor and reads out the first elementary operation EOX ' on the "0" execution level for the machine command I (n + \) provided . The further execution of the command then runs, controlled from the loadable microprogram memory WCM , in the executive processor EPab.

Für die übrigen Befehlsgruppen ergibt sich in den drei Elementaroperationen EO 41, EO51 bzw. EO61 eine jeweils analoge, jedoch typenspezifische Aufbereitung. In diesem Zusammenhang ist allerdings auf eine Besonderheit hinzuweisen: Auch die übrigen Maschinenbefehle können Operanden enthalten, die in einem «,o Operandenregister Ri bzw. Rl oder auch in einem Indexregister XX bzw. Xl des Registerspeichers RSP niedergelegt sind. Außer bei /?Ä-Befehlen wird jedoch durch den Aufbereitungsprozessor IIP ein solcher Operand nicht unmittelbar, sondern nur seine Registeradresse bereitgestellt und dieser Operand vom Exekutivprozessor EP während der Verarbeitungsphase gelesen. Dies hat den wesentlichen Vorteil, daß der hierFor the other command groups, the three elementary operations EO 41, EO 51 and EO 61 each have an analog, but type-specific preparation. In this context, however, a special feature should be noted: The other machine instructions can also contain operands that are stored in an «, o operand register Ri or Rl or in an index register XX or Xl of the register memory RSP . Except in the case of /? Commands, however, the editing processor IIP does not provide such an operand directly, but only its register address, and this operand is read by the executive processor EP during the processing phase. This has the major advantage that this one

4040

4 > betrachtete Ablaufzweig A immer nur die drei Elementaroperationen £041,51 und 61 benötigt, zumal es leichter möglich ist, diesem Zugriff zum Registerspeicher RSP in einer der Elementaroperationen der Ausführungsphase parallel zu einem anderen Schritt auszuführen. In F i g. 5 sind daher vereinfachend auch nur die umfangreicheren Adreßrechnungen für den anderen Operanden dargestellt. 4> considered process branch A only ever requires the three elementary operations £ 041, 51 and 61, especially since it is easier to carry out this access to the register memory RSP in one of the elementary operations of the execution phase in parallel with another step. In Fig. 5, therefore, only the more extensive address calculations for the other operands are shown for the sake of simplicity.

So muß beispielsweise bei SS- Befehlen für beide Operanden eine effektive Speicheradresse ermittelt werden. Dazu werden in den drei Elementaroperationen nacheinander aus dem Registerspeicher RSPd'ie Inhalte zweier Basisregister B X bzw. B 2 ausgelesen und jeweils in das Register RD für Registeroperanden übertragen. Im Adreßrechenwerk AAD wird zu der jeweiligen Basisadresse die zugehörige Distanzadresse Dl bzw. D 2 des Operanden addiert. Die Ergebnisse werden in eines der beiden Adreßpuff er-Register ABA bzw. ABB eingetragen. Am Ende der dritten Elementaroperation ist dies für beide Speicheroperanden erfüllt und im integrierten Aufbereitungsprozessor IIP wird ein Bereitstellungssignal SSSfür diesen Befehlstyp erzeugt.In the case of SS commands, for example, an effective memory address must be determined for both operands. For this purpose, in the three elementary operations, the contents of two base registers BX and B 2 are read out one after the other from the register memory RSPd 'and are each transferred to the register RD for register operands. In the address arithmetic unit AAD , the associated offset address Dl or D 2 of the operand is added to the respective base address. The results are entered in one of the two address buffer registers ABA or ABB . At the end of the third elementary operation, this is fulfilled for both memory operands and a ready signal SSS for this type of instruction is generated in the integrated preparation processor IIP.

Die Befehlsbereitstellung für RX-, RS- und 5/-Befehle dürfte damit wohl unmittelbar aus dem Ablaufschema erkennbar sein. Dies gilt auch für die beiden anderen Ablaufzweige B und C, bei denen der Maschinenbefehl an einer Wortgrenze WG bzw. an der zweiten Halbwortgrenze HWG1 ausgerichtet ist. Eine weitere detaillierte Beschreibung der Elementaroperationen £042 bis £072 bzw. der Elementaroperationen EO 43 bis £083 erscheint daher zum vollständigen Verständnis nicht mehr erforderlich.The provision of commands for RX, RS and 5 / commands should therefore be immediately recognizable from the flow chart. This also applies to the other two process branches B and C, in which the machine command is aligned with a word boundary WG or the second half-word boundary HWG1. A further detailed description of the elementary operations £ 042 to £ 072 or the elementary operations EO 43 to £ 083 therefore no longer appears necessary for a complete understanding.

Rückkehrend zu der Darstellung in Fig.4 ist nur noch darauf hinzuweisen, daß der Vorspann mit den Elementaroperationen £01 bis £03 — wie bereits angedeutet — nur nach unstetigen Modifikationen im aktuellen Befehlszähler Perforderlich ist. Im Normalfall wird bei konstruktiver Zwischenspeicherung aufeinanderfolgender Maschinenbefehle im Befehlspuffer IB diese Einleitungsphase übersprungen bzw. bereits während der Verarbeitungsphase vorangehender Maschinenbefehle durchgeführt. _Returning to the illustration in FIG. 4, it should only be pointed out that the preamble with the elementary operations £ 01 to £ 03 - as already indicated - is only required after discontinuous modifications in the current command counter Per. In the normal case, with constructive intermediate storage of successive machine commands in the command buffer IB, this introductory phase is skipped or already carried out during the processing phase of preceding machine commands. _

In F i g. 4 ist dies mit einem Steuersignal /angedeutet, das zusammen mit dem Bereitstellungssignal 5 ausgewertet wird. Treten beide Signal auf, so schließt sich an die letzte Elementaroperation £0 η der Verarbeitungsphase des Maschinenbefehls In unmittelbar die Verarbeitungsphase des darauffolgenden Maschinenbefehls I(n+\) mit der ersten Elementaroperation EOX' an. Fehlt jedoch nach Ablauf der letzten Elementaroperation EO η das Bereitstellungssignal S, dann werden so lange Nulloperationen NOOP eingeblendet, bis dieses Signal auftritt.In Fig. 4, this is indicated by a control signal / which is evaluated together with the readiness signal 5. If both signals occur, the last elementary operation £ 0 η of the processing phase of the machine command In is immediately followed by the processing phase of the subsequent machine command I (n + \) with the first elementary operation EOX ' . However, if the readiness signal S is missing after the last elementary operation EO η has elapsed, then zero operations NOOP are faded in until this signal occurs.

Aus den vorstehenden Erläuterungen ist damit wohl erkennbar geworden, daß die im ladbaren Mikroprogrammspeicher WCM gespeicherten Mikroprogramme auch die Vorgänge im integrierten Aufbereitungsprozessur IIP über bestimmte Signale, insbesondere die Steuerkommandos RRS und PF auslösen. Dabei bleibt es jedoch dem integrierten Aufbereitungsprozessor IIP überlassen, ob er die angebotenen Signale annimmt oder nicht. Auf diese Weise gelingt es einerseits Zugriffe des integrierten Aufbereitungsprozessors IIP und des Exekutivprozessors EP zu gemeinsamen Speichereinrichtungen, wie zum Speichersystem S-SYSToder zum Registerspeicher RSP zu koordinieren und damit die Steuerungen in den Schnittstellen zu vereinfachen.From the above explanations it can be seen that the microprograms stored in the loadable microprogram memory WCM also trigger the processes in the integrated editing processor IIP via certain signals, in particular the control commands RRS and PF. However, it is left to the integrated preparation processor IIP whether it accepts the signals offered or not. In this way it is possible on the one hand to coordinate accesses of the integrated editing processor IIP and the executive processor EP to common storage devices, such as to the storage system S-SYST or to the register memory RSP , and thus to simplify the controls in the interfaces.

Andererseits laufen trotzdem die Vorgänge in denOn the other hand, the processes still run in the

15 1615 16

beiden Prozessoren IIP und EP voneinander getrennt gewinn gegenüber konventionellen, mit einem Verar und unabhängig ab, können also echt parallel ausgeführt beitungsprozessor ausgestatteten Zentraleinheiten, werden. Wie der geringe Umfang der Detailsteuerung ohne daß — wie bei nach dem Prinzip des »Pipelinig« für den integrierten Aufbereitungsprozessor IIP und aufgebauten Maschinen — nach jeder Verarbeitungsdessen Schaltungsaufbau erkennen läßt, ist eine solche ί station in Puffereinrichtungen Warteschlangen gebildet tatsächliche Parallelarbeit bereits mit geringem Auf- werden müssen,
wand möglich. Sie bringt einen erheblichen Leistungs-
Both processors IIP and EP separately gain from one another compared to conventional, with one processing and independently from each other, so they can be executed in real parallel with processing processor- equipped central units. As the small scope of the detailed control without - as in the case of the "pipeline" principle for the integrated preparation processor IIP and built-up machines - reveals its circuit structure after each processing , such a ί station in buffer facilities is queued and actual parallel work is already carried out with a small amount of queues - Need to become,
wall possible. It brings a significant performance

Hicrzu 5 Blatl ZeicliiuiimcnAdd 5 sheets of Zeicliiuiimcn

Claims (9)

Patentansprüche:Patent claims: 1. Datenverarbeitende Anlage mit mehreren spezialisierten, durch Mikroprogramme gesteuerten Prozessoren und mit einem gemeinsamen Speichersystem, in der die Verarbeitung von auch virtuell adressierten Maschinenbefehlen im Regelfall parallel erfolgt, indem ein Aufbereitungsprozessor das Befehlslesen und die Adreßrechnung für Befehlsoperanden durchführt, und ein angeschlossener Exekutivprozessor die eigentliche Befehlsausführung übernimmt, dadurch gekennzeichnet, daß ein dem Exekutivprozessor (EP) zugehöriger, ladbarer Mikroprogranimspeicher ( WCM) auch den Ablauf der Bereitstellung eier Maschinenbefehle im Aufbereitungspio/essor (IIP) derart steuert, daß gleichzeitige Zugriffe des Aulbereitungsprozessors und des Exekutivprozessors /u dessen Registerspeicher (RSP) bzw. /um Speichersystem (S-SYSI) vermieden werden, daß dazu der Aufbereitungsprozessor einen eigenen kleinen Zustandssteuer-Speicher (ZM-ROM) besitzt, der die Mikroprogramme für die Detailsteuerung des Aufbereitungsprozessors enthalt und dessen I.eseoperationen durch vom ladbaren Mikroprogranimspeicher des Exekutivprozessors abgegebene Steuersignale ausgelöst werden, daß der Aufbereiiungsprozessor darüber hinaus einen aus mehreren hintereinander angeordneten l'ufferregistern (ΙΒΛ bis IBl.) aufgebauten Befehlspiiffer (IB) zum Zwischenspeichern von im Vorgriff aus dem Speichersystem gelesenen Maschinenbefehlen besitzt, an ilen ein Adreßrechner (AAD, ABB, ΛBA) zum Bereitstellen von Registeroperanden bzw. effektiven Adressen von Speicheroperanden angeschlossen ist und daß zum Vermeiden von Speicher- bzw. Registerkonllikten bei im Vorgriff gelesenen Maschinenbefehlen im Aufbereitungspro-/essor zwei Vergleichseinrichtungen (SVl, SV2 bzw. RVi, RV2) angeordnet sind, die bei jedem durch den Exekutivprozessor ausgelösten Schreibzugriff zum Speichersystem bzw. zum Registerspeicher Speicher- bzw. Registeradressen mit den entsprechenden Adressen im Vorgriff gelesener Maschinenbefehle vergleichen und bei Übereinstimmung ein Konfliktsignal (MC bzw. RC) abgeben, wodurch in den Aufbereitungsprozessor im Vorgriff gelesene Maschinenbefehle ungültig und anschließend erneut gelesen werden.1. Data processing system with several specialized processors controlled by microprograms and with a common memory system in which the processing of also virtually addressed machine commands usually takes place in parallel, with a processing processor performing the command reading and the address calculation for command operands, and a connected executive processor the actual Takes over command execution, characterized in that a loadable microprogram memory (WCM ) belonging to the executive processor (EP) also controls the process of making available machine commands in the preparation pio / essor (IIP) in such a way that simultaneous accesses by the preparation processor and the executive processor / and its register memory ( RSP) or / to storage system (S-SYSI) avoided that the editing processor has its own small status control memory (ZM-ROM) , which stores the microprograms for the detailed control of the editing processor e nthalt and its read operations are triggered by control signals emitted by the loadable microprogram memory of the executive processor, so that the processing processor also has an instruction memory (IB) built up from several buffer registers (ΙΒΛ to IBl. ) for the temporary storage of those read in advance from the memory system Has machine commands, an address computer (AAD, ABB, ΛBA) for providing register operands or effective addresses of memory operands is connected to them and that two comparison devices (SVl , SV2 or RVi, RV2) are arranged, which compare memory or register addresses with the corresponding addresses in anticipation of machine commands read in advance and if they match e in conflict signal (MC or RC) , whereby machine commands read in advance in the preparation processor are invalid and then read again. 2. Datenverarbeitende Anlage nach Anspruch 1, dadurch gekennzeichnet, daß der Aufbereitungsprozessor (IIP) zum Vorauslesen von Maschinenbefehlen aus dem Speichersystem (S-SYST) auch ein im Exekutivprozessor (I:P) angeordnetes Speicheradreß-Register (MA) benutzt und dazu neben einem aktuellen Befehlszähler (P) mit der effektiven Adresse eines zur Ausführung kommenden Maschinenbefehls (In) einen an diesen angeschlossenen Vorauslade-Befehlszähler (PPF) aufweist, der beim Vorauslesen von Maschinenbefehlen (l(n +m)) gegenüber dem Zählerstand des aktuellen Befehlszählers einen entsprechenden Vorlauf aufweist, dessen absolute Größe in einem dem Vorauslade-Befehlszähler zugeordneten Vorlaufzähler (VLZ) niedergelegt ist.2. Data processing system according to claim 1, characterized in that the preparation processor (IIP) for pre-reading machine commands from the memory system (S-SYST) also uses a memory address register (MA) arranged in the executive processor (I: P) and for this purpose in addition to a current command counter (P) with the effective address of a machine command (In) to be executed has a pre-loading command counter (PPF) connected to it, which when pre-reading machine commands (l (n + m)) has a corresponding value compared to the count of the current command counter Has lead, the absolute size of which is recorded in a lead counter (VLZ) assigned to the pre-load command counter. 3. Datenverarbeitende Anlage nach Anspruch 2, dadurch gekennzeichnet, daß die im Aufbereitungsprozessor (IIP) vorgesehene Vergleichsrichtung (SV \, SV2) zum Vermeiden von Speicherkonflikten zwei Register enthält, die an den aktuellen Befehlszähler (P) bzw. an den Vorauslade-Befehlszähler (PPF) angeschlossen sind und die dort gespeicherten effektiven Adressen von Maschinenbefehlen aufnehmen und die außerdem parallel mit dem Speicheradreß-Register (MA) verbunden sind, so daß bei einer Schreiboperation des Exekutivprozessors (EP) durch einen Adressenvergleich in der Vergleichseinrichtung feststellbar ist, ob die Schreiboperation im Vorgriff gelesene Maschinenbefehle erfaßt und in diesem Konfliktfall von der Vergleichseinrichtung ein Konfliktsignal (MC) für Sthreiboperutionen im Speichersystem abgegeben wird, mit dem der Vorlaufzähler (VLZ) auf Null gesetzt und damit ein erneutes Lesen der so für ungültig erklärten, im Befehlspuffer (IB)zwischengespeicherten Maschinenbefehle ausgelöst wird.3. Data processing system according to claim 2, characterized in that the comparison direction (SV \, SV2 ) provided in the preparation processor (IIP) contains two registers to avoid memory conflicts, which are sent to the current command counter (P) or to the pre-load command counter ( PPF) are connected and receive the effective addresses of machine commands stored there and which are also connected in parallel to the memory address register (MA) , so that during a write operation of the executive processor (EP) it can be determined by an address comparison in the comparison device whether the write operation Machine commands read in advance are detected and, in this case of conflict, the comparison device issues a conflict signal (MC) for Sthreiboperutionen in the memory system, with which the forward counter (VLZ) is set to zero and thus a renewed reading of the invalid in the command buffer (IB) cached machine commands are triggered d. 4. Datenverarbeitende Anlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Befehlspuffer (IB) in vier Stufen angeordnete Pufferregister aufweist, von denen in der ersten Stufe zwei Register (IBD bzw. IBE) über eine Speicherdatenleitung (SDL I) unmittelbar mit dem Ausgang des Speichersystems (S-SYSI) veibunden sind und ein gelesenes Speicherdoppelwort aufnehmen, daß die Ausgänge dieser beiden Pufferregister parallel mit den Eingängen eines dritten Pulferregisters (IBC ) der zweiten Stufe verbunden sind, das aiisgangsseilig über ein weiteres Pufferregister f/ߣy der dritten Stufe mit dem fünften Pufferregister (IBA)dcr vierten Stufe verbunden ist.4. Data processing system according to one of claims 1 to 3, characterized in that the command buffer (IB) has buffer registers arranged in four stages, of which two registers (IBD or IBE) via a memory data line (SDL I) directly in the first stage are connected to the output of the memory system (S-SYSI) and receive a read memory double word that the outputs of these two buffer registers are connected in parallel to the inputs of a third Pulferregister (IBC) of the second stage, which is connected via a further buffer register f / ß £ y of the third stage is connected to the fifth buffer register (IBA) of the fourth stage. 5. Datenverarbeitende Anlage nach Anspruch 4, dadurch gekennzeichnet, daß Befehlsfeklern, die den Operalionscode von an einer Halbworigrenze (HWCi) oiler einer Wortgrenze (WCl) ausgerichteten Maschinenbefehlen aufnehmen zugeordnete Ausgänge des fünften Pufferregisters (MA) mti den Eingängen eines Multiplexers (O-MLIX) für den Operationscode verbunden sind, dessen Ausgänge mit dem Exekutivprozessor (EP) für die Übergabe des Operationscodes eines bereitgestellten Maschinenbefehls verbunden sind, daß an Ausginge des vierten und fünften Pufferregisters (IBA bzw. IBB), die Befehlsfeldern für Distanzadressen von Befehlsoperanden zugeordnet sind, ein Multiplexer (D-MVK) für Distanzadressen angeschlossen ist, dessen Ausgänge mit dem Adreßrechenwerk (AAD) verbunden sind, und daß an Ausgänge dieser beiden Pufferregister, die Befehlsfeldern für Adressen von Registeroperanden zugeordnet sind, ein Multiplexer (R-MUX)(Ur Register-Operanden angeschlossen ist, der über Adreßleitungen mit dem im Exekutivprozessor enthaltenen Registerspeicher (RSP) verbunden ist.5. Data processing system according to claim 4, characterized in that command errors which record the operational code of machine commands aligned at a half-word limit (HWCi) oiler a word limit (WCl) are assigned outputs of the fifth buffer register (MA) with the inputs of a multiplexer (O-MLIX ) are connected for the operation code, the outputs of which are connected to the executive processor (EP) for the transfer of the operation code of a provided machine command, that the command fields for offset addresses of command operands are assigned to outputs of the fourth and fifth buffer registers (IBA or IBB), a multiplexer (D-MVK) for distance addresses is connected, the outputs of which are connected to the address arithmetic unit (AAD) , and that a multiplexer (R-MUX) (Ur Register -Operand is connected, which via address lines with the in Execut The register memory (RSP) contained in the processor is connected. 6. Datenverarbeitende Anlage nach Anspruch 5, dadurch gekennzeichnet, daß zum Vermeiden von Registerkonflikten an den Multiplexer (R-MUX)füv Register-Operanden die zweite Vergleichseinrichtung (RVt, RV2) angeschlossen ist, die zwei Register für die Adressen von Register Operanden des gerade aufzubereitenden Maschinenbefehls enthält und außerdem an den Registerspeicher (RSP) im Exekutivprozessor (EP) angeschlossen ist, so daß bei Schreiboperationen des Exekutivprozessors in den Registerspeicher die aufgerufene Adresse für ein internes Arbeitsregister im Registerspeicher mit den Adressen für Register Operanden6. Data processing system according to claim 5, characterized in that to avoid register conflicts to the multiplexer (R-MUX) for register operands, the second comparison device (RVt, RV2) is connected, the two registers for the addresses of the operands of the register Contains machine instruction to be processed and is also connected to the register memory (RSP) in the executive processor (EP) , so that during write operations of the executive processor in the register memory, the called address for an internal working register in the register memory with the addresses for register operands des bereitzustellenden Maschinenbefehls vergleichbar ist und bei positivem Vergleich ein Konfliktsignal (RC) für .Schreiboperationen im Registerspeicher abgegeben wird, durch das die bisherige Vorbereitung für den betroffenen Maschinenbefehl ungültig erklärt wird.of the machine command to be provided is comparable and, in the event of a positive comparison, a conflict signal (RC) for .Schreiboperationen is issued in the register memory, which invalidates the previous preparation for the machine command concerned. 7. Datenverarbeitende Anlage nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß das an den Multiplexer (DMUX) für Distanzadressen angeschlossene Adreßrechenwerk (AAD)w\s Binäraddicrer ausgebildet ist, dem parallel zu den Ausgängen dieses Multiplexers auch die Ausgange eines Registers (RD) für Register-Operanden zugeführt sind, das andererseits an ilen Registerspeit her (RSf) des Exekulivprozessors (EP) angeschlossen ist und daß die Ausgange ties Binaraddierers mit zwei Adreßpuffer Registern (AIiA, AIiIi) für Register Operanden bzw. effektive Adressen von Operanden eines bereitgestellten Maschinenbefehls veibunden sind und die Ausgänge diesel' Register an den Exekutivpiozessor angeschlossen sind, wobei die Ausgänge des eisten der beiden Register (AIiA) über den Multiplexer (D-MUX) für Distanz.idi essen auf die Eingänge des Binäraddierers rückgekoppelt sind.7. Data processing system according to claim 5 or 6, characterized in that the address arithmetic unit (AAD) connected to the multiplexer (DMUX) for distance addresses is designed w \ s binary addicrer, which also has the outputs of a register (RD) parallel to the outputs of this multiplexer for register operands are supplied, which on the other hand is connected to ilen register space (RSf) of the executive processor (EP) and that the outputs of the binary adder with two address buffer registers (AIiA, AIiIi) for register operands or effective addresses of operands of a provided machine instruction are connected and the outputs of these registers are connected to the executive processor, with the outputs of most of the two registers (AIiA) being fed back to the inputs of the binary adder via the multiplexer (D-MUX) for distance. H. Datenverarbeitende Anlage nach einem tier Ansprüche 5 bis 7, dadurch gekennzeichnet, daß dem für die Detailsteuerung des Aiifbereitungsprozessors (IIP) vorgesehenen Zustandssteuer-Speidier (ZS- ROM), der als festwertspeicher ausgebildet ist, als Adreßregister ein Adressenzähler (.SYf.-l/zugeordnet ist, der über eine Steuerleitiing (IHO, I), mit dem Multiplexer (O-MIIX) für den Operalionscode zum Zuführen eines Codes über den I yp ties bereitzustellenden Maschinenbefehls und über eine weitere Steuerleitung (P29, JO) mit dem aktuellen Belehlszähler (P) veibunden ist, über die eine die Ausrichtung ties bereitzustellenden Maschinenbefehls in einem Speicherdoppelwort an einer Doppelwort-, Wort-, einer eisten oder zweiten Malbwortgrenze'DWa WG, HWG I bzw. HWG2) kennzeichnende Bitkombination übertragen wird und daß der Adreßzähler darüber hinaus an eine dritte Steuerleitung angeschlossen ist, über tue dem Zustandssteuer-Speicher aus dem ladbaren Mikroprogrammspeicher (WCM) da Exekutivprozessors (EP) ein Steuerkommando »Lesen Registerspeicher« (RRS) /ufünrbar ist, daß das Auslesen des nächsten Mikrobefehls auslöst.H. Data processing system according to one of Claims 5 to 7, characterized in that the state control memory (ZS-ROM) provided for the detailed control of the processing processor (IIP ), which is designed as a fixed-value memory, is an address counter (.SYf.- l / is assigned to the machine command to be provided via a control line (IHO, I) with the multiplexer (O-MIIX) for the operational code for supplying a code via the I yp ties and the current command via a further control line (P29, JO) Belehlszähler (P) is connected, via which the alignment of the machine command to be provided in a memory double word at a double word, word, first or second Malbwortbegrenz'DWa WG, HWG I or HWG2) characterizing bit combination is transmitted and that the address counter above is also connected to a third control line, via the state control memory from the loadable microprogram memory (WCM) as the executive process ssors (EP) a control command »read register memory« (RRS) / can be monitored that triggers the reading of the next microinstruction. 9. Datenverarbeitende Anlage nach Anspruch 8, dadurch gekennzeichnet, daß an den Zustandssteuer-Speicher (ZS-ROM) ein Mikroprogramm-Speicher eines weiteren Prozessors der datenverarbeitenden Anlage, des Wartungsprozessors angeschlossen ist, aus dem nach der letzten Elementaroperation eines Mikroprogramms, mit der die Hereitstellung eines Maschinenbefehls abgeschlossen wird, der erste Mikrobefehl der Ausführungsphase des bereitgestellten Maschinenbefehls ausgelesen wird.9. Data processing system according to claim 8, characterized in that a microprogram memory of another processor of the data processing system, the maintenance processor is connected to the state control memory (ZS-ROM), from which after the last elementary operation of a microprogram with which the When a machine command is provided, the first microinstruction of the execution phase of the provided machine command is read out.
DE2704560A 1977-02-03 1977-02-03 Data processing system with parallel provision and execution of machine commands Expired DE2704560C2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE2704560A DE2704560C2 (en) 1977-02-03 1977-02-03 Data processing system with parallel provision and execution of machine commands
CH1514177A CH632605A5 (en) 1977-02-03 1977-12-09 Data-processing system with normal parallel provision and execution of machine instructions
FR7802174A FR2379858B1 (en) 1977-02-03 1978-01-26 DATA PROCESSING INSTALLATION COMPRISING PARALLEL PREPARATION AND EXECUTION OF MACHINE INSTRUCTIONS
IT19652/78A IT1092143B (en) 1977-02-03 1978-01-26 DATA ELBAROATING SYSTEM WITH PARALLEL PREPARATION AND EXECUTION OF MACHINE INSTRUCTIONS
NL7801238A NL7801238A (en) 1977-02-03 1978-02-02 INFORMATION PROCESSING SYSTEM WITH PARALLEL PROVISION AND PERFORMANCE OF MACHINE INSTRUCTIONS.
AT0071078A AT373701B (en) 1977-02-03 1978-02-02 DATA PROCESSING SYSTEM WITH OVERLAPPED PROVISION AND EXECUTION OF MACHINE COMMANDS
GB4181/78A GB1582815A (en) 1977-02-03 1978-02-02 Data processing system
BE184896A BE863644A (en) 1977-02-03 1978-02-03 DATA PROCESSING FACILITY INCLUDING PREPARATION AND PARALLEL EXECUTION OF MACHINE INSTRUCTIONS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2704560A DE2704560C2 (en) 1977-02-03 1977-02-03 Data processing system with parallel provision and execution of machine commands

Publications (2)

Publication Number Publication Date
DE2704560B1 true DE2704560B1 (en) 1978-05-24
DE2704560C2 DE2704560C2 (en) 1979-01-18

Family

ID=6000299

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2704560A Expired DE2704560C2 (en) 1977-02-03 1977-02-03 Data processing system with parallel provision and execution of machine commands

Country Status (8)

Country Link
AT (1) AT373701B (en)
BE (1) BE863644A (en)
CH (1) CH632605A5 (en)
DE (1) DE2704560C2 (en)
FR (1) FR2379858B1 (en)
GB (1) GB1582815A (en)
IT (1) IT1092143B (en)
NL (1) NL7801238A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3626500A1 (en) * 1986-08-05 1988-02-18 Siemens Ag Method and arrangement for control of advance reading of new instructions of an instruction sequence into the instruction buffer of a data processing system
EP0239097A3 (en) * 1986-03-25 1990-04-25 Nec Corporation Data processing system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4316244A (en) * 1978-11-08 1982-02-16 Data General Corporation Memory apparatus for digital computer system
JPS5858653A (en) * 1981-10-02 1983-04-07 Hitachi Ltd Data processor
US4969117A (en) * 1988-05-16 1990-11-06 Ardent Computer Corporation Chaining and hazard apparatus and method
US4935849A (en) * 1988-05-16 1990-06-19 Stardent Computer, Inc. Chaining and hazard apparatus and method
US5748937A (en) * 1993-08-26 1998-05-05 Intel Corporation Computer system that maintains processor ordering consistency by snooping an external bus for conflicts during out of order execution of memory access instructions
IE80854B1 (en) * 1993-08-26 1999-04-07 Intel Corp Processor ordering consistency for a processor performing out-of-order instruction execution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0239097A3 (en) * 1986-03-25 1990-04-25 Nec Corporation Data processing system
DE3626500A1 (en) * 1986-08-05 1988-02-18 Siemens Ag Method and arrangement for control of advance reading of new instructions of an instruction sequence into the instruction buffer of a data processing system

Also Published As

Publication number Publication date
IT7819652A0 (en) 1978-01-26
GB1582815A (en) 1981-01-14
AT373701B (en) 1984-02-10
CH632605A5 (en) 1982-10-15
FR2379858A1 (en) 1978-09-01
BE863644A (en) 1978-08-03
DE2704560C2 (en) 1979-01-18
FR2379858B1 (en) 1985-10-25
NL7801238A (en) 1978-08-07
IT1092143B (en) 1985-07-06
ATA71078A (en) 1983-06-15

Similar Documents

Publication Publication Date Title
DE2829668C3 (en) Channel data buffer
DE1524101C3 (en) Multiple computing data processing system
DE2318069C2 (en) Micro-programmed computer system with expansion of control functions by means of a hard-wired logic matrix
DE3424962C2 (en)
DE2847934A1 (en) DATA PROCESSING DEVICE WITH A MICRO COMMAND MEMORY
DE2145120A1 (en) Digital data processing device
DE2411963B2 (en) DATA PROCESSING SYSTEM
DE1524166B1 (en) Circuit arrangement for establishing connections between several independent parts and a common part of a data processing system
DE1299145B (en) Circuit arrangement for controlling peripheral input and output devices of data processing systems
DE1549523B2 (en) DATA PROCESSING SYSTEM
DE1549474C3 (en) Arrangement In an electronic digital data processing system for the execution of a first command and simultaneous decoding of a following command
DE2835095A1 (en) COUPLED, MICROPROGRAMMED PROCESSOR SYSTEM
DE1499206C3 (en) Computer system
DE3802025C1 (en)
DE2454613C2 (en) Channel unit for controlling data transmission on a large number of channels between the peripheral devices and the main memory of a digital data processing system
DE2704560B1 (en) Data processing system with parallel provision and execution of machine commands
DE2747304C3 (en) Micro-command control device
DE1474376A1 (en) Method and arrangement for fast access to large serial memories
EP0010135B1 (en) Microprogrammed input/output controller and method for input/output operations
DE2557787A1 (en) SETUP AND METHOD OF PROCESSING MACHINE COMMANDS OF DIFFERENT FORMATS IN A MICROPROGRAMMED DATA PROCESSING SYSTEM
DE3854859T2 (en) Interrupt handling in a parallel data processing system
DE2350871A1 (en) COMPUTING UNIT FOR PROCESSING SPECIAL COMMANDS
DE1163579B (en) Control unit of a digital program-controlled calculating machine
DE2505518A1 (en) DEVICE FOR THE TRANSFER OF DATA BETWEEN THE MEMORY AND COMPUTING SECTIONS OF AN ELECTRONIC COMPUTER
DE2951405A1 (en) A computer system having enhancement circuitry for memory accessing

Legal Events

Date Code Title Description
8339 Ceased/non-payment of the annual fee