DE2704560B1 - Data processing system with parallel provision and execution of machine commands - Google Patents
Data processing system with parallel provision and execution of machine commandsInfo
- Publication number
- DE2704560B1 DE2704560B1 DE2704560A DE2704560A DE2704560B1 DE 2704560 B1 DE2704560 B1 DE 2704560B1 DE 2704560 A DE2704560 A DE 2704560A DE 2704560 A DE2704560 A DE 2704560A DE 2704560 B1 DE2704560 B1 DE 2704560B1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- register
- command
- processor
- machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 71
- 239000000872 buffer Substances 0.000 claims description 45
- 238000002360 preparation method Methods 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 230000036316 preload Effects 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 208000033748 Device issues Diseases 0.000 claims 1
- 230000006870 function Effects 0.000 description 9
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 101100118936 Xenopus laevis epabp-a gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung bezieht sich auf eine datenverarbeitende Anlage mit mehreren spezialisierten, durch Mikroprogramme gesteuerten Prozessoren und mit einem gemeinsamen Speichersystem, in der die Verarbeitung von auch virtuell adressierten Maschinenbefehlen im Regelfall parallel erfolgt, indem ein Aufbereitungsprozessor das Befehlslesen und die Adreßrechnung für Befehlsoperanden durchführt, und ein angeschlossener Exekutivprozessor die eigentliche Befehlsausführung » übernimmt (»Elektronische Rechenanlagen«, 1973, S. 60-65).The invention relates to a data processing system with several specialized microprograms controlled processors and with a common memory system in which the processing machine commands that are also virtually addressed are usually carried out in parallel by a preparation processor carries out command reading and address calculation for command operands, and one connected Executive processor "takes over the actual execution of commands (" Electronic Computing Systems ", 1973, p. 60-65).
Für die Zentraleinheiten kommerzieller datenverarbeitender Anlagen sind abhängig von der Leistungsklasse verschiedene Strukturen für die Verarbeitungseinrichtungen bekannt. Neben Prozessoren mit einer rein sequentiellen Befehlsverarbeitung, d. h. einer strengen Reihenfolge tier Funktionen »Ausführung eines /Men Maschinenbefehls«, »Lesen des darauffolgenden (h+1)-ten Maschinenbefehls«, »Ausführung ties ι (η \- l)-ten Maschinenbefehls« usw., sind auch Prozesso ren mit überlappender Befehlsverarbeitung bekannt. Hier wird die Tatsache ausgenutzt, daß sich ein Verarbeitungszyklus für einen Maschinenbefehl mindestens in eine Bereitstellungs- und eine Ausführungsphase unterteilen läßt. Bei solchen Prozessoren wird dann der Lesevorgang für einen (n f //ten Maschinenbefehl parallel zur Ausführung eines /Men Maschinen befehls durchgeführt, wobei i> I sein kann.For the central units of commercial data processing systems, different structures are known for the processing devices, depending on the performance class. In addition to processors with a purely sequential command processing, ie a strict sequence of functions "execution of a / menu machine command", "reading of the following (h + 1) -th machine command", "execution of the ι (η \ - l) -th machine command" etc., processors with overlapping instruction processing are also known. This makes use of the fact that a processing cycle for a machine instruction can be divided into at least a preparation phase and an execution phase. In the case of such processors, the reading process for an (n f // th machine instruction is then carried out in parallel to the execution of a / menu machine instruction, where i> I can be.
In diese Gruppe von datenverarbeitenden Anlagen ist ι auch eine Einrichtung zum Verarbeiten von Maschinen befehlen unterschiedlicher Formate in einem mikropio grammierteii Datenveraibeitungssysteni einzuordnen, die in der deutschen Patentanmeldung P 25 57 787 vorgeschlagen ist. In dieser Einrichtung werden ι Maschinenbefehle verdeckt bereitgestellt, d. h. bereits während tier Ausführung eines vorausgehenden Maschinenbefehls in einer Verarbeitungseinheit aus dem Arbeitsspeicher gelesen und in Befehlspuflern zwischengespeichert, tieren Breite der Schnittstelle zum Arbeitsspeicher entspricht. Dazu wird neben einem aktuellen Befehlszähler, der die vollständige Adresse des in der Veraibeitungseinheit gerade auszuführenden Maschinenbefehls enthalt, ein weiterer, mit ihm verbundener Vorauslade-Befehlszähler vorgesehen. Dieser enthält jeweils die Speicheradresse des nächsten, aus dem Speichersystem auszulesenden Maschinenbefehls. An beide Befehlszähler ist je eine Vergleichsrich tung angeschlosssen, die außerdem mit einem Adreßregister des Speichersystems verbunden ist. Damit läßt sich die Gültigkeit des Inhalts der Befehlspuffer bei unstetigen Modifikationen des aktuellen Befehlszählers überwachen. So werden Speicherkonflikte vermieden, bei denen der Speicherinhalt bereits ausgelesener Maschinenbefehle während der Ausführung eines vorangehenden Maschinenbefehls nochmals geändert wird.In this group of data processing systems is ι also a facility for processing machines commands of different formats in one micropio to classify grammierteii data processing systems, which is proposed in German patent application P 25 57 787. Be in this facility ι Machine commands made available in a concealed manner, d. H. already during the execution of a preceding machine command read from the main memory in a processing unit and buffered in command buffers, width of the interface to the main memory. This is next to a Current command counter, which is the complete address of the one to be executed in the processing unit Contains machine instruction, a further pre-load instruction counter connected to it is provided. This contains the memory address of the next machine command to be read out from the memory system. A comparison direction is connected to each of the two command counters, which also has an address register of the storage system is connected. This allows the content of the command buffer to be valid monitor discontinuous modifications of the current command counter. This avoids storage conflicts, in which the memory content of machine commands that have already been read out during the execution of a previous machine command is changed again.
Noch stärker ausgeprägt ist die Parallelarbeit bei Verarbeitungseinrichtungen der höchsten Leistungsklasse, sie sind vielfach als sogenannte »Pipeline«-Prozessoren ausgeführt. Die Struktur derartiger Verarbeitungseinheiten ist z. B. in der Zeitschrift »Elektronische Rechenanlagen«, 1973, Seiten 60 bis 65 in dem Aufsatz »Möglichkeiten der Beschleunigung einer Zentraleinheit durch strukturelle Maßnahmen« beschrieben. Danach werden die Befehle nach Art eines Fließbandes bearbeitet, wofür sich der Ausdruck »Pipeline« eingebürgert hat. Für die einzelnen Bearbeitungsphasen, wie Lesen eines Maschinenbefehls, Decodieren, Adreßrechnung und Bereitstellung des Befehlsoperanden sind jeweils eine oder mehrere Bearbeitungsstationen vorgesehen. Die Maschinenbefehle durchlaufen taktweise die Kette dieser Bearbeitungsstationen und werden anschließend in einen Exekutivprozessor/derThe parallel work in processing equipment of the highest performance class is even more pronounced, they are often implemented as so-called "pipeline" processors. The structure of such processing units is z. B. in the journal "Electronic Computing Systems", 1973, pages 60 to 65 in the article "Possibilities of accelerating a central unit through structural measures" are described. The commands are then processed in the manner of an assembly line, for which the term »pipeline« has become common Has. For the individual processing phases, such as reading a machine command, decoding, address calculation and provision of the instruction operand are each one or more processing stations intended. The machine commands cycle through the chain of these processing stations and are then transferred to an executive processor
analog gegliedert ist, übergeben. Dabei wird der Verkehr mit dem Speichersystem der datenverarbeitenden Anlage vielfach über eine autonome Speicherzugriffsstcuerung abgewickelt, die die verschiedenen Speicherzugriffe während des gesamten Verarbeitungs-/yklus eines Maschinenbefehls bzw. der parallel zu verarbeitenden Maschinenbefehle miteinander koordinieren muß.is structured analogously. The Communication with the storage system of the data processing system often takes place via an autonomous storage access control handled the various memory accesses during the entire processing / cycle coordinate a machine command or the machine commands to be processed in parallel got to.
Lin solches Befehls-Fließband bedingt einen hohen schaltungsmäßigen Aufwand für die Parallelarbeit wahrend der Bereitstellungs- und der Ausführungsphasc, um zu erreichen, daß möglichst mit jedem Maschinentakt ein Maschinenbefehl abschließend ausgeführt wird. In jeder dieser beiden Phasen sind, wie beschrieben, im allgemeinen mehrere Bearbeitungsstationen vorgesehen d. h., es werden auch relativ viele Maschinenbefehle mit unterschiedlich weit fortgeschrittenem Bearbeitungszustand gleichzeitig verarbeitet. Besonders nachteilig bei diesen zwar leistungsstarken, jedoch sehr aufwendigen Prozessoren ist die Vielzahl möglicher Speicher- oder Registerkonflikte. Darüber hinaus treten erfahrungsgemäß häufig unstetige Modifikationen eines Programmablaufs auf, z. B. bei Programmunterbrechungen oder erfüllten Sprungbedingungen, so daß dann die in kosekutiver Folge in das Fließband eingelesenen Maschinenbefehle in all diesen lallen für ungültig erklärt werden müssen.Such a command assembly line requires a high level of circuit complexity for parallel work during the deployment and execution phases to achieve that with each one as possible Machine cycle a machine command is finally executed. In each of these two phases are how described, generally several processing stations provided d. that is, there will be a relatively large number Machine commands with different processing statuses processed at the same time. The large number of these processors, which are powerful but very complex, is particularly disadvantageous possible memory or register conflicts. In addition, experience has shown that discontinuous modifications often occur a program sequence, z. B. in the event of program interruptions or fulfilled jump conditions, so that the machine instructions read into the assembly line in consecutive order are then included in all of these lall must be declared invalid.
Für datenverarbeitende Anlagen einer mittleren Leistungsklasse ist dieser hohe Aufwand nicht gerechtfertigt, der bei »Pipeline«-Prozessoren für die Steuerung von Warteschlangen und die Konfliktüberwachung notwendig ist. Der Erfindung liegt daher die Aufgabe zugrunde, eine leistungsfähige datenverarbeitende Anlage der eingangs genannten Art zu schaffen, an die folgende Anforderungen gestellt werden:This high effort is not justified for data processing systems of a medium performance class, that of "pipeline" processors for controlling queues and conflict monitoring necessary is. The invention is therefore based on the object of a powerful data processing system of the type mentioned at the beginning, to which the following requirements are made:
Die im Exekutivprozessor bzw. im Aufbereitungsprozessor ablaufenden Mikroprogramme dürfen sich nicht gegenseitig behindern, deshalb müssen die Zugriffe beider Prozessoren zu dem Speichersystem bzw. zu den internen Arbeitsregistern des Exekutivprozessors auf einfache Weise koordniert werden. Bei unstetigen Programm-Modifikationen müssen im Vorgriff gelesene und bereits vorverarbeitete Befehle mit Sicherheit von der Ausführung ausgeschlossen, die Befehlsverarbeitung muß am Sprungziel mit möglichst geringem 7.eitverlust wieder aufgenommen werden. Speicher- und Registerkonflikte selbst müssen auf möglichst einfache Weise erkannt werden und davon abhängig ein so modifizierter Maschinenbefehl nochmals gelesen bzw. für ihn die Adreßrechnung und die Bereitstellung von Operanden wiederholt werden.The microprograms running in the executive processor or in the preparation processor must not be mutually exclusive hinder each other, therefore the accesses of both processors to the memory system or to the internal working registers of the executive processor can be easily coordinated. With discontinuous Program modifications must be read and preprocessed commands with certainty from excluded from execution, command processing must be as low as possible at the jump target 7. time loss to be resumed. Memory and register conflicts themselves must be as simple as possible Recognized manner and, depending on this, read or read a modified machine command again. the address calculation and the provision of operands are repeated for him.
Bei einer datenverarbeitenden Anlage der eingangs genannten Art wird diese Aufgabe erfindungsgemäß durch die im Kennzeichen des Hauptanspruches beschriebenen Merkmale gelöst.In the case of a data processing system of the type mentioned at the beginning, this object is achieved according to the invention solved by the features described in the characterizing part of the main claim.
Der Exekutivprozessor und der Aufbereitungsprozessor benutzen also einen gemeinsamen Registerspeicher, der im Exekutivprozessor realisiert ist. Dies hat den Vorteil, daß ein im Exekutivprozessor modifizierter Registerinhalt nicht auch noch eine Modifikation in einem sonst erforderlichen entsprechenden Register des Aufbereitungsprozessors bedeutet. Weiterhin können Aufbereitungs- und Exekutivprozessor eine einzige Schnittstelle zum Speichersystem gemeinsam benutzen, ohne daß hierfür eine aufwendige Prioritätssteuerung notwendig wäre. Auch die Überwachung von möglichen Speicher- oder Registerkonflikten mit Hilfe von zwei Vergleichseinrichtungen ist relativ einfach, weil statt einer ausgeklügelten Überwachungsmethode das relativ einfach zu verwirklichende Kriterium benutzt wird, bei nicht konsekutiv im Speichersystem stehenden Maschinenbefehlen die Parallelverarbeitung zu unterdrücken.The executive processor and the editing processor use a common register memory, which is implemented in the executive processor. This has the advantage that a modified in the executive processor The contents of the register do not also include a modification in an otherwise required corresponding register of the Editing processor means. Furthermore, the editing and executive processors can be a single one Use the interface to the storage system together without the need for an expensive priority control would be necessary. Also the monitoring of possible memory or register conflicts with the help of two Comparison facilities is relatively simple because instead of a sophisticated monitoring method, it is relative criterion that is easy to implement is used for machine commands that are not consecutive in the memory system suppress parallel processing.
Dazu trägt auch wesentlich bei, daß durch den Aufbereitungsprozessor keine Speicher-Operanden eines Maschinenbefehls im voraus gelesen, sondern nur deren effektive Speicheradressen bereitgestellt werden. Selbst Register-Operanden werden nur dann direktA major factor in this is that the editing processor does not have any memory operands of a machine instruction are read in advance, but only their effective memory addresses are provided. Even register operands only become direct
κι bereitgestellt, wenn dies bereits innerhalb einer kurzen Bereitstellungsphase möglich ist oder sie andererseits nicht innerhalb der Ausführungsphase eines Maschinenbefehls ohne zusätzlichen Zeitaufwand gelesen werden könnten.κι provided if this is already within a short time The deployment phase is possible or, on the other hand, it is not within the execution phase of a machine command could be read without additional expenditure of time.
Von besonderem Vorteil ist schließlich die hierarchisch gegliederte Mikroprogrammsteuerung für den Exekutiv- und den Aufbereitungsprozessor aus dem ladbaren Mikroprogrammspeicher. Die Mikroprogramme des Exekutivprozessors geben an geeigneter Stelle Steuerkommandos zum Lesen eines Speicherwortes oder des Registerspeichers durch den Aufbereitungsprozessor ab, dadurch kann eine gegenseitige Behinderung des Exekutiv- und des Aufbereitungsprozessors am Speichersystem bzw. am Registerspeicher ausgeschlossen werden. Im Format der Mikrobefehle des Exekutivprozessors sind dafür zusätzlich nur zwei weitere Bitstellen erforderlich, so daß dieser Vorteil bereits mit einem sehr geringen Aufwand erreicht wird.Finally, the hierarchically structured microprogram control is of particular advantage for the Executive and editing processors from the loadable microprogram memory. The micro programs of the executive processor give control commands for reading a memory word at a suitable point or the register memory by the editing processor, this can cause mutual interference of the executive and editing processors on the storage system or on the register memory are excluded will. In the format of the executive processor's microinstructions, there are only two additional further bit positions are required, so that this advantage is achieved with very little effort.
Trotzdem ist der Mikroprogrammspeicher des Exekutivprozessors nicht mit der Detailsteuerung des Aufbereitungsprozessors belastet, was eine erhebliche Verbreiterung des Mikrobefehlsformates bedeuten würde, denn zusätzlich ist ein kleiner Zustandssteuer-Speicher im Aufbereitungsprozessor vorgesehen. DamitNevertheless, the microprogram memory of the executive processor is not connected to the detailed control of the Editing processor is loaded, which means a considerable broadening of the microinstruction format because a small state control memory is also provided in the preparation processor. In order to
i) ist der Aufbereitungsprozessor autonom gegenüber dem Exekutivprozessor und kann selbständig und bedarfsabhängig über die Annahme der ihm vom Exekutivprozessor übergebenen Steuerkommandos entscheiden. Weiterbildungen der Erfindung sind in Unteransprüchen gekennzeichnet und werden in der nachfolgenden Beschreibung eines Ausführungsbeispieles der Erfindung näher erläutert.i) the preparation processor is autonomous in relation to it the executive processor and can independently and depending on the needs of the acceptance of the Control commands transferred to the executive processor decide. Developments of the invention are in Subclaims characterized and are in the following description of an embodiment the invention explained in more detail.
Für die Beschreibung dieses Ausführungsbeispieles dient erläuternd die Zeichnung, dabei zeigtFor the description of this exemplary embodiment, the drawing serves as an explanation, and shows
Fig. 1 in einem Blockschaltbild schematisch die Struktur einer datenverarbeitenden Anlage, bei der ein Prozessorsystem gemäß der Erfindung verwendbar ist,Fig. 1 in a block diagram schematically the structure of a data processing system in which a Processor system according to the invention can be used,
F i g. 2 und F i g. 3 gemeinsam die erfindungsgemäße Ausgestaltung des Aufbereitungsprozessors und an ihnF i g. 2 and F i g. 3 together show the embodiment of the preparation processor according to the invention and to it
so angeschlossene Funktionseinheiten der datenverarbeitenden Anlage,functional units of the data processing system connected in this way,
F i g. 4 und 5 anhand von Funktionsdiagrammen den Ablauf der Aufbereitungsphase bereitzustellender Maschinenbefehle. F i g. 4 and 5 show the sequence of the processing phase of the machine commands to be provided on the basis of function diagrams.
Zum besseren Verständnis für den Gegenstand der Erfindung ist zunächst in F i g. 1 ein Blockschaltbild einer datenverarbeitenden Anlage dargestellt, von der eine Einrichtung zum Aufbereiten von Befehlen einen Teil bildet. Die Anaige gliedert sich in drei größere Funktionseinheiten, ein Speichersystem S-SYST, ein Prozssorsystem P-SYSTund ein Ein/Ausgabe-System E/A-SYST. For a better understanding of the subject matter of the invention, FIG. 1 shows a block diagram of a data processing system, of which a device for processing commands forms part. The Anaige is divided into three larger functional units, a storage system S-SYST, a processor system P-SYST and an input / output system E / O-SYST.
Das Speichersystem S-SYST enthält einen vorzugsweise als Halbleiterspeicher ausgebildeten Arbeitsspeieher mit einer Mehrzahl von Speichermoduln SP-M, die voneinander unabhängig über eine Arbeitsspeicher-Steuerung AST angesteuert werden. An diese ist ebenfalls ein modular aufgebauter Pufferspeicher PSP The memory system S-SYST contains a main memory, preferably designed as a semiconductor memory, with a plurality of memory modules SP-M, which are controlled independently of one another via a main memory controller AST. A modular PSP buffer memory is also attached to this
angeschlossen. Diese Speicherhierarchie erlaubt im typischen Betriebsfall mehr als 95% aller Speicherzugriffe aus dem schnellen Pufferspeicher PSP zu bedienen und damit die effektive Zugriffs- und Zykluszeit des Speichersystems S-SYST wesentlich herabzusetzen.connected. In the typical operating case, this memory hierarchy allows more than 95% of all memory accesses to be served from the high-speed buffer memory PSP and thus to significantly reduce the effective access and cycle time of the S-SYST memory system.
Als Verarbeitungssystem enthält das Prozessorsystem P-SYST mindestens einen Exekutivprozessor EP und einen damit integrierten Aufbereitungsprozessor UP, dem ein Mikroprogrammladespeicher MPL zugeordnet ist. Dieser enthält die gesamten funktionellen Mikroprogramme und kann beispielsweise als flexible Magnetplatte ausgebildet sein.As a processing system, the processor system P-SYST contains at least one executive processor EP and a processing processor UP integrated therewith, to which a microprogram load memory MPL is assigned. This contains the entire functional micro-programs and can be designed, for example, as a flexible magnetic disk.
Schließlich kann auch das Ein-/Ausgabe-System E/A-SYST mikroprogrammgesteuert sein und dazu r> eventuell auch den ladbaren Mikroprogrammspeicher WCM benutzen. Es besitzt neben einer Ein-/Ausgabe-Steuerung E/A-ST Byte- und Block-Multiplexkanäle BY-MUX bzw. BL-MUX, die funktionell als spezielle Datenübertragungsprozessoren zu betrachten sind, in denen die Ein-/Ausgabevorgänge unabhängig vom Verarbeitungssystem durch Kanalprogramme gesteuert ablaufen. Die Ein-/Ausgabe-Steuerung E/A-STkoordiniert diese Datenübertragungsprozeduren nach Prioritätsgesichtspunkten. 2">Finally, the I / O- SYST input / output system can also be microprogram-controlled and, for this purpose, possibly also use the loadable microprogram memory WCM. In addition to an input / output control I / O-ST byte and block multiplex channels BY-MUX or BL-MUX, which are functionally to be regarded as special data transmission processors in which the input / output processes are carried out independently of the processing system Run channel programs in a controlled manner. The input / output control I / O-ST coordinates these data transfer procedures according to priority aspects. 2 ">
Nach diesem anhand von Fig. 1 geschilderten Überblick interessiert im vorliegenden Zusammenhang im wesentlichen das Verarbeitungssystem und hier insbesondere der integrierte Aufbereitungsprozessor IIP, da mikroprogrammierte Verarbeitungsprozessoren, jo wie der Exekutivprozessor EP, an sich als bekannt vorausgesetzt werden können. Lediglich aus Platzgründen ist der Aufbereitungsprozessor UP in zwei getrennten F i g. 2 bzw. 3 dargestellt. Beide Figuren enthalten, soweit zum Verständnis notwendig, neben i% Einzelheiten des Aufbereitungsprossors //fauch schematisch angegebene weitere Funktionseinheiten der datenverarbeitenden Anlage, die hier aus der Zeichnung durch eine strichpunktierte Umrandung deutlich herausgehoben sind, um den Zusammenhang herzustellen.According to this overview described with reference to FIG. 1, the processing system and in particular the integrated processing processor IIP are of interest in the present context, since microprogrammed processing processors such as the executive processor EP can be assumed to be known per se. Only for reasons of space is the preparation processor UP in two separate figures. 2 and 3 shown. Both figures contain, as far as is necessary for understanding, in addition to i% details of the processing processor // fauch schematically indicated further functional units of the data processing system, which are clearly highlighted here from the drawing by a dash-dotted border in order to establish the connection.
Der in den Exekutivprozessor EP integrierte Aufbereitungsprozessor IIP soll parallel zur Verarbeitung eines Maschinenbefehls in folgende, die Befehlsausführung abkürzende Funktion für nachfolgende Maschinenbefehle I(n+ /^ausführen:The editing processor IIP integrated in the executive processor EP is to execute parallel to the processing of a machine command in the following function, which abbreviates the command execution, for the following machine commands I (n + / ^:
Lesen von Befehlen l(n + i) mit /=2 ... 8 aus dem Speichersystem S-SVSTin einem Befehlspuffer; Bereitstellen von Register-Operanden für den Befehl I(n+\); Reading of commands l (n + i) with / = 2 ... 8 from the storage system S-SVST in a command buffer; Provision of register operands for the instruction I (n + \);
Berechnung von effektiven Speicheradressen für 5Ü den oder die Speicher-Operanden des BefehlsCalculation of effective memory addresses for the 5UE or the memory operand of the instruction
Bereitstellung des ersten Mikrobefehls für den Befehl I(n+\). Providing the first microinstruction for the instruction I (n + \).
So kann im allgemeinen der Zeitaufwand für den Lesezugriff des Befehls für die Bereitstellung von Register-Operanden und für die Adreßrechnung eingespart werden.In general, this can reduce the time it takes for the command to provide read access to Register operands and for address calculation can be saved.
Gemäß der F i g. 2 enthält der Aufbereifjngsprczessor IIP einen aus Zähler-Flip-Flops aufgebauten aktuellen Befehlszähler P, in dem die effektive Adresse eines zur Ausführung kommenden Maschinenbefehls niedergelegt ist. Da, wie noch zu erläutern sein wird, die Befehlsliste der datenverarbeitenden Anlage Befehle mit einer Länge von zwei, vier oder sechs Byte umfaßt, ist dieser Befehlszähler P in herkömmlicher Weise um ±2, ±4 oder ±6 zu modifizieren. An ihm ist ein ebenfalls 3 Byte breiter und analog aufgebauter Vorauslade-Befehlszähler PPF angeschlossen. Dieser enthält eine effektive Speicheradresse zum Befehlslesen. Sein Zählerstand weist deshalb gegenüber dem Stand des aktuellen Befehlszählers P meist einen Vorlauf auf, der in diesem Ausführungsbeispiel maximal 20 Byte betragen kann. Dieser Befehlszähler kann um + 2, +4 und +8 modifiziert werden. Sein Vorlauf gegenüber dem Stand des aktuellen Befehlszählers P wird in einem Vorlaufzähler VLZ angezeigt, der bei einer Breite von 4 Bit als Vorwärts-Rückwärts-Zähler ausgebildet ist. Sein Inhalt wird je nach der Länge des zur Ausführung kommenden Maschinenbefehls um 1, 2 oder 3 erniedrigt. Umgekehrt wird der Zählerstand des Vorlaufzählers um 1, 2 oder 4 erhöht, wenn ein neues Befehlswort aus dem Speichersystem S-SYST gelesen wird.According to FIG. 2, the Aufbereifjngsprczessor IIP contains a current command counter P made up of counter flip-flops, in which the effective address of a machine command to be executed is stored. Since, as will be explained later, the command list of the data processing system includes commands with a length of two, four or six bytes, this command counter P is to be modified in the conventional manner by ± 2, ± 4 or ± 6. An analog pre-load command counter PPF is also connected to it, which is 3 byte wide and has an analog structure. This contains an effective memory address for reading commands. Its counter reading therefore usually has a lead in relation to the reading of the current command counter P , which in this exemplary embodiment can be a maximum of 20 bytes. This command counter can be modified by + 2, +4 and +8. Its lead over the status of the current command counter P is displayed in a lead counter VLZ, which is designed as an up / down counter with a width of 4 bits. Its content is decreased by 1, 2 or 3 depending on the length of the machine command to be executed. Conversely, the count of the forward counter is increased by 1, 2 or 4 when a new command word is read from the S-SYST memory system.
Beiden Befehlszählern P bzw. PPF sind außerdem zwei Speicheradressenvergleicher 5Vl bzw. SV2 zugeordnet. Diese vergleichen bei allen Schreiboperationen im Speichersystem S-SYST die im jeweils angeschlossenen Befehlszähler P bzw. PPF stehende Adresse für einen Maschinenbefehl mit einer Speicheradresse, die in einem 3 Byte breiten Speicheradressen-Register MA enthalten ist. Dieses Register ist ebenso wie ein Speicherdaten-Register MD mit einer Länge von 8 Byte im Exekutivprozessor EPangeordnet.Two memory address comparators 5V1 and SV2 are also assigned to both command counters P and PPF. During all write operations in the S-SYST memory system, these compare the address for a machine command in the respectively connected command counter P or PPF with a memory address that is contained in a 3-byte-wide memory address register MA . Like a memory data register MD with a length of 8 bytes, this register is arranged in the executive processor EP.
In Fig.2 ist schematisch angedeutet, daß das Speicheradressen-Register MA aus dem Vorauslade-Befehlszähler PPF, aber auch intern aus dem Exekutivprozessor EP über Speicheradreßleitungen SAL geladen werden kann. Sein Ausgang ist mit dem Speichersystem S-SKSTverbunden. Bei einer Leseoperation wird der durch dieses Register definierte Speicherinhalt ausgelesen und in das Speicherdaten-Register MD, aber auch über eine Speicherdatenleitung SDL 1 in den integrierten Aufbereitungsprozessor IIP übertragen. Für Speicherzugriffe des Exekutivprozessors EP werden einzuschreibende Speicherdaten über weite Speicherdatenleitungen SDL 2 in das Speicherdaten-Register MD übertragen bzw. gelesene Speicherdaten auf dritten Speicherdatenleitungen SDL 3 in den Exekutivprozessor EP übernommen. Wird nun durch den Exekutivprozessor EP ein Schreibzugriff zum Speichersystem S-SYST durchgeführt, so ist jedesmal ein Speicherkonflikt möglich. Ein solcher Speicherkonflikt, bei dem in einen bereits im voraus ausgelesenen Maschinenbefehl nochmals geschrieben wird, wird durch die beiden Speicheradressenvergleicher SVl bzw. 5V2 festgestellt und durch ein Konfliktsignal MC angezeigt. Von der internen Steuerung des integrierten Aufbereitungsprozessors IIP wird auch bei erfüllten Sprungbedingungen der Vorlaufzähler VLZ auf Null gestellt und so am Sprungziel der Maschinenbefehl mit der in das Speicheradressen-Register MA transferierten Adresse gelesen. Mit dem Nullsetzen des Vorlaufzählers VLZgelten alle im Vorgriff übertragenen Maschinenbefehle als nicht gültig.In FIG. 2 it is indicated schematically that the memory address register MA can be loaded from the preload instruction counter PPF, but also internally from the executive processor EP via memory address lines SAL. Its output is connected to the S-SKST storage system. During a read operation, the memory content defined by this register is read out and transferred to the memory data register MD, but also via a memory data line SDL 1 to the integrated editing processor IIP . For memory accesses by the executive processor EP , memory data to be written are transferred to the memory data register MD via wide memory data lines SDL 2 or read memory data are transferred to third memory data lines SDL 3 in the executive processor EP . If the executive processor EP now performs a write access to the S-SYST memory system, a memory conflict is possible each time. Such a memory conflict, in which a machine command that has already been read out in advance is written again, is determined by the two memory address comparators SV1 and 5V2 and indicated by a conflict signal MC . The forward counter VLZ is set to zero by the internal control of the integrated preparation processor IIP , even if the jump conditions are fulfilled, and the machine command with the address transferred to the memory address register MA is read at the jump destination. When the forward counter VLZ is set to zero , all machine commands transmitted in advance are considered invalid.
In F i g. 3 ist neben weiteren Einrichtungen des integrierten Aufbereitungsprozessors IIP vor allem ein Byte fassender Befehlspuffer IB mit fünf, in vier Stufen angeordneten Registern zu je 4 Byte Breite dargestellt. In der ersten Stufe nehmen zwei Pufferregister IBD bzw. IBE ein Befehlsdoppelwort über die erste Speicherdatenleitung SDL 1 direkt aus dem Speichersystem S-SYST auf. In der zweiten Stufe übernimmt ein weiteres Pufferregister IBC den Inhalt eines der beiden Pufferregister der ersten Stufe und übergibt diesen anIn Fig. 3 shows, in addition to further devices of the integrated preparation processor IIP, above all a byte-containing command buffer IB with five registers, each 4 byte wide, arranged in four stages. In the first stage, two buffer registers IBD or IBE receive a double command word via the first memory data line SDL 1 directly from the memory system S-SYST . In the second stage, a further buffer register IBC takes over the content of one of the two buffer registers of the first stage and transfers it
809 521/500809 521/500
ein Pufferregister IBB der dritten Stufe und an ein weiteres Pufferregister IBA in der vierten Stufe.a buffer register IBB of the third stage and to a further buffer register IBA in the fourth stage.
Wie bereits angedeutet, besitzen die Maschinenbefehle ein Format von zwei, vier oder sechs Byte und können daher an einer Wort- oder einer Halbwortgrenze ausgerichtet sein. Die Ausrichtung eines aufzubereitenden Maschinenbefehls läßt sich aus dem Zustand der Bitstellen 29 und 30 im aktuellen Befehlszähler P, wie später noch erläutert wird, erkennen. Diese Bitkombination wird ausgewertet, um einen Maschinenbefehl aus dem Befehlspuffer IB auszulesen. So werden z. B. bei einem an einer Wortgrenze WG ausgerichteten Maschinenbefehl mit einem Format von 6 Byte aus dem Befehlspuffer der vollständige Inhalt des Pufferregisters IBA der vierten Stufe und aus dem Pufferregister IBB der dritten Stufe die beiden ersten Bytes 0 und 1 entnommen. Ist dagegen ein solcher Befehl an einer Halbwortgrenze HWG ausgerichtet, werden dem Pufferregister IBA der vierten Stufe, lediglich die beiden Bytes 2 und 3 und dem Pufferregister IBB der dritten Stufe alle vier zwischengespeicherten Bytes 0 bis 3 entnommen.As already indicated, the machine instructions have a format of two, four or six bytes and can therefore be aligned with a word or half-word boundary. The alignment of a machine command to be processed can be recognized from the status of bit positions 29 and 30 in the current command counter P, as will be explained later. This bit combination is evaluated in order to read out a machine command from the command buffer IB. So z. B. in the case of a machine command with a format of 6 bytes aligned on a word boundary WG , the complete contents of the buffer register IBA of the fourth stage and the first two bytes 0 and 1 from the buffer register IBB of the third stage. If, on the other hand, such a command is aligned with a half-word boundary HWG , only the two bytes 2 and 3 and the buffer register IBB of the third stage are taken from the buffer register IBA of the fourth stage, all four cached bytes 0 to 3.
Für diese Lesesteuerung sind dem Befehlspuffer IB drei Multiplexer zugeordnet. Über einen ersten Multiplexer D-MLJX für Distanzadressen mit einer Breite von 12 Bit werden Befehlsfelder für die Adreßrechnung ausgegeben. Ein zweiter Multiplexer OM UX dient zum Auslesen des Operationscodes eines Maschinenbefehls und der Register-Längenverschlüsselung mit jeweils 1 Byte. Derartige Daten sind im eigentlichen Sinne als Steuerdaten anzusehen; Leitungen, auf denen solche Daten transportiert werden, sind deshalb zur Kennzeichnung mit unterbrochenen Linien dargestellt. Die über den zweiten Multiplexer OMUX ausgelesenen Steuerdaten werden u. a. unmittelbar dem in Fig.3 nur schematisch angedeuteten Exekutivprozessor EP zugeführt, um dort das für die Verarbeitung des ausgelesenen Maschinenbefehls benötigte Mikroprogramm anzustoßen.Three multiplexers are assigned to the command buffer IB for this read control. Command fields for address calculation are output via a first multiplexer D-MLJX for distance addresses with a width of 12 bits. A second multiplexer OM UX is used to read out the operation code of a machine command and the register length encryption with 1 byte each. Such data are to be regarded as tax data in the strict sense of the word; Lines on which such data are transported are therefore shown with broken lines for identification. The control data read out via the second multiplexer OMUX are, among other things, fed directly to the executive processor EP , which is only indicated schematically in FIG. 3, in order to initiate the microprogram required there for processing the machine command read out.
Ein dritter Multiplexer R-MUX für Registrieradressen ist 4 Bit breit, dient zum Extrahieren von Registeradreßfeldern des nächsten Maschinenbefehls aus den Pufferregistern IBA bzw. IB der vierten bzw. dritten Stufe und ist ausgangsseitig mit dem Exekutivprozessor EP zum Ansteuern eines Registerspeichers ÄSPverbunden. Dort sind sämtliche internen Arbeitsregister des Exekutivprozessors £7* zusammengefaßt.A third multiplexer R-MUX for registration addresses is 4 bits wide, is used to extract register address fields of the next machine instruction from the buffer registers IBA or IB of the fourth or third stage and is connected on the output side to the executive processor EP to control a register memory ÄSP. All internal working registers of the executive processor £ 7 * are summarized there.
Außerdem ist an diesen dritten Multiplexer R-MUX für Registeradressen eine zweite Vergleichseinrichtung angeschlossen, die auch mit diesem Registerspeicher RSP verbunden ist. Sie besteht aus zwei Registeradressen-Vergleichern RVX bzw. RV2, die bei allen Schreiboperationen im Registerspeicher die Schreibadressen mit den für die Aufbereitung eines Maschinenbefehls benutzten Registeradressen vergleichen. Fällt ein Vergleich positiv aus, so bedeutet dies, daß beim Ausführen eines n-ten Maschinenbefehls ein Registerinhalt für einen nachfolgenden (n+ l)-ten Maschinenbefehl geändert wird, d. h. ein Register-Konflikt auftritt. Mit einem dann abgegebenen zweiten Konfliktsignal RC wird die Wiederholung der bis dahin im Aufbereitungsprozessor IIP abgelaufenen Vorbereitung für den (n+ lj-ten Maschinenbefehl eingeleitet.In addition, a second comparison device, which is also connected to this register memory RSP , is connected to this third multiplexer R-MUX for register addresses. It consists of two register address comparators RVX and RV2, which compare the write addresses with the register addresses used to prepare a machine command for all write operations in the register memory. If a comparison is positive, this means that when an n- th machine instruction is executed, a register content is changed for a subsequent (n + 1) -th machine instruction, ie a register conflict occurs. A second conflict signal RC then emitted is used to initiate the repetition of the preparation for the (n + lj-th machine command that has taken place in the preparation processor IIP up to that point).
Im integrierten Aufbereitungsprozessor IIP ist darüber hinaus ein Adreßrechnerwerk AAD mit einem 24 Bit breiten Binäraddierer vorgesehen. Dieser wird einerseits von dem Multiplexer D-MUX für Distanzadressen und andererseits von einem Register RD für Registeradressen gespeist. Letzteres ist seinerseits wiederum mit dem Registerspeicher RSPdes Exekutivprozessors EP verbunden und nimmt die aus dem Registerspeicher RSP gelesenenen Basis- und Indexj adressen oder bei reinen Registerbefehlen auch unmittelbar die Register-Operanden auf. Über den ersten Multiplexer D-MUX werden dem Binäraddierer die Distanzadressen oder aber das Ergebnis einer ersten Adreßrechnung aus dem ersten von zwei an denAn address computer unit AAD with a 24-bit binary adder is also provided in the integrated preparation processor IIP. This is fed on the one hand from the multiplexer D-MUX for distance addresses and on the other hand from a register RD for register addresses. The latter is in turn connected to the register memory RSP of the executive processor EP and accepts the base and index addresses read from the register memory RSP or, in the case of pure register commands, also directly the register operands. Via the first multiplexer D-MUX , the binary adder receives the offset addresses or the result of a first address calculation from the first of two to the
ίο Binäraddierer AAD angeschlossenen Adreßpuffer-Registern ABA bzw. ABB angeliefert. Bei der Adreßrechnung selbst werden 12 Bit breite Distanzadressen durch führende Nullen auf 24 Bit aufgefüllt, von der aus dem Register RD für Registeradressen kommenden Infor-ίο Binary adder AAD connected address buffer registers ABA or ABB delivered. During the address calculation itself, 12-bit wide offset addresses are padded to 24 bits with leading zeros, from the information coming from the register RD for register addresses.
I) mation werden die höherwertigen 8 Bit nicht in die Rechnung einbezogen. Das Ergebnis ist dann eine 24 Bit breite effektive Adresse, die in einem der beiden als Warteschlange wirkenden Adreßpuffer-Register ABA bzw. ABBniedergelegt wird.I) mation, the more significant 8 bits are not included in the calculation. The result is an effective address 24 bits wide, which is stored in one of the two address buffer registers ABA or ABB , which act as a queue.
Vorstehend wurde bereits mehrfach auf das verschiedene Format von Maschinenbefehlen hingewiesen, jedoch noch nicht näher erläutert, daß fünf Gruppen von Maschinenbefehlen vor allen hinsichtlich der Art unterscheidbar sind, wie und wo die Befehls-Operanden abgespeichert sind. In der folgenden Tabelle 1 sind diese fünf möglichen Befehlstypen RR bis SS, bezogen auf das jeweilige Speichermedium für die Operanden, ausgedrückt: The different formats of machine commands have already been pointed out several times above, but have not yet been explained in more detail, that five groups of machine commands are distinguishable above all with regard to the type of how and where the command operands are stored. In the following table 1 these five possible command types RR to SS are expressed in relation to the respective storage medium for the operands:
Name BefehlstypName of command type
Codecode
RR Register-Registerbefehle 00 RR Register Register Instructions 00
RX Register-Speicherbefehle mit 01 RX register storage instructions with 01
IndexierungsmöglichkeitIndexing option
RS Register-Speicherbefehle 10 RS Register Save Instructions 10
SI Speicher-Direktoperandenbefehle 10 SI memory direct operand instructions 10
55 Speicner-Speicherbefehle 1155 Speicner memory commands 11
Dabei bedeuten die Abkürzungen
R: die Registeradresse eines Operanden,
X: die Indexregisteradresse eines Operanden,
/: einen im Befehl enthaltenen Direktoperanden,
5: die Speicheradresse eines Operanden.
45 The abbreviations mean
R: the register address of an operand,
X: the index register address of an operand,
/: a direct operand contained in the instruction,
5: the memory address of an operand.
45
RR- Befehle haben die Länge von 2 Byte oder — anders ausgedrückt — eines Halbwortes. RX-, RS- und 5/-Befehle umfassen ein Wort, d. h. 4 Byte. 55-Befehle schließlich bestehen aus 3 Halbworten oder 6 Byte. In jedem Maschinenbefehl ist dieses Befehlsformat — in der Tabelle 1 als Code bezeichnet — in zwei Bitstellen des Operationsfeldes mit 00, 01 bzw. 11 verschlüsselt. Aus dieser Bitkombination können die notwendigen Informationen für alle erforderlichen Wegeschaltungen abgeleitet werden. Für einen bereitzustellenden Maschinenbefehl steht sie im aktuellen Befehlszähler Pan den erwähnten Bitstellen P29, P30. RR commands have a length of 2 bytes or - in other words - a half word. RX, RS and 5 / commands are one word, i.e. 4 bytes. Finally, 55 commands consist of 3 half-words or 6 bytes. In every machine command, this command format - referred to as code in Table 1 - is encoded in two bit positions of the operation field with 00, 01 and 11 respectively. The necessary information for all necessary route switching can be derived from this bit combination. For a machine command to be provided, it is in the current command counter Pan at the bit positions P29, P30 mentioned.
Für das Bereitstellen der Daten eines Maschinenbefehls in den Adreßpuffer-Registern ABA bzw. ABBläüt sich damit nun folgendes feststellen:For the provision of the data of a machine command in the address buffer registers ABA or AB , the following can be determined:
Bei ÄÄ-Befehlen wird der erste Operand R 1 aus dem ersten Adreßpuffer-Register ABA, der zweite Operand R 2 aus dem zweiten Adreßpuffer-Register ABB dem Exekutivprozessor EP übergeben. Bei RX-, RS- und 5/-Befehlen wird die Adresse für den Speicher-Operanden aus dem zweiten Adreßpuffer-Register ABB ausgelesen und bei 55-BefehIen steht die Adresse für den ersten Speicher-Operanden im ersten Adreßpuffer-In the case of ÄÄ commands, the first operand R 1 from the first address buffer register ABA and the second operand R 2 from the second address buffer register ABB are transferred to the executive processor EP . With RX, RS and 5 / commands, the address for the memory operand is read from the second address buffer register ABB and with 55 commands the address for the first memory operand is in the first address buffer.
itit
Register ABA und die für den zweiten Speicher-Operanden im zweiten Adreßpuffer-Register ABB. Dabei gilt die Festlegung, daß alle acht höherwertigen Bitstellen auf Null gesetzt sind, wenn die beiden Adreßpuffer-Register Adressen enthalten.Register ABA and the one for the second memory operand in the second address buffer register ABB. It is stipulated that all eight more significant bit positions are set to zero if the two address buffer registers contain addresses.
Einleitend wurde erläutert, daß der integrierte Aufbereitungsprozessor UP den unmittelbar zugeordneten ladbaren Mikroprogrammspeicher WCM des Exekutivprozessors EP mitbenutzt, vor allem auch um Zugriffskonflikte zu vermeiden. Um jedoch das Format der Mikrobefehle des ladbaren Mikroprogrammspeichers WCM nicht unnötig zu vergrößern, wird aber nicht die gesamte Steuerung des integrierten Aufbereitungsprozessors IIP im Detail übernommen. Für die Detailsteuerung des integrierten Aufbereitungsprozessors ist ein Zustandssteuer-Speicher ZS-ROM vorgesehen, der als Festwertspeicher ausgebildet ist. Dafür wird nur ein verhältnismäßig geringes Mikrobefehlsformat von beispielsweise 2 Byte benötigt, so daß insgesamt für die dort abzuspeichernden Mikroprogramme eine Speicherkapazität von 1 KBit genügt.In the introduction it was explained that the integrated preparation processor UP also uses the directly assigned loadable microprogram memory WCM of the executive processor EP , above all in order to avoid access conflicts. However, in order not to unnecessarily enlarge the format of the microinstructions of the loadable microprogram memory WCM , the entire control of the integrated editing processor IIP is not taken over in detail. A status control memory ZS-ROM , which is designed as a read-only memory, is provided for detailed control of the integrated preparation processor. Only a relatively small microinstruction format of 2 bytes, for example, is required for this, so that overall a storage capacity of 1 Kbit is sufficient for the microprograms to be stored there.
Die Anfangsadresse eines Mikroprogramms der Detailsteuerung wird abhängig vom Befehlsformat des Maschinenbefehls und seiner relativen Lage in einem Speicher-Doppelwort, d. h. seiner Ausrichtung in einem diesem Festwertspeicher zugeordneten Adressenzähler SRA gebildet. Dazu ist dieser Adressenzähler über eine 2 Bit breite Steuerleitung mit dem Befehlszähler P verbunden, aus dem er die beiden Bitstellen P29, 30 empfängt. Über eine weitere 2 Bit breite Steuerleitung ist der Adressenzähler SRA an den Ausgang des Multiplexers O-MUX für den Operationscode angeschlossen, der ihm zwei Bitstellen IBO, 1 als Information über den Operationscode zuführt. Die niederwertigsten beiden Bitstellen des Adressenzählers SRA werden mit Nullen aufgefüllt. Der Adressenzähler SRA ist über eine 1 Bit breite dritte Steuerleitung außerdem unmittelbar mit dem ladbaren Mikroprogrammspeicher WCM des Exekutivprozessors EP verbunden. Wie angedeutet, kann damit in den Adressenzähler SRA ein Steuerkommando »Lesen Registerspeicher« RRS übertragen werden, mit dem die Mikroprogrammadresse im Zustandssteuer-Speicher ZS-ROM weitergeschaltet wird.The start address of a microprogram of the detailed control is formed as a function of the instruction format of the machine instruction and its relative position in a memory double word, ie its alignment in an address counter SRA assigned to this read-only memory. For this purpose, this address counter is connected to the command counter P via a 2-bit wide control line, from which it receives the two bit positions P29, 30. The address counter SRA is connected via a further 2-bit wide control line to the output of the multiplexer O-MUX for the operation code, which supplies it with two bit positions IBO, 1 as information about the operation code. The two least significant bit positions of the address counter SRA are padded with zeros. The address counter SRA is also directly connected to the loadable microprogram memory WCM of the executive processor EP via a 1-bit wide third control line. As indicated, a control command “read register memory” RRS can thus be transferred to the address counter SRA , with which the microprogram address is advanced in the state control memory ZS-ROM.
Mikroprogrammsteuerungen sind an sich bekannt, deshalb ist die eigentliche Detailsteuerung durch die 16 Bit breiten Mikrobefehle im Zustandssteuer-Speicher aus Gründen der Übersicht nicht in Fig. 2 und 3 aufgenommen. In Fig. 3 ist nur eine Besonderheit herausgehoben: Ein weiterer Festwertspeicher stellt den Mikroprogrammspeicher WP-ROM eines im übrigen nicht detailliert dargestellten Wartungsprozessors dar. Dort sind Wartungsfunktionen abgelegt, die vom Betriebssystem der datenverarbeitenden Anlage ausgeführt werden. Während der Befehlsausführung — also im normalen Programmablauf — werden diese nicht benötigt. Dies wird ausgenutzt und es werden in diesem Speicher auch die jeweils ersten Mikrobefehle von im Exekutivprozessor EP ablaufenden Mikroprogrammen für die Befehlsausführung abgespeichert, Damit wird erreicht, daß der erste Mikrobefehl eines Maschinenbefehls, z.B. des (n+ l)-ten Maschinenbefehls bereits während der Ausführung des vorhergehenden n-ten Maschinenbefehls bereitgestellt und am Ende der Ausführung dieses Maschinenbefehls dem Exekutivprozessor übergeben werden kann. Die Mikroprogramme für die Befehlsverarbeitung im Exekutivprozessor EP können so, gesteuert durch den integriertenMicroprogram controls are known per se, which is why the actual detailed control through the 16-bit microinstructions in the state control memory is not included in FIGS. 2 and 3 for reasons of clarity. Only one special feature is highlighted in FIG. 3: Another read-only memory is the microprogram memory WP-ROM of a maintenance processor, which is otherwise not shown in detail. There, maintenance functions are stored that are carried out by the operating system of the data processing system. During the execution of the command - i.e. in the normal program sequence - these are not required. This is utilized and will be stored in this memory, the respective first microinstructions by proceeding in the executive processor EP microprograms for the instruction execution, it is achieved that the first microinstruction of a machine instruction, such as the (n + l) -th machine instruction of already during the execution previous n-th machine command provided and can be transferred to the executive processor at the end of the execution of this machine command. The microprograms for command processing in the executive processor EP can be controlled by the integrated
Aufbereitungsprozessor IIP, nahtlos aneinandergefügt werden.Preparation processor IIP, can be seamlessly joined together.
Die anhand von Fig.2 und 3 beschriebene Einrichtung gestattet eine in drei Stufen überlappende Bearbeitung der Funktionen »Lesen eines Maschinenbefehls«, »Adreßrechnung, Bereitstellung eines Maschinenbefehls« und »Ausführung eines Maschinenbefehls«. Die ersten beiden Funktionen werden für aufeinanderfolgende Maschinenbefehle überlappend im integrierten Aufbereitungsprozessor //rund die dritte Funktion, im eingeschwungenen Zustand dazu nochmals überlappend, im Exekutivprozessor fPausgeführt.The device described with reference to FIGS allows processing of the functions »reading a machine command«, overlapping in three stages, "Address calculation, provision of a machine command" and "Execution of a machine command". The first two functions are overlapping in the integrated for successive machine commands Processing processor // around the third function, in the steady state, overlapping again, executed in the executive processor fP.
Der Ablauf in den beiden ersten Stufen wird im folgenden anhand von Fig.4 und 5 näher erläutert. Beide Ablaufschemate hängen an sich zusammen, die Übergänge einzelner Ablaufzweige sind deshalb mit identischen Buchstaben A, B bzw. C bezeichnet. Jeder Block gibt eine Elementaroperation EO eines Mikroprogramms wieder, das entweder aus dem ladbaren Mikroprogrammspeicher WCM, dem Zustandssteuer-Speicher ZS-ROM oder dem Mikroprogrammspeicher WP-ROM des Wartungsprozessors abläuft. Um dies zu verdeutlichen, sind die einzelnen Elementaroperationen EO, soweit notwendig, zusätzlich mit diesen entsprechenden Bezeichnungen definiert.The sequence in the first two stages is explained in more detail below with reference to FIGS. Both flow charts are related, the transitions of individual flow branches are therefore designated with identical letters A, B and C , respectively. Each block represents an elementary operation EO of a microprogram that runs either from the loadable microprogram memory WCM, the state control memory ZS-ROM or the microprogram memory WP-ROM of the maintenance processor. To make this clear, the individual elementary operations EO are, if necessary, additionally defined with these corresponding designations.
Unstetige Modifikationen des aktuellen Befehlszählers P werden beispielsweise durch eine Programmunterbrechung oder einen erfüllten Sprungbefehl hervorgerufen. Wie bereits erläutert, muß danach die Bereitstellung des nachfolgenden Maschinenbefehls erneut anlaufen. Wie in F i g. 4 dargestellt, wird dieser Vorgang durch den Exekutivprozessor EP gesteuert. Wird mit der letzten Elementaroperation EO η bei der Verarbeitung eines Maschinenbefehls /ndie Sprungbedingung / erfüllt, so läuft mit der nachfolgenden Elementaroperation EO1 ein Mikroprogramm aus dem ladbaren Mikroprogrammspeicher WCM an. Sie umfaßt eine Adreßübersetzung ATTür den Inhalt des aktuellen Befehlszählers P und das Überführen dieses Registerinhalts in den Vorauslade-Befehlszählers PPF. Discontinuous modifications of the current command counter P are caused, for example, by a program interruption or a fulfilled jump command. As already explained, the provision of the following machine command must then start again. As in Fig. 4, this process is controlled by the executive processor EP. If the jump condition / is met with the last elementary operation EO η when processing a machine command (s), a microprogram from the loadable microprogram memory WCM starts with the following elementary operation EO 1. It includes an address translation AT door, the content of the current command counter P and the transfer of this register content to the preload command counter PPF.
In der Elementaroperation EO 2 läuft die Funktion »Lesen Befehls-Doppelwort« RDIaus dem Speichersystem S-SYSTab, der Inhalt des Vorauslade-Befehlszählers PPF wird um acht erhöht und so die nächste effektive Speicheradresse eingestellt.In the elementary operation EO 2 , the function »Read command double word« RDI runs from the memory system S-SYSTab, the content of the pre-load command counter PPF is increased by eight and the next effective memory address is set.
In der dritten Elementaroperation EO3 wird das gelesene Befehls-Doppelwort /D Win den Befehlspuffer IBübertragen. Außerdem wird vom ladbaren Mikroprogrammspeicher WCM ein Steuerkommando PF»Lesen Speicher-System« an den integrierten Aufbereitungsprozessor IIP gegeben, der damit das Lesen des nächsten Befehls-Doppelwortes übernimmt.In the third elementary operation EO3 , the read command double word / D Win is transferred to the command buffer IB . In addition, the loadable microprogram memory WCM issues a control command PF “Read memory system” to the integrated processing processor IIP , which then reads the next double-word command.
Zu diesem Zeitpunkt ist der bereits in den Befehlspuffer IB eingelesene Maschinenbefehl I(n+\) noch nicht in den Adreßpuffer-Registern ABA bzw. ABB bereitgestellt. Deshalb schließt sich im Exekutivprozessor EP, d. h. auf der Ausführungsebene in der nachfolgenden Elementaroperation EO 4 eine gegebenenfalls wiederholte Nulloperation NOOP an. Zugleich wird ein weiteres Steuerkommando RRS »Lesen Registerspeicher« an den integrierten Aufbereitungsprozessor IIP übergeben, so daß dann auf der Bereitstellungsebene zeitlich parallel eine Elementaroperation abläuft, die aus dem Zustandssteuer-Speicher ZS-ROM gesteuert wird. Dabei wird schrittweise der erste gelesene Maschinenbefehl l(n+ 1) weiter aufbereitet, bis er zur Verarbeitung im Exekutivprozessor EP bereitgestellt ist.At this point in time, the machine command I (n + \) already read into the command buffer IB is not yet made available in the address buffer registers ABA or ABB . Therefore, in the executive processor EP, ie on the execution level, in the subsequent elementary operation EO 4, a possibly repeated zero operation NOOP follows . At the same time, another control command RRS "Read register memory" is transferred to the integrated preparation processor IIP , so that an elementary operation then runs in parallel on the preparation level, which is controlled from the state control memory ZS-ROM. The first machine command I (n + 1) read is further processed step by step until it is made available for processing in the executive processor EP .
Im einzelnen können sich dabei im integrierten Aufbereitungsprozessor HP drei Ablaufzweige A, B bzw. C ergeben, die in F i g. 5 dargestellt sind. Diese Ablauffolgen für die zweite Funktionsstufe, d. h. auf der Bereitstellungsebene sind abhängig vom Befehlstyp RR, > RX, RS, Sl bzw. SS und von der Ausrichtung eines Befehls im Speicher-Doppel wort. Bei einem an einer Doppel wortgrenze DG ^ausgerichteten Maschinenbefehl weisen die beiden Bitstellen 29 und 30 im aktuellen Befehlszähler Pin diesem Beispiel die Bitkombination m 00 auf. Bei einer Ausrichtung an einer Wortgrenze WG heißt die Bitkombination 10 und bei einer Ausrichtung an einer der beiden Halbwortgrenzen HWG1 und HWG 2 im Doppelwort heißen die Bitkombinationen 01 bzw. 11. Die Art der Bitkombination bestimmt einen der ι > drei Ablaufzweige A, Boder C. In detail, there can be three process branches A, B and C in the integrated preparation processor HP , which are shown in FIG. 5 are shown. These sequences for the second functional level, ie on the provision level, are dependent on the command type RR, > RX, RS, Sl or SS and on the alignment of a command in the memory double word. In the case of a machine command aligned with a double word boundary DG ^, the two bit positions 29 and 30 in the current command counter Pin have the bit combination m 00 in this example. In one orientation on a word boundary WG the bit combination means 10 and at a position on one of the two half-word boundaries HWG 1 and HWG 2 in the double word names of the bit combinations 01 and 11. The type of bit combination determines one of the ι> three outlet branches A, B or C .
Im wichtigsten Fall, dem Ablaufzweig A, ist ein aufzubereitender Maschinenbefehl an einer Doppelwortgrenze DWG bzw. an der ersten Halbwortgrenze HWG1 ausgerichtet, dies ist im eingeschwungenen m Zustand immer der Fall, während nach unstetigen Modifikationen auch eine andere Ausrichtung möglich ist. Für jeden Maschinenbefehlstyp sind die während der drei Elementaroperationen £041, EO 51 und £061 dieses Ablaufzweiges A ablaufenden Vorgänge in den j-> einzelnen entsprechend gekennzeichneten Blöcken in F i g. 5 angegeben.In the most important case, branch A, a machine command to be processed is aligned with a double word boundary DWG or the first half word boundary HWG 1; this is always the case in the steady m state, while a different alignment is possible after discontinuous modifications. For each machine instruction type, the processes taking place during the three elementary operations £ 041, EO 51 and £ 061 of this branch A are in the individual appropriately marked blocks in FIG. 5 specified.
Betrachten wir zunächst ÄÄ-Befehle. Bei diesem Befehlstyp stehen die beiden Operanden in Registern R 1 bzw. R 2 des Registerspeichers RSP und sind durch so Registeradressen definiert. In der ersten Elementaroperation EO 41 dieses Ablaufzweiges wird das vom ladbaren Mikroprogrammspeicher WCM abgegebene Steuerkommando RRS »Lesen Registerspeicher« vom integrierten Aufbereitungsprozessor HP übernommen r, und der Inhalt des zweiten Registers Rl aus dem Registerspeicher RSP in das Register RD für Registeroperanden überführt. In der zweiten Elementaroperation EO 5\ wird dieser gelesene Registerinhalt in das zweite Adreßpuffer-Register ABB eingetragen. Daneben wird, ausgelöst durch ein weiteres Steuerkommando RRS, nun auch der andere Registeroperand aus dem Register R1 gelesen und in der nächsten Elementaroperation £061 in das erste Adreßpuff er-Register ABA übertragen. Beide Registeroperanden sind nun bereitgestellt, daraufhin wird im integrierten Aufbereitungsprozessor HP ein Bereitstellungssignal SRR erzeugt. Damit v/ird das Ansteuern des Mikroprogrammspeichers WP-ROM des Wartungsprozessors ausgelöst und aus ihm die erste Elementaroperation EOX' auf der ,0 Ausführungsebene für den bereitgestellten Maschinenbefehl I(n+\) ausgelesen. Die weitere Befehlsausführung läuft dann, aus dem ladbaren Mikroprogramm-Speicher WCMgesteuert, im Exekutivprozessor EPab. Let us first consider ÄÄ commands. With this type of instruction, the two operands are in registers R 1 and R 2 of the register memory RSP and are thus defined by register addresses. In the first elementary operation EO 41 of this branch of the process, the control command RRS "read register memory" issued by the loadable microprogram memory WCM is taken over by the integrated preparation processor HP , and the content of the second register Rl is transferred from the register memory RSP to the register RD for register operands. In the second elementary operation EO 5 \ , this read register content is entered in the second address buffer register ABB . In addition, triggered by a further control command RRS, the other register operand is now also read from register R 1 and transferred to the first address buffer register ABA in the next elementary operation £ 061. Both register operands are now made available, thereupon a ready signal SRR is generated in the integrated preparation processor HP. This triggers the control of the microprogram memory WP-ROM of the maintenance processor and reads out the first elementary operation EOX ' on the "0" execution level for the machine command I (n + \) provided . The further execution of the command then runs, controlled from the loadable microprogram memory WCM , in the executive processor EPab.
Für die übrigen Befehlsgruppen ergibt sich in den drei Elementaroperationen EO 41, EO51 bzw. EO61 eine jeweils analoge, jedoch typenspezifische Aufbereitung. In diesem Zusammenhang ist allerdings auf eine Besonderheit hinzuweisen: Auch die übrigen Maschinenbefehle können Operanden enthalten, die in einem «,o Operandenregister Ri bzw. Rl oder auch in einem Indexregister XX bzw. Xl des Registerspeichers RSP niedergelegt sind. Außer bei /?Ä-Befehlen wird jedoch durch den Aufbereitungsprozessor IIP ein solcher Operand nicht unmittelbar, sondern nur seine Registeradresse bereitgestellt und dieser Operand vom Exekutivprozessor EP während der Verarbeitungsphase gelesen. Dies hat den wesentlichen Vorteil, daß der hierFor the other command groups, the three elementary operations EO 41, EO 51 and EO 61 each have an analog, but type-specific preparation. In this context, however, a special feature should be noted: The other machine instructions can also contain operands that are stored in an «, o operand register Ri or Rl or in an index register XX or Xl of the register memory RSP . Except in the case of /? Commands, however, the editing processor IIP does not provide such an operand directly, but only its register address, and this operand is read by the executive processor EP during the processing phase. This has the major advantage that this one
4040
4 > betrachtete Ablaufzweig A immer nur die drei Elementaroperationen £041,51 und 61 benötigt, zumal es leichter möglich ist, diesem Zugriff zum Registerspeicher RSP in einer der Elementaroperationen der Ausführungsphase parallel zu einem anderen Schritt auszuführen. In F i g. 5 sind daher vereinfachend auch nur die umfangreicheren Adreßrechnungen für den anderen Operanden dargestellt. 4> considered process branch A only ever requires the three elementary operations £ 041, 51 and 61, especially since it is easier to carry out this access to the register memory RSP in one of the elementary operations of the execution phase in parallel with another step. In Fig. 5, therefore, only the more extensive address calculations for the other operands are shown for the sake of simplicity.
So muß beispielsweise bei SS- Befehlen für beide Operanden eine effektive Speicheradresse ermittelt werden. Dazu werden in den drei Elementaroperationen nacheinander aus dem Registerspeicher RSPd'ie Inhalte zweier Basisregister B X bzw. B 2 ausgelesen und jeweils in das Register RD für Registeroperanden übertragen. Im Adreßrechenwerk AAD wird zu der jeweiligen Basisadresse die zugehörige Distanzadresse Dl bzw. D 2 des Operanden addiert. Die Ergebnisse werden in eines der beiden Adreßpuff er-Register ABA bzw. ABB eingetragen. Am Ende der dritten Elementaroperation ist dies für beide Speicheroperanden erfüllt und im integrierten Aufbereitungsprozessor IIP wird ein Bereitstellungssignal SSSfür diesen Befehlstyp erzeugt.In the case of SS commands, for example, an effective memory address must be determined for both operands. For this purpose, in the three elementary operations, the contents of two base registers BX and B 2 are read out one after the other from the register memory RSPd 'and are each transferred to the register RD for register operands. In the address arithmetic unit AAD , the associated offset address Dl or D 2 of the operand is added to the respective base address. The results are entered in one of the two address buffer registers ABA or ABB . At the end of the third elementary operation, this is fulfilled for both memory operands and a ready signal SSS for this type of instruction is generated in the integrated preparation processor IIP.
Die Befehlsbereitstellung für RX-, RS- und 5/-Befehle dürfte damit wohl unmittelbar aus dem Ablaufschema erkennbar sein. Dies gilt auch für die beiden anderen Ablaufzweige B und C, bei denen der Maschinenbefehl an einer Wortgrenze WG bzw. an der zweiten Halbwortgrenze HWG1 ausgerichtet ist. Eine weitere detaillierte Beschreibung der Elementaroperationen £042 bis £072 bzw. der Elementaroperationen EO 43 bis £083 erscheint daher zum vollständigen Verständnis nicht mehr erforderlich.The provision of commands for RX, RS and 5 / commands should therefore be immediately recognizable from the flow chart. This also applies to the other two process branches B and C, in which the machine command is aligned with a word boundary WG or the second half-word boundary HWG1. A further detailed description of the elementary operations £ 042 to £ 072 or the elementary operations EO 43 to £ 083 therefore no longer appears necessary for a complete understanding.
Rückkehrend zu der Darstellung in Fig.4 ist nur noch darauf hinzuweisen, daß der Vorspann mit den Elementaroperationen £01 bis £03 — wie bereits angedeutet — nur nach unstetigen Modifikationen im aktuellen Befehlszähler Perforderlich ist. Im Normalfall wird bei konstruktiver Zwischenspeicherung aufeinanderfolgender Maschinenbefehle im Befehlspuffer IB diese Einleitungsphase übersprungen bzw. bereits während der Verarbeitungsphase vorangehender Maschinenbefehle durchgeführt. _Returning to the illustration in FIG. 4, it should only be pointed out that the preamble with the elementary operations £ 01 to £ 03 - as already indicated - is only required after discontinuous modifications in the current command counter Per. In the normal case, with constructive intermediate storage of successive machine commands in the command buffer IB, this introductory phase is skipped or already carried out during the processing phase of preceding machine commands. _
In F i g. 4 ist dies mit einem Steuersignal /angedeutet, das zusammen mit dem Bereitstellungssignal 5 ausgewertet wird. Treten beide Signal auf, so schließt sich an die letzte Elementaroperation £0 η der Verarbeitungsphase des Maschinenbefehls In unmittelbar die Verarbeitungsphase des darauffolgenden Maschinenbefehls I(n+\) mit der ersten Elementaroperation EOX' an. Fehlt jedoch nach Ablauf der letzten Elementaroperation EO η das Bereitstellungssignal S, dann werden so lange Nulloperationen NOOP eingeblendet, bis dieses Signal auftritt.In Fig. 4, this is indicated by a control signal / which is evaluated together with the readiness signal 5. If both signals occur, the last elementary operation £ 0 η of the processing phase of the machine command In is immediately followed by the processing phase of the subsequent machine command I (n + \) with the first elementary operation EOX ' . However, if the readiness signal S is missing after the last elementary operation EO η has elapsed, then zero operations NOOP are faded in until this signal occurs.
Aus den vorstehenden Erläuterungen ist damit wohl erkennbar geworden, daß die im ladbaren Mikroprogrammspeicher WCM gespeicherten Mikroprogramme auch die Vorgänge im integrierten Aufbereitungsprozessur IIP über bestimmte Signale, insbesondere die Steuerkommandos RRS und PF auslösen. Dabei bleibt es jedoch dem integrierten Aufbereitungsprozessor IIP überlassen, ob er die angebotenen Signale annimmt oder nicht. Auf diese Weise gelingt es einerseits Zugriffe des integrierten Aufbereitungsprozessors IIP und des Exekutivprozessors EP zu gemeinsamen Speichereinrichtungen, wie zum Speichersystem S-SYSToder zum Registerspeicher RSP zu koordinieren und damit die Steuerungen in den Schnittstellen zu vereinfachen.From the above explanations it can be seen that the microprograms stored in the loadable microprogram memory WCM also trigger the processes in the integrated editing processor IIP via certain signals, in particular the control commands RRS and PF. However, it is left to the integrated preparation processor IIP whether it accepts the signals offered or not. In this way it is possible on the one hand to coordinate accesses of the integrated editing processor IIP and the executive processor EP to common storage devices, such as to the storage system S-SYST or to the register memory RSP , and thus to simplify the controls in the interfaces.
Andererseits laufen trotzdem die Vorgänge in denOn the other hand, the processes still run in the
15 1615 16
beiden Prozessoren IIP und EP voneinander getrennt gewinn gegenüber konventionellen, mit einem Verar
und unabhängig ab, können also echt parallel ausgeführt beitungsprozessor ausgestatteten Zentraleinheiten,
werden. Wie der geringe Umfang der Detailsteuerung ohne daß — wie bei nach dem Prinzip des »Pipelinig«
für den integrierten Aufbereitungsprozessor IIP und aufgebauten Maschinen — nach jeder Verarbeitungsdessen
Schaltungsaufbau erkennen läßt, ist eine solche ί station in Puffereinrichtungen Warteschlangen gebildet
tatsächliche Parallelarbeit bereits mit geringem Auf- werden müssen,
wand möglich. Sie bringt einen erheblichen Leistungs-Both processors IIP and EP separately gain from one another compared to conventional, with one processing and independently from each other, so they can be executed in real parallel with processing processor- equipped central units. As the small scope of the detailed control without - as in the case of the "pipeline" principle for the integrated preparation processor IIP and built-up machines - reveals its circuit structure after each processing , such a ί station in buffer facilities is queued and actual parallel work is already carried out with a small amount of queues - Need to become,
wall possible. It brings a significant performance
Hicrzu 5 Blatl ZeicliiuiimcnAdd 5 sheets of Zeicliiuiimcn
Claims (9)
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2704560A DE2704560C2 (en) | 1977-02-03 | 1977-02-03 | Data processing system with parallel provision and execution of machine commands |
CH1514177A CH632605A5 (en) | 1977-02-03 | 1977-12-09 | Data-processing system with normal parallel provision and execution of machine instructions |
FR7802174A FR2379858B1 (en) | 1977-02-03 | 1978-01-26 | DATA PROCESSING INSTALLATION COMPRISING PARALLEL PREPARATION AND EXECUTION OF MACHINE INSTRUCTIONS |
IT19652/78A IT1092143B (en) | 1977-02-03 | 1978-01-26 | DATA ELBAROATING SYSTEM WITH PARALLEL PREPARATION AND EXECUTION OF MACHINE INSTRUCTIONS |
NL7801238A NL7801238A (en) | 1977-02-03 | 1978-02-02 | INFORMATION PROCESSING SYSTEM WITH PARALLEL PROVISION AND PERFORMANCE OF MACHINE INSTRUCTIONS. |
AT0071078A AT373701B (en) | 1977-02-03 | 1978-02-02 | DATA PROCESSING SYSTEM WITH OVERLAPPED PROVISION AND EXECUTION OF MACHINE COMMANDS |
GB4181/78A GB1582815A (en) | 1977-02-03 | 1978-02-02 | Data processing system |
BE184896A BE863644A (en) | 1977-02-03 | 1978-02-03 | DATA PROCESSING FACILITY INCLUDING PREPARATION AND PARALLEL EXECUTION OF MACHINE INSTRUCTIONS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2704560A DE2704560C2 (en) | 1977-02-03 | 1977-02-03 | Data processing system with parallel provision and execution of machine commands |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2704560B1 true DE2704560B1 (en) | 1978-05-24 |
DE2704560C2 DE2704560C2 (en) | 1979-01-18 |
Family
ID=6000299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2704560A Expired DE2704560C2 (en) | 1977-02-03 | 1977-02-03 | Data processing system with parallel provision and execution of machine commands |
Country Status (8)
Country | Link |
---|---|
AT (1) | AT373701B (en) |
BE (1) | BE863644A (en) |
CH (1) | CH632605A5 (en) |
DE (1) | DE2704560C2 (en) |
FR (1) | FR2379858B1 (en) |
GB (1) | GB1582815A (en) |
IT (1) | IT1092143B (en) |
NL (1) | NL7801238A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3626500A1 (en) * | 1986-08-05 | 1988-02-18 | Siemens Ag | Method and arrangement for control of advance reading of new instructions of an instruction sequence into the instruction buffer of a data processing system |
EP0239097A3 (en) * | 1986-03-25 | 1990-04-25 | Nec Corporation | Data processing system |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4316244A (en) * | 1978-11-08 | 1982-02-16 | Data General Corporation | Memory apparatus for digital computer system |
JPS5858653A (en) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | Data processor |
US4969117A (en) * | 1988-05-16 | 1990-11-06 | Ardent Computer Corporation | Chaining and hazard apparatus and method |
US4935849A (en) * | 1988-05-16 | 1990-06-19 | Stardent Computer, Inc. | Chaining and hazard apparatus and method |
US5748937A (en) * | 1993-08-26 | 1998-05-05 | Intel Corporation | Computer system that maintains processor ordering consistency by snooping an external bus for conflicts during out of order execution of memory access instructions |
IE80854B1 (en) * | 1993-08-26 | 1999-04-07 | Intel Corp | Processor ordering consistency for a processor performing out-of-order instruction execution |
-
1977
- 1977-02-03 DE DE2704560A patent/DE2704560C2/en not_active Expired
- 1977-12-09 CH CH1514177A patent/CH632605A5/en not_active IP Right Cessation
-
1978
- 1978-01-26 IT IT19652/78A patent/IT1092143B/en active
- 1978-01-26 FR FR7802174A patent/FR2379858B1/en not_active Expired
- 1978-02-02 AT AT0071078A patent/AT373701B/en not_active IP Right Cessation
- 1978-02-02 GB GB4181/78A patent/GB1582815A/en not_active Expired
- 1978-02-02 NL NL7801238A patent/NL7801238A/en not_active Application Discontinuation
- 1978-02-03 BE BE184896A patent/BE863644A/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0239097A3 (en) * | 1986-03-25 | 1990-04-25 | Nec Corporation | Data processing system |
DE3626500A1 (en) * | 1986-08-05 | 1988-02-18 | Siemens Ag | Method and arrangement for control of advance reading of new instructions of an instruction sequence into the instruction buffer of a data processing system |
Also Published As
Publication number | Publication date |
---|---|
IT7819652A0 (en) | 1978-01-26 |
GB1582815A (en) | 1981-01-14 |
AT373701B (en) | 1984-02-10 |
CH632605A5 (en) | 1982-10-15 |
FR2379858A1 (en) | 1978-09-01 |
BE863644A (en) | 1978-08-03 |
DE2704560C2 (en) | 1979-01-18 |
FR2379858B1 (en) | 1985-10-25 |
NL7801238A (en) | 1978-08-07 |
IT1092143B (en) | 1985-07-06 |
ATA71078A (en) | 1983-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2829668C3 (en) | Channel data buffer | |
DE1524101C3 (en) | Multiple computing data processing system | |
DE2318069C2 (en) | Micro-programmed computer system with expansion of control functions by means of a hard-wired logic matrix | |
DE3424962C2 (en) | ||
DE2847934A1 (en) | DATA PROCESSING DEVICE WITH A MICRO COMMAND MEMORY | |
DE2145120A1 (en) | Digital data processing device | |
DE2411963B2 (en) | DATA PROCESSING SYSTEM | |
DE1524166B1 (en) | Circuit arrangement for establishing connections between several independent parts and a common part of a data processing system | |
DE1299145B (en) | Circuit arrangement for controlling peripheral input and output devices of data processing systems | |
DE1549523B2 (en) | DATA PROCESSING SYSTEM | |
DE1549474C3 (en) | Arrangement In an electronic digital data processing system for the execution of a first command and simultaneous decoding of a following command | |
DE2835095A1 (en) | COUPLED, MICROPROGRAMMED PROCESSOR SYSTEM | |
DE1499206C3 (en) | Computer system | |
DE3802025C1 (en) | ||
DE2454613C2 (en) | Channel unit for controlling data transmission on a large number of channels between the peripheral devices and the main memory of a digital data processing system | |
DE2704560B1 (en) | Data processing system with parallel provision and execution of machine commands | |
DE2747304C3 (en) | Micro-command control device | |
DE1474376A1 (en) | Method and arrangement for fast access to large serial memories | |
EP0010135B1 (en) | Microprogrammed input/output controller and method for input/output operations | |
DE2557787A1 (en) | SETUP AND METHOD OF PROCESSING MACHINE COMMANDS OF DIFFERENT FORMATS IN A MICROPROGRAMMED DATA PROCESSING SYSTEM | |
DE3854859T2 (en) | Interrupt handling in a parallel data processing system | |
DE2350871A1 (en) | COMPUTING UNIT FOR PROCESSING SPECIAL COMMANDS | |
DE1163579B (en) | Control unit of a digital program-controlled calculating machine | |
DE2505518A1 (en) | DEVICE FOR THE TRANSFER OF DATA BETWEEN THE MEMORY AND COMPUTING SECTIONS OF AN ELECTRONIC COMPUTER | |
DE2951405A1 (en) | A computer system having enhancement circuitry for memory accessing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8339 | Ceased/non-payment of the annual fee |