JPH05204638A - パイプライン処理装置 - Google Patents

パイプライン処理装置

Info

Publication number
JPH05204638A
JPH05204638A JP4174033A JP17403392A JPH05204638A JP H05204638 A JPH05204638 A JP H05204638A JP 4174033 A JP4174033 A JP 4174033A JP 17403392 A JP17403392 A JP 17403392A JP H05204638 A JPH05204638 A JP H05204638A
Authority
JP
Japan
Prior art keywords
instruction
stage
data
pipeline processing
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.)
Granted
Application number
JP4174033A
Other languages
English (en)
Other versions
JP2925842B2 (ja
Inventor
Masao Inoue
雅夫 井上
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP17403392A priority Critical patent/JP2925842B2/ja
Publication of JPH05204638A publication Critical patent/JPH05204638A/ja
Application granted granted Critical
Publication of JP2925842B2 publication Critical patent/JP2925842B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 ロード命令と該ロード命令の次に実行すべき
加算命令とを同時にパイプライン処理するパイプライン
処理装置において、ロード命令によりロードされるデー
タが次に実行すべき加算命令の演算に用いられるという
データ依存関係がある場合に、加算命令の実行待ち時間
を短縮する。 【構成】データ依存検出装置11がロード命令と加算命
令との間のデータ依存関係を検出する。これによって、
制御装置13の制御により、メモリ装置8からレジスタ
ファイル1にロードされるデータがWBステージ演算装
置10にも入力され、加算命令に用いるもう1つのデー
タが第2のEXステージ演算装置3bを経てWBステー
ジ演算装置10に入力される。そして、WBステージ演
算装置10が加算命令の演算を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各命令を複数のステー
ジに分割してパイプライン処理するパイプライン処理装
置に関し、さらに詳述すると、ある命令の実行により得
られるデータを他の命令に高速で渡して処理するパイプ
ライン処理装置に関するものである。
【0002】
【従来の技術】従来、情報処理装置においては、各命令
を複数のステージに分割し、ある命令のステージの実行
が完了すると該ステージに対応する次の命令のステージ
が実行されることにより、1つのステージの実行時間毎
に1つの命令の結果が得られるようにし、これによって
処理速度を向上させることが行われている。このように
各命令を複数のステージに分割して実行する情報処理装
置はパイプライン処理装置と呼ばれている。
【0003】このような従来のパイプライン処理装置で
は、各命令は、命令読み出しステージ(IFステー
ジ)、命令デコードステージ(DECステージ)、実行
ステージ(EXステージ)、メモリステージ(MEMス
テージ)及び書き込みステージ(WBステージ)の5つ
のステージに分割されて実行される。IFステージでは
命令の読み出しを行い、DECステージでは命令のデコ
ードとレジスタの読み出しとを行い、EXステージでは
命令が指定する演算を行い、MEMステージでは命令が
ロード命令又はストア命令の場合にメモリをアクセス
し、WBステージではレジスタファイルへデータの格納
を行う。
【0004】以下従来のパイプライン処理装置の具体的
な例を図面に基づいて説明する。
【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とを有している。
【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に格納される。
【0007】第1の従来例のパイプライン処理装置にお
いて、先に実行すべき第1の命令がロード命令LDであ
り、次に実行すべき第2の命令が演算命令であって、第
1の命令と第2の命令との間にデータの依存関係がある
場合、即ち、第1の命令であるロード命令LDによりメ
モリ装置58からロードされるロードデータが第2の命
令である演算命令で用いられる場合には、第1の命令で
あるロード命令LDによりメモリ装置58から読み出さ
れたロードデータは、バイパス経路59aまたは59b
を経て、第1のEXステージ演算装置53aまたは第2
のEXステージ演算装置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で示すステージは
演算の実行待ちのステージである。
【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の命令をパイプライン処理する。
【0010】ここでは、レジスタファイル51のレジス
タ52a及び52bに格納されているデータは乗算装置
53cにおける第1の命令の演算に用いられるものとす
る。乗算装置53cにおける演算結果は、第1の選択回
路55aと第1のWBステージ保持回路56aとを経て
レジスタファイル51に格納される。
【0011】第2の従来例のパイプライン処理装置にお
いて、先に実行すべき第1の命令が乗算命令MULであ
り且つ次に実行すべき第2の命令が演算命令であって、
第1の命令と第2の命令との間にデータ依存関係がある
場合、即ち、第1の命令である乗算命令MULの演算結
果が第2の命令である演算命令で用いられる場合には、
第1の命令である乗算命令MULの演算結果は、バイパ
ス経路59aまたは59bを経て、乗算装置53cまた
はEXステージ演算装置53bに入力される。
【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で示すステージ
は演算の実行待ちのステージである。
【0013】
【発明が解決しようとする課題】以上の従来例に示され
るように、従来のパイプライン処理装置においては、第
1の命令と該第1の命令の次に実行すべき第2の命令と
の間にデータ依存関係があると第2の命令の実行が待た
され、処理速度の低下をもたらすという問題点がある。
【0014】本発明は、かかる問題点に鑑みてなされた
ものであり、第1の命令と該第1の命令の次に実行すべ
き第2の命令との間にデータ依存関係がある場合にも、
上記第2の命令の実行待ちの時間を少なくすることが可
能なパイプライン処理装置を提供することを目的とす
る。
【0015】
【問題を解決するための手段】上記の目的を達成するた
め、請求項1の発明は、第1の命令と該第1の命令の次
に実行すべき第2の命令との間のデータ依存関係を検出
して、第2の命令の演算を該第2の命令の実行ステージ
よりも後のステージにおいて実行するものである。
【0016】具体的に請求項1の発明が講じた解決手段
は、第1の命令と該第1の命令の次に実行すべき第2の
命令とをそれぞれ複数のステージに分割してパイプライ
ン処理するパイプライン処理装置を対象とし、上記第2
の命令の実行ステージよりも後のステージにおいて上記
第2の命令の演算を実行するステージ演算手段と、上記
第1の命令と上記第2の命令との間のデータ依存関係を
検出するデータ依存検出手段と、上記データ依存検出手
段が上記データ依存関係を検出した場合に上記第2の命
令の演算を上記ステージ演算手段に実行させるように制
御する制御手段とを備えている構成とするものである。
【0017】請求項2の発明は、具体的には、請求項1
の構成に、上記第1の命令は、該第1の命令の実行時間
が上記第2の命令の実行時間と等しいかまたは上記第2
の命令の実行時間よりも長い命令である構成を付加する
ものである。
【0018】請求項3の発明は、具体的には、請求項2
の構成に、上記第1の命令はロード命令である構成を付
加するものである。
【0019】請求項4の発明は、具体的には、請求項3
の構成に、上記ステージ演算手段は、上記第2の命令の
実行ステージよりも後の書き込みステージにおいて上記
第2の命令の演算を実行する書き込みステージ演算手段
である構成を付加するものである。
【0020】また、上記の目的を達成するため、請求項
5の発明は、同時にパイプライン処理される第1の命令
と第2の命令との間のデータ依存関係を検出して、第2
の命令の演算を該第2の命令の実行ステージよりも後の
ステージにおいて実行するものである。
【0021】具体的に請求項5の発明が講じた解決手段
は、第1の命令と該第1の命令の次に実行すべき第2の
命令とを、それぞれ複数のステージに分割して同時にパ
イプライン処理するパイプライン処理装置を対象とし、
上記第1の命令をパイプライン処理する第1の演算装置
と、上記第2の命令をパイプライン処理する第2の演算
装置と、該第2の演算装置に設けられ、上記第2の命令
の実行ステージよりも後のステージにおいて上記第2の
命令の演算を実行するステージ演算手段と、上記第1の
命令と上記第2の命令との間のデータ依存関係を検出す
るデータ依存検出手段と、該データ依存検出手段が上記
データ依存関係を検出した場合に上記第2の命令の演算
を上記ステージ演算手段に実行させるように制御する制
御手段とを備えている構成とするものである。
【0022】請求項6の発明は、具体的には、請求項5
の構成に、上記第1の命令は、該第1の命令の実行時間
が上記第2の命令の実行時間と等しいかまたは上記第2
の命令の実行時間よりも長い命令である構成を付加する
ものである。
【0023】請求項7の発明は、具体的には、請求項6
の構成に、上記第1の命令はロード命令である構成を付
加するものである。
【0024】請求項8の発明は、具体的には、請求項7
の構成に、上記ステージ演算手段は、上記第2の命令の
実行ステージよりも後の書き込みステージにおいて上記
第2の命令の演算を実行する書き込みステージ演算手段
である構成を付加するものである。
【0025】
【作用】請求項1の発明の構成により、第1の命令と該
第1の命令の次に実行すべき第2の命令との間にデータ
依存関係がある場合には、データ依存検出手段が該デー
タ依存関係を検出し、制御手段の制御によりステージ演
算手段が第2の命令の実行ステージよりも後のステージ
において第2の命令の演算を実行することができる。こ
れにより、第2の命令の演算は、該第2の命令の演算に
必要なデータの取得が前記データ依存関係により遅延し
ても、第2の命令の実行ステージよりも後のステージに
おいて実行されることができる。
【0026】請求項2の発明の構成により、例えば、第
1の命令が、その演算の実行時間が第2の命令の演算の
実行時間よりも長い乗算命令である場合には、第1の命
令と第2の命令との間のデータ依存関係は、第1の命令
である乗算命令の演算結果が第2の命令における演算に
用いられることになる。該データ依存関係がデータ依存
検出手段により検出されることにより、第1の命令の演
算結果がステージ演算手段にも入力され、該ステージ演
算手段が第2の命令の実行ステージよりも後のステージ
において第2の命令の演算を実行することができる。
【0027】請求項3の発明の構成により、第1の命令
はロード命令であるので、第1の命令と第2の命令との
間のデータ依存関係は、第1の命令の実行によりロード
されるロードデータが第2の命令における演算に用いら
れることになる。該データ依存関係がデータ依存検出手
段により検出されることにより、第1の命令においてロ
ードすべきロードデータがステージ演算手段にも入力さ
れ、該ステージ演算手段が第2の命令の実行ステージよ
りも後のステージにおいて第2の命令の演算を実行する
ことができる。
【0028】請求項4の発明の構成により、第1の命令
の実行によりロードされるロードデータを用いる第2の
命令の演算は、該第2の命令の実行ステージよりも後の
書き込みステージにおいて実行することができる。
【0029】また、請求項5の発明の構成により、第1
の命令と第2の命令とを同時にパイプライン処理する際
に、第1の命令と該第1の命令の次に実行すべき第2の
命令との間にデータ依存関係がある場合には、データ依
存検出手段が該データ依存関係を検出し、制御手段の制
御により第2の演算装置のステージ演算手段が第2の命
令の実行ステージよりも後のステージにおいて第2の命
令の演算を実行することができる。
【0030】請求項6の発明の構成により、第1の命令
と第2の命令とを同時にパイプライン処理する際に、例
えば、第1の命令が、その演算の実行時間が第2の命令
の演算の実行時間よりも長い乗算命令である場合には、
第1の命令と第2の命令との間のデータ依存関係は、第
1の命令である乗算命令の演算結果が第2の命令におけ
る演算に用いられることになる。該データ依存関係がデ
ータ依存検出手段により検出されることにより、第1の
命令の演算結果が第2の演算装置のステージ演算手段に
も入力され、該ステージ演算手段が第2の命令の実行ス
テージよりも後のステージにおいて第2の命令の演算を
実行することができる。
【0031】請求項7の発明の構成により、第1の命令
と第2の命令とを同時にパイプライン処理する際に、第
1の命令はロード命令であるので、第1の命令と第2の
命令との間のデータ依存関係は、第1の命令の実行によ
り第1の演算装置にロードされるロードデータが第2の
命令における演算に用いられることになる。該データ依
存関係がデータ依存検出手段により検出されることによ
り、第1の命令において第1の演算装置にロードすべき
ロードデータが第2の演算装置のステージ演算手段にも
入力され、該ステージ演算手段が第2の命令の実行ステ
ージよりも後のステージにおいて第2の命令の演算を実
行することができる。
【0032】請求項8の発明の構成により、第1の命令
と第2の命令とを同時にパイプライン処理する際に、第
1の命令の実行により第1演算装置にロードされるロー
ドデータを用いる第2の命令の演算は、該第2の命令の
実行ステージよりも後の書き込みステージにおいて実行
することができる。
【0033】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。
【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とを有している。
【0035】また、第1の実施例のパイプライン処理装
置は第1及び第2の演算装置20a及び20bで共用さ
れるレジスタファイル1を備え、レジスタファイル1は
多数のレジスタ2a,2b,2c,2d…を有してい
る。ここでは、レジスタ2a及び2bに格納されている
データは第1のEXステージ演算装置3aにおける第1
の命令の演算に用いられ、レジスタ2c及び2dに格納
されているデータは第2のEXステージ演算装置3bに
おける第2の命令の演算に用いられるものとする。
【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等に制御信号を出力する。
【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の演
算にも用いられる。
【0038】第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に格納される。
【0039】同様に、第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に格納されているデータは
読み出されない。
【0040】そして、第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に格
納される。
【0041】以上のように、第1の実施例のパイプライ
ン処理装置においては、第1の命令がロード命令LDで
あり且つ第2の命令が加算命令ADDである場合に、デ
ータ依存検出装置11が、第1の命令によりメモリ装置
8からロードされるロードデータが第2の命令の演算に
用いられるというデータ依存関係を検出すると、第1の
命令によりメモリ装置8からロードされるロードデータ
が第2の演算装置20bのWBステージ演算装置10に
も入力され、該WBステージ演算装置10が、第2の命
令におけるEXステージより後のWBステージにおいて
第2の命令の加算を実行するため、第2の命令において
は実行待ちのステージを設ける必要がない。
【0042】図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を有している。
【0043】ここでは、レジスタファイル1のレジスタ
2a及び2bに格納されているデータは乗算装置3cに
おける第1の命令の演算に用いられるものとする。
【0044】データ依存検出装置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等に制御信号を出
力する。
【0045】図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
の演算にも用いられる。
【0046】第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に格納される。
【0047】同様に、第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に格
納されているデータは読み出されない。
【0048】そして、第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に格納さ
れる。
【0049】以上のように、第2の実施例のパイプライ
ン処理装置においては、第1の命令が乗算命令MULで
あり且つ第2の命令が加算命令ADDである場合に、デ
ータ依存検出装置11が、第1の命令の演算結果が第2
の命令の演算に用いられるというデータ依存関係を検出
すると、第1の命令の演算結果が第2の演算装置20b
のWBステージ演算装置10にも入力され、該WBステ
ージ演算装置10が、第2の命令におけるEXステージ
より後のWBステージにおいて第2の命令の加算を実行
するため、第2の命令においては実行待ちのステージを
設ける必要がない。
【0050】なお、第1及び第2の実施例におけるパイ
プライン処理装置は、第1の命令と該第1の命令の次に
実行すべき第2の命令とを2つのパイプラインにより同
時にパイプライン処理するものであるが、第1の命令と
第2の命令とを1つのパイプラインによりパイプライン
処理する場合においても同様の効果を得るような構成が
可能である。
【0051】
【発明の効果】以上説明したように、請求項1の発明に
係るパイプライン処理装置によると、第1の命令と該第
1の命令の次に実行すべき第2の命令との間のデータ依
存関係が検出されることにより、第2の命令の演算が該
第2の命令の実行ステージよりも後のステージにおいて
実行される。これにより、第2の命令の演算は、該第2
の命令の演算に必要なデータの取得が前記データ依存関
係により遅延しても、第2の命令の実行ステージよりも
後のステージにおいて実行されることができるため、第
2の命令の実行が待たされる時間が短縮されるので、パ
イプライン処理装置の処理速度を向上させることができ
る。
【0052】請求項2の発明に係るパイプライン処理装
置によると、例えば、第1の命令が、その演算の実行時
間が第2の命令の演算の実行時間よりも長い乗算命令で
ある場合には、第1の命令と第2の命令との間のデータ
依存関係が検出されることにより、第1の命令の演算結
果がステージ演算手段にも入力され、該ステージ演算手
段が第2の命令の実行ステージよりも後のステージにお
いて第2の命令の演算を実行することができる。このた
め、第2の命令の演算は該第2の命令に実行待ちのステ
ージを設けることなく第1の命令と共に実行されること
ができる。
【0053】請求項3の発明に係るパイプライン処理装
置によると、第1の命令はロード命令であるので、第1
の命令と第2の命令との間のデータ依存関係が検出され
ることにより、第1の命令においてロードすべきロード
データがステージ演算手段にも入力され、該ステージ演
算手段が第2の命令の実行ステージよりも後のステージ
において第2の命令の演算を実行することができる。こ
のため、第2の命令の演算は該第2の命令に実行待ちの
ステージを設けることなく第1の命令と共に実行される
ことができる。
【0054】請求項4の発明に係るパイプライン処理装
置によると、第2の命令の演算は該第2の命令の実行ス
テージよりも後の書き込みステージにおいて実行するこ
とができる。このため、第2の命令の演算は該第2の命
令に実行待ちのステージを設けることなく実行されるこ
とができる。
【0055】従って、パイプライン処理装置の処理速度
を著しく向上させることができる。
【0056】また、請求項5の発明に係るパイプライン
処理装置によると、第1の命令と第2の命令とを同時に
パイプライン処理する際に、第1の命令と第2の命令と
の間のデータ依存関係が検出されることにより、第2の
命令の演算が該第2の命令の実行ステージよりも後のス
テージにおいて実行される。これにより、第2の命令の
演算は、該第2の命令の演算に必要なデータの取得が前
記データ依存関係により遅延しても、第2の命令の実行
ステージよりも後のステージにおいて第2の命令の演算
を実行することができる。このため、第2の命令の実行
が待たされる時間が短縮されるので、パイプライン処理
装置の処理速度を向上させることができる。
【0057】請求項6の発明に係るパイプライン処理装
置によると、第1の命令と第2の命令とを同時にパイプ
ライン処理する際に、例えば、第1の命令が、その演算
の実行時間が第2の命令の演算の実行時間よりも長い乗
算命令である場合には、第1の命令と第2の命令との間
のデータ依存関係が検出されることにより、第1の命令
の演算結果が第2の演算装置のステージ演算手段にも入
力され、該ステージ演算手段が第2の命令の実行ステー
ジよりも後のステージにおいて第2の命令の演算を実行
することができる。このため、第2の命令の演算が該第
2の命令に実行待ちのステージを設けることなく第1の
命令と同時に実行されることができる。
【0058】請求項7の発明に係るパイプライン処理装
置によると、第1の命令と第2の命令とを同時にパイプ
ライン処理する際に、第1の命令はロード命令であるの
で、第1の命令と第2の命令との間のデータ依存関係が
検出されることにより、第1の命令において第1の演算
装置にロードすべきロードデータが第2の演算装置のス
テージ演算手段にも入力され、該ステージ演算手段が第
2の命令の実行ステージよりも後のステージにおいて第
2の命令の演算を実行することができる。このため、第
2の命令の演算が該第2の命令に実行待ちのステージを
設けることなく第1の命令と同時に実行されることがで
きる。
【0059】請求項8の発明に係るパイプライン処理装
置によると、第1の命令と第2の命令とを同時にパイプ
ライン処理する際に、第2の命令の演算は該第2の命令
の実行ステージよりも後の書き込みステージにおいて実
行することができる。このため、第2の命令の演算は該
第2の命令に実行待ちのステージを設けることなく第1
の命令と同時に実行されることができる。
【0060】従って、パイプライン処理装置の処理速度
を著しく向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るパイプライン処理
装置を示すブロック図である。
【図2】上記第1の実施例に係るパイプライン処理装置
の動作を示す図である。
【図3】本発明の第2の実施例に係るパイプライン処理
装置を示すブロック図である。
【図4】上記第2の実施例に係るパイプライン処理装置
の動作を示す図である。
【図5】第1の従来例に係るパイプライン処理装置を示
すブロック図である。
【図6】上記第1の従来例に係るパイプライン処理装置
の動作を示す図である。
【図7】第2の従来例に係るパイプライン処理装置を示
すブロック図である。
【図8】上記第2の従来例に係るパイプライン処理装置
の動作を示す図である。
【符号の説明】
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の演算装置

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 第1の命令と該第1の命令の次に実行す
    べき第2の命令とをそれぞれ複数のステージに分割して
    パイプライン処理するパイプライン処理装置であって、 上記第2の命令の実行ステージよりも後のステージにお
    いて上記第2の命令の演算を実行するステージ演算手段
    と、 上記第1の命令と上記第2の命令との間のデータ依存関
    係を検出するデータ依存検出手段と、 上記データ依存検出手段が上記データ依存関係を検出し
    た場合に上記第2の命令の演算を上記ステージ演算手段
    に実行させるように制御する制御手段とを備えているこ
    とを特徴とするパイプライン処理装置。
  2. 【請求項2】 上記第1の命令は、該第1の命令の実行
    時間が上記第2の命令の実行時間と等しいかまたは上記
    第2の命令の実行時間よりも長い命令であることを特徴
    とする請求項1記載のパイプライン処理装置。
  3. 【請求項3】 上記第1の命令はロード命令であること
    を特徴とする請求項2記載のパイプライン処理装置。
  4. 【請求項4】 上記ステージ演算手段は、上記第2の命
    令の実行ステージよりも後の書き込みステージにおいて
    上記第2の命令の演算を実行する書き込みステージ演算
    手段であることを特徴とする請求項3記載のパイプライ
    ン処理装置。
  5. 【請求項5】 第1の命令と該第1の命令の次に実行す
    べき第2の命令とをそれぞれ複数のステージに分割して
    同時にパイプライン処理するパイプライン処理装置であ
    って、 上記第1の命令をパイプライン処理する第1の演算装置
    と、 上記第2の命令をパイプライン処理する第2の演算装置
    と、 該第2の演算装置に設けられ、上記第2の命令の実行ス
    テージよりも後のステージにおいて上記第2の命令の演
    算を実行するステージ演算手段と、 上記第1の命令と上記第2の命令との間のデータ依存関
    係を検出するデータ依存検出手段と、 該データ依存検出手段が上記データ依存関係を検出した
    場合に上記第2の命令の演算を上記ステージ演算手段に
    実行させるように制御する制御手段とを備えていること
    を特徴とするパイプライン処理装置。
  6. 【請求項6】 上記第1の命令は、該第1の命令の実行
    時間が上記第2の命令の実行時間と等しいかまたは上記
    第2の命令の実行時間よりも長い命令であることを特徴
    とする請求項5記載のパイプライン処理装置。
  7. 【請求項7】 上記第1の命令はロード命令であること
    を特徴とする請求項6記載のパイプライン処理装置。
  8. 【請求項8】 上記ステージ演算手段は、上記第2の命
    令の実行ステージよりも後の書き込みステージにおいて
    上記第2の命令の演算を実行する書き込みステージ演算
    手段であることを特徴とする請求項7記載のパイプライ
    ン処理装置。
JP17403392A 1991-07-04 1992-07-01 パイプライン処理装置 Expired - Fee Related JP2925842B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17403392A JP2925842B2 (ja) 1991-07-04 1992-07-01 パイプライン処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-164488 1991-07-04
JP16448891 1991-07-04
JP17403392A JP2925842B2 (ja) 1991-07-04 1992-07-01 パイプライン処理装置

Publications (2)

Publication Number Publication Date
JPH05204638A true JPH05204638A (ja) 1993-08-13
JP2925842B2 JP2925842B2 (ja) 1999-07-28

Family

ID=26489564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17403392A Expired - Fee Related JP2925842B2 (ja) 1991-07-04 1992-07-01 パイプライン処理装置

Country Status (1)

Country Link
JP (1) JP2925842B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2925842B2 (ja) 1999-07-28

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
US20020169942A1 (en) VLIW processor
JP2539974B2 (ja) 情報処理装置におけるレジスタの読出制御方式
JPH03286332A (ja) デジタルデータ処理装置
JPH08123682A (ja) ディジタル信号処理装置
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
JPH05204638A (ja) パイプライン処理装置
JP2584156B2 (ja) プログラム制御型プロセッサ
JP2812610B2 (ja) パイプライン制御方式
JPS61173345A (ja) 計算機システム
JPH04276827A (ja) パイプライン処理装置
JP2001092658A (ja) データ処理回路及びデータ処理装置
JPH04316127A (ja) 情報処理装置
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JP2000305782A (ja) 演算装置
JPH08235135A (ja) 通信レジスタ付並列計算機
JPH01271842A (ja) 情報処理装置
JPS59223846A (ja) 演算処理装置
JPH04116726A (ja) 情報処理装置
JPH02184922A (ja) プログラムカウンタ
JPS6257028A (ja) パイプライン制御の情報処理装置におけるブランチ制御方法
JPH03263264A (ja) 情報処理装置
JP2001236223A (ja) 情報処理装置
JPH0227429A (ja) パイプライン制御方式

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