JPS623347A - エラ−回復情報退避方式 - Google Patents

エラ−回復情報退避方式

Info

Publication number
JPS623347A
JPS623347A JP61142435A JP14243586A JPS623347A JP S623347 A JPS623347 A JP S623347A JP 61142435 A JP61142435 A JP 61142435A JP 14243586 A JP14243586 A JP 14243586A JP S623347 A JPS623347 A JP S623347A
Authority
JP
Japan
Prior art keywords
instruction
register
error
execution
operand
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
JP61142435A
Other languages
English (en)
Inventor
Kao Ratsuseru
ラツセル・カオ
Shii Miraa Terensu
テレンス・シー・ミラー
Jiei Baumu Aren
アレン・ジエイ・バウム
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.)
Hewlett Packard Japan Inc
Original Assignee
Yokogawa Hewlett Packard 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 Yokogawa Hewlett Packard Ltd filed Critical Yokogawa Hewlett Packard Ltd
Publication of JPS623347A publication Critical patent/JPS623347A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は計31機のエラー回復のため、エラー発生前の
情報を退避してどくエラー回復情報退避方式に関するっ 〔従来技術Sよびその問題点〕 計31!l:磯システムは、ある有益な方法でデータを
処理する一連の命令から構成されたプログラムを実行す
ることによって有益な作業を実行する。これらQ)葡令
ケデジタル・ハードウェアにおいて実行する際、各命令
ブイクルを計算機システムの・・−ドウエアが動作する
2つまたはそれ以上の4純なフェーズに分割している。
通常、最小限のフェーズは、フェッチ拳フェーズと実行
フェーズの2つである。それぞれのフェーズはさらに、
計算機ハードウェアが構築される様式に従って、2つま
たはそれ以上の状態に分割されても良い。
単純な計算機システムにおい−〔は、各7エーズの実行
を完rした後で、その命令の次のフェーズまたは次の命
令の第1の7エーズの実行に移る。
それぞれの命令の実行の間に、多くのエラーが発生−r
るかもしれない。このようなエラーが起ったら、計算機
システムが現在実行し゛〔いる命令を停止させ、そのエ
ラーに基づいた処置を取りそして停止させられている現
在の命令の実行を終了することが必要である。いくつか
の計算機システムではエラーによって中断された命令の
実行を続けることができない、しかし、実行中にエラー
が発生した命令を正常に完了さ−Cることか非常に望ま
しい+!f倣たということが大規模な計算機システムの
開発において早くに認識されていた。
計算機システムの性能を同上させるために、パイプライ
ン方式と呼ばれる、いくつかの命令?一度に実行すると
いう技術が開発された。パイブライン方式を用いれば、
計算機が次の命令をフェッチしている間に第1の命令を
実行することができる。パイプライン方式な更に拡張し
て、命令サイクルをより多くのフェーズに分割しまた命
令サイクルのそれぞれのフェーズ毎Vcgなった命令を
実行することもできる。
しかしながら、パイプライン方式では、エラーからの回
復に関する問題が複雑になる。ある命令の実行の最後の
方のフェーズにおいて発生するエラーが後の命令によっ
て使用される入力乞変化させる場合、1つの問題が発生
する。このような事態は、エラー回復を困難かまたは不
可能にしたり、正確なエラー報告ができるように−rる
゛ためにシステムの動作を遅くしたり、あるいはエラー
の分析をスピードアップするために大きな経費が更に必
要になる可能性をもたらす。゛まだこれとは反対の方間
性を持つ理由のために別の問題が発生した。
潜在的なエラーが、パイプラインにおいて早や過ぎる段
階で検知されることがあるが、このような場合、こやエ
ラーの検出にもかがJつらず次の命令の実行を始めるこ
とを許し、その後しかるべき段階でこのエラーを実際に
処理しなければならない。
計算機をキャッシュと呼ばれる極端に性能の高い少量の
メモリに直接に結合することによって計巳 算機システムの性能を向上さ族る場合、1つの共通な問
題が発生する。この技術により、次の命令がより遅い主
記憶装置から7エツチされるのを待つかわりに、計算機
システムのCPUをフルスピードで動作させることがで
きる。中央演算処理装置は、まだキャッシュに移されて
いない命令またはデータに時々アクセスしようとする。
ミスと呼ばれるこのエラーが起ったならば、計算機は、
アクセスの要求を出した現在の命令の実行を直ちに停止
し、データをキャッシュに移動し次に命令の実行を再開
しなければならない。
先行技術においては、いくつかの機構がエラー回復の問
題を解決しようとして使用されてきた。
第1に、いくつかの計)iLtli!システムは、エラ
ー回復問題を無視し、従ってエラーから回復できなかっ
た。第2に、他の計算機システムは、エラーを起した命
令を取り消すことによってエラーを解決したつ命令の取
り消しを行なうには、計算機システムの状態をエラーを
起した命令の実行の前に存在した状態に完全に復元させ
ることが必要である。
これを達成するには、通常は、エラーを起すかもしれな
い命令によって書換えられる可能性がある全てのレジス
タ・メモリおよび状態情報の写しを作って保存しておき
、後でもし必要になったら復原することができるように
する。そのためには、命令の実行中に書き込まれる可能
性のある全てのレジスタおよびメモリの内容の読み取り
が行なわれなければならない。これを行なうため、レジ
スターファイルに別の読出しボートを設けたり、または
別の時間をこの動作のために割当てることによって実現
できる。第3に、ある他の計算機システムでは、エラー
発生の可能性がなくなるまでレジスタの書換えを遅らせ
ることによって、エラー回復問題を解決した。この技術
は、しばしばインターロックと呼ばれ、3つのやり方が
ある。第1の選択肢は、総ての命令でインターロックを
行なるかもしれないときだけインターロックすることで
ある。第3の選択肢は、書込みキューを設け、次のレジ
スターアクセスがまだキューに入っているデータな必要
とする場合にインターロックを行なうというものである
。従来技術におけるエラー回復問題の第4の解決法は、
書込みキューを設け。
後続のレジスターアクセスがキュー中のデータを要求し
た場合はそのデータをゲート・インするというものであ
る。この方法ではインターロックを回避することはでき
るが、レジスタ・アクセス時間が増大する。このレジス
タ・アクセス時間はしばしば計算機システム性能におけ
る支配的因子となあ。
〔発明の目的〕
本発明は、エラー回復のための動作に必要なハードウェ
アの量を最小限にし、システムのスループットを最大限
にすることを目的とする。
〔発明の概要〕
本発明の好適な実施例によれば、命令の実行中発生する
エラーからの回復のためのエラー回復情報退避方式が与
えられる。これによれば、エラーの訂正後に命令実行を
再開することが可能となム本発明の好適な実施例では、
命令のソース・オペランドを退避する。しかしながら1
本発明の好適な実施例は、結果りオペランドの内容を退
避しないという点で先行技術と異なっているっ命令によ
って指示された動作な実行するためにはソースーオベラ
/白工いずれにせよ読出されなければならないため、エ
ラー回復を可能にするための処置としての余計な時間は
一切必要とされない。潜在的なエラーが早くに検知され
た場合は、本発明の好適な実施例では1回復処理を開始
すべき適当な時まで誤り処理を遅らせる。
本発明は、いくつかの点で先行技術に優っている。第1
1C5本発明の好適な実施例は、計算機システムの実行
゛速度を落とさない。結果オペランドの内容の復元を要
求する先行技術の計算機システムでは、命令によって指
示されたオペレーションを実行するに先立ってレジスタ
またはメモリの読取りを実行しなければならない。この
レジスタまたはメモリへのアクセスは、計算機システム
の実行速度を必然的に低下させる。潜在的なエラーが起
るかもしれない期間にインターロックをかけるというも
のは先行技術において使用された技術であるが、これも
計算機システムの実行速度を落とす。なぜならば、イン
ターロックをかけている間は、計算機システムは性能を
高めるためのパイプライン処理を利用できないからであ
る。第2に。
本発明の好適な実施例は、回復機構を実現するために先
行技術よりも少ない7%−ドウエアしか必要としない。
本発明の好適な実施例は、書込みキューやレジスタ・フ
ァイルに読出しボートを追加したりまたこれに関連した
制御論理回路な必要としない。その結果本発明はどんな
テクノロジーに対しても低コストで実現できるっ最後に
、本発明の好適な実施例は、エラー回復の準備ができな
かった先行技術の計算機システムに優っている。
なお、たとえ本発明のためにエラー回復処置の負担が若
干増大したとしても、エラーの発生頻度から考えて、本
発明の利点が失なわれることがないことは明らかであろ
う。
〔発明の実施例〕
第3図は、本発明の好適な実施例の計4機システムのタ
イム番チャートである。それぞれの命令は、ソースOオ
ペランドに対して実行されまたその結果が結果オペラン
ドに記憶される動作を特定する。ソース−オペランドは
、命令の動作への入力として用いられるデータを保持し
ているメモリまたはレジスタのロケ−7ヨンを指定する
。結果オペランドは、命令の動作の結果が記憶されるメ
モリまたはレジスタのロケ−7ヨンを指定スる。
命令す・イクル131および132の実行は、37エー
ズに分割されても良い。この3フエーズとは、命令フェ
ッチ・フェーズ101および111と、命令実行フェー
ズ102および112と、ロード、/記憶フェーズ10
3および113の3フエーズである。計′lL機システ
ムの性能を同上させるために、計算機は同時に複数の命
令な実行する。このオーバーラツプ動作はしばしばパイ
プライン処理と呼ばれる。第3図は、2フエーズ・バイ
グラインを備えた計算機システムの動作を説明する。1
つの命令の複数のフェーズな同時に実行することはでき
ず、iた命令サイクルのそれぞれのフェーズにおいては
ただ1つの命令だけが同時に実行されることができる。
第3図においては、命令サイク、ル131は、現在実行
中の命令を示す。命令サイクル132は、計算機システ
ムによって実行されるべき次の命令を示す。時間軸13
3は、計算機システムの動作タイミンクで目盛られてい
る。期間121で現在の命令が命令キャッシュからフェ
ッチされる。期間122で現在の命令が実行フェーズに
入り、ここで現在     °・′′7 の命令によって指示された動作が実行される。こ   
  、/の期間中でもまた、次の命令がキャッシュから
フ     ・ζ エッチされる。しb化ながら、期間122で、現在  
   :゛、°□ の命令Sよび命令バイグライン内の他の命令の実゛。
行を直ちに停止することを要求する事象141が発  
   ′生したものとする。
このとき、本発明の好適な実施例は1次に、計    
 ゛ければならない。そのため本発明の好適な実施例で
は、ソース・オペランドの内容を復元する。本発明の好
適な実施例では、結果オペランドの内容ためにはいずれ
にせよ読出されなければならないため、エラーからの回
復ができるようにするための情報退避を行なう際には余
分な時間は全く必要とされない。本発明の好適な実施例
においては。
計算機システムの桁上げビットまたは半桁上げ(hal
f carry)ピントは、復元されても良い、なぜな
らば、それらは多くの命令のソース・オペランドである
からである。しかしながら、追加的な状態ピントは、こ
こでは−切復元される必要がない。なぜならば、それら
は命令の入力ではないために、ソース−オペランドでは
ないからである。
ソース・オペラッドの内存が復元されまたエラーがWI
央された後、好適な実施例は、現在の命令の実行を再び
フェッチ・フェーズから開始する。
ソース・オペランドの内容を復元することができるよう
にするために、計算機は、ソース会オペランドがレジス
タまたはメモリから読み出されたときにその写しを退避
し、もし次にエラーが発生したら、その写しをレジスタ
またはメモリに戻さなければならない。ソース・オペラ
ンドだけを復元し結果オペランドを復元しないというこ
とは。
エラーが検知され回復された後ではあるが現在の命令が
再開される前に結果オペランドを調べたならば、それら
の内容はどうなつ−〔いるかJっからないということを
意味する。つまり現在の命令は既に結果オペランドにそ
の動作結果を既に記憶してしまつ−〔いるかもしれない
し、あるいは結果オペランドは前の命令の結果をそのま
ま保持しているかもしれないからである。
好適な実施例のパイプラインよりモ深いパイプラインを
有する計算機システムにおいては、計算機は、レジスタ
またはメモリ・アクセスが発生したときと最後の重大な
エラーが検知され得たとぎとの間の各フェーズにおける
レジスタおよびメモリ読出しの内容を退避しておく必要
がある。そしてエラーが発生したとき、計算機は、現在
の命令についてのみならず、現在の命令以降にソース・
オペランドを読出した命令についてもレジスタの復元処
置をとらなければならない。
第3図は、本発明の好適な実施例に従った装置の機能ブ
ロック図である。この装置は6つの機能要素を包含する
。これらは命令メモII 301 、オプションの仮想
アドレス変換ユニット302、命令ユニット303、実
行ユニット304.万グションノ浮動小数点ユニット3
05、およびレジスタ・ファイル306である。これら
の機能要素は、5本のバスを通して連結されるっこれら
は結果バス310、第1オペランド・バス311 、次
命令バス312、第2オペランド−バス313、および
アドレス・バス:]14である。実行ユニット304お
よびレジスタ・ファ、イル306だけが、本発明の動作
に関与するっ実行ユニット304は、・条件コード、桁
上げコードおよび半悄上げコードを発生させ保持する。
この桁上げコードおよび半桁上げコードは、後の命令の
だめの入力として用いても良い。レジスターファイル3
06には、命令への入力として部用されるデータ・レジ
スタが含まれている。レジスターファ・イル306中の
データーレジスタはまた、命令によって指示された動作
の結果を受は取ることができも第1図は、第4図に示さ
れた装置のレジスターファイル306の機能ブロック図
である。本発明の好適な実施例においては、レジスタ拳
ファイル306には、レジスタ・バンク212と、命令
デコーダ210レジスタ・バンク212は、2つの読出
し練ポート(一方は第1オペランド・バス311用、他
方は第2オペランド・バス313用)結果バス31()
用の1つの読出しボートを有する。フェッチ・サイクル
の間、次の命令は1次命令バス312上に現れる。レジ
スタ・ファイル306は、この命令乞解読し、指示され
たレジスタの内容を第1および第2オペラン、ド・バス
に与える。本発明の好適な実施例によれば、命令によっ
て指定され、第1および第2オペランド−バス311お
よび313の上に出されるレジスタの内容は、それらが
通常の実行のために読み出される際同時に退避レジスタ
214および215にそれぞれ記憶される。これら退避
レジスタは。
レジスタ・アクセスが発生するときの命令サイクルのフ
ェーズと最後の重大なエラーが検知され得る命令サイク
ルのフェーズとの間の距離と同じだけ深くなければなら
ない。好適な実施例についてはこの距離が17エーズで
あり、それゆえ、退避レジスタはルジスタ分の深さだけ
で良い。もしエラーが全く発生しなかったならば1次の
命令ソース自オペランドが記憶されるとき、これまで退
避レジスタに入っていた内容は単にレジスタからはなく
なつ−(し1うだけである。復元動作は、データを退避
レジスタ214 Nよび215から結果バス310を通
じてレジスターファイルに交互に転送して戻すことによ
って実行される。パイプラインがより深い場合には、こ
の動作は各退避レジスタ中の各々のレジスタについて(
りかえされることになるっ 第2図は、第4図における装置の実行ユニット304の
機能ブロック図である。本発明の好適な実施例において
は、実行ユニット304には、命令デコーダ410と、
/フタ413と、ALU(算術論理ユニット)411と
、マスクおよびマージ・ユニット412と、条件生成部
/レジスタ414と、退避レジスタ415が含まれてい
る。命令フェッチ−フェーズの間、現在の命令は次命令
バス上に置かれるっ命令に応答し、実行フェーズの間、
命令デコーダ410は、制御線(図示せず)を通して指
示することにより、ALU411またはマスクおよびマ
ージ・ユニット412が第1および/または第2オペラ
ンド・バス311および313の内容に作用してその結
末を結果・バス310上に置くようにする。この動作か
らの状態情報は条件生成部/レジスタ414で発生され
記憶される。状態情報の一部は命令への入力として使用
されても良く、命令への入力と     、。
キ して作用しても良い状態情報の条件コードの状態   
  ゛。
は、新しい状態情報が発生される前に退避される。  
   ]1好適な実施例においては、悄上げコードおよ
び半桁上げコードがバス421を介して退避レジスタ4
15に移される。上に述べられたように、退避レジスタ
415は、レジスターアクセスが発生するときの命令サ
イクルのフェーズと最後の重大なエラーが検知すれ得る
命令1rイクルの7エーズとの間の距離と同じだゆ深く
なければならない。好適な実施例についてはこの距離は
lであり、それゆえ、退避レジスタ415の深さはルジ
スタ分だけでよい。
エラーが全く発生しない場合には、退避された値は、退
避すべき情報の次の写しが記憶さ扛るときこの退避レジ
スタ415から拳に消されるだけである。復元動作は、
退避された状態情報を退避レジスタ415からバス42
2を介して移送し、条件生成部、/レジスタ414に書
戻することによって実行される。より深いバ、イブライ
ンについては、この動作は、退避レジスタ中の各々のレ
ジス、りについてくりかえされることになるっ 〔発明の効果〕 以上説明したように1本発明によれば簡単なハードウェ
アを用いて、しかも命令の実行速度を低     ゛・
′F8−@b°、!:&L−7’、”′−′″−°′″
″″″″2  、(することができる。
【図面の簡単な説明】
第1図および第2図は本発明の一実施例の主要部のブロ
ック図、第3図はパイプライン方式の計算機の動作を説
明するだめのタイム拳チャート、第4図は本発明の一実
施例の概略ブロック図である。 214、215 :退避レジスタ。 304:実行ユニット、 306:レジスタ・ファイル。 3”o:si′<−x・           、1゛
311:第1オペランド・バス、          
  4、′°”パ′“l?r/< 2 、      
   、、。 313:第2オペランド・バス、          
  、。

Claims (1)

    【特許請求の範囲】
  1. ソース・オペランドの写しを退避することを特徴とする
    エラー回復情報退避方式。
JP61142435A 1985-06-28 1986-06-18 エラ−回復情報退避方式 Pending JPS623347A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75062785A 1985-06-28 1985-06-28
US750627 1985-06-28

Publications (1)

Publication Number Publication Date
JPS623347A true JPS623347A (ja) 1987-01-09

Family

ID=25018616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61142435A Pending JPS623347A (ja) 1985-06-28 1986-06-18 エラ−回復情報退避方式

Country Status (2)

Country Link
EP (1) EP0212132A1 (ja)
JP (1) JPS623347A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01188780A (ja) * 1988-01-25 1989-07-28 Matsushita Electric Ind Co Ltd 給湯器用逆止弁
JPH01188779A (ja) * 1988-01-25 1989-07-28 Matsushita Electric Ind Co Ltd 給湯器用逆止弁

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901222A (en) * 1987-05-19 1990-02-13 Bull Nh Information Systems Inc. Method and apparatus for backing out of a software instruction after execution has begun
US5832202A (en) * 1988-12-28 1998-11-03 U.S. Philips Corporation Exception recovery in a data processing system
US5293613A (en) * 1991-08-29 1994-03-08 International Business Machines Corporation Recovery control register
JPH06236289A (ja) * 1993-02-08 1994-08-23 Kofu Nippon Denki Kk 情報処理装置
US6014757A (en) * 1997-12-19 2000-01-11 Bull Hn Information Systems Inc. Fast domain switch and error recovery in a secure CPU architecture

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3533082A (en) * 1968-01-15 1970-10-06 Ibm Instruction retry apparatus including means for restoring the original contents of altered source operands
DE3211256C2 (de) * 1982-03-26 1984-03-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur im Fehlerfall vorgesehenen Wiederholung von Maschinenbefehlen in einer Datenverarbeitungsanlage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01188780A (ja) * 1988-01-25 1989-07-28 Matsushita Electric Ind Co Ltd 給湯器用逆止弁
JPH01188779A (ja) * 1988-01-25 1989-07-28 Matsushita Electric Ind Co Ltd 給湯器用逆止弁

Also Published As

Publication number Publication date
EP0212132A1 (en) 1987-03-04

Similar Documents

Publication Publication Date Title
JP2539199B2 (ja) デジタルプロセッサ制御装置
US5051896A (en) Apparatus and method for nullifying delayed slot instructions in a pipelined computer system
EP0690371B1 (en) Fetch and store buffer for supporting out of order execution in a data processing system
JPS59114641A (ja) 割込処理装置
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
JPH07160501A (ja) データ処理システム
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
JPH0450621B2 (ja)
JP3707581B2 (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
US5440703A (en) System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified
JPH11353179A (ja) パイプライン制御デ―タ処理装置における例外の処理
EP0010197B1 (en) Data processing system for interfacing a main store with a control sectron and a data processing section
JPS623347A (ja) エラ−回復情報退避方式
JPS58121457A (ja) 情報処理装置
EP1039376B1 (en) Sub-instruction emulation in a VLIW processor
US5864701A (en) Apparatus and method for managing interrupt delay associated with mask flag transition
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
EP0306891A2 (en) Pipelined slave protocol for high performance CPU-FPU cluster
US5673391A (en) Hardware retry trap for millicoded processor
CA1302579C (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JP3240660B2 (ja) データ処理装置
EP0177712B1 (en) Masked data fetch and modifying device
JP2671160B2 (ja) 例外処理方式
JP2552738B2 (ja) データ処理装置
JPH0368034A (ja) チェックポイント再試行方式