JP2904624B2 - Parallel processing unit - Google Patents

Parallel processing unit

Info

Publication number
JP2904624B2
JP2904624B2 JP26458491A JP26458491A JP2904624B2 JP 2904624 B2 JP2904624 B2 JP 2904624B2 JP 26458491 A JP26458491 A JP 26458491A JP 26458491 A JP26458491 A JP 26458491A JP 2904624 B2 JP2904624 B2 JP 2904624B2
Authority
JP
Japan
Prior art keywords
instruction
register
instructions
load
compound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP26458491A
Other languages
Japanese (ja)
Other versions
JPH05108348A (en
Inventor
龍宏 五島
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP26458491A priority Critical patent/JP2904624B2/en
Publication of JPH05108348A publication Critical patent/JPH05108348A/en
Application granted granted Critical
Publication of JP2904624B2 publication Critical patent/JP2904624B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、複数の命令を並列に
処理することが可能なパイプライン方式の並列演算処理
装置に係り、特に、先行する複数の命令中に少なくとも
1つのロード命令が含まれる場合に好適なロード命令処
理制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pipeline type parallel processing device capable of processing a plurality of instructions in parallel, and more particularly, to at least one load instruction included in a plurality of preceding instructions. And a load instruction processing control method suitable for the

【0002】[0002]

【従来の技術】従来、VLIW(Very Long Instructio
n Word)方式やスーパスカラ方式等の複数命令を並列
(同時)に処理する形式の計算機(並列演算処理装置)
では、同時に投入する複数命令(ここでは、複合命令と
呼ぶ)間でレジスタやメモリ等での参照関係が存在する
場合には、実行順序関係を保証するための待ち時間が発
生し、処理性能が大きく低下する。このため、この種の
計算機では、コンパイラによる静的なプログラムのスケ
ジューリングを行うことによって、上記の参照関係によ
る待ちを減少させることが知られていた。
2. Description of the Related Art Conventionally, VLIW (Very Long Instructio)
n) A computer (parallel processing unit) that processes multiple instructions in parallel (simultaneously), such as the Word) and Superscalar methods
In the case where there is a reference relationship in a register, a memory, or the like among a plurality of instructions to be input simultaneously (herein, called a compound instruction), a waiting time for guaranteeing the execution order relationship occurs, and the processing performance is reduced. It greatly decreases. For this reason, in this type of computer, it has been known that the waiting by the above-mentioned reference relationship is reduced by performing static program scheduling by a compiler.

【0003】[0003]

【発明が解決しようとする課題】しかし、コンパイラに
よる静的なスケジューリングでは、メモリアドレス等の
動的に決定される依存関係を取扱うことが困難である。
したがって、これら動的な依存関係はハードウェア的な
サポートによって解析され実行順序を保証しなければな
らない。
However, with static scheduling by a compiler, it is difficult to handle dynamically determined dependencies such as memory addresses.
Therefore, these dynamic dependencies must be analyzed by hardware support to guarantee the execution order.

【0004】上記の動的な依存関係を発生させる代表的
な命令にロード命令(メモリデータの読出し)がある。
このロード命令によるメモリアクセスは通常はキャッシ
ュメモリを介して行われる。このため、キャッシュにヒ
ットする限り、ロード命令に依存する命令の順序関係を
保証しようとしても性能への影響は少ない。ところが、
キャッシュミスヒットの場合にはブロックリードが発生
するため、ロードデータが得られるまでには、キャッシ
ュヒット時の数倍から数十倍のオーバヘッドが発生す
る。従来の並列演算処理装置では、ロード命令ミスヒッ
ト時には、無条件に後続の複合命令を待たせるのみであ
ったため、大きな性能低下を招いていた。
A typical instruction for generating the above-mentioned dynamic dependency is a load instruction (reading of memory data).
The memory access by this load instruction is usually performed via a cache memory. For this reason, as long as the cache hits, even if an attempt is made to guarantee the order of instructions that depend on the load instruction, the effect on performance is small. However,
In the case of a cache miss, a block read occurs, so that the overhead is several times to several tens times that of the cache hit before the load data is obtained. In the conventional parallel processing unit, when a load instruction miss occurs, only a subsequent compound instruction is made to wait unconditionally, resulting in a large decrease in performance.

【0005】この発明は上記事情に鑑みてなされたもの
でその目的は、ロード命令がキャッシュミスヒットの場
合でも、後続の複合命令の待ち時間をできるだけ少なく
し、処理性能を向上させることができる並列演算処理装
置を提供することにある。
The present invention has been made in view of the above circumstances, and has as its object to reduce the waiting time of the subsequent compound instruction as much as possible and improve the processing performance even when the load instruction is a cache miss. An object of the present invention is to provide an arithmetic processing device.

【0006】[0006]

【課題を解決するための手段】この発明は、命令フェッ
チ機構によってフェッチされた複数の命令(複合命令)
を並列に処理することが可能なパイプライン方式の並列
演算処理装置において、先にフェッチされた複合命令
(先行複合命令)と後にフェッチされた複合命令(後続
の複合命令)との間に、少なくとも1つの依存関係が存
在することを検出するための依存関係検出手段と、この
依存関係検出手段の検出結果に応じてパイプラインの流
れを制御するパイプライン制御機構とを備え、先行複合
命令と後続複合命令との間に依存関係が存在しない場合
には、先行複合命令中にロード命令が含まれていても後
続複合命令を待たせないようにしたことを特徴とするも
のである。
According to the present invention, a plurality of instructions (composite instructions) fetched by an instruction fetch mechanism are provided.
In a pipeline-type parallel operation processing device capable of processing data in parallel, at least between a compound instruction fetched earlier (preceding compound instruction) and a compound instruction fetched later (subsequent compound instruction) A dependency detection means for detecting the existence of one dependency; and a pipeline control mechanism for controlling a flow of the pipeline in accordance with a detection result of the dependency detection means. When there is no dependency with the compound instruction, the subsequent compound instruction is not made to wait even if the preceding compound instruction includes a load instruction.

【0007】また、この発明は、上記の依存関係検出手
段を、先行複合命令中にロード命令が含まれている場合
に、同ロード命令で指定されるロードデータ書込み先が
使用状態にあることを示す状態保持手段と、この状態保
持手段によって示されているロードデータ書込み先が、
上記後続複合命令中のいずれかの命令によって指定され
るアクセス先に一致することを検出するための一致検出
手段とで構成したことをも特徴とする。
Further, the present invention provides the above-mentioned dependency detecting means, wherein when a load instruction is included in the preceding compound instruction, the load data write destination specified by the load instruction is in use. State holding means, and load data write destination indicated by the state holding means,
And a match detecting means for detecting a match with an access destination specified by any one of the subsequent compound instructions.

【0008】[0008]

【作用】上記の構成では、先行複合命令と後続複合命令
との間に依存関係が存在するか否かが依存関係検出手段
により検出される。この検出のために状態保持手段およ
び一致検出手段が用意される。状態保持手段には、フェ
ッチされた複合命令の解読の結果、ロード命令が含まれ
ていることが判明した場合に、同ロード命令で指定され
るロードデータ書込み先が使用状態にあることを示す状
態情報が保持される。一致検出手段は、命令フェッチ機
構によって新たに複合命令(後続複合命令)がフェッチ
された場合には、その時点において状態保持手段によっ
て示されている使用状態にあるロードデータ書込み先、
即ち先行複合命令にロード命令が含まれている場合に同
命令で指定されるロードデータ書込み先が、上記後続複
合命令中のいずれかの命令によって指定されるアクセス
先に一致するか否かを調べ、その結果をパイプライン制
御機構に通知する。
With the above arrangement, the dependency detection means detects whether or not a dependency exists between the preceding compound instruction and the subsequent compound instruction. For this detection, a state holding unit and a coincidence detecting unit are prepared. When the result of decoding of the fetched compound instruction indicates that a load instruction is included, the state holding means indicates that the load data write destination specified by the load instruction is in use. Information is retained. When a new compound instruction (subsequent compound instruction) is newly fetched by the instruction fetch mechanism, the coincidence detecting means outputs the load data write destination in the use state indicated by the state holding means at that time.
That is, when the preceding compound instruction includes a load instruction, it is determined whether the load data write destination specified by the same instruction matches the access destination specified by any of the following compound instructions. , And notifies the result to the pipeline control mechanism.

【0009】パイプライン制御機構は、(依存関係検出
手段内の)一致検出手段からの一致/不一致通知を受け
ると、一致通知の場合には、上記後続複合命令と先行複
合命令との間に、少なくとも1つの依存関係が存在する
ものとして、後続複合命令の実行を待たせる。これに対
して不一致通知の場合には、パイプライン制御機構は、
後続複合命令と先行する複合命令との間に依存関係が存
在しないものとして、後続複合命令の実行を許可する。
これにより、先行する複合命令中にロード命令が含まれ
ており、且つ同命令がキャッシュミスヒットとなってブ
ロックリード中であったとしても、そのブロックリード
処理の完了を待たずに、後続複合命令が実行され、不要
な待ち時間が回避される。
When the pipeline control mechanism receives a match / mismatch notification from the match detection means (within the dependency detection means), in the case of a match notification, the pipeline control mechanism intervenes between the subsequent compound instruction and the preceding compound instruction. Assuming that at least one dependency exists, the execution of the subsequent compound instruction is made to wait. On the other hand, in the case of a mismatch notification, the pipeline control mechanism:
Assuming that there is no dependency between the subsequent compound instruction and the preceding compound instruction, execution of the subsequent compound instruction is permitted.
As a result, even if the preceding compound instruction includes a load instruction and the instruction becomes a cache miss and is being read in a block, the subsequent compound instruction can be executed without waiting for the completion of the block read processing. Is executed to avoid unnecessary waiting time.

【0010】[0010]

【実施例】図1はこの発明の一実施例に係る並列演算処
理装置の構成を示すブロック図である。この図1の並列
演算処理装置は、例えば複合命令フェッチのステージ
(Iステージ)、複合命令デコードのステージ(Dステ
ージ)、複合命令実行(ロード命令のキャッシュアクセ
スを含む)のステージ(Eステージ)、および結果の書
込み(レジスタライトバック)のステージ(Wステー
ジ)の4ステージのパイプライン方式を適用する4命令
並列実行の4ステージパイプライン処理計算機であるも
のとする。なお、図1の演算処理装置では、並列処理さ
れる4命令中に含まれるロード命令は1つに制限されて
いるものとする。
FIG. 1 is a block diagram showing a configuration of a parallel processing unit according to an embodiment of the present invention. The parallel operation processing device of FIG. 1 includes, for example, a composite instruction fetch stage (I stage), a composite instruction decode stage (D stage), a composite instruction execution (including a cache access of a load instruction) (E stage), It is assumed that the computer is a four-stage pipeline processing computer that executes four instructions in parallel and applies a four-stage pipeline method of a stage (W stage) for writing a result (register write-back). In the arithmetic processing device of FIG. 1, it is assumed that the number of load instructions included in the four instructions processed in parallel is limited to one.

【0011】図1において、1は並列に実行すべき4命
令を命令キャッシュ或いは主メモリなどのプログラム格
納装置(図示せず)からフェッチする命令フェッチ機
構、2は命令フェッチ機構1によってフェッチされた4
命令を保持するための命令レジスタである。
In FIG. 1, reference numeral 1 denotes an instruction fetch mechanism for fetching four instructions to be executed in parallel from a program storage device (not shown) such as an instruction cache or a main memory, and 2 denotes an instruction fetch mechanism fetched by the instruction fetch mechanism 1.
Instruction register for holding instructions.

【0012】3は例えば4つのレジスタR1〜R4から
なる汎用のレジスタファイル、4は解読/レジスタリー
ド機構である。解読/レジスタリード機構4は、命令レ
ジスタ2に保持されている4命令の解読を各命令毎に並
列に行うと共に、同命令でレジスタファイル3内レジス
タがソース指定されている場合に、そのレジスタ内容を
ソースデータとしてリードする。解読/レジスタリード
機構4は、解読した4命令中にレジスタファイル3内の
レジスタR1〜R4をロードデータ書込み先とするロー
ド命令があるか否かを示す(4ビットの)レジスタ使用
信号41、および解読した4命令中にレジスタファイル
3内のレジスタR1〜R4をアクセス先(参照または書
込み先)とする命令があるか否かを示す(4ビットの)
レジスタ使用信号42を出力するようになっている。
Reference numeral 3 denotes a general-purpose register file including, for example, four registers R1 to R4, and reference numeral 4 denotes a decoding / register reading mechanism. The decoding / register reading mechanism 4 decodes the four instructions held in the instruction register 2 in parallel for each instruction, and when a source in the register file 3 is designated by the instruction, the contents of the register are read. Is read as source data. The decoding / register reading mechanism 4 includes a (4-bit) register use signal 41 indicating whether or not there is a load instruction to which the registers R1 to R4 in the register file 3 are to be loaded with the load data among the four decoded instructions. Indicates whether any of the four decoded instructions has an instruction to access (reference or write) the registers R1 to R4 in the register file 3 (4 bits).
A register use signal 42 is output.

