JPH04367936A - スーパースカラープロセッサ - Google Patents

スーパースカラープロセッサ

Info

Publication number
JPH04367936A
JPH04367936A JP3144560A JP14456091A JPH04367936A JP H04367936 A JPH04367936 A JP H04367936A JP 3144560 A JP3144560 A JP 3144560A JP 14456091 A JP14456091 A JP 14456091A JP H04367936 A JPH04367936 A JP H04367936A
Authority
JP
Japan
Prior art keywords
instruction
pipeline
data
stage
execution means
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
Application number
JP3144560A
Other languages
English (en)
Inventor
Chikako Ikenaga
池永 知嘉子
Hideki Ando
秀樹 安藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3144560A priority Critical patent/JPH04367936A/ja
Priority to DE4207148A priority patent/DE4207148A1/de
Publication of JPH04367936A publication Critical patent/JPH04367936A/ja
Priority to US08/225,265 priority patent/US5636353A/en
Priority to US08/865,308 priority patent/US6233670B1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、一般にスーパースカ
ラープロセッサに関し、特に、並行して実行される複数
の命令において使われるデータをパイプライン間で直接
に転送され得るスーパースカラープロセッサに関する。
【0002】
【従来の技術】「スーパースカラー」は、マイクロプロ
セッサの処理速度を高めるためのアーキテクチャのつ1
つとして知られる。スーパースカラーを用いたマイクロ
プロセッサでは、与えられた複数の命令のうち同時に実
行可能なものが検出され、検出された命令が複数のパイ
プラインを使って同時にまたは並行して処理される。
【0003】図7は、この発明の背景を示すスーパース
カラープロセッサのブロック図である。図7を参照して
、このスーパースカラープロセッサ20は、命令メモリ
1内にストアされた複数の命令を取出す命令フェッチス
テージ2と、命令フェッチステージ2において取出され
た命令をデコードする命令デコードステージ3と、各々
がパイプライン構造を有する機能ユニット14ないし1
7と、命令を実行するのに使われるデータを一時的に保
持するレジスタファイル9とを含む。機能ユニット14
ないし17は、データバス11を介して外部のデータメ
モリ8にアクセスすることができる。レジスタファイル
9は、RAMによって構成され、かつ機能ユニット14
ないし17からアクセスされる。
【0004】命令フェッチステージ2は、プログラムカ
ウンタ(図示せず)を備えており、プログラムカウンタ
から発生されたアドレス信号を命令メモリ1に与える。 与えられたアドレス信号により指定された複数の命令が
取出され、命令フェッチステージ2において保持される
【0005】命令デコードステージ3は、命令フェッチ
ステージ2から複数の命令を受け、それらをデコードす
る。命令のデコードにより、与えられた複数の命令のう
ち同時に実行することのできる命令が検出される。これ
に加えて、命令デコードステージ3は、機能ユニット1
4ないし17とレジスタファイル9との間のデータの中
継を行なう。すなわち、命令デコードステージ3は、機
能ユニット14ないし17が与えられた命令を実行する
のに使われるデータをレジスタファイル9から読出し、
読出されたデータを機能ユニット14ないし17に与え
る。
【0006】各機能ユニット14ないし17は、パイプ
ライン構造を有している。すなわち、このスーパースカ
ラープロセッサ20は、4つの機能ユニット14ないし
17により構成された4つのパイプラインを有している
【0007】4つの機能ユニット14ないし17は、た
とえば、次のような予め定められた演算を実行する。機
能ユニット14および15は、整数演算を行なう。機能
ユニット16は、データメモリ8へのデータのロードお
よびストアを実行する。機能ユニット17は、浮動小数
点演算を行なう。各機能ユニット14および15は、実
行ステージ(EXC)と、レジストファイル9へのライ
トバックステージ(WB)とを含む。機能ユニット16
は、アドレス処理ステージ(ADR)と、メモリアクセ
スステージ(MEM)と、ライトバックステージ(WB
)とを含む。機能ユニット17は、3つの実行ステージ
(EX1 ,EX2,EX3)と、ライトバックステー
ジ(WE)とを含む。一般に、実行ステージは演算およ
びアドレス計算を行ない、一方、メモリアクセスステー
ジはデータメモリ8からの/への読出/書込を行なう。
【0008】スーパースカラープロセッサ20は、外部
的に与えられる2相のノンオーバーラップクロック信号
φ1およびφ2に応答して動作する。すなわち、命令フ
ェッチステージ2,命令デコードステージ3および機能
ユニット14ないし17内の様々なステージは、パイプ
ライン制御の下で、クロック信号φ1およびφ2に応答
して動作される。2相のノンオーバーラップクロック信
号の例が、図6において示される。
【0009】動作において、命令デコードステージ3は
、与えられた複数の命令のうち同時に実行可能な命令を
検出し、検出された命令を機能ユニット14ないし17
(場合によっては機能ユニット14ないし17のうちの
いくつか)に与える。機能ユニット14ないし17は、
パイプライン構造を有しているので、同時にまたは並行
して与えられた命令を実行することができる。
【0010】ここで、あるスーパースカラープロセッサ
が3つの機能ユニット(パイプライン)を有し、かつ各
機能ユニットが実行ステージ(EXC)、メモリアクセ
スステージ(MEM)およびライトバックステージ(W
B)を有するものと仮定する。この場合におけるパイプ
ライン処理の進行の一例が図8(A)に示される。図8
(A)を参照して、3つのパイプラインPL1,L2お
よびPL3が命令1,2および3をそれぞれ実行するも
のと仮定する。パイプラインPL1では、期間T1にお
いて命令フェッチステージ2における処理が行なわれ、
期間T2において命令デコードステージ3における処理
が行なわれる。実行ステージ,メモリアクセスステージ
およびライトバックステージにおける処理が期間T3,
T4およびT5においてそれぞれ実行される。一方、パ
イプラインPL2では、期間T2において命令フェッチ
ステージ2における処理が開始される。パイプライン1
と同様に、期間T3ないしT6において、それぞれのス
テージ(ID,EXC,MEM,WB)が行なわれる。 さらには、パイプラインPL3においても、期間T3に
おいて命令フェッチステージ2における処理が開始され
た後、期間T4ないしT7においてそれぞれのステージ
における処理が行なわれる。図8(A)からわかるよう
に、各パイプラインPL1ないしPL3ごとに、与えら
れた命令1ないし3を実行するため、それぞれのステー
ジが同時にかつ並行して進行されることが理解される。 しかしながら、次のような場合には、処理に要する時間
の観点から問題が生じる。
【0011】
【発明が解決しようとする課題】図8(B)を参照して
、今、2つの命令11および12が与えられ、それらが
パイプラインPL1およびPL2によって処理されるも
のと仮定する。これに加えて、命令11の実行により得
られる結果のデータが、命令12の処理の中で使われる
ものと仮定する。言い換えると、命令11の実行により
得られるデータを使ってそれ自身の処理を実行するよう
な命令12が与えられるものと仮定する。
【0012】従来的には、このような場合において、ま
ず、命令11が実行され、かつ終了される。すなわち、
パイプラインPL1において、期間T1において命令フ
ェッチステージ2が実行され、期間T2において命令デ
コードステージ3が実行される。期間T3,T4および
T5において、実行ステージ,メモリアクセスステージ
およびライトバックステージがそれぞれ行なわれる。ラ
イトバックステージの実行により、命令11の実行によ
り得られるデータが、図7に示したレジスタファイル9
に一旦ストアされる。一方、パイプラインPL2におい
て、期間T2において命令フェッチステージ2が実行さ
れ、期間T3において命令デコードステージ3が実行さ
れる。しかしながら、期間T4およびT5において命令
12の実行が停止される。その理由は、前述のように命
令12が命令11の実行により得られるデータを使うも
のであるため、命令11の実行の終了を待たなければな
らないからである。したがって、パイプラインPL1に
おけるライトバックステージが期間T5において終了さ
れるまで、パイプラインPL2における処理が停止され
る。言い換えると、パイプラインPL2が期間T4およ
びT5において待機状態(パイプラインインターロック
)にもたらされる。
【0013】期間T5の後、命令11の実行により得ら
れたデータは、レジスタファイル9内にストアされてい
る。したがって、パイプラインPL2において、期間T
6において命令12の実行が再開される。すなわち、期
間T6において命令デコードステージ3が実行された後
、期間T7ないしてT9において、実行ステージ,メモ
リアクセスステージおよびライトバックステージがそれ
ぞれ実行される。
【0014】このように、命令11の実行により得られ
たデータが一旦レジスタファイル9に書込まれた後、別
の命令12の処理においてレジスタファイル9がアクセ
スされる。言い換えると、1つのパイプラインPL1に
おける処理の実行により得られたデータは、レジスタフ
ァイル9を介して別のパイプラインPL2に与えられる
。しかしながら、図8(B)に示すように、命令11の
実行により得られるデータは、期間T3の実行ステージ
における処理によりすでに得られているのであるが、2
つのパイプラインPL1およびPL2間のデータの伝送
がレジスタファイル9を介して行なわれるので、パイプ
ラインPL2は、パイプラインPL1におけるライトバ
ックステージの実行の終了を待たなければならない。 その結果、命令の実行を完了するのに長い時間を要して
いた。言い換えると、スーパースカラープロセッサの処
理速度が低下していた。
【0015】この発明は、上記のような課題を解決する
ためになされたもので、2以上の命令を同時にまたは並
行して実行可能なスーパースカラープロセッサにおいて
、1つの命令の実行により得られたデータを使用して別
の命令が実行されるのに要する時間を短縮することを目
的とする。
【0016】
【課題を解決するための手段】この発明にかかるスーパ
ースカラープロセッサは、データ記憶手段内にストアさ
れたデータを使って、先に与えられる第1の複数の命令
と後に与えられる第2の複数の命令とをパイプライン制
御の下で実行する。各命令は、命令を実行するのに使わ
れるデータがストアされているデータ記憶手段内のアド
レスを示すソースアドレスと、実行されたデータがスト
アされるべきデータ記憶手段内のアドレスをしめす行先
アドレスとを含む。このスーパースカラープロセッサは
、与えられた第1または第2の複数の命令の中から、同
時に実行可能な命令を検出する同時実行可能命令検出手
段と、同時実行可能命令検出手段によって検出されたそ
れぞれの命令をパイプライン制御の下で並行してかつ同
時に実行する第3の複数のパイプライン処理実行手段と
を含む。各パイプライン処理実行手段は、与えられた命
令をパイプライン制御の下で順次に実行する先の命令実
行手段および後の命令実行手段を含む。第3の複数のパ
イプライン処理実行手段のうちの少なくとも1つの中に
設けられた後の命令実行手段は、与えられた命令に含ま
れるソースアドレスと他のパイプライン処理実行手段の
先の命令実行手段において実行されている命令に含まれ
る行先アドレスとの一致を検出するアドレス一致検出手
段と、アドレス一致検出手段に応答して、他のパイプラ
イン処理実行手段の先の命令実行手段において実行され
たデータを、少なくとも1つのパイプライン処理実行手
段中に設けられた後の命令実行手段に直接に与える直接
供与手段とを備える。
【0017】
【作用】この発明におけるスーパースカラープロセッサ
では、直接供与手段が、アドレス一致検出手段に応答し
て、他のパイプライン処理実行手段の先の命令実行手段
において実行されたデータを、少なくとも1つのパイプ
ライン処理実行手段中に設けられた後の命令実行手段に
直接に与える。すなわち、少なくとも1つのパイプライ
ン処理実行手段内の後の命令実行手段は、データ記憶手
段を介することなく、他のパイプライン処理実行手段の
先の命令実行手段において実行されたデータを直接に受
けるので、短時間で命令を完了することができる。
【0018】
【実施例】図1は、この発明の一実施例を示すスーパー
スカラープロセッサのブロック図である。図1を参照し
て、スーパースカラープロセッサ10は、命令フェッチ
ステージ2と、命令デコードステージ3と、改善された
機能ユニット4,5,6および7と、レジスタファイル
9と、新たに設けられたバイパスライン12とを含む。 各機能ユニット4ないし7は、実行ステージ(EXC)
41と、メモリアクセスステージ(MEM)42と、ラ
イトバックステージ(WB)43とを含む。このスーパ
ースカラープロセッサ10は、外部的に与えられる2相
のノンオーバーラップクロック信号φ1およびφ2に応
答して、パイプライン制御の下で動作される。基本的な
動作は、図7に示した従来のスーパースカラープロセッ
サ20と同様であるので説明が省略される。
【0019】バイパスライン12は、それぞれの機能ユ
ニット4ないし7間に設けられており、機能ユニット内
の実行ステージにおいて得られたデータがバイパスライ
ン12を介して伝送される。これに加えて、特に図示さ
れていないが、機能ユニット4ないし7間で、それぞれ
の機能ユニットにおいて処理される命令に含まれる行先
アドレスが機能ユニット4ないし7間で伝送される。
【0020】図1に示した改善された1つの機能ユニッ
トが図2において示される。図2を参照して、改善され
た機能ユニットは、命令を実行するための実行ステージ
1と、データメモリ8またはレジスタファイル9にアク
セスするためのメモリアクセスステージ42と、命令の
実行により得られたデータをレジスタファイル9へ書込
むためのライトバックステージ43とを含む。
【0021】実行ステージ41は、ソースアドレスおよ
び行先アドレスを比較するアドレス比較器80と、比較
結果を示す信号S11ないしS18およびS21ないし
S28に応答して、演算において使われるデータを選択
するデータセレクタ83と、選択されたデータに基づい
て演算を実行する演算実行器84とを含む。デコードス
テージ3から与えられる1つの命令は、命令コードOP
と、2つのソースアドレスSA1およびSA2と、行先
アドレスDAとを含む。アドレス比較器80は、与えら
れた命令に含まれるソースアドレスSA1およびSA2
を受ける。これに加えて、アドレス比較器80は、図1
に示した他の機能ユニット5,6および7において扱わ
れる命令に含まれる行先アドレスDAb1,DAb2,
DAc1,DAc2,DAd1およびDAd2を受ける
。さらには、アドレス比較器80は、実行ステージ41
における行先アドレスDAa1と、メモリアクセスステ
ージ42における行先アドレスDAa2とを受ける。 アドレス比較器80は、ソースアドレスSA1およびS
A2と行先アドレスDAa1ないしDAd2とを比較し
、一致を検出するのであるが、その詳細については後で
説明する。
【0022】行先レジスタ81は、デコードステージ3
から与えられる行先アドレスDAを保持する。保持され
た行先アドレスDAa1は、アドレス比較器80および
メモリアクセスステージ42内の行先レジスタ82に与
えられる。
【0023】データセレクタ83は、デコードステージ
3を介してレジスタファイル9より与えられる2つのデ
ータDT1およびDT2を受けるように接続される。デ
ータDT1およびDT2は、実行ステージ41における
命令により要求されるものである。これに加えて、デー
タセレクタ83は、新たに設けられたバイパスライン1
2を介して、図1に示した他の機能ユニット5,6およ
び7の実行ステージにおいて実行されたデータDb1,
Db2,Dc1,Dc2,Dd1およびDd2を受ける
。さらには、データセレクタ83は、メモリアクセスス
テージ42内のデータレジスタ86により保持されたデ
ータDa1と、実行ステージ41内のデータレジスタ8
5により保持されたデータDa2とを受ける。データセ
レクタ83は,アドレス比較器80から与えられる選択
信号S11ないしS18およびS21ないしS28に応
答して動作するのであるが、詳細は後に説明する。
【0024】演算実行器84は、データライン31およ
び32を介してデータセレクタ83に接続される。デー
タセレクタ83により選択されたデータが、データライ
ン31および32を介して演算実行器84に与えられ、
そこで、与えられた命令に基づく演算が実行される。演
算の実行結果を示すデータがデータレジスタ85により
保持される。
【0025】メモリアクセスステージ52は、行先アド
レスを保持するための行先レジスタ82と、演算結果を
示すデータを保持するためのデータレジスタ86とを含
む。ライトバックステージ43は、行先レジスタ82に
より保持された行先アドレスと、データレジスタ86に
より保持された実行されたデータとを受ける。ライトバ
ックステージ43は、与えられた行先アドレスに従って
、実行されたデータをレジスタファイル9内に書込む。
【0026】図2に示したアドレス比較器の一例が図3
に示される。図3を参照して、アドレス比較器80は、
ソースアドレスSA1および行先アドレスの一致を検出
する一致検出器811ないし818と、ソースアドレス
SA2および行先アドレスの一致を検出する一致検出器
821ないし828とを含む。ソースアドレスSA1お
よびSA2は、デコードステージ3から与えられる命令
の中に含まれている。一致検出器811ないし818は
、他の機能ユニットから与えられる行先アドレスDAb
1,DAb2,DAc1,DAc2,DAd1およびD
Ad2と、それ自身の行先アドレスDAa1およびDA
a2とをそれぞれ受ける。一致検出器821ないし82
8も、同様に行先アドレスを受ける。1つの一致検出器
、たとえば検出器811は、与えられたソースアドレス
SA1および行先アドレスDAb1の一致を検出し、高
レベルの一致検出信号S11を発生する。一致検出手段
S11ないしS18およびS21ないしS28は、演算
において使われるデータを選択するための選択信号とし
てデータセレクタ83に与えられる。
【0027】データセレクタ83の一例が図4に示され
る。図4を参照して、データセレクタ83は、データラ
イン31に接続されたトライステートバッファ910な
いし918と、データライン32に接続されたトライス
テートバッファ920ないし928と、2つのNORゲ
ート901および902とを含む。トライステートバッ
ファ910および920は、レジスタファイル9から与
えられるデータDT1およびDT2をそれぞれ受けるよ
うに接続される。トライステートバッファ911ないし
918は、他の機能ユニット5,6および7からバイパ
スライン12を介して与えられるデータDb1,Db2
,Dc1,Dc2,Dd1およびDd2をそれぞれ受け
る。トライステートバッファ917および918は、そ
れ自身の実行されたデータDa1およびDa2をそれぞ
れ受ける。トライステートバッファ921ないし928
も、トライステートバッファ911ないし918と同様
に、与えられたデータを受ける。トライステートバッフ
ァ911ないし918は、アドレス比較器80から与え
られるデータ選択信号S11ないしS18に応答してそ
れぞれ制御される。たとえば、トライステートバッファ
911は、高レベルのデータ選択信号S11が与えられ
たとき、バイパスライン12上のデータDb1をデータ
ライン31に与える。一方、トライステートバッファ9
10は、NORゲート901からの出力信号に応答して
動作する。もし、すべてのデータ選択信号S11ないし
S18が低レベルを示すとき、NORゲート901は高
レベルの出力信号をトライステートバッファ910に与
えるので、レジスタファイル9から与えられたデータD
T1がデータライン31に与えられる。
【0028】トライステートバッファ921ないし92
8は、データ選択信号S21ないしS28に応答してそ
れぞれ動作する。トライステートバッファ920は、N
ORゲート902からの出力信号に応答して動作する。 トランスミッションゲート910ないし918および9
20ないし928によって選択されたデータは、データ
ライン31および32を介して演算実行器84に与えら
れる。
【0029】演算実行器84の一例が図5に示される。 図5を参照して、演算実行器84は、データライン31
および32を介して与えられたデータをそれぞれ保持す
るためのレジスタ841および842と、レジスタ84
1および842によって保持されたデータを用いて演算
を実行する演算器(ALU)843とを含む。演算器8
43における演算の実行により得られたデータは、図2
に示したデータレジスタ85に与えられる。
【0030】次に、図1ないし図5および図8(C)を
参照して、図1に示したスーパースカラープロセッサ1
0の動作について説明する。以下の説明においても、図
1に示したスーパースカラープロセッサ10が、図8(
B)を参照して説明した命令11および12を実行する
ものと仮定する。図8(C)を参照して、期間T1にお
いて、命令フェッチステージ11が命令11を実行する
(パイプラインPL1)。期間T2において、命令デコ
ードステージ3が命令11を実行し(パイプラインPL
1)、一方、命令フェッチステージ2が命令12を実行
する。期間T3において、パイプラインPL1において
命令11が実行され、実行されたデータが得られる。 実行されたデータは、命令11に含まれる行先アドレス
に従って、レジスタファイル9に書込まれるように予定
されている。しかしながら、実行されたデータは、パイ
プラインPL2の実行ステージにおいて使われることが
命令12において予定されているので、実行されたデー
タは図1に示したバイパスライン12を介してパイプラ
インPL2に次のように与えられることになる。なお、
以下の記載では、パイプラインPL1が機能ユニット5
に相当し、パイプラインPL2が機能ユニット4に相当
している。
【0031】パイプラインPL2を構成する機能ユニッ
ト4は、図2に示した構成を有している。図2を参照し
て、アドレス比較器80は、与えられた命令12に含ま
れる行先アドレスSA1およびSA2と行先アドレスD
Aa1,DAa2,…DAd1,DAd2とを比較する
。再び図3を参照して、一致が検出されたとき、高レベ
ルの一致検出信号S11ないしS18またはS21ない
しS28が選択信号として発生される。
【0032】図4に示したデータセレクタ83は、デー
タ選択信号S11ないしS18およびS21ないしS2
8に応答して、バイパスライン12を介して与えられた
データを選択的にデータライン31および32に与える
。もし、すべてのデータ選択信号S11ないしS18お
よびS21ないしS28が低レベルであるとき、言い換
えると、ソースアドレスと行先アドレスとの間の一致が
まったく検出されないとき、レジスタファイル9から与
えられたデータDT1およびDT2がデータライン31
および32に与えられることになる。したがって、図3
に示したアドレス比較器80において少なくとも1つの
一致が検出されたとき、バイパスライン12を介して(
すなわちレジスタファイル9を介することなく)、他の
機能ユニット(すなわちパイプラインPL1)のデータ
が機能ユニット4(すなわちパイプラインPL2)に伝
送されることになる。他のパイプラインPL1において
実行されたデータが、レジスタファイル9を介すること
なくパイプラインPL2に与えられるので、パイプライ
ンPL2がパイプラインPL1におけるメモリアクセス
ステージおよびライトバックステージにおける実行の終
了を待つ必要がなくなる。
【0033】すなわち、再び図8(C)を参照して、期
間T3においてパイプラインPL1の実行ステージにお
いて得られた実行されたデータがバイパスライン12を
介してパイプラインPL2に与えられるので、期間T4
においてパイプラインPL2の実行ステージが動作でき
る。図7に示した従来のスーパースカラープロセッサ2
0では、図8(B)に示すように期間T4およびT5に
おいてパイプラインPL2における処理の実行が待たさ
れていたが(パイプラインインターロック)、図1に示
したスーパースカラープロセッサ10ではこの期間T4
およびT5において実行ステージおよびメモリアクセス
ステージにおける処理の実行を続けることができる。言
い換えると、パイプラインインターロックが生じない。 その理由は、パイプラインPL1において実行されたデ
ータが、バイパスライン12を介してパイプラインPL
2に与えられるので、パイプラインPL1におけるメモ
リアクセスステージおよびライトバックステージの実行
の終了を待つ必要がなくなるからである。
【0034】その結果、図8(B)および(C)比較す
るとわかるように、パイプラインPL2が命令12の実
行を完了するのに要する期間(T2ないしT6)が、従
来のスーパースカラープロセッサにおいて要する期間(
T2ないしT9)よりも短縮される。したがって、スー
パースカラープロセッサにおけるより高い速度での処理
が達成できる。
【0035】なお、図1に示した例では、各々が同じパ
イプライン構造(すなわちステージ)を有するスーパー
スカラープロセッサ10について説明がなされたが、こ
の発明の適用はそのようなものに制限されるものではな
いことが指摘される。すなわち、スーパースカラープロ
セッサが互いに異なったパイプライン構造を有していて
も、パイプライン間にバイパスラインを設けることによ
り、処理に要する時間における上記の利点が得られる。
【0036】
【発明の効果】以上のように、この発明によれば、アド
レス一致検出手段に応答して、他のパイプライン処理実
行手段の先の命令実行手段において実行されたデータを
、少なくとも1つのパイプライン処理実行手段中に設け
られた後の命令実行手段に直接に与える直接供与手段を
設けたので、命令の実行に要する時間を短縮することの
できるスーパースカラープロセッサが得られた。
【図面の簡単な説明】
【図1】この発明の一実施例を示すスーパースカラープ
ロセッサのブロック図である。
【図2】図1に示した1つの機能ユニットのブロック図
である。
【図3】図2に示したアドレス比較器のブロック図であ
る。
【図4】図2に示したデータセレクタのブロック図であ
る。
【図5】図2に示した演算実行器のブロック図である。
【図6】2相のノンオーバーラップクロック信号のタイ
ミングチャートである。
【図7】この発明の背景を示すスーパースカラープロセ
ッサのブロック図である。
【図8】パイプライン処理の進行を示すタイミングチャ
ートである。
【符号の説明】
1  命令メモリ 2  命令フェッチステージ 3  命令デコードステージ 4  機能ユニット 8  データメモリ 9  レジスタファイル 12  バイパスライン 41  実行ステージ 42  メモリアクセスステージ 43  ライトバックステージ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  データ記憶手段を含み、前記データ記
    憶手段にストアされたデータを使って、先に与えられる
    第1の複数の命令と後に与えられる第2の複数の命令と
    をパイプライン制御の下で実行するスーパースカラープ
    ロセッサであって、各前記命令は、その命令を実行する
    のに使われるデータがストアされている前記データ記憶
    手段内のアドレスを示すソースアドレスと、実行された
    データがストアされるべき前記データ記憶手段内のアド
    レスを示す行先アドレスとを含み、与えられた前記第1
    または第2の複数の命令の中から、同時に実行可能な命
    令を検出する同時実行可能命令検出手段と、前記同時実
    行可能命令検出手段によって検出されたそれぞれの命令
    をパイプライン制御の下で並行してかつ同時に実行する
    第3の複数のパイプライン処理実行手段とを含み、各前
    記第3のパイプライン処理実行手段は、与えられた命令
    をパイプライン制御の下で順次に実行する先の命令実行
    手段および後の命令実行手段を含み、  前記第3の複
    数のパイプライン処理実行手段のうちの少なくとも1つ
    の中に設けられた後の命令実行手段は、与えられた命令
    に含まれるソースアドレスと、他のパイプライン処理実
    行手段内の先の命令実行手段において実行されている命
    令に含まれる行先アドレスとの一致を検出するアドレス
    一致検出手段と、前記アドレス一致検出手段に応答して
    、前記他のパイプライン処理実行手段内の先の命令実行
    手段において実行されたデータを、前記少なくとも1つ
    のパイプライン処理実行手段中に設けられた前記後の命
    令実行手段に直接に与える直接供与手段とを備える、ス
    ーパースカラープロセッサ。
JP3144560A 1991-06-17 1991-06-17 スーパースカラープロセッサ Pending JPH04367936A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP3144560A JPH04367936A (ja) 1991-06-17 1991-06-17 スーパースカラープロセッサ
DE4207148A DE4207148A1 (de) 1991-06-17 1992-03-06 Superscalar-prozessor
US08/225,265 US5636353A (en) 1991-06-17 1994-04-07 Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating results bypassing
US08/865,308 US6233670B1 (en) 1991-06-17 1997-05-29 Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3144560A JPH04367936A (ja) 1991-06-17 1991-06-17 スーパースカラープロセッサ

Publications (1)

Publication Number Publication Date
JPH04367936A true JPH04367936A (ja) 1992-12-21

Family

ID=15365101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3144560A Pending JPH04367936A (ja) 1991-06-17 1991-06-17 スーパースカラープロセッサ

Country Status (3)

Country Link
US (2) US5636353A (ja)
JP (1) JPH04367936A (ja)
DE (1) DE4207148A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271583A (ja) * 1994-03-31 1995-10-20 Internatl Business Mach Corp <Ibm> オペレーションの処理システム及び方法
JPH08272611A (ja) * 1995-03-31 1996-10-18 Nec Corp マイクロプロセッサ
KR100323374B1 (ko) * 1994-02-02 2002-06-20 썬 마이크로시스템즈, 인코포레이티드 부동소숫점유니트에서의다이나믹레지스터관리장치및그방법
JP2009527809A (ja) * 2006-02-16 2009-07-30 ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー 入力ソースから直接の命令の実行

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2287108B (en) * 1994-02-28 1998-05-13 Intel Corp Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path
JP3442175B2 (ja) * 1995-02-02 2003-09-02 株式会社リコー 中央演算処理装置
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5813033A (en) * 1996-03-08 1998-09-22 Advanced Micro Devices, Inc. Superscalar microprocessor including a cache configured to detect dependencies between accesses to the cache and another cache
JPH09305401A (ja) * 1996-05-13 1997-11-28 Mitsubishi Electric Corp コンピュータ及びコンパイラ
JP3745450B2 (ja) * 1996-05-13 2006-02-15 株式会社ルネサステクノロジ 並列処理プロセッサ
US5778248A (en) * 1996-06-17 1998-07-07 Sun Microsystems, Inc. Fast microprocessor stage bypass logic enable
US5802386A (en) * 1996-11-19 1998-09-01 International Business Machines Corporation Latency-based scheduling of instructions in a superscalar processor
JP3578883B2 (ja) * 1997-01-31 2004-10-20 三菱電機株式会社 データ処理装置
US6016543A (en) * 1997-05-14 2000-01-18 Mitsubishi Denki Kabushiki Kaisha Microprocessor for controlling the conditional execution of instructions
US6014759A (en) * 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6044429A (en) 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US5872986A (en) * 1997-09-30 1999-02-16 Intel Corporation Pre-arbitrated bypassing in a speculative execution microprocessor
JP4201927B2 (ja) * 1999-08-25 2008-12-24 株式会社ルネサステクノロジ データ処理管理装置
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
US6851044B1 (en) * 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
US6728870B1 (en) 2000-10-06 2004-04-27 Intel Corporation Register move operations
US20040260912A1 (en) 2001-10-24 2004-12-23 Nils Ola Linnermark Arrangement and a method in processor technology
US20040128482A1 (en) * 2002-12-26 2004-07-01 Sheaffer Gad S. Eliminating register reads and writes in a scheduled instruction cache
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
JP4243271B2 (ja) * 2005-09-30 2009-03-25 富士通マイクロエレクトロニクス株式会社 データ処理装置およびデータ処理方法
US8078845B2 (en) * 2005-12-16 2011-12-13 Freescale Semiconductor, Inc. Device and method for processing instructions based on masked register group size information
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7752422B2 (en) * 2006-02-16 2010-07-06 Vns Portfolio Llc Execution of instructions directly from input source
US7904615B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7594094B2 (en) * 2006-05-19 2009-09-22 International Business Machines Corporation Move data facility with optional specifications
US7809927B2 (en) * 2007-09-11 2010-10-05 Texas Instruments Incorporated Computation parallelization in software reconfigurable all digital phase lock loop

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02127731A (ja) * 1988-11-08 1990-05-16 Nec Corp 演算レジスタのバイパスチェック方式
JPH04328637A (ja) * 1991-04-30 1992-11-17 Toshiba Corp 並列プロセッサー

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing
US5051940A (en) * 1990-04-04 1991-09-24 International Business Machines Corporation Data dependency collapsing hardware apparatus
US4916652A (en) * 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
JPH0769821B2 (ja) * 1988-03-04 1995-07-31 日本電気株式会社 情報処理装置におけるバイパスライン制御方式
US5197135A (en) * 1990-06-26 1993-03-23 International Business Machines Corporation Memory management for scalable compound instruction set machines with in-memory compounding
US5214763A (en) * 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02127731A (ja) * 1988-11-08 1990-05-16 Nec Corp 演算レジスタのバイパスチェック方式
JPH04328637A (ja) * 1991-04-30 1992-11-17 Toshiba Corp 並列プロセッサー

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323374B1 (ko) * 1994-02-02 2002-06-20 썬 마이크로시스템즈, 인코포레이티드 부동소숫점유니트에서의다이나믹레지스터관리장치및그방법
JPH07271583A (ja) * 1994-03-31 1995-10-20 Internatl Business Mach Corp <Ibm> オペレーションの処理システム及び方法
JPH08272611A (ja) * 1995-03-31 1996-10-18 Nec Corp マイクロプロセッサ
JP2009527809A (ja) * 2006-02-16 2009-07-30 ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー 入力ソースから直接の命令の実行

Also Published As

Publication number Publication date
US5636353A (en) 1997-06-03
US6233670B1 (en) 2001-05-15
DE4207148A1 (de) 1992-12-24

Similar Documents

Publication Publication Date Title
JPH04367936A (ja) スーパースカラープロセッサ
US5293500A (en) Parallel processing method and apparatus
JP2701179B2 (ja) データ処理システム
JP3151444B2 (ja) ロード命令を処理する方法及びスーパースカラ・プロセッサ
JP3400458B2 (ja) 情報処理装置
US5226166A (en) Parallel operation processor with second command unit
US5522084A (en) Method and system for invalidating instructions utilizing validity and write delay flags in parallel processing apparatus
JPH02227730A (ja) データ処理システム
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
US20050102659A1 (en) Methods and apparatus for setting up hardware loops in a deeply pipelined processor
JPH05342084A (ja) データ記憶装置及びデータ記憶方法
JP2004529405A (ja) 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ
JPH0743648B2 (ja) 情報処理装置
JP2798121B2 (ja) データ処理装置
JP2000353091A (ja) コンピュータシステムにおける命令実行方法およびコンピュータシステム
JP2001051845A (ja) アウトオブオーダー実行方式
JP2904624B2 (ja) 並列演算処理装置
JPH06139071A (ja) 並列計算機
JP2806690B2 (ja) マイクロプロセッサ
JP2503223B2 (ja) 先行制御方式
JP2924735B2 (ja) パイプライン演算装置及びデコーダ装置
JPH08272608A (ja) パイプライン処理装置
JPH0228724A (ja) 分岐命令制御方式
JPH0769800B2 (ja) データ処理装置
JPH0247725A (ja) データ処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970506