JPH0248732A - 命令パイプライン方式のマイクロプロセッサ - Google Patents
命令パイプライン方式のマイクロプロセッサInfo
- Publication number
- JPH0248732A JPH0248732A JP63198789A JP19878988A JPH0248732A JP H0248732 A JPH0248732 A JP H0248732A JP 63198789 A JP63198789 A JP 63198789A JP 19878988 A JP19878988 A JP 19878988A JP H0248732 A JPH0248732 A JP H0248732A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- register group
- general
- instructions
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3873—Variable length pipelines, e.g. elastic pipeline
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は命令並列実行方式のマイクロプロセッサ、特に
命令を並列かつ迅速に実行しつる命令パイプライン方式
のマイクロプロセッサに関するものである。
命令を並列かつ迅速に実行しつる命令パイプライン方式
のマイクロプロセッサに関するものである。
(従来の技術)
従来の命令パイプライン方式のマイクロプロセッサにお
いては、加算命令などでオペランドのアドレス計算のた
めに特定のレジスタが用いられるが、その直前の転送命
令などにより前記レジスタの内容が変更されるため、汎
用レジスタへの書込ステージが終了するまで前記加算命
令はオペランドアドレス計算ステージに移れないで命令
の処理が遅れる問題があった。
いては、加算命令などでオペランドのアドレス計算のた
めに特定のレジスタが用いられるが、その直前の転送命
令などにより前記レジスタの内容が変更されるため、汎
用レジスタへの書込ステージが終了するまで前記加算命
令はオペランドアドレス計算ステージに移れないで命令
の処理が遅れる問題があった。
すなわち、第7図は従来の命令パイプライン方式のマイ
クロプロセラ勺の概略構成を示す。
クロプロセラ勺の概略構成を示す。
同図において、1はマイクロプロセッサPと外部回路を
接続するためのバス制御部(BCU)、2は命令ノエツ
チ部(IFU)、3は命令を解読するためのデコーダ(
DEC)、4はオペランドアドレスを計算するためのオ
ペランドアドレス計算部(OAG>、5は論理アドレス
を物理アドレスに変換するためのアドレス変換部(AT
)、6はオペランドをフェッチするためのオペランドフ
ェッチ部(OPF)、7は命令を実行する演算実行部(
EXU)、8は複数のレジスタR+ 、R2。
接続するためのバス制御部(BCU)、2は命令ノエツ
チ部(IFU)、3は命令を解読するためのデコーダ(
DEC)、4はオペランドアドレスを計算するためのオ
ペランドアドレス計算部(OAG>、5は論理アドレス
を物理アドレスに変換するためのアドレス変換部(AT
)、6はオペランドをフェッチするためのオペランドフ
ェッチ部(OPF)、7は命令を実行する演算実行部(
EXU)、8は複数のレジスタR+ 、R2。
R3、R4、・・・(図示せず)からなる汎用レジスタ
群(GR)を示す。
群(GR)を示す。
第7図に示すマイクロプロセッサPにより、例えば第6
図に示すプログラム命令を実行した場合の命令パイプラ
イン処理のタイミングを第8図に示す。第6図および第
8図に示す如く、アドレスAの内容を汎用レジスタ群8
内の図示しないレジスタR1へ転送する命令a1とし、
汎用レジスタ群8内のR3レジスタのデータをR2へ転
送する命令をa2、上記レジスタR2で修飾される処の
アドレスBの内容をレジスタR4へ転送する加算命令を
a3、レジスタR2のデータをアドレスCで示されるメ
モリへ転送する命令を84とすると、命令a3でオペラ
ンドのアドレス計算を行なうためにレジスタR2の内容
が用いられるが、命令a2でレジスタR2が変更されて
しまう。したがって命令a2の汎用レジスタ群8への転
送が(用込み)が終了するまで命令a3はオペランドア
ドレス計口部へ入れず該命令の処理が遅れてしまう。
図に示すプログラム命令を実行した場合の命令パイプラ
イン処理のタイミングを第8図に示す。第6図および第
8図に示す如く、アドレスAの内容を汎用レジスタ群8
内の図示しないレジスタR1へ転送する命令a1とし、
汎用レジスタ群8内のR3レジスタのデータをR2へ転
送する命令をa2、上記レジスタR2で修飾される処の
アドレスBの内容をレジスタR4へ転送する加算命令を
a3、レジスタR2のデータをアドレスCで示されるメ
モリへ転送する命令を84とすると、命令a3でオペラ
ンドのアドレス計算を行なうためにレジスタR2の内容
が用いられるが、命令a2でレジスタR2が変更されて
しまう。したがって命令a2の汎用レジスタ群8への転
送が(用込み)が終了するまで命令a3はオペランドア
ドレス計口部へ入れず該命令の処理が遅れてしまう。
(発明が解決しようとする課題)
すなわち、従来のマイクロプロセラ會すにおいては演算
実行部および汎用レジスタが重複化されていないために
汎用レジスタ群8を更新する命令が完全に実行されてか
らでないと後続の命令は実行されえなかった。
実行部および汎用レジスタが重複化されていないために
汎用レジスタ群8を更新する命令が完全に実行されてか
らでないと後続の命令は実行されえなかった。
したがって、従来の命令パイプライン方式のマイク1コ
プロセツサにおいては処理の流れが停滞しパイプライン
方式の利点を生かしぎれていなかった。
プロセツサにおいては処理の流れが停滞しパイプライン
方式の利点を生かしぎれていなかった。
そこで、本発明は、上記に鑑みてなされたものであり、
その目的とするところは、先行する命令の実行結果を持
たずに後続の命令を先回りして実行することができる命
令パイプライン方式のマイクロブ[1セツサを提供する
ことである。
その目的とするところは、先行する命令の実行結果を持
たずに後続の命令を先回りして実行することができる命
令パイプライン方式のマイクロブ[1セツサを提供する
ことである。
[発明の構成]
(課題を解決するための手段)
上記目的を達成するために、本発明に従う命令バイブラ
イン方式マイクロブOレッサにおいては、演算実行部を
メモリオペランドをもたない命令を実行する第1の演算
実行部と、メモリオペランドをもつ命令を実行する第2
の演算実行部と、浮動小数点命令を実行する第3の演算
実行部とで構成すると共に、汎用レジスタを、プログラ
ムの流れに沿った処理データを記憶するレジスタ群と、
処理可能な命令を先取り実行した結果を記憶するレジス
タ群とで構成している。
イン方式マイクロブOレッサにおいては、演算実行部を
メモリオペランドをもたない命令を実行する第1の演算
実行部と、メモリオペランドをもつ命令を実行する第2
の演算実行部と、浮動小数点命令を実行する第3の演算
実行部とで構成すると共に、汎用レジスタを、プログラ
ムの流れに沿った処理データを記憶するレジスタ群と、
処理可能な命令を先取り実行した結果を記憶するレジス
タ群とで構成している。
(作用)
演算実行部を重複化すると共に汎用レジスタ群の構成を
、70グラムの流れに沿った処理データを記憶するレジ
スタ群と、処理可能な命令を先取り実行した結果を記憶
するレジスタ群とに重複化することにより、汎用レジス
タ群のデータ更新を行ない、先行する命令の実行結果を
持たずに後続の命令を先回りして実行し、マイクロプロ
セッサの性能を上げるようにしている。
、70グラムの流れに沿った処理データを記憶するレジ
スタ群と、処理可能な命令を先取り実行した結果を記憶
するレジスタ群とに重複化することにより、汎用レジス
タ群のデータ更新を行ない、先行する命令の実行結果を
持たずに後続の命令を先回りして実行し、マイクロプロ
セッサの性能を上げるようにしている。
(実施例)
第1図は本発明による命令パイプライン方式のマイクロ
プロセッサの原理構成図を示す。同図において、第7図
のものと同一の構成要素は同じ参照番号で示しである。
プロセッサの原理構成図を示す。同図において、第7図
のものと同一の構成要素は同じ参照番号で示しである。
第1図の命令パイプライン方式マイクロプロセッサにお
いては、演算実行部をメモリオペランドをもたない命令
を実行する第1の演算実行部10(SEP)、メモリオ
ペランドをもつ命令を実行する第2の演算実行部11(
I EP) 、浮動小数点命令を実行する第3の演算実
行部12 (FEP)で構成している。なお、13は解
読(デコード)された命令を前記各演算実行部へ送出す
る命令送出部、14は浮動小数点レジスタを示す。
いては、演算実行部をメモリオペランドをもたない命令
を実行する第1の演算実行部10(SEP)、メモリオ
ペランドをもつ命令を実行する第2の演算実行部11(
I EP) 、浮動小数点命令を実行する第3の演算実
行部12 (FEP)で構成している。なお、13は解
読(デコード)された命令を前記各演算実行部へ送出す
る命令送出部、14は浮動小数点レジスタを示す。
第1図に示す本発明によるマイクロプロセッサにおいて
は第6図に示す同じバイブライン命令に対して第2図に
示すように実行する。
は第6図に示す同じバイブライン命令に対して第2図に
示すように実行する。
すなわち、毎クロックごとに命令がフェッチされ処理さ
れてゆくが、命令a1はメモリオペランドをもつので命
令フェッチ部2→デコーダ3→命令送出部13→オペラ
ンドアドレス部4→アドレス変換部5→オペランドフェ
ッチ部6→第2の演算実行部11と処理される。命令a
2はメモリオペランドをもたない(レジスタオペランド
のみ)命令であるので、命令フェッチ部2→デコーダ3
→命令送出部13→第1の演算実行部10と処理される
。第2図に示すように命令a2と81の実行が第5クロ
ツクおよび第6クロツクで終了してしまうので汎用レジ
スタ群8′内のデータとプログラムの流れに不一致が生
じるのを避けるために汎用レジスタ群8′は後述するよ
うにプログラムの処理結果データを保持するレジスタ群
と、命令の実行結果を一時的に先回りして保持するレジ
スタ群とに重複化して解決している。
れてゆくが、命令a1はメモリオペランドをもつので命
令フェッチ部2→デコーダ3→命令送出部13→オペラ
ンドアドレス部4→アドレス変換部5→オペランドフェ
ッチ部6→第2の演算実行部11と処理される。命令a
2はメモリオペランドをもたない(レジスタオペランド
のみ)命令であるので、命令フェッチ部2→デコーダ3
→命令送出部13→第1の演算実行部10と処理される
。第2図に示すように命令a2と81の実行が第5クロ
ツクおよび第6クロツクで終了してしまうので汎用レジ
スタ群8′内のデータとプログラムの流れに不一致が生
じるのを避けるために汎用レジスタ群8′は後述するよ
うにプログラムの処理結果データを保持するレジスタ群
と、命令の実行結果を一時的に先回りして保持するレジ
スタ群とに重複化して解決している。
次に、第3図を参照して、第1図の汎用レジスタ8′お
よび第1.第2.第3の演算実行部10゜11.12の
詳細な構成を示す。
よび第1.第2.第3の演算実行部10゜11.12の
詳細な構成を示す。
第3図において、第1の演算実行部10は第1の演算器
20と第1の命令レジスタ21を、第2の演算実行部1
1は第2の演算器22と第2の命令レジスタ23、およ
び第3の演算実行部12は第3の演算器24と第3の命
令レジスタ25を有している。そして前記各命令レジス
タ21,23゜25のフォーマットは第4図のようにな
っている。
20と第1の命令レジスタ21を、第2の演算実行部1
1は第2の演算器22と第2の命令レジスタ23、およ
び第3の演算実行部12は第3の演算器24と第3の命
令レジスタ25を有している。そして前記各命令レジス
タ21,23゜25のフォーマットは第4図のようにな
っている。
すなわち、第4図においてOPは関連する演算器の演算
動作指定フィールド、SRはソースレジスタ指定フィー
ルド、ORはデスティネーションレジスタ指定フィール
ド、SA/IDはソースオペランドアドレスまたはイミ
ーディエトデータ保持フィールド、DAはデスティネー
ションオペランドアドレス保持フィールド、PCは各演
算器で実行中の命令アドレス保持フィールドを示す。
動作指定フィールド、SRはソースレジスタ指定フィー
ルド、ORはデスティネーションレジスタ指定フィール
ド、SA/IDはソースオペランドアドレスまたはイミ
ーディエトデータ保持フィールド、DAはデスティネー
ションオペランドアドレス保持フィールド、PCは各演
算器で実行中の命令アドレス保持フィールドを示す。
第3図に戻って、本発明による汎用レジスタ群8゛はプ
ログラムに従って処理された結果のデータを保持するレ
ジスタ群CGRi (i =1.2゜3・・・n)と
命令が実行された演算器からの演算結果を格納するレジ
スタ群FGRi (t =l、2゜3・・・0)に分
けられている。なお、第3図で30は命令アドレス比較
部を示し、これは汎用レジスタ群8′″に含まれている
と見なしてもよい。
ログラムに従って処理された結果のデータを保持するレ
ジスタ群CGRi (i =1.2゜3・・・n)と
命令が実行された演算器からの演算結果を格納するレジ
スタ群FGRi (t =l、2゜3・・・0)に分
けられている。なお、第3図で30は命令アドレス比較
部を示し、これは汎用レジスタ群8′″に含まれている
と見なしてもよい。
第5図はレジスタ群FGRのフォーマットの詳細を示す
、各3ビツトからなるタグ部F、I、Sと各データを保
持するデータ保持部FGRiがらなっている。
、各3ビツトからなるタグ部F、I、Sと各データを保
持するデータ保持部FGRiがらなっている。
第3図に戻って、各命令レジスタ21,23゜25のP
Cフィールドは、後続の命令が先行する命令を飛起して
実行されているがどうかを判定するために前記命令アド
レス比較部3oへ入力され、前記各PCフィールドを比
較している。比較結果から第1の命令レジスタ21のP
Cフィールドが最小でないと出力C1が1″に、第2の
命令レジスタ23のPCが最小でないと出力C2が1″
、そして第3の命令レジスタ25のPCが最小でないと
出力C3が1′°となるような出力が前記比較部30か
ら出される。
Cフィールドは、後続の命令が先行する命令を飛起して
実行されているがどうかを判定するために前記命令アド
レス比較部3oへ入力され、前記各PCフィールドを比
較している。比較結果から第1の命令レジスタ21のP
Cフィールドが最小でないと出力C1が1″に、第2の
命令レジスタ23のPCが最小でないと出力C2が1″
、そして第3の命令レジスタ25のPCが最小でないと
出力C3が1′°となるような出力が前記比較部30か
ら出される。
更に前記アドレス比較部30の出力C4(FORtE)
込み信号)は命令を実行した演算部の命令レジスタのア
ドレスPCが最小でない場合に“1″となり、最小の場
合に前記比較部30の出力C3(CGRI込み信号)は
′1゛′となるように構成されている。
込み信号)は命令を実行した演算部の命令レジスタのア
ドレスPCが最小でない場合に“1″となり、最小の場
合に前記比較部30の出力C3(CGRI込み信号)は
′1゛′となるように構成されている。
また各演算部の演算終了時に、レジスタFGR中のタグ
SはC4=1.0+ =1のとき1″にセットされ、■
タグはC2=1のとき1″に、そしてFタグはC3=1
のときに“°1′′にセットされるようになっている。
SはC4=1.0+ =1のとき1″にセットされ、■
タグはC2=1のとき1″に、そしてFタグはC3=1
のときに“°1′′にセットされるようになっている。
各演算器20,22.24の演算結果は、各命令レジス
タ21,23.25のDRフィールドで指定されたデー
タ保持部FGRiに格納されるようになっている。
タ21,23.25のDRフィールドで指定されたデー
タ保持部FGRiに格納されるようになっている。
各演算器20,22.24の演算終了時に、C4−0,
0s =1の場合、各演算結果は各命令レジスタのDR
フィールドで指定されるデータ保持部FGRiおよびC
GRiに格納されると共に、F、T、Sタグのいずれか
セットされている別のFGRiのデータは対応するCG
Riに指定されるようになっている。
0s =1の場合、各演算結果は各命令レジスタのDR
フィールドで指定されるデータ保持部FGRiおよびC
GRiに格納されると共に、F、T、Sタグのいずれか
セットされている別のFGRiのデータは対応するCG
Riに指定されるようになっている。
したがって第2図に示すように、動作時において、命令
a2が実行される第5クロツクで、第3図に示す第1の
命令レジスタ21のPCフィールドが命令a2のアドレ
スを有し、第2の命令レジスタ23のPCフィールドは
命令a、のアドレスを有しているが、第3の命令レジス
タ25のPCフィールドには命令送出部13から命令が
送出されてないのでそのPCフィールドにはアドレスが
ない。したがって第3の演算実行部12では何らの命令
の実行も行なわれない。
a2が実行される第5クロツクで、第3図に示す第1の
命令レジスタ21のPCフィールドが命令a2のアドレ
スを有し、第2の命令レジスタ23のPCフィールドは
命令a、のアドレスを有しているが、第3の命令レジス
タ25のPCフィールドには命令送出部13から命令が
送出されてないのでそのPCフィールドにはアドレスが
ない。したがって第3の演算実行部12では何らの命令
の実行も行なわれない。
一方、前記のように第1の命令レジスタ21にはa2が
入っているのでそのアドレスl) Cフィールドは、第
2の命令レジスタ23に入っている命令a1のアドレス
PCフィールドよりも大であるからC+=1となり演算
結果がFGR2へ書込まれると共にタグSが1にセット
される。
入っているのでそのアドレスl) Cフィールドは、第
2の命令レジスタ23に入っている命令a1のアドレス
PCフィールドよりも大であるからC+=1となり演算
結果がFGR2へ書込まれると共にタグSが1にセット
される。
第6クロツクにおいては、第2の演算部11で命令a1
が実行されるが、このとき、第1の演算部10内の命令
レジスタ21では上記のように命令a2がすでに実行さ
れ終っていて命令がないので何らの働きもしない。した
がって04 =O,C5−1となるのでCGR+ およ
びFGR+ に命令a1の演算結果が格納されると共に
タグSIが1となっているFGR2のデータがCGR2
へ転送され、ブ[1グラムの流れに沿った処理データと
して用いられるように記憶される。
が実行されるが、このとき、第1の演算部10内の命令
レジスタ21では上記のように命令a2がすでに実行さ
れ終っていて命令がないので何らの働きもしない。した
がって04 =O,C5−1となるのでCGR+ およ
びFGR+ に命令a1の演算結果が格納されると共に
タグSIが1となっているFGR2のデータがCGR2
へ転送され、ブ[1グラムの流れに沿った処理データと
して用いられるように記憶される。
上記の動作から判るように、次の命令a3の実効アドレ
スの算出に必要なデータは、第5クロツクの終了時にF
GR2(R2レジスタに対応する)から取出すことがで
きるので命令a3は、直らに実効アドレス計算部4へ進
むことができる。したがって、従来のこの種のマイクロ
プロセッサのようにal、a2の実行終了を持ってから
命令a3の処理に入るというような逐次的なプログラム
処理に従う必要がない。
スの算出に必要なデータは、第5クロツクの終了時にF
GR2(R2レジスタに対応する)から取出すことがで
きるので命令a3は、直らに実効アドレス計算部4へ進
むことができる。したがって、従来のこの種のマイクロ
プロセッサのようにal、a2の実行終了を持ってから
命令a3の処理に入るというような逐次的なプログラム
処理に従う必要がない。
[発明の効果コ
以上述べたように本発明においては、演算実行部を重複
化して複数の命令を同時に実行できるように構成すると
共に、汎用レジスタ群もプログラムの流れに従う処理デ
ータを格納するレジスタ群と、後続の命令を先回りして
実行した結果のデータを格納するレジスタ群とを有する
ように重複化構成としている。
化して複数の命令を同時に実行できるように構成すると
共に、汎用レジスタ群もプログラムの流れに従う処理デ
ータを格納するレジスタ群と、後続の命令を先回りして
実行した結果のデータを格納するレジスタ群とを有する
ように重複化構成としている。
したがって本発明における命令バイブライン方式のマイ
クロプロセッサにおいては、先行する命令の実行結果を
持たずに後続の命令を先回りして実行できるのでマイク
ロプロセッサの性能を著しく向上することができる。
クロプロセッサにおいては、先行する命令の実行結果を
持たずに後続の命令を先回りして実行できるのでマイク
ロプロセッサの性能を著しく向上することができる。
第1図は、本発明による命令バイブライン方式のマイク
ロプロセッサの曇本構成図、 第2図は、第1図のマイクロプロセッサを構成する各部
の命令処理流れ図、 第3図は、第1図の演算実行部および汎用レジスタ群の
詳細な構成図、 第4図は、第3図の各命令レジスタのフォーマット図、 第5図は、汎用レジスタ群内の命令を先回り処理した結
果を格納するレジスタ群FORの入力フォーマット、 第6図は、従来のマイクロプロセッサの有する問題点を
明らかにするプログラム例、 第7図は、従来技術による命令バイブライン方式のマイ
クロプロセッサの構成図、 第8図は、第7図のプロセッサ内の命令処理の流れ図、
をそれぞれ示す。 1・・・バス制御部、 2・・・命令フェッチ部、 3・・・デコーダ、 4・・・オペランドアドレス計算部、 5・・・論理アドレス変換部、 6・・・オペランドフェッチ部、 8″・・・汎用レジスタ群、 0・・・第1の演算実行部、 1・・・第2の演算実行部、 2・・・第3の演算実行部、 3・・・命令送出部、 4・・・浮動小数点レジスタ。
ロプロセッサの曇本構成図、 第2図は、第1図のマイクロプロセッサを構成する各部
の命令処理流れ図、 第3図は、第1図の演算実行部および汎用レジスタ群の
詳細な構成図、 第4図は、第3図の各命令レジスタのフォーマット図、 第5図は、汎用レジスタ群内の命令を先回り処理した結
果を格納するレジスタ群FORの入力フォーマット、 第6図は、従来のマイクロプロセッサの有する問題点を
明らかにするプログラム例、 第7図は、従来技術による命令バイブライン方式のマイ
クロプロセッサの構成図、 第8図は、第7図のプロセッサ内の命令処理の流れ図、
をそれぞれ示す。 1・・・バス制御部、 2・・・命令フェッチ部、 3・・・デコーダ、 4・・・オペランドアドレス計算部、 5・・・論理アドレス変換部、 6・・・オペランドフェッチ部、 8″・・・汎用レジスタ群、 0・・・第1の演算実行部、 1・・・第2の演算実行部、 2・・・第3の演算実行部、 3・・・命令送出部、 4・・・浮動小数点レジスタ。
Claims (3)
- (1)デコードされた命令を実行するため、オペランド
アドレス計算部、アドレス変換部、オペランドフェッチ
部、演算実行部および汎用レジスタ群を有する命令パイ
プライン方式のマイクロプロセッサにして、前記演算実
行部を重複化して複数の命令を同時に実行できるように
構成すると共に、前記汎用レジスタ群をプログラムの流
れに従う処理データを格納するレジスタ群と、後続の命
令を先回りして実行した結果のデータを格納するレジス
タ群とで構成し、逐次的なプログラム処理に従う必要な
しに処理可能な後続命令を先回りして実行可能にしたこ
とを特徴とする命令パイプライン方式のマイクロプロセ
ッサ。 - (2)前記汎用レジスタ群は、さらに後続の命令が先行
する命令を飛びこして実行されているか否かを判定する
ための比較手段を有していることを特徴とする請求項1
に記載の命令パイプライン方式のマイクロプロセッサ。 - (3)前記複数の各演算実行部は命令レジスタおよび演
算手段とを備え、各命令レジスタ内のデータ先行を指定
するデスティネーション・フィールドで指定された汎用
レジスタ群の特定レジスタに格納されるようにしたこと
を特徴とする請求項1に記載の命令パイプライン方式の
マイクロプロセッサ。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63198789A JPH0673105B2 (ja) | 1988-08-11 | 1988-08-11 | 命令パイプライン方式のマイクロプロセッサ |
| KR1019890011190A KR920004290B1 (ko) | 1988-08-11 | 1989-08-05 | 명령파이프라인방식의 마이크로프로세서 |
| DE68924883T DE68924883T2 (de) | 1988-08-11 | 1989-08-11 | Mikroprozessor mit Befehlspipeline. |
| EP89114907A EP0354585B1 (en) | 1988-08-11 | 1989-08-11 | Instruction pipeline microprocessor |
| US07/974,328 US5291615A (en) | 1988-08-11 | 1992-11-10 | Instruction pipeline microprocessor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63198789A JPH0673105B2 (ja) | 1988-08-11 | 1988-08-11 | 命令パイプライン方式のマイクロプロセッサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0248732A true JPH0248732A (ja) | 1990-02-19 |
| JPH0673105B2 JPH0673105B2 (ja) | 1994-09-14 |
Family
ID=16396934
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63198789A Expired - Fee Related JPH0673105B2 (ja) | 1988-08-11 | 1988-08-11 | 命令パイプライン方式のマイクロプロセッサ |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0354585B1 (ja) |
| JP (1) | JPH0673105B2 (ja) |
| KR (1) | KR920004290B1 (ja) |
| DE (1) | DE68924883T2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100260680B1 (ko) * | 1995-09-11 | 2000-07-01 | 포만 제프리 엘 | 순서외의 다중 인스트럭션 완료 지원 방법 및 수퍼스칼라 마이크로프로세서 |
| US6782521B2 (en) | 1992-03-31 | 2004-08-24 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
| US6920548B2 (en) | 1992-05-01 | 2005-07-19 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
| US7028161B2 (en) | 1991-07-08 | 2006-04-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04111127A (ja) * | 1990-08-31 | 1992-04-13 | Toshiba Corp | 演算処理装置 |
| US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
| US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
| DE69230554T2 (de) * | 1991-07-08 | 2000-07-06 | Seiko Epson Corp., Tokio/Tokyo | Risc-mikroprozessorarchitektur mit schnellem unterbrechungs- und ausnahmemodus |
| DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
| US5438668A (en) * | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
| US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
| JP3644959B2 (ja) | 1992-09-29 | 2005-05-11 | セイコーエプソン株式会社 | マイクロプロセッサシステム |
| JP3531166B2 (ja) | 1992-12-31 | 2004-05-24 | セイコーエプソン株式会社 | レジスタ・リネーミングのシステム及び方法 |
| US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5110746A (ja) * | 1974-07-17 | 1976-01-28 | Hitachi Ltd | |
| JPS5729153A (en) * | 1980-07-29 | 1982-02-17 | Fujitsu Ltd | Control system for instruction processing order |
| JPS57161938A (en) * | 1981-03-30 | 1982-10-05 | Fujitsu Ltd | Instruction control system |
| JPS581246A (ja) * | 1981-06-26 | 1983-01-06 | Fujitsu Ltd | 命令処理順序制御方式 |
| JPS60126734A (ja) * | 1983-12-13 | 1985-07-06 | Nec Corp | 情報処理装置 |
| JPS6116335A (ja) * | 1984-07-02 | 1986-01-24 | Nec Corp | 情報処理装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4594660A (en) * | 1982-10-13 | 1986-06-10 | Honeywell Information Systems Inc. | Collector |
-
1988
- 1988-08-11 JP JP63198789A patent/JPH0673105B2/ja not_active Expired - Fee Related
-
1989
- 1989-08-05 KR KR1019890011190A patent/KR920004290B1/ko not_active Expired
- 1989-08-11 EP EP89114907A patent/EP0354585B1/en not_active Expired - Lifetime
- 1989-08-11 DE DE68924883T patent/DE68924883T2/de not_active Expired - Fee Related
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5110746A (ja) * | 1974-07-17 | 1976-01-28 | Hitachi Ltd | |
| JPS5729153A (en) * | 1980-07-29 | 1982-02-17 | Fujitsu Ltd | Control system for instruction processing order |
| JPS57161938A (en) * | 1981-03-30 | 1982-10-05 | Fujitsu Ltd | Instruction control system |
| JPS581246A (ja) * | 1981-06-26 | 1983-01-06 | Fujitsu Ltd | 命令処理順序制御方式 |
| JPS60126734A (ja) * | 1983-12-13 | 1985-07-06 | Nec Corp | 情報処理装置 |
| JPS6116335A (ja) * | 1984-07-02 | 1986-01-24 | Nec Corp | 情報処理装置 |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7028161B2 (en) | 1991-07-08 | 2006-04-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
| US7555632B2 (en) | 1991-07-08 | 2009-06-30 | Seiko Epson Corporation | High-performance superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
| US7941635B2 (en) | 1991-07-08 | 2011-05-10 | Seiko-Epson Corporation | High-performance superscalar-based computer system with out-of order instruction execution and concurrent results distribution |
| US6782521B2 (en) | 1992-03-31 | 2004-08-24 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
| US7174525B2 (en) | 1992-03-31 | 2007-02-06 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
| US7555738B2 (en) | 1992-03-31 | 2009-06-30 | Seiko Epson Corporation | Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip |
| US6920548B2 (en) | 1992-05-01 | 2005-07-19 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
| KR100260680B1 (ko) * | 1995-09-11 | 2000-07-01 | 포만 제프리 엘 | 순서외의 다중 인스트럭션 완료 지원 방법 및 수퍼스칼라 마이크로프로세서 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE68924883T2 (de) | 1996-05-15 |
| JPH0673105B2 (ja) | 1994-09-14 |
| DE68924883D1 (de) | 1996-01-04 |
| EP0354585A2 (en) | 1990-02-14 |
| KR920004290B1 (ko) | 1992-06-01 |
| EP0354585A3 (en) | 1991-11-13 |
| EP0354585B1 (en) | 1995-11-22 |
| KR900003743A (ko) | 1990-03-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1021144C (zh) | 带有指令标识装置的数据处理系统 | |
| CN1161689C (zh) | 在超标量处理器中处理装入指令的方法和电路 | |
| US5636353A (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating results bypassing | |
| JPH0248732A (ja) | 命令パイプライン方式のマイクロプロセッサ | |
| JP2003523573A (ja) | プロセッサにおける書き込みトラヒックを減少するシステム及び方法 | |
| JP3556246B2 (ja) | パイプラインプロセッサにおける割込み処理のための装置 | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| JPH10228376A (ja) | 複数レジスタ命令を処理する方法及びプロセッサ | |
| US6405303B1 (en) | Massively parallel decoding and execution of variable-length instructions | |
| JPH05150979A (ja) | 即値オペランド拡張方式 | |
| US7143268B2 (en) | Circuit and method for instruction compression and dispersal in wide-issue processors | |
| JP4243271B2 (ja) | データ処理装置およびデータ処理方法 | |
| KR100241970B1 (ko) | 파이프라인 처리를 수행하는 데이터 처리 장치 | |
| CN112579168B (zh) | 指令执行单元、处理器以及信号处理方法 | |
| JP2668987B2 (ja) | データ処理装置 | |
| JPH10283178A (ja) | 命令を発行するための方法及びシステム | |
| JPH10105399A (ja) | データ処理装置 | |
| JP2673041B2 (ja) | 命令実行制御方式 | |
| JPH0248733A (ja) | 情報処理装置 | |
| KR100515039B1 (ko) | 조건부 명령어를 고려한 파이프라인 상태 표시 회로 | |
| JPH02254541A (ja) | 条件分岐命令の制御方式 | |
| JPH0419575B2 (ja) | ||
| JPH11328001A (ja) | 情報処理装置 | |
| JPH02230326A (ja) | パイプライン情報処理装置 | |
| JPH0553804A (ja) | 並列処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |