JPH03288229A - 命令再試行処理方式 - Google Patents

命令再試行処理方式

Info

Publication number
JPH03288229A
JPH03288229A JP8963990A JP8963990A JPH03288229A JP H03288229 A JPH03288229 A JP H03288229A JP 8963990 A JP8963990 A JP 8963990A JP 8963990 A JP8963990 A JP 8963990A JP H03288229 A JPH03288229 A JP H03288229A
Authority
JP
Japan
Prior art keywords
instruction
register
load
address
registers
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
JP8963990A
Other languages
English (en)
Inventor
Hideshi Ishii
石井 英志
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP8963990A priority Critical patent/JPH03288229A/ja
Publication of JPH03288229A publication Critical patent/JPH03288229A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 技術分野 本発明は命令再試行処理方式に関し、特に/<イブライ
ン方式を採用した情報処理装置の命令再試行処理方式に
関する。
従来技術 従来、情報処理装置において命令処理実行中にハードウ
ェア障害が発生した場合には、障害を検出した時点で直
ちに動作を停止し、障害発生時に実行していた命令から
再試行を行うことにより、間欠的な障害によりシステム
が停止するのを防ぐ方式がとられている。
この命令再試行を行うためには、障害を検出して停止し
た時点でその時実行中の命令を再試行するために必要な
情報が保存されていることが必要である。これを例をあ
げて説明すると、以下のようになる。
すなわち、第2図において、命令1はレジスタAの内容
をメモリのアドレスXの内容と加算してその結果をレジ
スタAへ格納する命令である。命令1を実行していると
きにハードウェア障害が発生し、停止した時点ですでに
レジスタAの内容が命令1の結果により更新されていた
場合は、命令1の再試行はできない。また命令1の実行
結果が正しいという保証もないため、結局命令再試行は
行えず、システムを停止させる以外に方法はない。
また、第2図の命令2はレジスタBの内容を使用してア
ドレス修飾を行い、求められたアドレスYのデータをレ
ジスタBに格納する命令であり、ハードウェア障害が発
生した場合は、命令1と同様の理由で命令再試行は行え
ない。
上記の問題を解決するための方法として、各レジスタに
対応したヒストリレジスタを設け、レジスタが更新され
る時に更新前の内容を対応するヒストリレジスタに保存
することが考えられる。こうすることにより上記の命令
1および命令2の場合でも命令再試行を行うことが可能
となる。しかしながら、実際には各レジスタに1対1に
対応するヒストリレジスタを設けるとハードウェア量が
非常に増加するため、あるレジスタのグループ(例えば
16個の汎用レジスタ)に対して1つのヒストリレジス
タを設けるという方法がとられることが多い。
上述したように、レジスタのグループに対して1つのヒ
ストリレジスタのみしか設けない場合、1つの命令の中
で同一グループ内のレジスタを複数個更新するような命
令では、障害発生時に命令再試行が行えなくなるという
欠点がある。
1つの命令で複数個のレジスタを更新する命令のうちの
代表的なものに、メモリから複数レジスタへのロード命
令がある。この命令はメモリのデータをレジスタへ移送
するだけであるので基本的には命令再試行可能であるが
、ロードされるレジスタの少く共1つがこの命令のアド
レス修飾のために使用されているような場合は、障害発
生時に命令再試行を行うことができない。この命令は実
行頻度が高いため、命令再試行ができないと装置の信頼
性を大きく低下させる原因となる。
発明の目的 本発明の目的は、装置の障害発生時における命令実行に
対する影響をできるだけ少くし、信頼度の向上を図った
命令再試行処理方式を提供することである。
発明の構成 本発明によれば、ハードウェア障害の発生に応答して、
命令再試行を行う命令再試行処理方式であって、実行す
べき命令が複数レジスタへのロード命令であることを検
出する検出手段と、命令の実行結果を書込むレジスタと
命令のアドレス修飾に用いられるレジスタとの一致を検
出する比較手段とを設け、ハードウェア障害の発生に応
答して、前記検出手段により複数レジスタへのロード命
令が検出されているとき、前記比較手段よりの比較結果
に応じて、前記命令の再試行を行うか否かを判定するよ
うにしたことを特徴とする命令再試行処理方式が得られ
る。
実施例 次に、本発明の実施例について図面を参照して説明する
第1図は本発明の一実施例のブロック図である。
第1図において、命令レジスタ1はメインメモリ(図示
せず)からキャッシュメモリ4を経由して読出された命
令を格納するレジスタである。アドレス生成回路2は命
令レジスタ1に格納された命令がメモリオペランドを使
用す、る命令である場合に、オペランドのアドレス計算
を行なう回路、アドレス変換回路3はアドレス生成回路
2の出力として得られたオペランドの論理アドレスを物
理アドレスに変換する回路、キャッシュメモリ4はメイ
ンメモリの内容の一部をコピーとして処理装置内に持つ
ことにより性能を向上させるためのメモリである。
制御記憶17はマイクロプログラムを格納するためのメ
モリである。レジスタファイル18は命令で使用するレ
ジスタ群を含んでいる。オペランドレジスタ20.21
は演算に必要なオペランドを格納するレジスタ、ALU
25は命令により決められた演算を行う回路、リザルト
レジスタ24は演算結果を格納するレジスタである。セ
レクタ22はオペランドレジスタ21に入力されるデー
タを切替える回路である。
レジスタファイル18、オペランドレジスタ20および
21、セレクタ22、ALU25、リザルトレジスタ2
4はマイクロプログラムにより制御され、これらを制御
するための制御信号は制御記憶17から信号線17−1
. 17−2.・・・17−nを使用して各回路に分配
される(行先は図示して0ない)。ヒストリレジスタ1
9はレジスタファイル18へのデータの書込みが行われ
た時に書込まれるレジスタの書込み前の内容を格納する
レジスタである。
本処理装置はバイブライン制御方式を採っており、i3
図に示すような5段のノくイブラインステージが独立し
て動作する。命令は5段の、<イブラインステージを通
過することにより実行される。
デコーダ5は命令レジスタ1に格納されている命令語の
命令コードをデコードして制御記憶17に格納されてい
るマイクロプログラムの実行開始アドレスを作成する。
作成されたアドレスはレジスタ8および9を経由して制
御記憶17へ供給される。デコーダ5ではまた、この命
令が複数レジスタへのロード命令であるか否かを検出し
ており、複数レジスタへのロード命令である場合には信
号線5−1に“12が出力される。
デコーダ6は命令語の中の結果を書込むレジスタを指定
するフィールドをデコードする。またデコーダは命令語
の中のアドレス修飾に使用するレジスタを指定するフィ
ールドをデコードする。比較回路28はデコーダ6およ
びデコーダ7の出力を比較する回路である。比較の結果
、命令レジスタ1に格納されている命令の結果を書込む
レジスタがアドレス修飾に使用するレジスタとは異なっ
ている場合は、信号線28−1に“1”が出力される。
信号線5−1および28−1が共に“1”の場合、アン
ドゲート29の出力が“1”となり、レジスタ10に“
11がセットされる。レジスタ10の出力はパイプライ
ン動作に従ってレジスタ11、レジスタ12の順にセッ
トされる。
レジスタ13は制御記憶17から出力されるレジスタフ
ァイル18への書込み信号17−1によりセットされる
。すなわちレジスタファイル18の内容が更新されたと
きにセットされる。レジスタ13がal”にセットされ
ている状態で、さらにレジスタファイル18への書込み
信号17−1力(出力された場合は、もしレジスタ12
力(“Ooてあった場合、インバータ15の出力が“1
”となるので、アンドゲート16の出力は“1”となり
、レジスタ14に“1”がセ・ソトされる。
一方、レジスタ12が“1”であった場合は、レジスタ
14には“0”がセ・ソトされる。レジスタ14はハー
ドウェア障害が発生したとき1こ、その時実行中の命令
から再試行できるか否hλを示すもので、レジスタ14
の内容が′1”の場合lt再試行不可とみなされる。
エラーチエツク回路26はリザルトレジスタ24の出力
のエラーチエツク(]くリテイチェ・ツク)を行う回路
である。エラーチエツク回路261こよりエラーが検出
された場合は、エラー表示フラク′30がセットされ、
その出力により処理装置のクロックが停止されると共に
、再試行制御回路27に対しエラーが報告される。
以下、処理動作について順を追って説明する。
これから実行しようとする命令は命令レジスタ1にセッ
トされる。この命令が複数レジスタへのロード命令であ
る場合、デコーダ・5の出力信号線5−1が“1°とな
る。また、この命令が更新しようとするレジスタおよび
アドレス修飾で使用するレジスタはデコーダ6およびデ
コーダ7により判定され、その出力は比較回路28によ
り比較される。
この命令が更新しようとするレジスタのうちの1つがこ
の命令のアドレス修飾が使用するレジスタと一致してい
る場合には、比較回路28の出力28−1はOとなる。
したがってアンドゲート29の出力は“0”となり、レ
ジスタ10には“0”がセットされる。
一方、この命令のオペランドアドレスすなわちロードデ
ータのアドレスはアドレス生成回路2によって計算され
(Aステージ)、アドレス変換回路3によって物理アド
レスに変換された後、キャッシュメモリ4へ送られる(
Tステージ)。キャッシュメモリ4から読出されたデー
タは信号線4−1およびセレクタ22を経由してオペラ
ンドレジスタ21へ転送される(Cステージ)。この時
点ではレジスタ10の内容はレジスタ11を経てレジス
タ12に格納されており、その内容は“0”となってい
る。オペランドレジスタ21に格納されたデータはAL
U25を経由してリザルトレジスタ24に格納される(
Eステージ)。リザルトレジスタ24の内容はセレクタ
23を経由してレジスタファイル18に格納される(W
ステージ)。
この命令では、複数個のレジスタに対してデータがロー
ドされるため、キャッシュメモリ4から複数回データが
読出され、オペランドレジスタ21、リザルトレジスタ
24を経由してレジスタファイル18の中の複数のレジ
スタに対して順番にデータがロードされる。1回目のデ
ータがレジスタファイル18に書込まれる時には、制御
記憶17の出力信号線17−1が“1゛となるため、レ
ジスタ13に“1”がセットされる。この時点ではレジ
スタ14の内容は“0°であるため、この状態でハード
ウェア障害により停止したとしても1回目のデータが書
込まれる前のデータがヒストリレジスタ19に格納され
ており、命令再試行は可能である。
さらに2回目のデータがレジスタファイル18に書込ま
れる時には、信号線17−1、レジスタ13の出力、お
よびインバータ15の出力がすべて“1”となるため、
レジスタ14には“1″がセットされると同時にヒスト
リレジスタ19の内容は新しいデータに置きかえられる
。したがってこの時点以後、この命令が終了するまでの
間にハードウェア障害により停止した場合は、命令再試
行は不可となる。
次に、実行する命令が更新しようとするレジスタと、そ
の命令のアドレス修飾で使用するレジスタが異なる場合
には、信号線5−11および28−1が共に“1”とな
るので、レジスタ10には“1゜がセットされ、以後レ
ジスタ11、レジスタ12の順に“1”がセットされる
。したがって、インバータ15の出力は“0°となり、
レジスタファイル18に対して複数回データの書込みが
行われてもレジスタ14の内容は“0”のままである。
この命令を実行している間にハードウェア障害が発生し
た場合、レジスタ14の出力は“0”となっているため
、命令再試行が可能であり、再試行制御回路27による
再試行処理が行われる。
発明の詳細 な説明したように、本発明によれば、複数レジスタのロ
ード命令を実行する場合に、その命令によりロードされ
るレジスタとその命令のアドレス修飾に使用されるレジ
スタが異なっているか否かを判定し、異なっている場合
にはノ1−ドウエア障害発生時に命令再試行を可能とす
ることにより、装置に障害が発生したときの影響を小さ
くでき、信頼度を向上させるという効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は命令の
動作の概要を示す図、第3図は本実施例におけるパイプ
ライン制御の各ステージを示した図である。 主要部分の符号の説明 1・・・・・・命令レジスタ 5〜7・・・・・・デコーダ 26・・・・・・エラーチエツク回路 27・・・・・・再試行制御回路、 28・・・・・・比較回路

Claims (1)

    【特許請求の範囲】
  1. (1)ハードウェア障害の発生に応答して、命令再試行
    を行う命令再試行処理方式であって、実行すべき命令が
    複数レジスタへのロード命令であることを検出する検出
    手段と、命令の実行結果を書込むレジスタと命令のアド
    レス修飾に用いられるレジスタとの一致を検出する比較
    手段とを設け、ハードウェア障害の発生に応答して、前
    記検出手段により複数レジスタへのロード命令が検出さ
    れているときに、前記比較手段よりの比較結果に応じて
    、前記命令の再試行を行うかどうかを判定するようにし
    たことを特徴とする命令再試行処理方式。
JP8963990A 1990-04-04 1990-04-04 命令再試行処理方式 Pending JPH03288229A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8963990A JPH03288229A (ja) 1990-04-04 1990-04-04 命令再試行処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8963990A JPH03288229A (ja) 1990-04-04 1990-04-04 命令再試行処理方式

Publications (1)

Publication Number Publication Date
JPH03288229A true JPH03288229A (ja) 1991-12-18

Family

ID=13976346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8963990A Pending JPH03288229A (ja) 1990-04-04 1990-04-04 命令再試行処理方式

Country Status (1)

Country Link
JP (1) JPH03288229A (ja)

Similar Documents

Publication Publication Date Title
CA1303225C (en) Register management system in a computer processor with out-of-sequence instruction execution
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
CA1235816A (en) Error recovery system in a data processor having a control storage
US3539996A (en) Data processing machine function indicator
JP4703718B2 (ja) 選択的サブルーチンリターン構造
JPH02135536A (ja) チエツクポイント再試行機構
JPH0283735A (ja) 命令先取り装置
EP0094535A2 (en) Pipe-line data processing system
US3553655A (en) Short forward conditional skip hardware
US5819078A (en) Addressing extended memory using millicode by concatenating a small millicode address and address extension data
US5625808A (en) Read only store as part of cache store for storing frequently used millicode instructions
US5673391A (en) Hardware retry trap for millicoded processor
JPH03288229A (ja) 命令再試行処理方式
KR890003322B1 (ko) 데이타처리 시스템
US5621909A (en) Specialized millicode instruction for range checking
JPH0192843A (ja) データ処理装置
US20240095113A1 (en) Processor and method of detecting soft error from processor
USRE27485E (en) Ls ec sdr
JPS62159230A (ja) 命令先取り装置
JPS60221829A (ja) デ−タ処理装置
JPS6083149A (ja) コンピユ−タ
JPH07152594A (ja) 制御プロセッサのリトライ制御方式
JPS59178547A (ja) 命令リトライ方式
JPS61166636A (ja) 命令再実行制御方式
JPS58166454A (ja) デ−タ処理装置