JPH06314196A - 情報処理方法および装置 - Google Patents
情報処理方法および装置Info
- Publication number
- JPH06314196A JPH06314196A JP10334493A JP10334493A JPH06314196A JP H06314196 A JPH06314196 A JP H06314196A JP 10334493 A JP10334493 A JP 10334493A JP 10334493 A JP10334493 A JP 10334493A JP H06314196 A JPH06314196 A JP H06314196A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- pipeline
- memory device
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】 パイプライン長を可変とすることにより、メ
モリ装置を参照しない命令の実行を早め、処理速度の向
上を図る。 【構成】 メモリ装置150を参照する命令か否かを判
定する可変パイプライン判定回路220と、メモリ装置
150を参照するパイプラインステージに対応した情報
格納レジスタであるAREG230,240、TREG
260,270、BREG290,300と、当該パイ
プラインステージの有効性を示す有効識別子250,2
80,310と、命令キュー170,180の内容と上
記情報格納レジスタの内容を選択する選択回路320,
330と、上記選択回路の制御を行うパイプライン制御
回路340などにより構成され、上記可変パイプライン
判定回路220の判定結果の状態と上記有効識別子の状
態によりメモリ装置150を参照するパイプラインステ
ージのバイパス制御を行う。
モリ装置を参照しない命令の実行を早め、処理速度の向
上を図る。 【構成】 メモリ装置150を参照する命令か否かを判
定する可変パイプライン判定回路220と、メモリ装置
150を参照するパイプラインステージに対応した情報
格納レジスタであるAREG230,240、TREG
260,270、BREG290,300と、当該パイ
プラインステージの有効性を示す有効識別子250,2
80,310と、命令キュー170,180の内容と上
記情報格納レジスタの内容を選択する選択回路320,
330と、上記選択回路の制御を行うパイプライン制御
回路340などにより構成され、上記可変パイプライン
判定回路220の判定結果の状態と上記有効識別子の状
態によりメモリ装置150を参照するパイプラインステ
ージのバイパス制御を行う。
Description
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特
にパイプライン長を可変とすることにより効率良く命令
の処理を行うパイプライン処理技術に適用して有効な技
術に関する。
にパイプライン長を可変とすることにより効率良く命令
の処理を行うパイプライン処理技術に適用して有効な技
術に関する。
【0002】
【従来の技術】図3は従来の情報処理装置の構成を示す
ブロック図、図4は説明のために用いる命令列を示す概
略説明図、図5は従来技術における命令列を実行する場
合の処理の流れを示すタイムチャートである。
ブロック図、図4は説明のために用いる命令列を示す概
略説明図、図5は従来技術における命令列を実行する場
合の処理の流れを示すタイムチャートである。
【0003】まず、従来の情報処理装置の構成を説明す
る。
る。
【0004】IBR100は命令の高速アクセスを可能
とするための命令バッファレジスタ、IR110はIB
R100から読み出された命令を格納する命令レジス
タ、IGR120はたとえば16本のレジスタ群からな
るアドレス生成用の汎用レジスタであり、各々0番〜1
5番の識別番号が割り当てられている。
とするための命令バッファレジスタ、IR110はIB
R100から読み出された命令を格納する命令レジス
タ、IGR120はたとえば16本のレジスタ群からな
るアドレス生成用の汎用レジスタであり、各々0番〜1
5番の識別番号が割り当てられている。
【0005】アドレス加算器130は命令により指定さ
れる汎用レジスタの内容と命令により与えられる変位値
より論理アドレスを求めるアドレス加算器であり、TL
B140はアドレス加算器130によって求まった論理
アドレスを物理アドレスに変換する変換索引緩衝機構、
メモリ装置150は物理アドレスにより所望のデータを
供給するメモリ装置である。
れる汎用レジスタの内容と命令により与えられる変位値
より論理アドレスを求めるアドレス加算器であり、TL
B140はアドレス加算器130によって求まった論理
アドレスを物理アドレスに変換する変換索引緩衝機構、
メモリ装置150は物理アドレスにより所望のデータを
供給するメモリ装置である。
【0006】命令デコーダ160は命令の解読を行うも
のであり、命令キュー170は第1の命令解読情報をキ
ューイングするものであり、命令キュー180は第2の
命令解読情報をキューイングするものである。
のであり、命令キュー170は第1の命令解読情報をキ
ューイングするものであり、命令キュー180は第2の
命令解読情報をキューイングするものである。
【0007】制御記憶190は命令の実行に関するオペ
レーションをマイクロプログラムとして記憶するもので
あり、GGR200は演算実行用の汎用レジスタであ
り、ALU210は算術/論理演算ユニットである。
レーションをマイクロプログラムとして記憶するもので
あり、GGR200は演算実行用の汎用レジスタであ
り、ALU210は算術/論理演算ユニットである。
【0008】なお、IGR120とGGR200は論理
的には同等のものであり物理的にはどちらか一方あれば
良く、また本例のようにコピーを持っても良い。
的には同等のものであり物理的にはどちらか一方あれば
良く、また本例のようにコピーを持っても良い。
【0009】ここで、図4に示される命令列を例にと
り、この命令列の処理動作を図3〜5を用いて説明す
る。
り、この命令列の処理動作を図3〜5を用いて説明す
る。
【0010】なお、これらの命令列は参照を容易にする
ためにラベル(#1)〜(#5)を付加している。
ためにラベル(#1)〜(#5)を付加している。
【0011】また、図5の横軸は時間(サイクル数)を
示し、1〜18の番号は説明の便宜上つけたものであり
対応するマシンサイクルを示す。
示し、1〜18の番号は説明の便宜上つけたものであり
対応するマシンサイクルを示す。
【0012】一般に、高性能情報処理装置の命令処理
は、命令の先取り、解読および実行を高度にオーバラッ
プさせるパイプライン方式がとられている。図3に示し
た従来技術の場合、命令の解読から実行までを6つのパ
イプラインに分割し、各々Dステージ、Aステージ、T
ステージ、Bステージ、LステージおよびEステージと
している。
は、命令の先取り、解読および実行を高度にオーバラッ
プさせるパイプライン方式がとられている。図3に示し
た従来技術の場合、命令の解読から実行までを6つのパ
イプラインに分割し、各々Dステージ、Aステージ、T
ステージ、Bステージ、LステージおよびEステージと
している。
【0013】そして、Dステージでは命令の解読とAス
テージにおいて行う論理アドレス生成のための汎用レジ
スタ参照を行う。Aステージでは命令の解読情報のキュ
ーイングと、メモリオペランド読み出しや分岐先命令読
み出しに必要な論理アドレス生成のためのアドレス加算
を行う。
テージにおいて行う論理アドレス生成のための汎用レジ
スタ参照を行う。Aステージでは命令の解読情報のキュ
ーイングと、メモリオペランド読み出しや分岐先命令読
み出しに必要な論理アドレス生成のためのアドレス加算
を行う。
【0014】TステージではTLBを検索し論理アドレ
スを物理アドレスに変換する。なお、TLB検索に関す
る詳細は本発明の範囲外であるためここでは省略する。
スを物理アドレスに変換する。なお、TLB検索に関す
る詳細は本発明の範囲外であるためここでは省略する。
【0015】Bステージでは命令の実行に関するオペレ
ーションをマイクロプログラムとして記憶する制御記憶
の参照と、物理アドレスによるメモリ装置の参照を行
う。この場合、メモリ装置はキャッシュメモリであって
も良い。
ーションをマイクロプログラムとして記憶する制御記憶
の参照と、物理アドレスによるメモリ装置の参照を行
う。この場合、メモリ装置はキャッシュメモリであって
も良い。
【0016】Lステージでは汎用レジスタからのレジス
タオペランド読み出しと、メモリ装置から読み出したデ
ータの転送を行う。Eステージでは上記レジスタオペラ
ンドやメモリオペランドをもとに演算の実行を行う。
タオペランド読み出しと、メモリ装置から読み出したデ
ータの転送を行う。Eステージでは上記レジスタオペラ
ンドやメモリオペランドをもとに演算の実行を行う。
【0017】(#1)のAR命令は第1サイクルにおい
てIBR100からIR110にセットされる。IR1
10の内容は命令デコーダ160に転送され解読され
る。
てIBR100からIR110にセットされる。IR1
10の内容は命令デコーダ160に転送され解読され
る。
【0018】また、(#1)のAR命令はレジスタオペ
ランドどうしの算術加算命令であるため論理アドレス生
成の必要はなく、従ってIGR120参照、アドレス加
算器130によるアドレス加算、TLB140の検索お
よびメモリ装置150の読み出しおよび転送は行わな
い。
ランドどうしの算術加算命令であるため論理アドレス生
成の必要はなく、従ってIGR120参照、アドレス加
算器130によるアドレス加算、TLB140の検索お
よびメモリ装置150の読み出しおよび転送は行わな
い。
【0019】第2サイクルでは、命令デコーダ160に
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされる。具体的には命令の実行に必要
なレジスタオペランドに対応する汎用レジスタの識別番
号(この場合1番と2番)と命令の実行結果を格納する
汎用レジスタの識別番号(この場合1番)が命令キュー
170にキューイングされ、(#1)のAR命令のオペ
レーションが格納されている制御記憶アドレスが命令キ
ュー180にキューイングされる。
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされる。具体的には命令の実行に必要
なレジスタオペランドに対応する汎用レジスタの識別番
号(この場合1番と2番)と命令の実行結果を格納する
汎用レジスタの識別番号(この場合1番)が命令キュー
170にキューイングされ、(#1)のAR命令のオペ
レーションが格納されている制御記憶アドレスが命令キ
ュー180にキューイングされる。
【0020】第3サイクルでは、(#1)のAR命令の
場合、TLB140検索の必要がないためダミーサイク
ルである。第4サイクルでは、命令キュー180からの
制御記憶アドレスにより制御記憶190を参照する。
場合、TLB140検索の必要がないためダミーサイク
ルである。第4サイクルでは、命令キュー180からの
制御記憶アドレスにより制御記憶190を参照する。
【0021】第5サイクルでは、命令キュー170から
の汎用レジスタ識別番号に対応するレジスタオペランド
をGGR200から読み出す。第6サイクルでは制御記
憶190から読み出されたオペレーションにより、GG
R200から読み出された1番レジスタと2番レジスタ
の算術加算をALU210において実行し、演算結果
は、IGR120とGGR200の1番レジスタに転送
される。
の汎用レジスタ識別番号に対応するレジスタオペランド
をGGR200から読み出す。第6サイクルでは制御記
憶190から読み出されたオペレーションにより、GG
R200から読み出された1番レジスタと2番レジスタ
の算術加算をALU210において実行し、演算結果
は、IGR120とGGR200の1番レジスタに転送
される。
【0022】次に、(#2)のL命令は第2サイクルに
IBR100からIR110にセットされる。IR11
0の内容は命令デコーダ160に転送され解読される。
(#2)のL命令はメモリオペランドをレジスタへロー
ドする命令であるため論理アドレスの生成が必要であ
る。
IBR100からIR110にセットされる。IR11
0の内容は命令デコーダ160に転送され解読される。
(#2)のL命令はメモリオペランドをレジスタへロー
ドする命令であるため論理アドレスの生成が必要であ
る。
【0023】しかし、上記命令列によれば、(#1)の
AR命令の書き込みレジスタ(1番レジスタ)と(#
2)のL命令のベースレジスタ(1番レジスタ)が同一
番号であるため、(#1)のAR命令の演算結果が求ま
るまで(#2)のL命令のアドレス加算ができないとい
うアドレス発生インタロックが生じ、従って、第2サイ
クルではIGR120を参照することはできない。
AR命令の書き込みレジスタ(1番レジスタ)と(#
2)のL命令のベースレジスタ(1番レジスタ)が同一
番号であるため、(#1)のAR命令の演算結果が求ま
るまで(#2)のL命令のアドレス加算ができないとい
うアドレス発生インタロックが生じ、従って、第2サイ
クルではIGR120を参照することはできない。
【0024】第3サイクルでは、命令デコーダ160に
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされる。具体的には命令の実行結果を
格納する汎用レジスタの識別番号(この場合には3番)
が命令キュー170にキューイングされ、(#2)のL
命令のオペレーションが格納されている制御記憶アドレ
スが、命令キュー180にキューイングされる。
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされる。具体的には命令の実行結果を
格納する汎用レジスタの識別番号(この場合には3番)
が命令キュー170にキューイングされ、(#2)のL
命令のオペレーションが格納されている制御記憶アドレ
スが、命令キュー180にキューイングされる。
【0025】一方、(#1)のAR命令の演算は第6サ
イクルに実行され、その結果がIGR120,GGR2
00とともにアドレス加算器130に転送される。第7
サイクルでは(#1)のAR命令の演算結果、すなわち
(#2)のL命令によって指定されたベースレジスタの
内容と、インデックスレジスタの内容と変位値を加算し
て論理アドレスを求める。
イクルに実行され、その結果がIGR120,GGR2
00とともにアドレス加算器130に転送される。第7
サイクルでは(#1)のAR命令の演算結果、すなわち
(#2)のL命令によって指定されたベースレジスタの
内容と、インデックスレジスタの内容と変位値を加算し
て論理アドレスを求める。
【0026】第8サイクルでは、上記論理アドレスによ
りTLB140を検索し物理アドレスに変換する。第9
サイクルでは、上記物理アドレスによりメモリ装置15
0を参照するとともに、命令キュー180からの制御記
憶アドレスにより制御記憶190を参照する。
りTLB140を検索し物理アドレスに変換する。第9
サイクルでは、上記物理アドレスによりメモリ装置15
0を参照するとともに、命令キュー180からの制御記
憶アドレスにより制御記憶190を参照する。
【0027】第10サイクルでは、メモリ装置150か
ら読み出されたデータがALU210に転送される。第
11サイクルでは、ALU210において演算が実行さ
れその結果がIGR120,GGR200に転送され
る。
ら読み出されたデータがALU210に転送される。第
11サイクルでは、ALU210において演算が実行さ
れその結果がIGR120,GGR200に転送され
る。
【0028】(#3)のLTR命令は第7サイクルにお
いてIBR100からIR110にセットされる。IR
110の内容は命令デコーダ160に転送され解読され
る。また、(#3)のLTR命令はレジスタ間のロード
命令であるため論理アドレス生成の必要はなく、従って
IGR120参照、アドレス加算器130によるアドレ
ス加算、TLB140の検索、メモリ装置150の読み
出しおよび転送は行わない。
いてIBR100からIR110にセットされる。IR
110の内容は命令デコーダ160に転送され解読され
る。また、(#3)のLTR命令はレジスタ間のロード
命令であるため論理アドレス生成の必要はなく、従って
IGR120参照、アドレス加算器130によるアドレ
ス加算、TLB140の検索、メモリ装置150の読み
出しおよび転送は行わない。
【0029】第8サイクルでは、命令デコーダ160に
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされる。具体的には命令の実行に必要
なレジスタオペランドに対応する汎用レジスタの識別番
号(この場合3番)と命令の実行結果を格納する汎用レ
ジスタの識別番号(この場合3番)が命令キュー170
にキューイングされ、(#3)のLTR命令のオペレー
ションが格納されている制御記憶アドレスが、命令キュ
ー180にキューイングされる。
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされる。具体的には命令の実行に必要
なレジスタオペランドに対応する汎用レジスタの識別番
号(この場合3番)と命令の実行結果を格納する汎用レ
ジスタの識別番号(この場合3番)が命令キュー170
にキューイングされ、(#3)のLTR命令のオペレー
ションが格納されている制御記憶アドレスが、命令キュ
ー180にキューイングされる。
【0030】第9サイクルは、(#3)のLTR命令の
場合、TLB140検索の必要がないためダミーサイク
ルである。第10サイクルでは命令キュー180からの
制御記憶アドレスにより制御記憶190が参照される。
場合、TLB140検索の必要がないためダミーサイク
ルである。第10サイクルでは命令キュー180からの
制御記憶アドレスにより制御記憶190が参照される。
【0031】上記命令列によれば、(#2)のL命令の
書き込みレジスタ(3番レジスタ)と(#3)のLTR
命令のオペランドに対応するレジスタ番号(3番レジス
タ)が同一番号であるため、(#2)のL命令の結果が
求まるまで(#3)のLTR命令のレジスタオペランド
読み出しができない。
書き込みレジスタ(3番レジスタ)と(#3)のLTR
命令のオペランドに対応するレジスタ番号(3番レジス
タ)が同一番号であるため、(#2)のL命令の結果が
求まるまで(#3)のLTR命令のレジスタオペランド
読み出しができない。
【0032】従って、第11サイクルでは命令キュー1
70からの汎用レジスタ識別番号に対応するレジスタオ
ペランドをGGR200から読み出すことはできない。
70からの汎用レジスタ識別番号に対応するレジスタオ
ペランドをGGR200から読み出すことはできない。
【0033】一方、(#2)のL命令は第11サイクル
に実行され、その結果がIGR120,GGR200に
転送されるとともにALU210に再入力される。第1
2サイクルでは上記再入力された(#2)のL命令の結
果より(#3)のLTRの演算がALU210において
実行されその結果がIGR120,GGR200に転送
される。
に実行され、その結果がIGR120,GGR200に
転送されるとともにALU210に再入力される。第1
2サイクルでは上記再入力された(#2)のL命令の結
果より(#3)のLTRの演算がALU210において
実行されその結果がIGR120,GGR200に転送
される。
【0034】(#4)のBC命令は第8サイクルにおい
てIBR100からIR110にセットされる。IR1
10の内容は命令デコーダ160に転送され解読され
る。
てIBR100からIR110にセットされる。IR1
10の内容は命令デコーダ160に転送され解読され
る。
【0035】また、(#4)のBC命令は条件付き分岐
命令であるため分岐先命令の論理アドレス生成が必要で
あり、従って論理アドレス生成のためのIGR120の
参照を行う。
命令であるため分岐先命令の論理アドレス生成が必要で
あり、従って論理アドレス生成のためのIGR120の
参照を行う。
【0036】第9サイクルでは、命令デコーダ160に
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされるとともにインデックスレジスタ
の内容とベースレジスタの内容と変位値をアドレス加算
器130において加算することにより論理アドレスを求
める。
よる命令解読情報が命令キュー170と命令キュー18
0にキューイングされるとともにインデックスレジスタ
の内容とベースレジスタの内容と変位値をアドレス加算
器130において加算することにより論理アドレスを求
める。
【0037】第10サイクルでは、(#4)のBC命令
のTLB140検索が行われ、第11サイクルでは、メ
モリ装置150の参照が行われる。第12サイクルで
は、メモリ装置150から読み出した分岐先命令をIB
R100とIR110に転送する。
のTLB140検索が行われ、第11サイクルでは、メ
モリ装置150の参照が行われる。第12サイクルで
は、メモリ装置150から読み出した分岐先命令をIB
R100とIR110に転送する。
【0038】そして、第13サイクルでは、(#4)の
BC命令のマスクフィールドと条件コードの比較が行わ
れ、分岐の成立の可否がチェックされる。なお、条件付
き分岐命令に関する詳細は本発明の範囲外であるためこ
こでは省略する。上記命令列では便宜上分岐成功ケース
を仮定して説明を進める。
BC命令のマスクフィールドと条件コードの比較が行わ
れ、分岐の成立の可否がチェックされる。なお、条件付
き分岐命令に関する詳細は本発明の範囲外であるためこ
こでは省略する。上記命令列では便宜上分岐成功ケース
を仮定して説明を進める。
【0039】(#5)のAR命令はメモリ装置150か
ら転送され、第13サイクルにおいてIR110にセッ
トされる。以降、(#5)のAR命令は(#1)のAR
命令と同様の処理により第18サイクルに演算が実行さ
れる。
ら転送され、第13サイクルにおいてIR110にセッ
トされる。以降、(#5)のAR命令は(#1)のAR
命令と同様の処理により第18サイクルに演算が実行さ
れる。
【0040】なお、この種の装置として関連するものに
は、たとえば特開平3−194632号公報記載の情報
処理装置が挙げられる。
は、たとえば特開平3−194632号公報記載の情報
処理装置が挙げられる。
【0041】
【発明が解決しようとする課題】ところが、前記のよう
な従来技術においては、メモリ装置の参照を行う命令と
メモリ装置の参照を行わない命令により必要なパイプラ
イン段数が異なることに対する考慮がなされておらず、
メモリ装置を参照しない命令についても便宜的に参照ス
テージを割り当てている。このため、メモリ装置の参照
を行わない命令の実行が遅れ、ひいては後続命令の解
読、および演算の実行が遅れるという問題がある。
な従来技術においては、メモリ装置の参照を行う命令と
メモリ装置の参照を行わない命令により必要なパイプラ
イン段数が異なることに対する考慮がなされておらず、
メモリ装置を参照しない命令についても便宜的に参照ス
テージを割り当てている。このため、メモリ装置の参照
を行わない命令の実行が遅れ、ひいては後続命令の解
読、および演算の実行が遅れるという問題がある。
【0042】そこで、本発明の目的は、メモリ装置の参
照を行わない命令についてはメモリ装置の参照を行うパ
イプラインステージの実行をバイパスすることにより、
その命令の実行を早め、さらに後続命令の解読、実行を
早めて、処理速度の向上を図る情報処理装置を提供する
ことにある。
照を行わない命令についてはメモリ装置の参照を行うパ
イプラインステージの実行をバイパスすることにより、
その命令の実行を早め、さらに後続命令の解読、実行を
早めて、処理速度の向上を図る情報処理装置を提供する
ことにある。
【0043】本発明の前記並びにその他の目的と新規な
特徴は、本明細書の記述および添付図面から明らかにな
るであろう。
特徴は、本明細書の記述および添付図面から明らかにな
るであろう。
【0044】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0045】すなわち、請求項1記載の情報処理方法
は、複数のパイプラインステージを有してデータ処理を
行う情報処理方法であって、命令を実行する場合に命令
がメモリ装置の参照を行うかどうかを判定し、命令がメ
モリ装置を参照しない場合には、メモリ装置の参照を行
うパイプラインステージをバイパスし次の命令を実行す
るものである。
は、複数のパイプラインステージを有してデータ処理を
行う情報処理方法であって、命令を実行する場合に命令
がメモリ装置の参照を行うかどうかを判定し、命令がメ
モリ装置を参照しない場合には、メモリ装置の参照を行
うパイプラインステージをバイパスし次の命令を実行す
るものである。
【0046】また、請求項2記載の情報処理装置は、複
数のパイプラインステージを有するパイプライン方式の
情報処理装置であって、命令を実行する場合に命令がメ
モリ装置の参照を行うかどうかを判定する判定手段と、
パイプラインステージに対応して情報を格納する情報格
納手段と、パイプラインステージの有効性を示す有効ス
テージ識別手段と、情報格納手段の内容を選択する選択
手段とを備え、有効ステージ識別手段の状態と判定手段
の情報により処理すべき情報格納手段の内容または命令
を決定するものである。
数のパイプラインステージを有するパイプライン方式の
情報処理装置であって、命令を実行する場合に命令がメ
モリ装置の参照を行うかどうかを判定する判定手段と、
パイプラインステージに対応して情報を格納する情報格
納手段と、パイプラインステージの有効性を示す有効ス
テージ識別手段と、情報格納手段の内容を選択する選択
手段とを備え、有効ステージ識別手段の状態と判定手段
の情報により処理すべき情報格納手段の内容または命令
を決定するものである。
【0047】そして、請求項3記載の情報処理装置は、
情報格納手段と有効ステージ識別手段をメモリ装置を参
照するパイプラインステージに対応して複数備えるもの
である。
情報格納手段と有効ステージ識別手段をメモリ装置を参
照するパイプラインステージに対応して複数備えるもの
である。
【0048】さらに、請求項4記載の情報処理装置は、
判定手段よりメモリ装置の参照が必要な命令か否かを検
出し、さらに有効ステージ識別手段の状態により情報格
納手段に命令が存在するか否か検出することにより、選
択手段を制御するパイプライン制御手段を備えるもので
ある。
判定手段よりメモリ装置の参照が必要な命令か否かを検
出し、さらに有効ステージ識別手段の状態により情報格
納手段に命令が存在するか否か検出することにより、選
択手段を制御するパイプライン制御手段を備えるもので
ある。
【0049】また、請求項5記載の情報処理装置は、複
数の有効ステージ識別手段において、命令が対応するパ
イプラインステージに存在するとき第1の状態とし、命
令が対応するパイプラインステージに存在しないとき第
2の状態とし、いずれかの有効ステージ識別手段が第1
の状態のときは情報格納手段の内容を選択するものであ
る。
数の有効ステージ識別手段において、命令が対応するパ
イプラインステージに存在するとき第1の状態とし、命
令が対応するパイプラインステージに存在しないとき第
2の状態とし、いずれかの有効ステージ識別手段が第1
の状態のときは情報格納手段の内容を選択するものであ
る。
【0050】さらに、請求項6記載の情報処理装置は、
判定手段において、メモリ装置の参照が必要でない命令
では第1の状態とし、メモリ装置の参照が必要な命令で
は第2の状態とし、第2の状態のときは情報格納手段の
内容を選択するものである。
判定手段において、メモリ装置の参照が必要でない命令
では第1の状態とし、メモリ装置の参照が必要な命令で
は第2の状態とし、第2の状態のときは情報格納手段の
内容を選択するものである。
【0051】そして、請求項7記載の情報処理装置は、
判定手段において、命令がメモリ装置の参照を必要とし
ない第1の状態であり、かつ複数の有効ステージ識別手
段において、パイプラインステージに命令が存在しない
第2の状態ならば、命令は、パイプラインステージをバ
イパスして命令を実行するものである。
判定手段において、命令がメモリ装置の参照を必要とし
ない第1の状態であり、かつ複数の有効ステージ識別手
段において、パイプラインステージに命令が存在しない
第2の状態ならば、命令は、パイプラインステージをバ
イパスして命令を実行するものである。
【0052】
【作用】前記した情報処理方法および装置によれば、メ
モリ装置の参照の必要がない命令が解読されると判定手
段によりその旨の判定を行い、可変パイプライン判定結
果を第1の状態(以下、ON状態と記す)とし、またパ
イプラインステージに命令が存在するとき当該パイプラ
インステージの有効ステージ識別手段を第1の状態(以
下、ON状態と記す)として、パイプラインステージに
命令が存在しないとき当該パイプラインステージの有効
ステージ識別手段を第2の状態(以下、OFF状態と記
す)として、上記可変パイプライン判定結果がON状態
であり、かつ上記有効ステージ識別手段がOFF状態で
あるとき、パイプライン制御手段により選択手段にその
旨を報告して命令キューの内容を選択することができ
る。
モリ装置の参照の必要がない命令が解読されると判定手
段によりその旨の判定を行い、可変パイプライン判定結
果を第1の状態(以下、ON状態と記す)とし、またパ
イプラインステージに命令が存在するとき当該パイプラ
インステージの有効ステージ識別手段を第1の状態(以
下、ON状態と記す)として、パイプラインステージに
命令が存在しないとき当該パイプラインステージの有効
ステージ識別手段を第2の状態(以下、OFF状態と記
す)として、上記可変パイプライン判定結果がON状態
であり、かつ上記有効ステージ識別手段がOFF状態で
あるとき、パイプライン制御手段により選択手段にその
旨を報告して命令キューの内容を選択することができ
る。
【0053】このような制御により、実行する命令がメ
モリ装置の参照を行わない命令の場合には、そのメモリ
装置の参照を行うパイプラインステージをバイパスする
ことができる。
モリ装置の参照を行わない命令の場合には、そのメモリ
装置の参照を行うパイプラインステージをバイパスする
ことができる。
【0054】また、可変パイプライン判定結果が第2の
状態(以下、OFF状態と記す)のときや有効ステージ
識別手段がON状態のときはメモリ装置の参照を行うパ
イプラインステージのバイパス制御を行わないので誤動
作を防止することができる。
状態(以下、OFF状態と記す)のときや有効ステージ
識別手段がON状態のときはメモリ装置の参照を行うパ
イプラインステージのバイパス制御を行わないので誤動
作を防止することができる。
【0055】これにより、メモリ装置の参照を行わない
命令を実行する場合には、判定手段によりその旨を判定
し、さらに有効ステージ識別手段がOFF状態の場合に
は、パイプライン制御手段および選択手段を用いて、メ
モリ装置の参照を行うパイプラインステージをバイパス
してその命令を実行し、後続命令の解読、実行を早める
ことができ、従って情報処理装置の処理速度の向上を図
ることができる。
命令を実行する場合には、判定手段によりその旨を判定
し、さらに有効ステージ識別手段がOFF状態の場合に
は、パイプライン制御手段および選択手段を用いて、メ
モリ装置の参照を行うパイプラインステージをバイパス
してその命令を実行し、後続命令の解読、実行を早める
ことができ、従って情報処理装置の処理速度の向上を図
ることができる。
【0056】
【実施例】以下、本発明の実施例を詳細に説明する。
【0057】図1は本発明の一実施例である情報処理装
置の構成を示すブロック図、図2は本実施例における命
令列を実行する場合の処理の流れを示すタイムチャート
である。
置の構成を示すブロック図、図2は本実施例における命
令列を実行する場合の処理の流れを示すタイムチャート
である。
【0058】まず、図1により本実施例の情報処理装置
1の構成を説明する。
1の構成を説明する。
【0059】本実施例の情報処理装置1は、たとえば複
数のパイプラインステージを有するパイプライン方式の
情報処理装置であって、命令バッファレジスタ(IB
R)100と、命令レジスタ(IR)110と、汎用レ
ジスタ(IGR)120と、アドレス加算器130と、
変換索引緩衝機構(TLB)140と、メモリ装置15
0と、命令デコーダ160と、命令キュー170,18
0と、制御記憶190と、汎用レジスタ(GGR)20
0と、算術/論理演算ユニット(ALU)210と、可
変パイプライン判定回路220と、Aステージ対応レジ
スタ(AREG)230,240と、Aステージ有効識
別子250と、Tステージ対応レジスタ(TREG)2
60,270と、Tステージ有効識別子280と、Bス
テージ対応レジスタ(BREG)290,300と、B
ステージ有効識別子310と、選択回路320,330
と、パイプライン制御回路340などにより構成され
る。
数のパイプラインステージを有するパイプライン方式の
情報処理装置であって、命令バッファレジスタ(IB
R)100と、命令レジスタ(IR)110と、汎用レ
ジスタ(IGR)120と、アドレス加算器130と、
変換索引緩衝機構(TLB)140と、メモリ装置15
0と、命令デコーダ160と、命令キュー170,18
0と、制御記憶190と、汎用レジスタ(GGR)20
0と、算術/論理演算ユニット(ALU)210と、可
変パイプライン判定回路220と、Aステージ対応レジ
スタ(AREG)230,240と、Aステージ有効識
別子250と、Tステージ対応レジスタ(TREG)2
60,270と、Tステージ有効識別子280と、Bス
テージ対応レジスタ(BREG)290,300と、B
ステージ有効識別子310と、選択回路320,330
と、パイプライン制御回路340などにより構成され
る。
【0060】命令バッファレジスタ(以下、IBR10
0と記す)100は命令の高速アクセスを可能とするた
めの命令バッファレジスタ、命令レジスタ(以下、IR
110と記す)110はIBR100から読み出された
命令を格納する命令レジスタ、汎用レジスタ(以下、I
GR120と記す)120はアドレス生成用の汎用レジ
スタ、アドレス加算器130は命令により指定される汎
用レジスタの内容と命令により与えられる変位値とによ
り論理アドレスを求めるアドレス加算器である。
0と記す)100は命令の高速アクセスを可能とするた
めの命令バッファレジスタ、命令レジスタ(以下、IR
110と記す)110はIBR100から読み出された
命令を格納する命令レジスタ、汎用レジスタ(以下、I
GR120と記す)120はアドレス生成用の汎用レジ
スタ、アドレス加算器130は命令により指定される汎
用レジスタの内容と命令により与えられる変位値とによ
り論理アドレスを求めるアドレス加算器である。
【0061】変換索引緩衝機構(以下、TLB140と
記す)140はアドレス加算器130において求まった
論理アドレスを物理アドレスに変換する変換索引緩衝機
構、メモリ装置150は物理アドレスにより所望のデー
タを供給するメモリ装置、命令デコーダ160は命令の
解読を行う命令解読装置、可変パイプライン判定回路2
20(判定手段)は可変パイプラインが可能な命令か否
かを判定する回路。
記す)140はアドレス加算器130において求まった
論理アドレスを物理アドレスに変換する変換索引緩衝機
構、メモリ装置150は物理アドレスにより所望のデー
タを供給するメモリ装置、命令デコーダ160は命令の
解読を行う命令解読装置、可変パイプライン判定回路2
20(判定手段)は可変パイプラインが可能な命令か否
かを判定する回路。
【0062】可変パイプライン判定結果221は可変パ
イプラインが可能な命令はON状態、可変パイプライン
が不可な命令はOFF状態となる。
イプラインが可能な命令はON状態、可変パイプライン
が不可な命令はOFF状態となる。
【0063】命令キュー170は第1の命令解読情報を
キューイングし、命令キュー180は第2の命令解読情
報をキューイングし、制御記憶190は命令の実行に関
するオペレーションをマイクロプログラムとして記憶す
る。
キューイングし、命令キュー180は第2の命令解読情
報をキューイングし、制御記憶190は命令の実行に関
するオペレーションをマイクロプログラムとして記憶す
る。
【0064】汎用レジスタ(以下、GGR200と記
す)200は演算実行用の汎用レジスタであり、ALU
210は算術/論理演算ユニット、AREG230(情
報格納手段)は命令キュー170からの命令解読情報を
Aステージに対応させて保持する第1のAステージ対応
レジスタ、AREG240(情報格納手段)は命令キュ
ー180からの命令解読情報をAステージに対応させて
保持する第2のAステージ対応レジスタである。
す)200は演算実行用の汎用レジスタであり、ALU
210は算術/論理演算ユニット、AREG230(情
報格納手段)は命令キュー170からの命令解読情報を
Aステージに対応させて保持する第1のAステージ対応
レジスタ、AREG240(情報格納手段)は命令キュ
ー180からの命令解読情報をAステージに対応させて
保持する第2のAステージ対応レジスタである。
【0065】Aステージ有効識別子250(有効ステー
ジ識別手段)はAREG230,240に有効な命令が
存在するときON状態、存在しないときOFF状態とな
る。
ジ識別手段)はAREG230,240に有効な命令が
存在するときON状態、存在しないときOFF状態とな
る。
【0066】TREG260(情報格納手段)はARE
G230からの命令解読情報をTステージに対応させて
保持する第1のTステージ対応レジスタ、TREG27
0(情報格納手段)はAREG240からの命令解読情
報をTステージに対応させて保持する第2のTステージ
対応レジスタである。
G230からの命令解読情報をTステージに対応させて
保持する第1のTステージ対応レジスタ、TREG27
0(情報格納手段)はAREG240からの命令解読情
報をTステージに対応させて保持する第2のTステージ
対応レジスタである。
【0067】Tステージ有効識別子280(有効ステー
ジ識別手段)はTREG260,270に有効な命令が
存在するときON状態、存在しないときOFF状態とな
る。
ジ識別手段)はTREG260,270に有効な命令が
存在するときON状態、存在しないときOFF状態とな
る。
【0068】BREG290(情報格納手段)はTRE
G260からの命令解読情報をBステージに対応させて
保持する第1のBステージ対応レジスタ、BREG30
0(情報格納手段)はTREG270からの命令解読情
報をBステージに対応させて保持する第2のBステージ
対応レジスタである。
G260からの命令解読情報をBステージに対応させて
保持する第1のBステージ対応レジスタ、BREG30
0(情報格納手段)はTREG270からの命令解読情
報をBステージに対応させて保持する第2のBステージ
対応レジスタである。
【0069】Bステージ有効識別子310(有効ステー
ジ識別手段)はBREG290,300に有効な命令が
存在するときON状態、存在しないときOFF状態とな
る。
ジ識別手段)はBREG290,300に有効な命令が
存在するときON状態、存在しないときOFF状態とな
る。
【0070】選択回路320(選択手段)は命令キュー
170からの命令解読情報とBREG290からの命令
解読情報をセレクト信号341の状態に従い選択し、ま
た選択回路330(選択手段)は命令キュー180から
の命令解読情報とBREG300からの命令解読情報を
セレクト信号341の状態に従い選択する。
170からの命令解読情報とBREG290からの命令
解読情報をセレクト信号341の状態に従い選択し、ま
た選択回路330(選択手段)は命令キュー180から
の命令解読情報とBREG300からの命令解読情報を
セレクト信号341の状態に従い選択する。
【0071】パイプライン制御回路340(パイプライ
ン制御手段)は可変パイプライン判定結果221とAス
テージ有効識別子250とTステージ有効識別子280
とBステージ有効識別子310により選択回路320,
330を制御する。
ン制御手段)は可変パイプライン判定結果221とAス
テージ有効識別子250とTステージ有効識別子280
とBステージ有効識別子310により選択回路320,
330を制御する。
【0072】セレクト信号341は命令キュー170,
180を選択するときはON状態、BREG290,3
00を選択するときはOFF状態となる。
180を選択するときはON状態、BREG290,3
00を選択するときはOFF状態となる。
【0073】また、情報処理装置1は、命令をIBR1
00からIR110へセットするとDステージを起動す
る。Dステージでは命令の解読と命令解読情報のキュー
イングを行い、メモリ装置150の参照の必要な命令で
は論理アドレス生成のための汎用レジスタ参照も行う。
00からIR110へセットするとDステージを起動す
る。Dステージでは命令の解読と命令解読情報のキュー
イングを行い、メモリ装置150の参照の必要な命令で
は論理アドレス生成のための汎用レジスタ参照も行う。
【0074】パイプライン制御回路340は、具体的に
は可変パイプライン判定結果がON状態(メモリ装置参
照が必要でない命令を解読)であり、かつAステージ有
効識別子250、Tステージ有効識別子280およびB
ステージ有効識別子310の全てがOFF状態であると
きパイプライン制御回路340はDステージの終了、す
なわち次のステージの起動に同期してセレクト信号34
1をON状態(命令キュー170,180の命令を選択
し実行)とする。
は可変パイプライン判定結果がON状態(メモリ装置参
照が必要でない命令を解読)であり、かつAステージ有
効識別子250、Tステージ有効識別子280およびB
ステージ有効識別子310の全てがOFF状態であると
きパイプライン制御回路340はDステージの終了、す
なわち次のステージの起動に同期してセレクト信号34
1をON状態(命令キュー170,180の命令を選択
し実行)とする。
【0075】一方、上記条件が成立しないときパイプラ
イン制御回路340は次のステージの起動に同期してセ
レクト信号341をOFF状態(BREG290,30
0を選択し実行)とする。
イン制御回路340は次のステージの起動に同期してセ
レクト信号341をOFF状態(BREG290,30
0を選択し実行)とする。
【0076】次に、図2,図4を用いて本実施例の作用
を説明する。
を説明する。
【0077】なお、図2において横軸は時間(サイクル
数)を示し、1〜12の番号は説明の便宜上つけたもの
であり対応するマシンサイクルを示す。
数)を示し、1〜12の番号は説明の便宜上つけたもの
であり対応するマシンサイクルを示す。
【0078】まず、(#1)では、AR命令を第1サイ
クルにおいてIBR100からIR110へセットす
る。そして、IR110の内容を命令デコーダ160に
転送し解読する。
クルにおいてIBR100からIR110へセットす
る。そして、IR110の内容を命令デコーダ160に
転送し解読する。
【0079】さらに、情報処理装置1は、命令デコーダ
160からの命令解読情報を命令キュー170,180
にキューイングする。また、(#1)のAR命令はレジ
スタオペランドどうしの算術加算命令であるため論理ア
ドレス生成の必要はなく、従ってIGR120の参照、
アドレス加算器130によるアドレス加算、TLB14
0の検索、メモリ装置150の読み出しおよび転送は行
わない。
160からの命令解読情報を命令キュー170,180
にキューイングする。また、(#1)のAR命令はレジ
スタオペランドどうしの算術加算命令であるため論理ア
ドレス生成の必要はなく、従ってIGR120の参照、
アドレス加算器130によるアドレス加算、TLB14
0の検索、メモリ装置150の読み出しおよび転送は行
わない。
【0080】次に、パイプライン制御回路340は可変
パイプライン判定回路220からの可変パイプライン判
定結果221、Aステージ有効識別子250、Tステー
ジ有効識別子280およびBステージ有効識別子310
よりAステージの起動が必要か否かを検出する。
パイプライン判定回路220からの可変パイプライン判
定結果221、Aステージ有効識別子250、Tステー
ジ有効識別子280およびBステージ有効識別子310
よりAステージの起動が必要か否かを検出する。
【0081】そして、第2サイクルでは、パイプライン
制御回路340において上記検出結果よりセレクト信号
341を発生する。この場合、(#1)のAR命令はメ
モリ装置150の参照が必要ないため第1サイクルでの
可変パイプライン判定結果221がON状態であり、か
つ全ての有効識別子250,280,310がOFF状
態であるため第2サイクルにおいてセレクト信号341
はON状態となる。
制御回路340において上記検出結果よりセレクト信号
341を発生する。この場合、(#1)のAR命令はメ
モリ装置150の参照が必要ないため第1サイクルでの
可変パイプライン判定結果221がON状態であり、か
つ全ての有効識別子250,280,310がOFF状
態であるため第2サイクルにおいてセレクト信号341
はON状態となる。
【0082】そして、セレクト信号341により選択回
路320,330は、命令キュー170,180の出力
を選択する。
路320,330は、命令キュー170,180の出力
を選択する。
【0083】以上の動作により、(#1)のAR命令で
は、A/T/Bステージをバイパスし、Dステージの直
後にLステージを起動する。
は、A/T/Bステージをバイパスし、Dステージの直
後にLステージを起動する。
【0084】さらに、GGR200は選択回路320か
らのレジスタ番号に対応するレジスタオペランドを読み
出しALU210に転送する。また、制御記憶190は
選択回路330からの制御記憶アドレスに対応するオペ
レーションを読み出しALU210に転送する。
らのレジスタ番号に対応するレジスタオペランドを読み
出しALU210に転送する。また、制御記憶190は
選択回路330からの制御記憶アドレスに対応するオペ
レーションを読み出しALU210に転送する。
【0085】次に、第3サイクルでは、演算を実行しそ
の結果をIGR120,GGR200、およびアドレス
加算器130に転送する。
の結果をIGR120,GGR200、およびアドレス
加算器130に転送する。
【0086】そして、(#2)では、L命令を第2サイ
クルにIBR100からIR110にセットし、IR1
10の内容を命令デコーダ160に転送し解読する。ま
た、(#2)のL命令は、メモリオペランドからレジス
タへのロード命令であるため、論理アドレスの生成が必
要である。
クルにIBR100からIR110にセットし、IR1
10の内容を命令デコーダ160に転送し解読する。ま
た、(#2)のL命令は、メモリオペランドからレジス
タへのロード命令であるため、論理アドレスの生成が必
要である。
【0087】従って、第2、第3サイクルにおける可変
パイプライン判定結果221はOFF状態となり、Aス
テージ有効識別子250、Tステージ有効識別子280
およびBステージ有効識別子310の内容に係らず第
3、第4サイクルにおけるセレクト信号341がOFF
状態となる。
パイプライン判定結果221はOFF状態となり、Aス
テージ有効識別子250、Tステージ有効識別子280
およびBステージ有効識別子310の内容に係らず第
3、第4サイクルにおけるセレクト信号341がOFF
状態となる。
【0088】以上の動作により、(#2)のL命令は、
A/T/Bステージをバイパスせずに処理を続ける。こ
のとき、(#1)のAR命令と(#2)のL命令の間に
おいてアドレス発生インタロックが生じるため、(#
2)のL命令のアドレス加算は第4サイクルまで待たさ
れる。
A/T/Bステージをバイパスせずに処理を続ける。こ
のとき、(#1)のAR命令と(#2)のL命令の間に
おいてアドレス発生インタロックが生じるため、(#
2)のL命令のアドレス加算は第4サイクルまで待たさ
れる。
【0089】そして、(#3)では、LTR命令を第4
サイクルにIBR100からIR110へセットし、I
R110の内容を可変パイプライン判定回路220に転
送し判定する。また、(#3)のLTR命令はレジスタ
からレジスタへのロード命令であるため、論理アドレス
生成の必要はない。従って、第4サイクルにおける可変
パイプライン判定結果221はON状態となる。
サイクルにIBR100からIR110へセットし、I
R110の内容を可変パイプライン判定回路220に転
送し判定する。また、(#3)のLTR命令はレジスタ
からレジスタへのロード命令であるため、論理アドレス
生成の必要はない。従って、第4サイクルにおける可変
パイプライン判定結果221はON状態となる。
【0090】一方、(#2)のL命令のAステージを起
動しているため、第4サイクルでのAステージ有効識別
子250、Tステージ有効識別子280およびBステー
ジ有効識別子310は各々、ON状態/OFF状態/O
FF状態となる。
動しているため、第4サイクルでのAステージ有効識別
子250、Tステージ有効識別子280およびBステー
ジ有効識別子310は各々、ON状態/OFF状態/O
FF状態となる。
【0091】そして、パイプライン制御回路340は上
記可変パイプライン判定結果221、Aステージ有効識
別子250、Tステージ有効識別子280およびBステ
ージ有効識別子310の内容により、第5サイクルにお
いてセレクト信号341をOFF状態とする。
記可変パイプライン判定結果221、Aステージ有効識
別子250、Tステージ有効識別子280およびBステ
ージ有効識別子310の内容により、第5サイクルにお
いてセレクト信号341をOFF状態とする。
【0092】以上の動作により、(#3)のLTR命令
はA/T/Bステージをバイパスせずに処理を続ける。
はA/T/Bステージをバイパスせずに処理を続ける。
【0093】次に、(#4)では、BC命令を第5サイ
クルにIBR100からIR110へセットする。そし
て、IR110の内容を命令デコーダ160に転送し解
読する。(#4)のBC命令は条件付き分岐命令であ
り、分岐先命令の論理アドレス生成が必要である。
クルにIBR100からIR110へセットする。そし
て、IR110の内容を命令デコーダ160に転送し解
読する。(#4)のBC命令は条件付き分岐命令であ
り、分岐先命令の論理アドレス生成が必要である。
【0094】従って、第5サイクルにおける可変パイプ
ライン判定結果221はOFF状態となり、Aステージ
有効識別子250、Tステージ有効識別子280および
Bステージ有効識別子310の内容に係らず第6サイク
ルにおけるセレクト信号341がOFF状態となる。
ライン判定結果221はOFF状態となり、Aステージ
有効識別子250、Tステージ有効識別子280および
Bステージ有効識別子310の内容に係らず第6サイク
ルにおけるセレクト信号341がOFF状態となる。
【0095】以上の動作により、(#4)のBC命令は
A/T/Bステージをバイパスせずに処理を続ける。
A/T/Bステージをバイパスせずに処理を続ける。
【0096】さらに、第9サイクルでは、メモリ装置1
50から読み出した分岐先命令をIBR100とIR1
10に転送する。(#4)のBC命令の分岐先命令であ
る(#5)のAR命令を第10サイクルにおいてIR1
10にセットする。
50から読み出した分岐先命令をIBR100とIR1
10に転送する。(#4)のBC命令の分岐先命令であ
る(#5)のAR命令を第10サイクルにおいてIR1
10にセットする。
【0097】以降、(#5)のAR命令は、(#1)の
AR命令と同様の処理によりA/T/Bステージをバイ
パスし、第12サイクルにおいて演算を実行する。
AR命令と同様の処理によりA/T/Bステージをバイ
パスし、第12サイクルにおいて演算を実行する。
【0098】以上により、本実施例の情報処理装置1に
よれば、従来の情報処理装置がこの命令列の実行に18
サイクルを要しているのに対して、本実施例においては
12サイクルにて実行することができるので、6サイク
ル分の時間を短縮することができる。
よれば、従来の情報処理装置がこの命令列の実行に18
サイクルを要しているのに対して、本実施例においては
12サイクルにて実行することができるので、6サイク
ル分の時間を短縮することができる。
【0099】従って、本実施例の情報処理装置1によれ
ば、メモリ装置150の参照を行う命令とメモリ装置1
50の参照を行わない命令とを可変パイプライン判定回
路220により判定し、パイプライン制御回路340に
より選択回路320,330を制御することにより、メ
モリ装置150の参照を行わない命令ではパイプライン
段数を可変とすることが可能となり、この命令の実行を
早めることができ、パイプラインの効率が向上し、情報
処理装置の処理速度を改善することができる。
ば、メモリ装置150の参照を行う命令とメモリ装置1
50の参照を行わない命令とを可変パイプライン判定回
路220により判定し、パイプライン制御回路340に
より選択回路320,330を制御することにより、メ
モリ装置150の参照を行わない命令ではパイプライン
段数を可変とすることが可能となり、この命令の実行を
早めることができ、パイプラインの効率が向上し、情報
処理装置の処理速度を改善することができる。
【0100】以上、本発明者によってなされた発明を実
施例にもとづき具体的に説明したが、本発明は前記実施
例に限定されるものではなく、その要旨を逸脱しない範
囲において種々変更可能であることは言うまでもない。
施例にもとづき具体的に説明したが、本発明は前記実施
例に限定されるものではなく、その要旨を逸脱しない範
囲において種々変更可能であることは言うまでもない。
【0101】たとえば、本実施例のAステージ対応レジ
スタ、Tステージ対応レジスタ、およびBステージ対応
レジスタについてはそれぞれ2個備える場合について説
明したが、本発明は前記実施例に限定されるものではな
く、1または2以上の複数個を備える場合についても適
用可能である。
スタ、Tステージ対応レジスタ、およびBステージ対応
レジスタについてはそれぞれ2個備える場合について説
明したが、本発明は前記実施例に限定されるものではな
く、1または2以上の複数個を備える場合についても適
用可能である。
【0102】さらに、選択回路についても前記実施例に
限定されることなく、Aステージ対応レジスタなどの個
数に対応して、1または2以上の複数個を備える場合に
ついても適用可能である。
限定されることなく、Aステージ対応レジスタなどの個
数に対応して、1または2以上の複数個を備える場合に
ついても適用可能である。
【0103】また、パイプライン段数を最も多く必要な
命令に合わせてパイプラインステージを有する情報処理
装置についても、その他の命令はダミーのパイプライン
ステージを発生させて命令を実行することによって本発
明は適用可能である。
命令に合わせてパイプラインステージを有する情報処理
装置についても、その他の命令はダミーのパイプライン
ステージを発生させて命令を実行することによって本発
明は適用可能である。
【0104】さらに、必要なパイプライン段数を最も少
ない命令に合わせたパイプラインステージを有する情報
処理装置についても、その他の命令は、実行ステージが
延びたようにみせて命令を実行することにより本発明は
適用可能である。
ない命令に合わせたパイプラインステージを有する情報
処理装置についても、その他の命令は、実行ステージが
延びたようにみせて命令を実行することにより本発明は
適用可能である。
【0105】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
下記のとおりである。
表的なものによって得られる効果を簡単に説明すれば、
下記のとおりである。
【0106】すなわち、本発明によれば、判定手段によ
りメモリ装置の参照を行う命令かメモリ装置の参照を行
わない命令かを判断し、メモリ装置の参照を行わない命
令の場合には制御手段によりパイプライン段数を可変と
し、その命令の実行を早めることができる。
りメモリ装置の参照を行う命令かメモリ装置の参照を行
わない命令かを判断し、メモリ装置の参照を行わない命
令の場合には制御手段によりパイプライン段数を可変と
し、その命令の実行を早めることができる。
【0107】また、実行する命令がメモリ装置を参照す
る命令である場合には、判定手段によりその旨を判定
し、有効ステージ識別手段、パイプライン制御手段およ
び選択手段により情報格納手段の内容を選択することに
より、メモリ装置を参照する場合においても制御するこ
とができる。
る命令である場合には、判定手段によりその旨を判定
し、有効ステージ識別手段、パイプライン制御手段およ
び選択手段により情報格納手段の内容を選択することに
より、メモリ装置を参照する場合においても制御するこ
とができる。
【0108】この結果、メモリ装置の参照を行わない命
令が高速に実行可能となり、パイプライン処理の効率が
向上し、情報処理装置の処理速度の向上を図ることがで
きる。
令が高速に実行可能となり、パイプライン処理の効率が
向上し、情報処理装置の処理速度の向上を図ることがで
きる。
【図1】本発明の一実施例である情報処理装置の構成を
示すブロック図である。
示すブロック図である。
【図2】本実施例における命令列を実行する場合の処理
の流れを示すタイムチャートである。
の流れを示すタイムチャートである。
【図3】従来の情報処理装置の構成を示すブロック図で
ある。
ある。
【図4】説明のために用いる命令列を示す概略説明図で
ある。
ある。
【図5】従来技術における命令列を実行する場合の処理
の流れを示すタイムチャートである。
の流れを示すタイムチャートである。
1 情報処理装置 100 命令バッファレジスタ(IBR) 110 命令レジスタ(IR) 120 アドレス生成用の汎用レジスタ(IGR) 130 アドレス加算器 140 変換索引緩衝機構(TLB) 150 メモリ装置 160 命令デコーダ 170,180 命令キュー 190 制御記憶 200 演算実行用の汎用レジスタ(GGR) 210 算術/論理演算ユニット(ALU) 220 可変パイプライン判定回路(判定手段) 221 可変パイプライン判定結果 230,240 Aステージ対応レジスタ(:AREG
情報格納手段) 250 Aステージ有効識別子(有効ステージ識別手
段) 260,270 Tステージ対応レジスタ(:TREG
情報格納手段) 280 Tステージ有効識別子(有効ステージ識別手
段) 290,300 Bステージ対応レジスタ(:BREG
情報格納手段) 310 Bステージ有効識別子(有効ステージ識別手
段) 320,330 選択回路(選択手段) 340 パイプライン制御回路(パイプライン制御手
段) 341 セレクト信号
情報格納手段) 250 Aステージ有効識別子(有効ステージ識別手
段) 260,270 Tステージ対応レジスタ(:TREG
情報格納手段) 280 Tステージ有効識別子(有効ステージ識別手
段) 290,300 Bステージ対応レジスタ(:BREG
情報格納手段) 310 Bステージ有効識別子(有効ステージ識別手
段) 320,330 選択回路(選択手段) 340 パイプライン制御回路(パイプライン制御手
段) 341 セレクト信号
Claims (7)
- 【請求項1】 複数のパイプラインステージを有してデ
ータ処理を行う情報処理方法であって、命令を実行する
場合に該命令がメモリ装置の参照を行うかどうかを判定
し、該命令が該メモリ装置を参照しない場合には、該メ
モリ装置の参照を行うパイプラインステージをバイパス
し該命令を実行することを特徴とする情報処理方法。 - 【請求項2】 複数のパイプラインステージを有するパ
イプライン方式の情報処理装置であって、命令を実行す
る場合に該命令がメモリ装置の参照を行うかどうかを判
定する判定手段と、前記パイプラインステージに対応し
て情報を格納する情報格納手段と、前記パイプラインス
テージの有効性を示す有効ステージ識別手段と、該情報
格納手段の内容を選択する選択手段とを備え、該有効ス
テージ識別手段の状態と該判定手段の情報により処理す
べき該情報格納手段の内容を決定することを特徴とする
情報処理装置。 - 【請求項3】 前記情報格納手段と前記有効ステージ識
別手段を前記メモリ装置を参照する前記パイプラインス
テージに対応して複数備えることを特徴とする請求項2
記載の情報処理装置。 - 【請求項4】 前記判定手段より前記メモリ装置の参照
が必要な命令か否かを検出し、さらに前記有効ステージ
識別手段の状態により前記情報格納手段に命令が存在す
るか否かを検出することにより、前記選択手段を制御す
るパイプライン制御手段を備えることを特徴とする請求
項2記載の情報処理装置。 - 【請求項5】 前記複数の有効ステージ識別手段におい
て、命令が対応する前記パイプラインステージに存在す
るとき第1の状態とし、該命令が対応する前記パイプラ
インステージに存在しないとき第2の状態とし、いずれ
かの前記有効ステージ識別手段が第1の状態のときは前
記情報格納手段の内容を選択することを特徴とする請求
項3記載の情報処理装置。 - 【請求項6】 前記判定手段において、前記メモリ装置
の参照が必要でない命令では第1の状態とし、前記メモ
リ装置の参照が必要な命令では第2の状態とし、第2の
状態のときは前記情報格納手段の内容を選択することを
特徴とする請求項2記載の情報処理装置。 - 【請求項7】 前記判定手段において、命令が前記メモ
リ装置の参照を必要としない前記第1の状態であり、か
つ前記複数の有効ステージ識別手段においてパイプライ
ンステージに命令が存在しない前記第2の状態ならば、
該命令は、前記パイプラインステージをバイパスして該
命令を実行することを特徴とする請求項3,5または6
記載の情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10334493A JPH06314196A (ja) | 1993-04-30 | 1993-04-30 | 情報処理方法および装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10334493A JPH06314196A (ja) | 1993-04-30 | 1993-04-30 | 情報処理方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06314196A true JPH06314196A (ja) | 1994-11-08 |
Family
ID=14351529
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10334493A Pending JPH06314196A (ja) | 1993-04-30 | 1993-04-30 | 情報処理方法および装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06314196A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010538398A (ja) * | 2007-09-06 | 2010-12-09 | クゥアルコム・インコーポレイテッド | マルチステージデータ処理パイプラインにおける命令実行システム及び方法 |
-
1993
- 1993-04-30 JP JP10334493A patent/JPH06314196A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010538398A (ja) * | 2007-09-06 | 2010-12-09 | クゥアルコム・インコーポレイテッド | マルチステージデータ処理パイプラインにおける命令実行システム及び方法 |
| US8868888B2 (en) | 2007-09-06 | 2014-10-21 | Qualcomm Incorporated | System and method of executing instructions in a multi-stage data processing pipeline |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| US6128721A (en) | Temporary pipeline register file for a superpipelined superscalar processor | |
| KR100259306B1 (ko) | 분기 명령 버퍼를 갖는 데이타 프로세서 | |
| US5041968A (en) | Reduced instruction set computer (RISC) type microprocessor executing instruction functions indicating data location for arithmetic operations and result location | |
| US5778248A (en) | Fast microprocessor stage bypass logic enable | |
| JPH05233271A (ja) | データプロセッサ | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| JPH01177127A (ja) | 情報処理装置 | |
| JP3834145B2 (ja) | ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法 | |
| JPH02287626A (ja) | パイプライン方式の分岐命令制御装置 | |
| US5619667A (en) | Method and apparatus for fast fill of translator instruction queue | |
| US5504870A (en) | Branch prediction device enabling simultaneous access to a content-addressed memory for retrieval and registration | |
| US6170050B1 (en) | Length decoder for variable length data | |
| JP3534987B2 (ja) | 情報処理装置 | |
| JPH06314196A (ja) | 情報処理方法および装置 | |
| EP0573071A2 (en) | A microprocessor | |
| JP2000181707A (ja) | 命令制御装置及びその方法 | |
| JP2894438B2 (ja) | パイプライン処理装置 | |
| US7711926B2 (en) | Mapping system and method for instruction set processing | |
| JP2636821B2 (ja) | 並列処理装置 | |
| JP2819733B2 (ja) | 情報処理装置 | |
| JP3668643B2 (ja) | 情報処理装置 | |
| JP3471691B2 (ja) | マイクロ命令における分岐命令制御方式 | |
| JP3017866B2 (ja) | 割込み処理方式 | |
| JP2545594B2 (ja) | オペランドデータ先取り方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010925 |