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

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

Info

Publication number
JP2000339185A
JP2000339185A JP11146124A JP14612499A JP2000339185A JP 2000339185 A JP2000339185 A JP 2000339185A JP 11146124 A JP11146124 A JP 11146124A JP 14612499 A JP14612499 A JP 14612499A JP 2000339185 A JP2000339185 A JP 2000339185A
Authority
JP
Japan
Prior art keywords
instruction
execution
instructions
failure
unit
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
JP11146124A
Other languages
English (en)
Other versions
JP3180803B2 (ja
Inventor
Koichi Takayama
浩一 高山
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP14612499A priority Critical patent/JP3180803B2/ja
Publication of JP2000339185A publication Critical patent/JP2000339185A/ja
Application granted granted Critical
Publication of JP3180803B2 publication Critical patent/JP3180803B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【課題】 システム性能の低下を抑えつつ、障害からの
回復を図ることができるスーパースカラプロセッサを提
供する。 【解決手段】 例えば、4本の命令パイプラインを有す
る構成とした場合、リオーダバッファ6は、命令フェッ
チ部1が主記憶装置から実質的に同時に取り出した4つ
の命令に関する情報を管理している。取り出された4つ
の命令は、命令デコード部2で同時にデコードされ、命
令発行制御部3の調停の下、ALU41〜44で並行し
て実行される。ここで、例えば、ALU44にハードウ
ェア障害が発生すると、障害履歴フラグ34がセットさ
れる。命令発行制御部3は、障害履歴フラグ34がセッ
トされたことにより、リオーダバッファ6で管理されて
いる障害発生した命令に関する情報に従って、障害発生
のないALU41〜43を用いて当該命令を再実行させ
るよう命令フェッチ部1、命令デコード部2、ALU4
1〜44をそれぞれ制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、スーパースカラプ
ロセッサに関し、特にスーパースカラプロセッサにおい
て障害が発生した時の技術に関するものである。
【0002】
【従来の技術】スーパースカラプロセッサは、近年パイ
プラインの本数が増加してきており、また、分岐予測や
Out of Order命令発行などの様々な機能を備えることに
よって、ハードウェアの集積量が増加してきている。こ
のようなスーパースカラプロセッサでは、一般に、ハー
ドウェア要因による障害(製造時のばらつきや劣化な
ど)が発生した場合には、その障害をハードウェアで検
出できるようになっている。障害が検出されたプロセッ
サに関しては、障害発生前と同じ状態で継続して運用す
ることがほぼ不可能であり、障害からの復旧を図らなけ
ればならない。
【0003】ところで、スーパースカラプロセッサなど
を適用した大型のシステムでは、障害発生時のシステム
ダウン時間を縮小することばかりでなく、高信頼性を維
持しなければならない。そこで、このような大型のシス
テムでは、例えば、特許第2752764号公報にある
ように、障害が発生した場合に障害回復処理用のプログ
ラムを起動し、このプログラムによる処理で障害発生部
位を切り離し、また、障害の発生した命令以降の命令を
再実行させている。
【0004】
【発明が解決しようとする課題】しかしながら、上記公
報に記載のシステムでは、障害が発生した場合に、障害
回復処理用のプログラムを実行している間、本来実行す
べきプログラムの実行を中断しなければならない。この
ように、障害復旧のためにソフトウェアの介在を必要と
するので、本来実行すべきプログラムにプロセッサを当
てられる時間が相対的に小さくなり、システム性能が大
きく低下するという問題があった。
【0005】本発明は、上記従来技術の問題点を解消す
るためになされたものであり、システム性能の低下を抑
えつつ、障害からの回復を図ることができるスーパース
カラプロセッサを提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかるスーパースカラプロセ
ッサは、指定されたアドレスに応じて記憶装置から複数
の命令を取り出す命令フェッチ手段と、前記命令フェッ
チ手段が取り出した複数の命令をそれぞれ同時にデコー
ドする命令デコード手段と、前記命令デコード手段がデ
コードした複数の命令の実行を調停する命令実行制御手
段と、前記命令実行制御手段による調停に従って、前記
命令デコード手段がデコードした複数の命令を並行して
実行する命令実行手段と、前記命令フェッチ手段が取り
出した複数の命令に関する情報を管理する命令管理手段
と、前記命令実行手段による命令の実行に障害が発生し
たときに、前記命令管理手段によって管理されている命
令に関する情報を参照して、当該障害の発生した部位以
外を用いて障害の発生した命令を再実行させる命令再実
行制御手段とを備えることを特徴とする。
【0007】上記のスーパースカラプロセッサでは、命
令実行手段による命令の実行に障害が発生したときに、
命令再実行制御手段が当該障害の発生した部位以外を用
いて障害の発生した命令を再実行させることで、障害回
復を図ることができる。ここで、命令管理手段は、命令
に関する情報を格納しておくハードウェアで構成するこ
とができ、また、命令再実行手段も命令管理手段で管理
されている命令に関する情報に従って論理動作するハー
ドウェアで構成することができる。
【0008】すなわち、上記のスーパースカラプロセッ
サは、ソフトウェアを介在させることなしに、ハードウ
ェア要因の障害からの復旧が可能となるので、障害から
の復旧のためにシステム性能の低下を抑えることができ
る。
【0009】上記スーパースカラプロセッサにおいて、
前記命令再実行制御手段は、前記命令実行手段による命
令の実行に障害が発生したときに、当該障害の発生した
命令が再実行されるまで以降の命令の実行を待機するも
のとしてもよい。
【0010】また、前記命令管理手段は、前記命令実行
手段が命令の実行を終了するまで、前記命令フェッチ手
段が取り出した命令に関する情報を管理するものとして
もよい。
【0011】上記スーパースカラプロセッサにおいて、
前記命令実行手段による命令の実行に障害が発生したと
きに、当該障害部位に関する情報を登録する障害部位登
録手段をさらに備えてもよい。この場合、前記命令実行
制御手段は、前記障害部位登録手段に障害部位に関する
情報が登録されているときに、該登録されている障害部
位以外を用いて前記複数の命令が実行されるように、命
令の実行を調停するものとすることができる。
【0012】ここで、前記障害部位登録手段は、同一の
部位で連続して所定の回数以上障害が発生した場合に、
当該障害部位に関する情報を登録するものとしてもよ
い。
【0013】上記スーパースカラプロセッサにおいて、
前記命令管理手段は、前記命令フェッチ手段によって取
り出された各命令のアドレスを管理するものとしてもよ
い。この場合、前記命令再実行制御手段は、前記命令実
行手段による命令の実行に障害が発生したときに、障害
の発生した命令について前記命令管理手段で管理されて
いるアドレスを用いて前記命令フェッチ手段に前記記憶
装置から当該障害の発生した命令を取り出させるものと
することができる。
【0014】上記スーパースカラプロセッサにおいて、
前記命令管理手段は、前記命令フェッチ手段によって取
り出される命令のアドレスのみを管理するものとしても
よい。この場合、前記命令再実行制御手段は、前記命令
実行手段による命令の実行に障害が発生したときに、障
害の発生した命令に対応して前記命令管理手段で管理さ
れているアドレスを用いて前記命令フェッチ手段に前記
記憶装置から当該障害の発生した命令を含む複数の命令
を取り出させるものとすることができる。
【0015】上記スーパースカラプロセッサにおいて、
前記命令管理手段は、前記命令フェッチ手段によって取
り出された命令の全命令コードを管理するものとしても
よい。この場合、前記命令再実行制御手段は、前記命令
実行手段による命令の実行に障害が発生したときに、障
害の発生した命令について前記命令管理手段で管理され
ている命令コードを前記命令デコード手段に渡してデコ
ードさせるものとすることができる。
【0016】上記目的を達成するため、本発明の第2の
観点にかかるスーパースカラプロセッサは、複数の命令
パイプラインを有するスーパースカラプロセッサであっ
て、前記複数の命令パイプラインのそれぞれに取り込ま
れた命令に関する情報を管理する命令管理手段と、前記
複数の命令パイプラインのいずれかで障害が発生したと
きに、前記命令管理手段によって管理されている命令に
関する情報を参照して、該障害が発生した命令パイプラ
イン以外の命令パイプラインを使用して障害の発生した
命令を実行させる命令再実行制御手段とを備えることを
特徴とする。
【0017】上記の第2の観点にかかるスーパースカラ
プロセッサでも、命令管理手段及び命令再実行制御手段
をハードウェアによって構成することができ、ソフトウ
ェアを介在させないで障害からの復旧を図ることができ
るので、障害からの復旧のためにシステム性能の低下を
抑制することができる。
【0018】
【発明の実施の形態】以下、添付図面を参照して、本発
明の実施の形態について説明する。
【0019】図1は、この実施の形態にかかるスーパー
スカラプロセッサの構成を示すブロック図である。この
スーパースカラプロセッサは、4本の命令パイプライン
を有するものであり、図示するように、命令フェッチ部
1と、命令デコード部2と、命令発行制御部3と、演算
パイプライン4と、レジスタ群5aと、データメモリ5
bと、リオーダバッファ6とを備えている。
【0020】命令フェッチ部1は、命令アドレスレジス
タ(図示せず)に格納されている主記憶装置上のアドレ
スから連続した4つの命令を実質的に同時に取り出す。
命令フェッチ部1は、取り出した4つの命令をアライン
して命令デコード部2へ送信する。
【0021】命令デコード部2は、命令フェッチ部1か
ら送られた4つの命令をそれぞれ同時にデコードする。
命令デコード部2は、各命令のデコード結果を命令発行
制御部3に送る。
【0022】命令発行制御部3は、命令デコード部2か
ら送られた各命令のデコード結果に従って、演算パイプ
ライン4のALU41〜44による各命令の実行を調停
する。命令発行制御部3は、また、ハードウェア要因に
よる障害の発生時にセットされる障害履歴管理フラグ3
1〜38を備える。障害履歴管理フラグ31〜34は、
それぞれALU41〜44に対応し、障害履歴管理フラ
グ35〜38は、それぞれ命令デコード部2の各命令の
デコード部分に対応する。障害履歴管理フラグ31〜3
8がセットされた場合には、命令発行制御部3は、リオ
ーダバッファ6を参照し、命令フェッチ部1、命令デコ
ード部2及び演算パイプライン4を制御し、障害発生し
た命令以降の命令を再実行させる。
【0023】演算パイプライン4は、それぞれ命令に対
応した様々な演算機能を備える4つのALU(Arithmet
ic and Logic Unit)41〜44を備えている。ALU
41〜44は、例えば、固定小数点或いは浮動小数点の
演算、またはデータロード/ストアの機能を実行する。
なお、この実施の形態においては、ALU41、42
は、固定小数点演算器、ALU43、44は、浮動小数
点演算器であるものとする。
【0024】レジスタ群5aは、ALU41〜44によ
る演算対象となるデータが格納される複数の汎用レジス
タ或いは専用レジスタからなる。また、実行される命令
の種類によっては、各レジスタにはALU41〜44の
演算結果のデータが書き込まれる。データメモリ5b
は、ALU41〜44による演算結果のデータが書き込
まれるメモリである。データメモリ5bは、データキャ
ッシュ或いは主記憶装置のデータ領域とすることができ
る。
【0025】リオーダバッファ6は、命令フェッチ部1
が取り出した命令に関する情報、例えば、取り出したす
べての命令のアドレスを管理する。リオーダバッファ6
は、ALU41〜44から命令の実行が正常終了したこ
とが通知されるまで、ALU41〜命令に関する情報を
管理する。
【0026】なお、このスーパースカラプロセッサは、
さらに分岐予測/Out of Orderの機能を備えている。命
令フェッチ部1は、分岐命令を取り出した場合には、分
岐予測を行い、分岐命令以降の命令を投機的に主記憶装
置から取り出す。また、リオーダバッファ6は、これら
の投機的に実行している命令に関する情報も、格納、管
理する。
【0027】以下、この実施の形態にかかるスーパース
カラプロセッサの動作について、説明する。以下の説明
においては、このスーパースカラプロセッサの動作につ
いて、(1)通常時、(2)ALU41〜44に障害が
発生した時、(3)命令デコード部2に障害が発生した
場合、の3つに分けてそれぞれ説明する。
【0028】(1)まず、図1を参照して、通常時にお
けるこのスーパースカラプロセッサの動作を説明する。
【0029】まず、命令フェッチ部1は、命令アドレス
レジスタで示されるアドレスからの4つの命令を主記憶
装置から取り出し、アラインする。命令フェッチ部1
は、さらにアラインした4つの命令をそれぞれ命令デコ
ード部2に送ると共に、取り出した4つの命令に関する
情報、すなわち各命令のアドレスをリオーダバッファ6
に送って管理させる。
【0030】次に、命令デコード部2は、命令フェッチ
部1から受信した4つの命令をそれぞれデコードし、そ
のデコード結果を命令発行制御部3に送る。命令発行制
御部3は、命令デコード部2のデコード結果を受け取る
と、各命令の依存関係や資源の競合関係を調停しなが
ら、各命令を4つのALU41〜44で並列に実行させ
る。
【0031】ALU41〜44は、それぞれレジスタ群
5aに含まれるレジスタまたはデータメモリ5bからデ
ータを取りだし、取り出したデータに対して命令の内容
に応じた演算を行い、その演算結果をデータメモリ5
b、或いは命令の種類によってはレジスタ群5aに含ま
れるレジスタに書き込む。ALU41〜44は、演算結
果のデータをレジスタ群5aに含まれるレジスタまたは
データメモリ5bに書き込むと、演算の正常終了を命令
発行制御部3に通知する。
【0032】次に、命令発行制御部3は、ALU41〜
44のすべてから演算の正常終了が通知されると、リオ
ーダバッファ6に完了通知を送信する。リオーダバッフ
ァ6は、この完了通知の受信により、対応する命令に関
する情報を削除し、その管理対象から外す。
【0033】一方、命令フェッチ部1が取り出した命令
に、例えば分岐命令が含まれる場合には、分岐命令以降
の命令を予測し、予測した分岐先のアドレスを命令アド
レスレジスタにセットする。その後、命令フェッチ部1
は、命令アドレスレジスタが示すアドレスに従って、投
機的に分岐命令以降の命令を主記憶装置から取り出し、
順次命令デコード部2に送信する。
【0034】以後、分岐命令以降の予測した命令に対し
ても同様の動作が行われるが、分岐命令以前の命令をA
LU41〜44が実行した結果により、分岐予測に失敗
したことを命令発行制御部3が検出すると、命令発行制
御部3は、命令フェッチ部1、命令デコード部2及びA
LU41〜44に対して実行中の命令のキャンセルを通
知すると共に、リオーダバッファ6に対して実行中の命
令に関する情報の無効化を通知する。
【0035】リオーダバッファ6は、この無効通知の受
信により、実行中の命令、すなわち現在管理対象となっ
ている命令に関する情報をすべて削除し、その管理対象
から外す。つまり、リオーダバッファ6は、投機的に実
行されている命令に対してもそれに関する情報を管理す
るものである。
【0036】(2)次に、図2を参照して、4つのAL
U41〜44のうちのALU44に障害が発生した場合
を例として、このスーパースカラプロセッサの動作を説
明する。ここでは、命令フェッチ部1が主記憶装置から
取り出した4つの命令(命令1/2/3/4という)の
うち、命令1/2が固定小数点演算命令、命令3/4が
浮動小数点演算命令であったものとする。
【0037】この場合において、ALU41〜44によ
る演算の実行までの動作は、上記の(1)の場合と同様
である。しかし、この場合において、ALU44にハー
ドウェア障害が発生している。この場合、命令4に対す
る演算が正常終了せず、ALU44は、命令発行制御部
3に対して異常終了通知を送信する。
【0038】命令発行制御部3は、ALU44からの異
常終了通知を受け取ると、ALU44を故障パスとして
認識し、ALU44に対応する故障履歴フラグ34を、
図2に示すように、“1”にセットする。命令発行制御
部3は、故障履歴フラグ34のセットにより、ALU4
4に対する以降の命令の発行を抑止する。
【0039】また、命令発行制御部3は、障害が発生す
る以前の命令が完了した時点の状態から再び処理を行う
ため、リオーダバッファ3を参照して、障害の発生した
命令4を含む命令1/2/3/4のすべてを命令フェッ
チ部1に主記憶装置から取り出させる。取り出された命
令は、命令デコード部2で同様にしてデコードされ、そ
のデコード結果が命令発行制御部3に送られる。
【0040】次に、命令発行制御部3は、デコード結果
に従って各命令に応じた演算を行わせるが、この演算
は、故障パスとなっているALU44を除くALU41
〜43で行われる。ここで、障害発生した命令4は、浮
動小数点演算命令であるので、浮動小数点演算器である
ALU43によって命令3と共に順次実行される。
【0041】さらに、命令発行制御部3は、障害発生し
た命令以降の命令で、その情報がリオーダバッファ6で
管理されている命令についても、順次命令フェッチ部1
により主記憶装置から取り出させていく。そして、リオ
ーダバッファ6でその情報が管理されている命令の取り
出しが終了すると(但し、分岐命令等がこの間にないも
のとする)、命令アドレスレジスタで示される主記憶装
置のアドレスから命令の取り出しを行っていく。なお、
これらの命令についても、ALU44を使用せずに、A
LU41〜43で行われる。
【0042】(3)最後に、図3を参照して、命令デコ
ード部2に障害が発生した場合におけるこのスーパース
カラプロセッサの動作を説明する。ここでは、命令デコ
ード部2の4つの命令をそれぞれデコードする部位のう
ち、命令4をデコードする部位に障害が発生したものと
する。
【0043】このとき、命令4をデコードする部位の故
障が命令発行制御部3に通知されると、命令発行制御部
3は、命令4をデコードする部位に対応する故障履歴フ
ラグ38を“1”にセットすると共に、命令4をデコー
ドする部位を故障パスであるとして認識する。また、故
障発生時の命令4を含む4つの命令の実行を無効化させ
る。
【0044】さらに、命令発行制御部3は、故障部位を
含む命令パイプラインを切り離し、リオーダバッファ6
で情報が管理されている障害発生時の命令と同時以降に
取り出されるべき命令に関する情報を参照し、命令フェ
ッチ部1の命令1/2/3をフェッチする部位のみを利
用して、主記憶装置から命令を取り出していく。この場
合、命令フェッチ毎に命令アドレスレジスタをアップさ
せる値を、例えば、4から3に変更させるものとすれば
よい。
【0045】以上説明したように、この実施の形態にか
かるスーパースカラプロセッサでは、リオーダバッファ
6に実行中の命令に関する情報を管理させておき、障害
が発生した場合に命令発行制御手段3がリオーダバッフ
ァ6に管理されている命令に関する情報を利用して、障
害発生以降の命令を再実行することができる。ここで、
リオーダバッファ6はメモリ装置によって、命令実行制
御手段3は、論理回路によって構成することができる。
【0046】すなわち、この実施の形態にかかるスーパ
ースカラプロセッサでは、命令パイプラインのいずれか
においてハードウェア障害が発生した場合でも、ソフト
ウェアを介在させることなしに障害からの復旧が可能と
なるので、障害からの復旧のためのシステム性能の低下
を抑えることができる。
【0047】本発明は、上記の実施の形態に限られず、
種々の変形、応用が可能である。以下、本発明に適用可
能な上記の実施の形態の変形態様について、説明する。
【0048】上記の実施の形態では、ALU41〜4
4、または命令デコード部2に障害が発生した場合を例
として説明したが、命令フェッチ部1に障害が発生した
場合にも適用することが可能である。例えば、命令フェ
ッチ部1の4つの命令を取り出す部位のうちの1つに障
害が発生した場合には、命令発行制御部3は、リオーダ
バッファ6を参照して、障害発生により取り出すことが
できなかった命令を命令フェッチ部1の他の部位を利用
して取り出させればよい。さらに、障害発生部位を切り
離し、後続の命令を障害発生部位以外から取り出すよう
にすればよい。
【0049】上記の実施の形態では、ALU44におい
て1回障害が発生したことが通知されると、命令発行制
御部3は、障害履歴フラグ34をセットしていた。しか
しながら、例えば、1回目の障害発生のための通知では
間欠障害であると見なして、続けて障害の発生が通知さ
れた場合に、障害履歴フラグ34をセットしてもよい。
また、障害履歴フラグがセットされるまでの回数は、任
意に設定してもよい。さらには、例えば、一定の期間内
に一定回数以上障害の発生が通知された場合に、障害履
歴フラグをセットするものとしてもよい。
【0050】上記の実施の形態では、命令フェッチ部1
は、主記憶装置から命令コードを取り出すものとしてい
たが、主記憶装置上の命令列の一部がコピーされる命令
キャッシュメモリから命令コードを取り出すものとして
もよい。或いは、命令フェッチ部1内にローカルなキャ
ッシュメモリを設け、命令フェッチ部1は、主記憶装置
から命令コードを取り出した場合にこれをローカルなキ
ャッシュメモリに記憶させると共に、障害発生時の命令
の再実行のためには、命令コードをローカルなキャッシ
ュメモリから取り出すものとしてもよい。
【0051】上記の実施の形態では、リオーダバッファ
6は、命令フェッチ部1がフェッチした命令のアドレス
をすべて管理するものとしていた。しかしながら、リオ
ーダバッファ6は、同時にフェッチされる命令の一部の
アドレス、例えば、4つの命令のうちの先頭の命令のア
ドレスのみを管理するものとしてもよい。この場合、A
LU41〜44から障害の発生が通知されたときに、命
令発行制御部3は、当該障害の発生した命令と同時にフ
ェッチされた先頭の命令から実行を再開させるように制
御することができる。
【0052】また、リオーダバッファ6は、命令のアド
レスではなく、命令コード自体を管理するものとしても
よい。この場合、命令発行制御部3にALU41〜44
から障害の発生が通知されたときに、障害が発生した命
令以降の管理している命令コードを命令デコード部2に
供給するように制御することができる。
【0053】上記の実施の形態では、命令パイプライン
の数が4本であるスーパースカラプロセッサを例として
本発明を説明した。しかしながら、命令パイプラインの
数は任意である。また、ALU41〜44(命令パイプ
ラインの数が異なれば、ALUの数も異なる)の機能の
組み合わせも任意である。
【0054】
【発明の効果】以上説明したように、本発明によれば、
障害が発生した場合でも、そこから復旧するためのシス
テム性能の低下を抑えることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるスーパースカラプ
ロセッサの構成を示すブロック図である。
【図2】ALUに障害が発生した場合におけるスーパー
スカラプロセッサの動作を説明する図である。
【図3】命令デコード部に障害が発生した場合における
スーパースカラプロセッサの動作を説明する図である。
【符号の説明】
1 命令フェッチ部 2 命令デコード部 3 命令発行制御部 4 演算パイプライン 5a レジスタ群 5b データメモリ 6 リオーダバッファ 31〜38 障害履歴フラグ 41〜44 ALU

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】指定されたアドレスに応じて記憶装置から
    複数の命令を取り出す命令フェッチ手段と、 前記命令フェッチ手段が取り出した複数の命令をそれぞ
    れ同時にデコードする命令デコード手段と、 前記命令デコード手段がデコードした複数の命令の実行
    を調停する命令実行制御手段と、 前記命令実行制御手段による調停に従って、前記命令デ
    コード手段がデコードした複数の命令を並行して実行す
    る命令実行手段と、 前記命令フェッチ手段が取り出した複数の命令に関する
    情報を管理する命令管理手段と、 前記命令実行手段による命令の実行に障害が発生したと
    きに、前記命令管理手段によって管理されている命令に
    関する情報を参照して、当該障害の発生した部位以外を
    用いて障害の発生した命令を再実行させる命令再実行制
    御手段とを備えることを特徴とするスーパースカラプロ
    セッサ。
  2. 【請求項2】前記命令再実行制御手段は、前記命令実行
    手段による命令の実行に障害が発生したときに、当該障
    害の発生した命令が再実行されるまで以降の命令の実行
    を待機することを特徴とする請求項1に記載のスーパー
    スカラプロセッサ。
  3. 【請求項3】前記命令管理手段は、前記命令実行手段が
    命令の実行を終了するまで、前記命令フェッチ手段が取
    り出した命令に関する情報を管理することを特徴とする
    請求項1または2に記載のスーパースカラプロセッサ。
  4. 【請求項4】前記命令実行手段による命令の実行に障害
    が発生したときに、当該障害部位に関する情報を登録す
    る障害部位登録手段をさらに備え、 前記命令実行制御手段は、前記障害部位登録手段に障害
    部位に関する情報が登録されているときに、該登録され
    ている障害部位以外を用いて前記複数の命令が実行され
    るように、命令の実行を調停することを特徴とする請求
    項1乃至3のいずれか1項に記載のスーパースカラプロ
    セッサ。
  5. 【請求項5】前記障害部位登録手段は、同一の部位で連
    続して所定の回数以上障害が発生した場合に、当該障害
    部位に関する情報を登録することを特徴とする請求項4
    に記載のスーパースカラプロセッサ。
  6. 【請求項6】前記命令管理手段は、前記命令フェッチ手
    段によって取り出される命令のアドレスのみを管理し、 前記命令再実行制御手段は、前記命令実行手段による命
    令の実行に障害が発生したときに、障害の発生した命令
    について前記命令管理手段で管理されているアドレスを
    用いて前記命令フェッチ手段に前記記憶装置から当該障
    害の発生した命令を取り出させることを特徴とする請求
    項1乃至5のいずれか1項に記載のスーパースカラプロ
    セッサ。
  7. 【請求項7】前記命令管理手段は、前記命令フェッチ手
    段によって同時に取り出される全命令のアドレスを管理
    し、 前記命令再実行制御手段は、前記命令実行手段による命
    令の実行に障害が発生したときに、障害の発生した命令
    に対応して前記命令管理手段で管理されているアドレス
    を用いて前記命令フェッチ手段に前記記憶装置から当該
    障害の発生した命令を含む複数の命令を取り出させるこ
    とを特徴とする請求項1乃至5のいずれか1項に記載の
    スーパースカラプロセッサ。
  8. 【請求項8】前記命令管理手段は、前記命令フェッチ手
    段によって取り出された命令の命令コードを管理し、 前記命令再実行制御手段は、前記命令実行手段による命
    令の実行に障害が発生したときに、障害の発生した命令
    について前記命令管理手段で管理されている命令コード
    を前記命令デコード手段に渡してデコードさせることを
    特徴とする請求項1乃至5のいずれか1項に記載のスー
    パースカラプロセッサ。
  9. 【請求項9】複数の命令パイプラインを有するスーパー
    スカラプロセッサであって、 前記複数の命令パイプラインのそれぞれに取り込まれた
    命令に関する情報を管理する命令管理手段と、 前記複数の命令パイプラインのいずれかで障害が発生し
    たときに、前記命令管理手段によって管理されている命
    令に関する情報を参照して、該障害が発生した命令パイ
    プライン以外の命令パイプラインを使用して障害の発生
    した命令を実行させる命令再実行制御手段とを備えるこ
    とを特徴とするスーパースカラプロセッサ。
JP14612499A 1999-05-26 1999-05-26 スーパースカラプロセッサ Expired - Fee Related JP3180803B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14612499A JP3180803B2 (ja) 1999-05-26 1999-05-26 スーパースカラプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14612499A JP3180803B2 (ja) 1999-05-26 1999-05-26 スーパースカラプロセッサ

Publications (2)

Publication Number Publication Date
JP2000339185A true JP2000339185A (ja) 2000-12-08
JP3180803B2 JP3180803B2 (ja) 2001-06-25

Family

ID=15400701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14612499A Expired - Fee Related JP3180803B2 (ja) 1999-05-26 1999-05-26 スーパースカラプロセッサ

Country Status (1)

Country Link
JP (1) JP3180803B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134181A (ja) * 2009-12-25 2011-07-07 Fujitsu Ltd 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134181A (ja) * 2009-12-25 2011-07-07 Fujitsu Ltd 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法
EP2348400A1 (en) 2009-12-25 2011-07-27 Fujitsu Limited Arithmetic processor, information processor, and pipeline control method of arithmetic processor
US8683181B2 (en) 2009-12-25 2014-03-25 Fujitsu Limited Processor and method for distributing load among plural pipeline units

Also Published As

Publication number Publication date
JP3180803B2 (ja) 2001-06-25

Similar Documents

Publication Publication Date Title
US8301849B2 (en) Transactional memory in out-of-order processors with XABORT having immediate argument
US8082430B2 (en) Representing a plurality of instructions with a fewer number of micro-operations
US8250349B2 (en) Branch prediction control device having return address stack and method of branch prediction
TWI740844B (zh) 用於資料處理的方法、設備、及電腦程式
JP5118652B2 (ja) アウトオブオーダープロセッサにおけるトランザクショナルメモリ
US7865770B2 (en) Processor including efficient signature generation for logic error protection
KR101148495B1 (ko) 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치
US20090183035A1 (en) Processor including hybrid redundancy for logic error protection
US6301655B1 (en) Exception processing in asynchronous processor
US9323529B2 (en) Reducing register read ports for register pairs
US7584346B1 (en) Method and apparatus for supporting different modes of multi-threaded speculative execution
KR100472346B1 (ko) 명령어 리플레이를 포함하는 프로세서 파이프라인
US6457119B1 (en) Processor instruction pipeline with error detection scheme
JPH07152559A (ja) パイプ制御及びレジスタ変換機能を増強したスーパースカラーパイプライン式のプロセッサ
JPH05303492A (ja) データ処理装置
US7620804B2 (en) Central processing unit architecture with multiple pipelines which decodes but does not execute both branch paths
CN109416632B (zh) 用于处理数据的装置和方法
US20180336037A1 (en) Multi-level history buffer for transaction memory in a microprocessor
US6934828B2 (en) Decoupling floating point linear address
US11055096B2 (en) Checkpointing of architectural state for in order processing circuitry
US7634641B2 (en) Method and apparatus for using multiple threads to spectulatively execute instructions
JP3683439B2 (ja) 分岐予測を抑止する情報処理装置および方法
JP3800533B2 (ja) プログラムカウンタ制御方法及びプロセッサ
JP3839755B2 (ja) 命令制御方法及びプロセッサ
US9323532B2 (en) Predicting register pairs

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: 20010321

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080420

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090420

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100420

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees