JPH0621993B2 - 命令再実行制御方式 - Google Patents

命令再実行制御方式

Info

Publication number
JPH0621993B2
JPH0621993B2 JP60005668A JP566885A JPH0621993B2 JP H0621993 B2 JPH0621993 B2 JP H0621993B2 JP 60005668 A JP60005668 A JP 60005668A JP 566885 A JP566885 A JP 566885A JP H0621993 B2 JPH0621993 B2 JP H0621993B2
Authority
JP
Japan
Prior art keywords
instruction
data
stack
failure
execution
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 - Lifetime
Application number
JP60005668A
Other languages
English (en)
Other versions
JPS61166636A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60005668A priority Critical patent/JPH0621993B2/ja
Publication of JPS61166636A publication Critical patent/JPS61166636A/ja
Publication of JPH0621993B2 publication Critical patent/JPH0621993B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はパイプライン方式を用いた情報処理装置におけ
る命令再実行制御方式に関する。
〔発明の背景〕
パイプライン方式の情報処理装置では、ある命令実行中
に障害が発生しても、すぐにその命令の処理を凍結する
ことはできず、後続の命令が実行されてしまう事があ
る。そこで命令が実行される時に、その命令により書き
換わる前の汎用レジスタ(GPR)、浮動小数点レジス
タ(FPR)やプログラム状態語(PSW)を退避して
おき、障害発生時に、この退避しておいたデータを元の
レジスタに回復してから命令を再実行する方式がとられ
ている。この時のオーバーランした命令のサイクル数
は、障害が発生し、命令・演算制御部へ報告されてくる
時間により決まる。
従来、実際に発生した障害部位によらず、一番報告の遅
いものに合わせて、常に一定サイクル数だけデータの回
復を行い、データが回復された命令を再実行している
(例えば特開昭54−107645号公報)。従って障
害によっては、障害発生命令より前の命令を再実行する
ことがあり、これが再実行不可能な命令だった場合、再
実行失敗となり、再実行の成功率を下げ、装置の信頼性
を下げる要因の一つになっている。
〔発明の目的〕
本発明の目的は、障害発生部位に応じてデータの回復を
行う命令再実行制御方式を提供することにある。
〔発明の概要〕
本発明は、障害発生命令を必ず再実行するための制御を
回復するサイクル数を一定値として、障害発生部位に応
じて退避データスタックのポインタを操作して回復を行
う。
〔発明の実施例〕
第2図は情報処理装置のストレージ制御部1および命令
実行部2の概略構成図を示す。命令の第2オペランドが
主記憶を参照する命令では、オペランドはバッファトレ
ージ(BS)11から読出され、フェッチデータレジス
タ(FDR)12にセットされる。次に命令実行時に命
令実行部のワークレジスタA(WAR)22にセットさ
れ、演算器24による演算結果がワークレジスタC(W
CR)25にセットされ、汎用レジスタ(GPR)21
に書き込まれる。パイプライン方式の情報処理装置で
は、上記のBS読出し、WARセット、演算、GPR書
込み等が1サイクルピッチに実行できるために、各動作
がオーバーラップしている。
本発明の理解を容易にするため、まず第3図にパイプラ
インのタイムチャートを示す。第3図はまた障害発生時
のタイムチャートも含んでいる。FDR,WAR,WC
Rはそれぞれ第2図のFDR12,WAR22,WCR
25を示し、FDRCK,WARCK,WCRCKは対
応するレジスタのチエックラッチで、障害を検出するこ
とによりセットされる。EXB信号は演算許可信号で、
オペランドがWAR等にセットアップされ、実行準備が
整った時に発行される。従ってこのEXB信号を抑止す
ると、演算は実行されないため、障害発生時はEXB信
号を抑止することになり、命令実行を一担停止し、命令
を再実行するための処理を行う。第3図の各命令1〜4
のうち、命令1は2サイクル命令で1−1および1−2
から成る。命令2〜4は1サイクル命令で2−1,3−
1,4−1から成る。各命令は命令の最初で障害が発生
した時のために回復すべきデータ(GPR書込み前のデ
ータ)および回復先を示すリトライ(RTY)コード
(R−A,R−B等)を指定し、退避スタック(MCD
R0−3)に格納する。その時のインポインタはMCD
IPで示される。第3図ではスタック数を4本としてい
る。TRC0−3は障害が発生した時に実行していた命
令をトレースするスタックで、各サイクルのMCDIP
D(MCDIPのディレイラッイ)をトレースしてお
り、障害発生時には、スタックはホールドされる。
第4図にこの機構を実現する具体例を示す。各命令の実
行開始サイクルにおいてリトライコードを指定すること
により、その命令により変更されるGPRやEPRの変
更前データおよびそのレジスタ番号、リトライコードが
レジスタSIR101から退避スタックインポインタM
CDIP102で示された退避スタックMCDR(i)
(iはMCDIP102で示されるスタックの番号)1
03にセットされる。次にインポインタMCDIPの値
が+1されると同時に、以前の値がインポインタディレ
イラッチMCDIPD104にセットされる。このMC
DIPD(現在使用されているMCDR番号)がスタッ
クTRC(0−3)106のインポインタTRIP10
5で示されるスタックTRC(i)にセットされること
により、第4図は4サイクル間実行命令をトレースして
いる。このトレースは情報処理装置で障害が発生するま
で行われ、障害発生時にはホールドされる。この制御信
号がMCPFRZ信号で、障害が発生したことにより、
凍結信号であるMCPFRZ信号が1となり、TRC
(i)、TRIPがホールドされる。
第3図に示すごとく、退避スタックインポインタMCD
IP102は各命令の実行準備が整う毎に+1にされる
が、その時にMCDIP102が示すMCDR(i)に
退避データが退避される。第3図ではR−A,R−B等
で示している。TRIP105は凍結信号MCPFRZ
がなければ各サイクル毎に+1されており、MCDIP
104が持つ値を、TRIP105が示すスタックTR
C(i)106にセットする。
FDR、WAR、あるいはWCRのいずれかで障害が発
生すると、対応するFDRCK,WARCKあるいはW
CRCKがセットされ、凍結信号MCPFRZがセット
され、破線で示す命令5を実行するEXBが止められ
る。ホールドされたTRIP、TRC(i)によりデー
タの回復を行う。MCPS107は障害発生時より遡る
サイクル数を示し、障害発生時にホールドされたTRI
Pから減算することにより、障害発生時点から4サイク
ル以内に実行されていた命令のトレーススタックのアウ
トポインタTROP108が求まり、このTROPによ
り示されるTRC(i)の内容により、その時点で実行
されていた命令の退避データ先を示すMCDOP109
が求まる。このMCDOPにより、GPR,FPR回復
データ、回復レジスタ番号、回復先を読出し、SOR1
10にセットする。このSORを使用して、データの回
復を行い、障害発生以前の状態に処理装置をもどし、再
実行し直す。
従来の障害回復処理方式では、第3図で示される様に、
命令4によるFDRCK,命令3によるWARCK、命
令2によるWCRCKが同一タイミングで報告され、そ
のFRZ信号によりEXB信号の抑止、TRIPおよび
TRCのホールドを行っている。この方式では、FRZ
信号の要因が分からないため、一番遅く報告される障害
報告信号に合わせて、回復を行わなければならないた
め、第5図に示される様に回復処理ルーチンでは4サイ
クルを遡ると命令1までデータを回復し、再実行しなけ
ればならない。そのため回復処理中に回復不能な命令が
あると、実際に回復しなくとも良い命令まで回復するた
め命令再実行の成功率を下げる結果になる。即ち、MC
PSは回復サイクル数4に等しく、毎サイクル0から3
まで更新される。TRIPは1でホールドされており、
MCPSが0のとき、TROPは1となり、TRC(1)
の内容3がMCDOPに読出され、その値3に対応する
MCDR(3)の内容(命令4の退避データ)がSOR
に読出される。以下順次MCPSが更新される毎に命令
3,2,1の退避データが回復される。
本発明の実施例では、上記の問題点を解決するために、
命令実行を抑止するEXBFRZ信号とトレーススタッ
クをホールドするMCPERZ信号を分けたことを特徴
とする。つまりEXBFRZ信号は障害が発生するとす
ぐに命令実行を抑止し、MCPFRZ信号は障害発生部
位によりディレイラッチを設け、TRCおよびTRIP
のホールドを遅らせることにより回復処理を行った時に
常に障害発生命令の先頭まで回復するだけで、余分な回
復を行わない様にしている。
本発明の一実施例のタイムチャートを第6図に示す。第
6図ではFDRCKに関して記述されているが、他の場
合も同様の制御で実現できる。第4図で示される様に凍
結信号FRZによるEXB信号抑止とTRIPおよびT
RCのホールドを区別し、それぞれ凍結信号FRZを生
成し、TRIPおよびTRCの凍結信号MCPFRZは
障害部位によりディレイを持たせ、障害発生命令の先頭
から命令の再実行ができる様に、TRIP,TRCホー
ルドを遅らせる。このFRZ信号生成論理を第1図に示
す。第1図において、ラッチ中のT2,T3と示すのは
各命令ステージ中のタイミングを示し、例えば、FDR
CKはFRZDラッチ群の最初にT2でセットされ、以
後各ステージのタイミングT2毎に次のラッチにセット
され、3サイクル後のタイミングT3で凍結信号MCP
FRZを出力する。
FDRCKの場合には命令の実行が抑止されてから3サ
イクル後にTRIPがホールドされ、WARCKでは2
サイクル後、WCRCKでは1サイクル後にホールドさ
れる。従ってTRIPのホールド時点から遡ると常に4
サイクル遡れば、その障害発生トリガとなるEXB信号
が障害回復処理の最終回復サイクルになるため、余分な
障害データを回復せずに、命令の再実行を行える。第6
図によると、FDRの障害の場合、TRC(0)〜
(3)の全ては値3をホールドしている。
第7図は本発明の実施例による命令回復処理ルーチンの
タイムチャートを示している。本処理は第4図で示され
た構成で、第5図と同じ方式で行った回復処理である
が、TRIPのホールドが遅れていることにより、4つ
のTRCが全て3を示し、常に命令4に対応するMCD
R(3)のデータが回復されるだけで、余分な回復処理
は行われない。
〔発明の効果〕
本発明により、障害発生時の退避データの回復サイクル
数は一定のままで、ポインタを障害部位により制御する
ことにより、制御が簡単でかつ、再実行すべき命令を障
害発生命令とすることができ、装置の信頼性を高めるこ
とができる。
【図面の簡単な説明】
第1図は本発明の一実施例による凍結信号生成のための
回路を示す図、第2図はパイプライン方式の情報処理装
置を説明するためのブロック図、第3図は従来の障害発
生時の動作を説明するタイムチャート、第4図はデータ
の退避および回復を行う回路を示す図、第5図は従来の
データ回復を説明するためのタイムチャート、第6図は
本発明の一実施例による障害発生による動作を説明する
タイムチャート、第7図は本発明の一実施例によるデー
タ回復を説明するためのタイムチャートである。 101……退避データ入力レジスタ、102……退避デ
ータスタックインポインタ、103……退避データスタ
ック、104……MCDIPのディレイラッチ、105
……トレーサスタックインポインタ、106……トレー
サスタック、107……障害データ回復ポインタ、10
8……トレーサスタックアウトポインタ、109……退
避データスタックアウトポインタ、110……回復デー
タ出力レジスタ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】パイプラインでオーバラップ処理される各
    命令に対してその最初で障害が発生した時のための退避
    データを保持する複数の退避データスタックと、サイク
    ル毎に順番に指定され、退避データスタックの番号を保
    持する複数のトレーススタックと、パイプラインの各ス
    テージにおける障害を夫々検出する障害手段を有し、退
    避データスタックの退避データを元のレジスタに回復し
    て命令の再実行を行う命令再実行制御方式において、障
    害を検出すると命令の実行を抑止する手段と、パイプラ
    イン中の障害発生部位に応じてトレーススタックのホー
    ルドを行うべきサイクルを命令実行抑止するサイクルか
    ら遅らせる手段と、トレーススタックのホールド時点か
    ら一定サイクル数遡って回復処理を行う手段を有するこ
    とを特徴とする命令再実行制御方式。
JP60005668A 1985-01-18 1985-01-18 命令再実行制御方式 Expired - Lifetime JPH0621993B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60005668A JPH0621993B2 (ja) 1985-01-18 1985-01-18 命令再実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60005668A JPH0621993B2 (ja) 1985-01-18 1985-01-18 命令再実行制御方式

Publications (2)

Publication Number Publication Date
JPS61166636A JPS61166636A (ja) 1986-07-28
JPH0621993B2 true JPH0621993B2 (ja) 1994-03-23

Family

ID=11617479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60005668A Expired - Lifetime JPH0621993B2 (ja) 1985-01-18 1985-01-18 命令再実行制御方式

Country Status (1)

Country Link
JP (1) JPH0621993B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398330A (en) 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5729155A (en) * 1980-07-29 1982-02-17 Fujitsu Ltd Error processing system
JPS6052457B2 (ja) * 1980-07-29 1985-11-19 富士通株式会社 命令投入制御方式
JPS59220844A (ja) * 1983-05-27 1984-12-12 Fujitsu Ltd 命令再実行制御方式

Also Published As

Publication number Publication date
JPS61166636A (ja) 1986-07-28

Similar Documents

Publication Publication Date Title
US5193158A (en) Method and apparatus for exception handling in pipeline processors having mismatched instruction pipeline depths
US4740969A (en) Method and apparatus for recovering from hardware faults
US4703481A (en) Method and apparatus for fault recovery within a computing system
US3539996A (en) Data processing machine function indicator
JPS6353571B2 (ja)
JPH07219774A (ja) データ処理装置および例外処理方法
US5875346A (en) System for restoring register data in a pipelined data processing system using latch feedback assemblies
JPS6218057B2 (ja)
US5793944A (en) System for restoring register data in a pipelined data processing system using register file save/restore mechanism
JPH06161745A (ja) データ処理装置の検証方法及び装置
US4559596A (en) History memory control system
JPH0621993B2 (ja) 命令再実行制御方式
Bashkow et al. A programming system for detection and diagnosis of machine malfunctions
US8560924B2 (en) Register file soft error recovery
EP0212132A1 (en) Method and digital computer for recovering from errors
EP0113982B1 (en) A data processing system
JPH0644238B2 (ja) 命令再実行制御方法
JPH1115661A (ja) Cpuの自己診断方法
JPS5856141B2 (ja) 情報処理装置の障害処理方式
JPH11327940A (ja) 命令再実行制御方式
USRE27485E (en) Ls ec sdr
JPH04181331A (ja) 命令リトライ方式
JP2793396B2 (ja) 電子計算機の演算ステータス保持装置
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JPS58114251A (ja) デ−タ処理装置