DE3603240A1 - Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle - Google Patents

Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle

Info

Publication number
DE3603240A1
DE3603240A1 DE19863603240 DE3603240A DE3603240A1 DE 3603240 A1 DE3603240 A1 DE 3603240A1 DE 19863603240 DE19863603240 DE 19863603240 DE 3603240 A DE3603240 A DE 3603240A DE 3603240 A1 DE3603240 A1 DE 3603240A1
Authority
DE
Germany
Prior art keywords
operand
command
memory
address
exu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19863603240
Other languages
German (de)
Other versions
DE3603240C2 (en
Inventor
Juergen Bethmann
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 DE19863603240 priority Critical patent/DE3603240A1/en
Publication of DE3603240A1 publication Critical patent/DE3603240A1/en
Application granted granted Critical
Publication of DE3603240C2 publication Critical patent/DE3603240C2/de
Granted 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Abstract

If a conflict occurs, the command preparation processor (PLU) and command execution processor (EXU) are each halted for one operation cycle only. To prepare for the micro-commands which are to be executed in the normal way, the command execution processor (EXU) then reads the required memory operands itself, using the operand addresses which have been communicated to it, while the command preparation processor (PLU) continues to operate without hindrance. The cost is lowest if only one operand for a single command of restricted length, e.g. eight bytes, is read in advance, and the addresses of the first and last operand bytes are compared with the possible write address of the command execution processor. <IMAGE>

Description

Die Erfindung betrifft eine Schaltungsanordnung zur Bereinigung von Operandenkonflikten in nach dem Fließbandprinzip arbeitenden mikroprogrammgesteuerten Datenverarbeitungsanlagen entsprechend dem Oberbegriff des Patentanspruches 1.The invention relates to a circuit arrangement for cleaning up of operand conflicts in on the assembly line principle working micro program controlled data processing systems according to the preamble of claim 1.

Bei der nach dem Fließbandprinzip erfolgenden Befehlsaufbereitung und -ausführung werden die einzelnen Phasen einer Befehlsbearbeitung für mehrere Befehle zeitlich überlappend ausgeführt, so daß nach einer Vorlaufzeit mit jedem Fortschaltetakt des Fließbandes im Prinzip ein Befehl beendet werden kann - man siehe Elektronische Rechenanlagen, 1973, Heft 2, Seiten 60 bis 65, insbesondere Abschnit 2.5 "Befehls-Pipeline", Seite 63/64. Dieser Idealablauf läßt sich jedoch nur erreichen, wenn keine störenden Ereignisse auftreten, die zu Verzögerungen führen. Solche Störungen des Fließbandablaufes können hervorgerufen werden, wenn Sprungbefehle auftreten oder wenn im Voraus bereitgestellte Befehle, Adressen oder Operanden von vorangehend bearbeiteten Befehlen nachträglich noch geändert werden.In the preparation of commands based on the assembly line principle and execution are the individual phases one command processing for several commands in time overlapped so that after a lead time in principle with each step of the assembly line Command can be ended - see electronic computing systems, 1973, issue 2, pages 60 to 65, in particular Section 2.5 "Command pipeline", page 63/64. However, this ideal process can only be achieved if No disturbing events occur that lead to delays to lead. Such disruptions to the assembly line process can are caused when jump commands occur or if commands, addresses provided in advance or operands of previously processed instructions can be changed later.

Operandenkonflikte lassen sich am einfachsten vermeiden, wenn dem Befehlsausführungsprozessor lediglich die Operandenadressen übergeben werden und dieser die benötigten Speicheroperanden immer selbst holt. Eine solche Arbeitsweise vermindert aber zwangsläufig die Arbeitsgeschwindigkeit der Datenverarbeitungsanlage. Man ist daher überwiegend dazu übergegangen, die Operandenholphase wenigstens teilweise dem Befehlsaufbereitungsprozessor zuzuordnen und überlappend auszuführen, wobei das Ausmaß der Überlappung sehr unterschiedlich gewählt sein kann.The easiest way to avoid operand conflicts is to if only the Operand addresses are transferred and this the required Memory operands always fetches itself. Such  Working method inevitably reduces the speed of work the data processing system. One is therefore mainly the operand fetch phase at least in part to the command processor assign and execute overlapping, the The extent of the overlap was chosen very differently can be.

So werden zum Beispiel bei einigen bekannten Lösungen alle benötigten Operanden im Voraus gelesen, während bei anderen Lösungen nur einer der beiden möglichen Speicheroperanden oder gar nur ein Teil desselben mit vorgegebener Länge im Voraus bereitgestellt wird, während der Rest vom Befehlsausführungsprozessor anhand der mitgeteilten Adresse selbst geholt wird. Entsprechend unterschiedlich groß ist demzufolge der zusätzliche Aufwand für die Steuerung und Überwachung im Befehlsaufbereitungsprozessor sowie für die Bereinigung festgestellter Operandenkonflikte.For example, in some known solutions read all required operands in advance, while at other solutions only one of the two possible memory operands or just a part of it with a given one Length is provided in advance while the rest from the instruction execution processor the given address is fetched itself. Corresponding the additional size is therefore different Effort for control and monitoring in the command processing processor as well as for cleanup identified operand conflicts.

Während die Überwachung auf das Vorliegen von Operandenkonflikten noch verhältnismäßig einfach zu lösen ist, indem die Speicherleseadressen der im Voraus geholten Operanden fortlaufend mit den vom Befehlsausführungsprozessor nachfolgend bereitgestellten Speicherschreibadressen für ein in den Speicher einzuschreibendes Ergebnis verglichen werden, bereitet ein gegebenenfalls notwendiger Eingriff in die Ablaufkette der einzelnen Befehlsbearbeitungsphasen erhebliche Schwierigkeiten, die nur mit großem Aufwand gelöst werden können. Um diesen Aufwand zu umgehen, wird der Befehlsaufbereitungsprozessor bei einem auftretenden Speicheroperandenkonflikt einfach zurückgesetzt und mit dem infolge der Operandenänderung zunächst nicht ausführbaren Befehl neu gestartet. Für den Befehlsausführungsprozessor entsteht dadurch wie bei jedem Anlauf des Fließbandes eine Verlustzeit von mehreren Arbeitszyklen, bis er seine Arbeit wieder aufnehmen kann.While monitoring for operand conflicts is still relatively easy to solve, by fetching the memory read addresses of the in advance Operands consecutively with those from the instruction execution processor memory write addresses provided below for a result to be written into the memory be prepared, if necessary necessary intervention in the sequencer of the individual Command processing phases significant difficulties that can only be solved with great effort. To this The command processing processor is used to bypass effort in the event of a memory operand conflict simply reset and with the result of the Operand change initially not executable instruction started. For the instruction execution processor  therefore, as with every start-up of the assembly line, a loss of time of several work cycles until he does his job can resume.

Aufgabe der Erfindung ist es daher, eine Schaltungsanordnung der eingangs genannten Art zu schaffen, die bei verhältnismäßig geringem Aufwand die Verlustzeiten des Befehlsausführungsprozessors möglichst klein hält. Diese Aufgabe wird entsprechend den kennzeichnenden Merkmalen des Patentanspruches 1 gelöst.The object of the invention is therefore a circuit arrangement to create the type mentioned at the beginning the lost time of the Command execution processor keeps as small as possible. These Task will be according to the characteristic features of claim 1 solved.

Der Grundgedanke der neuen Lösung besteht darin, daß ein Eingriff in die Ablaufkette der Befehlsbearbeitungsphasen und der damit verbundene Aufwand unter Umgehung des Zurücksetzens des Befehlsaufbereitungsprozessors vermieden wird, indem im Konfliktfall die Aufgabe des Operandenholens dem Befehlsausführungsprozessor übertragen wird. Die dadurch zwar unumgänglichen Verlustzeiten treten allerdings nur im Konfliktfall auf und nicht bei jedem Befehl. Andererseits sind diese Verlustzeiten in der Regel wesentlich kleiner als beim Zurücksetzen des Befehlsaufbereitungsprozessors. Dies gilt um so mehr für Anlagen, bei denen der Befehlsaufbereitungsprozessor sowieso nicht beide gegebenenfalls benötigten Speicheroperanden bereitstellt, sondern nur einen oder gar nur einen Teil des ersten benötigten Speicheroperanden, und bei denen der Befehlsausführungsprozessor bereits Operandenholfunktionen ausführt, die gemäß der Erfindung lediglich erweitert werden.The basic idea of the new solution is that an intervention in the sequencer of the command processing phases and the associated effort bypassing resetting the command conditioning processor is avoided by the task of Operand fetching to the instruction execution processor becomes. The thereby inevitable loss times However, they only occur in the event of a conflict and do not occur every command. On the other hand, these lost times are in usually much smaller than when resetting the Command processing processor. This applies all the more for systems in which the command processing processor anyway not both of the memory operands that may be required provides, but only one or even only part of the first memory operand required, and where the instruction execution processor already does Performs operand fetch functions according to the invention just be expanded.

Der Aufwand für die Übertragung der Operandenholfunktionen auf den Befehlsausführungsprozessor im Konfliktfall ist verhältnismäßig gering, vor allem dann, wenn die Speicheroperandenadressen dem Befehlsausführungsprozessor sowieso jeweils übergeben werden. In diesem Falle brauchen dem üblicherweise ablaufenden Mikrobefehlsprogramm nur entsprechende Mikrobefehle vorgeschaltet werden, was durch einfache Umsteuerung auf ein entsprechendes Ersatzprogramm sichergestellt werden kann.The effort for the transfer of the operand fetch functions the command execution processor in the event of a conflict is relatively small, especially if the Memory operand addresses to the instruction execution processor to be handed over anyway. In this case  need the usually running microinstruction program only corresponding micro commands are connected upstream, what by simply switching to a corresponding one Replacement program can be ensured.

Die Verlustzeiten für den Befehlsausführungsprozessor können darüber hinaus vermindert werden, wenn die Überwachungsschaltung nur echte Konflikte meldet. Operandenkonflikte werden nämlich dann vorgetäuscht, wenn bei dem allgemein üblichen Adressenvergleich durch die in Vergleich gesetzten Adressen Bereiche erfaßt werden, die vom eigentlichen Operandenbereich abweichen und wenn dann Ergebnisse in die durch die Überwachung zwar erfaßten aber vom Operanden nicht betroffenen Bereiche eingeschrieben werden. Solche vergrößerten Überwachungsbereiche ergeben sich zwangsläufig dann, wenn abhängig von der Strukturierung des Pufferspeichers und der Breite der Übertragungswege die Adressen zum Beispiel auf Doppelwort- oder Blockgrenzen ausgerichtet sind. Beschränkt man daher die Überwachung nur auf den vom Operanden tatsächlich belegten Bereich, indem man die Anfangs- und Endadresse für den jeweiligen Operandenbereich ermittelt und nur den dadurch festgelegten Adressenbereich mit dem durch die jeweilige Speicherschreibadresse und -befehl festgelegten Operandenspeicherbereich in Beziehung setzt, dann werden vorgetäuschte Operandenkonflikte vermieden.The command execution processor loss times can also be reduced if the monitoring circuit only reports real conflicts. Operand conflicts are pretended when the general address comparison by comparing them ranges that are set deviate from the actual operand area and if then results in those captured by surveillance but registered areas not affected by the operand will. Such enlarged surveillance areas inevitably arise if dependent on the structure of the buffer memory and the width of the transmission paths the addresses, for example, on double-word or block boundaries are aligned. Limited therefore, monitoring is only carried out on that of the operand occupied area by looking at the initial and End address determined for the respective operand area and only the address range determined by it with the by the respective memory write address and command specified operand memory area in relation sets, then fake operand conflicts avoided.

Eine derartige Kontrolle ist aber sehr aufwendig, insbesondere wenn Operanden zu mehreren Befehlen im Voraus gelesen werden und die Überwachung daher für jeden vorausgelesenen Operanden vorgesehen werden muß.Such a control is very complex, in particular if operands to multiple instructions in advance be read and monitoring therefore for everyone read operands must be provided.

Der Aufwand kann jedoch in einfacher Weise unter Zulassung einer geringen Fehlerquote reduziert werden, wenn immer nur für einen im Voraus gelesenen Maschinenbefehl ein Operand von maximaler Länge, zum Beispiel 8 Byte, bzw. ein erster Teil desselben mit entsprechender Länge im Voraus gelesen und sowohl Angangs- als auch Endadresse dieses konstanten Operandenteils unmittelbar mit der Schreibadresse des Befehlsausführungsprozessors verglichen wird. Die Überwachung ist dann nur einmal für diesen einen Operanden vorzusehen und kann mit zwei einfachen Vergleichern ausgeführt werden, wobei sich die Vergleiche auf die relevanten höherwertigen Adressenbits beschränken.The effort, however, can be easily approved a low error rate can be reduced if  always only for a machine command read in advance an operand of maximum length, for example 8 bytes, or a first part of the same length Read in advance and both start and end address this constant operand part directly with the Command execution processor write address compared becomes. The monitoring is then only once for to provide this one operand and can with two simple comparators are carried out, the Compare to the relevant higher order address bits restrict.

Auf diese einzelnen Weiterbildungen der durch den Patentanspruch 1 festgelegten Erfindung nehmen die Unteransprüche Bezug.On these individual developments of the patent claim 1 specified invention take the dependent claims Reference.

Ein Ausführungsbeispiel der Erfindung sei nachfolgend anhand der Zeichnungen näher erläutert. Im einzelnen zeigenAn embodiment of the invention is as follows explained in more detail with reference to the drawings. In detail demonstrate

Fig. 1 ein Ablaufdiagramm für die Befehlsaufbereitung und -ausführung bei einem Operandenkonflikt entsprechend dem Stand der Technik, Fig. 1 is a flow chart for the command processing and execution in an operand conflict in accordance with the prior art,

Fig. 2 ein Ablaufdiagramm in Anlehnung an das von Fig. 1 bei Anwendung der Erfindung, Fig. 2 is a flowchart following the in FIG. 1 when applying the invention,

Fig. 3 ein Blockschaltbild in schematischer Darstellung der relevanten Teile einer gemäß der Erfindung arbeitenden Datenverarbeitungsanlage und Fig. 3 is a block diagram schematically showing the relevant parts of a working according to the invention, data processing system and

Fig. 4 ein Blockschaltbild für eine vereinfachte Anordnung zur Operandenkonfliktüberwachung. Fig. 4 is a block diagram for a simplified arrangement for operand conflict monitoring.

Bei dem in Fig. 1 dargestellten Ablaufdiagramm gemäß dem Stand der Technik sind in Form von aufeinanderfolgenden Arbeitszyklen EO 1 bis EO 12 die aufeinanderfolgenden Arbeitsphasen für die Aufbereitung eines Befehls im Befehlsaufbereitungsprozessor PLU und die aufeinanderfolgenden Arbeitsphasen für die Ausführung der jeweils aufbereiteten Befehle im Befehlsausführungsprozessor EXU gezeigt.In the flowchart shown in FIG. 1 according to the prior art, the successive work phases for the preparation of a command in the command preparation processor PLU and the successive work phases for the execution of the respectively prepared commands in the command execution processor EXU are shown in the form of successive work cycles EO 1 to EO 12 .

Die vollständige Ablauffolge für die Aufbereitung eines Befehles nach dem Start oder Zurücksetzen des Befehlsaufbereitungsprozessors PLU ergibt sich aus den Arbeitszyklen EO 6 bis EO 12, wonach zunächst die Startparameter als HEADER zusammengestellt werden, dann der Maschinenbefehl gelesen und nacheinander in den Befehlspuffer IB und in das Befehlsregister IR geladen wird, so daß nach dessen Decodierung erforderlichenfalls die Adressen für die benötigten Operanden berechnet, einer der Operanden gelesen und schließlich an den Befehlsausführungsprozessor EXU übertragen werden kann. Dieser übernimmt dann die weitere Befehlsbearbeitung anhand der bereitgestellten Parameter während der Arbeitszyklen EO 12 und EO 13, indem mit der mitgeteilten Startadresse MSA das zugehörige Mikroprogramm in der zugehörigen Mikroprogrammsteuerung aufgerufen und der fehlende Operand gelesen, sowie der Befehl dann ausgeführt und das Ergebnis dann abgespeichert wird, so daß mit TREND das Ende der Befehlsausführung gemeldet werden kann.The complete sequence for processing a command after starting or resetting the command processing processor PLU results from the work cycles EO 6 to EO 12 , after which the start parameters are first compiled as HEADER, then the machine command is read and successively in the command buffer IB and in the command register IR is loaded so that, after decoding it, the addresses for the required operands are calculated if necessary, one of the operands can be read and finally transferred to the command execution processor EXU . The latter then takes over further command processing on the basis of the parameters provided during the work cycles EO 12 and EO 13 , by calling up the associated microprogram in the associated microprogram control with the start address MSA and reading the missing operand, then executing the command and then saving the result , so that the end of the command execution can be reported with TREND .

Die bezüglich des Befehlsaufbereitungsprozessor im linken Teil von Fig. 1 anhand der Arbeitszyklen EO 6 bis EO 12 aufgezeigte Ablauffolge betrifft bekanntlich nur einen einzigen Befehl. Während der einzelnen Arbeitszyklen können jedoch einzelne Bearbeitungsphasen entsprechend den Arbeitszyklen EO 7 bis EO 12 für die Aufbereitung verschiedener Befehle gleichzeitig und damit überlappend ablaufen, wie es beispielsweise Bild 5 auf Seite 64 der eingangs genannten Literaturstelle schematisch zeigt.As is known, the sequence shown with regard to the command preparation processor in the left part of FIG. 1 on the basis of the working cycles EO 6 to EO 12 relates to only a single command. During the individual work cycles, however, individual processing phases corresponding to work cycles EO 7 to EO 12 for processing various commands can run simultaneously and thus overlapping, as is shown schematically, for example, in Figure 5 on page 64 of the literature reference mentioned at the beginning.

Der Umfang der dabei gegebenen Parallelarbeit hinsichtlich der aufbereitung verschiedener Befehle ist in üblicher Weise abhängig vom Fortgang der Bearbeitung durch den Befehlsausführungsprozessor EXU, wobei im Idealfall ohne Auftreten irgendwelcher Verzögerungen sich das Arbeitszyklenpaar EO 12 und EO 13 lückenlos aneinander reiht. Entsprechend ergeben sich - abgesehen von der Anfangsphase - Pausen bei der Fortführung der Befehlsaufbereitung für die nachfolgenden Befehle zwischen einzelnen Arbeitsphasen.The extent of the parallel work given with regard to the preparation of various commands depends in the usual way on the progress of the processing by the command execution processor EXU , ideally the working cycle pair EO 12 and EO 13 being strung together without any delays. Accordingly, apart from the initial phase, there are breaks in the continuation of the command preparation for the subsequent commands between individual work phases.

Im vorliegenden Fall sei angenommen, daß ein Befehl "5A" vom Typ RX mit der Bedeutung "Addiere Wort" ausgeführt werden soll und ein Operand aus dem Speicher zu lesen ist, was anhand der im Arbeitszyklus EO 1 ermittelten Operandenadresse im Arbeitszyklus EO 2 ausgeführt wird. Während des nachfolgenden Arbeitszyklusses schließt der Befehlsausführungsprozessor EXU den vorangehenden Befehl ab, wobei das Ergebnis in den Bereich des vorausgelesenen Operanden eingeschrieben wird, so daß eine Adressenübereinstimmung bzw. Operandenkonflikt festgestellt wird. Dieser löst die Signale PLUCONF und OPCONF aus, die beide Prozessoren PLU und EXU spätestens mit Beginn des nachfolgenden Arbeitszyklusses EO 4 sperren. Der Befehlsaufbereitungsprozessor PLU wird zurückgesetzt und alle aufbereiteten Daten werden gelöscht, so daß er mit dem Arbeitszyklus EO 6 - wie bereits erläutert - mit der Aufbereitung für den nicht mehr ausgeführten Befehl "5A" von vorne beginnen muß. In the present case it is assumed that an instruction "5A" of the type RX with the meaning "add word" is to be executed and an operand is to be read from the memory, which is carried out on the basis of the operand address determined in the work cycle EO 1 in the work cycle EO 2 . During the subsequent work cycle, the instruction execution processor EXU completes the preceding instruction, the result being written into the area of the operand read ahead, so that an address match or operand conflict is determined. This triggers the signals PLUCONF and OPCONF , which block both processors PLU and EXU at the latest at the beginning of the subsequent work cycle EO 4 . The command processing processor PLU is reset and all processed data are deleted, so that it must start with the work cycle EO 6 - as already explained - with the preparation for the no longer executed command "5A" from the beginning.

Da während dieser Zeit bis zum Ende des Arbeitszyklusses EO 11 der Befehlsaufbereitungsprozessor PLU dem Befehlsausführungsprozessor EXU keine aufbereiteten Befehle zuführen kann, bleibt der Befehlsausführungsprozessor EXU bis zum Ende des Arbeitszyklusses EO 11 durch ein entsprechendes Signal PLUNRDY gesperrt. Zwischen den Arbeitszyklen EO 3 und EO 12 liegen also acht schraffiert als Verlustzeit markierte Arbeitszyklen, während der der Befehlsausführungsprozessor EXU nicht arbeiten kann.Since the command preparation processor PLU can not supply the command execution processor EXU with processed commands during this time until the end of the work cycle EO 11, the command execution processor EXU remains blocked until the end of the work cycle EO 11 by a corresponding signal PLUNRDY . Between the work cycles EO 3 and EO 12 there are eight work cycles shaded as loss time, during which the command execution processor EXU cannot work.

Fig. 2 zeigt nun in Anlehnung an das von Fig. 1 ein Ablaufdiagramm für eine nach der Erfindung arbeitenden Anlage. Wieder wird im Arbeitszyklus EO 3 ein Operandenkonflikt festgestellt. Dies führt wiederum zur Sperrung der beiden Prozessoren PLU und EXU, jedoch diesesmal für die Dauer eines einzigen Arbeitszyklusses. Im Arbeitszyklus EO 5 setzen dann beide Prozessoren ihre Arbeit fort, und zwar der Befehlsaufbereitungsprozessor PLU so, als wäre keine Unterbrechung erfolgt, während der Befehlsausführungsprozessor EXU, bedingt durch den aufgetretenen Operandenkonflikt sein Mikroprogramm in der Weise abgeändert ausführt, daß zunächst der fehlende Speicheroperand anhand der vom Befehlsaufbereitungsprozessor PLU mitgeteilten Adresse gelesen wird. Statt zweier Arbeitszyklen benötigt der Befehlsausführungsprozessor EXU nunmehr drei Arbeitszyklen für die Ausführung des Befehls. Insgesamt ergibt sich aber nur eine Verlustzeit von zwei Arbeitszyklen, ohne daß der Befehlsaufbereitungsprozessor PLU in seiner Arbeit beeinträchtigt wird. Fig. 2 shows in accordance with that of Fig. 1 is a flow diagram for an operating system according to the invention. An operand conflict is again determined in the work cycle EO 3 . This in turn leads to the blocking of the two processors PLU and EXU , but this time for the duration of a single work cycle. In the work cycle EO 5 , both processors then continue their work, namely the instruction preparation processor PLU as if there had been no interruption, while the instruction execution processor EXU , due to the operand conflict that has occurred, executes its microprogram in such a way that the missing memory operand is first determined based on the address read by the command processing processor PLU . Instead of two work cycles, the command execution processor EXU now requires three work cycles to execute the command. Overall, however, there is only a loss of two work cycles without the PLU being impaired in its work.

Fig. 3 zeigt ein Blockschaltbild vom Befehlsaufbereitungsprozessor PLU und Befehlsausführungsprozessor EXU mit den für das Verständnis der Erfindung notwendigen Einrichtungen. Abhängig von der Taktverteileranordnung TPDI-PLU und der Mikroprogrammsteuerung PCM-ST werden vom Befehlsaufbereitungsprozessor PLU Befehle vom Speichersystem CACHE/MM in den Befehlspuffer IB gelesen und nacheinander an das Befehlsregister IR weitergeleitet. Gleichzeitig wird im Rahmen der Befehlsinterpretation die Mikroprogrammstartadresse START-AD für den Befehlsaufbereitungsprozessor EXU aus dem Speicher FPCD ermittelt und anschließend im Register MSA für die Übergabe an den Befehlsaufbereitungsprozessor bereitgestellt. Fig. 3 shows a block diagram of the command processing processor PLU and command execution processor EXU with the facilities necessary for understanding the invention. Depending on the clock distributor arrangement TPDI-PLU and the microprogram control PCM-ST , the command preparation processor PLU reads commands from the memory system CACHE / MM into the command buffer IB and forwards them successively to the command register IR . At the same time, as part of the command interpretation, the microprogram start address START-AD for the command preparation processor EXU is determined from the memory FPCD and then made available in the register MSA for transfer to the command preparation processor .

Abhängig vom Befehlstyp und von den Adressenhinweisen des im Befehlsregister IR zwischengespeicheerten Maschinenbefehles werden von der Adressensteuerung AD-ST die gegebenenfalls benötigten Operandenadressen ermittelt und im Register PPA/B für die Übergabe an den Befehlsaufbereitungsprozessor EXU bereitgestellt. Ebenso wird der im Befehlsregister IR enthaltene Befehl an ein Folgeregister POR weitergeleitet. Außerdem wird anhand der berechneten Speicheroperandenadresse ein Speicheroperand von maximal acht Byte Länge im Voraus gelesen und für die Übernahme ins Register PMO bereitgestellt.Depending on the type of command and the address information of the machine command buffered in the IR command register, the address control AD-ST determines the operand addresses that may be required and makes them available in the PPA / B register for transfer to the command preparation processor EXU . The command contained in the command register IR is also forwarded to a follow-up register POR . In addition, a memory operand of a maximum of eight bytes in length is read in advance on the basis of the calculated memory operand address and made available for transfer to the PMO register.

Der Arbeitsablauf im Befehlsausführungsprozessor wird ebenfalls durch eine Mikroprogrammsteuerung ECM-ST in Verbindung mit einem Taktverteiler TPDI-EXU gesteuert. Innerhalb der Mikroprogrammsteuerung sind zwei Mikroprogrammspeicher ECMA und ECMB mit jeweils einem zugehörigen Adressensteuerregister ECAA bzw. ECAB und ein gemeinsames Leseregister ECD gezeigt. Beide Adressenregister werden jeweils parallel geladen, entweder mit der Startadresse START-AD aus dem Register MSA des Befehlsaufbereitungsprozessors PLU oder aus dem gemeinsamen Leseregister ECD, wie es der Steuerablauf jeweils erfordert, so daß beide Speicher ECMA und ECMB jeweils gleichzeitig angesteuert werden können, aber nur aus einem der Speicher die Information in das Leseregister ECD abhängig von der Steuerschaltung EC übernommen wird.The workflow in the command execution processor is also controlled by an ECM-ST micro program controller in conjunction with a TPDI-EXU clock distributor. Two microprogram memories ECMA and ECMB , each with an associated address control register ECAA or ECAB and a common read register ECD, are shown in the microprogram control. Both address registers are loaded in parallel, either with the start address START-AD from the register MSA of the command processing processor PLU or from the common read register ECD , as required by the control sequence, so that both memories ECMA and ECMB can be controlled simultaneously, but only the information is transferred from one of the memories into the reading register ECD depending on the control circuit EC .

Im Befehlsaufbereitungsprozessor PLU ist zur Konfliktüberwachung noch eine Anordnung MCONF-AR vorgesehen die für die Operandenkonfliktüberwachung mit der Operandenleseadresse M/L-AD aus der Adressensteuerung AD-ST und mit der Operandenschreibadresse M/S-AD vom Befehlsausführungsprozessor EXU versorgt wird. Weitere Eingangssteuersignale sind das beim Lesen eines Operanden ausgelöste Signal RO, ein von dem jeweils auszuführenden Befehl abgeleitetes, die Operandenausrichtung anzeigendes Steuersignal SS und ein das Ende einer Befehlsausführung anzeigendes Signal TREND vom Befehlsausführungsprozessor EXU.In order to monitor conflicts, an arrangement MCONF-AR is also provided in the instruction preparation processor PLU, which is supplied for the operand conflict monitoring with the operand read address M / L-AD from the address control AD-ST and with the operand write address M / S-AD from the instruction execution processor EXU . Further input control signals are the signal RO triggered when an operand is read, a control signal SS derived from the instruction to be executed in each case and indicating the operand orientation, and a signal TREND indicating the end of an instruction execution from the instruction execution processor EXU .

Der in Fig. 3 gezeigte schematische Aufbau entspricht zum Beispiel dem "Siemens System 7500", das im einzelnen in den Siemens-Druckschriften U 64 968-H Und U 68 002-J beschrieben ist, so daß eine eingehendere Beschreibung der Arbeitsweise der dargestellten Anordnung nicht notwendig erscheint. Es sei dazu lediglich angemerkt, daß die prozessorindividuellen Taktverteiler TPDI-PLU und TPDI-EXU von einem gemeinsamen Taktgenerator periodisch mit den Zyklustakten TP. . . versorgt werden, die dann abhängig vom Arbeitszustand des zugehörigen Prozessors in Steuertakte CL . . . umgesetzt werden. In diese Taktversorgung kann daher direkt mit dem Bremssignalen, zum Beispiel PLUCONF bzw. OPCONF, dezentral eingegriffen und dadurch die Bereitstellung der Steuertakte CL . . . unterbrochen werden, so daß die Mikroprogrammausführung angehalten wird. Das Anhalten umfaßt dabei immer volle Arbeitszyklen der Mikroprogrammsteuerungen, wobei die Anzahl der Arbeitszyklen von der Art und der Dauer des Bremssignales abhängig ist.The schematic structure shown in FIG. 3 corresponds, for example, to the "Siemens System 7500", which is described in detail in the Siemens documents U 64 968-H and U 68 002-J, so that a more detailed description of the operation of the arrangement shown does not appear necessary. It should only be noted that the processor-specific clock distributors TPDI-PLU and TPDI-EXU are periodically shared by the clock generator with the cycle clocks TP . . . are supplied, which then depend on the working state of the associated processor in control clocks CL . . . be implemented. This clock supply can therefore intervene directly with the brake signals, for example PLUCONF or OPCONF , and thus the provision of the control clock CL . . . be interrupted so that the microprogram execution is stopped. Stopping always includes full working cycles of the microprogram controls, the number of working cycles depending on the type and duration of the brake signal.

Ein Ausführungsbeispiel für den der Operandenkonfliktüberwachung dienenden Teil innerhalb der Anordnung MCONF-AR zeigt Fig. 4. Dieser Teil besteht aus einem Register MCRO, das beim Lesen eines Operanden mit der zugehörigen Speicherleseadresse M/LAD durch das Signal RO geladen wird. Mit dem Ausgang des Registers ist eine Addier-Subtrahiereinrichtung A/S verbunden, die einen vorgegebenen Wert bei linksbündiger Ausrichtung zur Anfangsadresse M/L-AD addiert und bei rechtsbündiger Ausrichtung subtrahiert, so daß jeweils die Endadresse des gelesenen Operandenteils am Ausgang zur Verfügung steht. An den Ausgängen des Registers MCRO und der Addier-Subtrahierschaltung A/S ist jeweil ein einfacher Vergleicher COMP 1 bzw. COMP 2 angeschlossen. Beiden Vergleichern wird außerdem die Speicherschreibadresse M/S-AD vom Befehlsausführungsprozessor EXU zugeleitet, so daß durch Vergleich der signifikanten Adressenbits jeweils beider Adressen festgestellt werden kann, ob eine Überschneidung innerhalb des so vorgegebenen Speicherbereiches vorliegt. FIG. 4 shows an exemplary embodiment of the part serving for operand conflict monitoring within the arrangement MCONF-AR . This part consists of a register MCRO , which is loaded by the signal RO when an operand with the associated memory read address M / LAD is read. An output-subtractor A / S is connected to the output of the register, which adds a predetermined value for left-justified alignment to the start address M / L-AD and subtracts for right-justified alignment, so that the end address of the operand part read is available at the output. A simple comparator COMP 1 or COMP 2 is connected to the outputs of the register MCRO and the add-subtract circuit A / S. Both comparators are also supplied with the memory write address M / S-AD by the command execution processor EXU , so that by comparing the significant address bits of each of the two addresses it can be determined whether there is an overlap within the memory area specified in this way.

Bei der in Fig. 4 gezeigten Anordnung ist unterstellt, daß lediglich ein Operand mit maximaler Länge von acht Byte in Form eines Doppelwortes jeweils im Voraus gelesen wird, so daß sich die Adresse für das jeweils letzte Byte von der jeweiligen Anfangsadresse um den konstanten Wert "7" unterscheidet. Damit können für den Vergleich die drei niederwertigsten Adressenbits vernachlässigt werden. In the arrangement shown in FIG. 4, it is assumed that only one operand with a maximum length of eight bytes is read in advance in the form of a double word, so that the address for the last byte in each case differs from the respective start address by the constant value " 7 "differs. This means that the three least significant address bits can be neglected for the comparison.

Beginnt daher der jeweils zu überwachende Operandenbereich an einer Doppelwortgrenze, dann stimmen Anfangs- und Endadressenteil überein und festgestellte Operandenkonflikte sind echt. Beginnt dagegen der jeweils zu überwachende Operandenbereich innerhalb eines Doppelwortes und reicht über die nächste Doppelwortgrenze hinweg, dann unterscheiden sich die zu vergleichenden Adressenbits an der für den Vergleich herangezogenen niederwertigsten Bitstelle. In diesem Falle können Operandenkonflikte nach wie vor vorgetäuscht werden, da beide Vergleichadressen zusammen einen Bereich von 16 Byte erfassen und der zu schreibende Operand sich nicht mit dem durch die Adressen vorgegebenen, acht Byte umfassenden Operandenbereich zu überschneiden braucht. Jedoch ist der sich in diesem Falle ergebende Fehler verhältnismäßig klein und im Hinblick auf den geringen Aufwand für die Überwachung ohne weiteres vertretbar. Auch könnte die Fehlerwahrscheinlichkeit noch verringert werden, wenn man bei Operanden mit weniger als acht Byte die tatsächliche Operandenlänge anstatt der konstanten "7" addieren bzw. subtrahieren würde.The operand area to be monitored therefore begins on a double word boundary, then start and end address part match and operand conflicts determined are real. On the other hand, the begins monitoring operand area within a double word and extends beyond the next double word limit away, then the ones to be compared differ Address bits at the least significant used for the comparison Bit position. In this case, operand conflicts can occur still being faked as both Comparison addresses together have a range of 16 bytes and the operand to be written is not included the eight-byte specified by the addresses Need to overlap operand area. However the error that arises in this case is proportional small and in view of the little effort justifiable for monitoring. Could also the likelihood of errors being reduced, if you have the operands with less than eight bytes actual operand length instead of the constant "7" would add or subtract.

Für die Gültigkeitsüberwachung ist im vorliegenden Fall nur eine Kippstufe V-FF erforderlich, die beim Vorauslesen des Operanden gleichzeitig mit dem auch die Übernahme der Operandenadresse ins Register MCRO auslösenden Signal RO gesetzt wird und die bis zum Eintreffen des die erfolgreiche Beendigung des vorausgehenden Befehls im Befehlsausführungsprozessor EXU anzeigenden Signals TREND jeweils gesetzt bleibt, wenn nicht ein anderes Ereignis, wie zum Beispiel Widerruf des Lesezugriffs oder Zurücksetzen des Befehlsaufbereitungsprozessors PLU, die Operandenadresse ungültig macht.For the validity monitoring in the present case, only a flip-flop V-FF is required, which is set when the operand is read ahead simultaneously with the signal RO which also triggers the transfer of the operand address to the MCRO register and which remains until the successful completion of the preceding command in the command execution processor EXU indicating signal TREND remains set unless another event, such as revoking read access or resetting the command processing processor PLU , invalidates the operand address.

Das Setzausgangssignal der Kippstufe V-FF wird mit den beiden Ausgangssignalen der Vergleicher COMP 1 und COMP 2 in der logischen Schaltung VN verknüpft, die aus einem ODER-Glied mit nachgeschaltetem UND-Glied besteht, wie in Fig. 4 angedeutet. Nur bei gültiger Operandenadresse kann daher bei einem positiven Vergleichsergebnis ein Operandenkonfliktsignal OPCONF zur Sperrung des Befehlsaufbereitungsprozessors EXU und damit verbunden ein Sperrsignal PLUCONF für den Befehlsaufbereitungsprozessor PLU ausgelöst werden.The set output signal of the flip-flop V-FF is combined with the two output signals of the comparators COMP 1 and COMP 2 in the logic circuit VN , which consists of an OR gate with a downstream AND gate, as indicated in FIG. 4. Only if the operand address is valid can an operand conflict signal OPCONF to block the instruction preparation processor EXU and, in connection with this, a blocking signal PLUCONF for the instruction preparation processor PLU be triggered if the comparison result is positive.

Bei Fließbandstrukturen, bei denen die Operanden zu mehreren Befehlen im Voraus gelesen werden, müßte die Überwachungsschaltung von Fig. 4 entsprechend oft vorgesehen werden, wobei durch Zusatzmaßnahmen außerdem sichergestellt werden muß, daß entweder ein erkannter Operandenkonflikt erst dann zum Tragen kommt, wenn der zugehörige Befehl vom Befehlsaufbereitungsprozessor EXU bearbeitet werden soll oder aber der Operand nach Auftreten des Operandenkonflikts erneut im Voraus gelesen wird. Letzteres würde gleichfalls einen Eingriff in den Arbeitsablauf des Befehlsaufbereitungsprozessors PLU bedeuten.In the case of assembly line structures in which the operands for several instructions are read in advance, the monitoring circuit of FIG. 4 would have to be provided correspondingly often, and additional measures must also be taken to ensure that either a recognized operand conflict only comes into play when the associated instruction is to be processed by the command preparation processor EXU or the operand is read again in advance after the operand conflict has occurred . The latter would also mean an intervention in the workflow of the command processing processor PLU .

Nach allem ergibt sich gerade aus der Beschränkung auf das Auslesen nur eines einzigen Operanden für einen einzigen Befehl in Verbindung mit einer vereinfachten Vergleicherauswertung für die Operandenkonfliktüberwachung eine einfach und ausreichend schnell arbeitende Struktur ohne großen Aufwand.After all, it just results from the restriction on reading out only a single operand for a single one Command in connection with a simplified comparator evaluation for operand conflict monitoring a simple and sufficiently fast working structure without much effort.

Claims (7)

1. Schaltungsanordnung zur Bereinigung von Operandenkonflikten in nach dem Fließbandprinzip arbeitenden mikroprogrammgesteuerten Datenverarbeitungsanlagen mit einem Befehlsaufbereitungsprozessor (PLU) für Befehlslesen, Adressenrechnung und Speicheroperandenlesen, mit einem Befehlsausführungsprozessor (EXU) für die eigentliche Befehlsausführung und mit einem gemeinsamen aus Puffer- und Arbeitsspeicher bestehenden, jeweils in Seiten gleicher Größe unterteilten Speichersystem (CACHE/MM), wobei die Speicheradressen (M/L-AD) der im Vorgriff für eine Befehlsausführung gelesenen Speicheroperanden jeweils mit der Schreibadresse (M/S-AD) der vom Befehlsausführungsprozessor (EXU) in das Speichersystem (CACHE/MM) wieder einzuspeichernden Ergebnisse verglichen werden und bei Adressenübereinstimmung ein Konfliktsignal (OPCONF) ausgelöst wird, durch das die fortlaufende Befehlsausführung durch den Befehlsausführungsprozessor (EXU) vorübergehend unterbrochen wird, bis die für die nächste Befehlsausführung benötigten richtigen Operanden zur Verfügung stehen, dadurch gekennzeichnet, daß der Befehlsausführungsprozessor (EXU) aufgrund des Operandenkonfliktsignals (OPCONF) im Vorlauf zu den normalerweise auszuführenden Mikrobefehlen die benötigten Speicheroperanden anhand der mitgeteilten Operandenadressen jeweils selbst liest.1. Circuit arrangement for resolving operand conflicts in microprocessor-controlled data processing systems operating on the assembly line principle with a command preparation processor ( PLU ) for command reading, address calculation and memory operand reading , with a command execution processor ( EXU ) for the actual command execution and with a common buffer and working memory, each in Memory system ( CACHE / MM ) divided into pages of equal size, the memory addresses ( M / L-AD ) of the memory operands read in anticipation for an instruction execution each having the write address ( M / S-AD ) of the instruction execution processor ( EXU ) into the memory system ( CACHE / MM ) results to be stored again and a conflict signal ( OPCONF ) is triggered if the address matches , by which the continuous execution of the command by the command execution processor ( EXU ) is temporarily interrupted until the next The next correct execution of the required correct operands is available, characterized in that the instruction execution processor ( EXU ) reads the required memory operands itself based on the operand addresses given, based on the operand conflict signal ( OPCONF ) in advance of the microinstructions to be executed normally. 2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß vom Befehlsaufbereitungsprozessor (PLU) für jeden auszuführenden Maschinenbefehl jeweils nur einer der gegebenenfalls benötigten Speicheroperanden bzw. ein erster Teil desselben im Voraus gelesen und dem Befehlsausführungsprozessor (EXU) zur Verfügung gestellt wird, während der Rest des ersten Operanden und/oder ein gegebenenfalls benötigter zweiter Speicheroperand anhand der bereitgestellten Speicheroperandenadresse vom Befehlsausführungsprozessor (EXU) selbst gelesen wird.2. Circuit arrangement according to claim 1, characterized in that the command preparation processor ( PLU ) for each machine command to be executed only one of the memory operands or a first part thereof which may be required is read in advance and made available to the command execution processor ( EXU ), while the rest of the first operand and / or a possibly required second memory operand is read by the instruction execution processor ( EXU ) itself on the basis of the memory operand address provided. 3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß bei Auftreten des Operandenkonfliktsignals (OPCONF) sowohl der Befehlsaufbereitungsprozessor (PLU) als auch der Befehlsausführungsprozessor (EXU) ihren Arbeitsablauf für die Dauer eines Arbeitszyklus der jeweils zugehörigen Mikroprogrammsteuerungen (PCM-ST bzw ECM-ST) unterbrechen und daß der Befehlsausführungsprozessor (EXU) anhand des bereitgestellten Operationscodes für den auszuführenden Maschinenbefehl infolge des vorliegenden Operandenkonfliktsignals (OPCONF) ein Ersatzmikroprogramm der Mikroprogammsteuerung (ECM-ST) aufruft, das das Lesen der bzw. des ungültig gewordenen Speicheroperanden anhand der mitgeteilten Speicheradresse (M/L-AD) bewirkt, bevor in den zugehörigen Mikroprogrammablauf des auszuführenden Maschinenbefehls übergeleitet wird.3. Circuit arrangement according to claim 1 or 2, characterized in that when the operand conflict signal ( OPCONF ) occurs, both the command processing processor ( PLU ) and the command execution processor ( EXU ) their workflow for the duration of a working cycle of the associated microprogram controls ( PCM-ST or ECM -ST ) interrupt and that the instruction execution processor ( EXU ) uses the operational code provided for the machine instruction to be executed as a result of the operand conflict signal ( OPCONF ) to call a replacement microprogram of the microprogram controller ( ECM-ST ) which reads the memory operand ( s ) which have become invalid on the basis of the information given Memory address ( M / L-AD ) causes before the machine command to be executed is transferred to the associated microprogram sequence. 4. Schaltungsanordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß zur Ermittlung des Operandenkonfliktsignals (OPCONF) aus der Adresse (M/L-AD) des im Voraus gelesenen Speicheroperanden als Anfangsadresse jeweils eine von der zugehörigen Befehlsart (z. B. SSDEC) und der Länge (z. B. 8 Byte) des im Voraus gelesenen Operanden bzw. Operandenteils abhängige zweite Adresse (K-AD 2) gebildet wird, die das Ende des vom gelesenen Operanden belegten Speicherabschnittes kennzeichnet, und daß bei jeder vom Befehlsausführungsprozessor (EXU) bis zur Ausführung des im Voraus mit den bzw. dem zugehörigen Speicheroperanden bereitgestellten Maschinenbefehls veranlaßten Speicherschreiboperation überwacht wird, ob die Schreibadresse in den jeweils durch die beiden Kontrolladressen (M/L-AD und K-AD 2) für jeden im Voraus gelesenen Operanden festgelegten Bereich fällt.4. Circuit arrangement according to one of claims 1 to 3, characterized in that for determining the operand conflict signal ( OPCONF ) from the address ( M / L-AD ) of the previously read memory operand as the starting address each one of the associated command type (z. B. SSDEC ) and the length (e.g. 8 bytes) of the pre-read operand or operand part dependent second address ( K-AD 2 ) is formed, which marks the end of the memory section occupied by the read operand, and that each by the instruction execution processor ( EXU ) until the execution of the memory write operation initiated in advance with the associated memory operand ( s ) is monitored whether the write address in the respectively read by the two control addresses ( M / L-AD and K-AD 2 ) for each in advance Operand-defined area falls. 5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß vom Befehlsaufbereitungsprozessor (PLU) immer nur für einen im Voraus bereitgestellten Maschinenbefehl ein Speicheroperand von vorgegebener maximaler Länge (z. B. 8 Byte) bzw. ein erster Teil desselben mit entsprechender Länge im Voraus gelesen wird, dessen Speicheradresse (M/L-AD) in ein Kontrollregister (MCRO) abgespeichert wird, bis die Übergabe an den Befehlsausführungsprozessor (EXU) erfolgt ist, daß an den Ausgang des Registers (MCRO) ein Addier/Subtrahiernetzwerk (A/S) angeschlossen ist, das die zweite Kontrolladresse (K-AD 2) abhängig von der vorgegebenen Länge und von der Ausrichtungsrichtung liefert, und daß mit den Ausgängen des Kontrollregisters (MCRO) und des Addier/Subtrahiernetzwerkes (A/S) je ein Vergleicher (COMP 1 bzw. COMP 2) verbunden ist, denen jeweils die Speicheradresse (M/S-AD) für eine Schreiboperation durch den Befehlsausführungsprozessor (EXU) über zweite Adresseneingänge zugeführt wird.5. A circuit arrangement according to claim 4, characterized in that the instruction preparation processor ( PLU ) always reads a memory operand of a predetermined maximum length (for example 8 bytes) or a first part of the same with a corresponding length in advance only for a machine instruction provided in advance whose memory address ( M / L-AD ) is stored in a control register ( MCRO ) until the transfer to the command execution processor ( EXU ) has taken place, that an add / subtract network ( A / S ) to the output of the register ( MCRO ) is connected, which supplies the second control address ( K-AD 2 ) depending on the specified length and the direction of alignment, and that with the outputs of the control register ( MCRO ) and the add / subtract network ( A / S ) a comparator ( COMP 1 or COMP 2 ), each of which the memory address ( M / S-AD ) for a write operation by the command execution processor ( EXU ) via second address inputs nge is fed. 6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß die Überwachung lediglich anhand der für den jeweiligen Speicherbereich relevanten höherwertigen Adressenbits (z. B. 0 bis 28) erfolgt.6. Circuit arrangement according to claim 5, characterized in that the monitoring is carried out only on the basis of the higher-order address bits relevant for the respective memory area (for example 0 to 28 ). 7. Schaltungsanordnung nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, daß die Gültigkeit der jeweils maßgebenden Operandenadressen durch je ein bistabiles Schaltelement (z. B. V-FF) überwacht wird, das jeweils beim Lesen des Operanden gesetzt und am Ende des erfolgreich ausgeführten vorangehenden letzten Maschinenbefehls vom Befehlsausführungsprozessor (EXU) aus zurückgesetzt wird und das im gesetzten Zustand eine festgestellte Adressenübereinstimmung als Operandenkonfliktsignal (OPCONF) wirksam werden läßt.7. Circuit arrangement according to one of claims 4 to 6, characterized in that the validity of the relevant operand addresses is monitored by a bistable switching element (z. B. V-FF ), each set when reading the operand and successful at the end of executed previous last machine command is reset by the command execution processor ( EXU ) and which, when set, allows a determined address match to take effect as an operand conflict signal ( OPCONF ).
DE19863603240 1986-02-03 1986-02-03 Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle Granted DE3603240A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19863603240 DE3603240A1 (en) 1986-02-03 1986-02-03 Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19863603240 DE3603240A1 (en) 1986-02-03 1986-02-03 Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle

Publications (2)

Publication Number Publication Date
DE3603240A1 true DE3603240A1 (en) 1987-08-06
DE3603240C2 DE3603240C2 (en) 1988-05-26

Family

ID=6293250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863603240 Granted DE3603240A1 (en) 1986-02-03 1986-02-03 Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle

Country Status (1)

Country Link
DE (1) DE3603240A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994008287A1 (en) * 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US6230254B1 (en) 1992-09-29 2001-05-08 Seiko Epson Corporation System and method for handling load and/or store operators in a superscalar microprocessor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287531B (en) * 2018-01-10 2019-09-06 华中科技大学 A kind of improvement migratory bird optimization method for hybrid flow shop scheduling problem

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE-Z: Elektronische Rechenanlagen 1973, Heft 2, S. 60-65 *
US-Z.: Computing Surveys, Vol. 9, No. 1, März 1977, S. 70-73 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994008287A1 (en) * 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US5557763A (en) * 1992-09-29 1996-09-17 Seiko Epson Corporation System for handling load and/or store operations in a superscalar microprocessor
US5659782A (en) * 1992-09-29 1997-08-19 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US5987593A (en) * 1992-09-29 1999-11-16 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US6230254B1 (en) 1992-09-29 2001-05-08 Seiko Epson Corporation System and method for handling load and/or store operators in a superscalar microprocessor
US6434693B1 (en) 1992-09-29 2002-08-13 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US7000097B2 (en) 1992-09-29 2006-02-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US7844797B2 (en) 1992-09-29 2010-11-30 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US7861069B2 (en) 1992-09-29 2010-12-28 Seiko-Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor

Also Published As

Publication number Publication date
DE3603240C2 (en) 1988-05-26

Similar Documents

Publication Publication Date Title
DE1774296C2 (en) Restructurable control unit for electronic digital computers
DE2714805C2 (en)
DE1931966C3 (en) Data processing system with associative memories
DE2835095C2 (en) Digital computer system with a first and at least one second microprogrammed processor that can be coupled to one another
DE2715073C3 (en) Microprogrammed computer control device
DE2755616C2 (en) Data processing system
DE2117936A1 (en) Microprogram-controlled central unit of an electronic data processing system
DE2036729A1 (en) Digital data processor
EP0134831A1 (en) Arrangement in the command circuit of a pipe-line processor for instruction interrupt and report
EP1230590B1 (en) Processor system
DE4134392C2 (en) Method and apparatus for invalidating commands in devices with parallel processing
DE2418921C2 (en) Device for storing micro-programs in a data processing system
DE2617485B2 (en) Circuit arrangement for data processing systems for processing micro instruction sequences
DE2906685C2 (en)
DE3307194A1 (en) DATA PROCESSING SYSTEM
DE3121046A1 (en) ARITHMETIC LOGIC UNIT WITH BIT MANIPULATION
DE3603240A1 (en) Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle
DE2710436C2 (en) Data processing device
DE3931505C2 (en) Memory control in a data processing system
DE2847479A1 (en) TEMPLATE FAMILY INTERFACE DEVICE
DE2230727B2 (en) CIRCUIT ARRANGEMENT FOR DYNAMIC ALLOCATION OF MEMORY CYCLES WITH PRIORITY CONTROL
DE2622140C3 (en) Device for controlling manual operations
DE2936801C2 (en) Control device for executing instructions
DE4010896A1 (en) METHOD FOR PROCESSING SYNCHRONIZATION COMMANDS IN A COMPUTER SYSTEM
DE2737505C2 (en) Method for synchronizing processors of a data processing system with a multi-level memory system and circuit arrangement for carrying out the method

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee