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

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

Info

Publication number
JP3180803B2
JP3180803B2 JP14612499A JP14612499A JP3180803B2 JP 3180803 B2 JP3180803 B2 JP 3180803B2 JP 14612499 A JP14612499 A JP 14612499A JP 14612499 A JP14612499 A JP 14612499A JP 3180803 B2 JP3180803 B2 JP 3180803B2
Authority
JP
Japan
Prior art keywords
instruction
execution
instructions
failure
fetch
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.)
Expired - Fee Related
Application number
JP14612499A
Other languages
English (en)
Other versions
JP2000339185A (ja
Inventor
浩一 高山
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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、スーパースカラプ
ロセッサに関し、特にスーパースカラプロセッサにおい
て障害が発生した時の技術に関するものである。
【0002】
【従来の技術】スーパースカラプロセッサは、近年パイ
プラインの本数が増加してきており、また、分岐予測や
Out of Order命令発行などの様々な機能を備えることに
よって、ハードウェアの集積量が増加してきている。こ
のようなスーパースカラプロセッサでは、一般に、ハー
ドウェア要因による障害(製造時のばらつきや劣化な
ど)が発生した場合には、その障害をハードウェアで検
出できるようになっている。障害が検出されたプロセッ
サに関しては、障害発生前と同じ状態で継続して運用す
ることがほぼ不可能であり、障害からの復旧を図らなけ
ればならない。
【0003】ところで、スーパースカラプロセッサなど
を適用した大型のシステムでは、障害発生時のシステム
ダウン時間を縮小することばかりでなく、高信頼性を維
持しなければならない。そこで、このような大型のシス
テムでは、例えば、特許第2752764号公報にある
ように、障害が発生した場合に障害回復処理用のプログ
ラムを起動し、このプログラムによる処理で障害発生部
位を切り離し、また、障害の発生した命令以降の命令を
再実行させている。
【0004】
【発明が解決しようとする課題】しかしながら、上記公
報に記載のシステムでは、障害が発生した場合に、障害
回復処理用のプログラムを実行している間、本来実行す
べきプログラムの実行を中断しなければならない。この
ように、障害復旧のためにソフトウェアの介在を必要と
するので、本来実行すべきプログラムにプロセッサを当
てられる時間が相対的に小さくなり、システム性能が大
きく低下するという問題があった。
【0005】本発明は、上記従来技術の問題点を解消す
るためになされたものであり、システム性能の低下を抑
えつつ、障害からの回復を図ることができるスーパース
カラプロセッサを提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかるスーパースカラプロセ
ッサは、指定されたアドレスに応じて記憶装置から複数
の命令を取り出す命令フェッチ手段と、前記命令フェッ
チ手段が取り出した複数の命令をそれぞれ同時にデコー
ドする命令デコード手段と、前記命令デコード手段がデ
コードした複数の命令の実行を調停する命令実行制御手
段と、前記命令実行制御手段による調停に従って、前記
命令デコード手段がデコードした複数の命令を並行して
実行する命令実行手段と、前記命令フェッチ手段が取り
出した複数の命令に関する情報を管理する命令管理手段
と、前記命令実行手段による命令の実行に障害が発生し
たときに、前記命令管理手段によって管理されている命
令に関する情報を参照して、当該障害の発生した部位以
外を用いて障害の発生した命令を再実行させる命令再実
行制御手段と、前記命令実行手段による命令の実行にお
いて、同一の部位で連続して所定の回数以上障害が発生
した場合に、当該障害部位に関する情報を登録する障害
部位登録手段とを備え、前記命令実行制御手段は、前記
障害部位登録手段に障害部位に関する情報が登録されて
いるときに、該登録されている障害部位以外を用いて前
記複数の命令が実行されるように、命令の実行を調停す
ことを特徴とする。
【0007】上記目的を達成するため、本発明の第2の
観点にかかるスーパースカラプロセッサは、指定された
アドレスに応じて記憶装置から複数の命令を取り出す命
令フェッチ手段と、前記命令フェッチ手段が取り出した
複数の命令をそれぞれ同時にデコードする命令デコード
手段と、前記命令デコード手段がデコードした複数の命
令の実行を調停する命令実行制御手段と、前記命令実行
制御手段による調停に従って、前記命令デコード手段が
デコードした複数の命令を並行して実行する命令実行手
段と、前記命令フェッチ手段が取り出した複数の命令に
関する情報を管理する命令管理手段と、前記命令実行手
段による命令の実行に障害が発生したときに、前記命令
管理手段によって管理されている命令に関する情報を参
照して、当該障害の発生した部位以外を用いて障害の発
生した命令を再実行させる命令再実行制御手段と、前記
命令実行手段による命令の実行において、同一の部位で
一定期間内に一定回数以上障害が発生した場合に、当該
障害部位に関する情報を登録する障害部位登録手段とを
備え、前記命令実行制御手段は、前記障害部位登録手段
に障害部位に関する情報が登録されているときに、該登
録されている障害部位以外を用いて前記複数の命令が実
行されるように、命令の実行を調停することを特徴とす
る。
【0008】上記第1、第2の観点にかかるスーパース
カラプロセッサでは、命令実行手段による命令の実行に
障害が発生したときに、命令再実行制御手段が当該障害
の発生した部位以外を用いて障害の発生した命令を再実
行させることで、障害回復を図ることができる。ここ
で、命令管理手段は、命令に関する情報を格納しておく
ハードウェアで構成することができ、また、命令再実行
手段も命令管理手段で管理されている命令に関する情報
に従って論理動作するハードウェアで構成することがで
きる。すなわち、上記のスーパースカラプロセッサは、
ソフトウェアを介在させることなしに、ハードウェア要
因の障害からの復旧が可能となるので、障害からの復旧
のためにシステム性能の低下を抑えることができる。
た、1回目の障害発生では間欠障害と見なすことができ
る。
【0009】上記第1、第2の観点にかかるスーパース
カラプロセッサにおいて、前記命令再実行制御手段は、
前記命令実行手段による命令の実行に障害が発生したと
きに、当該障害の発生した命令が再実行されるまで以降
の命令の実行を待機するものとしてもよい。
【0010】また、前記命令管理手段は、前記命令実行
手段が命令の実行を終了するまで、前記命令フェッチ手
段が取り出した命令に関する情報を管理するものとして
もよい。
【0011】
【0012】
【0013】上記第1、第2の観点にかかるスーパース
カラプロセッサにおいて、前記命令管理手段は、前記命
令フェッチ手段によって取り出された各命令のアドレス
を管理するものとしてもよい。この場合、前記命令再実
行制御手段は、前記命令実行手段による命令の実行に障
害が発生したときに、障害の発生した命令について前記
命令管理手段で管理されているアドレスを用いて前記命
令フェッチ手段に前記記憶装置から当該障害の発生した
命令を取り出させるものとすることができる。
【0014】上記第1、第2の観点にかかるスーパース
カラプロセッサにおいて、前記命令管理手段は、前記命
令フェッチ手段によって取り出される命令のアドレスの
みを管理するものとしてもよい。この場合、前記命令再
実行制御手段は、前記命令実行手段による命令の実行に
障害が発生したときに、障害の発生した命令に対応して
前記命令管理手段で管理されているアドレスを用いて前
記命令フェッチ手段に前記記憶装置から当該障害の発生
した命令を含む複数の命令を取り出させるものとするこ
とができる。
【0015】上記第1、第2の観点にかかるスーパース
カラプロセッサにおいて、前記命令管理手段は、前記命
令フェッチ手段によって取り出された命令の全命令コー
ドを管理するものとしてもよい。この場合、前記命令再
実行制御手段は、前記命令実行手段による命令の実行に
障害が発生したときに、障害の発生した命令について前
記命令管理手段で管理されている命令コードを前記命令
デコード手段に渡してデコードさせるものとすることが
できる。
【0016】
【0017】
【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
フロントページの続き (56)参考文献 特開 平5−216852(JP,A) 特開 平7−56760(JP,A) 特開 平10−333905(JP,A) 特開 平7−141176(JP,A) 情報処理学会研究報告 Vol.93, No.71 93−ARC−101−10 p. 73−80 (58)調査した分野(Int.Cl.7,DB名) G06F 11/14 G06F 9/38 G06F 15/16 - 15/177

Claims (7)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5493837B2 (ja) 2009-12-25 2014-05-14 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置のパイプライン制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会研究報告 Vol.93,No.71 93−ARC−101−10 p.73−80

Also Published As

Publication number Publication date
JP2000339185A (ja) 2000-12-08

Similar Documents

Publication Publication Date Title
US8082430B2 (en) Representing a plurality of instructions with a fewer number of micro-operations
US8327188B2 (en) Hardware transactional memory acceleration through multiple failure recovery
JP5118652B2 (ja) アウトオブオーダープロセッサにおけるトランザクショナルメモリ
US8301849B2 (en) Transactional memory in out-of-order processors with XABORT having immediate argument
JP5255614B2 (ja) マルチプロセッサ環境におけるトランザクションベースの共有データオペレーション
US7865770B2 (en) Processor including efficient signature generation for logic error protection
US20090183035A1 (en) Processor including hybrid redundancy for logic error protection
US20080148022A1 (en) Marking registers as available for register renaming
US10289415B2 (en) Method and apparatus for execution of threads on processing slices using a history buffer for recording architected register data
US7584346B1 (en) Method and apparatus for supporting different modes of multi-threaded speculative execution
US6301655B1 (en) Exception processing in asynchronous processor
US20140025927A1 (en) Reducing register read ports for register pairs
US6457119B1 (en) Processor instruction pipeline with error detection scheme
JPH0785222B2 (ja) データ処理装置
JPH05210526A (ja) 命令の並行処理を可能にするチェックポイント同期化
KR100472346B1 (ko) 명령어 리플레이를 포함하는 프로세서 파이프라인
TW201439904A (zh) 在提前執行中管理潛在無效結果
KR20030019451A (ko) 추측실행의 비순차적 프로세서에서 정확한 예외를전송하는 메카니즘
US11055096B2 (en) Checkpointing of architectural state for in order processing circuitry
US6934828B2 (en) Decoupling floating point linear address
JP3683439B2 (ja) 分岐予測を抑止する情報処理装置および方法
US9323532B2 (en) Predicting register pairs
JP3180803B2 (ja) スーパースカラプロセッサ
TWI818114B (zh) 用於異動式記憶體的設備與資料處理方法
US5673391A (en) Hardware retry trap for millicoded processor

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