JP2925842B2 - Pipeline processing equipment - Google Patents
Pipeline processing equipmentInfo
- Publication number
- JP2925842B2 JP2925842B2 JP17403392A JP17403392A JP2925842B2 JP 2925842 B2 JP2925842 B2 JP 2925842B2 JP 17403392 A JP17403392 A JP 17403392A JP 17403392 A JP17403392 A JP 17403392A JP 2925842 B2 JP2925842 B2 JP 2925842B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- pipeline processing
- data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、各命令を複数のステー
ジに分割してパイプライン処理するパイプライン処理装
置に関し、さらに詳述すると、ある命令の実行により得
られるデータを他の命令に高速で渡して処理するパイプ
ライン処理装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pipeline processing apparatus for dividing each instruction into a plurality of stages and performing pipeline processing. The present invention relates to a pipeline processing device for passing and processing.
【0002】[0002]
【従来の技術】従来、情報処理装置においては、各命令
を複数のステージに分割し、ある命令のステージの実行
が完了すると該ステージに対応する次の命令のステージ
が実行されることにより、1つのステージの実行時間毎
に1つの命令の結果が得られるようにし、これによって
処理速度を向上させることが行われている。このように
各命令を複数のステージに分割して実行する情報処理装
置はパイプライン処理装置と呼ばれている。2. Description of the Related Art Conventionally, in an information processing apparatus, each instruction is divided into a plurality of stages, and when the execution of a stage of a certain instruction is completed, the stage of the next instruction corresponding to the stage is executed. It has been attempted to obtain a result of one instruction every execution time of one stage, thereby improving the processing speed. Such an information processing device that executes each instruction by dividing it into a plurality of stages is called a pipeline processing device.
【0003】このような従来のパイプライン処理装置で
は、各命令は、命令読み出しステージ(IFステー
ジ)、命令デコードステージ(DECステージ)、実行
ステージ(EXステージ)、メモリステージ(MEMス
テージ)及び書き込みステージ(WBステージ)の5つ
のステージに分割されて実行される。IFステージでは
命令の読み出しを行い、DECステージでは命令のデコ
ードとレジスタの読み出しとを行い、EXステージでは
命令が指定する演算を行い、MEMステージでは命令が
ロード命令又はストア命令の場合にメモリをアクセス
し、WBステージではレジスタファイルへデータの格納
を行う。In such a conventional pipeline processing apparatus, each instruction includes an instruction read stage (IF stage), an instruction decode stage (DEC stage), an execution stage (EX stage), a memory stage (MEM stage), and a write stage. (WB stage) and executed. In the IF stage, the instruction is read, the DEC stage decodes the instruction and reads the register, the EX stage performs the operation specified by the instruction, and the MEM stage accesses the memory when the instruction is a load instruction or a store instruction. In the WB stage, data is stored in the register file.
【0004】以下従来のパイプライン処理装置の具体的
な例を図面に基づいて説明する。Hereinafter, a specific example of a conventional pipeline processing apparatus will be described with reference to the drawings.
【0005】図5は第1の従来例に係るパイプライン処
理装置を示すブロック図である。同図において、第1の
従来例のパイプライン処理装置は、第1及び第2の演算
装置60a及び60bを備え、第1の演算装置60aは
先に実行すべき第1の命令をパイプライン処理すると同
時に、第2の演算装置60bは第1の命令の次に実行す
べき第2の命令をパイプライン処理する。第1の演算装
置60aは、第1のEXステージ演算装置53aと第1
のMEMステージ保持回路54aと第1の選択回路55
aと第1のWBステージ保持回路56aとを有してい
る。同様に、第2の演算装置60bは、第2のEXステ
ージ演算装置53bと第2のMEMステージ保持回路5
4bと第2の選択回路55bと第2のWBステージ保持
回路56bとを有している。FIG. 5 is a block diagram showing a first conventional pipeline processing apparatus. In FIG. 1, a first conventional pipeline processing device includes first and second arithmetic devices 60a and 60b, and the first arithmetic device 60a processes a first instruction to be executed first by pipeline processing. At the same time, the second arithmetic unit 60b performs a pipeline process on a second instruction to be executed next to the first instruction. The first arithmetic unit 60a includes a first EX stage arithmetic unit 53a and a first EX stage arithmetic unit 53a.
MEM stage holding circuit 54a and first selection circuit 55
a and a first WB stage holding circuit 56a. Similarly, the second arithmetic unit 60b includes the second EX stage arithmetic unit 53b and the second MEM stage holding circuit 5
4b, a second selection circuit 55b, and a second WB stage holding circuit 56b.
【0006】また、第1の従来例のパイプライン処理装
置は第1及び第2の演算装置60a、60bにより共用
されるレジスタファイル51を備え、レジスタファイル
51は多数のレジスタ52a,52b,52c,52d
…を有している。ここでは、レジスタ52a及び52b
に格納されているデータは第1のEXステージ演算装置
53aにおける第1の命令の演算に用いられ、レジスタ
52c及び52dに格納されているデータは第2のEX
ステージ演算装置53bにおける第2の命令の演算に用
いられるものとする。第1のEXステージ演算装置53
aにおける演算結果は、第1のMEMステージ保持回路
54aと第1の選択回路55aと第1のWBステージ保
持回路56aとを経てレジスタファイル51に格納され
る。同様に、第2のEXステージ演算装置53bにおけ
る演算結果は、第2のMEMステージ保持回路54bと
第2の選択回路55bと第2のWBステージ保持回路5
6bとを経てレジスタファイル51に格納される。The first conventional pipeline processing device includes a register file 51 shared by the first and second arithmetic units 60a and 60b. The register file 51 includes a large number of registers 52a, 52b, 52c, and 52. 52d
…have. Here, the registers 52a and 52b
Are used for the operation of the first instruction in the first EX stage operation device 53a, and the data stored in the registers 52c and 52d are the second EX stage operation device 53a.
It is assumed that it is used for the operation of the second instruction in the stage operation device 53b. First EX stage arithmetic unit 53
The calculation result at a is stored in the register file 51 via the first MEM stage holding circuit 54a, the first selecting circuit 55a, and the first WB stage holding circuit 56a. Similarly, the operation result in the second EX stage operation device 53b is based on the second MEM stage holding circuit 54b, the second selection circuit 55b, and the second WB stage holding circuit 5
6b and stored in the register file 51.
【0007】第1の従来例のパイプライン処理装置にお
いて、先に実行すべき第1の命令がロード命令LDであ
り、次に実行すべき第2の命令が演算命令であって、第
1の命令と第2の命令との間にデータの依存関係がある
場合、即ち、第1の命令であるロード命令LDによりメ
モリ装置58からロードされるロードデータが第2の命
令である演算命令で用いられる場合には、第1の命令で
あるロード命令LDによりメモリ装置58から読み出さ
れたロードデータは、バイパス経路59aまたは59b
を経て、第1のEXステージ演算装置53aまたは第2
のEXステージ演算装置53bに入力される。In the first conventional pipeline processing apparatus, the first instruction to be executed first is a load instruction LD, the second instruction to be executed next is an operation instruction, and When there is a data dependency between the instruction and the second instruction, that is, the load data loaded from the memory device 58 by the load instruction LD as the first instruction is used in the operation instruction as the second instruction. In this case, the load data read from the memory device 58 by the load instruction LD, which is the first instruction, is stored in the bypass path 59a or 59b.
Through the first EX stage operation device 53a or the second EX stage operation device 53a
Is input to the EX stage arithmetic unit 53b.
【0008】図6は第1の従来例に係るパイプライン処
理装置の動作を示す図である。同図において、2つの命
令のうち先に実行すべき第1の命令はロード命令LDで
あり、該ロード命令LDは、レジスタr1に格納されて
いるデータとレジスタr2に格納されているデータとの
和をメモリ装置58のアドレスとし、該アドレスに格納
されているデータをメモリ装置58から読みだし、該メ
モリ装置58から読み出されたロードデータをレジスタ
r3に格納する命令である。第1の命令の次に実行すべ
き第2の命令は加算命令ADDであり、該加算命令AD
Dは、レジスタr3に格納されているデータとレジスタ
r4に格納されているデータとを加算して、その演算結
果をレジスタr5に格納する命令である。ところが、第
2の命令である加算命令ADDのDECステージにおい
てレジスタr3から読み出されるデータは、第1の命令
であるロード命令LDの実行により書き換えられる前の
データなので第2の命令である加算命令ADDの演算に
用いることはできない。第1の命令であるロード命令L
Dの実行により得られるロードデータは第1の命令のW
Bステージにおいてレジスタr3に格納される。そこ
で、レジスタr3に格納する前の第1の命令のMEMス
テージにおいてメモリ装置58から読み出されたロード
データが第2のEXステージ演算装置53bに転送され
る。しかし、第2の命令である加算命令ADDの演算の
実行を行なう第2の命令のEXステージは2サイクル遅
れることになる。ここで、STALLで示すステージは
演算の実行待ちのステージである。FIG. 6 is a diagram showing the operation of the pipeline processing apparatus according to the first conventional example. In the figure, the first instruction to be executed first among the two instructions is a load instruction LD, and the load instruction LD is composed of the data stored in the register r1 and the data stored in the register r2. The instruction is to set the sum as an address of the memory device 58, read data stored at the address from the memory device 58, and store the load data read from the memory device 58 in the register r3. The second instruction to be executed next to the first instruction is an addition instruction ADD, and the addition instruction AD
D is an instruction to add the data stored in the register r3 and the data stored in the register r4 and store the result of the operation in the register r5. However, the data read from the register r3 in the DEC stage of the addition instruction ADD as the second instruction is data before being rewritten by the execution of the load instruction LD as the first instruction, and thus the addition instruction ADD as the second instruction. Cannot be used for the calculation of Load instruction L, which is the first instruction
The load data obtained by the execution of D is the W of the first instruction.
The data is stored in the register r3 in the B stage. Therefore, the load data read from the memory device 58 in the MEM stage of the first instruction before being stored in the register r3 is transferred to the second EX stage operation device 53b. However, the EX stage of the second instruction that executes the operation of the addition instruction ADD, which is the second instruction, is delayed by two cycles. Here, the stage indicated by STALL is a stage waiting for execution of an operation.
【0009】図7は第2の従来例に係るパイプライン処
理装置を示すブロック図である。同図に示すように、第
2の従来例のパイプライン処理装置は、第1の従来例の
パイプライン処理装置における第1の演算装置60aの
第1のEXステージ演算装置53a及び第1のMEMス
テージ保持回路54aの代わりに、第1の演算装置60
cに乗算装置53cを設けたものである。第2の従来例
のパイプライン処理装置は、第1及び第2の演算装置6
0c及び60bを備え、第1の演算装置60cは先に実
行すべき第1の命令をパイプライン処理すると同時に、
第2の演算装置60bは第1の命令の次に実行すべき第
2の命令をパイプライン処理する。FIG. 7 is a block diagram showing a pipeline processing apparatus according to a second conventional example. As shown in the figure, the second conventional pipeline processing device is a first EX stage arithmetic device 53a and a first MEM of the first arithmetic device 60a in the first conventional pipeline processing device. Instead of the stage holding circuit 54a, the first arithmetic unit 60
c is provided with a multiplication device 53c. The second conventional pipeline processing device includes first and second arithmetic units 6.
0c and 60b, the first arithmetic unit 60c pipelines the first instruction to be executed first,
The second arithmetic unit 60b pipelines a second instruction to be executed next to the first instruction.
【0010】ここでは、レジスタファイル51のレジス
タ52a及び52bに格納されているデータは乗算装置
53cにおける第1の命令の演算に用いられるものとす
る。乗算装置53cにおける演算結果は、第1の選択回
路55aと第1のWBステージ保持回路56aとを経て
レジスタファイル51に格納される。Here, it is assumed that the data stored in the registers 52a and 52b of the register file 51 is used for the operation of the first instruction in the multiplier 53c. The calculation result in the multiplication device 53c is stored in the register file 51 via the first selection circuit 55a and the first WB stage holding circuit 56a.
【0011】第2の従来例のパイプライン処理装置にお
いて、先に実行すべき第1の命令が乗算命令MULであ
り且つ次に実行すべき第2の命令が演算命令であって、
第1の命令と第2の命令との間にデータ依存関係がある
場合、即ち、第1の命令である乗算命令MULの演算結
果が第2の命令である演算命令で用いられる場合には、
第1の命令である乗算命令MULの演算結果は、バイパ
ス経路59aまたは59bを経て、乗算装置53cまた
はEXステージ演算装置53bに入力される。In the second conventional pipeline processing apparatus, the first instruction to be executed first is a multiplication instruction MUL, and the second instruction to be executed next is an operation instruction,
When there is a data dependency between the first instruction and the second instruction, that is, when the operation result of the multiplication instruction MUL as the first instruction is used in the operation instruction as the second instruction,
The operation result of the multiplication instruction MUL, which is the first instruction, is input to the multiplication device 53c or the EX stage operation device 53b via the bypass path 59a or 59b.
【0012】図8は第2の従来例に係るパイプライン処
理装置の動作を示す図である。同図において、2つの命
令のうち先に実行すべき第1の命令は乗算命令MULで
あり、該乗算命令MULは、レジスタr1に格納されて
いるデータとレジスタr2に格納されているデータとの
積をレジスタr3に格納する命令であり、乗算演算を実
行するために2サイクルの時間を必要とする。第1の命
令の次に実行すべき第2の命令は加算命令ADDであ
り、該加算命令ADDは、レジスタr3に格納されてい
るデータとレジスタr4に格納されているデータとを加
算して、その演算結果をレジスタr5に格納する命令で
ある。ところが、第2の命令である加算命令ADDのD
ECステージにおいてレジスタr3から読み出されるデ
ータは、第1の命令である乗算命令MULの実行により
書き換えられる前のデータなので第2の命令である加算
命令ADDの演算に用いることはできない。第1の命令
である乗算命令MULの演算結果は第1の命令のWBス
テージにおいてレジスタr3に格納される。そこで、レ
ジスタr3に格納する前の第1の命令のEX2ステージ
において乗算の演算結果がEXステージ演算装置53b
に転送される。しかし、第2の命令である加算命令AD
Dの演算の実行を行なう第2の命令のEXステージは2
サイクル遅れることになる。ここで、第1の命令におけ
るステージEX1及びEX2は乗算命令MULの2サイ
クルの実行ステージであり、STALLで示すステージ
は演算の実行待ちのステージである。FIG. 8 is a diagram showing the operation of a second conventional pipeline processing apparatus. In the figure, of the two instructions, the first instruction to be executed first is a multiplication instruction MUL, and the multiplication instruction MUL is composed of the data stored in the register r1 and the data stored in the register r2. This instruction stores the product in the register r3, and requires two cycles of time to execute the multiplication operation. The second instruction to be executed next to the first instruction is an addition instruction ADD. The addition instruction ADD adds the data stored in the register r3 and the data stored in the register r4, This is an instruction to store the operation result in the register r5. However, D of the second instruction, the add instruction ADD,
The data read from the register r3 in the EC stage is data before being rewritten by the execution of the multiplication instruction MUL as the first instruction, and thus cannot be used for the operation of the addition instruction ADD as the second instruction. The operation result of the multiplication instruction MUL, which is the first instruction, is stored in the register r3 in the WB stage of the first instruction. Therefore, in the EX2 stage of the first instruction before storing the result in the register r3, the result of the multiplication is stored in the EX stage operation device 53b.
Is forwarded to However, the second instruction, the addition instruction AD
The EX stage of the second instruction for executing the operation of D is 2
The cycle will be delayed. Here, the stages EX1 and EX2 in the first instruction are execution stages of the multiplication instruction MUL in two cycles, and the stage indicated by STALL is a stage waiting for execution of an operation.
【0013】[0013]
【発明が解決しようとする課題】以上の従来例に示され
るように、従来のパイプライン処理装置においては、第
1の命令と該第1の命令の次に実行すべき第2の命令と
の間にデータ依存関係があると第2の命令の実行が待た
され、処理速度の低下をもたらすという問題点がある。As shown in the above conventional example, in a conventional pipeline processing apparatus, a first instruction and a second instruction to be executed next to the first instruction are executed. If there is a data dependency between them, there is a problem that execution of the second instruction is waited and the processing speed is reduced.
【0014】本発明は、かかる問題点に鑑みてなされた
ものであり、第1の命令と該第1の命令の次に実行すべ
き第2の命令との間にデータ依存関係がある場合にも、
上記第2の命令の実行待ちの時間を少なくすることが可
能なパイプライン処理装置を提供することを目的とす
る。The present invention has been made in view of such a problem, and has been made in the case where there is a data dependency between a first instruction and a second instruction to be executed next to the first instruction. Also,
It is an object of the present invention to provide a pipeline processing device capable of reducing the execution waiting time of the second instruction.
【0015】[0015]
【問題を解決するための手段】上記の目的を達成するた
め、請求項1の発明は、第1の命令と該第1の命令の次
に実行すべきALU演算命令である第2の命令との間の
データ依存関係を検出して、第2の命令の演算を該第2
の命令の実行ステージよりも後のステージにおいて実行
するものである。In order to achieve the above object, the invention according to claim 1 comprises a first instruction and a second instruction which is an ALU operation instruction to be executed next to the first instruction. Between the second instruction and the second instruction.
Is executed in a stage after the execution stage of the instruction.
【0016】具体的に請求項1の発明が講じた解決手段
は、第1の命令と該第1の命令の次に実行すべきALU
演算命令である第2の命令とをそれぞれ複数のステージ
に分割してパイプライン処理するパイプライン処理装置
を対象とし、上記第2の命令の実行ステージよりも後の
ステージにおいて上記第2の命令の演算を実行するステ
ージ演算手段と、上記第1の命令と上記第2の命令との
間のデータ依存関係を検出するデータ依存検出手段と、
上記データ依存検出手段が上記データ依存関係を検出し
た場合に上記第2の命令の演算を上記ステージ演算手段
に実行させるように制御する制御手段とを備えている構
成とするものである。Specifically, the first aspect of the present invention provides a first instruction and an ALU to be executed next to the first instruction.
The present invention is directed to a pipeline processing apparatus that divides a second instruction, which is an operation instruction, into a plurality of stages and performs pipeline processing, and performs a processing of the second instruction at a stage subsequent to an execution stage of the second instruction. Stage operation means for performing an operation, data dependence detection means for detecting a data dependence between the first instruction and the second instruction,
Control means for controlling the stage calculation means to execute the operation of the second instruction when the data dependency detection means detects the data dependency.
【0017】請求項2の発明は、具体的には、請求項1
の構成に、上記第1の命令は、該第1の命令の実行時間
が上記第2の命令の実行時間と等しいかまたは上記第2
の命令の実行時間よりも長い命令である構成を付加する
ものである。The invention according to claim 2 is specifically described in claim 1
In the configuration, the execution time of the first instruction is equal to the execution time of the second instruction or the execution time of the second instruction is
This is to add a configuration that is an instruction longer than the execution time of the instruction.
【0018】請求項3の発明は、具体的には、請求項2
の構成に、上記第1の命令はロード命令である構成を付
加するものである。The invention according to claim 3 is specifically described in claim 2
The first instruction is added to the configuration of (1) above, which is a load instruction.
【0019】請求項4の発明は、具体的には、請求項3
の構成に、上記ステージ演算手段は、上記第2の命令の
実行ステージよりも後の書き込みステージにおいて上記
第2の命令の演算を実行する書き込みステージ演算手段
である構成を付加するものである。The invention according to claim 4 specifically relates to claim 3
In the above configuration, the stage operation means is a write stage operation means for executing the operation of the second instruction in a write stage after the execution stage of the second instruction.
【0020】また、上記の目的を達成するため、請求項
5の発明は、同時にパイプライン処理される第1の命令
とALU演算命令である第2の命令との間のデータ依存
関係を検出して、第2の命令の演算を該第2の命令の実
行ステージよりも後のステージにおいて実行するもので
ある。In order to achieve the above object, the invention of claim 5 detects a data dependency between a first instruction which is simultaneously pipelined and a second instruction which is an ALU operation instruction. Thus, the operation of the second instruction is executed in a stage after the execution stage of the second instruction.
【0021】具体的に請求項5の発明が講じた解決手段
は、第1の命令と該第1の命令の次に実行すべきALU
演算命令である第2の命令とを、それぞれ複数のステー
ジに分割して同時にパイプライン処理するパイプライン
処理装置を対象とし、上記第1の命令をパイプライン処
理する第1の演算装置と、上記第2の命令をパイプライ
ン処理する第2の演算装置と、該第2の演算装置に設け
られ、上記第2の命令の実行ステージよりも後のステー
ジにおいて上記第2の命令の演算を実行するステージ演
算手段と、上記第1の命令と上記第2の命令との間のデ
ータ依存関係を検出するデータ依存検出手段と、該デー
タ依存検出手段が上記データ依存関係を検出した場合に
上記第2の命令の演算を上記ステージ演算手段に実行さ
せるように制御する制御手段とを備えている構成とする
ものである。[0021] Specifically, the solution taken by the invention of claim 5 is a first instruction and an ALU to be executed next to the first instruction.
A first arithmetic unit for pipeline-processing the first instruction, wherein the first instruction is for a pipeline processing device that divides a second instruction, which is an arithmetic instruction, into a plurality of stages and performs pipeline processing at the same time; A second arithmetic unit for performing pipeline processing on the second instruction; and a second arithmetic unit provided in the second arithmetic unit and executing the operation of the second instruction in a stage subsequent to the execution stage of the second instruction. Stage operation means, data dependency detection means for detecting a data dependency between the first instruction and the second instruction, and second data processing when the data dependency detection means detects the data dependency. And control means for controlling the above-described operation of the instruction to be executed by the stage operation means.
【0022】請求項6の発明は、具体的には、請求項5
の構成に、上記第1の命令は、該第1の命令の実行時間
が上記第2の命令の実行時間と等しいかまたは上記第2
の命令の実行時間よりも長い命令である構成を付加する
ものである。The invention according to claim 6 specifically relates to claim 5
In the configuration, the execution time of the first instruction is equal to the execution time of the second instruction or the execution time of the second instruction is
This is to add a configuration that is an instruction longer than the execution time of the instruction.
【0023】請求項7の発明は、具体的には、請求項6
の構成に、上記第1の命令はロード命令である構成を付
加するものである。The invention according to claim 7 is specifically described in claim 6
The first instruction is added to the configuration of (1) above, which is a load instruction.
【0024】請求項8の発明は、具体的には、請求項7
の構成に、上記ステージ演算手段は、上記第2の命令の
実行ステージよりも後の書き込みステージにおいて上記
第2の命令の演算を実行する書き込みステージ演算手段
である構成を付加するものである。The invention according to claim 8 is specifically described in claim 7
In the above configuration, the stage operation means is a write stage operation means for executing the operation of the second instruction in a write stage after the execution stage of the second instruction.
【0025】[0025]
【作用】請求項1の発明の構成により、第1の命令と該
第1の命令の次に実行すべきALU演算命令である第2
の命令との間にデータ依存関係がある場合には、データ
依存検出手段が該データ依存関係を検出し、制御手段の
制御によりステージ演算手段が第2の命令の実行ステー
ジよりも後のステージにおいて第2の命令の演算を実行
することができる。これにより、第2の命令の演算は、
該第2の命令の演算に必要なデータの取得が前記データ
依存関係により遅延しても、第2の命令の実行ステージ
よりも後のステージにおいて実行されることができる。According to the structure of the first aspect of the present invention, the first instruction and the second instruction which is an ALU operation instruction to be executed next to the first instruction are provided .
If there is a data dependency with the instruction of the second instruction, the data dependency detecting means detects the data dependency, and the control of the control means causes the stage calculation means to execute the data dependency in a stage after the execution stage of the second instruction. The operation of the second instruction can be performed. Thus, the operation of the second instruction is
Even if the acquisition of data required for the operation of the second instruction is delayed due to the data dependency, the second instruction can be executed in a stage after the execution stage of the second instruction.
【0026】請求項2の発明の構成により、例えば、第
1の命令が、その演算の実行時間が第2の命令の演算の
実行時間よりも長い乗算命令である場合には、第1の命
令と第2の命令との間のデータ依存関係は、第1の命令
である乗算命令の演算結果が第2の命令における演算に
用いられることになる。該データ依存関係がデータ依存
検出手段により検出されることにより、第1の命令の演
算結果がステージ演算手段にも入力され、該ステージ演
算手段が第2の命令の実行ステージよりも後のステージ
において第2の命令の演算を実行することができる。According to the second aspect of the present invention, for example, when the first instruction is a multiplication instruction whose execution time is longer than the execution time of the operation of the second instruction, the first instruction The data dependency between the second instruction and the second instruction is such that the operation result of the multiplication instruction as the first instruction is used for the operation in the second instruction. When the data dependence is detected by the data dependence detection unit, the operation result of the first instruction is also input to the stage operation unit, and the stage operation unit performs the operation at a stage after the execution stage of the second instruction. The operation of the second instruction can be performed.
【0027】請求項3の発明の構成により、第1の命令
はロード命令であるので、第1の命令と第2の命令との
間のデータ依存関係は、第1の命令の実行によりロード
されるロードデータが第2の命令における演算に用いら
れることになる。該データ依存関係がデータ依存検出手
段により検出されることにより、第1の命令においてロ
ードすべきロードデータがステージ演算手段にも入力さ
れ、該ステージ演算手段が第2の命令の実行ステージよ
りも後のステージにおいて第2の命令の演算を実行する
ことができる。According to the third aspect of the present invention, since the first instruction is a load instruction, the data dependency between the first instruction and the second instruction is loaded by executing the first instruction. This load data is used for the operation in the second instruction. When the data dependence is detected by the data dependence detection means, the load data to be loaded in the first instruction is also input to the stage operation means, and the stage operation means is provided after the execution stage of the second instruction. In the stage, the operation of the second instruction can be executed.
【0028】請求項4の発明の構成により、第1の命令
の実行によりロードされるロードデータを用いる第2の
命令の演算は、該第2の命令の実行ステージよりも後の
書き込みステージにおいて実行することができる。According to the structure of the fourth aspect of the present invention, the operation of the second instruction using the load data loaded by the execution of the first instruction is executed in a write stage after the execution stage of the second instruction. can do.
【0029】また、請求項5の発明の構成により、第1
の命令と第2の命令とを同時にパイプライン処理する際
に、第1の命令と該第1の命令の次に実行すべきALU
演算命令である第2の命令との間にデータ依存関係があ
る場合には、データ依存検出手段が該データ依存関係を
検出し、制御手段の制御により第2の演算装置のステー
ジ演算手段が第2の命令の実行ステージよりも後のステ
ージにおいて第2の命令の演算を実行することができ
る。According to the fifth aspect of the present invention, the first
When the first instruction and the second instruction are simultaneously pipelined, the first instruction and the ALU to be executed next to the first instruction
If there is a data dependency with the second instruction, which is an operation instruction , the data dependency detection means detects the data dependency, and the stage calculation means of the second processing device controls the stage calculation means under the control of the control means. The operation of the second instruction can be executed at a stage after the execution stage of the second instruction.
【0030】請求項6の発明の構成により、第1の命令
と第2の命令とを同時にパイプライン処理する際に、例
えば、第1の命令が、その演算の実行時間が第2の命令
の演算の実行時間よりも長い乗算命令である場合には、
第1の命令と第2の命令との間のデータ依存関係は、第
1の命令である乗算命令の演算結果が第2の命令におけ
る演算に用いられることになる。該データ依存関係がデ
ータ依存検出手段により検出されることにより、第1の
命令の演算結果が第2の演算装置のステージ演算手段に
も入力され、該ステージ演算手段が第2の命令の実行ス
テージよりも後のステージにおいて第2の命令の演算を
実行することができる。According to the configuration of the sixth aspect of the present invention, when the first instruction and the second instruction are simultaneously pipelined, for example, the execution time of the first instruction may be longer than that of the second instruction. If the multiplication instruction is longer than the execution time of the operation,
The data dependency between the first instruction and the second instruction is such that the operation result of the multiplication instruction, which is the first instruction, is used for the operation in the second instruction. When the data dependence is detected by the data dependence detection unit, the operation result of the first instruction is also input to the stage operation unit of the second arithmetic unit, and the stage operation unit executes the execution instruction of the second instruction. The operation of the second instruction can be executed at a later stage.
【0031】請求項7の発明の構成により、第1の命令
と第2の命令とを同時にパイプライン処理する際に、第
1の命令はロード命令であるので、第1の命令と第2の
命令との間のデータ依存関係は、第1の命令の実行によ
り第1の演算装置にロードされるロードデータが第2の
命令における演算に用いられることになる。該データ依
存関係がデータ依存検出手段により検出されることによ
り、第1の命令において第1の演算装置にロードすべき
ロードデータが第2の演算装置のステージ演算手段にも
入力され、該ステージ演算手段が第2の命令の実行ステ
ージよりも後のステージにおいて第2の命令の演算を実
行することができる。According to the seventh aspect of the present invention, when the first instruction and the second instruction are simultaneously pipelined, the first instruction is a load instruction. The data dependency between the instruction and the instruction is such that load data loaded into the first arithmetic unit by execution of the first instruction is used for an operation in the second instruction. When the data dependence is detected by the data dependence detection means, the load data to be loaded into the first arithmetic unit in the first instruction is also input to the stage arithmetic means of the second arithmetic unit, and the stage arithmetic operation is performed. The means can execute the operation of the second instruction at a stage after the execution stage of the second instruction.
【0032】請求項8の発明の構成により、第1の命令
と第2の命令とを同時にパイプライン処理する際に、第
1の命令の実行により第1演算装置にロードされるロー
ドデータを用いる第2の命令の演算は、該第2の命令の
実行ステージよりも後の書き込みステージにおいて実行
することができる。According to the eighth aspect of the present invention, when the first instruction and the second instruction are simultaneously pipelined, the load data loaded into the first arithmetic unit by executing the first instruction is used. The operation of the second instruction can be executed in a write stage after the execution stage of the second instruction.
【0033】[0033]
【実施例】以下、本発明の実施例を図面に基づいて説明
する。Embodiments of the present invention will be described below with reference to the drawings.
【0034】図1は本発明の第1の実施例に係るパイプ
ライン処理装置を示すブロック図である。同図におい
て、第1の実施例のパイプライン処理装置は、第1及び
第2の演算装置20a及び20bを備え、第1の演算装
置20aは第1の命令をパイプライン処理すると同時
に、第2の演算装置20bは第2の命令をパイプライン
処理する。第1の演算装置20aは、第1のEXステー
ジ演算装置3aと第1のMEMステージ保持回路4aと
第1の選択回路5aと第1のWBステージ保持回路6a
とを有し、さらに、第3の選択回路5cを有している。
第2の演算装置20bは、第2のEXステージ演算装置
3bと第2のMEMステージ保持回路4bと第2の選択
回路5bと第2のWBステージ保持回路6bとを有し、
さらに、第4の選択回路5dと第5の選択回路5eと書
き込みステージ演算手段としてのWBステージ演算装置
10とを有している。FIG. 1 is a block diagram showing a pipeline processing apparatus according to a first embodiment of the present invention. In the figure, the pipeline processing device of the first embodiment includes first and second arithmetic devices 20a and 20b, and the first arithmetic device 20a processes the first instruction while simultaneously executing the second instruction. The arithmetic unit 20b performs pipeline processing of the second instruction. The first arithmetic unit 20a includes a first EX stage arithmetic unit 3a, a first MEM stage holding circuit 4a, a first selecting circuit 5a, and a first WB stage holding circuit 6a.
And a third selection circuit 5c.
The second arithmetic device 20b includes a second EX stage arithmetic device 3b, a second MEM stage holding circuit 4b, a second selecting circuit 5b, and a second WB stage holding circuit 6b.
Further, it has a fourth selection circuit 5d, a fifth selection circuit 5e, and a WB stage operation device 10 as a write stage operation means.
【0035】また、第1の実施例のパイプライン処理装
置は第1及び第2の演算装置20a及び20bで共用さ
れるレジスタファイル1を備え、レジスタファイル1は
多数のレジスタ2a,2b,2c,2d…を有してい
る。ここでは、レジスタ2a及び2bに格納されている
データは第1のEXステージ演算装置3aにおける第1
の命令の演算に用いられ、レジスタ2c及び2dに格納
されているデータは第2のEXステージ演算装置3bに
おける第2の命令の演算に用いられるものとする。Further, the pipeline processing device of the first embodiment includes a register file 1 shared by the first and second arithmetic units 20a and 20b, and the register file 1 has a large number of registers 2a, 2b, 2c, 2d ... Here, the data stored in the registers 2a and 2b are stored in the first EX stage operation device 3a in the first EX stage operation device 3a.
And the data stored in the registers 2c and 2d are used for the operation of the second instruction in the second EX stage operation device 3b.
【0036】さらに、第1の実施例のパイプライン処理
装置はデータ依存検出手段としてのデータ依存検出装置
11と制御手段としての制御装置13とを備えている。
データ依存検出装置11は、第1の命令がロード命令L
Dであり且つ第2の命令が加算命令ADD等の演算命令
である場合に、第1の命令と第2の命令との間にデータ
依存関係があること、即ち、第1の命令であるロード命
令LDよりメモリ装置8からロードされるロードデータ
が第2の命令の演算で用いられることを検出すると、制
御装置13に検出信号を送出する。制御装置13はデー
タ依存検出装置11から検出信号を入力すると第1及び
第2のWBステージ保持回路6b、6b、第1、第2、
第3、第4及び第5の選択回路5a、5b、5c、5
d、5e等に制御信号を出力する。Further, the pipeline processing apparatus of the first embodiment includes a data dependence detection device 11 as data dependence detection means and a control device 13 as control means.
The data dependence detection device 11 determines that the first instruction is a load instruction L
D and the second instruction is an operation instruction such as an addition instruction ADD, there is a data dependency between the first instruction and the second instruction, that is, the first instruction is a load instruction. When detecting that the load data loaded from the memory device 8 is used by the instruction LD in the operation of the second instruction, a detection signal is sent to the control device 13. When the control device 13 receives the detection signal from the data dependency detection device 11, the first and second WB stage holding circuits 6b, 6b, the first, second,
Third, fourth and fifth selection circuits 5a, 5b, 5c, 5
Output control signals to d, 5e, etc.
【0037】図2は本発明の第1実施例に係るパイプラ
イン処理装置の動作を示す図である。同図において、2
つの命令のうち先に実行すべき第1の命令はロード命令
LDであり、該ロード命令LDは、レジスタr1に格納
されているデータとレジスタr2に格納されているデー
タとの和をメモリ装置8のアドレスとし、該アドレスに
格納されているデータをメモリ装置8から読みだし、該
メモリ装置8から読み出されたロードデータをレジスタ
r3に格納する命令である。第1の命令の次に実行すべ
き第2の命令は加算命令ADDであり、該加算命令AD
Dは、レジスタr3に格納されているデータとレジスタ
r4に格納されているデータとを加算し、その演算結果
をレジスタr5に格納する命令である。第1の実施例の
パイプライン処理装置において、第1の命令であるロー
ド命令LDによりメモリ装置8から読み出されるロード
データは該ロード命令LDの実行によりレジスタr3に
格納されると共に第2の命令である加算命令ADDの演
算にも用いられる。FIG. 2 is a diagram showing the operation of the pipeline processing device according to the first embodiment of the present invention. In the figure, 2
The first instruction to be executed first among the three instructions is a load instruction LD, and the load instruction LD stores the sum of the data stored in the register r1 and the data stored in the register r2 in the memory device 8. , The data stored at the address is read from the memory device 8 and the load data read from the memory device 8 is stored in the register r3. The second instruction to be executed next to the first instruction is an addition instruction ADD, and the addition instruction AD
D is an instruction to add the data stored in the register r3 and the data stored in the register r4, and store the operation result in the register r5. In the pipeline processing device of the first embodiment, the load data read from the memory device 8 by the load instruction LD, which is the first instruction, is stored in the register r3 by the execution of the load instruction LD, and is executed by the second instruction. It is also used for the operation of a certain addition instruction ADD.
【0038】なお、加算命令ADDのようなALU演算
では、一般に、システムクロックの周期の前半において
演算の実行を行い、後半において演算結果の転送を行っ
ている。 ALU operation such as addition instruction ADD
In general, in the first half of the system clock cycle,
Executes the operation and transfers the operation result in the second half
ing.
【0039】第1の本実施例のパイプライン処理装置
は、前述のように、第1の命令と第2の命令とを同時に
実行する。第1の命令のIFステージにおいては、第1
の演算装置20aは第1の命令の読み出しを行い、次
に、第1の命令のDECステージにおいては、第1の演
算装置20aは、第1の命令がロード命令LDであるこ
とを解読すると共に、レジスタファイル1のレジスタ2
a及び2bに格納されているデータを第1のEXステー
ジ演算処理装置3aに入力する。次に、第1の命令のE
Xステージにおいては、第1の演算装置20aの第1の
EXステージ演算装置3aは、レジスタファイル1のレ
ジスタ2aから読み込まれたデータとレジスタファイル
1のレジスタ2bから読み込まれたデータとの加算を行
う。次に、第1の命令のMEMステージにおいては、第
1の演算装置20aは、第1の命令のEXステージにお
ける演算結果をメモリ装置8のアドレスとして指定して
該アドレスに格納されているデータをメモリ装置8から
読み出し、該メモリ装置8から読み出されたロードデー
タを第1のWBステージ保持回路6aとWBステージ演
算装置10とに入力する。次に、第1の命令のWBステ
ージにおいては、メモリ装置8から読み出されたロード
データが第1のWBステージ保持回路6aから第3の選
択回路5cを経てレジスタファイル1に格納される。As described above, the pipeline processing device of the first embodiment simultaneously executes the first instruction and the second instruction. In the IF stage of the first instruction, the first instruction
Of the first instruction reads out the first instruction. Then, in the DEC stage of the first instruction, the first arithmetic unit 20a decodes that the first instruction is the load instruction LD and , Register 2 of register file 1
The data stored in a and 2b are input to the first EX stage processing unit 3a. Next, the first instruction E
In the X stage, the first EX stage operation device 3a of the first operation device 20a adds the data read from the register 2a of the register file 1 and the data read from the register 2b of the register file 1. . Next, in the MEM stage of the first instruction, the first arithmetic unit 20a specifies the operation result of the first instruction in the EX stage as an address of the memory device 8, and stores the data stored in the address. The data is read from the memory device 8, and the load data read from the memory device 8 is input to the first WB stage holding circuit 6a and the WB stage operation device 10. Next, in the WB stage of the first instruction, the load data read from the memory device 8 is stored in the register file 1 through the first WB stage holding circuit 6a and the third selection circuit 5c.
【0040】同様に、第2の命令のIFステージにおい
ては、第2の演算装置20bは第2の命令の読み出しを
行い、第2の命令のDECステージにおいては、第2の
演算装置20bは第2の命令が加算命令ADDであるこ
とを解読する。また、第1及び第2の命令はデータ依存
検出装置11にも入力され、データ依存検出装置11
は、第1の命令と第2の命令との間にデータ依存関係が
あるか否か、即ち、第1の命令であるロード命令LDの
実行によりメモリ装置8から読み出されるロードデータ
が、第2の命令である加算命令ADDの演算において用
いられるか否かを調べる。データ依存検出装置11は第
1命令であるロード命令LDと第2命令である加算命令
ADDとの間にデータ依存関係があることを検出すると
制御装置13に検出信号を出力する。このように第1の
命令と第2の命令との間にデータ依存関係がある場合に
は、第2の命令のDECステージにおいて、レジスタフ
ァイル1のレジスタ2dに格納されているデータのみが
第2のEXステージ演算装置3bに読み出され、レジス
タファイル1のレジスタ2cに格納されているデータは
読み出されない。Similarly, in the IF stage of the second instruction, the second arithmetic unit 20b reads the second instruction, and in the DEC stage of the second instruction, the second arithmetic unit 20b reads the second instruction. The second instruction is decoded to be the addition instruction ADD. Further, the first and second instructions are also input to the data dependency detection device 11, and the data dependency detection device 11
Is whether or not there is a data dependency between the first instruction and the second instruction, that is, the load data read from the memory device 8 by executing the load instruction LD as the first instruction is the second instruction. It is checked whether or not it is used in the operation of the addition instruction ADD, which is the instruction of FIG. The data dependence detection device 11 outputs a detection signal to the control device 13 when detecting that there is a data dependence between the load instruction LD as the first instruction and the addition instruction ADD as the second instruction. As described above, when there is a data dependency between the first instruction and the second instruction, in the DEC stage of the second instruction, only the data stored in the register 2d of the register file 1 is stored in the second instruction. , And the data stored in the register 2c of the register file 1 is not read.
【0041】そして、第2の命令のEXステージにおい
ては加算は行われず、次の第2の命令のMEMステージ
において、第2のEXステージ演算装置3bに入力され
たデータが第5の選択回路5eを経てWBステージ演算
装置10に入力される。前述のように、第1の命令のM
EMステージにおいてメモリ装置8から読み出されたロ
ードデータがWBステージ演算装置10に入力される。
従って、第2の命令のWBステージにおいて、WBステ
ージ演算装置10が加算を行なうことにより第2の命令
である加算命令ADDの演算結果が得られる。同じく、
第2の命令のWBステージにおいては、第2の命令であ
る加算命令ADDの演算結果がレジスタファイル1に格
納される。Then, in the EX stage of the second instruction, no addition is performed, and in the MEM stage of the next second instruction, the data input to the second EX stage operation device 3b is replaced by the fifth selection circuit 5e. Are input to the WB stage arithmetic unit 10 through As mentioned above, the first instruction M
Load data read from the memory device 8 in the EM stage is input to the WB stage operation device 10.
Therefore, in the WB stage of the second instruction, the WB stage arithmetic unit 10 performs the addition, whereby the operation result of the addition instruction ADD, which is the second instruction, is obtained. Similarly,
In the WB stage of the second instruction, the operation result of the addition instruction ADD, which is the second instruction, is stored in the register file 1.
【0042】以上のように、第1の実施例のパイプライ
ン処理装置においては、第1の命令がロード命令LDで
あり且つ第2の命令が加算命令ADDである場合に、デ
ータ依存検出装置11が、第1の命令によりメモリ装置
8からロードされるロードデータが第2の命令の演算に
用いられるというデータ依存関係を検出すると、第1の
命令によりメモリ装置8からロードされるロードデータ
が第2の演算装置20bのWBステージ演算装置10に
も入力され、該WBステージ演算装置10が、第2の命
令におけるEXステージより後のWBステージにおいて
第2の命令の加算を実行するため、第2の命令において
は実行待ちのステージを設ける必要がない。As described above, in the pipeline processing device of the first embodiment, when the first instruction is a load instruction LD and the second instruction is an addition instruction ADD, the data dependence detection device 11 Detects that the load data loaded from the memory device 8 by the first instruction is used for the operation of the second instruction, the load data loaded from the memory device 8 by the first instruction The second WB stage arithmetic device 10 is also input to the WB stage arithmetic device 10 of the second arithmetic device 20b, and the WB stage arithmetic device 10 performs addition of the second instruction in the WB stage after the EX stage in the second instruction. In this instruction, there is no need to provide a stage waiting for execution.
【0043】図3は本発明の第2の実施例に係るパイプ
ライン処理装置を示すブロック図である。同図に示すよ
うに、第2の実施例のパイプライン処理装置は、第1の
実施例のパイプライン処理装置における第1の演算装置
20aの第1のEXステージ演算装置3a及び第1のM
EMステージ保持回路4aの代わりに、第1の演算装置
20cに乗算装置3cを設けたものである。第2の実施
例のパイプライン処理装置は、第1及び第2の演算装置
20c及び20bを備え、第1の演算装置20cは第1
の命令をパイプライン処理すると同時に、第2の演算装
置20bは第2の命令をパイプライン処理する。第1の
演算装置20cは、乗算装置3cと第1の選択回路5a
と第1のWBステージ保持回路6aとを有し、さらに、
第3の選択回路5cを有している。FIG. 3 is a block diagram showing a pipeline processing apparatus according to a second embodiment of the present invention. As shown in the figure, the pipeline processing device of the second embodiment is different from the pipeline processing device of the first embodiment in that the first EX stage arithmetic device 3a and the first M
Instead of the EM stage holding circuit 4a, a first arithmetic unit 20c is provided with a multiplier 3c. The pipeline processing device of the second embodiment includes first and second arithmetic devices 20c and 20b, and the first arithmetic device 20c
At the same time as the second instruction is pipelined, the second arithmetic unit 20b pipelines the second instruction. The first arithmetic unit 20c includes a multiplication unit 3c and a first selection circuit 5a.
And a first WB stage holding circuit 6a.
It has a third selection circuit 5c.
【0044】ここでは、レジスタファイル1のレジスタ
2a及び2bに格納されているデータは乗算装置3cに
おける第1の命令の演算に用いられるものとする。Here, it is assumed that the data stored in the registers 2a and 2b of the register file 1 is used for the operation of the first instruction in the multiplier 3c.
【0045】データ依存検出装置11は、第1の命令が
乗算命令MULであり且つ第2の命令が加算命令ADD
等の演算命令である場合に、第1の命令と第2の命令と
の間にデータ依存関係があること、即ち、第1の命令で
ある乗算命令MULの演算結果が第2の命令の演算で用
いられることを検出すると、制御装置13に検出信号を
送出する。制御装置13はデータ依存検出装置11から
検出信号を入力すると第1及び第2のWBステージ保持
回路6b、6b、第1、第2、第3、第4及び第5の選
択回路5a、5b、5c、5d、5e等に制御信号を出
力する。In the data dependence detection device 11, the first instruction is a multiplication instruction MUL and the second instruction is an addition instruction ADD.
And the like, there is a data dependency between the first instruction and the second instruction, that is, the operation result of the multiplication instruction MUL as the first instruction is the operation of the second instruction. When the control signal is detected, the control unit 13 sends a detection signal to the control device 13. When the control device 13 receives the detection signal from the data dependency detection device 11, the first and second WB stage holding circuits 6b and 6b, the first, second, third, fourth and fifth selection circuits 5a and 5b, Control signals are output to 5c, 5d, 5e, etc.
【0046】図4は本発明の第2実施例に係るパイプラ
イン処理装置の動作を示す図である。同図において、2
つの命令のうち先に実行すべき第1の命令は乗算命令M
ULであり、該乗算命令MULは、レジスタr1に格納
されているデータとレジスタr2に格納されているデー
タとの積をレジスタr3に格納する命令であり、乗算演
算を実行するために2サイクルの時間を必要とする。第
1の命令の次に実行すべき第2の命令はADD命令であ
り、該ADD命令は、レジスタr3に格納されているデ
ータとレジスタr4に格納されているデータとを加算
し、その演算結果をレジスタr5に格納する命令であ
る。第2の実施例のパイプライン処理装置において、第
1の命令である乗算命令MULの演算結果はレジスタr
3に格納されると共に第2の命令である加算命令ADD
の演算にも用いられる。FIG. 4 is a diagram showing the operation of the pipeline processing device according to the second embodiment of the present invention. In the figure, 2
The first instruction to be executed first among the two instructions is a multiplication instruction M
The multiplication instruction MUL is an instruction to store the product of the data stored in the register r1 and the data stored in the register r2 in the register r3. The multiplication instruction MUL takes two cycles to execute the multiplication operation. Needs time. The second instruction to be executed next to the first instruction is an ADD instruction. The ADD instruction adds the data stored in the register r3 and the data stored in the register r4, and calculates the operation result. Is stored in the register r5. In the pipeline processing device of the second embodiment, the operation result of the multiplication instruction MUL as the first instruction is stored in the register r
3 and a second instruction, an add instruction ADD
Is also used for the calculation of
【0047】第2の実施例のパイプライン処理装置は、
前述のように、第1の命令と第2の命令とを同時に実行
する。第1の命令のIFステージにおいては、第1の演
算装置20cは第1の命令の読み出しを行い、次に、第
1の命令のDECステージにおいては、第1の演算装置
20cは、第1の命令が乗算命令MULであることを解
読すると共に、レジスタファイル1のレジスタ2a及び
2bに格納されているデータを乗算装置3cに入力す
る。次に、第1の命令のEX1及びEX2ステージにお
いては、第1の演算装置20cの乗算装置3cは、2サ
イクルの時間を用して、レジスタファイル1のレジスタ
2aから読み込まれたデータとレジスタファイル1のレ
ジスタ2bから読み込まれたデータとの乗算を行う。さ
らに、第1の命令のEX2ステージにおいては、乗算の
演算結果を第1のWBステージ保持回路6aとWBステ
ージ演算装置10とに入力する。次に、第1の命令のW
Bステージにおいては、乗算の演算結果が第1のWBス
テージ保持回路6aから第3の選択回路5cを経てレジ
スタファイル1に格納される。The pipeline processing apparatus of the second embodiment is
As described above, the first instruction and the second instruction are executed simultaneously. In the IF stage of the first instruction, the first arithmetic unit 20c reads the first instruction, and then, in the DEC stage of the first instruction, the first arithmetic unit 20c reads the first instruction. It decodes that the instruction is a multiplication instruction MUL, and inputs data stored in the registers 2a and 2b of the register file 1 to the multiplication device 3c. Next, in the EX1 and EX2 stages of the first instruction, the multiplier 3c of the first arithmetic unit 20c uses the time of two cycles to read the data read from the register 2a of the register file 1 and the register file 1 is multiplied by the data read from the register 2b. Further, in the EX2 stage of the first instruction, the operation result of the multiplication is input to the first WB stage holding circuit 6a and the WB stage operation device 10. Next, the first instruction W
In the B stage, the result of the multiplication operation is stored in the register file 1 via the first WB stage holding circuit 6a and the third selection circuit 5c.
【0048】同様に、第2の命令のIFステージにおい
ては、第2の演算装置20bは第2の命令の読み出しを
行い、第2の命令のDECステージにおいては、第2の
演算装置20bは第2の命令が加算命令ADDであるこ
とを解読する。また、第1及び第2の命令はデータ依存
検出装置11にも入力され、データ依存検出装置11
は、第1の命令と第2の命令との間にデータ依存関係が
あるか否か、即ち、第1の命令である乗算命令MULの
実行により得られる演算結果が、第2の命令である加算
命令ADDの演算において用いられるか否かを調べる。
データ依存検出装置11は第1命令である乗算命令MU
Lと第2命令である加算命令ADDとの間にデータ依存
関係があることを検出すると制御装置13に検出信号を
出力する。このように第1の命令と第2の命令との間に
データ依存関係がある場合には、第2の命令のDECス
テージにおいて、レジスタファイル1のレジスタ2dに
格納されているデータのみがEXステージ演算装置3b
に読み出され、レジスタファイル1のレジスタ2cに格
納されているデータは読み出されない。Similarly, in the IF stage of the second instruction, the second arithmetic unit 20b reads the second instruction, and in the DEC stage of the second instruction, the second arithmetic unit 20b reads the second instruction. The second instruction is decoded to be the addition instruction ADD. Further, the first and second instructions are also input to the data dependency detection device 11, and the data dependency detection device 11
Is whether there is a data dependency between the first instruction and the second instruction, that is, the operation result obtained by executing the multiplication instruction MUL which is the first instruction is the second instruction It is checked whether or not it is used in the operation of the addition instruction ADD.
The data dependence detection device 11 is a multiplication instruction MU which is the first instruction.
When detecting that there is a data dependency between L and the addition instruction ADD as the second instruction, a detection signal is output to the control device 13. When there is a data dependency between the first instruction and the second instruction in this way, in the DEC stage of the second instruction, only the data stored in the register 2d of the register file 1 is stored in the EX stage. Arithmetic unit 3b
And the data stored in the register 2c of the register file 1 is not read.
【0049】そして、第2の命令のEXステージにおい
ては加算は行われず、次の第2の命令のMEMステージ
において、EXステージ演算装置3bに入力されたデー
タが第5の選択回路5eを経てWBステージ演算装置1
0に入力される。前述のように、第1の命令のEX2ス
テージにおいて、第1の命令である乗算命令MULの演
算結果がWBステージ演算装置10に入力される。従っ
て、第2の命令のWBステージにおいて、WBステージ
演算装置10が加算を行なうことにより第2の命令であ
る加算命令ADDの演算結果が得られる。同じく、第2
の命令のWBステージにおいては、第2の命令である加
算命令ADDの演算結果がレジスタファイル1に格納さ
れる。Then, in the EX stage of the second instruction, no addition is performed, and in the MEM stage of the next second instruction, the data input to the EX stage arithmetic unit 3b passes through the fifth selection circuit 5e to the WB. Stage operation device 1
Input to 0. As described above, in the EX2 stage of the first instruction, the operation result of the multiplication instruction MUL, which is the first instruction, is input to the WB stage operation device 10. Therefore, in the WB stage of the second instruction, the WB stage arithmetic unit 10 performs the addition, whereby the operation result of the addition instruction ADD, which is the second instruction, is obtained. Similarly, the second
In the WB stage of the instruction, the operation result of the addition instruction ADD, which is the second instruction, is stored in the register file 1.
【0050】以上のように、第2の実施例のパイプライ
ン処理装置においては、第1の命令が乗算命令MULで
あり且つ第2の命令が加算命令ADDである場合に、デ
ータ依存検出装置11が、第1の命令の演算結果が第2
の命令の演算に用いられるというデータ依存関係を検出
すると、第1の命令の演算結果が第2の演算装置20b
のWBステージ演算装置10にも入力され、該WBステ
ージ演算装置10が、第2の命令におけるEXステージ
より後のWBステージにおいて第2の命令の加算を実行
するため、第2の命令においては実行待ちのステージを
設ける必要がない。As described above, in the pipeline processing device of the second embodiment, when the first instruction is a multiplication instruction MUL and the second instruction is an addition instruction ADD, the data dependence detection device 11 But the operation result of the first instruction is the second
When the data dependency that is used for the operation of the first instruction is detected, the operation result of the first instruction is
Of the second instruction, the WB stage arithmetic device 10 executes addition of the second instruction in the WB stage after the EX stage in the second instruction. There is no need to provide a waiting stage.
【0051】なお、第1及び第2の実施例におけるパイ
プライン処理装置は、第1の命令と該第1の命令の次に
実行すべき第2の命令とを2つのパイプラインにより同
時にパイプライン処理するものであるが、第1の命令と
第2の命令とを1つのパイプラインによりパイプライン
処理する場合においても同様の効果を得るような構成が
可能である。The pipeline processing apparatus according to the first and second embodiments uses the two pipelines to simultaneously execute a first instruction and a second instruction to be executed next to the first instruction. Although the processing is performed, the same effect can be obtained even when the first instruction and the second instruction are pipeline processed by one pipeline.
【0052】また、第1および第2の実施例において
は、第2の命令が加算命令ADDである場合について説
明したが、他のALU演算命令、例えばSUB、AN
D、OR、SHIFT、CMPのような1サイクルで実
行できる命令であれば、同様の効果を得ることができ
る。 In the first and second embodiments,
Describes the case where the second instruction is an addition instruction ADD.
As described above, other ALU operation instructions such as SUB and AN
Perform in one cycle such as D, OR, SHIFT, CMP
The same effect can be obtained if the instruction can be executed.
You.
【0053】[0053]
【発明の効果】以上説明したように、請求項1の発明に
係るパイプライン処理装置によると、第1の命令と該第
1の命令の次に実行すべきALU演算命令である第2の
命令との間のデータ依存関係が検出されることにより、
第2の命令の演算が該第2の命令の実行ステージよりも
後のステージにおいて実行される。これにより、第2の
命令の演算は、該第2の命令の演算に必要なデータの取
得が前記データ依存関係により遅延しても、第2の命令
の実行ステージよりも後のステージにおいて実行される
ことができるため、第2の命令の実行が待たされる時間
が短縮されるので、パイプライン処理装置の処理速度を
向上させることができる。As described above, according to the pipeline processing apparatus of the first aspect of the present invention, the first instruction and the second instruction which is the ALU operation instruction to be executed next to the first instruction By detecting a data dependency between
The operation of the second instruction is executed in a stage after the execution stage of the second instruction. Thereby, the operation of the second instruction is executed in a stage after the execution stage of the second instruction even if acquisition of data necessary for the operation of the second instruction is delayed due to the data dependency. Therefore, the time during which the execution of the second instruction is waited is reduced, so that the processing speed of the pipeline processing device can be improved.
【0054】請求項2の発明に係るパイプライン処理装
置によると、例えば、第1の命令が、その演算の実行時
間が第2の命令の演算の実行時間よりも長い乗算命令で
ある場合には、第1の命令と第2の命令との間のデータ
依存関係が検出されることにより、第1の命令の演算結
果がステージ演算手段にも入力され、該ステージ演算手
段が第2の命令の実行ステージよりも後のステージにお
いて第2の命令の演算を実行することができる。このた
め、第2の命令の演算は該第2の命令に実行待ちのステ
ージを設けることなく第1の命令と共に実行されること
ができる。According to the pipeline processing apparatus of the second aspect, for example, when the first instruction is a multiplication instruction whose execution time is longer than the execution time of the second instruction, When the data dependency between the first instruction and the second instruction is detected, the operation result of the first instruction is also input to the stage operation means, and the stage operation means The operation of the second instruction can be executed in a stage subsequent to the execution stage. Therefore, the operation of the second instruction can be executed together with the first instruction without providing the second instruction with an execution waiting stage.
【0055】請求項3の発明に係るパイプライン処理装
置によると、第1の命令はロード命令であるので、第1
の命令と第2の命令との間のデータ依存関係が検出され
ることにより、第1の命令においてロードすべきロード
データがステージ演算手段にも入力され、該ステージ演
算手段が第2の命令の実行ステージよりも後のステージ
において第2の命令の演算を実行することができる。こ
のため、第2の命令の演算は該第2の命令に実行待ちの
ステージを設けることなく第1の命令と共に実行される
ことができる。According to the pipeline processing device of the third aspect, since the first instruction is a load instruction, the first instruction is a load instruction.
When the data dependency between the first instruction and the second instruction is detected, the load data to be loaded in the first instruction is also input to the stage operation means, and the stage operation means The operation of the second instruction can be executed in a stage subsequent to the execution stage. Therefore, the operation of the second instruction can be executed together with the first instruction without providing the second instruction with an execution waiting stage.
【0056】請求項4の発明に係るパイプライン処理装
置によると、第2の命令の演算は該第2の命令の実行ス
テージよりも後の書き込みステージにおいて実行するこ
とができる。このため、第2の命令の演算は該第2の命
令に実行待ちのステージを設けることなく実行されるこ
とができる。According to the pipeline processing device of the fourth aspect, the operation of the second instruction can be executed in the write stage after the execution stage of the second instruction. Therefore, the operation of the second instruction can be executed without providing the second instruction with a stage waiting for execution.
【0057】従って、パイプライン処理装置の処理速度
を著しく向上させることができる。Therefore, the processing speed of the pipeline processing device can be significantly improved.
【0058】また、請求項5の発明に係るパイプライン
処理装置によると、第1の命令とA LU演算命令である
第2の命令とを同時にパイプライン処理する際に、第1
の命令と第2の命令との間のデータ依存関係が検出され
ることにより、第2の命令の演算が該第2の命令の実行
ステージよりも後のステージにおいて実行される。これ
により、第2の命令の演算は、該第2の命令の演算に必
要なデータの取得が前記データ依存関係により遅延して
も、第2の命令の実行ステージよりも後のステージにお
いて第2の命令の演算を実行することができる。このた
め、第2の命令の実行が待たされる時間が短縮されるの
で、パイプライン処理装置の処理速度を向上させること
ができる。[0058] According to the pipeline processing apparatus according to the invention of claim 5, when simultaneously pipelining <br/> second instruction and a first instruction and A LU operation instruction, the first
By detecting the data dependency between the second instruction and the second instruction, the operation of the second instruction is executed in a stage after the execution stage of the second instruction. Thereby, even if the acquisition of data required for the operation of the second instruction is delayed due to the data dependency, the operation of the second instruction is performed in the second stage after the execution stage of the second instruction. Can be executed. Therefore, the time during which the execution of the second instruction is waited is reduced, and the processing speed of the pipeline processing device can be improved.
【0059】請求項6の発明に係るパイプライン処理装
置によると、第1の命令と第2の命令とを同時にパイプ
ライン処理する際に、例えば、第1の命令が、その演算
の実行時間が第2の命令の演算の実行時間よりも長い乗
算命令である場合には、第1の命令と第2の命令との間
のデータ依存関係が検出されることにより、第1の命令
の演算結果が第2の演算装置のステージ演算手段にも入
力され、該ステージ演算手段が第2の命令の実行ステー
ジよりも後のステージにおいて第2の命令の演算を実行
することができる。このため、第2の命令の演算が該第
2の命令に実行待ちのステージを設けることなく第1の
命令と同時に実行されることができる。According to the pipeline processing device of the present invention, when the first instruction and the second instruction are simultaneously pipeline-processed, for example, the execution time of the first instruction is If the multiplication instruction is longer than the execution time of the operation of the second instruction, the data dependency between the first instruction and the second instruction is detected, and the operation result of the first instruction is detected. Is also input to the stage operation means of the second operation device, and the stage operation means can execute the operation of the second instruction in a stage subsequent to the execution stage of the second instruction. Therefore, the operation of the second instruction can be executed simultaneously with the first instruction without providing the second instruction with an execution waiting stage.
【0060】請求項7の発明に係るパイプライン処理装
置によると、第1の命令と第2の命令とを同時にパイプ
ライン処理する際に、第1の命令はロード命令であるの
で、第1の命令と第2の命令との間のデータ依存関係が
検出されることにより、第1の命令において第1の演算
装置にロードすべきロードデータが第2の演算装置のス
テージ演算手段にも入力され、該ステージ演算手段が第
2の命令の実行ステージよりも後のステージにおいて第
2の命令の演算を実行することができる。このため、第
2の命令の演算が該第2の命令に実行待ちのステージを
設けることなく第1の命令と同時に実行されることがで
きる。According to the pipeline processing apparatus of the present invention, when the first instruction and the second instruction are simultaneously pipelined, the first instruction is a load instruction, so that the first instruction is a load instruction. When the data dependency between the instruction and the second instruction is detected, the load data to be loaded into the first arithmetic device in the first instruction is also input to the stage arithmetic means of the second arithmetic device. The stage operation means can execute the operation of the second instruction in a stage after the execution stage of the second instruction. Therefore, the operation of the second instruction can be executed simultaneously with the first instruction without providing the second instruction with an execution waiting stage.
【0061】請求項8の発明に係るパイプライン処理装
置によると、第1の命令と第2の命令とを同時にパイプ
ライン処理する際に、第2の命令の演算は該第2の命令
の実行ステージよりも後の書き込みステージにおいて実
行することができる。このため、第2の命令の演算は該
第2の命令に実行待ちのステージを設けることなく第1
の命令と同時に実行されることができる。According to the pipeline processing apparatus of the present invention, when the first instruction and the second instruction are simultaneously pipelined, the operation of the second instruction is executed by executing the second instruction. It can be performed in a write stage after the stage. For this reason, the operation of the second instruction is performed in the first instruction without providing an execution waiting stage in the second instruction.
Instructions can be executed simultaneously.
【0062】従って、パイプライン処理装置の処理速度
を著しく向上させることができる。Accordingly, the processing speed of the pipeline processing device can be significantly improved.
【図1】本発明の第1の実施例に係るパイプライン処理
装置を示すブロック図である。FIG. 1 is a block diagram illustrating a pipeline processing device according to a first embodiment of the present invention.
【図2】上記第1の実施例に係るパイプライン処理装置
の動作を示す図である。FIG. 2 is a diagram showing an operation of the pipeline processing device according to the first embodiment.
【図3】本発明の第2の実施例に係るパイプライン処理
装置を示すブロック図である。FIG. 3 is a block diagram showing a pipeline processing device according to a second embodiment of the present invention.
【図4】上記第2の実施例に係るパイプライン処理装置
の動作を示す図である。FIG. 4 is a diagram illustrating an operation of the pipeline processing device according to the second embodiment.
【図5】第1の従来例に係るパイプライン処理装置を示
すブロック図である。FIG. 5 is a block diagram showing a pipeline processing device according to a first conventional example.
【図6】上記第1の従来例に係るパイプライン処理装置
の動作を示す図である。FIG. 6 is a diagram showing an operation of the pipeline processing device according to the first conventional example.
【図7】第2の従来例に係るパイプライン処理装置を示
すブロック図である。FIG. 7 is a block diagram showing a pipeline processing device according to a second conventional example.
【図8】上記第2の従来例に係るパイプライン処理装置
の動作を示す図である。FIG. 8 is a diagram showing an operation of the pipeline processing device according to the second conventional example.
1 レジスタファイル 2a、2b、2c、2d レジスタ 3a、3b EXステージ演算装置 3c 乗算装置 4a、4b MEMステージ保持回路 5a、5b、5c、5d、5e 選択回路 6a、6b WBステージ保持回路 8 メモリ装置 10 WBステージ演算装置(書き込みステージ演算手
段) 11 データ依存検出装置(データ依存検出手段) 13 制御装置(制御手段) 20a 第1の演算装置 20b 第2の演算装置DESCRIPTION OF SYMBOLS 1 Register file 2a, 2b, 2c, 2d Register 3a, 3b EX stage arithmetic unit 3c Multiplier 4a, 4b MEM stage holding circuit 5a, 5b, 5c, 5d, 5e Selection circuit 6a, 6b WB stage holding circuit 8 Memory device 10 WB stage arithmetic unit (write stage arithmetic unit) 11 Data dependence detection unit (data dependence detection unit) 13 Control unit (control unit) 20a First arithmetic unit 20b Second arithmetic unit
Claims (8)
べきALU演算命令である第2の命令とをそれぞれ複数
のステージに分割してパイプライン処理するパイプライ
ン処理装置であって、 上記第2の命令の実行ステージよりも後のステージにお
いて上記第2の命令の演算を実行するステージ演算手段
と、 上記第1の命令と上記第2の命令との間のデータ依存関
係を検出するデータ依存検出手段と、 上記データ依存検出手段が上記データ依存関係を検出し
た場合に上記第2の命令の演算を上記ステージ演算手段
に実行させるように制御する制御手段とを備えているこ
とを特徴とするパイプライン処理装置。1. A pipeline processing apparatus for performing a pipeline process by dividing a first instruction and a second instruction which is an ALU operation instruction to be executed next to the first instruction into a plurality of stages. A stage operation means for executing the operation of the second instruction at a stage subsequent to the execution stage of the second instruction; and a data dependence relationship between the first instruction and the second instruction. Data dependency detection means for detecting, and control means for controlling the stage calculation means to execute the operation of the second instruction when the data dependency detection means detects the data dependency. A pipeline processing device characterized by the above-mentioned.
時間が上記第2の命令の実行時間と等しいかまたは上記
第2の命令の実行時間よりも長い命令であることを特徴
とする請求項1記載のパイプライン処理装置。2. The method according to claim 1, wherein the execution time of the first instruction is equal to or longer than the execution time of the second instruction. The pipeline processing apparatus according to claim 1, wherein
を特徴とする請求項2記載のパイプライン処理装置。3. The pipeline processing device according to claim 2, wherein said first instruction is a load instruction.
令の実行ステージよりも後の書き込みステージにおいて
上記第2の命令の演算を実行する書き込みステージ演算
手段であることを特徴とする請求項3記載のパイプライ
ン処理装置。4. The stage operation means according to claim 3, wherein said stage operation means is a write stage operation means for executing an operation of said second instruction in a write stage subsequent to an execution stage of said second instruction. The pipeline processing device as described in the above.
べきALU演算命令である第2の命令とをそれぞれ複数
のステージに分割して同時にパイプライン処理するパイ
プライン処理装置であって、 上記第1の命令をパイプライン処理する第1の演算装置
と、 上記第2の命令をパイプライン処理する第2の演算装置
と、 該第2の演算装置に設けられ、上記第2の命令の実行ス
テージよりも後のステージにおいて上記第2の命令の演
算を実行するステージ演算手段と、 上記第1の命令と上記第2の命令との間のデータ依存関
係を検出するデータ依存検出手段と、 該データ依存検出手段が上記データ依存関係を検出した
場合に上記第2の命令の演算を上記ステージ演算手段に
実行させるように制御する制御手段とを備えていること
を特徴とするパイプライン処理装置。5. A pipeline processing apparatus for dividing a first instruction and a second instruction, which is an ALU operation instruction to be executed next to the first instruction, into a plurality of stages and performing pipeline processing at the same time. A first arithmetic unit for pipeline-processing the first instruction; a second arithmetic unit for pipeline-processing the second instruction; and a second arithmetic unit provided in the second arithmetic unit. Stage operation means for executing the operation of the second instruction in a stage subsequent to the execution stage of the first instruction, and data dependence detection for detecting the data dependence between the first instruction and the second instruction Means, and control means for controlling the stage operation means to execute the operation of the second instruction when the data dependence detection means detects the data dependence. Spline processing apparatus.
時間が上記第2の命令の実行時間と等しいかまたは上記
第2の命令の実行時間よりも長い命令であることを特徴
とする請求項5記載のパイプライン処理装置。6. The method according to claim 1, wherein the execution time of the first instruction is equal to or longer than the execution time of the second instruction. The pipeline processing device according to claim 5, wherein
を特徴とする請求項6記載のパイプライン処理装置。7. The pipeline processing device according to claim 6, wherein said first instruction is a load instruction.
令の実行ステージよりも後の書き込みステージにおいて
上記第2の命令の演算を実行する書き込みステージ演算
手段であることを特徴とする請求項7記載のパイプライ
ン処理装置。8. The stage operation means according to claim 7, wherein said stage operation means is a write stage operation means for executing an operation of said second instruction in a write stage subsequent to an execution stage of said second instruction. The pipeline processing apparatus according to the above.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17403392A JP2925842B2 (en) | 1991-07-04 | 1992-07-01 | Pipeline processing equipment |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16448891 | 1991-07-04 | ||
| JP3-164488 | 1991-07-04 | ||
| JP17403392A JP2925842B2 (en) | 1991-07-04 | 1992-07-01 | Pipeline processing equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05204638A JPH05204638A (en) | 1993-08-13 |
| JP2925842B2 true JP2925842B2 (en) | 1999-07-28 |
Family
ID=26489564
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17403392A Expired - Fee Related JP2925842B2 (en) | 1991-07-04 | 1992-07-01 | Pipeline processing equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2925842B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022132614A1 (en) * | 2020-12-15 | 2022-06-23 | Advanced Micro Devices, Inc. | Software-based instruction scoreboard for arithmetic logic units |
-
1992
- 1992-07-01 JP JP17403392A patent/JP2925842B2/en not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022132614A1 (en) * | 2020-12-15 | 2022-06-23 | Advanced Micro Devices, Inc. | Software-based instruction scoreboard for arithmetic logic units |
| US11847462B2 (en) | 2020-12-15 | 2023-12-19 | Advanced Micro Devices, Inc. | Software-based instruction scoreboard for arithmetic logic units |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH05204638A (en) | 1993-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| US20020169942A1 (en) | VLIW processor | |
| JPH03286332A (en) | Digital data processor | |
| US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
| US5276822A (en) | System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction | |
| JP2925842B2 (en) | Pipeline processing equipment | |
| KR100188374B1 (en) | Processing unit | |
| US6981130B2 (en) | Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel | |
| JP2812610B2 (en) | Pipeline control method | |
| JP2009507292A (en) | Processor array with separate serial module | |
| JP3658879B2 (en) | Pipeline calculator | |
| JP2503223B2 (en) | Prior control method | |
| JP2001092658A (en) | Data processing circuit and data processor | |
| JP2636192B2 (en) | Information processing device | |
| JPH07113891B2 (en) | Pipeline processing equipment | |
| JPH01271842A (en) | Information processor | |
| JPH04116726A (en) | Information processor | |
| JPH0222417B2 (en) | ||
| JPH08235135A (en) | Parallel computer with communication register | |
| JP2003330914A (en) | Vector calculation processing device, vector calculation method and vector calculation program | |
| JPH05127894A (en) | Instruction executing system | |
| JP2005134987A (en) | Pipeline processing unit | |
| JPS6234239A (en) | Logic constant setting system | |
| JPH05289848A (en) | Processor | |
| JPS6128140B2 (en) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990420 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090507 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100507 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100507 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110507 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110507 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120507 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |