JPH012146A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH012146A
JPH012146A JP62-156525A JP15652587A JPH012146A JP H012146 A JPH012146 A JP H012146A JP 15652587 A JP15652587 A JP 15652587A JP H012146 A JPH012146 A JP H012146A
Authority
JP
Japan
Prior art keywords
register
register file
data
arithmetic processing
instruction
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
JP62-156525A
Other languages
English (en)
Other versions
JPS642146A (en
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP62156525A priority Critical patent/JPS642146A/ja
Priority claimed from JP62156525A external-priority patent/JPS642146A/ja
Publication of JPH012146A publication Critical patent/JPH012146A/ja
Publication of JPS642146A publication Critical patent/JPS642146A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明はハードウェア障害時に命令再試行を行って処理
を回復させる演算処理装置に関する。
(従来の技術) 従来、計算機(主として中央演算処理装置)においてハ
ードウェア障害を検出した場合命令レベルでの再試行を
試みる。しかしこの時、中央演算処理装置内のレジスタ
(例えばジェネラルレジスタ、インデックスレジスタ、
ペースレジスタ)の書き換えや主記憶装置内の書き換え
を再試行の対象となる命令実行中に実施していた場合に
は、書き換えデータの完全性が保障されないため命令レ
ベルでの再試行は不可能と判断され、実行中であったジ
ョブはアボードされてしまう。
第3図は上記従来方式の演算処理装置のレジスタ群と演
算器の関係例を示したブロック図でおる。
2出力1人カポート形式のジェネラルレジスタ、インデ
ックスレジスタ等を含むレジスタファイル1のA、B出
力ポートから出力されるデータはマルチプレクサ2,3
によって選択されて演算器4に入力される。演算器4の
演算結果はシフタ5によってシフトされた後、レジスタ
ファイル1の入力ポートに出力される。但し、レジスタ
ファイル1の入力ポートのレジスタ位置はAMO290
14ピッl〜スライスマイクロプロセッサと同様に出力
ポートのBポートで示されるレジスタ位置と同じである
。障害検出回路(ここでは図示していない)はレジスタ
ファイル1への書き込み動作実行の次のサイクルで、前
の実行サイクル中にハードウェア障害が発生したことを
検出すると、中央処理装置の動作を停止して回復処理ル
ーチンに制御を移し、命令の再試行を試みる。
第4図は上記再試行時の演算処理装置の処理フローチャ
ートでおる。ステップ401にて障害を検出すると、ス
テップ402にて再試行対象命令中にレジスタ及び主メ
モリへの書き込み処理を行ったか否かを判定し、行った
場合はアボード処理を行い、書き込みを行わなかった場
合はステラ403にて回復処理ルーチンを実行した後、
ステップ404にて命令を再開する。
また、上記演算処理装置のハードウェア障害を確実に検
出するために使用演算回路を2重化して各演算結果を比
較し、障害が発生していないことを確認した後データを
レジスタに書き込むようにしたものもある。この方式で
は演算+書き込みの2サイクルで1つの動作が実行され
るため、パイプライン方式と併用した形態で利用される
ことが多く、障害が発生した場合はレジスタの書き換え
が行われないため、前)ホの命令再試行不可能となる可
能性を少なくすることができる。
第5図は上記演算と書き込みが2サイクルで行われる方
式の演算処理装置のレジスタ群と演算器の関係例を示し
たブロック図である。レジスタファイル50の出力ポー
トA、Bから出力される読み出しデータはマルチプレク
サ54.55経由で演算器56に入力され、ここで演算
される。この演算結果はシフタ57にてシフトされた後
、マルチプレクサ51経由でワークレジスタ53に一旦
書き込まれる。
このサイクルにてハードウェア障害が発生していないこ
とが図示されない検証回路にて確認されると、次のサイ
クルにてワークレジスタ53の内容がレジスタファイル
5ot4き込まれる。なお、ワークレジスタ52はレジ
スタファイル50の出力ポートAからの読み出し内容を
一時的に保持されるため、必要に応じてワークレジスタ
52及び53の内容を再び演算器56の演算データとし
て使用できる。この方式では前述した如く演算結果が1
サイクルでレジスタファイル1内に書き込まれないため
、障害が発生した場合にもレジスタファイルの書き換え
が行われていることがなくなるので、命令再試行を行え
る可能性が大となる。しかし、この方式は1つの基本動
作に2サイクルを要するため、ファームウェアによる複
雑な制御を行わなければならない命令を具備する計算機
には不向きであるという欠点があった。
(発明が解決しようとする問題点) 従来の演算と同時にレジスタ等を書き換える方式の演算
処理装置では、ハードウェア障害が発生した時に再試行
対象となる命令実行中に前記書き換えがおきた場合には
命令再試行が不可能になる欠点がめった。そこでこの欠
点を回避するために演算と書き込みの1つの動作を2サ
イクルで行う方式の演算処理装置では、1つの基本動作
に2サイクルを要するため複雑な制御を要する命令を備
えた計算機には不向きであるという欠点があった。そこ
で本発明は上記の欠点を除去するもので、演算と書き込
みを同一サイクルで行い、且つ、ハードウェア障害が発
生する1サイクル前の情報を保全して前記障害発生時の
命令再試行を可能としてハードウェアの一時的障害発生
からの回避を直ちに図ることができる演算処理装置を提
供することを目的としている。
[発明の構成] (問題点を解決するための手段) 本発明は命令実行に伴ってデータを読み書きする複数の
レジスタから成るレジスタファイルを持ち、また、ハー
ドウェア障害が検出されると命令再試行を行う演算処理
装置において、書き換え前にレジスタファイル内に保持
されていた情報を保持する第1のレジスタと、前記第1
のレジスタに保持される情報が書き込まれていたレジス
タ位置情報を保持する第2のレジスタと、前のステップ
で前記レジスタファイルにデータの書き込みがあったか
否かを示すフリップフロップと、前記フリップフロップ
によってレジスタファイルに書き換えが行われたと判定
された場合に第1、第2のレジスタの内容に基づいて前
記レジスタファイル内のデータを書き換え前の状態に戻
す処理を行う制御手段とを具備して構成される。
(作用) 本発明の演算処理装置において、命令の実行に伴ってレ
ジスタファイルにデータが書き込まれると、第1のレジ
スタは書き換え前にレジスタファイル内に保持されてい
た情報を保持し、第2のレジスタは前記第1のレジスタ
に保持される情報が書き込まれていたレジスタ位置情報
を保持し、また、フリップフロップは前のステップで前
記レジスタファイルにデータの書き込みがあったか否か
を示す。制御手段は前記フリップフロップによってレジ
スタファイルに書き換えが行われたと判定された場合に
第1、第2のレジスタの内容に基づいて前記レジスタフ
ァイル内のデータを書き換え前の状態に戻す処理を行う
。このため命令再試行時にレジスタファイル内の保全さ
れた情報を用いることができ、命令再試行を行い1qる
可能性が著しく高まる。
(実施例) 以下本発明の一実施例を従来例と同一部には同一符号を
付して図面を参照して説明する。第1図は、本発明の演
算処理装置の一実施例を示したブロック図である。1は
ジェネラルレジスタ、インデックスレジスタ等を含む2
出力1人カボート方式のレジスタファイルで、入力ポー
トのレジスタ位置は2出力ポートのうちBボートで示さ
れるレジスタ位置であるとする。2,3は信号を選択し
て出力するマルチプレクサ、4はマルチプレクサ2,3
から入力されるデータに加減算等を施こす演算器、5は
演算結果をシフトしてレジスタファイル1に出力するシ
フタ、6はレジスタファイル1に新たなデータが書き込
まれる直前にこのレジスタファイル1が保持していたデ
ータを保存するレジスタ、7はレジスタ6に書き込まれ
るデータのレジスタファイル内のレジスタ位置を保持す
るレジスタ、8は1つ前のステップでレジスタファイル
1に書き込みが行われたことを示すフリップフロップ、
9は1つ前のステップでソフトウェア命令が終了したこ
とを示すフリップフロップでおる。
次に本実施例の動作について説明する。レジスタファイ
ル1から読み出されたデータ110 、111は各々マ
ルチプレクサ2,3により選択されて演算器4の入力デ
ータ112 、113となる。演算器4はR+S−’Y
成る演算を行って、その結果であるデータ月4をシフタ
5に出力する。シフタ5はシフト動作を行わず入力デー
タ114をそのままレジスタファイル1の入力ポートに
出力する。レジスタファイル1では、B出力ポートで示
されるレジスタ位置に入力データ114が書き込まれる
。この書き込み動作と同時にB出力ボートから出力され
る読み出しデータ111がレジスタ6に、B出力ポート
で示されるレジスタ位置がレジスタ7に書き込まれる。
ここで上記一連の動作が終了した後、例えば演算器4の
一時的な障害により演算が正常でなかったことが図示さ
れない検出回路で検出されたものとする。なお、前記検
出回路は演算回路の2重化による比較チエツクや、パリ
ティ予測等を用いて異常の検出を行えるものであれば何
でもよい。この障害検出はレジスタファイル1へのデー
タ書き込み後の次のサイクルで判明するため、レジスタ
ファイル1内のデータの完全性が保障されない。しかし
、本例では障害検出後の回復処理ルーチン内で前記書き
込みが行われる前のレジスタファイル1内のデータを保
存するレジスタ6の情報と、前記データの書き込み位置
を示すレジスタ7の情報から内容の保障されない情報を
書き込んだレジスタファイル1内のレジスタを正常なデ
ータに書き戻す処理が行なわれる。このようにすること
で前記障害が発生する以前の状態が再現され、命令レベ
ルでの再試行が可能となる。なお、フリップフロップ8
の内容により前のステップでレジスタファイル1に書き
込みがあったか否かを判定し、iたレジスタ9の内容に
より障害が発生した命令は前の命令であったか否かを判
定して、上記回復処理ルーチンが実行される。
第2図は上記回復処理ルーチンの概略フローチャートで
おる。先ずステップ201にて障害発生を検出すると、
ステップ202にてレジスタ6の内容により障害が発生
したのは前の命令であったか否かを判定し、前の命令で
めった場合にはステップ203に、そうでない場合はス
テップ207へ行く。
ステップ203ではフリップフロップ8の内容により障
害が発生したサイクルでレジスタ(ソフトウェアに見え
る汎用レジスタ)の書き換えがめったか否かを判定し、
書き換えられている場合はステップ204にてレジスタ
ファイル1の内容をレジスタ6.7の情報をもとにして
書き換え前の状態に戻した後ステップ205に行く。ス
テップ203にて書き換えられていないと判定された場
合は直接ステップ205へ行く。ステップ205では更
に汎用レジスタを書き換える以前にメモリ内容等の再開
に必要な情報を書き換えるような命令か否か、即ち前の
命令は途中から再開できる命令か否かを判定し、再開で
きない場合はアボード処理を実行し、再開できる場合は
ステップ206にて前の命令から再試行を行う。一方、
ステップ207へ行った場合もレジスタファイル1の書
き換えが行われたか否かを判定し、行われた場合は、ス
テップ208にてレジスタファイル1の内容を書き換え
前に戻した後、ステップ209へ行き、書き換えが行わ
れていない場合は、直接ステップ209へ行く。ステッ
プ209では途中から再開できる命令か否かを判定し、
再開できない場合はアボード処理を実行し、再開できる
場合はステップ210にて命令再試行を行う。
本実施例によれば、レジスタファイル1のデータを書き
換える毎に、その直前に前記レジスタファイルに書き込
まれていたデータと、このデータのレジスタ位置をレジ
スタ6.7に保全させているため、ハードウェア障害が
生じた場合に前記保全された情報を用いて命令レベルの
再試行を実行し得る可能性を著しく高めることができ、
ハードウェアの一時的障害からの回復を容易且つ迅速に
行うことができる。また、演算と書き込みを1サイクル
で行うため複雑な制御を要する命令をも容易且つ短時間
に行うことができる。
[発明の効果コ 以上記述した如く本発明の演算処理装置によれば、演算
と書き込みを同一サイクルで行い、且つ、ハードウェア
障害が発生する1サイクル前の情報を保全して前記障害
発生時の命令再試行を可能としてハードウェアの一時的
障害発生からの回避を直ちに図り得る効果がある。
【図面の簡単な説明】
第1図は本発明の演算処理装置の一実施例を示したブロ
ック図、第2図は第1図で示した装置で実行される障害
検出後の回復処理ルーチンを示したフローチャート、第
3図は従来方式の演算処理装置のレジスタ群と演算器の
関係例を示したブロック図、第4図は第3図に示した装
置における命令再試行ルーチンのフローチャート、第5
図は従来方式の演算処理装置のレジスタ群と演算器の他
の関係例を示したブロック図である。 1・・・レジスタファイル 2.3・・・マルチプレクサ 4・・・演算器 6.7・・・レジスタ 8.9・・・フリップフロップ 代理人 弁理士  則 近 憲 佑 同  山王 − 第2図 第3図 第4図 第5回

Claims (1)

    【特許請求の範囲】
  1. 命令実行に伴ってデータを読み書きする複数のレジスタ
    から成るレジスタファイルを持ち、また、ハードウェア
    障害が検出されると命令再試行を行う演算処理装置にお
    いて、書き換え前のレジスタファイル内に保持されてい
    た情報を保持する第1のレジスタと、前記第1のレジス
    タに保持される情報が書き込まれていたレジスタ位置情
    報を保持する第2のレジスタと、前のステップで前記レ
    ジスタファイルにデータの書き込みがあったか否かを示
    すフリップフロップと、前記フリップフロップによって
    レジスタファイルに書き換えが行われたと判定された場
    合に第1、第2のレジスタの内容に基づいて前記レジス
    タファイル内のデータを書き換え前の状態に戻す処理を
    行う制御手段とを具備して成ることを特徴とする演算処
    理装置。
JP62156525A 1987-06-25 1987-06-25 Arithmetic processing unit Pending JPS642146A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62156525A JPS642146A (en) 1987-06-25 1987-06-25 Arithmetic processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62156525A JPS642146A (en) 1987-06-25 1987-06-25 Arithmetic processing unit

Publications (2)

Publication Number Publication Date
JPH012146A true JPH012146A (ja) 1989-01-06
JPS642146A JPS642146A (en) 1989-01-06

Family

ID=15629695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62156525A Pending JPS642146A (en) 1987-06-25 1987-06-25 Arithmetic processing unit

Country Status (1)

Country Link
JP (1) JPS642146A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7226392B2 (ja) 2020-05-15 2023-02-21 トヨタ自動車株式会社 燃料電池スタック

Similar Documents

Publication Publication Date Title
US4740969A (en) Method and apparatus for recovering from hardware faults
JPS6218057B2 (ja)
JPH07141176A (ja) コマンドリトライ制御方式
JPH012146A (ja) 演算処理装置
JPS60142747A (ja) 命令再実行制御方式
JPS59119450A (ja) マシン・チエツク処理方式
JP2009169515A (ja) コンピュータシステム及びシステム回復装置
JPS5932821B2 (ja) 情報処理装置
JPS6156537B2 (ja)
JPS60142446A (ja) バツクワ−ド障害復元処理方式
JPS6055445A (ja) リトライ方式
JPH04125753A (ja) メモリのオンライン診断方式
JPH0135369B2 (ja)
JPS61166636A (ja) 命令再実行制御方式
JPH07152594A (ja) 制御プロセッサのリトライ制御方式
JPS62139059A (ja) 二重化フアイル方法
JP2003167687A (ja) ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム
JPH03105630A (ja) エラー訂正システム
JPS58166454A (ja) デ−タ処理装置
JPS63214856A (ja) デ−タ処理装置のデ−タ保護制御方式
JPS5999556A (ja) 情報処理装置
JPS59125453A (ja) リトライ方式
JPH0553844A (ja) 情報処理装置
JPS6132701B2 (ja)
JPS5935455B2 (ja) セイギヨソウチ