【0013】5は解読/レジスタリード機構4の4命令
分の解読結果等を命令毎に保持するための解読結果レジ
スタである。解読結果レジスタ5に保持される情報に
は、命令によっては、解読/レジスタリード機構4によ
ってリードされたレジスタデータ、或いは後述するロー
ド実行機構7によって読出されたロードデータが含まれ
る。
Reference numeral 5 denotes a decoding result register for holding the decoding result for four instructions of the decoding / register reading mechanism 4 for each instruction. The information held in the decryption result register 5 includes register data read by the decryption / register reading mechanism 4 or load data read by the load execution mechanism 7 described later, depending on the instruction.

【0014】6は解読結果レジスタ5に演算命令の解読
結果が保持されている場合に、その解読結果の示す演算
を実行する演算実行機構である。演算実行機構6は、最
大4命令分のの並列演算処理を実行するために、4つの
演算器から構成される。7は解読結果レジスタ5にロー
ド命令(メモリデータをロードデータとして読出して解
読結果レジスタ5内レジスタに書込む命令)の解読結果
が保持されている場合に、その解読結果の示すロード処
理を実行するロード実行機構である。ロード実行機構7
はオペランドキャッシュ(図示せず)を内蔵しており、
ロード命令で指定されたデータが同キャッシュに存在す
るか否かを調べるヒットチェックを行い、ミスヒット検
出時にはメモリからのブロックリードを実行する。また
ロード実行機構7は、ヒット検出時に真値(論理
“1”)となるヒット検出信号8を出力するようになっ
ている。
Reference numeral 6 denotes an operation executing mechanism for executing the operation indicated by the result of decoding when the result of decoding of the operation instruction is held in the decoding result register 5. The operation execution mechanism 6 includes four operation units in order to execute parallel operation processing for up to four instructions. When the decoding result register 5 holds the decoding result of the load instruction (the instruction to read out the memory data as the load data and write it into the register in the decoding result register 5), it executes the load processing indicated by the decoding result. It is a load execution mechanism. Load execution mechanism 7
Has a built-in operand cache (not shown),
A hit check is performed to determine whether or not the data specified by the load instruction exists in the same cache. When a mishit is detected, a block read from the memory is executed. The load execution mechanism 7 outputs a hit detection signal 8 that becomes a true value (logic "1") when a hit is detected.

【0015】9は先行する複合命令中にロード命令が含
まれていた場合に、そのロード命令と後続の複合命令と
の間にレジスタファイル3内のレジスタ使用についての
依存関係(参照関係)が存在することを検出するための
依存関係検出回路である。
Reference numeral 9 indicates that when a load instruction is included in a preceding compound instruction, there is a dependency (reference relation) regarding the use of a register in the register file 3 between the load instruction and the subsequent compound instruction. This is a dependency detection circuit for detecting the operation.

【0016】依存関係検出回路9は、解読/レジスタリ
ード機構4から出力されるレジスタR1〜R4に対応し
たレジスタ使用信号41の真値を保持するための4ビッ
ト(b0〜b3)のフラグレジスタ10と、フラグレジスタ
10の各ビットb0〜b3の論理値、解読/レジスタリード
機構4から出力されるレジスタR1〜R4に対応したレ
ジスタ使用信号42の論理値、およびロード実行機構7
から出力されるヒット検出信号8のレベル反転信号の論
理値のAND(論理積)をとるアンドゲート11〜14
とから構成される。
The dependency detection circuit 9 is a 4-bit (b0-b3) flag register 10 for holding the true value of the register use signal 41 corresponding to the registers R1-R4 output from the decryption / register read mechanism 4. And the logical values of the bits b0 to b3 of the flag register 10, the logical values of the register use signals 42 corresponding to the registers R1 to R4 output from the decryption / register read mechanism 4, and the load execution mechanism 7.
AND gates 11 to 14 which take AND (logical product) of the logical value of the level inversion signal of hit detection signal 8 output from
It is composed of

【0017】フラグレジスタ10の各ビットb0〜b3は、
対応するレジスタR1〜R4を書き込み先とするロード
命令の実行完了によりリセットされるようになってい
る。アンドゲート11〜14は、アンドゲート条件成立
時に、現在解読/レジスタリード機構4で処理されてい
る複合命令以降の命令の実行を待たせることを指示する
WAIT信号21〜24を出力する。
The bits b0 to b3 of the flag register 10 are
The reset is performed when the execution of the load instruction with the corresponding registers R1 to R4 as write destinations is completed. When the AND gate condition is satisfied, the AND gates 11 to 14 output WAIT signals 21 to 24 for instructing to wait for the execution of instructions after the compound instruction currently being processed by the decoding / register reading mechanism 4.

【0018】25は図1の装置のパイプライン制御を司
るパイプライン制御機構である。パイプライン制御機構
25は、(依存関係検出回路9内の)アンドゲート11
〜14からのWAIT信号21〜24のいずれかが真の
場合に、現在解読/レジスタリード機構4で処理されて
いる複合命令以降の命令の実行を待たせる。
Reference numeral 25 denotes a pipeline control mechanism for controlling the pipeline of the apparatus shown in FIG. The pipeline control mechanism 25 includes the AND gate 11 (in the dependency detection circuit 9).
If any of the WAIT signals 21 to 24 from to 14 is true, execution of the instructions following the compound instruction currently being processed by the decoding / register reading mechanism 4 is made to wait.

【0019】31〜34は演算実行機構6の4命令に対
応した演算結果またはロード実行機構7によってメモリ
から読出されたロードデータのいずれか一方を選択する
ためのセレクタ(SEL)である。セレクタ31〜34
は、通常状態では演算実行機構6側を選択するように設
定されている。なお、上記の演算結果およびロードデー
タには、その書込み先を示す識別子(例えばレジスタ番
号)が付加されるようになっている。35はセレクタ3
1〜34によって選択されたデータを保持するための演
算結果レジスタである。この演算結果レジスタ35の保
持データは、そのデータに付加された識別子の指定する
書込み先(例えばレジスタファイル3内レジスタ)に書
込まれる。
Reference numerals 31 to 34 denote selectors (SEL) for selecting either one of the operation results corresponding to the four instructions of the operation execution unit 6 or the load data read from the memory by the load execution unit 7. Selectors 31-34
Is set to select the operation execution mechanism 6 in the normal state. Note that an identifier (for example, a register number) indicating the write destination is added to the operation result and the load data. 35 is selector 3
This is an operation result register for holding data selected by 1 to 34. The data held in the operation result register 35 is written to a write destination (for example, a register in the register file 3) specified by the identifier added to the data.

【0020】次に、図1の構成の動作を、ロード命令を
含む3つの複合命令を順に実行する場合を例に、複合命
令間にレジスタの参照関係(RAW;ReadAfter Writ
e)が無いケース(ケース1)と、参照関係が有るケー
ス(ケース2)とについて順に説明する。
Next, the operation of the configuration shown in FIG. 1 will be described by taking, as an example, a case where three compound instructions including a load instruction are sequentially executed, and a register reference relationship (RAW; Read After Write) between compound instructions.
The case without e) (case 1) and the case with reference (case 2) will be described in order.

【0021】(ケース1)まず、ケース1について、図
2のタイミングチャートを参照して説明する。ここで
は、図2に示すように、先頭の複合命令CI1が、ロー
ド命令L→R1(メモリからロードデータを読出してレ
ジスタR1に書込むロード命令)、加算命令+、乗算命
令×、および減算命令−の4命令であり、複合命令CI
2が、ロード命令L→R2、減算命令−、加算命令+、
および乗算命令×の4命令であり、複合命令CI3が、
ロード命令L→R3、減算命令−、除算命令÷、および
減算命令−の4命令であり、複合命令CI1→CI2→
CI3間にレジスタの参照関係(RAW;Read After W
rite)が無いものとする。
(Case 1) First, Case 1 will be described with reference to the timing chart of FIG. Here, as shown in FIG. 2, the first compound instruction CI1 is a load instruction L → R1 (a load instruction that reads load data from a memory and writes it into register R1), an addition instruction +, a multiplication instruction ×, and a subtraction instruction. -Four instructions, and the compound instruction CI
2 is a load instruction L → R2, a subtraction instruction −, an addition instruction +,
And a multiplication instruction × 4, and the composite instruction CI3 is
Load instruction L → R3, subtraction instruction−, division instruction ÷, and subtraction instruction−, which are compound instructions CI1 → CI2 →
Register reference relationship between CI3 (RAW; Read After W
rite).

【0022】まず、サイクルT1では、命令フェッチ機
構1によりIステージが行われ、先頭の複合命令CI1
がフェッチされる。この複合命令CI1は命令レジスタ
2に保持される。
First, in the cycle T1, the I stage is performed by the instruction fetch mechanism 1, and the first composite instruction CI1
Is fetched. The composite instruction CI1 is held in the instruction register 2.

【0023】次のサイクルT2では、命令レジスタ2に
保持された複合命令CI1の各命令を対象とするDステ
ージ、即ち命令解読が、解読/レジスタリード機構4に
よって行われ、その解読結果が命令別に解読結果レジス
タ5に保持される。同時に、命令フェッチ機構1によっ
て次のIステージが行われ、複合命令CI1の次の複合
命令CI2がフェッチされて命令レジスタ2に保持され
る。
In the next cycle T2, the D stage for each instruction of the compound instruction CI1 held in the instruction register 2, that is, instruction decoding is performed by the decoding / register reading mechanism 4, and the decoding result is obtained for each instruction. The result is stored in the decryption result register 5. At the same time, the next I stage is performed by the instruction fetch mechanism 1, and the compound instruction CI2 next to the compound instruction CI1 is fetched and held in the instruction register 2.

【0024】また、複合命令CI1のDステージでは、
同CI1にロード命令L→R1が含まれているために、
R1,R2,R3,R4のうちのR1に対応するビット
が真値の4ビットレジスタ使用信号41“1000”が
解読/レジスタリード機構4から出力される。このレジ
スタ使用信号41は依存関係検出回路9の4ビットフラ
グレジスタ10に供給され、同信号41中の真値をとる
ビットに対応するフラグレジスタ10内のビットが、サ
イクルT2の終了時にセットされる。ここでは、R1に
対応するフラグレジスタ10内のビットb0がセットさ
れ、フラグレジスタ10の内容は“1000”となる。
In the D stage of the compound instruction CI1,
Since the load instruction L → R1 is included in the same CI1,
The decoding / register reading mechanism 4 outputs a 4-bit register use signal 41 "1000" in which the bit corresponding to R1 among R1, R2, R3 and R4 is a true value. This register use signal 41 is supplied to the 4-bit flag register 10 of the dependency detection circuit 9, and a bit in the flag register 10 corresponding to a bit having a true value in the signal 41 is set at the end of the cycle T2. . Here, the bit b0 in the flag register 10 corresponding to R1 is set, and the content of the flag register 10 becomes "1000".

【0025】次のサイクルT3では、解読結果レジスタ
5に保持された複合命令CI1中の+,×,−の各命令
の解読結果に従い、演算実行機構6において+,×,−
の各演算(Eステージ)が並列に行われる。この結果は
セレクタ32〜34によってそれぞれ選択されて演算結
果レジスタ35に保持される。
In the next cycle T3, according to the decoding result of each of the +, × and-instructions in the compound instruction CI1 held in the decoding result register 5, the operation execution unit 6 adds +, × and-.
(E stage) are performed in parallel. The result is selected by each of the selectors 32 to 34 and held in the operation result register 35.

【0026】またサイクルT3では、解読結果レジスタ
5に保持された複合命令CI1中のロード命令L→R1
の解読結果に従い、ロード実行機構7において、ロード
データ読出しのための処理が行われる。この処理では、
まず目的ロードデータがオペランドキャッシュに存在す
るか否かを調べるためのヒットチェックが行われる。こ
こでは、ミスヒットであるものとすると、ロード実行機
構7は目的データを含むブロックデータをメモリから読
むためのブロックリードを開始し、ヒット検出信号8を
真値としない。
In cycle T3, the load instruction L → R1 in the composite instruction CI1 held in the decryption result register 5
According to the result of decoding, the load execution mechanism 7 performs a process for reading the load data. In this process,
First, a hit check is performed to check whether the target load data exists in the operand cache. Here, assuming that there is a mishit, the load execution mechanism 7 starts block reading for reading block data including target data from the memory, and does not set the hit detection signal 8 to a true value.

【0027】更にサイクルT3では、命令レジスタ2に
保持された2番目の複合命令CI2の各命令を対象とす
るDステージが解読/レジスタリード機構4によって行
われ、その結果が解読結果レジスタ5に保持される。同
時に、複合命令CI2の次の複合命令CI3が命令フェ
ッチ機構1によってフェッチされ、命令レジスタ2に保
持される。
Further, in the cycle T3, the D stage for each instruction of the second compound instruction CI2 held in the instruction register 2 is executed by the decoding / register reading mechanism 4, and the result is held in the decoding result register 5. Is done. At the same time, the compound instruction CI3 following the compound instruction CI2 is fetched by the instruction fetch mechanism 1 and held in the instruction register 2.

【0028】上記複合命令CI2のDステージでは、解
読した4命令中にレジスタファイル3内のレジスタR2
をアクセス先(書込み先)とするロード命令L→R2が
あるために、解読/レジスタリード機構4から値が“0
100”の4ビットレジスタ使用信号41が出力され
る。また、他の3命令中にレジスタファイル3内のレジ
スタをアクセス先(参照先、書込み先)とする命令が無
いものとすると、解読/レジスタリード機構4からは値
が“0100”の4ビットレジスタ使用信号42が出力
される。このときフラグレジスタ10の内容は“100
0”であり、アンドゲート11〜14の出力信号である
WAIT信号21〜24は真値とはならない。
In the D stage of the compound instruction CI2, the register R2 in the register file 3 is included in the four decoded instructions.
There is a load instruction L → R2 whose access destination (write destination) is “0”.
A 4-bit register use signal 41 of "100" is output. If it is assumed that there is no instruction that makes the register in the register file 3 an access destination (reference destination, write destination) in the other three instructions, the decoding / register A 4-bit register use signal 42 whose value is "0100" is output from the read mechanism 4. At this time, the content of the flag register 10 is "100".
0 ", and the WAIT signals 21 to 24, which are output signals of the AND gates 11 to 14, do not become true values.

【0029】このようにWAIT信号21〜24が全て
偽値の場合、パイプライン制御機構25はパイプライン
中の複合命令間にレジスタ参照関係が無いものとして、
パイプラインの流れを止めること(パイプロック)を控
える。この結果、次のサイクルT4では、以下に述べる
ように、現在Eステージにある複合命令CI1はブロッ
クリード中のロード命令L→R1を除き(おいてきぼり
にして)Wステージに入り、Dステージにある複合命令
CI2はEステージに入り、Iステージにある複合命令
CI3はDステージに入る。これは、複合命令CI2中
に、レジスタファイル3内のレジスタをアクセス先とす
る命令があったとしても、そのアクセス先がR1でなけ
れば、同様の結果となる。
When the WAIT signals 21 to 24 are all false values, the pipeline control mechanism 25 determines that there is no register reference relationship between the compound instructions in the pipeline.
Refrain from stopping the pipeline flow (pipe lock). As a result, in the next cycle T4, as described below, the composite instruction CI1 currently in the E stage enters the W stage (excluding the load instruction L → R1 during block read), and enters the composite stage in the D stage. The instruction CI2 enters the E stage, and the composite instruction CI3 in the I stage enters the D stage. This is the same result even if there is an instruction in the compound instruction CI2 to access the register in the register file 3 if the access destination is not R1.

【0030】さて、サイクルT3では、上記したように
解読/レジスタリード機構4から値が“0100”の4
ビットレジスタ使用信号41が出力されることから、R
2に対応するフラグレジスタ10内のビットb1が、サイ
クルT3の終了時にセットされる。これにより、フラグ
レジスタ10の内容は“1000”から“1100”と
なる。
In cycle T3, as described above, the decoding / register reading mechanism 4 outputs the value "4" of "0100".
Since the bit register use signal 41 is output, R
Bit b1 in flag register 10 corresponding to 2 is set at the end of cycle T3. As a result, the content of the flag register 10 changes from "1000" to "1100".

【0031】次のサイクルT4では、演算結果レジスタ
35に保持された複合命令CI1中の+,×,−の各命
令の演算結果を指定された書込み先に書込むためのWス
テージが行われる。また、解読結果レジスタ5に保持さ
れた複合命令CI2中の−,+,×の各命令の解読結果
に従い、演算実行機構6において−,+,×の各演算
(Eステージ)が並列に行われ、セレクタ32〜34を
介して演算結果レジスタ35に保持される。
In the next cycle T4, a W stage for writing the operation result of each of the +, ×, and − instructions in the composite instruction CI1 held in the operation result register 35 to the designated write destination is performed. Further, in accordance with the decoding result of each of the-, +, and x instructions in the composite instruction CI2 held in the decoding result register 5, each of the-, +, and -X operations (E stage) is performed in parallel in the execution unit 6. , Are held in the operation result register 35 via the selectors 32 to 34.

【0032】またサイクルT4では、解読結果レジスタ
5に保持された複合命令CI2中のロード命令L→R2
の解読結果に従い、ロード実行機構7において、ロード
データ読出しのための処理が行われる。ここで、目的ロ
ードデータがオペランドキャッシュに存在しないミスヒ
ットが検出されたものとすると、ブロックリードが開始
され、ヒット検出信号8は偽値のままとなる。
In cycle T4, load instruction L → R2 in compound instruction CI2 held in decoding result register 5
According to the result of decoding, the load execution mechanism 7 performs a process for reading the load data. Here, assuming that a mishit in which the target load data does not exist in the operand cache is detected, block reading is started, and the hit detection signal 8 remains a false value.

【0033】更にサイクルT4では、命令レジスタ2に
保持された3番目の複合命令CI3の各命令を対象とす
るDステージが解読/レジスタリード機構4によって行
われ、その結果が解読結果レジスタ5に保持される。
Further, in cycle T4, the D stage for each instruction of the third compound instruction CI3 held in the instruction register 2 is executed by the decoding / register reading mechanism 4, and the result is held in the decoding result register 5. Is done.

【0034】上記複合命令CI3のDステージでは、解
読した4命令中にロード命令L→R3があるために、解
読/レジスタリード機構4から値が“0010”の4ビ
ットレジスタ使用信号41が出力される。また、他の3
命令中にレジスタファイル3内のレジスタをアクセス先
(参照先、書込み先)とする命令が無いものとすると、
解読/レジスタリード機構4から値が“0010”の4
ビットレジスタ使用信号42が出力される。このときフ
ラグレジスタ10の内容は“1100”であり、アンド
ゲート11〜14の出力信号であるWAIT信号21〜
24は真値とはならない。このため、パイプロックはな
されず、次のサイクルT5では、現在Eステージにある
複合命令CI2はブロックリード中のロード命令L→R
2をおいてきぼりにしてWステージに入り、Dステージ
にある複合命令CI3はEステージに入る。
In the D stage of the compound instruction CI3, since the load instruction L → R3 is included in the decoded four instructions, the decode / register read mechanism 4 outputs the 4-bit register use signal 41 having the value “0010”. You. In addition, other three
Assuming that there is no instruction that makes the register in the register file 3 an access destination (reference destination, write destination) in the instruction,
From the decryption / register read mechanism 4, the value of "0010"
A bit register use signal 42 is output. At this time, the content of the flag register 10 is “1100”, and the WAIT signals 21 to 21 which are the output signals of the AND gates 11 to 14 are output.
24 is not a true value. For this reason, no pipe lock is performed, and in the next cycle T5, the composite instruction CI2 currently in the E stage is changed from the load instruction L → R
After entering 2, the stage enters the W stage, and the compound instruction CI3 in the D stage enters the E stage.

【0035】(ケース2)次に、ケース2について、図
3のタイミングチャートを参照して説明する。ここで
は、図3に示すように、先頭の複合命令CI11が、ロ
ード命令L→R1、加算命令+、乗算命令×、および減
算命令−の4命令であり、複合命令CI12が、ロード
命令L→R2、減算命令−、レジスタR1,R2の各内
容を加算する加算命令R1+R2、および乗算命令×の
4命令であり、複合命令CI13が、ロード命令L→R
3、減算命令−、除算命令÷、および減算命令−の4命
令であり、複合命令CI11→CI12間にレジスタR
1の参照関係が有るものとする。
(Case 2) Next, Case 2 will be described with reference to the timing chart of FIG. Here, as shown in FIG. 3, the first composite instruction CI11 is a load instruction L → R1, an addition instruction +, a multiplication instruction ×, and a subtraction instruction −, and the composite instruction CI12 is a load instruction L → R2, a subtraction instruction-, an addition instruction R1 + R2 for adding the contents of the registers R1 and R2, and a multiplication instruction x.
3, a subtraction instruction-, a division instruction ÷, and a subtraction instruction-.
Assume that there is a reference relationship of 1.

【0036】このケース2では、まずサイクルT1で、
複合命令CI11をフェッチするIステージが行われ
る。次のサイクルT2では、複合命令CI11を解読す
るDステージが行われると共に、複合命令CI11の次
の複合命令CI12をフェッチするIステージが行われ
る。複合命令CI11のDステージでは、同CI1にロ
ード命令L→R1が含まれているために、値が“100
0”のレジスタ使用信号41が解読/レジスタリード機
構4から出力され、これによりサイクルT2の終了時に
は、フラグレジスタ10の内容が“1000”となる。
In case 2, first, in cycle T1,
An I stage for fetching the compound instruction CI11 is performed. In the next cycle T2, a D stage for decoding the compound instruction CI11 is performed, and an I stage for fetching the compound instruction CI12 next to the compound instruction CI11 is performed. In the D stage of the compound instruction CI11, the value is “100” because the load instruction L → R1 is included in the CI1.
A register use signal 41 of "0" is output from the decryption / register read mechanism 4, whereby the content of the flag register 10 becomes "1000" at the end of the cycle T2.

【0037】次のサイクルT3では、複合命令CI11
中の+,×,−の各命令のDステージの結果に従い、演
算実行機構6において+,×,−の各演算(Eステー
ジ)が並列に行われ、セレクタ32〜34を介して演算
結果レジスタ35に保持される。
In the next cycle T3, the composite instruction CI11
In accordance with the result of the D stage of each of the +, ×, and − instructions, the +, ×, and − operations (E stage) are performed in parallel in the operation execution mechanism 6, and the operation result registers are provided via selectors 32 to 34. 35.

【0038】またサイクルT3では、複合命令CI11
中のロード命令L→R1のDステージの結果に従い、ロ
ード実行機構7において、ロードデータ読出しのための
処理が行われる。ここで、目的ロードデータがオペラン
ドキャッシュに存在しないミスヒットが検出されたもの
とすると、ブロックリードが開始され、ヒット検出信号
8は偽値のままとなる。
In cycle T3, compound instruction CI11
According to the result of the D stage of the middle load instruction L → R1, the load execution mechanism 7 performs a process for reading the load data. Here, assuming that a mishit in which the target load data does not exist in the operand cache is detected, block reading is started, and the hit detection signal 8 remains a false value.

【0039】更にサイクルT3では、2番目の複合命令
CI12の各命令を対象とするDステージが解読/レジ
スタリード機構4によって行われる。同時に、複合命令
CI12の次の複合命令CI13が命令フェッチ機構1
によってフェッチされる。
In the cycle T3, the D stage for each instruction of the second compound instruction CI12 is performed by the decoding / register reading mechanism 4. At the same time, the compound instruction CI13 following the compound instruction CI12 is
Fetched by

【0040】さて、複合命令CI12のDステージで
は、同命令CI12にロード命令L→R2が含まれてい
るために、値が“0100”のレジスタ使用信号41が
解読/レジスタリード機構4から出力される。また、命
令CI12には、加算命令R1+R2も含まれているこ
とから、残りの命令中にレジスタファイル3内のレジス
タをアクセス先(参照先、書込み先)とする命令が無い
ものとすると、解読/レジスタリード機構4からは値が
“1100”の4ビットレジスタ使用信号42が出力さ
れる。このときフラグレジスタ10の内容は“100
0”、ヒット検出信号8は偽値であることから、アンド
ゲート11〜14からのWAIT信号21〜24のう
ち、WAIT信号21だけが真値となる。
In the D stage of the compound instruction CI12, since the load instruction L → R2 is included in the instruction CI12, the register use signal 41 having the value “0100” is output from the decoding / register reading mechanism 4. You. Since the instruction CI12 also includes the addition instruction R1 + R2, if there is no instruction that makes the register in the register file 3 an access destination (reference destination or write destination) among the remaining instructions, the decoding / The register read mechanism 4 outputs a 4-bit register use signal 42 having a value of “1100”. At this time, the content of the flag register 10 is "100
Since the hit detection signal 8 is a false value, only the WAIT signal 21 of the WAIT signals 21 to 24 from the AND gates 11 to 14 has a true value.

【0041】このようにWAIT信号21〜24のうち
の少なくとも1つ(ここではWAIT信号21)が真値
の場合、パイプライン制御機構25は現在実行中の複合
命令と後続の複合命令との間にレジスタ参照関係が有る
ものとして、パイプラインの流れを止めるパイプロック
を行う。これにより、実行中複合命令CI11の次の
(加算命令R1+R2を含む)複合命令CI12はDス
テージで、更に次の複合命令CI13はIステージで、
それぞれ以下に述べるように複合命令CI1中のロード
命令L→R1の実行完了まで待たされる。
As described above, when at least one of the WAIT signals 21 to 24 (here, the WAIT signal 21) is a true value, the pipeline control mechanism 25 determines whether or not the currently executed composite instruction and a subsequent composite instruction are to be executed. , A pipe lock for stopping the pipeline flow is performed. As a result, the compound instruction CI12 (including the addition instruction R1 + R2) next to the currently executing compound instruction CI11 is at the D stage, and the next compound instruction CI13 is at the I stage.
As described below, the process waits until the execution of the load instruction L → R1 in the composite instruction CI1 is completed.

【0042】さて本実施例では、複合命令CI11中の
ロード命令L→R1に従うロード実行機構7のブロック
リード処理がサイクルT5で完了し、指定されたデータ
(ロードデータ)がロード実行機構7から出力されたも
のとする。このロードデータはセレクタ31によって選
択され、サイクルT5の終了時に演算結果レジスタ35
に保持される。また、上記のロードデータは、解読/レ
ジスタリード機構4によってレジスタR1から読出され
たデータであるかのように、解読結果レジスタ5に保持
される。
In this embodiment, the block read process of the load execution unit 7 according to the load instruction L → R1 in the compound instruction CI11 is completed in cycle T5, and the designated data (load data) is output from the load execution unit 7. It shall have been done. This load data is selected by the selector 31 and, at the end of the cycle T5, the operation result register 35
Is held. The load data is held in the decoding result register 5 as if it were data read from the register R1 by the decoding / register reading mechanism 4.

【0043】上記のように、サイクルT5において複合
命令CI11中のロード命令L→R1の処理が完了する
と、R1に対応するフラグレジスタ10内のビットb0
がリセットされる。これにより、フラグレジスタ10の
内容は“1100”から“0100”に変化する。この
とき、Dステージには加算命令R1+R2を含む複合命
令CI12が止められているため、解読/レジスタリー
ド機構4から出力されるレジスタ使用信号42は“11
00”のままであるが、フラグレジスタ10の内容が
“0100”となったために、アンドゲート11〜14
のAND条件は成立せず、WAIT信号21〜24は全
て偽値となる。この結果、パイプライン制御機構25は
パイプライン中の複合命令間にレジスタ参照関係が無く
なったものとして、パイプロックを解除する。この結
果、次のサイクルT6では、以下に述べるように、現在
Eステージにある複合命令CI11はWステージに入
り、Dステージにある複合命令CI12はEステージに
入り、Iステージにある複合命令CI13はDステージ
に入る。
As described above, when the processing of the load instruction L → R1 in the composite instruction CI11 is completed in the cycle T5, the bit b0 in the flag register 10 corresponding to R1 is set.
Is reset. As a result, the content of the flag register 10 changes from “1100” to “0100”. At this time, since the composite instruction CI12 including the addition instruction R1 + R2 is stopped in the D stage, the register use signal 42 output from the decoding / register read mechanism 4 is "11".
00 ", but since the contents of the flag register 10 have become" 0100 ", the AND gates 11 to 14
Are not satisfied, and all of the WAIT signals 21 to 24 become false values. As a result, the pipeline control mechanism 25 releases the pipe lock on the assumption that there is no register reference relationship between the compound instructions in the pipeline. As a result, in the next cycle T6, the compound instruction CI11 currently in the E stage enters the W stage, the compound instruction CI12 in the D stage enters the E stage, and the compound instruction CI13 in the I stage enters Enter the D stage.

【0044】なお、ロード実行機構7における複合命令
CI11中のロード命令L→R1に対する処理で、キャ
ッシュヒットが検出されてヒット検出信号8が真値とな
った場合には、複合命令CI11と後続の複合命令C1
2との間にレジスタR1の参照関係があったとしても、
アンドゲート11(〜14)のAND条件は成立せず、
WAIT信号21(〜24)は偽値となる。この場合、
パイプライン制御機構25はパイプラインの流れを止め
ない。これは、ロード実行機構7でキャッシュヒットが
検出された場合には、そのサイクルでロード処理が完了
して、目的のロードデータが演算結果レジスタ35およ
び解読結果レジスタ5に保持され、次のサイクルでその
ロードデータを用いた加算命令R1+R2が行えるため
である。以上は、4命令を並列に処理する並列演算処理
装置について説明したが、本発明は複数の命令を並列に
処理する並列演算処理装置全般に適用可能である。ま
た、説明の簡略化のために、複合命令に含まれるロード
命令は1つに制限されているものとして説明したが、こ
れに限るものではないことは勿論である。
In the processing of the load instruction L → R1 in the composite instruction CI11 in the load execution unit 7, if a cache hit is detected and the hit detection signal 8 becomes a true value, the composite instruction CI11 and the succeeding instruction Compound instruction C1
Even if there is a reference relationship of register R1 with
The AND condition of AND gate 11 (~ 14) is not satisfied,
The WAIT signal 21 (to 24) becomes a false value. in this case,
The pipeline control mechanism 25 does not stop the flow of the pipeline. That is, when a cache hit is detected by the load execution unit 7, the load processing is completed in that cycle, the target load data is held in the operation result register 35 and the decryption result register 5, and in the next cycle, This is because the addition instruction R1 + R2 using the load data can be performed. In the above, the parallel processing device that processes four instructions in parallel has been described. However, the present invention is applicable to all parallel processing devices that process a plurality of instructions in parallel. Further, for simplicity of description, the description has been made assuming that the number of load instructions included in the compound instruction is limited to one, but it is a matter of course that the present invention is not limited to this.

【0045】[0045]

【発明の効果】以上詳述したようにこの発明によれば、
パイプライン方式の並列演算処理装置において、先行す
る複合命令と後続の複合命令との間に少なくとも1つの
依存関係が存在するか否かを調べ、依存関係が存在しな
い場合には、たとえ先行複合命令中にロード命令が含ま
れていても後続複合命令を待たせない構成としたので、
ロード命令がキャッシュミスヒットとなって長時間のブ
ロックリード処理が行われたとしても、そのブロックリ
ード中のロード命令だけをおいてきぼりにして後続複合
命令を実行させることができ、この後続複合命令の待ち
時間をできるだけ少なくして、処理性能を向上させるこ
とができる。
As described in detail above, according to the present invention,
In a parallel processing device of a pipeline system, it is checked whether or not at least one dependency exists between a preceding compound instruction and a following compound instruction. Even if a load instruction is included, the following compound instruction is not made to wait.
Even if a load instruction causes a cache miss and a long block read process is performed, only the load instruction during the block read can be narrowed down and the subsequent compound instruction can be executed. The processing performance can be improved by minimizing the time.

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

【図1】この発明の一実施例に係る並列演算処理装置の
構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a parallel operation processing device according to one embodiment of the present invention.

【図2】同実施例において複合命令間にレジスタ参照関
係の無い場合の動作を説明するためのタイミングチャー
ト。
FIG. 2 is a timing chart for explaining an operation when there is no register reference relationship between compound instructions in the embodiment.

【図3】同実施例において複合命令間にレジスタ参照関
係の有る場合の動作を説明するためのタイミングチャー
ト。
FIG. 3 is a timing chart for explaining an operation when a compound instruction has a register reference relationship in the embodiment.

【符号の説明】[Explanation of symbols]

1…命令フェッチ機構、2…命令レジスタ、3…レジス
タファイル、4…解読/レジスタリード機構、5…解読
結果レジスタ、6…演算実行機構、7…ロード実行機
構、9…依存関係検出回路、10…フラグレジスタ(状
態保持手段)、11〜14…アンドゲート(一致検出手
段)、25…パイプライン制御機構、35…演算結果レ
ジスタ。
DESCRIPTION OF SYMBOLS 1 ... Instruction fetch mechanism, 2 ... instruction register, 3 ... register file, 4 ... decoding / register read mechanism, 5 ... decoding result register, 6 ... operation execution mechanism, 7 ... load execution mechanism, 9 ... dependency detection circuit, 10 ... Flag registers (state holding means), 11 to 14 AND gates (coincidence detecting means), 25... Pipeline control mechanism, 35.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 命令フェッチ機構によってフェッチされ
た複数の命令を並列に処理することが可能なパイプライ
ン方式の並列演算処理装置において、 前記命令フェッチ機構によって先にフェッチされた先行
する複数の命令と後にフェッチされた後続の複数の命令
との間に、少なくとも1つの依存関係が存在することを
検出するための依存関係検出手段と、 この依存関係検出手段の検出結果に応じてパイプライン
の流れを制御するパイプライン制御機構とを具備し、 前記パイプライン制御機構は、前記先行する複数の命令
と後続の複数の命令との間に依存関係が存在しないこと
が前記依存関係検出手段によって検出された場合には、
前記先行する複数の命令中にロード命令が含まれていて
も、前記後続の複数の命令を待たせないようにしたこと
を特徴とする並列演算処理装置。
1. A pipeline-type parallel processing device capable of processing a plurality of instructions fetched by an instruction fetch mechanism in parallel, comprising: a plurality of preceding instructions fetched earlier by said instruction fetch mechanism; Dependency detection means for detecting that at least one dependency exists between a plurality of subsequent instructions fetched later, and a flow of the pipeline according to a detection result of the dependency detection means. A pipeline control mechanism for controlling, wherein the pipeline control mechanism detects that there is no dependency between the preceding plurality of instructions and the following plurality of instructions by the dependency detection unit. in case of,
A parallel processing device, wherein even if a load instruction is included in the preceding plurality of instructions, the subsequent plurality of instructions are not made to wait.
【請求項2】 前記依存関係検出手段は、前記先行する
複数の命令中にロード命令が含まれている場合に、同ロ
ード命令によって指定されるロードデータ書込み先が使
用状態にあることを示す状態保持手段と、この状態保持
手段によって示されているロードデータ書込み先が、前
記後続の複数の命令のいずれかによって指定されるアク
セス先に一致することを検出するための一致検出手段と
を備えていることを特徴とする請求項1記載の並列演算
処理装置。
2. A state in which, when a load instruction is included in the plurality of preceding instructions, the dependency detection unit indicates that a load data write destination specified by the load instruction is in use. Holding means, and match detecting means for detecting that the load data write destination indicated by the state holding means matches the access destination specified by any of the subsequent instructions. 2. The parallel processing device according to claim 1, wherein:
JP26458491A 1991-10-14 1991-10-14 Parallel processing unit Expired - Fee Related JP2904624B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26458491A JP2904624B2 (en) 1991-10-14 1991-10-14 Parallel processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26458491A JP2904624B2 (en) 1991-10-14 1991-10-14 Parallel processing unit

Publications (2)

Publication Number Publication Date
JPH05108348A JPH05108348A (en) 1993-04-30
JP2904624B2 true JP2904624B2 (en) 1999-06-14

Family

ID=17405328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26458491A Expired - Fee Related JP2904624B2 (en) 1991-10-14 1991-10-14 Parallel processing unit

Country Status (1)

Country Link
JP (1) JP2904624B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996027833A1 (en) * 1995-03-06 1996-09-12 Hitachi, Ltd. Information processor
US6088788A (en) * 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor

Also Published As

Publication number Publication date
JPH05108348A (en) 1993-04-30

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6721874B1 (en) Method and system for dynamically shared completion table supporting multiple threads in a processing system
EP0380850B1 (en) Method and digital computer for preproccessing multiple instructions
US6907520B2 (en) Threshold-based load address prediction and new thread identification in a multithreaded microprocessor
US8555039B2 (en) System and method for using a local condition code register for accelerating conditional instruction execution in a pipeline processor
JP2938426B2 (en) Method and apparatus for detecting and recovering interference between out-of-order load and store instructions
TWI507980B (en) Optimizing register initialization operations
US7111126B2 (en) Apparatus and method for loading data values
US5701430A (en) Cross-cache-line compounding algorithm for scism processors
JP2937485B2 (en) Method and apparatus for detecting and executing traps in a superscalar processor
JPH07281896A (en) Information processor
JP2911278B2 (en) Processor
JPH04367936A (en) Superscalar processor
US6289437B1 (en) Data processing system and method for implementing an efficient out-of-order issue mechanism
JP2003523573A (en) System and method for reducing write traffic in a processor
JPH03282958A (en) Electronic computer
JPH0823818B2 (en) Instruction group microcode generator and combination device in computer
US5778248A (en) Fast microprocessor stage bypass logic enable
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
US5761467A (en) System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field
JPH02227730A (en) Data processing system
JP2535252B2 (en) Parallel processor
JP2004529405A (en) Superscalar processor implementing content addressable memory for determining dependencies
KR20010077997A (en) System and method in a pipelined processor for generating a single cycle pipeline stall
US20040148493A1 (en) Apparatus, system and method for quickly determining an oldest instruction in a non-moving instruction queue

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees