DE10065752A1 - Computer program execution with instructions reordered to speed execution, relating particularly to multi-processor systems, in which certain instructions are prevented from being run out of sequence to preserve data integrity - Google Patents

Computer program execution with instructions reordered to speed execution, relating particularly to multi-processor systems, in which certain instructions are prevented from being run out of sequence to preserve data integrity

Info

Publication number
DE10065752A1
DE10065752A1 DE2000165752 DE10065752A DE10065752A1 DE 10065752 A1 DE10065752 A1 DE 10065752A1 DE 2000165752 DE2000165752 DE 2000165752 DE 10065752 A DE10065752 A DE 10065752A DE 10065752 A1 DE10065752 A1 DE 10065752A1
Authority
DE
Germany
Prior art keywords
instructions
instruction
memory
predetermined
data memory
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.)
Ceased
Application number
DE2000165752
Other languages
German (de)
Inventor
Bernhard Westermaier
Juergen Gross
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.)
Fujitsu Technology Solutions GmbH
Original Assignee
Fujitsu Technology Solutions GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Technology Solutions GmbH filed Critical Fujitsu Technology Solutions GmbH
Priority to DE2000165752 priority Critical patent/DE10065752A1/en
Publication of DE10065752A1 publication Critical patent/DE10065752A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Method for controlling a computer system (1) in which a number of instructions (2) are loaded into a computer unit (3) from a program memory (4). The instructions are not necessarily loaded in sequence. A single instruction (6) that makes a particular write access to a data memory (8) limits the reordering (9) of instructions in a predetermined manner. Independent claims are included for (1) a corresponding computer system (2) a computer program that runs on such a computer.

Description

Die vorliegende Anmeldung betrifft ein Verfahren zur Steue­ rung eines Computersystems, ein Computersystem mit einer Aus­ führungseinheit sowie ein Computerprogrammprodukt, welches auf einem computergeeigneten Medium gespeichert ist.The present application relates to a method for taxation tion of a computer system, a computer system with an off management unit and a computer program product, which is stored on a computer-compatible medium.

Computersysteme mit herkömmlichen Prozessoren zeichnen sich dadurch aus, daß der Prozessor (Recheneinheit) Instruktionen aus einem Befehlsspeicher lädt und diese in der Reihenfolge abarbeitet, wie sie in dem Befehlsspeicher gespeichert sind. Dadurch ist stets sichergestellt, daß ein Speicher-Schreib- Befehl, der in der Reihenfolge in dem Befehlsspeicher vor ei­ nem Speicher-Lese-Befehl angeordnet ist, auch vor dem Spei­ cher-Lese-Befehl ausgeführt wird, so daß die Daten bereits in dem Datenspeicher gespeichert sind und der Speicher-Lese- Befehl die tatsächlich aktuellen Daten aus dem Speicher er­ hält.Computer systems with conventional processors stand out characterized in that the processor (arithmetic unit) instructions loads from a command memory and this in order processes how they are stored in the command memory. This always ensures that a memory write Command that is in order in the command memory before ei NEM memory read command is arranged, also before the Spei cher read command is executed so that the data is already in the data memory are stored and the memory read Command the actual current data from the memory holds.

Modernere Prozessoren weisen beispielsweise mehrere parallele Rechenwerke auf, so daß Befehle in ihrer Abarbeitungsreihen­ folge vertauscht werden können, um in einer parallelen Re­ cheneinheit ausgeführt zu werden, wodurch die Gesamtverarbei­ tungsleistung des Prozessors steigt.For example, more modern processors have several parallel ones Arithmetic units so that commands in their processing rows sequence can be interchanged to in a parallel re unit to be executed, thereby reducing the overall processing performance of the processor increases.

Problematisch ist hierbei, daß Befehle in ihrer Reihenfolge vertauscht werden, wodurch Dateninkonsistenzen entstehen kön­ nen. Dies ist beispielsweise der Fall, wenn in einem ersten Prozessor ein Ergebnis berechnet wird und die korrekte Be­ rechnung des Ergebnisses nachfolgend in einem Signalfeld an­ gezeigt wird. Ein zweiter Prozessor greift nun erst dann auf das von dem ersten Prozessor berechnete Ergebnis zu, wenn das Signalfeld anzeigt, daß das Ergebnis korrekt und vollständig berechnet wurde. Wird nun die Reihenfolge der Abarbeitung in dem ersten Prozessor vertauscht, so kann das Signalfeld ein vermeintlich gültig berechnetes Ergebnis anzeigen, obwohl der erste Prozessor dieses Ergebnis noch nicht berechnet hat. Folglich werden in dem zweiten Prozessor falsche Daten wei­ terverarbeitet. Dieses Problem kann beispielsweise dadurch gelöst werden, daß bei dem modernen Prozessor die parallele Abarbeitung bzw. Vertauschung der Reihenfolge der Abarbeitung generell unterdrückt wird. Dies führt allerdings zu einer we­ sentlich reduzierten Rechenleistung des Computersystems.The problem here is that commands are in their order are exchanged, which can result in data inconsistencies NEN. This is the case, for example, if in a first Processor a result is calculated and the correct loading the result is subsequently calculated in a signal field will be shown. Only then does a second processor take action the result calculated by the first processor if that Signal field indicates that the result is correct and complete was calculated. Now the order of execution in  swapped the first processor, the signal field can Show supposedly valid calculated result, although the first processor has not yet calculated this result. As a result, incorrect data becomes white in the second processor further processed. This problem can be caused by this, for example be solved that in the modern processor the parallel Processing or swapping the order of processing is generally suppressed. However, this leads to a we considerably reduced computing power of the computer system.

Es ist die Aufgabe der Erfindung ein Verfahren zur Steuerung eines Computersystems anzugeben, das zu einer effizienteren Arbeitsweise des Computersystems führt, ein entsprechendes Computersystem mit einer Ausführungsumgebung anzugeben und ein entsprechendes Computerprogrammprodukt anzugeben.It is the object of the invention to provide a control method to specify a computer system that becomes more efficient Operation of the computer system leads to a corresponding Specify computer system with an execution environment and to specify a corresponding computer program product.

Erfindungsgemäß wird die Aufgabe gelöst durch ein Verfahren zur Steuerung eines Computersystems, bei dem eine Vielzahl von Instruktionen von einer Recheneinheit aus einem Befehls­ speicher geladen wird, die abweichend von ihrer Reihenfolge im Befehlsspeicher von der Recheneinheit ausgeführt werden, und eine Instruktion, die einen vorbestimmten Zugriff auf ei­ nen vorbestimmten Datenspeicher beinhaltet, eine Umsortierung der Instruktionen in einer vorbestimmten Weise einschränkt.According to the invention, the object is achieved by a method to control a computer system in which a variety instructions from an arithmetic unit from a command memory is loaded, which is different from their order are executed in the command memory by the computing unit, and an instruction that provides predetermined access to egg includes a predetermined data storage, a resort which restricts instructions in a predetermined manner.

Ein Vorteil der erfindungsgemäßen Lösung besteht darin, daß die Instruktionen in dem Befehlsspeicher größtenteils in ih­ rer Reihenfolge vertauschbar sind, wodurch die hohe Lei­ stungsfähigkeit moderner Prozessoren mit paralleler Verarbei­ tung in parallelen Einheiten sowie Vertauschung von Instruk­ tionen ausgeschöpft werden kann. Darüber hinaus wird zu den Instruktionen in dem Befehlsspeicher, die beispielsweise für eine Datenintegrität entscheidend sind, die Umsortierung von Instruktionen in einer vorbestimmten Weise eingeschränkt.An advantage of the solution according to the invention is that the instructions in the instruction memory mostly in ih order are interchangeable, which makes the high lei Ability of modern processors with parallel processing parallel units and exchange of instructions tion can be exhausted. In addition, the Instructions in the instruction memory, for example for data integrity is crucial, the resorting of Instructions restricted in a predetermined manner.

Eine Ausgestaltung des erfindungsgemäßen Verfahrens sieht vor, daß bei einer Deklaration des Typs des Datenspeichers vorbestimmt wird, welcher Art die Einschränkung der Umsortie­ rung der Instruktionen ist. Dies hat den Vorteil, daß die Einschränkung der Umsortierung an einen Datentyp gekoppelt sein kann, der in einer Datentyp-Deklaration festgelegt wird. Dadurch ist beispielsweise ermöglicht, daß ein Compiler, ein Interpreter oder der Prozessor selbst bei einem Zugriff auf den deklarierten Datenspeicher automatisch die Einschränkung der Umsortierung von Instruktionen vornimmt. Dies hat den Vorteil, daß ausgeschlossen werden kann, daß einzelne Zugrif­ fe übersehen werden.An embodiment of the method according to the invention provides before declaring the type of data storage  the type of restriction of the relocation is predetermined instructions. This has the advantage that the Restriction of the resorting coupled to a data type that can be specified in a data type declaration. This enables, for example, that a compiler, a Interpreter or the processor itself when accessing the declared data store automatically the restriction reordering instructions. This has the Advantage that it can be excluded that individual access fe overlooked.

Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens sieht vor, daß die vorbestimmte Weise der ein­ schränkenden Umsortierung umfaßt, daß die Instruktion, die den vorbestimmten Zugriff auf den vorbestimmten Datenspeicher beinhaltet, eine Grenze bildet, wobei alle Instruktionen, die vor der grenzbildenden Instruktion im Programmspeicher ange­ ordnet sind und einen Speicher-Schreib-Zugriff umfassen, aus­ geführt sind, bevor die grenzbildende Instruktion ausgeführt ist. Hierdurch ist in vorteilhafter Weise ermöglicht, daß al­ le Instruktionen vor der grenzbildenden Instruktion vollstän­ dig abgearbeitet sind, bevor die grenzbildende Instruktion ausgeführt wird. Handelt es sich bei der grenzbildenden In­ struktion beispielsweise um den Zugriff auf ein Signalfeld, so kann das Signalfeld beispielsweise dazu verwendet werden um sicherzustellen, daß alle im Programm vor dem Zugriff auf das Signalfeld angeordneten Instruktionen mit Sicherheit ab­ gearbeitet sind, bevor das Signalfeld einen Signalwert er­ hält.Another advantageous embodiment of the invention The method provides that the predetermined manner of one restrictive resorting that includes the instruction that the predetermined access to the predetermined data memory involves forming a boundary, with all instructions that before the boundary-forming instruction in the program memory are arranged and comprise a memory write access are carried out before the boundary-forming instruction is executed is. This advantageously enables al Complete instructions before the boundary instruction dig are processed before the boundary instruction is performed. Is it the border-forming In structure, for example, to access a signal field, for example, the signal field can be used for this purpose to make sure everyone in the program is accessing instructions arranged from the signal field with certainty are worked before the signal field has a signal value holds.

Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens sieht vor, daß die vorbestimmte Weise der einge­ schränkten Umsortierung umfaßt, daß die Instruktion, die den vorbestimmten Zugriff auf den vorbestimmten Datenspeicher be­ inhaltet, eine Grenze bildet, wobei keine Instruktion, die nach der grenzbildenden Instruktion im Programmspeicher ange­ ordnet ist, ausgeführt wird, bevor die grenzbildende Instruktion ausgeführt ist. Hierdurch ist in vorteilhafter Weise si­ chergestellt, daß keine der auf die grenzbildende Instruktion folgenden Instruktionen ausgeführt wird, bevor die grenzbil­ dende Instruktion ausgeführt ist. Dies ermöglicht, daß ein Prozeß mit der Weiterverarbeitung wartet, bis ein Signalwert tatsächlich angezeigt wird.Another advantageous embodiment of the invention The method provides that the predetermined manner of the Restricted resorting includes the instruction that the predetermined access to the predetermined data memory contains a boundary, with no instruction that after the boundary-forming instruction in the program memory is arranged, is executed before the boundary-forming instruction  is executed. This is si in an advantageous manner made sure that none of the instructions on the boundary following instructions are carried out before the Grenzbil end instruction is executed. This enables a Processing process waits until a signal value is actually displayed.

Eine weitere Verfahrensvariante des erfindungsgemäßen Verfah­ ren sieht vor, daß die vorbestimmte Weise der eingeschränkten Umsortierung umfaßt, daß die Instruktion, die den vorbestimm­ ten Zugriff auf den vorbestimmten Datenspeicher beinhaltet, eine Grenze bildet, über die hinweg keine für andere Prozes­ soren oder Prozesse sichtbare Vertauschung in der Reihenfolge der Abarbeitung der Instruktionen erfolgt. Hierdurch ist si­ chergestellt, daß eine sichtbare Vertauschung von Instruktio­ nen über die grenzbildende Instruktion hinweg ausgeschlossen ist, so daß Programmteile strikt getrennt werden können. Eine sichtbare Vertauschung beinhaltet beispielsweise die Vertau­ schung der Abarbeitungsreihenfolge von Instruktionen bezie­ hungsweise die Vertauschung des Abschusses der Abarbeitung einer Instruktion, die für andere Prozessoren oder Prozesse sichtbar wird.Another method variant of the method according to the invention ren provides that the predetermined manner of restricted Resorting includes that the instruction that the predetermined includes access to the predetermined data storage, forms a boundary that no other processes can cross sensors or processes visible swapping in the order the instructions are processed. This is si made a visible exchange of instruction excluded beyond the boundary-forming instruction is so that program parts can be strictly separated. A visible swapping includes, for example, the confusion order processing of instructions or for example, the exchange of the shot of the execution an instruction for other processors or processes becomes visible.

Weiterhin sieht das erfindungsgemäße Verfahren vor, daß es sich bei dem vorbestimmten Zugriff auf den vorbestimmten Da­ tenspeicher um eine Leseoperation handelt, die eine in den Datenspeicher gespeicherte Information ausliest. Damit ist die Einschränkung der Vertauschung speziell für eine Leseope­ ration festlegbar. Im folgenden wird unter Vertauschung auch die Sichtbarkeit der Vertauschung für andere Prozessoren oder Prozesse verstanden.Furthermore, the method according to the invention provides that it the predetermined access to the predetermined Da memory is a read operation that one in the Reads out data stored in the data memory. So that is the restriction of the exchange especially for a reading ope ration definable. The following is swapped too the visibility of the swap for other processors or Processes understood.

Eine weitere Ausgestaltung des erfindungsgemäßen Verfahrens sieht vor, daß es sich bei dem vorbestimmten Zugriff auf den vorbestimmten Datenspeicher um eine Schreiboperation handelt, welche eine Information in den Datenspeicher schreibt. Damit ist die Einschränkung der Vertauschung speziell für eine Schreiboperation festgelegt. Ebenso ist es möglich, daß für Schreiboperationen und für Leseoperationen auf einen Daten­ speicher unterschiedliche Einschränkungen der Vertauschbar­ keit von Instruktionen gelten.Another embodiment of the method according to the invention provides that the predetermined access to the predetermined data storage is a write operation, which writes information into the data memory. In order to is the restriction of the exchange especially for one  Write operation set. It is also possible that for Write operations and for read operations on a data store different interchangeable restrictions instructions.

Bezüglich des Computersystems wird die Aufgabe gelöst durch ein Computersystem mit einer Ausführungsumgebung, in der eine Vielzahl von Instruktionen in einem Befehlsspeicher zur Ver­ arbeitung in einer Recheneinheit gespeichert sind, wobei die Recheneinheit Mittel aufweist, die zur Vertauschung der Bear­ beitungsreihenfolge der Instruktionen in der Recheneinheit geeignet sind und Mittel aufweist, welche die Umsortierung der Instruktionen in einer vorbestimmten Weise einschränkt.With regard to the computer system, the task is solved by a computer system with an execution environment in which a Variety of instructions in an instruction memory for ver work are stored in a computing unit, the Computing unit has means for swapping the Bear Processing order of the instructions in the computing unit are suitable and have means which the resorting which restricts instructions in a predetermined manner.

Das erfindungsgemäße Computersystem ermöglicht die Vertau­ schung und parallele Abarbeitung von Instruktionen, die in einem Befehlsspeicher gespeichert sind. Dies führt zu einer beschleunigten Abarbeitung der in dem Befehlsspeicher gespei­ cherten Instruktionen, wobei durch zusätzliche Mittel sicher­ gestellt ist, daß die Umsortierung der Instruktionen in einer vorbestimmten Weise eingeschränkt ist. Hierdurch wird ermög­ licht, daß eine Dateninkonsistenz während der Abarbeitung der Instruktionen vermieden wird.The computer system according to the invention enables stowage research and parallel processing of instructions in an instruction memory are stored. This leads to a accelerated execution of the stored in the command memory instructions, being safe by additional means is that the reordering of the instructions in one predetermined manner is restricted. This enables light that a data inconsistency during the processing of the Instructions are avoided.

Eine Ausgestaltung des Computersystems sieht vor, daß die Mittel zur Einschränkung der Umsortierung von Instruktionen so ausgebildet sind, daß eine Vertauschung der Reihenfolge der Abarbeitung über eine Grenze hinweg nicht erfolgt, wobei die Grenze durch einen vorbestimmten Zugriff auf einen vorbe­ stimmten Datenspeicher gebildet wird.An embodiment of the computer system provides that the Means for restricting the reordering of instructions are designed so that the order is reversed processing is not carried out across a border, whereby the limit by predetermined access to one agreed data storage is formed.

Bezüglich des Computerprogrammprodukts wird die Aufgabe ge­ löst durch ein Computerprogrammprodukt, das direkt in den in­ tegrierten Speicher eines digitalen Computers geladen werden kann und Softwarecode-Abschnitte aufweist, mit denen die Schritte gemäß einem der Ansprüche 1-7 ausgeführt werden, wenn das Produkt auf einem Computer läuft. With regard to the computer program product, the task is ge solves by a computer program product that is directly in the tegrated memory of a digital computer can and has sections of software code with which the Steps according to one of claims 1-7 are carried out, when the product is running on a computer.  

Weiterhin wird die Aufgabe gelöst durch ein Computerprogramm­ produkt, das auf einem computergeeigneten Medium gespeichert ist und folgendes umfaßt:
Computerlesbare Programmittel, die einen Computer veranlas­ sen, Instruktionen aus einem Befehlsspeicher in eine Rechen­ einheit zu laden und abweichend von ihrer Reihenfolge im Be­ fehlsspeicher von der Recheneinheit auszuführen, wobei eine Instruktion, die einen vorbestimmten Zugriff auf einen vorbe­ stimmten Datenspeicher beinhaltet, eine Umsortierung der In­ struktionen in einer vorbestimmten Weise einschränkt.
Furthermore, the object is achieved by a computer program product which is stored on a computer-suitable medium and comprises the following:
Computer-readable program means that cause a computer to load instructions from a command memory into a computing unit and to execute them differently from their order in the command memory by the computing unit, an instruction that includes a predetermined access to a predetermined data memory, a rearrangement of the Restrictions in structures in a predetermined manner.

Ein vorteilhaftes Computerprogrammprodukt weist die Eigen­ schaft auf, daß die Instruktion, die einen vorbestimmten Zu­ griff auf einen vorbestimmten Datenspeicher beinhaltet, eine Grenze bildet, über die hinweg keine Vertauschung in der Rei­ henfolge der Abarbeitung der Instruktionen erfolgt.An advantageous computer program product has its own shaft that the instruction that a predetermined Zu access to a predetermined data storage includes a Border forms over which there is no confusion in the row the instructions are processed.

Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.Advantageous embodiments of the invention are the subject of the respective subclaims.

Nachfolgend wird die Erfindung anhand von Ausführungsbeispie­ len und Figuren näher erläutert.The invention is described below with reference to exemplary embodiments len and figures explained in more detail.

In den Figuren zeigen:The figures show:

Fig. 1 ein Computersystem mit einer Recheneinheit und ei­ nem Programmspeicher sowie einem Datenspeicher und einer zweiten Recheneinheit mit einem zweiten Be­ fehlsspeicher; Fig. 1, a computer system with a computer unit and ei nem program memory and a data memory and a second processor with a second Be fail memory;

Fig. 2 den Befehlsspeicher aus Fig. 1; FIG. 2 shows the instruction memory from FIG. 1;

Fig. 3 den Ablauf eines Verfahrens: Fig. 3 shows the flow of a process:

In Fig. 1 ist ein Computersystem 1 dargestellt. Das Compu­ tersystem 1 umfaßt eine Recheneinheit 3, die mit einem Befehlsspeicher 4 und einem Datenspeicher 19 verbunden ist. Weiterhin ist eine zweite Recheneinheit 15 angeordnet, die mit einem zweiten Befehlsspeicher 16 und ebenfalls mit dem Datenspeicher 19 verbunden ist. In dem Befehlsspeicher 4 der ersten Recheneinheit 3 ist eine Vielzahl von Instruktionen 2 gespeichert. Die in dem Befehlsspeicher 4 gespeicherten In­ struktionen weisen eine Reihenfolge 5 auf. Die Reihenfolge 5 sieht vor, daß nach einer Instruktion C1 die Instruktion C2, nachfolgend die Instruktionen C3, CN, die Instruktion 20, die Instruktion 6 und die Instruktion 21 angeordnet sind. Die In­ struktionen 2 aus dem Befehlsspeicher 4 werden in der Reihen­ folge 5 an die Recheneinheit 3 übermittelt. Hierbei gelangt die Instruktion C1 vor der Instruktion C2 in die Rechenein­ heit 3. Die Intention des im Befehlsspeicher 4 abgelegten Programmes - bestehend aus der Befehlsreihenfolge C1-CN, Befehl 20, Befehl 6 und Befehl 21 - beinhaltet, daß in dem ersten Berechnungsschritt C1 ein Teil eines ersten Ergebnis­ ses SPX berechnet wird. In dem zweiten Berechnungsschritt C2 wird ein weiteres Teilergebnis zu dem ersten Ergebnis SPX be­ rechnet. Nachfolgend wird ein weiteres Teilergebnis zu dem ersten Ergebnis SPX in dem Berechnungsschritt C3 ermittelt. Nach Ausführung weiterer Instruktionen wird ein n-ter Berech­ nungsschritt CN zur Berechnung des ersten Ergebnisses SPX durchgeführt. Anschließend ist vorgesehen, daß das erste Er­ gebnis SPX mittels eines Speicherbefehls 20 in den Datenspei­ cher 19 an die dem ersten Ergebnis SPX zugeordnete Speicher­ zelle 17 gespeichert wird. Nach dem Speichervorgang von dem ersten Ergebnis SPX wird durch die Instruktion 6 ein Signal­ feld SP1 von der Recheneinheit 3 in dem Datenspeicher 19 an einem vorbestimmten Datenspeicher 8 gespeichert. Im Pro­ grammablauf ist das Signalfeld SP1 dazu geeignet, in dem Da­ tenspeicher 19 an der vorbestimmten Datenspeicherstelle 8 ein Signal zu speichern, welches anzeigt, daß die Berechnung des ersten Ergebnisses SPX mit Sicherheit abgeschlossen ist. Nachfolgend erhält die Recheneinheit 3 den Berechnungsbefehl 21, der zur Berechnung eines zweiten Ergebnisses SPY dient. In dem Datenspeicher 19 ist nun zunächst das erste Ergebnis SPX an der Speicherzelle des ersten Berechnungsergebnisses 17 gespeichert. Nachfolgend wurde an der vorbestimmten Daten­ speicherstelle 8 das Signalfeld SP1 gespeichert, welches an­ zeigt, daß die Berechnung des ersten Ergebnisses SPX abge­ schlossen ist.In Fig. 1, a computer system 1 is shown. The computer system 1 comprises a computing unit 3 which is connected to a command memory 4 and a data memory 19 . Furthermore, a second computing unit 15 is arranged, which is connected to a second instruction memory 16 and also to the data memory 19 . A large number of instructions 2 are stored in the command memory 4 of the first arithmetic unit 3 . The instructions stored in the instruction memory 4 have an order 5 . The order 5 provides that after an instruction C1, the instruction C2, subsequently the instructions C3, CN, the instruction 20 , the instruction 6 and the instruction 21 are arranged. The instructions 2 from the command memory 4 are transmitted in sequence 5 to the computing unit 3 . In this case, instruction C1 arrives in arithmetic unit 3 before instruction C2. The intention of the program stored in the command memory 4 - consisting of the command sequence C1-CN, command 20 , command 6 and command 21 - includes that part of a first result ses SPX is calculated in the first calculation step C1. In the second calculation step C2, a further partial result is calculated for the first result SPX. A further partial result for the first result SPX is subsequently determined in the calculation step C3. After executing further instructions, an nth calculation step CN is carried out to calculate the first result SPX. It is then provided that the first result SPX is stored by means of a memory command 20 in the data memory 19 to the memory cell 17 associated with the first result SPX. After the storage process of the first result SPX, the instruction 6 stores a signal field SP1 from the computing unit 3 in the data memory 19 at a predetermined data memory 8 . In the program sequence, the signal field SP1 is suitable for storing a signal in the data memory 19 at the predetermined data storage location 8 , which indicates that the calculation of the first result SPX has been completed with certainty. The computing unit 3 subsequently receives the calculation command 21 , which is used to calculate a second result SPY. The first result SPX is now first stored in the data memory 19 in the memory cell of the first calculation result 17 . Subsequently, the signal field SP1 was stored at the predetermined data storage location 8 , which indicates that the calculation of the first result SPX has been completed.

In dem zweiten Befehlsspeicher 16 ist ein Überprüfungsbefehl 22, ein Lesebefehl 23 und ein Verwendungsbefehl 24 gespei­ chert. Die zweite Recheneinheit 15 erhält zunächst den Über­ prüfungsbefehl 22, mit dem überprüft wird, ob das Signalfeld SP1 in dem vorbestimmten Datenspeicher 8 gesetzt ist. Falls dies der Fall ist, wird mit dem Lesebefehl 23 das von der er­ sten Recheneinheit 3 berechnete erste Ergebnis SPX aus der Speicherzelle des ersten Berechnungsergebnisses 17 des Daten­ speichers 19 gelesen. In einem anschließenden Verwendungs- Berechnungsschritt 24 wird das erste Ergebnis SPX in der zweiten Recheneinheit zur weiteren Berechnung 3 verwendet. Die Instruktionen im zweiten Befehlsspeicher 16 sind in einer zweiten Reihenfolge 25 angeordnet. Damit die ordnungsgemäße Abarbeitung des Programms gewährleistet ist, muß zum einen sichergestellt sein, daß das erste Ergebnis SPX von der Re­ cheneinheit 3 bereits gespeichert ist, wenn das Signalfeld SP1 in dem Datenspeicher 19 gespeichert wird. Auf der anderen Seite muß bei der zweiten Recheneinheit 15 sichergestellt sein, daß zunächst der Überprüfungsschritt 22 so lange durch­ führt wird, bis das erste Signalfeld SP1 in dem vorbestimmten Datenspeicher 8 gespeichert ist. Erst anschließend können die korrekten Daten des ersten Ergebnisses SPX aus der Speicher­ zelle 17 des ersten Berechnungsergebnisses gelesen werden.A check command 22 , a read command 23 and a use command 24 are stored in the second command memory 16 . The second arithmetic unit 15 first receives the check command 22 , which is used to check whether the signal field SP1 is set in the predetermined data memory 8 . If this is the case, with the read command 23 the first result SPX calculated by the first arithmetic unit 3 is read from the memory cell of the first calculation result 17 of the data memory 19 . In a subsequent use calculation step 24 , the first result SPX is used in the second arithmetic unit for further calculation 3 . The instructions in the second instruction memory 16 are arranged in a second order 25 . In order for the proper execution of the program to be ensured, it must be ensured, on the one hand, that the first result SPX is already stored by computing unit 3 when signal field SP1 is stored in data memory 19 . On the other hand, it must be ensured in the second arithmetic unit 15 that the checking step 22 is first carried out until the first signal field SP1 is stored in the predetermined data memory 8 . Only then can the correct data of the first result SPX be read from the memory cell 17 of the first calculation result.

Moderne Recheneinheiten erlauben nun, daß die in dem Befehls­ speicher 4 bzw. die in dem zweiten Befehlsspeicher 16 gespei­ cherten Befehle in die Recheneinheit 3 bzw. die zweite Re­ cheneinheit 15 geladen und dort in einer abgewandelten Rei­ henfolge ausgeführt werden, abgeschlossen werden oder für an­ dere Prozessoren oder Prozesse sichtbar werden. Hierdurch könnte der Fehler auftreten, daß die Instruktion 6, die das Signalfeld SP1 schreibt, mit dem Speicherbefehl 20 vertauscht wird, so daß die in dem Datenspeicher 19 gespeicherten Daten, die an der Speicherzelle 17 gespeichert sind, bereits für gültig erklärt werden, bevor der tatsächlich gültige Wert dort gespeichert ist. Ebenso gilt für die zweite Rechenein­ heit 15, daß eine Vertauschung des Überprüfungsbefehls 22 und des Lesebefehls 23 dazu führen kann, daß aus der Speicherzel­ le 17 des Datenspeichers 19 eine ungültige Berechnung des er­ sten Ergebnisses SPX gelesen wird, da die Überprüfung mit dem Überprüfungsbefehl 22 erst nachfolgende stattfindet.Modern computing units now allow that the commands stored in the command memory 4 or the commands stored in the second command memory 16 are loaded into the computing unit 3 or the second computing unit 15 and executed there in a modified order, be completed or for on whose processors or processes become visible. This could result in the error that the instruction 6 , which writes the signal field SP1, is interchanged with the store command 20 , so that the data stored in the data store 19 , which are stored in the memory cell 17 , are already declared valid before the actually valid value is stored there. It also applies to the second arithmetic unit 15 that interchanging the check command 22 and the read command 23 can lead to an invalid calculation of the first result SPX being read from the memory cell 17 of the data memory 19 , since the check with the check command 22 only subsequent one takes place.

Beispielsweise kann dem Signalfeld SP1 und damit dem vorbe­ stimmten Datenspeicher 8 eine Eigenschaft zugeordnet werden, die eine Umsortierung 9 von Instruktionen 2 in einer vorbe­ stimmten Weise einschränkt. In dem Befehlsspeicher 4 ist bei­ spielsweise die Einschränkung sinnvoll, daß alle vor der In­ struktion 6 angeordneten Instruktionen abgearbeitet sein müs­ sen, bevor die Instruktion 6 abgearbeitet ist. Dies würde beispielsweise ermöglichen, daß der Berechnungsbefehl 21 zur Berechnung des zweiten Ergebnisses SPY durchaus vor der In­ struktion 6 ausgeführt werden kann. Eine stringentere Ein­ schränkung der Umsortierung kann hier vorsehen, daß auch die­ se Vertauschung ausgeschlossen ist. Dies würde bedeuten, daß alle vor der Instruktion 6 angeordneten Instruktionen abgear­ beitet sind, bevor die Instruktion 6 abgearbeitet ist und daß erst nach der abgeschlossenen Abarbeitung der Instruktion 6 die der Instruktion 6 nachfolgenden Instruktionen abgearbei­ tet werden.For example, the signal field SP1 and thus the predetermined data memory 8 can be assigned a property which restricts a re-sorting 9 of instructions 2 in a predetermined manner. In the instruction memory 4, the restriction is at the pitch sense that all constructive tion before in 6 arranged instructions to be executed Müs sen before the instruction is executed. 6 This would make it possible, for example, for the calculation command 21 to calculate the second result SPY to be executed before the instruction 6 . A more stringent restriction of the re-sorting can provide that this mix-up is also excluded. This would mean that all arranged in front of the instruction 6 instructions are these is processed before the instruction is executed 6 and that the instruction following 6 instructions are tet abgearbei only after completed execution of the instruction. 6

Bezüglich der in dem zweiten Befehlsspeicher 16 angeordneten Instruktionen sieht eine vorbestimmte Weise der Einschränkung der Umsortierung von Instruktionen vor, daß keine der nach dem Überprüfungsbefehl 22 angeordneten Instruktionen ausge­ führt wird, bevor der Überprüfungsbefehl 22 ausgeführt ist. Dies schließt nicht aus, daß vor dem Überprüfungsbefehl 22 in dem zweiten Befehlsspeicher 16 Instruktionen angeordnet sind, die noch nicht ausgeführt sind. Concerning arranged in the second command storage 16 instructions provides a predetermined manner of restricting the reordering of instructions that none of the arranged after the monitoring command 22 instructions will be executed before the inspection command is executed 22nd This does not exclude that instructions which have not yet been executed are arranged in the second instruction memory 16 before the check instruction 22 .

Durch die Attributierung des vorbestimmten Datenspeichers 8 ist es nun möglich, jede Verwendung des vorbestimmten Daten­ speichers 8 in dem ersten Befehlsspeicher 4 bzw. dem zweiten Befehlsspeicher 16 als vorbestimmte Einschränkung der Umsor­ tierung von Instruktionen zu verwenden.By attributing the predetermined data memory 8 , it is now possible to use each use of the predetermined data memory 8 in the first command memory 4 or the second command memory 16 as a predetermined restriction on the reordering of instructions.

In Fig. 2 ist der Befehlsspeicher 4 dargestellt. Der Be­ fehlsspeicher 4 umfaßt die Vielzahl von Instruktionen 2. In dem Befehlsspeicher 4 ist der Speicherbefehl 20 und nachfol­ gend die Instruktion 6 angeordnet. Zwischen dem Speicherbe­ fehl 20 und der Instruktion 6 ist eine Grenze 12 gebildet. Vor der Grenze 12 ist eine Vielzahl von Instruktionen 13 und nach der Grenze 12 ist eine Vielzahl von Instruktion 14 ange­ ordnet. Weiterhin ist eine Umsortierung 9 des Speicherbefehls 20 und der Instruktion 6 dargestellt, die erfindungsgemäß durch die Grenze 12 in einer vorbestimmten Weise einge­ schränkt wird. Eine Vertauschung des ersten Berechnungs­ schrittes C1 zur Berechnung des ersten Ergebnisses SPX mit dem zweiten Berechnungsschritt C2 könnte von der Rechenein­ heit 3 unter der Maßgabe der Wahrung der Datenkonsistenz durchgeführt werden. Hierbei ist lediglich darauf zu achten, daß der zweite Berechnungsschritt C2 unabhängig von dem er­ sten Berechnungsschritt C1 durchgeführt werden kann. Die Ver­ tauschung findet innerhalb der Recheneinheit 3 statt, so daß die Recheneinheit 3 selbst die Wahrung der Datenkonsistenz überprüfen kann.In Fig. 2, the command memory 4 is shown. The instruction memory 4 comprises the plurality of instructions 2 . In the instruction memory 4 , the storage instruction 20 and subsequently the instruction 6 is arranged. A boundary 12 is formed between the memory 20 and the instruction 6 . Before the border 12 is a variety of instructions 13 and after the border 12 is a plurality of instructions 14 is arranged. Furthermore, a rearrangement 9 of the storage command 20 and the instruction 6 is shown, which according to the invention is limited by the limit 12 in a predetermined manner. A swapping of the first calculation step C1 for calculating the first result SPX with the second calculation step C2 could be carried out by the computing unit 3 , provided the data consistency is maintained. It is only important to ensure that the second calculation step C2 can be carried out independently of the first calculation step C1. The exchange takes place within the computing unit 3 , so that the computing unit 3 itself can check the maintenance of data consistency.

In Fig. 3 ist ein Programmablauf dargestellt. In einem er­ sten Programmschritt S1 wird der Programmstart mit einer ent­ sprechenden Initialisierung durchgeführt. In einem zweiten Programmschritt S2 werden Deklarationen vorgenommen, wobei ein vorbestimmter Datenspeicher 8 - unter Angabe der Art der Einschränkung der Vertauschung - gekennzeichnet wird. In ei­ nem dritten Programmschritt S3 erfolgt der Programmablauf. In einem vierten Programmschritt S4 wird der vorbestimmte Daten­ speicher 8 verwendet, wobei die Umsortierung 9 von Instruktionen 2 in der vorbestimmten Weise eingeschränkt wird. In einem fünften Programmschritt S5 wird ein weiterer Pro­ grammablauf durchgeführt und das Programm abschließend been­ det. In Fig. 3 is a program flow is illustrated. In a first program step S1, the program is started with a corresponding initialization. In a second program step S2, declarations are made, a predetermined data memory 8 being identified — stating the type of restriction of the exchange. The program flow takes place in a third program step S3. In a fourth program step S4, the predetermined data memory 8 is used, the rearrangement 9 of instructions 2 being restricted in the predetermined manner. In a fifth program step S5, a further program sequence is carried out and the program is finally ended.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11

Computersystem
computer system

22

Vielzahl von Instruktionen
Variety of instructions

33

Recheneinheit
computer unit

44

Befehlsspeicher
instruction memory

55

Reihenfolge im Befehlsspeicher
Order in the command memory

66

Instruktion
instruction

77

Vorbestimmter Zugriff
Predefined access

88th

Vorbestimmter Datenspeicher
Predefined data storage

99

Umsortierung
resorting

1010

Vorbestimmte einschränkende Weise
Predefined restrictive way

1111

Deklaration
declaration

1212

Grenze
border

1313

Instruktion vor der Grenze
Instruction before the border

1414

Instruktion nach der Grenze
Instruction on the border

1515

Zweite Recheneinheit
Second arithmetic unit

1616

Zweiter Befehlsspeicher
Second instruction memory

1717

Speicherzelle eines ersten Berechnungsergebnisses
Memory cell of a first calculation result

1818

Speicherzelle eines zweiten Berechnungsergebnisses
Memory cell of a second calculation result

1919

Datenspeicher
data storage

2020

Speicherbefehl
store instruction

2121

Berechnungsbefehl
calculation command

2222

Überprüfungsbefehl
Checking command

2323

Lesebefehl
read command

2424

Verwendung
use

2525

Reihenfolge im zweiten Befehlsspeicher
C1 Erster Berechnungsschritt
C2 Zweiter Berechnungsschritt
C3 Dritter Berechnungsschritt
CN n-ter Berechnungsschritt
SPX Erstes Ergebnis
SPY Zweites Ergebnis
SP1 Signalfeld
S1 Erster Programmschritt
S2 Zweiter Programmschritt
S3 Dritter Programmschritt
S4 Vierter Programmschritt
S5 Fünfter Programmschritt
Order in the second instruction memory
C1 First calculation step
C2 Second calculation step
C3 third calculation step
CN nth calculation step
SPX first result
SPY second result
SP1 signal field
S1 First program step
S2 Second program step
S3 Third program step
S4 Fourth program step
S5 Fifth program step

Claims (12)

1. Verfahren zur Steuerung eines Computersystems (1), bei dem eine Vielzahl von Instruktionen (2) von einer Rechenein­ heit (3) aus einem Befehlsspeicher (4) geladen wird, die ab­ weichend von ihrer Reihenfolge (5) im Befehlsspeicher (4) von der Recheneinheit (3) ausgeführt werden und eine Instruktion (6), die einen vorbestimmten Zugriff (7) auf einen vorbe­ stimmten Datenspeicher (8) beinhaltet, eine Umsortierung (9) der Instruktionen (2) in einer vorbestimmten Weise ein­ schränkt.1. Method for controlling a computer system ( 1 ), in which a large number of instructions ( 2 ) are loaded by a computing unit ( 3 ) from a command memory ( 4 ), which differ from their sequence ( 5 ) in the command memory ( 4 ) are executed by the computing unit ( 3 ) and an instruction ( 6 ), which includes a predetermined access ( 7 ) to a predetermined data memory ( 8 ), restrorts ( 9 ) the instructions ( 2 ) in a predetermined manner. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei einer Deklaration (11) des Typs des Datenspeichers (8) vorbestimmt wird, welcher Art die Einschränkung (10) der Um­ sortierung (9) der Instruktionen (2) ist.2. The method according to claim 1, characterized in that in a declaration ( 11 ) of the type of data memory ( 8 ) is predetermined, what type of restriction ( 10 ) of the order ( 9 ) of the instructions ( 2 ). 3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß die vorbestimmte Weise (10) der eingeschränkten Umsortierung (9) umfaßt, daß die Instruktion (6), die den vorbestimmten Zugriff (7) auf den vorbestimmten Datenspeicher (8) beinhal­ tet, eine Grenze (12) bildet, wobei alle Instruktionen (13), die vor der grenzbildenden Instruktion (6) in dem Befehls­ speicher (4) angeordnet sind und einen Speicher-Schreib- Zugriff umfassen, ausgeführt sind, bevor die grenzbildende Instruktion (6) ausgeführt ist.3. The method according to any one of claims 1 or 2, characterized in that the predetermined manner ( 10 ) of the restricted re-sorting ( 9 ) comprises that the instruction ( 6 ), the predetermined access ( 7 ) to the predetermined data memory ( 8 ) includes forming a boundary ( 12 ), wherein all instructions ( 13 ) which are arranged in front of the boundary-forming instruction ( 6 ) in the instruction memory ( 4 ) and comprise a memory write access are executed before the boundary-forming instruction ( 6 ) is executed. 4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die vorbestimmte Weise (10) der eingeschränkten Umsortierung (9) umfaßt, daß die Instruktion (6), die den vorbestimmten Zugriff (7) auf den vorbestimmten Datenspeicher (8) beinhal­ tet, eine Grenze (12) bildet, wobei keine Instruktion (14), die nach der grenzbildenden Instruktion (6) in dem Befehlsspeicher (4) angeordnet ist, ausgeführt wird, bevor die grenzbildende Instruktion (6) ausgeführt ist.4. The method according to any one of claims 1 to 3, characterized in that the predetermined manner ( 10 ) of the restricted re-sorting ( 9 ) comprises that the instruction ( 6 ), the predetermined access ( 7 ) to the predetermined data memory ( 8 ) includes forming a boundary ( 12 ), wherein no instruction ( 14 ), which is arranged after the boundary-forming instruction ( 6 ) in the instruction memory ( 4 ), is executed before the boundary-forming instruction ( 6 ) is executed. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die vorbestimmte Weise (10) der eingeschränkten Umsortierung (9) umfaßt, daß die Instruktion (6), die den vorbestimmten Zugriff (7) auf den vorbestimmten Datenspeicher (8) beinhal­ tet, eine Grenze (12) bildet, über die hinweg keine für ande­ re Prozessoren oder Prozesse sichtbare Vertauschung in der Reihenfolge der Abarbeitung der Instruktionen (2) erfolgt.5. The method according to any one of claims 1 to 4, characterized in that the predetermined manner ( 10 ) of the restricted re-sorting ( 9 ) comprises that the instruction ( 6 ), the predetermined access ( 7 ) to the predetermined data memory ( 8 ) includes, forms a boundary ( 12 ) beyond which there is no exchange, visible to other processors or processes, in the order in which the instructions ( 2 ) are processed. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß es sich bei dem vorbestimmten Zugriff (7) auf den vorbestimm­ ten Datenspeicher (8) um eine Leseoperation handelt, welche eine in dem Datenspeicher (8) gespeicherte Information aus­ liest.6. The method according to any one of claims 1 to 5, characterized in that the predetermined access ( 7 ) to the predetermined data memory ( 8 ) is a read operation which reads information stored in the data memory ( 8 ). 7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß es sich bei dem vorbestimmten Zugriff (7) auf den vorbestimm­ ten Datenspeicher (8) um eine Schreiboperation handelt, wel­ che eine Information in den Datenspeicher (8) einschreibt.7. The method according to any one of claims 1 to 6, characterized in that the predetermined access ( 7 ) to the predetermined data memory ( 8 ) is a write operation which writes information into the data memory ( 8 ). 8. Computersystem mit einer Ausführungsumgebung, in der ei­ ne Vielzahl von Instruktionen (2) in einem Befehlsspeicher (4) zur Verarbeitung in einer Recheneinheit (3) gespeichert sind, wobei die Recheneinheit (3) Mittel aufweist, die zur Vertauschung der Bearbeitungsreihenfolge der Instruktionen (2) in der Recheneinheit geeignet sind und Mittel aufweist, welche die Umsortierung der Instruktionen (2) in einer vorbe­ stimmten Weise (10) einschränkt.8. Computer system with an execution environment in which a plurality of instructions ( 2 ) are stored in a command memory ( 4 ) for processing in a computing unit ( 3 ), the computing unit ( 3 ) having means for exchanging the processing order of the instructions ( 2 ) are suitable in the computing unit and have means which restrict the re-sorting of the instructions ( 2 ) in a predetermined manner ( 10 ). 9. Computersystem nach Anspruch 8, dadurch gekennzeichnet, daß die Mittel zur Einschränkung der Umsortierung von Instruktionen (2) so ausgebildet sind, daß eine Vertauschung der Rei­ henfolge der Abarbeitung über eine Grenze (12) hinweg nicht erfolgt, wobei die Grenze (12) durch einen vorbestimmten Zu­ griff (7) auf einen vorbestimmten Datenspeicher (8) gebildet wird.9. Computer system according to claim 8, characterized in that the means for restricting the re-sorting of instructions ( 2 ) are designed such that the processing sequence is not interchanged over a boundary ( 12 ), the boundary ( 12 ) by a predetermined access ( 7 ) to a predetermined data memory ( 8 ) is formed. 10. Computerprogrammprodukt, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecode-Abschnitte aufweist, mit denen die Schritte ge­ mäß einem der Ansprüche 1-7 ausgeführt werden, wenn das Produkt auf einem Computer läuft.10. Computer program product that directly into the internal Memory of a digital computer can be loaded and Has software code sections with which the steps ge according to any one of claims 1-7 if the Product is running on a computer. 11. Computerprogrammprodukt, das auf einem computergeeigne­ ten Medium gespeichert ist und folgendes umfaßt: Computerles­ bare Programmittel, die einen Computer veranlassen, Instruk­ tionen (2) aus einem Befehlsspeicher (4) in eine Rechenein­ heit (3) zu laden und abweichend von ihrer Reihenfolge im Be­ fehlsspeicher (4) von der Recheneinheit (3) auszuführen, wo­ bei eine Instruktion (6), die einen vorbestimmten Zugriff (7) auf einen vorbestimmten Datenspeicher (8) beinhaltet, eine Umsortierung (9) der Instruktionen (2) in einer vorbestimmten Weise einschränkt.11. Computer program product, which is stored on a computer-suitable medium and comprises the following: Computer-readable program means which cause a computer to load instructions ( 2 ) from a command memory ( 4 ) into a computing unit ( 3 ) and deviate from their sequence in the instruction memory ( 4 ) to be executed by the computing unit ( 3 ), where for an instruction ( 6 ) which contains a predetermined access ( 7 ) to a predetermined data memory ( 8 ), a re-sorting ( 9 ) of the instructions ( 2 ) in one predetermined manner. 12. Computerprogrammprodukt nach Anspruch 11, dadurch gekennzeichnet, daß die Instruktion (6), die einen vorbestimmten Zugriff (7) auf einen vorbestimmten Datenspeicher (8) beinhaltet, eine Grenze (12) bildet, über die hinweg keine Vertauschung in der Rei­ henfolge der Abarbeitung der Instruktionen (2) erfolgt.12. Computer program product according to claim 11, characterized in that the instruction ( 6 ), which includes a predetermined access ( 7 ) to a predetermined data memory ( 8 ), forms a boundary ( 12 ) over which there is no confusion in the order of Instructions ( 2 ) are processed.
DE2000165752 2000-12-29 2000-12-29 Computer program execution with instructions reordered to speed execution, relating particularly to multi-processor systems, in which certain instructions are prevented from being run out of sequence to preserve data integrity Ceased DE10065752A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000165752 DE10065752A1 (en) 2000-12-29 2000-12-29 Computer program execution with instructions reordered to speed execution, relating particularly to multi-processor systems, in which certain instructions are prevented from being run out of sequence to preserve data integrity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000165752 DE10065752A1 (en) 2000-12-29 2000-12-29 Computer program execution with instructions reordered to speed execution, relating particularly to multi-processor systems, in which certain instructions are prevented from being run out of sequence to preserve data integrity

Publications (1)

Publication Number Publication Date
DE10065752A1 true DE10065752A1 (en) 2002-07-18

Family

ID=7669443

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000165752 Ceased DE10065752A1 (en) 2000-12-29 2000-12-29 Computer program execution with instructions reordered to speed execution, relating particularly to multi-processor systems, in which certain instructions are prevented from being run out of sequence to preserve data integrity

Country Status (1)

Country Link
DE (1) DE10065752A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918005A (en) * 1997-03-25 1999-06-29 International Business Machines Corporation Apparatus region-based detection of interference among reordered memory operations in a processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918005A (en) * 1997-03-25 1999-06-29 International Business Machines Corporation Apparatus region-based detection of interference among reordered memory operations in a processor

Similar Documents

Publication Publication Date Title
EP0689694B1 (en) Process for the machine-generation of parallel processable command groups from a program for super-scalar microprocessors
DE3587277T2 (en) SYSTEM FOR BYPASS CONTROL IN PIPELINE OPERATION OF A COMPUTER.
DE69321929T2 (en) Method and system to ensure independent access to buffer buffers in a superscalar processor system.
DE3933849A1 (en) PROCESSOR CONTROLLED INTERFACE
DE2847216A1 (en) DATA PROCESSING SYSTEM WITH MULTIPROGRAM OPERATION
DE4103093C2 (en) Method for controlling a data transfer buffer memory and computer system for performing this method
DE4134392C2 (en) Method and apparatus for invalidating commands in devices with parallel processing
DE69128908T2 (en) Method for executing mandatory commands in a computer
DE2912073A1 (en) STACKED STORAGE ARRANGEMENT FOR THE SHORT-TERM STORAGE OF INFORMATION IN THE EVENT OF NON-SEGPARABLE INFORMATION IN A DATA PROCESSING SYSTEM
DE10103070B4 (en) Method and test circuit for determining a validity status for a past load command
DE10213860A1 (en) Programmable control
DE102004059972B4 (en) Thread scheduling method, and thread list scheduler device
DE2723706A1 (en) DEVICE FOR ADDRESS COMPARISON
DE10065752A1 (en) Computer program execution with instructions reordered to speed execution, relating particularly to multi-processor systems, in which certain instructions are prevented from being run out of sequence to preserve data integrity
DE102018132385A1 (en) Method for implementing a virtual address space on an embedded system
DE1499286B2 (en) DATA PROCESSING SYSTEM
DE69226683T2 (en) Method for efficient access of data in a link table
EP0664905A1 (en) Process for performing at least one test on at least one of the objects of an object-oriented program capable of running in parallel on a computer.
DE19951878A1 (en) Central processing unit for central processing system has status of waiting loop storing information required for next processing operation altered in response to control signal from external waiting loop control device
DE102004004561B4 (en) Microprocessor with an energy-saving fetch and decode unit for fetching and decoding compressed program instructions and with a program instruction sequence control
EP0970426B1 (en) Dependency controller for overlapping memory access operations
DE19827914C1 (en) Application specific integrated circuit for processing defined sequences of assembly commands
DE102006041002B4 (en) Method to adapt a program to a cache, and circuitry
DE112008000991T5 (en) Method and apparatus for testing a page decoder
DE4330119C1 (en) Method of controlled pre-fetching of cache-block-sized information blocks into a cache memory of a computer as a program is running

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection