DE2704560C2 - 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
DE2704560C2
DE2704560C2 DE2704560A DE2704560A DE2704560C2 DE 2704560 C2 DE2704560 C2 DE 2704560C2 DE 2704560 A DE2704560 A DE 2704560A DE 2704560 A DE2704560 A DE 2704560A DE 2704560 C2 DE2704560 C2 DE 2704560C2
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.)
Expired
Application number
DE2704560A
Other languages
German (de)
Other versions
DE2704560B1 (en
Inventor
Manfred Dipl.-Ing. 8011 Putzbrunn 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 FR7802174A priority patent/FR2379858B1/en
Priority to IT19652/78A priority patent/IT1092143B/en
Priority to AT0071078A priority patent/AT373701B/en
Priority to GB4181/78A priority patent/GB1582815A/en
Priority to NL7801238A priority patent/NL7801238A/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 datenverarbeiten-Ie Anlage mit mehreren spezialisierten, durch Mikroirogramme gesteuerten Prozessoren und mit einem ;emeinsamen Speichersystem, in der die Verarbeitung on 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 Ie System with several specialized, through microirograms controlled processors and with a common memory system in which the processing on 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 Verarbeitungsein-For the central units of commercial data processing systems are dependent on the performance class different structures for the processing units

I» richtungen bekannt Neben Prozessoren mit einer rein sequentiellen Befehlsverarbeitung, d. h. einer strengen Reihenfolge der Funktionen »Ausführung eines /Ken Maschinenbefehls«, »Lesen des darauffolgenden (Vj-fl)-ten Maschinenbefehls«, »Ausführung desIn addition to processors with purely sequential command processing, i. H. a strict one Sequence of the functions »Execution of a / Ken machine command«, »Read the next (Vj-fl) -th machine instruction «,» Execution of the

ι > (n+ l)-ten Maschinenbefehls« usw., sind auch Prozessoren 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+:)-\m Maschinenbefehl parallel zur Ausführung eines n-ten Maschinenbefehls durchgeführt wobei /> 1 sein kann. In diese Gruppe von datenverarbeitenden Anlagen ist auch eine Einrichtung zum Verarbeiten von Maschinenbefehlen unterschiedlicher Formate in einem mikroprogrammierten Datenverarbeitungssystem einzuordnen, die in der deutschen Patentanmeldung P 25 57 787 vorgeschlagen ist In dieser Einrichtung werdenι> (n + 1) -th machine command, etc., processors with overlapping command processing are also known. Here, the fact is utilized that allows a processing cycle for a machine instruction at least in a retrieval and an execution phase divide In such processors is then the read operation for an (n +:) - \ m machine instruction executed in parallel for executing a nth machine instruction wherein /> 1 can be. This group of data processing systems also includes a device for processing machine commands of different formats in a micro-programmed data processing system, which is proposed in German patent application P 25 57 787. This device is used

jo Maschinenbefehle verdeckt bereitgestellt, d. h. bereits während der Ausführung eines vorausgehenden Maschinenbefehls in einer Verarbeitungseinheit aus dem Arbeitsspeicher gelesen und in Befehlspuffern zwischengespeichert, deren Breite der Schnittstelle zum Arbeitsspeicher entspricht. Dazu wird neben einem aktuellen Befehlszähler, der die vollständige Adresse des in der Verarbeitungseinheit gerade auszuführenden Maschinenbefehls enthält, ein weiterer, mil ihm verbundener Vorauslade-Befehlszähler vorgesehen.jo machine commands provided hidden, d. H. already during the execution of a preceding machine instruction in a processing unit from the RAM read and cached in command buffers, the width of which is the interface to the RAM corresponds. In addition to a current command counter, the complete address of the machine instruction to be executed in the processing unit, another one with it associated pre-load command counter is provided.

Dieser enthält jeweils die Speicheradresse des nächsten, aus Jem Speichersystem auszulesenden Maschinenbefehls. An beide Befehlszähler ist je eine Vergleichsrichtung angeschlosssen, die außerdem mit einem Adreßregister des Speichersystems verbunden ist. Damit läßt sich die Gültigkeit des Inhalts der Betehlspuffer 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.This contains the memory address of the next machine command to be read out from each 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 validity of the content of the command buffer to be 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 Verar^eitungseinrichtungen der höchsten Leistungsklasse, sie sind vielfach als sogenannte »Pipeline«-Prozessoren ausgeführt Die Struktur derartigti1 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.Is even more pronounced, the parallel work in proces ^ eitungseinrichtungen the highest performance class, they are carried by many as so-called "pipeline" processors The structure derartigti 1 processing units such. B. in the journal "Electronic Computing Systems", 1973, pages 60 to 65 in the article "Possibilities of accelerating a central unit through structural measures".

hQ Danagh 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 sindhQ Danagh the orders are like an assembly line edited what the term "pipeline" has come to be used for. For the individual processing phases, such as Reading a machine instruction, decoding, address calculation and provision of the instruction operand are

οι jeweils eine oder mehrere Bearbeitungsstationen vorgesehen. Die Maschinenbefehle durchlaufen taktweise die Kette dieser Bearbeitungsstationen und werden anschließend in einen ExekutivDrozessor. derοι 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. the

analog gegliedert ist, übergeben. Dabei wird der Verkehr mit dem Speichersystem der datenverarbeitenden Anlage vielfach über eine autonome .Speicherzugriffssteuerung abgewickelt, die die verschiedenen Speicherzugriffe während des gesamten Verarbeitungszyklus eines Maschinenbefehls bzw. der parallel zu verarbeitenden Maschinenbefehle miteinander koordinieren muß.is structured analogously. The traffic with the storage system is the data processing The system is often handled by an autonomous storage access controller that controls the various Memory accesses during the entire processing cycle of a machine command or the parallel to must coordinate processing machine commands with each other.

Ein solches Befehls-Fließband bedingt einen hohen schaltungsmäDigen Aufwand für die Parallelarbeit während der Bereitstellungs- und der Ausführungsphase, um zu erreichen, dat) möglichst mit jedem Maschinentakt ein Maschinenbefehl abschließend aus geführt wird. In jeder dieser beiden Phasen sind, wie beschrieben, im allgemeinen mehrere ßcarbeitungsstationen 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 Sprungbcdingungen, so daß dann die in kosekutiver Folge in das Fließband cingelesenen Maschinenbefehle in all diesen Fällen 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 dat) with everyone 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 succession are then included in all of these Cases must be declared invalid.

l'ür datenverarbeitende Anlagen einer mittleren Leistungsklasse ist dieser hohe Aufwand nn.!n 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:For data processing systems of a medium performance class, this high effort is nn.! n justified, 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 Zeitverlust 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 Loss of time 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 Exekunivprozessor 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 stattThe 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 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 held

einer ausgeklügelten Überwachungsmethode das relativ einfach zu verwirklichende Kriterium benutzt wird, be nicht konsekutiv im Speichersystem stehenden Maschi nenbefehlen die Parallelverarbeitung zu unterdrücken.relative to a sophisticated monitoring method criterion that is easy to realize is used, be machines that are not consecutively located in the storage system commands to suppress parallel processing.

Dazu trägt auch wesentlich bei, daß durch det Atifbereitungsprozessor keine Speicher-Operandet eines Maschinenbefehls im voraus gelesen, sondern nui deren effektive Speicheradressen bereitgestellt werden Selbst Register-Operanden werden nur dann direkt bereitgestellt, wenn dies bereits innerhalb einer kurzer Bereitstellungsphase möglich ist oder sie andererseit! nicht innerhalb der Ausführungsphase eines Maschinen befchls ohne zusätzlichen Zeitaufwand gelesen werden könnten.A major factor in this is that no memory operands are set by the preparation processor of a machine instruction read in advance, but nui whose effective memory addresses are provided. Even register operands are only then direct provided if this is already possible within a short deployment phase or otherwise! cannot be read within the execution phase of a machine without additional expenditure of time could.

Von besonderem Vorteil ist schließlich die hicrar chisch gegliederte Mikroprogrammsteuerung für der Exekutiv- und den Aufbereitungsprozessor aus dem ladbaren Mikroprogrammspeicher. Die Mikroprogram me des Exekutivprozessors ßehi;i an geeigneter Stelle Stcucrkommandos zum Lesen eines Speicherworte« oder des Registerspeichers durch den Aufbereitungs prozess')! ab. dadurch kann eine gegenseitige Behindc rung des Exekutiv- und des Aufbereitungsprozessors arr Speichersystem bzw. am P.egisterspeicher ausgeschlos sen werden. Im Format der Mikrobefehle de; Exekutivprozessors sind dafür zusätzlich nur zwe weitere Bitstellen erforderlich, so daß dieser Vortei h·. ixits mit einem sehr geringen Aufwand erre'.hi wird.Finally, the hicrarchically structured microprogram control for the is of particular advantage Executive and editing processors from the loadable microprogram memory. The microprogram me of the executive processor ßehi; i in a suitable place Stcucr commands for reading a memory word or the register memory by the processing process')! away. thereby a mutual hindc Execution of the executive and editing processors are excluded from the storage system or on the register storage be sen. In the format of the microinstructions de; There are only two additional executive processors further bit positions required so that this advantage h ·. ixits will reach'.hi with very little effort.

Trotzdem ist der Mikroprogrammspeicher des Exekutivprozessors nicht mit der Detailsteuerung de< Aufbereitungsprozessors belastet, was eine erhebliche Verbreiterung des Mikrobefehlsforinates bedeuten würde, denn zusätzlich ist ein kleiner Zustandssteuer-Speicher im Aufbereitungsprozessor vorgesehen. Damit 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.Nevertheless, the microprogram memory of the executive processor is not with the detailed control de < Editing processor loaded, which means a considerable broadening of the microinstruction forinates because there is also a small state control memory provided in the preparation processor. The preparation processor is thus 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 ihn angeschlossene Funktionseinheiten der datenverarbeitenden Anlage,F i g. 2 and F i g. 3 together show the embodiment of the preparation processor according to the invention and to it connected functional units of the data processing system,

Fig.4 und 5 anhand von Funktionsdiagrammen den Ablauf der Aufbereitungsphase bereitzustellender Maschinenbefehle. 4 and 5 based on function diagrams the Process of the preparation phase of the machine commands to be provided.

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-SYST und 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 Arbeiisspeiener-Steuerung AST angesteuert werden. An diese ist ebenfalls ein modular aufgebauter Pufferspeicher PSP The memory system S-SYST contains a working memory, preferably designed as a semiconductor memory, with a plurality of memory modules SP-M, which are controlled independently of one another via a working memory controller AST. A modular PSP buffer memory is also attached to this

angeschlossen. Diese Speiehcrhicrarchie erlaubt im typischen Belriebsfall mehr als 95% aller .Speicherzugriffe aus dem schnellen Pufferspeicher PSP zu bedienen und damit die effektive Zugriffs- und Zykluszeit des Speichersystems S-SYST wesentlich r, herabzusetzen.connected. This Speiehcrhicrarchie allowed in typical Belriebsfall more than 95% of all .Speicherzugriffe from the fast buffer memory PSP to use and thus the effective access and cycle time of the storage system S-SYST much r to decrease.

Als Vcrarbeiltingssystem enthält das Prozessorsystem r'SYSTmindestens einen Exekutivprozessor EP und einen damit integrierten Aufbereitungsprozessor IIP, dem ein Mikroprogrammladespeicher MPL zu- ι ο geordnet ist. Dieser enthält die gesamten lunklioncllcn Mikroprogramme und kanrl· beispielsweise als flexible Magnetplatte ausgebildet scm.As a visualization system, the processor system r'SYST contains at least one executive processor EP and a processing processor IIP integrated therewith, to which a microprogram load memory MPL is assigned. This contains the entire lunklioncllcn microprograms and can be designed, for example, as a flexible magnetic disk.

Schließlich kann auch das !-in-ZAusgabc-System IyASYST mikroprogrammgcsteuerl sein und dazu r> eventuell auch den ladbaren Mikroprogrammspeichcr W(M benutzen. F.s besitzt neben einer Ein-ZAusgabc-Stcucrung I7JA-ST Byte- und Block-Multiplexkanälc IiY-MlIX bzw. Hi.-MiJX, die funktionen ais spezielle n-tcnübcrlragungsprozessoren zu betrachten sind, in .>ii denen Hie Fin/Ausgabcvorgänge unabhängig vom Verarbeitungssystem durch Kanalprogramme gesteuert ablaufen. Die Ein-ZAusgabe-Stcuerung t'/A-ST koordiniert diese Datcnübertragungsprozcdiiren nach Prioritätsgesichtspunkten. >■■>Finally, the! -In-ZAusgabc-System IyASYST can be microprogram control and possibly also use the loadable microprogram memory W (M. In addition to an input-output structure I 7 JA-ST byte and block multiplex channels IiY- MlIX or Hi.-MiJX, the functions are to be considered as special n-tcn transfer processors, in which the fin / output processes run independently of the processing system controlled by channel programs. The input / output control t '/ A-ST coordinates these Data transmission processes according to priority criteria.>■■>

Nach diesem anhand von F i g. I geschilderten Überblick interessiert im vorliegenden Zusammenhang im wesentlichen das Verarbeitungssystem und hier insbesondere der integrierte Aufbereilungsprozessor IIP, da mikroprogrammierte Verarbeitungsprozessoren, κι wie der Exekutivprozessor EP, an sich als bekannt vorausgesetzt werden können. Lediglich aus Platzgründen ist der Aufbereitungsprozessor IIP in zwei getrennten Fig. 2 bzw. 3 dargestellt. Beide Figuren enthalten, soweit zum Verständnis notwendig, neben r> Einzelheiten des Aufbereitungsprossors IIP auch schematisch angegebene weitere Funktionseinheiten der datenverarbeitenden Anlage, die hier aus der Zeichnung durch eine strichpunktierte Umrandung deutlich herausgehoben sind, um den Zusammenhang herzustellen. i< >After this based on FIG. The overview described in the present context is essentially interested in the processing system and here in particular the integrated processing processor IIP, since microprogrammed processing processors, such as the executive processor EP, can be assumed to be known per se. The preparation processor IIP is shown in two separate FIGS. 2 and 3, only for reasons of space. Both figures contain, as far as necessary for understanding, in addition to details of the processing processor IIP also 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. i <>

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 /(n+//'ausführen: -r>The editing processor IIP integrated in the executive processor EP is intended to execute parallel to the processing of a machine command in the following function, which shortens the command execution, for the following machine commands / (n + // ': -r>

Lesen von Befehlen l(n+i)mh /=2 ... 8 aus dem Speichersystem S-SYSTin einem Befehlspuffer;
Bereitstellen von Register-Operanden für den Befehl/Zn+I);
Reading of commands l (n + i) mh / = 2 ... 8 from the memory system S-SYST in a command buffer;
Provision of register operands for the command / Zn + I);

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

Bereitstellung des ersten Mikrobefehls für den Befehl l(n+\). Providing the first microinstruction for the command l (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 Aufbereitungsprozes- m> sor 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 J Byte breiter und analog aufgebauter Vorauslade Befehlszähler PPI angeschlossen. Dieser enthält eine effektive Speicheradresse zum Befehlslesen. Sein Zählerstand weist deshalb gegenüber dem Stand des aktuellen Befehlszählers /' 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ählcr 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 /ur Ausführung kommenden Maschinenbefehls um 1,2 oder 3 erniedrigt. Umgekehrt wird der Zählersland 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 preparation processor 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 Comprises a length of two, four or six bytes, this instruction counter P is in a conventional manner by ± 2. Modify ± 4 or ± 6. An analog pre-load command counter PPI is also connected to it, which is also J byte wide and structured in an analog manner. 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 / ', 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 compared to 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 counter country 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 /' bzw. PPF sind außerdem zwei Speicheradrcssenvergicicher SVi bzw. SV2 zugeordnet. Diese vergleichen bei allen Sehreiboperalioncn 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 fPangcordnel.Two memory address comparators SVi and SV2 are also assigned to both command counters / 'and PPF. For all Sehreiboperalioncn 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 contained in a 3-byte-wide memory address register MA . This register is just like a memory data register MD with a length of 8 bytes in the executive processor fPangcordnel.

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-SYSTverbunden. 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 Atifbereitungsprozessor IIP übertragen. Für Speicherzugriffe des Exekutivprozessors EP werden einzuschreibende Speicherdaten über weite Speicherdatenleituiigen 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 SV1 bzw. SV2 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 Sprungzie! 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-SYST 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 processing 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 detected by the two memory address comparators SV 1 and SV2 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 met, and so at the jump! the machine command is read with the address transferred to the memory address register MA. When the forward counter VLZ is set to zero , all machine commands transmitted in advance are considered invalid.

In Fig.3 ist neben weiteren Einrichtungen des integrierten Aufbereitungsprozessors IIP vor allem ein 20 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 5DL 1 direkt aus dem Speichersystem S-SYST auf. In der zweiten Stufe übernimmt ein weiteres Pufferregister IBCden Inhalt eines der beiden Pufferregister der ersten Stufe und übergibt diesen anIn Figure 3, as well as other structures of the integrated rendering processor IIP especially a 20 byte Synthesis instruction buffer IB with five, arranged in four stages registers of 4 bytes each width shown in the first step is to take two buffer registers IBD or IBE an instruction double word on the first Storage data line 5DL 1 directly from the S-SYST storage system. 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 them

ein Pufferregisler IBB der drillen 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 Formal 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 .in einer Wortgrenze WC 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 I entnommen. Ist dagegen ein solcher Befehl an einer Halbwortgrenze HWG ausgerichtet, werden dem Puffprrptnstrr IRA rlpr viprtpn .Sliifp lpttiulirh flip hpiiipn 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 formal 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 a .in a word boundary WC aligned machine command with a format of 6 bytes, the complete content of the buffer register IBA of the fourth stage and the first two bytes 0 and I taken from the buffer register IBB of the third stage. If, however, such an instruction aligned on a halfword boundary HWG, the Puffprrptnstrr IRA rlpr viprtpn .Sliifp lpttiulirh flip hpiiipn bytes, all four latched bytes 0 removed 2 and 3 and the buffer register IBB of the third stage to the third

Für diese Lesesteuerung sind dem Befehlspuffer IB drei Multiplexer zugeordnet. Über einen ersten Multiplexer D-MUX für Distanzadressen mit einer Breite von 12 Bit werden Befehlsfelder für die Adreßrechnung ausgegeben. FJn zweiter Multiplexer O-MUX 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 O-MUX 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 the address calculation are output via a first multiplexer D-MUX for distance addresses with a width of 12 bits. The second multiplexer O-MUX 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 O-MUX 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 drs 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 /-^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 command 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 / - ^ 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 η-ten Maschinenbefehls ein Registerinhalt für einen nachfolgenden fn+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 UP abgelaufenen Vorbereitung für den (n+ l)-ten Maschinenbefehl eingeleitetIn 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 η-th machine command is executed, a register content is changed for a subsequent fn + 1) -th machine command, ie a register conflict occurs. A second conflict signal RC then emitted is used to initiate the repetition of the preparation for the (n + 1) -th machine command that has taken place in the preparation processor UP 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 Garn Registerspeicher RSPdes Exekutivprozessors EP verbunden und nimmt die aus dem Registerspeicher RSP gelesenenen Basis- und Index-An 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 yarn register memory RSP of the executive processor EP and takes the basic and index values read from the register memory RSP.

r> adressen oder bei reinen Registerbcfehlen 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 den r > addresses or, in the case of pure register errors, also directly to 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

to Binäraddierer AAD angeschlossenen Adreßpuffer-Registern ABA bzw. ADB 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-to the binary adder AAD connected to the address buffer registers ABA or ADB . 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.

r> mation werden die höherwertigen 8 Bit nicht in die Rechnung einbezogen. Das Ergebnis ist dann eine 24 Pit breite effektive Adresse, die in einem der beiden als Warteschlange wirkenden Adreßpuffer-Registcr ΛΒΑ h7u/ A /?/?nipdprirplpfft wird r> mation, the more significant 8 bits are not included in the calculation. The result is a 24 Pit wide effective address that acting in one of the two as a queue address buffer Registcr ΛΒΑ h7u / A /? /? Is nipdprirplpfft

■ - - CJ c,■ - - CJ c,

-Ί) 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-Ί) The above has already referred to the various Format of machine commands pointed out, but not yet explained in more detail, that five groups machine instructions can be distinguished primarily with regard to the type of how and where the instruction operands are

r> abgespeichert sind. In der folgenden Tabelle 1 sind diese fünf möglichen Befehlstypen RR bis 55, bezogen auf das jeweilige Speichermedium für die Operanden, ausgedrückt: r> are saved. In the following table 1 these five possible command types RR to 55 are expressed in relation to the respective storage medium for the operands:

hi Tabelle Ihi table I.

Name BefehlstypName of command type

Codecode

RR Register-Registerbefehle 00 RR Register Register Instructions 00

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

IndexierungsmöglichkeitIndexing option

RS Register-Speicherbefehle 10 RS Register Save Instructions 10

5/ Speicher-Direktoperandenbefehle 105 / memory direct operand instructions 10

55 Speicher-Speicherbefehle 1155 Memory Save Commands 11

Dabei bedeuten die AbkürzungenThe abbreviations mean

R: die Registeradresse eines Operanden. R: the register address of an operand.

Χ: die Indexregisteradresse eines Operanden.Χ: the index register address of an operand.

/: einen im Befehl enthaltenen Direktoperanden./: an immediate operand contained in the instruction.

S: die Speicheradresse eines Operanden. S: the memory address of an operand.

ΛΛ-Befehle haben die Länge von 2 Byte oder — anders ausgedrückt — eines Halbwortes. RX-, RS- und 57-Befehle umfassen ein Wort, d. h. 4 Byte. 55-Befehle schließlich bestehen aus 3 Halbworten oder 6 Byte. InΛΛ commands have a length of 2 bytes or - in other words - a half word. RX, RS and 57 commands are one word, i.e. 4 bytes. Finally, 55 commands consist of 3 half-words or 6 bytes. 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-, ο every machine command is this command format - in in table 1 as code - 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 obtained from this bit combination

abgeleitet werden. Für einen bereitzustellenden Maschinenbefehl steht sie im aktuellen Befehlszähler Pan den erwähnten Bitstellen P29, P 30.be derived. For a machine command to be provided, it is in the current command counter Pan at the bit positions P29, P 30 mentioned.

Für das Bereitstellen der Daten eines Maschinenbefehls in den Adreßpuffer-Registem ABA bzw. /455läßt sich damit nun folgendes feststellen:For the provision of the data of a machine command in the address buffer registers ABA or / 455, the following can now 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-, PS- und 5/-Befehlen wird die Adresse für den Speicher-Operanden aus dem zweiten Adreßpuffer-Register ABB ausgelesen und bei SS-Befehlen 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, PS and 5 / commands, the address for the memory operand is read from the second address buffer register ABB and with SS commands the address for the first memory operand is in the first address buffer.

IlIl

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 IIP 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 ///' im Detail übernommen. Für die Detailstcuerung des integrierten Aufbcrcitungsprozessors ist ein Zustandssteuer-Speicher ZSROM vorgesehen, der als Festwertspeicher ausgebildet ist. Dafür wird nur ein verhältnismäßig geringes Mikrobcfchlsformat von beispielsweise 2 Byte benötiet. so daß insgesamt für die dort abzuspeichernden Mikroprogramme eine Speicherkapazität von I KBit genügt.In the introduction it was explained that the integrated editing processor IIP 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 /// 'is not taken over in detail. A status control memory ZSROM , which is designed as a read-only memory, is provided for the detailed control of the integrated processing processor. For this, only a relatively small micro-format of, for example, 2 bytes is required. so that a total 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 IBQ, t 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 P 29, 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 IBQ, t as information about the operation code. The two least significant bit positions of the address counter SRA are filled 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 F i g. 2 und 3 aufgenommen. In F i g. 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+1)-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, so the actual detailed control through the 16-bit microinstructions in the state control memory is not shown in FIG. 2 and 3 added. In Fig. 3, only one special feature is highlighted: 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 command execution - that is, in normal program execution - these are not required This is exploited and it is stored in this memory, the respective first microinstructions of proceeding in the executive processor EP microprograms for command execution This ensures that the first microinstruction of a machine instruction, such as the ( n + 1) -th machine command already provided during the execution of the previous n-th machine command 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 IIPw\d die dritte Funktion, im eingeschwungenen Zustand dazu nochmals überlappend, im Exekulivprozessor £Vausgcführt.The device described with reference to FIGS. 2 and 3 allows the functions "reading a machine command", "address calculation, provision of a machine command" and "execution of a machine command" to be processed in an overlapping manner in three stages. The first two functions are overlapping in the integrated preparation processor IIPw \ d for successive machine commands, the third function, in the steady state, overlapping again in the executive processor £ V.

Der Ablauf in den beiden ersten Stufen wird im folgenden anhand von F i g. 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 dein ladbaren Mikroprogrammspcicher WCM, dem Zustandssteuer-Speicher ZS-ROM oder dem Mikroprogrammspeicher WP-ROM des Wartungspro/.essors abläuft. 1Jm 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 illustrated below with reference to FIG. 4 and 5 explained in more detail. Both flow charts are related, the transitions of individual flow branches are therefore designated with identical letters A, B and C, respectively. Each block reproduces an elementary operation EO of a microprogram that runs either from your loadable microprogram memory WCM, the state control memory ZS-ROM or the microprogram memory WP-ROM of the maintenance processor. 1 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 Fig.4 dargestellt, wird dieser Vorgang durch den Exekutivprozessor EP gesteuert. Wird mit der letzten Elementaroperation EO π bei der Verarbeitung eines Maschinenbefehls I η die Sprungbedingung / erfüllt, so läuft mit der nachfolgenden Elementaroperation EO 1 ein Mikroprogramm aus dem ladbaren Mikroprogrammspeicher WCMan. Sie umfaßt eine Adreßübersetzung AFfür den Inhalt des aktuellen Befehlszählers Pund das Überführen dieses Rcgisterinhalts 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 shown 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 I η , then with the following elementary operation EO 1 a microprogram from the loadable microprogram memory WCMan runs. It comprises an address translation AF for the content of the current instruction counter P and the transfer of this register content to the preload instruction counter PPF.

In der Elementaroperation EO 2 läuft die Funktion »Lesen Befehls-Doppelwort« RDlaus 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” RD1 runs from the S-SYSTab memory system, the content of the pre-load command counter PPF is increased by eight and the next effective memory address is set in this way.

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

Zu diesem Zeitpunkt ist der bereits in den Befehlspuffer /Seingelesene Maschinenbefehl l(n+\) noch nicht in den Adreßpuffer-Registem 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 I(n+1) weiter aufbereitet, bis er zur Verarbeitung im Exekutivprozessor EP bereitgestellt ist.At this point in time, the machine command l (n + \) already read into the command buffer / Se 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 Aiifbereitungsprozessor IIP drei Ablaufzweige A, B bzw. C ergeben, die in Fig.5 dargestellt sind. Diese Ablauffolgen für die zweite Funktionsstufe, d. h. auf der Bereitstellungsebene sind abhängig vom Befehlstyp RR, RX, RS, SI bzw. SS und von der Ausrichtung eines Befehls im Speicher-Doppelwort. Bei einem an einer Doppelwortgrenze DG»'ausgerichteten Maschinenbefehl weisen die beiden Bitstellen 29 und 30 im aktuellen Befehlszähler P in diesem Beispiel die Bitkombination ι 00 auf. Bei einer Ausrichtung an einer Wortgrenze WG heißt die Bitkombination 10 und bei einer Ausrichtung an einer der beiden Halbwortgrenzen HWG \ und HWG 2 im Doppelwort heißen die Bitkombinationen 01 bzw. 11. Die Art der Bitkombination bestimmt einen der ι drei Ablaufzweige A, ßoder C. In detail, there can be three process branches A, B and C in the integrated processing processor IIP , which are shown in FIG. These sequences for the second functional level, ie on the provision level, depend on the command type RR, RX, RS, SI 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 P have the bit combination ι 00 in this example. In the case of an alignment on a word boundary WG , the bit combination is called 10 and, in the case of an alignment on one of the two half- word boundaries HWG \ and HWG 2 in the double word, the bit combinations are 01 or 11. The type of bit combination determines one of the three process branches A, ß 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 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 EOAX, EOSl und EO6X dieses Ablaufzweiges A ablaufenden Vorgänge in den 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 state, while a different alignment is possible after discontinuous modifications. For each machine instruction type, the processes running during the three elementary operations EOAX, EOS1 and EO6X of this branch A are shown in the individual appropriately marked blocks in FIG. 5 specified.

Betrachten wir zunächst /?Ä-Befehle. Bei diesem B-ifehlstyp stehen die beiden Operanden in Registern R 1 bzw. R2 des Registerspeichers RSPund sind durch Registeradressen definiert. In der ersten Elementaroperation EO 41 dieses Ablaufzweiges wird das vom ladbaren Mikroprogrammspeicher WCM abgegebene Steuerkommando RRS »Lesen Registerspeicher« vom integrierten Aufbereitungsprozessor IIP übernommen und der Inhalt des zweiten Registers R 2 aus dem Registerspeicher RSPm das Register RD für Registeroperanden überführt. In der zweiten Elementaroperation EOSi 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 R 1 gelesen und in der nächsten Elementaroperation EO6X in das erste Adreßpuffer-Register ABA übertragen. Beide Registeroperanden sind nun bereitgestellt, daraufhin wird im integrierten Aufbereitungsprozessor //Pein Bereitstellungssignal SRR erzeugt. Damit wird das Ansteuern des Mikroprogrammspeichers WP-ROM des Wartungsprozessors ausgelöst und aus ihm die erste Elementaroperation EOY auf der Ausführungsebene für den bereitgestellten Maschinenbefehl l(n+\) ausgelesen. Die weitere Befehlsausführung läuft dann, aus dem ladbaren Mikroprogramm-Speicher WCMgesteuert.im Exekutivprozessor £Vab. Für die übrigen Befehlsgruppen ergibt sich in den drei Elementaroperationen EOAX, EOSX bzw. EO6X 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 öperandenregister Ri bzw. Rl oder auch in einem Indexregister XX bzw. X2 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 hier 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 Fig.5 sind daher vereinfachend auch nur die umfangreicheren Adreßrechnungen für den anderen Operanden dargestellt.Let us first consider /? Ä commands. With this type of B-i error, the two operands are in registers R 1 and R2 of the register memory RSP and are 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 processing processor IIP and the contents of the second register R 2 are transferred from the register memory RSPm to the register RD for register operands. In the second elementary operation EOSi , 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 EO6X. Both register operands are now available, thereupon in the integrated preparation processor // Pein ready signal SRR is generated. This triggers the activation of the microprogram memory WP-ROM of the maintenance processor and reads out the first elementary operation EOY on the execution level for the provided machine command l (n + \) from it . The further execution of the command then runs, controlled from the loadable microprogram memory WCM, in the executive processor £ Vab. For the other command groups, the three elementary operations EOAX, EOSX and EO6X each have an analog, but type-specific format. In this context, however, a special feature should be noted: The other machine instructions can also contain operands that are stored in an operand register Ri or Rl or in an index register XX or X2 of the register memory RSP . Except for /? 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 essential advantage that the branch A considered here only ever needs the three elementary operations £ 041, 51 and 61, especially since it is easier to access 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 RSPdie 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 DX bzw. D 2 des Operanden addiert. Die Ergebnisse werden ir eines der beiden Adreßpuffer-Register ABA bzw. ABl eingetragen. Am Ende der dritten Elementaroperatior ist dies für beide Speicheroperanden erfüllt und im integrierten Aufbereitungsprozessor IIP wird ein Bereitstellungssignal SSSfür diesen Befehlstyp erzeugt. Die Befehlsbereitstellung für RX-, KS-und SABefehle dürfte damit wohl unmittelbar aus dem Ablaufschema erkennbar sein. Dies gilt auch für die beiden anderer Ablaufzweige B und C, bei denen der Maschinenbefeh an einer Wortgrenze WG bzw. an der zweiter Halbwortgrenze HWG 2 ausgerichtet ist. Eine weitere detaillierte Besenreibung der Elemcntaroperationer EO 42 bis EO 72 bzw. der Elementaroperationen EO 43 bis EO83 erscheint daher zum vollständigen Verständnis nicht mehr erforderlich.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 RSP and are each transferred to the register RD for register operands. In the address arithmetic unit AAD , the associated offset address DX or D 2 of the operand is added to the respective base address. The results are one of the two address buffer registers ABA and OJ registered ir. At the end of the third elementary operator, this is fulfilled for both memory operands and a readiness signal SSS for this type of instruction is generated in the integrated preparation processor IIP. The provision of commands for RX, KS and SA 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 HWG 2 . A further detailed description of the elementary operations EO 42 to EO 72 or the elementary operations EO 43 to EO 83 therefore no longer appears necessary for a complete understanding.

Rückkehrend zu der Darstellung in Fig.4 ist nui noch darauf hinzuweisen, daß der Vorspann mit der Elementaroperationen EOX bis EO3 — wie bereit! angedeutet — nur nach unstetigen Modifikationen irr aktuellen Befehlszähler Perforderlich ist Im Normalfal wird bei konstruktiver Zwischenspeicherung aufeinanderfolgender Maschinenbefehle im Befehlspuffer IL Returning to the illustration in FIG . 4, it should be pointed out that the preamble with the elementary operations EOX to EO3 - how ready! indicated - only after discontinuous modifications in the current command counter P is required In the normal case, with constructive intermediate storage of successive machine commands in the command buffer IL

ι diese Einleitungsphase übersprungen bzw. bereit! während der Verarbeitungsphase vorangehender Maschinenbefehle durchgeführt.ι skipped this introductory phase or ready! during the processing phase of previous machine commands carried out.

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

Aus den vorstehenden Erläuterungen tat damit wohl erkennbar geworden, daß die im ladbaren Mikroprogrammspeicher WCMgespeicherten Mikroprogramme auch die Vorgänge im integrierten Aufbereitungsprozessur IIP über bestimmte Signale, insbesondere die Steuerkommandos RRS und PF auslösen. Dabei bleibtFrom the above explanations it became clear that the microprograms stored in the loadable microprogram memory WCM also trigger the processes in the integrated preparation processor IIP via certain signals, in particular the control commands RRS and PF. It remains

ι es jedoch dem integrierten Aufbereitungsprozessor III-ü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 Speicherein-However, it is up to the integrated preparation processor III- whether it accepts the signals offered or not. In this way, on the one hand, the integrated preparation processor IIP and the executive processor EP can access shared memory

i richtungen, wie zum Speichersystem S-SVS7"oder zum Registerspeicher RSP zu koordinieren und damit die Steuerungen in den Schnittstellen zu vereinfachen.
Andererseits laufen trotzdem die Vorgänge in den
I coordinate directions, such as to the S-SVS7 "storage system or to the RSP register, and thus to simplify the controls in the interfaces.
On 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 Verarund 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 »Pipeljnig« für den integrierten Aufbereitungsprozessor IIP und aufgebauten Maschinen — nach jeder Verarbeitungsdessen Schaltungsaufbau erkennen läßt, ist eine solche -> station in Puffereinrichtungen Waneschlangen gebildet tatsächliche Parallelarbeit bereits mit geringem Auf- werden müssen,
wand möglich. Sie bringt einen erheblichen Leistungs-
The two processors IIP and EP are separately profitable compared to conventional ones, with one processing and independent processing, so they can be run in real parallel with central processing units equipped with processors. As the small scope of the detailed control without - as in the case of the "Pipeljnig" principle for the integrated preparation processor IIP and built-up machines - reveals its circuit structure after each processing, such a -> station is formed in buffer devices queue queues and actual parallel work is already carried out with little open - Need to become,
wall possible. It brings a significant performance

Hier/ti."» lilait ZeichnuimenHere / ti. "» Lilait drawings

Claims (9)

Patentansprüche:Patent claims: I. 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 Befehls-Operanden durchführt, und ein angeschlossener Exekutivprozessor die eigentliche Befehlsausführungübernimmt, dadurch gekennzeichnet, daß ein dem Exekutivprozessor (EP) zugehöriger, ladbarer Mikroprogrammspeicher (WCM) auch den Ablauf der Bereitstellung der Maschinenbefehle im Aufbereitungsprozessor (IIP) derart steuert, daß gleichzeitige Zugriffe des Aufbereitungsprozessors und des Exekutivprozessors zu dessen Registerspeicher (RSPf bzw. zum Speichersystem (S-SYST) vermieden werden, daß dazu der Aufbereitungsprozessor einen eigenen kleinen Zustandssteuer-Speicher (ZM-ROM) besitzt, der die Mikroprogramme für die Detailsteuerung des Aufbereitungsprozessors enthält und dessen Leseoperationen durch vom ladbaren Mikroprogrammspeicher des Exekutivprozessors abgegebene Steuersignale ausgelöst werden, daß der Aufbereitungsprozessor darüber hinaus einen aus mehreren hintereinander angeordneten Pufferregistern (IBA bis IBE) aufgebauten Befehls- m puffer (IB) zitn Zwischenspeichern von im Vorgriff aus dem Speichersystem gelegnen Maschinenbefehlen besitzt, an den ein Adreßrechner (AAD, ABB, ABA) zum Bereitstellen von ^egisteroperanden bzw. effektiven Adressen von äpeicheroperanden angeschlossen ist und daß zum Vermeiden von Speicher- bzw. Registerkonflikten bei im Vorgriff gelesenen Maschinenbefehlen im Aufbereitungsprozessor zwei Vergleichseinrichtungen (SVi, SV2 bzw. RV\, 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.I. 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 takes over the actual command execution, characterized in that a loadable microprogram memory (WCM ) belonging to the executive processor (EP) also controls the process of providing the machine commands in the editing processor (IIP) in such a way that simultaneous accesses by the editing processor and the executive processor to its register memory (RSPf or For the storage system (S-SYST) it is avoided that the editing processor has its own small status control memory (ZM-ROM) which contains the microprograms for the detailed control of the editing processor Senior Citizen and the read operations are triggered by output from the loadable microprogram memory of the executive processor control signals that the rendering processor about a built-up of several successively arranged buffer registers (IBA to IBE) command m buffer (IB) zitn caching has addition of location ensures in advance from the storage system machine instructions , to which an address computer (AAD, ABB, ABA) is connected to provide ^ egisteroperands or effective addresses of memory operands and that two comparison devices (SVi, SV2 or RV \, RV2) are arranged, which compare memory or register addresses with the corresponding addresses in anticipation of machine instructions read in advance and if they match, a con Issue a 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 I, dadurch gekennzeichnet, daß der Aufbereitungsprozessor (IIP) zum Vorauslesen von Maschinenbefehlen aus dem Speichersystem (S-SYST) auch ein im Exekutivprozessor (EP) 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 Vorausiade-Befehlszähler (PPF) aufweist, der beim Vorauslesen von Maschinenbefehlen (l(n+m)) ge- to genü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 I, 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 (EP) and in addition to a current command counter (P) with the effective address of a next for executing machine instruction (In) having an input connected to these Vorausiade command counter (PPF) which, when prefetching of machine instructions (l (n + m)) Sex to genüber the count of the current instruction counter a corresponding 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 Vergleichsrichtung3. Data processing system according to claim 2, characterized in that the comparison direction provided in the preparation processor (IIP) (SV 1, 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 Schreiboperationen 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. (SV 1, SV2) contains two registers to avoid memory conflicts, which are connected to the current instruction counter (P) or to the preload instruction counter (PPF) and which contain the effective addresses of machine instructions stored there and which also parallel the memory address -Registers (MA) are connected, 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 detects machine commands read in advance and, in this case, a conflict signal (MC) for write operations in the comparison device from the comparison device Memory system is issued with which the forward counter (VLZ) is set to zero and thus a renewed reading of the machine commands that have been declared invalid and temporarily stored in the command buffer (IB) is triggered. 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 1) unmittelbar mit dem Ausgang des Speichersystems (S-SYST) verbunden sind und ein gelesenes Speicherdoppdwort aufnehmen, daß die Ausgänge dieser beiden Pufferregister parallel mit den Eingängen eines dritten Pufferregisters (IBC) der zweiten Stufe verbunden sind, das ausgangsseitig über ein weiteres Pufferregister (IBB) der dritten Stufe mit dem fünften Pufferregister (IBA) der 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 in the first stage two registers (IBD or IBE) via a memory data line (SDL 1) directly are connected to the output of the memory system (S-SYST) 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 buffer register (IBC) of the second stage, the output side via a further buffer register (IBB) 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ß Befehlsfeldern, die den Operationscode von an einer Halbwortgrenze (HWC) oder einer Wortgrenze (WG) ausgerichteten Maschinenbefehlen aufnehmen zugeordnete Ausgänge des fünften Pufferregisters (IBA) mit den Eingängen eines Multiplexers \O-MUX) 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 Ausgänge des vierten und fünften Pufferregisters (IBA bzw. IBB), die Befehlsfeldern für Distanzadressen von Befehlsoperanden zugeordnet sind, ein Multiplexer (D-MUX) 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) für 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 fields which record the operation code of machine commands aligned on a half-word boundary (HWC) or a word boundary (WG) are assigned outputs of the fifth buffer register (IBA) to the inputs of a multiplexer \ O-MUX ) 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-MUX) for distance addresses is connected, the outputs of which are connected to the address arithmetic unit (AAD) , and that at the outputs of these two buffer registers, which are assigned to command fields for addresses of register operands, a multiplexer (R-MUX) for register Operand is connected, which is connected to the executive via address lines Processor contained register memory (RSP) is connected. 6. Datenverarbeitende Anlage nach Anspruch 5, dadurch gekennzeichnet, daß zum Vermeiden von Registerkonflikten an den Multiplexer (R-MUX) für Register-Operanden die zweite Vergleichseinrichtung (RVi, 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 (RVi, RV2) is connected, the two registers for the addresses of the register operands 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, if the comparison is positive, a conflict signal (RC) for write operations in the register memory is issued, 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 (D-MUX) für Distanzadresselt angeschlossene Adreßrechenwerk (AAD) als Binäraddierer ausgebildet ist, dem parallel zu den Ausgängen dieses Multiplexers auch die Ausgänge eines Registers (RD) für Register-Operanden zugeführt sind, das andererseits an den Registerspeicher (RSP) des Exekutivprozessors (EP) angeschlossen ist und daß die Ausgänge des Binäraddierers mit zwei Adreßpuffer-Registern (ABA, ABB) für Register-Operanden bzw. effektive Adressen von Operanden eines bereitgestellten Maschinenbefehls verbunden sind und die Ausgänge dieser Register an den Exekutivprozessor angeschlossen sind, wobei die Ausgänge des ersten der beiden Registu-r (ABA) über den Multiplexer (D-MUX) für Distanzadressen 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 (D-MUX) for distance addressing is designed as a binary adder, 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 the register memory (RSP) of the executive processor (EP) and that the outputs of the binary adder are provided with two address buffer registers (ABA, ABB) for register operands or effective addresses of operands Machine instruction are connected and the outputs of these registers are connected to the executive processor, the outputs of the first of the two registers (ABA) being fed back to the inputs of the binary adder via the multiplexer (D-MUX) for distance addresses. 8. Datenverarbeitende Anlage nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß dem für die Detailsteuerung des Aufbereitungsprozessors (IIP) vorgesehenen Zustandssteuer-Speicher (ZS- ROMX der als Festwertspeicher ausgebildet ist, als Adreßregister ein Adressenzähler (SRA) zugeordnet ist, der über eine Steuerleitung (IBO, 1), mit dem Multiplexer (O-MUX) für den Operationscode zum Zuführen eines Codes über den Typ des bereitzustellenden Maschinenbefehls und über eine weitere Steuerleitung (7*29, 30) mit dem aktuellen Befehlszähler (P) verbunden ist, über die eine die Ausrichtung des bereitzustellenden Maschinenbefehls in einem Speicherdoppelwort an einer Doppelwurt-, Wort-, einer ersten oder zweiten Halbwortgrenze (DWG, WG, HWG 1 bzw. HWG 2) kennzeichnende Bitkombination übertragen wird und daß der Adreßzähler darüber hinaus an eine dritte Steuerleitung angeschlossen ist, über die dem Zustandssteuer-Speicher aus dem ladbaren Mikroprogrammspeicher (WCM) des Exekutivprozessors (EP) ein Steuerkommando »Lesen Registerspeicher« (RRS) zufüfirbar ist, daß das Auslesen des nächsten Mikrobefehls auslöst.8. Data processing system according to one of claims 5 to 7, characterized in that the state control memory (ZS- ROMX, which is designed as a read-only memory ) is assigned to the detailed control of the preparation processor (IIP) , as an address register, an address counter (SRA) is assigned to the Connected via a control line (IBO, 1) to the multiplexer (O-MUX) for the operation code for supplying a code about the type of machine command to be provided and via a further control line (7 * 29, 30) to the current command counter (P) is via which a bit combination characterizing the alignment of the machine command to be provided in a memory double word at a double word, word, first or second half word boundary (DWG, WG, HWG 1 or HWG 2) is transmitted and that the address counter is also transmitted to a third control line is connected, via which the state control memory from the loadable microprogram memory (WCM) of the executive processor (EP) a control command "read register memory" (RRS) can be supplied that triggers the reading of the next micro-command. 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 Bereitstellung 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 Provision of a machine instruction is completed, the first microinstruction of the execution phase of the provided machine instruction 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
IT19652/78A IT1092143B (en) 1977-02-03 1978-01-26 DATA ELBAROATING SYSTEM WITH PARALLEL PREPARATION 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
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
NL7801238A NL7801238A (en) 1977-02-03 1978-02-02 INFORMATION PROCESSING SYSTEM WITH PARALLEL PROVISION AND PERFORMANCE OF MACHINE INSTRUCTIONS.
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 DE2704560B1 (en) 1978-05-24
DE2704560C2 true 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)

Families Citing this family (8)

* 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
JPH06100968B2 (en) * 1986-03-25 1994-12-12 日本電気株式会社 Information processing equipment
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
US4935849A (en) * 1988-05-16 1990-06-19 Stardent Computer, Inc. Chaining and hazard apparatus and method
US4969117A (en) * 1988-05-16 1990-11-06 Ardent Computer Corporation 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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2829668C3 (en) Channel data buffer
DE2318069C2 (en) Micro-programmed computer system with expansion of control functions by means of a hard-wired logic matrix
DE1524101C3 (en) Multiple computing data processing system
DE3852928T2 (en) Data processor with A / D converter to convert multiple analog input channels into digital data.
DE2847934A1 (en) DATA PROCESSING DEVICE WITH A MICRO COMMAND MEMORY
DE1285220C2 (en) Data processing system with several independent computing units
EP0010185B1 (en) Virtual-addressing device for a computer
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
DE2411963B2 (en) DATA PROCESSING SYSTEM
DE2145120B2 (en) DIGITAL DATA PROCESSING DEVICE
DE1499206C3 (en) Computer system
DE2459956A1 (en) PROCESSOR AND PERIPHERAL PROCESSING SYSTEM USING IT
DE1549474C3 (en) Arrangement In an electronic digital data processing system for the execution of a first command and simultaneous decoding of a following command
DE1929010B2 (en) MODULAR DATA PROCESSING SYSTEM
DE2339636A1 (en) PROGRAM CONTROL DEVICE
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
DE3802025C1 (en)
DE2218630C3 (en) Circuit arrangement for controlling interrupt signals in data processing systems
DE2704560C2 (en) Data processing system with parallel provision and execution of machine commands
DE1499191B2 (en) ELECTRONIC DEVICE FOR A DATA PROCESSING SYSTEM
DE2747304C3 (en) Micro-command control device
DE2609698C2 (en) Electronic calculator
DE1499224C3 (en) Data processing system with storage facilities in the basement
DE1957600C3 (en)

Legal Events

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