JPH05241864A - Method for controlling computer - Google Patents

Method for controlling computer

Info

Publication number
JPH05241864A
JPH05241864A JP3352020A JP35202091A JPH05241864A JP H05241864 A JPH05241864 A JP H05241864A JP 3352020 A JP3352020 A JP 3352020A JP 35202091 A JP35202091 A JP 35202091A JP H05241864 A JPH05241864 A JP H05241864A
Authority
JP
Japan
Prior art keywords
error
instruction
program
result
execution
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.)
Pending
Application number
JP3352020A
Other languages
Japanese (ja)
Inventor
Bantwal R Rau
バントワル・アール・ロウ
Michael S Schlansker
マイケル・エス・シュランスカー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH05241864A publication Critical patent/JPH05241864A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To execute plural instructions in parallel without deceleration by means of an error in the result of the instruction which is not finally used by permitting the succeeding instruction to utilize the preceding instruction and adding a stage for executing an exception command when the result contains an error command. CONSTITUTION: In step 1, one or plural instructions within the plural instructions are designated as the preceding instruction. One preceding instruction is executed in the step 2 and an exception code is stored in the result of the instruction so as to set an error tag bit in the step 4 when the error is detected. The execution of the instruction is continued in the step 5. When the result of the preceding instruction is used, a check operation for recognizing whether or not the error tag bit is set is executed in the step 7. Then, at the time of setting, the execution of a program is stopped in the step 8 and a user is reported concerning the instruction being the cause of the error.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、概略的にはコンピュー
タに関するものであり、より詳細には、高速のコンピュ
ータの動作を制御するための方法に関するものであっ
て、前記高速のコンピュータは、複数個の命令が並列に
実行され、また、いかなる誤りのある結果であっても、
該誤りのある結果が後で用いられるまでは無視されるよ
うな、並列プロセッサ式のコンピュータに特に関するも
のである。
FIELD OF THE INVENTION This invention relates generally to computers, and more particularly to a method for controlling the operation of a high speed computer, said high speed computer comprising a plurality of Instructions are executed in parallel and any erroneous results
It is particularly relevant to parallel processor computers in which the erroneous result is ignored until later use.

【0002】[0002]

【従来の技術及び発明が解決しようとする問題】本発明
は、多重オペレーションの同時実行が許容されるコンピ
ュータ・システムに関連して有用なものである。その同
時実行の達成は、多重オペレーションを同時に開始する
ことにより、または、1個もしくは複数個の先に開始さ
れたオペレーションの完了に先だって新規なオペレーシ
ョンの開始をすることのいずれかでなされる。このよう
なシステムにおいては、プログラムのブランチまたはジ
ャンプ命令を介してオペレーションを移動することが有
利であることが多い。プログラムのプランチを介するコ
ードの移動によって平行化が増強される。
BACKGROUND OF THE INVENTION The present invention is useful in connection with computer systems that allow multiple operations to execute concurrently. The concurrency is achieved either by initiating multiple operations at the same time, or by initiating a new operation prior to the completion of one or more previously initiated operations. In such systems, it is often advantageous to move operations through program branch or jump instructions. Movement of the code through the program's planch enhances parallelization.

【0003】次のプログラムについて考えてみる。 IF(A.LT.TAN(Y(I))) GO TO
100 Z=TAN(X(I)) 100 CONTINUE
Consider the following program. IF (A.LT.TAN (Y (I))) GO TO
100 Z = TAN (X (I)) 100 CONTINUE

【0004】従来のコンピュータ・システムにおいて
は、条件付き(A.LT.TAN(Y(I)))の評価
が完了してから、ステートメント100に対するプログ
ラムのブランチを実行するか、または、次に続くステー
トメントを通してフローの続行をするかの決定がなされ
る。ブランチ条件の評価がなされた後で、コンピュータ
はコンピュータ・メモリからX(I)の値をロードし
て、TAN関数による結果の評価をする。その結果はメ
モリまたはレジスタ位置内に記憶されて、変数Zを表す
ために使用される。
In conventional computer systems, the conditional (A.LT.TAN (Y (I))) evaluation is completed before the branch of the program for statement 100 is executed or continues. A decision is made whether to continue the flow through the statement. After the branch condition is evaluated, the computer loads the value of X (I) from computer memory and evaluates the result with the TAN function. The result is stored in a memory or register location and used to represent the variable Z.

【0005】ここで、修正されたプログラムについて考
えてみる。 TEMP Z=TAN(X(I)) IF(A.LT.TAN(Y(I))) GO TO
100 Z=TEMP Z 100 CONTINUE
Now consider the modified program. TEMP Z = TAN (X (I)) IF (A.LT.TAN (Y (I))) GO TO
100 Z = TEMP Z 100 CONTINUE

【0006】この修正されたプログラムは、並列コンピ
ュータに対する当初のプログラムに比べて、同じ結果を
もたらしながらも優れた実行能力を有することができ
る。この修正されたプログラムにおいては、TAN(X
(I))およびTAN(Y(I))を並列して評価する
ことができる。.LT.の比較に不具合があって、プロ
グラムがブランチを通して失敗に至ると、該プログラム
がステートメント100に到達するのに先だって、TE
MPZからZへの単純な指定だけが要求される。かくし
て、ブランチのステートメントを通して失敗に至ること
が多いプログラムに対して、修正されたプログラムによ
れば、TAN(X(I))およびTAN(Y(I))の
同時評価において、その並列化のかなり速い利用を実行
することができる。
This modified program can have the same performance but better performance than the original program for parallel computers. In this modified program, TAN (X
(I)) and TAN (Y (I)) can be evaluated in parallel. . LT. If the program fails through the branch due to a failure in the comparison of
Only a simple designation of MPZ to Z is required. Thus, for programs that often lead to failures through statements in branches, the modified program allows for significant parallelization of TAN (X (I)) and TAN (Y (I)). Can be used fast.

【0007】この修正されたプログラムはより並列化し
たものであるが、エラーに関しては正確に同じ振舞いを
するものではない。当初のプログラムによっても、10
0に至るブランチの実行をして、エラーなしで終了する
ことがあり、これに対して、修正されたプログラムによ
れば、エラーをもって停止する場合がある。これが生起
可能になるのは、アレイX(I)に対するインデックス
Iがアレイ境界の外にあるか、または、TAN(X
(I))によって算術的なエラーが生じるかのいずれか
のためである。当初のプログラムではこれらのステート
メントを評価することがなかったから、このようなエラ
ーの原因になることはない。当初のプログラムではなか
ったときには、修正されたプログラムがエラーの原因と
なることから、この修正は“不安”であると言われるこ
とが多く、従来のコンパイル技術では許容されていな
い。当初のプログラムにおいては実行されなかったとし
ても、その実行動作のための潜在性が存在するときに
は、プログラムのブランチを介して動かされるオペレー
ションを“先行”オペレーションと呼ぶことにする。
Although this modified program is more parallel, it does not behave exactly the same in terms of error. 10 depending on the original program
It may execute branches up to 0 and terminate without error, whereas the modified program may stop with an error. This can occur because the index I for array X (I) is outside the array boundaries, or TAN (X
This is because either (I)) causes an arithmetic error. Since the original program never evaluated these statements, it would not cause such an error. This modification is often said to be "uneasy" because the modified program causes the error when it was not the original program and is not allowed by conventional compilation techniques. An operation that is moved through a branch of a program is called a "predecessor" operation when there is potential for that execution operation, even though it was not executed in the original program.

【0008】本発明の目的は、エラーに関するプログラ
ムの正確な振舞いを保持しながら、不安なプログラムの
最適化を許容することにある。これで許容される最適化
により、プログラム内での付加的な並列化が導入され
る。
It is an object of the present invention to allow the optimization of an anxious program while retaining the exact behavior of the program with respect to errors. The optimizations allowed by this introduce additional parallelism within the program.

【0009】[0009]

【問題を解決するための手段】[Means for solving the problem]

b.先行の解決策 最も主要な先行の解決策は、不安な最適化を許容しない
ことである。オペレーションがブランチを介して動かさ
れるとき、または、オペレーションがエラーの原因とな
らない(例えば、エラーの原因とならないようにアドレ
ス加算の規定がなされる)ときには、不安な最適化は選
択的に許容されていた。このために、許容される先行の
オペレーションはエラーの原因にならないオペレーショ
ンだけである。
b. Prior Solution The most major prior solution is to not tolerate insecure optimization. Insecure optimizations are selectively allowed when an operation is moved through a branch, or when the operation does not cause an error (eg, address addition is specified to not cause an error). It was Because of this, the only predecessor operations that are allowed are those that do not cause an error.

【0010】コンピュータ製品のTraceファミリー
におけるMutiflow Inc.によって追及され
た解決策は、エラーを無視することによって不安な最適
化を維持することである。算術的な違反およびメモリ参
照の違反を不可能にすることにより、上に示された当初
のプログラムおよび修正されたプログラムの振舞いは同
等になり、いずれのプログラムでもエラーによって停止
することはない。しかしながら、これによるある所定の
難点がユーザに対して呈示されて、最高のレベルの実行
能力を達成するためには、エラーのチェック操作を無視
せねばならないようにされる。
Mutiflow Inc. in the Trace family of computer products. The solution sought by is to maintain an awkward optimization by ignoring the error. By disabling arithmetic violations and memory reference violations, the behavior of the original and modified programs shown above is equivalent, and neither program is stopped by an error. However, certain difficulties with this are presented to the user so that error checking operations must be ignored in order to achieve the highest level of performance.

【0011】c.発明の説明 先行の実行においては、従来のコンピュータ・システム
と対比されるような付加的なデータ値に加えて、双方の
付加的なオペレーション・コード(OP codes)
が用いられる。この付加的なオペレーション・コードに
より、ある所与のオペレーションが正常のオペレーショ
ンであるか、または、その先行のものと等価のものであ
るかの決定がなされる。付加的なデータ値は、あるデー
タ・アイテムが正常のデータ・アイテムである(有効)
か、または、先行の実行の間に生じたエラーの結果であ
る(無効)かを指示するために用いられる。
C. DESCRIPTION OF THE INVENTION In prior implementations, in addition to the additional data values as contrasted with conventional computer systems, both additional operation codes (OP codes).
Is used. This additional opcode determines whether a given op is a normal op, or its predecessor. An additional data value is one data item is a good data item (valid)
Or is the result of an error that occurred during a previous execution (invalid).

【0012】ある一つの実施においては、正常な値を誤
りの値から区別するプロセッサの全てのレジスタ内のエ
ラー・タグ・ビットにより先行の実行が可能にされ、ま
た、全てのオペレーション・コード上の先行実行ビット
により先行のオペレーションが通常のオペレーションか
ら区別される。
In one implementation, prior execution is enabled by an error tag bit in all registers of the processor that distinguishes normal from erroneous values, and also on all opcodes. The predecessor execute bit distinguishes the predecessor operation from the normal operation.

【0013】オペレーションの実行は、通常モードまた
は先行モードのいずれかにおいてなされる。このモード
の決定は、通常の命令を先行の命令から区別するそれら
のオペレーション・コードによってなされる。
Execution of operations is done in either normal mode or predecessor mode. This mode decision is made by their opcodes that distinguish normal instructions from preceding instructions.

【0014】通常モードでの実行 全ての入力オペランドが有効であり、また、そのオペレ
ーションがエラーの原因ではないときには、通常の有効
な結果が結果レジスタ内に記憶される。オペレーション
がマスクされない例外の原因であるときには、例外の処
理が求められてプログラムが停止するようにされる。い
ずれかの入力オペランドがそのときのエラー・タグ・ビ
ットによって無効であるとされたときには、先行する実
行の例外である旨の信号が出されてプログラムが停止す
るようにされる。
Normal Mode Execution When all input operands are valid and the operation is not the cause of the error, the normal valid result is stored in the result register. When an operation is the cause of an unmasked exception, the exception is asked to be handled and the program is stopped. If any of the input operands are marked invalid by the current error tag bit, then the program is halted by signaling that it is an exception to the preceding execution.

【0015】先行モードでの実行 全ての場合において、先行の命令の実行の後で実行が継
続される。入力オペランドにエラー・タグ・ビットのセ
ットがないときには、該当のオペレーションが実行され
る。オペレーションの実行の間にエラーが生じなかった
ときには、有効な結果が記憶される。オペレーションの
実行の間に例外が生じたときには、その結果についての
エラー・タグ・ビットがセットされ、また、例外コード
が結果レジスタの残りのビット(正常なデータ・ビッ
ト)に書き込まれる。いずれかの入力オペランドのエラ
ー・タグ・ビットがセットされているときには、該当の
結果オペランドのエラー・タグ・ビットがセットされ
る。該タグ付きの入力オペランドの一つからの例外コー
ドは、結果レジスタに対してコピーされる。この動作に
よりエラーが前方に伝播される。
Execution in Speculative Mode In all cases, execution continues after execution of the preceding instruction. If the input operand does not have the error tag bit set, then the appropriate operation is performed. A valid result is stored when no error occurred during the execution of the operation. When an exception occurs during the execution of an operation, the error tag bit for the result is set and the exception code is written to the remaining bits of the result register (the normal data bits). If the error tag bit of any of the input operands is set, the error tag bit of the appropriate result operand is set. The exception code from one of the tagged input operands is copied to the result register. This action propagates the error forward.

【0016】[0016]

【実施例】【Example】

先行する実行の使用例 先行する実行のためのハードウエアは次のようにするこ
とができる。
Example of use of preceding execution The hardware for preceding execution can be as follows.

【0017】並列プロセッサ上での効果的な実行のため
に、コンピュータ・プログラムを最適化する処理につい
て考えることにする。当初のプログラムにおいては、変
更されないソース・プログラムについてのユーザの観点
に等しい条件の下で、全てのオペレーションが実行され
ることになる。この最適化されないプログラムの下で
は、全てのオペレーションはそれらの“ホーム・ベース
・ブロック”内にある。即ち、ノー・オペレーションが
ブランチを介して新規なベース・ブロックに動かされ、
条件の変更がなされて、その変更された条件の下でオペ
レーションの実行がなされる。最適化されないプログラ
ムの下では、OPコードの非先行の形式をもって全ての
オペレーションが実行される。エラーが生じたときに
は、これがソース・プログラム内の真のエラーであっ
て、ユーザはその生起について告知されるべきであるこ
とから、全てのオペレーションはその実行が停止され
る。
Consider the process of optimizing a computer program for effective execution on parallel processors. In the original program, all operations would be performed under conditions equivalent to the user's point of view of the unchanged source program. Under this non-optimized program, all operations are in their "home base block". That is, no operation is moved to a new base block via a branch,
The condition is changed, and the operation is executed under the changed condition. Under a non-optimized program, all operations are performed with the non-leading form of OP code. When an error occurs, all operations are suspended from execution because this is a true error in the source program and the user should be informed of its occurrence.

【0018】最適化手段(optimizer)によ
り、プログラムを並列化するタスクが開始される。ある
1個のオペレーションが(先のベース・ブロック内で)
早期の時点において出されているかどうかの決定がなさ
れて、プログラムの実行能力を増強することが可能にさ
れる。オペレーションが先のベース・ブロックのセット
に向けて動かされ、その結果について何等かの使用が生
じるのに先だって、該オペレーションを常に実行するこ
とが確実にされる。これに含ませることができること
は、オペレーションを多重の先行するベース・ブロック
に動かすことである。ホーム・ブロックに向かうのに先
だってベース・ブロックに向けて動かされる全てのオペ
レーションは、先行の形式に対するそれらのオペレーシ
ョン・コードを有している。また、この最適化手段によ
れば、ホーム・ベース・ブロック内において、該先行す
るオペレーションの結果が実際に用いられることを確実
にされる。検出されないエラーの存在をテストするだけ
のために、ホーム・ブロック内で非先行の使用を挿入す
ることができる。
The optimizer initiates the task of parallelizing the program. One operation (in the previous base block)
A determination is made as to whether it is being issued at an earlier point in time, allowing the program's ability to execute to be enhanced. It is ensured that the operation will always be executed before it is moved towards the previous set of base blocks and any use of its result will occur. What can be included in this is to move the operation to multiple preceding base blocks. All operations that are moved towards the base block prior to going to the home block have their opcodes for the preceding form. This optimizing means also ensures that the result of the preceding operation is actually used in the home base block. Non-leading use can be inserted in the home block just to test for the presence of an undetected error.

【0019】当初のプログラムがエラーなしで完了まで
ランするときには、最適化された先行のプログラムは完
了までランすることになる。当初のプログラムがエラー
をもって停止するときには、最適化された先行のプログ
ラムもエラーをもって停止する。明白であるように、複
数のエラーが生じたときには、エラーを報告する順序は
該ソース内でのエラーの順序とは異なっている。しかし
ながら、これは一般的にはコンパイラの最適化手段に典
型的な問題であって、先行する実行に特有のものではな
い。
When the original program runs to completion without error, the optimized predecessor program will run to completion. When the original program stops with an error, the optimized predecessor program also stops with an error. As is apparent, when multiple errors occur, the order of reporting the errors is different than the order of the errors within the source. However, this is generally a problem typical of compiler optimizations and not specific to prior executions.

【0020】ある1個の先行するオペレーションの結果
は、別の先行するオペレーションに対する入力として用
いることができる。この場合において、いずれかの連結
的な使用における最終的に先行するオペレーションの結
果は、先行するオペレーションの少なくとも一つがエラ
ーを生じさせる正確な時点でのエラー・タグを有してい
る。ホーム・ベース・ブロック内で最終的なオペランド
が使用されるときに、入力オペランドの算出において用
いられるいずれかの先行オペレーションがエラーの原因
であるとすれば、プログラムはエラーをもって停止する
ようにされる。
The result of one preceding operation can be used as input to another preceding operation. In this case, the result of the final preceding operation in any concatenated use will have an error tag at the exact time at which at least one of the preceding operations caused an error. When the final operand is used in the home base block, the program will stop in error if any of the predecessors used in the calculation of the input operands caused the error. ..

【0021】エラー・タグの構成 例外コードは典型的にはプロセッサ・レジスタの通常の
データ・フィールド内でコード化される。ここでのエラ
ー・タグ・ビットで決定されることは、該データ・フィ
ールドを正しいデータとして解釈するか、または、例外
として解釈するかどうか、ということである。多くの価
値ある情報片は、例外コード内に配置することができ
る。
Error Tag Organization Exception codes are typically encoded in the usual data fields of processor registers. What is determined by the error tag bit here is whether to interpret the data field as correct data or as an exception. Many valuable pieces of information can be placed in the exception code.

【0022】・エラーの性質 アドレスの違反 算術的オーバフロー、算術的アンダーフロー等。Character of error Violation of address Arithmetic overflow, arithmetic underflow, etc.

【0023】・誤りのあるオペレーションが出されたと
きに、プログラム・カウンタの値を特有のものとして決
定するタグ。
A tag that uniquely determines the value of the program counter when an erroneous operation is issued.

【0024】・オペレーションの再実行を支持するステ
ータス・ビットをセツトすること。例えば、IEEEの
浮動小数点動作によれば、正規化されない結果のオペレ
ーションに対することを除いて、ハードウエアにおける
全てのオペレーシヨンを実行することが可能である。プ
ログラムの非先行の部分において該結果が使用されたこ
とを指示する先行の例外が実行されるまで、先行の正規
化されない結果の算出を延期することができる。
Set status bits that support re-execution of the operation. For example, with IEEE floating point operations, it is possible to perform all operations in hardware except for operations that result in unnormalized results. The calculation of the preceding denormalized result may be postponed until the preceding exception indicating that the result has been used in a non-predecessor part of the program has been executed.

【0025】d.先になされたことを超える本発明の利
点 本発明の利点は、プログラム・エラーが存在するときの
プログラムの振舞いを保持しながら、不安なコードの動
き(ホーム・ブロックに先立つベース・ブロックへのコ
ードの動き)を許容することにある。これで許容される
コンパイラの並列化によりプログラムに対する変更がな
されて、エラー・チェック操作の不可能化を要求するこ
となく並列化を増強するようにされる。最高のレベルの
並列化の実行能力および非並列的なプロセッサに対して
典型的な厳しいエラー・チェック操作の双方について、
ユーザは十分な利益を享受するようにされる。
D. Advantages of the Present Invention Over What It Was Previously The advantage of the present invention is that it preserves the behavior of the program in the presence of program errors while preserving the behavior of unsettled code (code to the base block preceding the home block). Movement). This allows the compiler parallelization to allow changes to the program to enhance parallelization without requiring the disabling of error checking operations. Both for the highest level of parallelism and the rigorous error checking operations typical of non-parallel processors,
The user is made to enjoy sufficient profit.

【0026】コンピュータ・ハードウエア レジスタはエラー・タグ・ビットと呼ばれる1個の付加
的なビットを有している。該エラー・タグ・ビットに第
1の値をセットすることにより、該当のデータを生成さ
せた命令が、先行モードではなくて、正常モードにおい
て実行されたときには、該レジスタ内に含まれているデ
ータが例外コードを発生していることが指示される。
Computer hardware registers have one additional bit called the error tag bit. By setting the error tag bit to the first value, the data contained in the register is generated when the instruction that generated the corresponding data is executed in the normal mode instead of the preceding mode. Indicates that is generating an exception code.

【0027】先行のタグ・ワードは宛先レジスタに配置
される。該タグ・ワードに含まれているカウンタの値
は、先行の命令が実行された時点についてのものであ
る。このカウンタの値はプログラム・カウンタの履歴に
関連できるものであって、いずれの先行の命令がエラー
をもたらしたかを指示するようにされる。
The preceding tag word is placed in the destination register. The value of the counter contained in the tag word is at the time the previous instruction was executed. The value of this counter can be related to the history of the program counter and is made to indicate which previous instruction caused the error.

【0028】例示的な図面に示されているように、本発
明による方法に好適に含まれていることは、複数個の命
令の中の1個または複数個を先行する命令として指定し
(1)、ある1個の先行する命令を実行し(2)、エラ
ーが検出されたときには(3)、該命令の結果に例外コ
ードを記憶して、エラー・タグ・ビットをセットし
(4)、命令の実行を継続し(5)、先行する命令の結
果が使用されるときには(6)、該エラー・タグ・ビッ
トがセットされているかどうかを知るためのチェック操
作をし(7)、そして、そうであるときには、プログラ
ムの実行を停止して、エラーの原因になった命令につい
てユーザに告知することである。
As shown in the exemplary drawings, the preferred inclusion in the method according to the invention designates one or more of the plurality of instructions as the preceding instruction (1 ), Executing one preceding instruction (2), when an error is detected (3), storing the exception code in the result of the instruction and setting the error tag bit (4), Continue execution of the instruction (5), when the result of the preceding instruction is used (6), perform a check operation to see if the error tag bit is set (7), and If so, it is to stop the execution of the program and inform the user about the instruction that caused the error.

【0029】[0029]

【発明の効果】以上説明したように、本発明を用いるこ
とにより、最終的には用いられない命令の結果における
エラーによって減速することなしに、複数の命令を並列
に実行することができる。
As described above, by using the present invention, a plurality of instructions can be executed in parallel without being slowed down by an error in the result of an instruction that is not finally used.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示す流れ図である。FIG. 1 is a flow chart showing an embodiment of the present invention.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】命令を先行命令として指定する段階と、 前記命令を実行する段階と、 前記実行中にエラーが検出される場合、例外コードを結
果として記憶する段階と、 次の命令を実行する段階と、 前記次の命令が前記先行命令の結果を利用し、該結果が
エラー・コードを含む場合、例外コマンドを実行する段
階と、 を備えて成るコンピュータ制御方法。
1. An instruction is designated as a preceding instruction, the instruction is executed, an exception code is stored as a result when an error is detected during the execution, and the next instruction is executed. And a step of executing an exception command if the next instruction utilizes a result of the preceding instruction and the result includes an error code.
JP3352020A 1990-12-14 1991-12-13 Method for controlling computer Pending JPH05241864A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62824190A 1990-12-14 1990-12-14
US628241 1990-12-14

Publications (1)

Publication Number Publication Date
JPH05241864A true JPH05241864A (en) 1993-09-21

Family

ID=24518074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3352020A Pending JPH05241864A (en) 1990-12-14 1991-12-13 Method for controlling computer

Country Status (1)

Country Link
JP (1) JPH05241864A (en)

Similar Documents

Publication Publication Date Title
US5692169A (en) Method and system for deferring exceptions generated during speculative execution
US5778219A (en) Method and system for propagating exception status in data registers and for detecting exceptions from speculative operations with non-speculative operations
US5901308A (en) Software mechanism for reducing exceptions generated by speculatively scheduled instructions
US8291197B2 (en) Aggressive loop parallelization using speculative execution mechanisms
US5974538A (en) Method and apparatus for annotating operands in a computer system with source instruction identifiers
US9262161B2 (en) Tracking multiple conditions in a general purpose register and instruction therefor
US6505296B2 (en) Emulated branch effected by trampoline mechanism
JP2013254484A (en) Improving performance of vector partitioning loops
JPH0567971B2 (en)
US11226821B2 (en) Computer processor employing operand data with associated meta-data
KR0133237B1 (en) Backout logic for dual execution unit processor
US20070143575A1 (en) Flow optimization and prediction for VSSE memory operations
KR100864890B1 (en) Locking source registers in a data processing apparatus
US7181601B2 (en) Method and apparatus for prediction for fork and join instructions in speculative execution
Sawada et al. Verification of FM9801: An out-of-order microprocessor model with speculative execution, exceptions, and program-modifying capability
US7010676B2 (en) Last iteration loop branch prediction upon counter threshold and resolution upon counter one
CN112182999B (en) Three-stage pipeline CPU design method based on MIPS32 instruction system
US7984276B2 (en) Method and system for altering processor execution of a group of instructions
US5761469A (en) Method and apparatus for optimizing signed and unsigned load processing in a pipelined processor
US20020147902A1 (en) Method for encoding an instruction set with a load with conditional fault instruction
US6990569B2 (en) Handling problematic events in a data processing apparatus
JP2878792B2 (en) Electronic computer
JPH05241864A (en) Method for controlling computer
KR102379886B1 (en) Vector instruction processing
Rau et al. Instruction-level parallelism