JPS6229820B2 - - Google Patents

Info

Publication number
JPS6229820B2
JPS6229820B2 JP57078772A JP7877282A JPS6229820B2 JP S6229820 B2 JPS6229820 B2 JP S6229820B2 JP 57078772 A JP57078772 A JP 57078772A JP 7877282 A JP7877282 A JP 7877282A JP S6229820 B2 JPS6229820 B2 JP S6229820B2
Authority
JP
Japan
Prior art keywords
program
fault
programs
register
failure
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
Application number
JP57078772A
Other languages
English (en)
Other versions
JPS58195257A (ja
Inventor
Hiroshi Oosaka
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 JP57078772A priority Critical patent/JPS58195257A/ja
Publication of JPS58195257A publication Critical patent/JPS58195257A/ja
Publication of JPS6229820B2 publication Critical patent/JPS6229820B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 発明の対象 本発明は、電子計算機の障害回復方式に関し、
特に時分割的に実行される複数プログラムの障害
検出および障害情報の採取回復方式に関するもの
である。
従来技術 電子計算機において誤動作を検出した場合、通
常は、再試行、再実行を繰り返し、それでも成功
しなければ、障害発生とみなしてその装置を切り
離し、診断動作を行い、障害回復後、再び実行を
開始する。診断方法には、診断プログラムにより
装置の機能を試験する方法と、初期設定のパター
ンを内部フリツプ・フロツプにセツトして、動作
結果と期待値の比較チエツクを行うFLT(FauLt
Locating Test)方法がある。FLT方法において
は、第1図に示すように、診断制御部1のマイク
ロプロセツサ14により、スキヤン・アドレス・
レジスタ15にスキヤンイン・レジスタ12のア
ドレスを設定し、スキヤンイン・データ線19の
データをスキヤンイン・レジスタ12にセツトす
る。クロツク・アドバンス制御回路21によりス
キヤンアウト・レジスタ13にクロツクを送出
し、障害部分25の論理状態をスキヤンアウト・
レジスタ13に反映させた後、そのレジスタ13
のデータをデータ線20を介してスキヤンアウ
ト・レジスタ17に読み出し、期待値レジスタ1
6の内容と比較回路18で比較する。比較の結果
は、マイクロプロセツサ14により参照され、判
断される。
ところで、1個のプロセツサを多数のユーザが
時分割で使用する場合、並行して走行する複数プ
ログラムのうちの1以上でエラーが発生したと
き、上記FLT方法により診断するためにプロセ
ツサを停止させると、エラーの発生していない他
のプログラムまで停止してしまう。
従来、時分割処理の電子計算機において障害が
発生した場合には、次の2つの方法が考えられて
いる。すなわち、 (1) プログラムを強制的に特定番地へ分岐させ、
演算部をチエツク禁止モードにして処理する。
(2) 障害の発生した演算部に関するプログラムを
停止させ、他の演算装置(サービスプロセツサ
(SVP),等)により処理する。
上記(1)の方法では、第2図aに示すように、実
行中のプログラム27が×印の点でエラーを発生し
たとき、ハードウエア的にプログラム・カウンタ
29を制御して×印の次の命令で分岐命令を作成
し、診断プログラム28の先頭アドレスに分岐し
て診断処理を行わせる。この方法によれば、障害
発生プログラム以外のプログラムを連続して実行
でき、これと並行して演算部等の診断が可能とな
る。しかし、分岐命令を作成するときプログラ
ム・カウンタ29の値を変更するので、どこから
分岐されたか不明となり、元の処理に戻れないこ
と、および他のプログラムによつて演算部等が動
作しているため、障害時の情報を完全に採取でき
ないこと等の欠点がある。
また、上記(2)の方法では、第2図bに示すよう
に、動作中の演算部1の他に予備の演算部1′を
設けておき、実行中のプログラム27が×印の点で
エラーを発生したとき、プログラム・カウンタの
更新を中止し、演算部1の動作を停止させた後、
予備の演算部2′を起動させ、同一内容の予備の
プログラムを走行させる。したがつて、この場合
には、複数個のプログラムについて、同一内容の
ものを2組ずつ備えておき、一組が実行している
間、他の一組は待機中とし、障害発生により待機
中のプログラムに切り替えて実行する一方、障害
発生の演算部等を診断プログラムあるいは診断制
御部により障害時の情報を読み取り、診断を行
う。しかし、この方法では、障害処理用の装置が
余分に必要となり、また障害を発生したプログラ
ム以外のプログラムも同時に停止してしまうとい
う欠点がある。
発明の目的 本発明の目的は、これら従来の欠点を除去する
ため、障害を発生したプログラム以外のプログラ
ムは引続き実行可能であり、かつ障害処理のため
に他の装置がなくても障害情報の採取および回復
が可能な電子計算機の障害回復方式を提供するこ
とにある。
発明の総括的説明 上記目的を達成するために、本発明による電子
計算機の障害回復方式は、複数のプログラムが1
組の演算部を時分割に使用する電子計算機におい
て、演算部の障害を各プログラムのプログラム・
カウンタ対応に記憶することと、各プログラム対
応の障害表示を他のプログラムからアクセスでき
るようにすることを特徴とし、これにより、障害
を各プログラムに付属させて演算部を障害発生に
より停止させないようにし、全プログラムの停止
を回避するとともに、障害を発生して停止してい
るプログラムの障害情報を他のプログラムにより
採取し、診断することができるようにする。
発明の実施例 第3図は、本発明の実施例を示す電子計算機の
ブロツク図である。
演算部1とシーケンス制御部2とプログラム・
カウンタ3と障害情報レジスタ4が各々入力バス
8と出力バス9で接続され、また演算部1と障害
情報レジスタ4は演算部1の障害情報を伝える障
害情報線5で接続され、また障害情報レジスタ4
とシーケンス制御部2は障害表示線6で接続され
る。
演算部1は、入力レジスタ101と入力レジス
タ102で入力バス8の情報を取り込み、ALU
103で演算した結果を出力バス9へ出力する。
プログラムのデータ・レジスタ104が、入力バ
ス8と出力バス9に接続される。
演算部1は、また、プログラム・カウンタ3の
出力を一時記憶するレジスタ(CSAR)105が
あり、CSAR105の出力は制御記憶(CS)1
06をアドレスし、CS106の出力は、これを
記憶するレジスタ(CSDR)107に接続され、
CSDR107の出力は命令を解釈する命令デコー
ダ108に接続され、命令デコーダ108の出力
は演算部の各部を制御する。CSAR105の出力
は、また、プログラム・カウンタ更新部109を
介してプログラム・カウンタ3の入力へ接続され
る。
シーケンス制御部2は、各プログラムの障害
(障害情報レジスタ4の内容がゼロでないこと。)
を伝える障害表示線6を入力とする障害表示レジ
スタ201と、障害表示レジスタ201の内容を
入力とし、各プログラムの実行順序を決定する順
序発生論理202を持つ。順序発生論理202の
出力によつてプログラム・カウンタ3と、これに
対応して設けられている障害情報レジスタ4が選
択される。障害情報レジスタ4は、演算部1から
の障害情報線5を入力として演算部1の障害情報
を記憶する。
プログラム・カウンタ3、障害情報レジスタ
4、障害表示レジスタ201は、ともに出力バス
9と入力バス8にも接続される。
複数個のプログラムが時分割で演算部1を共用
しているため、ハードウエアは1組ずつあればよ
いが、プログラム・カウンタ3だけは各プログラ
ムごとに対応するカウンタを有し、各カウンタの
値をCSAR105に時分割的にセツトして、その
値をアドレスとして制御記憶106をアクセス
し、マイクロ命令を読み出してCSDR107にセ
ツトした後、命令デコーダ108で解読すること
により複数の制御信号を発生する。これらの制御
信号が各論理ゲートを制御することにより、デー
タ・レジスタ104から演算の対象となるデータ
を入力バス8に読み出し、さらに入力レジスタ1
01と102にこれらをセツトした後、ALU1
03により演算を行い、その結果を出力線109
を介してデータ・レジスタ104に送出する。な
お、データ・レジスタ104は、ある長さのビツ
ト幅を備えているもので、勿論メモリでもよい。
演算部1において、障害が発生すると、障害が
発生したプログラムのマイクロ命令で障害情報書
込命令を発生し、データ・レジスタ104等から
直接障害情報線5を介して障害情報を障害情報レ
ジスタ4に書き込む。その場合、障害が発生した
プログラムのプログラム・カウンタ3に対応する
エリアに情報を書き込む。障害情報としては、障
害を示すフラグ「1」の1ビツトでもよい。この
情報は入力ライン8に出力されると同時に、障害
表示線6を介してシーケンス制御部2の障害表示
レジスタ201に送出される。
すなわち、障害情報レジスタ4の内容がゼロで
ないことは、障害情報表示線6を介してシーケン
ス制御部2の障害表示レジスタ201のこのとき
実行していたプログラムに対応するビツトに記憶
される。
シーケンス制御部2の順序発生論理202は、
障害表示レジスタ201のプログラム対応のビツ
トがオフの条件を満たすプログラムについて、こ
れらのプログラムを1ステツプずつ時分割に実行
するようにプログラム・カウンタ3を選択する。
このように、いくつかのプログラムが時分割に
演算部1を使用する方式により、障害を発生した
プログラムは次回から順序発生論理202で、障
害表示レジスタ201の対応するビツトがオンし
ているため実行の割当がなされず、停止状態とな
るが、他のプログラムは実行の割当が行われる為
処理が続行できる。
第4図は、第3図におけるシーケンス制御部2
の詳細ブロツク図である。
障害表示レジスタ201は、障害表示フリツプ
フロツプ350,351,…35nから構成され
る。障害表示フリツプ・フロツプ350,35
1,…,35nは、障害表示線6と実行中のプロ
グラムの番号をデコーダ32でデコードした結果
のひとつと障害表示線6及びプログラムの番号の
確定した期間を示すクロツク線33をANDゲー
ト340,341,…,34nで論理積をとつた
結果でセツトされ、1ビツトがひとつのプログラ
ムに対応して障害を表示する。
順序発生論理202は、カウンタ31と実行割
当用固定メモリ(以下ROMと記述)ROM30と
ROM出力を保持するレジスタ36から構成され
る。実行割当ROM30からは、障害表示レジス
タ201とカウンタ31の出力で示される内容
が、次に実行されるプログラム番号として出力さ
れ、レジスタ36で実行割当ROM30の出力を
割り当てられたプログラムの実行サイクル中保持
する。カウンタ31は、1命令実行するたびに更
新されて実行割当ROM30の次のアドレスを示
す。
第5図は、第4図の実行割当ROM30の内容
一例を示す説明図である。
第3図では、8個のプログラムを時分割処理す
る場合の実行割当ROM30の内容を示してい
る。実行割当ROM30のアドレスは、カウンタ
31を4ビツトとした場合、障害表示レジスタ2
01の8ビツトとカウンタ31の4ビツトを合わ
せて12ビツトで示される。障害表示レジスタ20
1をアドレスの上位8ビツト・カウンタ31をア
ドレスの下4ビツトとすると、カウンタ31によ
る16ステツプを単位とする実行割当グループが、
障害表示レジスタ202の状態により実行割当
ROM30に0〜255の256種類作られる。
第5図には、障害表示レジスタ201の8ビツ
トと、カウンタ31の2進数4ビツトによる16ス
テツプが示されており、レジスタ201の8ビツ
トの内容によつてカウンタ31の16ステツプにプ
ログラムを割り当てた場合の割当グループ256種
類が太枠内に表わされている。
各実行割当グループは、障害表示レジスタ20
1の障害表示フリツプ・フロツプ350,35
1,…,357の値が“0”であるプログラムに
ついて、実行が割り当てられるようにプログラム
の番号が書き込まれていて、プログラムを1ステ
ツプ実行するたびに更新されるカウンタ31によ
つて次に実行するプログラムの番号が16ステツプ
分の実行割当グループから順次出力される。ある
プログラムの1ステツプの実行中に障害が発生す
ると、次のサイクルからは実行割当グループの番
号が変化し、障害を発生したプログラムに実行割
当を行わない実行割当グループが選ばれる。第5
図に示す実行割当グループ255は、すべてのプ
ログラムが障害を発生しているためシステムは停
止する。また、実行割当グループ254は、障害
が発生していないプログラム番号が7のみである
ため、16ステツプ分全部が7番プログラムに実行
割当を行う。同じようにして、実行割当グループ
252は、障害の発生していないプログラム番号
が6と7であるため、6番と7番のプログラムに
交互に実行割当を行う。また、実行割当グループ
1は、障害の発生したプログラム番号が7である
ため、7番を除いた0〜6番のプログラムに実行
割当を行う。
第6図は、本発明の実施例を示す電子計算機の
プログラムの実行のタイムタヤートである。
順序発生論理202の出力がプログラムAを示
すと、プログラム・カウンタ3はプログラムAの
命令アドレスAnを出力し、CSAR105にAnが
書き込まれ、Anに対応するCS106のデータCS
(An)がCSDR107へ読み出され、命令が実行
される。これと同時に、CSAR105の値Anは
プログラム・カウンタ更新部109により更新さ
れ、次に実行すべき命令アドレスAn+がプロ
グラム・カウンタ3のプログラムAに対応する場
所に書き込まれる。
プログラムAの1命令が終了すると、順序発生
論理202の出力は、カウンタ31が更新される
ことにより、次に実行すべきプログラムBを示
し、以下前述のとおりプログラムBが1ステツプ
実行される。このようにしてプログラムA,B,
C,…と1ステツプづつ時分割に処理される。
命令アドレスAo+1,Bo+1,Co+1はプログラ
ム・カウンタ3に書き込まれているので、例えば
8個のプログラムの実行が一巡した後の命令時間
に、これらの命令アドレスAo+1,Bo+1,Co+1
CSAR105に書き込まれ、CS106のデータ
が読み出される。
第7図および第8図は、本発明の実施例を示す
障害回復方式の動作説明図である。
障害発生によりあるプログラムが停止している
ことは、他のプログラムから障害表示レジスタ2
01を参照することにより検出され、他のプログ
ラムは停止しているプログラムの障害情報および
そのときのプログラム状態を採取し、障害状態を
解除し、障害表示レジスタの対応するビツトをオ
フすることにより、停止していたプログラムを再
開させる。
時分割に走行しているプログラム間での障害チ
エツク方法の一例を第7図aに示す。ここでは、
8個のプログラムが時分割に処理されるものと
し、プログラム0はプログラム1の状態をチエツ
クし、プログラム1はプログラム2の状態をチエ
ツクし、以降同様に次のプログラムの状態をチエ
ツクするというリング型のチエツク方式をとる。
この方法により、本システムは8個のプログラム
全部が障害を発生して停止しない限り、障害はシ
ステム内で前述の手法で回復される。
例えば、第8図において、プログラム1が障害
を発生して停止している場合、プログラム0は走
行の途中でチエツク・ルーチン401に分岐し、
障害表示レジスタ201のプログラム1のフラグ
を参照し、フラグが“1”であることから障害を
判別して、共通の診断ルーチン48に割込むこと
により障害情報および停止時のプログラム1の状
態を採取する一方、自からはプログラム0に戻つ
て処理を続行する。次に、障害情報の採取が終了
すると、障害回復のためのプログラムあるいはハ
ードウエアが起動され、プログラム1の障害を回
復した後、プログラム0に通知する。障害回復の
通知を受け取つたプログラム0は、障害表示レジ
スタ201のプログラム1に対応するフラグ
“1”から“0”に書き替え、プログラム1を再
開させる。このフラグの書き替えは、チエツク・
ルーチン401で行う。
例えば、プログラム0からプログラム6まで障
害が発生して停止した場合でも、プログラム7が
正常に走行していれば、前述のようにして、その
途中でプログラム0のフラグを監視し、診断ルー
チン、障害回復ルーチンを順次走行させてプログ
ラム0の障害を回復させる。プログラム0は走行
途中でプログラム1のフラグを監視し、前と同じ
ようにしてプログラム1の障害を回復させる。プ
ログラム1はプログラム2の障害を回復させ、プ
ログラム2はプログラム3の障害を回復させる。
このようにして、時間はかかるが、最後にはプロ
グラム0〜6の全部が再開する。
なお、第7図aに示すようなリング型チエツク
方式の他に、第7図bに示すように、全プログラ
ムを2グループに分けて、グループ間によるチエ
ツク方式も可能である。プログラム0〜3とプロ
グラム4〜7に分割した場合、プログラム0とプ
ログラム4が相互に監視し合い、プログラム1と
プログラム5が相互に監視し合う方法をとること
になる。
発明の効果 以上説明したように、本発明によれば、各プロ
グラムが共通に使用する演算部の障害が、そのと
き動作していたプログラムの障害となるため、障
害を発生したプログラムを除くプログラムは処理
の続行が可能となる。
また、時分割に実行されるプログラム全部が障
害により停止しない限り、つまり演算部の永久的
な障害以外の障害に関しては、プログラム相互の
状態チエツクにより、自システム内で障害の検
知、障害情報の採取、実行の再開が可能となる。
【図面の簡単な説明】
第1図は従来の障害診断制御装置のブロツク
図、第2図は従来の時分割処理型電子計算機の障
害診断方法の説明図、第3図は本発明の実施例を
示す障害回復機能を備えた電子計算機のブロツク
図、第4図は第3図におけるシーケンス制御部の
詳細ブロツク図、第5図は第4図の実行割当
ROMの内容の一例を示す説明図、第6図は本発
明の実施例を示すプログラム実行のタイム・チヤ
ート、第7図は本発明の実施例を示すプログラム
相互チエツク方法の説明図、第8図は本発明の実
施例を示す障害回復方式の動作説明図である。 1:演算部、2:シーケンス制御部、3:プロ
グラム・カウンタ、4:障害情報レジスタ、5:
障害情報線、6:障害表示線、201:障害表示
レジスタ、202:順序発生論理。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のプログラムに共用される演算部と、該
    演算部を時分割に使用するプログラムの順序を定
    めるシーケンサと、各プログラムごとに命令の順
    序を定める複数のプログラム・カウンタとを備え
    た電子計算機において、上記演算部の障害情報
    を、動作中のプログラム・カウンタに対応して記
    録し、記録された各プログラムごとの障害情報を
    全プログラムにより参照される障害表示ラツチの
    該当位置に表示し、上記障害表示ラツチを各プロ
    グラム相互間で監視し合うことにより、監視した
    プログラムが障害診断および回復の処理を実行す
    ることを特徴とする電子計算機の障害回復方式。
JP57078772A 1982-05-10 1982-05-10 電子計算機の障害回復方式 Granted JPS58195257A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57078772A JPS58195257A (ja) 1982-05-10 1982-05-10 電子計算機の障害回復方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57078772A JPS58195257A (ja) 1982-05-10 1982-05-10 電子計算機の障害回復方式

Publications (2)

Publication Number Publication Date
JPS58195257A JPS58195257A (ja) 1983-11-14
JPS6229820B2 true JPS6229820B2 (ja) 1987-06-29

Family

ID=13671192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57078772A Granted JPS58195257A (ja) 1982-05-10 1982-05-10 電子計算機の障害回復方式

Country Status (1)

Country Link
JP (1) JPS58195257A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012172682A1 (ja) * 2011-06-17 2012-12-20 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JPWO2012172682A1 (ja) * 2011-06-17 2015-02-23 富士通株式会社 演算処理装置及び演算処理装置の制御方法
WO2020170334A1 (ja) * 2019-02-19 2020-08-27 三菱電機株式会社 エレベーターの乗場操作盤装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62162747U (ja) * 1986-04-01 1987-10-16
JPH0827738B2 (ja) * 1986-08-15 1996-03-21 株式会社日立製作所 オンラインテスト方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012172682A1 (ja) * 2011-06-17 2012-12-20 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JPWO2012172682A1 (ja) * 2011-06-17 2015-02-23 富士通株式会社 演算処理装置及び演算処理装置の制御方法
WO2020170334A1 (ja) * 2019-02-19 2020-08-27 三菱電機株式会社 エレベーターの乗場操作盤装置

Also Published As

Publication number Publication date
JPS58195257A (ja) 1983-11-14

Similar Documents

Publication Publication Date Title
US5948112A (en) Method and apparatus for recovering from software faults
US4740969A (en) Method and apparatus for recovering from hardware faults
EP0479230B1 (en) Recovery method and apparatus for a pipelined processing unit of a multiprocessor system
US7313717B2 (en) Error management
JPS63141139A (ja) 構成の変更が可能なコンピュータ
JPH052654A (ja) マイクロコンピユータの故障検知方法および回路
JP3481737B2 (ja) ダンプ採取装置およびダンプ採取方法
US4355389A (en) Microprogrammed information processing system having self-checking function
JP3301992B2 (ja) 電源故障対策を備えたコンピュータシステム及びその動作方法
Lee et al. Measurement-based evaluation of operating system fault tolerance
JPS6229820B2 (ja)
JPS6113626B2 (ja)
JP2002229811A (ja) 論理分割システムの制御方法
KR950012495B1 (ko) 메모리 진단장치 및 방법
JPH11120154A (ja) コンピュータシステムにおけるアクセス制御装置および方法
JPH1115661A (ja) Cpuの自己診断方法
Robinson et al. Software fault-tolerance in the Pluribus
JPS60142747A (ja) 命令再実行制御方式
JPH07334383A (ja) 監視診断機能付計算機
JPH03273344A (ja) フォールトトレラントシステム
JPS5837583B2 (ja) 情報処理装置
JP2003345676A (ja) 二重化メモリシステム
JPS6061839A (ja) 論理装置の故障診断処理方式
JPH076103A (ja) 入出力チャネルの障害処理システム
JP2002215471A (ja) メモリポート、記憶装置、情報処理システム