JPS5837583B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS5837583B2
JPS5837583B2 JP52028433A JP2843377A JPS5837583B2 JP S5837583 B2 JPS5837583 B2 JP S5837583B2 JP 52028433 A JP52028433 A JP 52028433A JP 2843377 A JP2843377 A JP 2843377A JP S5837583 B2 JPS5837583 B2 JP S5837583B2
Authority
JP
Japan
Prior art keywords
test
information processing
command
storage device
dedicated
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
JP52028433A
Other languages
English (en)
Other versions
JPS53113447A (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
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP52028433A priority Critical patent/JPS5837583B2/ja
Publication of JPS53113447A publication Critical patent/JPS53113447A/ja
Priority to US06/115,368 priority patent/US4355389A/en
Publication of JPS5837583B2 publication Critical patent/JPS5837583B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 本発命は情報処理装置、具体的には動作確認機能を持っ
た情報処理装置に関する。
近年、情報処理装置の能力と信頼性が向上し、広範な用
途に1台の情報処理装置が利用される様になってきてい
る。
しかしながら、いかに信頼性が高くなったとはいえ、故
障率を完全にゼロにすることは不可能である。
従って情報処理装置の利用が高度化し、その影響する範
囲が広まるにつれて、稼動中の情報処理装置が万一故障
した場合に備える必要がますます強くなってさている。
稼動中の情報処理装置の故障に対処するためにまず最初
にしなければならないことが故障の検知である。
情報処理装置の稼動中の故障の検出について上記の様な
背景から従来からも種々の技術が開発されてきている。
以下に代表的なものを例示する。(1) 装置もしく
は回路の二重化により処理結果を逐次比較する。
(匂 情報処理装置内の情報を冗長度を持ったコードで
表わす様なハードウエアとし、その冗長性を利用したチ
ェックを常時ハードウエアで行う。
(3)情報処理装置内の動作を確認するためのテストプ
ログラムを用いて検査する。
前記第1項は装置単位又は装置内の回路ブロック単位で
二重化し、同一処理をそれらに対して行わせ、その処理
結果を常時比較して、それらが一致していることにより
その装置又は回路ブロックが正しく動作していることを
確認するものである。
又、前記第2項はパリテイチェック、レジデューチェッ
ク、制御信号のワンアウトオブNチェック等が該当し、
メモリ等データ転送路についてはパリテイチェツクが割
合低コストで実現できる。
しかしながら論理演算回路、制御回路等に適用すると比
較的コスト高となるものである。
前記第3項は更にテストプログラムによる検査を開始す
る方法、テストプログラムの動作レベル、テストプログ
ラムの格納場所(常時及び検査実行時)等によって種々
のバリエーションがある。
マイクロプログラム方式の情報処理装置で典型的なバリ
エーションは、検査開始方法については人間のも断と指
示によるものと、システムソフトウエアとかハードウエ
アのタイマ等により自動的にほぼ一定時間毎に検査開始
するものとがある。
又、テストプログラムの動作レベルとしてはソフトウエ
アプログラムのレベル(命令レベル)とマイクロプログ
ラムのレベルとがある。
更にテストプログラムの格納場所については、磁気テー
プ等の様に、検査開始にあたって人手操作を要する記憶
媒体と、システムソフトウエアの一部として磁気ディス
クへ格納するものと、主記憶あるいは制御記憶の一部へ
格納するものとがある。
又、常時と検査実行時とでテストプログラムの格納場所
が異る場合は更に検査実行のためのテストプログラムの
移動手段によってもバリエーションが生じる。
尚、前記(1) , (2) , (3)項に列挙した
他にも代表的なものとして、情報処理装置を利用するソ
フトウエアの中で冗長性を持たせて情報を処理・記録し
たり、同一の情報処理を異った処理手順で2回実行して
みて、結果を比較してソフトウエア的に確認する方法が
ある。
以上の様な各種の技術が共存している理由はそれぞれの
方式に長所・短所があり、適用する情報処理システムの
差によって故障検出技術に要求されるポイントが異るた
めである。
そのポイントとして最も基本的なものは次の諸点である
l.故障発生から故障検出までに要する経過時間2.故
障検出のために増加するハードウエアのコスト 3.故障検出のために消費する情報処理装置の処理能力
(記憶容量及び装置専有時間) 4.故障検出の完壁性(故障検出率) 例えば装置を二重化してその出力を常時比較検査する方
法を例にとって上記のポイントを評価すると、故障検出
までに要する経過時間は事実上ゼロであり、最も短かく
、ハードウエアコストは二重化のために2倍となり更に
比較回路を加える必要がある為最もコスト高であり、処
理能力の損失はほとんどなく(2台の情報処理装置の同
期運転をするため及び比較するため(こ単独運転時より
も若f遅く運転することになる。
)、故障検出はほぼ完壁に行えると言える。
即ち、この方式は「故障の結果生じる誤った情報がただ
ちに取りかえしのつかない結果を生じるので、例え非常
に低い確率ではあっても誤った情報を生じることが許さ
れない。
」様なシステムに用いるのに適した技術である。
又、バッチ処理システムで用いられる情報処理装置では
例えば故障発生がlO秒以内に検知されれば、その情報
処理装置が出した誤った情報は十分確実に回収できるの
で、故障検出に要する時間がそれ以上短い必要はなく、
上記(2)と(3)とを含めた検出のためのコストが安
い方がより重要なポイントである。
故障検出の完壁性はいかなるシステムであっても望まれ
゛るのは当然であるが1方法のみで完全に100%故障
を検出するのが困難で且つ、きわめて高価となること、
及び故障の発生確率が極めて小さいこと等から通常はい
くらかの故障検出方法を併用して故障検出の完壁性を高
める様にし、個個の故障検出方法の故障検出率は上記故
障検出の為のコストとのトレードオフという観点からと
らえられ、評価される。
そして複数の故障検出方法を総合した全体としての故障
検出率とその故障検出コストが、故障発生の確率及び故
障によって生じた誤った情報がもたらす悪影響とのトレ
ードオフとして評価される。
従って従来から前記4つのポイントのそれぞれに特徴を
持ったいくつかの故障検出技術が開発されてきており、
それらは現在も利用されている。
本発明は上記背景に鑑みてなされたものであり、前記第
3項のテストプログラムを用いる検査に該当するもので
、処理装置異常検出の為の専用記憶ならびに制御回路を
設け、処理装置の遊休(アイドル)時に専用制御回路の
指令に基き処理装置を検査し信頼性を向上させた情報処
理装置を提供することを目的とする。
又、多くの情報処理システムに広く適用できる安価な故
障検出技術を提供することを目的とする。
この技術は故障検出までに要する時間が十分小さく、ハ
ードウエアコストが安く、故障検出のために情報処理装
置の処理能力を消費することがなく満足できる故障検出
率を有するものである。
以下、本発明に関し詳細に説明する。
まず本発明の概要につき、本発明を中央処理装置(以下
CPUという)に適用した場合を中心として説明する。
テストプログラムを用いた故障検査は必然的にテストプ
ログラム実行のために情報処理装置を動かすので、情報
処理能力の1部を故障検出のために要する。
本発明もその例外ではないのであるが、情報処理装置の
ユーザが有効に利用していない時間を利用してテストを
行う様にし、ユーザから見た場合には故障検出のために
消費されるユーザの情報処理時間がほとんどゼロとなる
様にした点が本発明の特徴の一つである。
テストプログラムの格納場所としては専用の記憶装置を
持っている。
そして故障検出のために動作する時はその記憶装置から
テストプログラムが1語ずつ読み出されてテストが実行
されていく。
従ってテスト実行に先立ってテストプログラムを制御記
憶の一部に移したり、テスト終了後に制御記憶を復元す
る等の余計な仕事をする必要はない。
又、動作確認テスト専用の記憶装置(以下専用メモリと
いう)にテストプログラムが入っている為制御記憶装置
中にテストプログラムを入れるための場所を保つ必要は
ない。
専用メモリの記憶容量を減らす為に、専用メモリ中には
テストプログラムをマイクロ命令の形でそのまま入れな
いで制御記憶装置内のマイクロ命令(又はマイクロルー
チンの先頭マイクロ命令)のアドレスという形で記憶さ
れる様にしている点も本発明の特徴の1つである。
本発明実施例においてはマイクロ命令のビット長は80
ビットあり、マイクロプログラムを記憶する制御記憶装
置の容量は8K語である。
方専用メモリは8K語の制御記憶をアクセスできる様に
、且つ他の目的にも制御回路等が使える様に余裕を持た
せて診断コマンド(第5図)の形にまとめた実施例の場
合でも16ビットで済むので、マイクロ命令をそのまま
記憶させるのに比べ専用メモリの記憶容量は1/5
となっている。
次に前述した4つのポイントに関して本発明の概略を説
明する。
故障発生から故障検出までに要する時間は、本発命を適
用するシステムの稼動状況によって異るが数ミIJ秒か
ら数百ミリ秒の間をとるのが普通である。
これはCPUが入出力待ちをしている間を利用して動作
確認ができるということであり、詳細は後述する。
又、故障検出のために増加するハードウエアとしては専
用メモリとそのアドレスレジスタがある。
その他にも動作確認テスト用回路として図示(第3図)
した様な回路を必要とするわけであるが、専用メモリと
そのアドレスレジスタ以外は以下に述べるごとく故障診
断用のハードウエアを利用することができる。
又、故障検出のために消費するCPUの処理時間は前述
の如く入出力待ちの遊び時間を利用しているためほとん
ど無に等しい。
故障検出のために専有する制御記憶装置の容量としては
、故障検出のために作られたマイクロプログラムが若干
存在する。
第8図のテスト結果蓄積ルーチンとか第4図のフローチ
ャートで参照されている「ジエネラルレジスタの退避」
「テスト用初期化ルーチン」 「ジエネラルレジスタ
の復帰」の各ルーチン(これらのルーチン自体はいずれ
も図示せず)とか、第4図のフローチャートの中間部分
(第2図のDIS命令フローチャートと比較して増加し
た部分)等である。
いずれも少量のルーチンであるので、例えば制御記憶の
記憶容量の1〜3俤程度の量で済む。
最後に故障検出の完壁性については、実際に本発明を適
用する情報処理装置のハードウエアの論理構造、マイク
ロ命令語、及び専用メモリに書込まれる動作確認テスト
等の設計によって大きく左右される。
これは従来からあるテストプログラム方式の故障検出の
場合と同様である。
従来のテストプログラム及び本発明の実施例の結果から
推測すると一般的にいってso%程度の故障検出率は容
易に達成でき、95%程度の故障検出率を得るのはそれ
程困難なことではない。
以上述べた本発明の概要をまとめるとr”CPUが入出
力待ち等のため遊休状態に入ったら、専用メモリ中に匍
脚記憶のアドレスを指定する形式で格納されている動作
確認テストを実施する”ことによって、従来得られてい
た6マイクロプログラムレベルのテストプログラムによ
る故障検出”の長所はそのまま生かし、且つ従来せの短
所とされていた“テストのために処理能力を消費する”
及び”テストプログラムを記憶するための記憶容量が大
きい”を大幅に改善した。
」と言える。以下、本発明実施例の詳細につき図面を用
いて説明する。
第1図は本発明を適用すべさCPUを本発明との関連を
明確にできる範囲内で簡略化して表わした概念図である
CPUを制御するマイクロプログラムは匍脚記憶装置1
に格納されており、シーケンス制御部2から与えられる
アドレスに従って読み出されたマイクロ命令語はマイク
ロ命令レジスタ3に入り、マイクロ命令としてシーケン
ス制御部2及びCPUのその他の部分を制御する。
第1図でその他の部分としては演算部圭が示されている
演算部A内にはジエネラルレジスタGR5、スクラッチ
パッドメモリSPM6、ワーキングレジスタRT7、オ
ペランドレジスタRD8があり、それらは2つのセレク
タ9,10を介して演算論理回路ALU11の2人力に
接続されている。
演算論理回路ALU11は2進演算・10進演算・論理
演算・シフト等を行う回路で一般によく知られているの
で説明を少略する。
論理演算回路ALU11の出力は再びジエネラルレジス
タGR5、スクラッチパッドメモリSPM6、ワーキン
グレジスタRT7、オペランドレジスタRD8に書込む
ことができる。
又、12はインジケータであり、前記論理演算回路AL
U1 1の出力が数値としてゼロ、負であるときにそれ
ぞれセットするFZ及びFN,及び論理演算回路ALU
1 1内で加算をした結果生ずるキャリーを記憶するF
Cの3つのフリツプフロツプから成る。
尚、前記ジエネラルレジスタGR5はソフトウエアから
見えるレジスタの総称であり、インジケータ12もソフ
トウエアから見えるレジスタであるが以下に述べる如く
本発明中制御にも用いられ別扱いのものである。
又、オペランドレジスタRD8には主記憶装置から読み
出されたオペランドをセットするための入力データパス
も接続されているが図示していない。
CPU内各部からはシーケンス制御に必要な情報がシー
ケンス制御部へ送られ、シーケンス制御部ではマイクロ
命令とそれらの情報に基いて次に読み出すべきマイクロ
命令語のアドレスを決める。
第3図は第1図のCPUに本発明を適用した例である。
図中、制御記憶装置のアドレス情報はシーケンス制御部
から与えられるのみではなく、動作確認テスト用回路中
のコマンドレジスタからも与えつる様にセレクタが追加
される。
(実際の設計にあたってはシーケンス匍脚部に変更を加
えて、このセレクタの機能を含ませた方がハードウエア
増加量が少なくなる。
本発明の説明においては個々の適用毎に異るシーケンス
制御部に立入ることを避けて説明を簡明にするためセレ
クタを新設した場合を述べる。
)該CPUは第1図で示したものと同様であるため各ブ
ロックの番号・略称は同じとし、詳細な説明は省略する
第1図に追加したハードウエアブロックとして動作確認
テスト用回路20がある。
該回路20は16ビット×512語の専用メモリ21と
9ビットのアドレスレジスタ22を持ち、専用メモリ2
1の出力はセレクタ23を介してコマンドレジスタ24
へ接続される。
該コマンドレジスタ24の出力は前述の*+m記憶装置
1のアドレス情報として用いられる他、専用制御回路2
7を中枢として動作確認テスト用回路20全体を制御し
、更にCPU内レジスタのリード/ライトを指示できる
様Cこなっている。
(第6図コマンドの種類参照)CPU内のレジスタから
読み出した内容は前記セレクタ23を介してデータレジ
スタ25にセットでき、又任意のデータをそのデータレ
ジスタ25にセットしてそれをCPU内のレジスタ番と
書込むことができる様にデータパス26が設けられてい
る。
CPU内のレジスタとしては演算部ALU11として図
示されているレジスタの他にも例えばCPUの動作モー
ド(正常モード/l命令モーヴlステップモード)を決
めるモードレジスタ(図示せず)等がある。
又、コマンドレジスタ24、データレジスタ25、専用
制御回路27等を故障診断にも共用するため、コマンド
レジスタ24、データレジスタ25へは外部の装置から
も診断コマンドを送り得る様に外部装置インターフェー
ス28が前記セレクタ23を介してコマンドレジスタ2
4、データレジスタ25に接続されている。
又、前記専用メモリ21のアドレスレジスタ22はカウ
ントアップ機能を有す。
更に、CPU内レジスタと並んで専用メモリ21及びア
ドレスレジスタ22は外部から書込みができる様にデー
タレジスタ25と結ばれており、故障診断や本発明のテ
ストプログラムの専用メモリ21へのローデイング等の
目的で利用される。
第5図はコマンドのフォーマットを示したものである。
コマンドは16ビットから成り、コマンドレジスタ24
及び専用制御回路27はこのコマンドフォーマットを受
け入れることができる様に設計される。
即ち、コマンド部として3ビット、アドレス部として1
3ビットを持ち,8K語までの毒卿記憶装置1をアドレ
ツシングし、8種類の動作を指定できる様になっている
第6図はコマンドの種類について書かれたもので、コマ
ンドの種類に対応して第5図のアドレス部13ビットが
どの様に使われるかを示している。
コマンドコード“0”を与えるとアドレス部13ビット
で指定したアドレスからマイクロプログラムの実行を開
始する様CPUへ指示する。
又、コマンドコード″l”を与えるとアドレス部で指定
したアドレスからマイクロ命令語を読み出してそれを実
行する様CPUへ指示する。
コマンドコード″l”の「ステップCPUコマンド」が
コマンドコード″′O”の「スタートCPUコマンド」
と異なる点はステップCPUコマンドの場合は、前記動
作モードに関係な<CPUが1ステップ実行したらCP
Uの動作を止める様に強制する点にある。
これを実現するためには専用制御回路27は「ステップ
CPUコマンド」を受けとったら、あたかもCPUのモ
ードレジスタが1ステップモードにあるかの如く強制す
る制御信号をCPUへ送るのみでよい。
後述する様に本発明におけるテストプログラムを実行す
るにあたってはまずモードレジスタを1命令モードにセ
ットする。
それにより、「スタートCPUコマンド」でスタートし
たマイクロプログラムはそのマイクロルーチンの終りを
表わす″’END”マイクロ命令まで実行され、そこで
CPUが停止する。
そして「スター}CPUコマンド」及び「ステップCP
Uコマンド」を実行したら、その実行が終了してC P
’Uが停止するまで、次のコマンドを専用メモリ21
から読み出すのを待つ様に専用制御回路27が設計され
る。
又、専用I1脚回路27はコマンド″′2”の「ストッ
プテストコマンド」を受けとると専用メモリ21からコ
マンドを読み出すのを止め待機状態に入る。
これを論理回路で実現するのは電子計算機設計lこ携わ
る技術者にとって容易なことであるため専用制御回路2
Tの詳細は図示しない。
尚、マ・fクロ命令レジスタ3から専用制御回路27へ
は「スタートテスト」マイクロ命令が与えられる。
「スタートテスト」は本発明のテスト開始を専用制御回
路27へ指示するマイクロ命令である。
以下、本発明の動作につき詳細に説明する。
まず、本発明を適用すべきCPU即ち第1図の動作を第
2図のフローチャートに従い説明する。
図において、命令1〜命令Nというのはソフトウエアか
らみたCPUの機械語命令の区別である。
命令lが機械語としてCPUに与えられるとシーケンス
f6sp部2が機械語の命令コード部分を解読し、その
命令lのマイクロプログラムの先頭番地が格納されてい
る制御記憶装置1のアドレスS1 を制御記憶装置に与
える。
該当するマイクロ命令が読み出されてマイクロ命令レジ
スタ3に入れられ、そのマイクロ命令に従ってCPUが
動作し、ジエネラルレジスタGR5とオペランドとを論
理演算回路ALUIIを用いて演算(加算)し、再びジ
エネラルレジスタGR5へ書込む。
この命令lの場合にはマイクロプログラムlステップの
実行によって命令lの動作が全て終わってしまうので、
マイクロ命令″END”もこのステップS1 で同時に
実行される。
マイクロ命令″END”は1つの命令語の処理終了に伴
うもろもろの動作を行う。
例えばモードレジスタで1命令モードの動作が指定され
ていれば、マイクロ命令″END”によってCPUは停
止する。
又、マイクロ命令”END”はシーケンス制御部2へ、
次の命令語のマイクロプログラムの先頭番地をアドレス
として制御記憶装置1へ与える様に指示する働きを持つ
従って命令lの次に命令3を実行する様なプログラム【
こなっているとすれば、シーケンス匍脚部2は次の命令
語(命令3)の命令コードに対応するマイクロプログラ
ム先頭番地の制御記憶装置1でのアドレスS5をilJ
Ml記憶装置1に与える。
こうして次にはS,のマイクロステップが実行される。
そしてマイクロプログラムの制御の下に逐次S,.S6
S7・・・・・・・・・とマイクロ命令が実行される
ことになる。
マイクロプログラム制御それ自体はよく知られているの
で第2図ではマイクロステップ個々の内容の例示は省略
されている。
ステップS7tSg*S,から成るマ・イクロプログラ
ムのノ〆−プとかステップS18のマイクロプログラム
の分岐が例示されている。
こうした命令の1つとしてDIS命令を持っている。
この命令は入出力割込み等、CPUの舛部から何らかの
信号が与えられるまでCPUを遊休状態(アイドル)I
こするという機能を持った命令である。
オペレーティングシステムは入出力動作の完了待ちとな
って、CPUが実行すべき仕事がなくなったときにこの
DIS命令を実行するものである。
このDIS命令は本発明におけるテストプログラム(以
下動作確認テストプログラムと称する)の起動手段とし
て用いるので第2図中にフローチャートを記してある。
DIS命令が実行されると前述の如くしてS18のマイ
クロステップが実行され、制御フリップフロツプFDI
S がセットされる。
このフリツプフロツプFDIS は例えばオペレータ
パネル上の動作表示ランプの制御等、DIS命令に固有
の動作を制御するものであり、本発明とは直接の関係を
持たない為図示されていない。
次に814のステップではCPUの列部からの入出力割
込みの存在を表わすXIP信号が″″l”になるのを待
つループである。
このループにとどまっている間、CPUは何もせずに遊
休状態にある。
やがて入出力動作の1つが終了するとXIP信号が″′
l”となり、ステップS15に進みFDIS をリセ
ットした後、その入出力動作終了割必みの処理ルーチン
へ移る。
尚、1命令の処理が終ってマイクロ命令″″END”が
出たときにXIP信号が”l”になっていればシーケン
ス制御部2が次命令のマイクロプログラムの先頭番地を
制御記憶装置1に与える代りに割込み処理ルーチンの先
頭番地を与えることによっても割込み処理ルーチンへ移
る。
第4図は本発明を最も単純な形で適用した後のDIS命
令のフローチャートである。
破線で囲まれた部分が第2図のDIS命令のフローチャ
ートに追加されている。
上述した如く、本発明適用例のCPUではこのDIS命
令を実行している間はCPUが遊休状態にあることが確
実であるので、DIS命令に入ったら本発明の動作確認
テストを実施する様にしたものである。
DIS命令に入るとまず、第2図と同様にFDI S
をセットする。
次に機能確認テストが禁止されているか否かテストし、
禁止されていれば従来と全く同じフローとなる様にして
ある。
これは一部の診断プログラム等で従来のものと互換性を
保つために機能確認テストをしない様にするためのもの
、及び専用メモリ21のパリテイエラーを検出した後の
処理のためのものであり、本質的なものではない。
通常はテスト禁屯モードになっていないのでジエネラル
レジスタの退避を行うルーチンに進む。
これは動作確認テストでソフトウエアから見えるジエネ
ラルレジスタGR5をも自由にテストできる様にする為
スクラッチパッドメモリSPM6内の所定の領域へジエ
ネラルレジスタGR5の内容を記憶しておくものである
又、このルーチンでインジケータ12の内容も併せて記
憶しておく。
続いてテスト用初期化ルーチンへ入り、ジエネラルレジ
スターGR5、ワーキングレジスタRT7、スクラッチ
パッドメモリSPM6の一部分等テストを行うに先立っ
て一定の値を持つべきレジスタを初期化する。
図示されていない匍脚関係レジスタ等でマイクロプログ
ラムによって初期化した方がよいものもここで初期化す
る。
(後述の様にこの実施例ではコマンドによる制御関係の
初期化も併用している。
)尚、ジエネラルレジスタの退避、テスト用の初期化は
いずれもマイクロプログラムレベルのテストプログラム
で普通に使用されている手段であるため詳細な説明は省
略する。
以上で動作確認テストを始めるための準備が終了して、
次にはいよいよ動作確認テストを行うため【こマイクロ
命令“スタートテスト”を出すステップへと進む。
マイクロ命令6スタートテスト”は第3図(こ示す如く
マイクロ命令レジスタ3から専用制御回路27へと送ら
れ、待機状態にあった専用制御回路27を起動する。
専用制御回路27はまず専用メモリアドレスレジスタ2
2をゼロにリセットした後、専用メモリ21から動作確
認テストプログラムの先頭番地を読出してセレクタ23
を介してコマンドレジスタ24に入れる。
一方CPU側ではマイクロ命令“スタート”を出した後
、第4図のフローチャートに示される如く停止する。
マイクロ命令セットの中にCPUを停止させる様なマイ
クロ命令を持っている場合又は本発明のために新設した
マ・fクロ命令”スタートテスト”にCPUを停止する
機能を併せ持たせることができる場合、ここでCPU停
止に至らしめるのは容易である。
本発明実施例ではCPUの内部制御に用いるマイクロ命
令には自身(CPU)を停止させる機能は持たない設計
思想となっているので、専用メモリ21から読み出した
コマンドを用いてCPUを停止させている。
そしてDIS命令のマイクロプログラムではマイクロ命
令6スタートテスト”を出した次に実際には自身の番地
5無条件ジャンプする様なマイクロステップをおいてC
PUが停止させられるのを待つようにしている。
第4図のDIS命令のフローチャートの残りの部分につ
いての説明は後程動作確認テストプログラムの動作説明
終了後に行うこととし、第7図の動作確認テストプログ
ラムの説明に移る。
第7図は専用メモリ内の動作確認テストプログラムの構
成例である。
前述の如く、専用メモリ21から読み出されてくる最初
のコマンドは、専用メモリのゼロ番地に格納されている
「ステップCPUコマンド」である。
「ステップCPUコマンド」の機能は特定マイクロステ
ップからCPUを起動することと、lステップ実行後停
止することの2つからなっている訳であるが上記した様
に、この時CPUはまだ停止していない為、第1の機能
は働かず第2の機能のみが働く様になっていることを利
用して、前述の「コマンド(こよりCPUを停止させる
」ための手段として利用している。
いま、0番地から「ステップCPUコマンド」を読み出
した後、専用メモリアドレスレジスタ22はカウントア
ップされ、「ステップCPUコマンド」の実行が終ると
次は専用メモリ21の1番地からモード指定レジスタヘ
データを書込む様な「データ書込みコマンド」が読み出
され、同様にしてコマンドレジスタ24ヘセットされる
ここで専用制御回路27はコマンドコードを解読してデ
ータが後続していることを知り、専用メモリ21の2番
地を読出してセレクタ23を介してデータレジスタ25
の左半分に入れる。
尚、データレジスタ25は専用メモリ21の2語分の語
長があるので、通常の「データ書込みコマンド」の場合
は専用メモリ21内のコマンドに続く2番地がデータレ
ジスタ25へ入れられるのであるが、データを書込むべ
きレジスタ25の語長が短い場合は、この様にデータの
読出しを1語で打切っている。
2番地に貯えられているデータはモードレジスタを1命
令モードに設定する様なデータであるので専用制御回路
27が次にこのコマンドを実行するとCPUは1命令モ
ードに入る。
この目的は後述する様Cこ特定のマイクロプログラムル
ーチンをCPUに実行させ、そのルーチンの実行が終っ
たらCPUを停止させるための準備である。
次には制御関係のレジスタ、フリツプフロツプをテスト
の目的で初期化するための一連の「データ書込みコマン
ド」が続く。
この内容はこれから後で行おうとするテストの設計及び
本発明を適用する情報処理装置の論理構造によって個々
に異る性質のものである。
本発明実施例では多数の制御レジスタ、フリツプフロツ
プをまとめて一度にリセットする様な機能を持ったCP
Uであるので、そのリセット機能に仮想的レジスタアド
レスを与え、「データ書込みコマンド」によりそのリセ
ット機能を働かせる様にして初期化の手順を簡単にして
いる。
こうしてテストのための初期化が完全に終るといよいよ
故障検出のためのテストそのものの実行に入る。
このテストの内容も情報処理装置の論理構造と動作確認
テストの設計によって個々に異るものであり、マイクロ
プログラムレベルのテストプログラムを組んだ経験のあ
る技術者であれば容易に推考可能なものである為、テス
トを実行する機構を中心として以下に説明し、テストの
内容については説明を省略する。
まず、第7図のT1,1 のコマンド「スタートCP
U,S2jが読み出され、実行される。
その結果CPUは制御記憶1の82番地から始まるマイ
クロプログラムを実行し、マイクロ命令”END”を実
行して停止する。
即ち第2図を参照すると、これ!2テスト用に初期化さ
れた状態から出発して命令2を実行させたのと等しいこ
とがわかる。
命令2のマイクロプログラムS2,S3,S4ではそれ
ぞれCPU内のレジスタ、メモリ、フリツプフロツプの
状態に何らかの処理を加え、その結果を記憶させること
になる。
この時用いた処理回路又はレジスタ、メモリ、フリツプ
フロツプ(以下レジスタと呼ぶ)に故障があり、この時
用いられたデータがその故障を顕在化する条件を備えた
ものであったとすれば、その故障があることによってレ
ジスタ【こ記憶されている情報が影響をうけて変化して
いることになる。
その影響をうけた情報は後続するステップで更lこ読出
され、別のレジスタ等又は同じレジスタ等に記憶される
ことになる場合もある。
ともかく故障の有無によってレジスタ等に貯えられる情
報に差を生じるようにすることがこの段?の目的であり
、ここで実行されるマイクロステップ列は制御記憶1の
中からそうした観点から選び出されたものである。
こうしてマイクロプログラムが84 まで進み、その実
行を完了すると、l命令モードにあるCPUは停止する
すると専用制御回路21はCPUの停止を知って次のT
1,2のコマンドを読み出し実行する。
これは「ステップCPU ,S8コマンド」であるので
、次にCPUは第2図に見る如く命令3の第4番目のマ
イクロステップを1ステップだけ実行して停止する。
すると専用制御回路21は更に次のコマンド「スタート
CPU,S20Jを読出して実行する。
その結果ステップS20tS21,S2の3ステップか
ら成るマイクロステップ列をCPUは実行し停止する。
この様にして次々とCPU内の各部分を動かしその結果
をレジスタ等に記憶させあるいはそうして記憶させた情
報に基づいて更{こ処理をさせ、その結果をレジスタ等
に記憶させるということを繰返した後、専用制御回路2
1はT1,nのコマンド「スタートCCPU.S,lを
読出し実行する。
ここでS。
は第8図に示したテスト結果蓄積ルーチンの先頭番地で
ある。
第8図はテスト結果蓄積ルーチンの例であり、このルー
チンは本発明のために作られたものであって第2図の各
ルーチンと並んで制御記憶装置1に格納されている。
このルーチンの目的はこれまでのテストの結果CPU内
の各種レジスタに記憶されている処理結果を集めて、故
障の影響をうけた処理結果を1つでも受けた場合は必ら
ず故障のない場合に得られるものとは異った値をとる様
な1語とし、データ量の圧縮をすることにある。
本発明全体が故障の検出を目的としたものであり故障の
局所化をする必要がないことに鑑みて本発明実施例の場
合、テスト結果を1語のデータにまで圧縮し簡単化して
いる。
又、データ圧縮の方法としては、2進加算を用い、その
時発生したキャリーは次の2進加算の時に最下位桁に加
える方法をとっている。
CPUでは多倍長演算の便宜のためjここの様なハード
ウエアを備えている。
テスト結果はスクラッチパッドメモリSPM6の特定番
地(TSA)に蓄えることとし、そのTSA番地には少
くとも動作確認テスト中だけはこのテスト結果蓄積ルー
チン以外では細込みをしない様にしている。
そしてこのTSA番地は第4図のテスト用初期化ルーチ
ンで初期化している。
さて、専用メモリ21のT1,n番地の「スタートCP
U,SCコマンド」が実行されると第8図にみられる様
にまずワーキングレジスタRT7とフリツプフロツプF
Cに残されたテスト結果が、スクラッチパッドメモリS
PM6のTSA番地の内容に加えられ、その結果はワー
キングレジスタRT7とフリツプフロツプFCとに記憶
される。
次にジエネラルレジスタGR5のO番のレジスタに残さ
れているテスト結果がワーキングレジスタRT7に加え
られるとともに前のRT+SMP(TSA)の演算で発
生したキャリーが、フリツプフロツプFCを介して加え
られ、その結果は再びワーキングレジスタRTとフリツ
プフロツプFCとに記憶される。
こうしてテスト結果を1語に圧縮していき、最後にその
結果をスクラッチパツドメモ!JSPM6のTSA番地
へ書込んでテストlの結果の蓄積は終り、マイクロ命令
”END”でCPUは停止し、専用制御回路27は次に
続くT2,1番地のコマンドを読出して実行するという
ことになり、テスト2が開始される。
尚、フリツプフロツプFZのセット/リセットはこの段
階では大きな意味は持たず詳細は後述する。
本発明実施例では専用メモリ21中に占めるテスト用の
データ量を減らすためテスト用のレジスタの初期化はテ
スt−1の実行前にのみ行い、テスト2以降ではその前
のテストでCPU内各レジスタ等に残された情報をその
まま用いて次のテストを実行する様設計する努力をして
いるが、その様にするのが困難な場合も多々あり、テス
ト2以篩の各テストの初めのいくつかのコマンドとして
まず「データ書込みコマンド」が実行されることも多い
テスト2が終了するとT2tm番地のコマンドで再び第
8図のテスト結果蓄積ルーチンが実行され、スクラッチ
パッドメモリSPM6のTSA番地にB醜されていたテ
ストlの蓄積結果に、テスト2の結果が加えられ、再び
1語に圧縮されて、スクラッチバットメモリSPM6の
TSA番地に記憶さ犯る。
この様にして次々とテストMまで実行される。
テストMではワーキングレジスタRT7を遊ばせておく
様にし、テスI−Mの終了後、データ書込みコマンドで
「全テストのテスト結果を圧縮した正解値」の補数をワ
ーキングレジスタRT7に書込む。
(ここで正解値とは故障のない場合のテスト結果を圧縮
したものの意味である。
)ワーキングレジスタRT7に書込まれるべきデータは
専用メモリ21の2語を要している。
そして再び第8図のテスト結果蓄積ルーチンを実行させ
る。
その結果テスト1〜テス}Mまでの全てのテスト結果が
1語に圧縮され、且つ、CPUに故障が無い場合(こは
最後の加算結果はゼロとなる。
即ち、CPU内の故障の有無はフリツプフロツプFZが
セットしているか否かの形で記憶されることとなり、故
障がなければFZがセットする。
尚、本発明実施例では上述の様に最後のテストであるテ
ストMを特別番こ扱い、データ蓄積の過程で正解値の補
数を加える様にしているが、これは動作確認テストの語
数を極力減らす様にしたための手段である。
第7−A図は第7図における専用メモリ内の動作確認テ
ストプログラムの変形例であり、この図の如くテス}1
〜テスl−Mまでのテスト結果の蓄積と、正解値との比
較を分離すれば設計が簡明になり、且つテストMにつけ
た制限を削除できる。
その時は蓄積ルーチンの最後でフリツプフロツプFZを
セットする必要はナく、代りに正解値と蓄積結果との比
較をし、正解値と一致していればフリツプフロツプFZ
をセットし、不一致の場合はリセットするステップSj
が必要となる。
ステップSjは命令実行のためのマイクロプログラムの
中に容易に見つけることができると思われるのでそれを
利用すればよい。
第8 −A図はその様に変更したテスト結果蓄積ルーチ
ン及び判定用ステップを示したものである。
これにより、実質的な故障検出は完了し、後処理に入る
まず、テストのために1命令モードに書換えてあったモ
ードレジスタを正常モードにもどすための「データ書込
みコマンド」を実行し、次fこ「スタートcPU,Sd
コマンド」を実行する。
このステップSdは第4図のDIS命令フローチャート
で「停止」ステップの次に実行する様に書かれているマ
イクロ命令のアドレスであり、この「スタートCPU,
Sdコマンド」を実行することによって動作確認テスト
のために中断されていた第4図のDIS命令のマイクロ
プログラムの実行が再開されることになる。
専用制御回路27は次の「ストップテストコマンド」を
解読すると専用メモリ21の読み出しを止め待機状態に
戻る。
さて、上述の様にしてCPUのマイクロプログラムは第
4図のSd番地のステップから実行を再開し、まずフリ
ツプフロツプFZのテストを行う。
フリツプフロツプFZがゼロであれば前述の様に故障が
検出されたことを意味するので例列処理ルーチンへ進み
、他の例害処理と同様にして異常発生を報告する。
フリツプフロツプFZがセットしていた場合にはスクラ
ッチパッドメモリSPMS内に退避しておいたジエネラ
ルレジスタGR5の内容を読み出してジエネラルレジス
タGR5及びインジケータ12を復帰する。
これで動作確認テストの後処理は全て終了したことにな
り、従来のDIS命令の場合と同じく人出力割込み信号
を待つループに入る。
以上で最も単純な形で本発明を適用した実施例の動作説
明を終ったので蛇足ではあるが若干動作確認テスト及び
テスト結果蓄積ルーチンの説明を補足する。
この第7図の例で見る様にいくつかのステップを実行さ
せた後、テスト結果の蓄積を行う様にしている。
■ステップ実行する毎にテスト結果の蓄積を行っていな
い理由は次の様なものである。
(1) テスト結果蓄積ルーチンを実行させるコマン
ドが多くなるとテスト所要時間の点からも専用メモリ上
の語数の面からもオーバーヘッドを増すことになる。
(2)テスト結果、蓄積ルーチンでは全てのレジスタ等
の記憶内容を蓄積することは通常できない。
その為、あるマイクロ命令又はマイクロ命令列を実行さ
せた結果、蓄積ルーチンから見えないレジスタ等に記憶
された情報は、更に別のマイクロステップ又はマイクロ
ステップ列を実行させて処理を続け、蓄積ルーチンから
見えるレジスタ等まで導いてやり、その上でテスト結果
の蓄積ルーチンを実行する必要がある。
(3)通常、1マイクロステップ列1つを実行させただ
けでは蓄積ルーチンから見えるレジスタ等の一部分にし
か処理結果が入らない。
従って異ったレジスタに処理結果を入れる様なマイクロ
ステップ又はマイクロステップ列を実行させてなるべ<
多<のレジスタ等に処理結果が入った後でテスト結果蓄
積ルーチンを実行させると効率よくテストが行なえる。
テスト結果、蓄積ルーチンではキャリーを最下位桁にも
どす2進加算を使っているためfI?I的なケースを除
いては同一の処理結果が複数回蓄積されることに気をつ
かわなくてもよい。
(2進加算の代りに排他的論理和を用いる場合には、同
一の処理結果が偶数回蓄積されぬことにならぬ様に厳密
に注意して動作確認テストを設計する必要がある。
)2進加算を用いている本発明の場合には蓄積すべき処
理結果の他にその補数が併せて蓄積されてしまうことを
避けねばならない。
ある処理結果とその補数とが共【こ蓄積されてしまうと
、その処理結果に含まれている故障の影響が打ち消され
てしまい、蓄積結果のうえに故障の存在の影響が現われ
なくなってしまう。
同様にある故障が複数個の処理結果lこ影響を及ぼすこ
とには気を使う必要はないが、もしも互いに丁度補数と
なる様な形で2つの処理結果に影響する様な故障の場合
にはやはり蓄積結果にその故障の影響が現われなくなる
こうした補数の問題を動作確認テストの設計で避けると
いうことがむずかしい場合は蓄積ルーチンを変更して、
それまでの蓄積結果をローテイトシフトしてから加算を
する等より高級なデータ圧縮法に変えてその問題を解決
することができる。
又、本発明実施例Cこおいては、専用メモリに占めるデ
ータ量を極力減らす為、テスト単位の正解値を持たなく
ても済む様にテスト単位での故障の有無の判断を行って
いない。
しかし、必要があればテスト単位で蓄積結果がゼロとな
る様に動作確認テストを設計するか又はテスト単位での
正解値を持つ様にして、テスト結果蓄積ルーチンの最後
で故障の有無の判定をする様番と本発明を変更するのは
容易である。
本発明は演算回路・制御回路等、パリテイチェックが効
率よく行えない部分の故障検出に便利である。
一方、レジスタファイル、メモリ及びそのまわりのデー
タバス等はパリテイチェツク等のハードウエア【こよる
冗長性チェックに基づいた故障検出が効率よく行える。
従って情報処理装置全体の冗長性チェックにより故障検
出する部分と、本発明により故障検出する部分とに分け
、動作確認テストを行う対象を後者の部分(前者の部分
とのインターフェースも含めて)に限定すると動作確認
テストのテストの量が減って専用メモリの記憶容量が少
なくて済む。
例えばレジスタファイルの集積回路を用いていくつもの
レジスタをまとめている場合等、それらレジスタ個々に
ついて動作確認テストを行おうとするとテストの量が多
くなるが、レジスタファイルとその前後のデータパスを
パリテイチェックする様にハードウエアを設計し、動作
確認テストではレジスタファイルのアドレツシング回路
及びパリテイチェックされた部分につながるデータ回路
の故障検出を担当する様にするとテストの量がずい分少
くて済む様になる。
以上の説明ではマイクロ命令で直接制御できる演算部を
主対象としてきたが、本発明はCPU内のハードワイヤ
ード制御となっている部分に対しても適用できることを
次に示す。
例えば第3図の例では、シーケンス制御部内にある1次
に実行すべき命令語の命令コードを解読してその命令の
マイクロプログラムの先頭番地を用意しておき、マイク
ロ命令″END”を待つ」回路はハードワイヤード制御
となっている。
この部分のテストを行うためには l.次に実行すべき命令語を入れるレジスタに「データ
書込みコマンド」で命令語を書込む。
2.「ステップCPUコマンド」で何らかの演算部のテ
ストをする。
この時ハードワイヤード制御の各部分も同時に1ステッ
プ分の動作をするので、その命令のマイクロプログラム
の先頭番地があるレジスタに入る。
3.そのレジスタの内容を蓄積ルーチンから見えるレジ
スタ等へ移すようなステップを実行させればよい。
即ちレジスタ等をテスト用にセットして必要ステップだ
けCPUを動かすことによりテストできる。
次に本発明で故障発生から故障検出までにどれだけの時
間を要するかについて述べる。
この所要時間は本発明の動作確認テストの性格上基本的
にはCPUが入出力待ちをする頻度に依在しており、こ
の頻度は本発明を適用したCPUがどんな情報処理シス
テムの中でどれ位の量の、又どの様な性質の情報処理を
行うか等、種々の要因で大幅に変るものであり、1つの
システムをとってみても刻々に変っていくものである。
従って実施例の場合は本発明適用に先立ってCPUが入
出力待ちになる頻度の調査をいくつかのシステム構成で
種々の負荷条件の下で行った。
その結果、CPUバウンドに近いジョブが多くある場合
であっても数百ミリ秒に1回はCPUが入出力待ちにあ
ることがわかった。
又、入出力待ちをしている時間はディスクのシーク及び
データ転送待ちの場合と、新しいジョブの入力待ちとか
、オペレータのアクション待ちを意味する入出力待ちの
場合とがあり、両者で大きな差はあるが、1ミリ秒以上
の人出力待ちだけに着目しても上記の結論に変わりのな
いことがわかった。
即ちその情報処理装置に本発明を適用したとき{こ数百
ミリ秒に1回は動作確認テストが実施されることがわか
り、本発明において、故障発生から検出までに要する時
間は、通常のシステムで必要とされるよりは十分に短い
ことが明らかになった。
しかしながらこの値は本発明を適用する情報処理装置の
個々のケース毎に大幅に変ることが予想されるので本発
明適用の際には上記の様な調査を個々に行う必要がある
次に本発明に関し、種々の変形例について述べるO まず、第1の変形例として、第4図のDIS命令フロー
チャートで、テスト用初期化ルーチンは動作確認テスト
の前で1回だけ実行する様になっているが、本発明を適
用する情報処理装置の論理構造及び動作確認テストの設
計によっては第7図に示したテスト1〜テストMのそれ
ぞれの先頭でこのマイクロプログラムで組まれたテスト
用初期化ルーチンを実行したい場合がある。
その場合には、この初期化ルーチンを第4図のフローチ
ャーとからはずして、第8図の蓄積ルーチンの如く独立
させ、最後のマイクロステップでマイクロ命令″″EN
D”を出す様に変更すると共に第7図の動作確認テスト
プログラムのテスト1〜テストnのそれぞれの前にこの
独立させたテスト用初期化ルーチンの先頭番地を指すよ
うに「スタートCPUコマンド」を加えればよい。
ジエネラルレジスタの退避/復帰ルーチンもそれぞれ同
様にして独立させてもよい。
(第9図に詳細が示されており後述する) 次に第2の変形例について述べる。
この実施例ではハードウエアの簡単化を目的として、既
存の1命令モードを利用して、指定されたマイクロステ
ップ列の終了を検出し、CPUを停土させる様にしてい
る。
しかしながら、本発明を適用する情報処理装置のマイク
ロプログラムによってはこうした形でのマイクロステッ
プ列の利用が困難な場合もあり、又、こうした形のマイ
クロステップ列及び単一のマイクロステップの実行だけ
ではテストを設計しにくい場合もある。
その様な場合には「指定したマイクロステップからCP
[Jをスタートさせ、指定したステップ数だけ実行した
らCPUを停止させる」コマンドを持つ様にすると便利
である。
これで指定するステップ数は通常2〜3ステップから5
〜6ステップまでであるので第5図のコマンドフォーマ
ットを変更して3ビット程度のカウントフィールドを併
せもつようにしてもよい。
専用制御回路の中にカウンタを待ち、指定されたステッ
プだけCPUを実行させた後の停止信号をCPUへ送る
様にするのは容易である。
次に第3の変形例について述べる。
該実施例においてはCPUが入出力割込み待ちをしてい
るという状態に対応するDIS命令があり、CPUの入
出力割込み待ちの検出が容易であったが、そうした特別
の命令を持たず、プログラムループを作って割込み発生
を待たせる様にした情報処理装置もある。
その場合には命令コードを新設したり、命令語中の未使
用ビットを利用したりして、CPUが入出力割込み待ち
になっていることをハードウエアが知り得る様にハード
ウエア及びシステムソフトウェアを変更する。
変更は個個の装置により異る。
次に第4の変形例について述べる。
該変形例ではフリツプフロツプFZが常に”1”となる
様な故障は検出できない。
第4図のSdステップの後、ジエネラルレジスタの復帰
をする前にフリップフロップFZがリセットされること
の確認をするテストを入れると故障検出率が上がる。
以上、本発明を最も単純な形で適用した例{こついて述
べて来た。
多くの場合についてこれまで述べた最も単純な適用例で
も十分良い結果が得られるのであるが、適用するケース
毎に故障検出に要求するポイントとその重要度が異る。
そうした広範囲な要求によりよくマツチするためには次
に述べる様なバリエーションの1つ又はいくつかを組み
合わせて取り入れるとよい。
以下に他の実施例について詳細に述べる。
前述の実施例において動作確認テストはCPUが入出力
待ちとなって遊休状態となったときに実行される様にし
ているので、故障発生から故障検出に至るまでの時間は
、通常、十分に短いとはいえ、確定した上限値があるわ
けではない。
情報処理システムによっては例えば「情報処理能力が0
.1幅落ちても構わないから確実に1秒間(こ1回以上
動作確認テストを行いたい。
」という様な要求がある。
そうした動作確認テスト実行頻度の下限を設定する必要
のある場合の実施例を以下に述べる。
実施例のDIS命令及び動作確認テストのフローチャー
トは第9図に示してあり、ハードウエアの変更は少量で
ある為図示はしない。
専用制御回路内にカウンタRTTを新設し、そのRTT
にはCPU内のタイマ用のカウントパルスを加える。
上記のシステムの場合で言えばRTTのビット長はタイ
マ用のカウントパルスが1秒間加えられ続けた時丁度オ
ーバーフローする程度の長さに選ぶ。
RTTのオーバーフロー信号はシーケンス制御部へ送る
シーケンス制御部にはrXIPfi号がある場合には、
マイクロ命令″″END”が出た時に次の命令のマイク
ロプログラムの先頭番地のアドレスを制御記憶装置へ送
る代りに、割込み処理ルーチンの先頭番地のアドレスを
送る。
」ロジックがあるので、その機能を拡張し、「RTTの
オーバーフロー信号がある場合には、マイクロ命令″’
END”が出た時にアドレスStを制御記憶装置へ送る
」機能を追加する。
ここでStについては第9図で示してある。
第9図は前述の実施例に前述の変形例l及びこの動作確
認テストの実行頻度下限設定を加えた実施例であり、D
IS命令のマイクロプログラム及び動作確認テストのフ
ローチャートが示されている。
Stとはこの実施例用のDIS命令フローチャートに示
されている如く、動作確認テストの起動を行うルーチン
の先頭番地である。
第4図一第7図のテストプログラムと異っている点を中
心として以下に説明する。
DIS命令のマイクロプログラムフローチャートの入口
としては、従来からのDIS命令実行に加えて前述の如
<RTTのオーバーフローが発生したとき、実行してい
た命令の処理が終ってマイクロ命令″’END”が出る
とシーケンス制御部がステップStから始るルーチンを
実行させる様にするものがある。
マイクロ命令″’END”を待合せるループは上記の如
くシーケンス制御部のハードウエアで実行されるのであ
って、マイクロステップとしては実在しないので第9図
では破線で示している。
ジエネラルレジスタの退避の次に実行されていたテスト
用初期化ルーチンは変形例lにより独立ルーチン化され
(図示せず)その先頭番地はStである。
従ってジエネラルレジスタの退避の後には、マイクロ命
令「スタートテスト」を出すステップがただちに続いて
おり、動作確認テスト内の各テストに先立って「スター
トCPU ,SIコマンド」が出されている。
動作確認テスト内の各テストに先立つ初期化と、テスト
と、テスト結果の蓄積とをテストブロックとしてまとめ
て考えると動作確認テストの構造が簡明となる。
動作確認テストが終ってジエネラルレジスタ及びインジ
ケータの復帰をした後、カウンタRTTをゼロクリャす
る。
これにより動作確認テスト実行後の経過時間がRTTに
よって計時されていることになる。
そして動作確認テスト終了後、一定時間内に入出力待ち
状態が起り、動作確認テストが実行されればその時点で
再びRTTはゼロとなる。
こうして一定時間内に1回以上入出力待ち状態が発生し
ている場合の動作は前述の最も単純な形の実施例と同じ
くユーザーの利用できるはずの情報処理能力を消費する
ことなく動作確認テストが実行される。
一定時間内に一度も入出力待ち状態が発生しなかった場
合にのみ、RTTのオーバーフローが起り、次に実行す
べき命令の処理を待たせて動作確認テストを行うことに
なる。
DIS命令を実行した結果、動作確認テストを行った場
合はFDIS がセットしているので前述のRTTの
ゼロクリャをした後は、入出力割込み待ちのループに入
る。
又、RTTオーバーフローの結果動作確認テストを実行
した場合はFDISがリセットしているので、RTTの
ゼロクリャをした後は入出力割込みを待つことなくただ
ちに次の命令の処理を再開する。
尚、本発明実施例の場合は動作確認テストを行ったこと
により、制御関係のレジスタ(ソフトウエアから見えな
いレジスタ)がこわされているのでマイクロ命令″EN
D”を出して次の命令の処理を開始させる前にそれらの
レジスタを復帰するルーチンを実行しており、第9図で
は命令語処理再開準備と示されている。
又、DIS命令から入った場合にはDIS命令の次の命
令をただちに実行しはじめることはなく必ず割込み処理
ルーチンへ行くので、この命令語再開準備のルーチンを
実行する必要はない。
蛇足ではあるがDIS命令のマイクロプログラムと動作
確認テストプログラムとの間の制御の移動が第9図では
点線矢印で示されている。
尚、DNS命令の場合はマスターモードでのみ実行され
る命令であるので、いままでの説明では問題にならなか
ったが、マスタ/スレーブの区別もジエネラルレジスタ
又はインジケータの一部として動作確認テストの前後で
退避・復帰をしなければならない。
この様にするとスレーブモードから動作確認テストに入
る場合があるからである。
そノ為にマスタ/スレープを表わすレジスタ等はl命令
モードを設定するためのモードレジスタは別のものとし
て設計してある。
次に更に他の実施例として、割込み応答時間の短いこと
が要求される場合について説明する。
第4図に示した最も単純な実施例においては、DIS命
令に入るとまず、動作確認テストを行いその後、割込み
待ちのループに入る様になっている。
その為DIS命令に入った直後に割込み要求が発生した
とすれば、動作確認テスト実行に必要な時間だけ割込み
要求が侍たされていることになり、結果としてユーザの
利用できる等の情報処理能力を消費して動作確認テスト
を行ったことになり、又、割込みに対する応答が動作確
認テスト実行時間だけ長くなったことにもなる。
前者の欠点については前述した様なタイマを動作確認テ
ストの実行頻度の上限を設定する目的で新設し、動作確
認テストを実行する度にそのタイマをゼロクリャすると
共に新設のテスト制御フリツプフロツプもセットし、タ
イマがオーバーフロ−するとそのテスト匍脚フリップフ
ロツプがセットしている間はテスト禁止状態(第4図フ
ローチャートにおける分岐条件の1つ)となる様にして
、動作確認テストが不必要に頻雑に実行されることがな
い様にする。
という方法によってもかなり改善できる。
しかしながら、このような方法であると後者の欠点はゼ
ロとはならず、その欠点が現実に発生する確率を減らす
という効果しかない。
以下、割込み要求に対する応答時間が動作確認テストの
ために長くなることがない様に、入出力割込み要求が発
生したらただちに動作確認テストを中断するように改良
した変形例を述べる。
前述した如く、本発明実施例のCPUに対する調査によ
れば、1ミリ秒以上持続する遊休状態のみを調べても十
分な頻度で遊休状態が発生していた。
即ち短時間で遊休状態が終った時に動作確認テストを中
断してしまっても良いことを示している。
まず、専用制御回路にもXIP信号を送る様にし、動作
確認テスト実行中にXIP信号が来たら最後に読み出し
た専用メモリのアドレスとは無関係に専用メモリの特定
アドレスからコマンドヲ読出す様にする。
そのコマンドとしては第7図の動作確認テストプログラ
ムの最後の4語とほぼ同じく、モードレジスタを正常モ
ードに戻し、制御記憶の特定番地(Sr番地)からCP
Uをスタートさせ、然る後専用制御回路を待機状態にお
く様にすればよい。
特定番地Srから始るマイクロプログラムではジエネラ
ルレジスタ復帰を経て、FDIS をリセットした後
割込み処理ルーチンへ行く様にすればよい。
即ち、第4図の例で言うとジエネラルレジスタ復帰ルー
チンの先頭番地をSrとすればよい。
但し、第9図に対してこの変更を行う場合、Sr番地以
降のマイクロプログラムでは、ジエネラルレジスタの復
帰をした後、カウンタRTTはゼロクリャすることなく
そのままにしておいて割込み待ちループ又は命令語処理
再開準備ルーチンへ行く様にする必要がある。
(Sr番地からCPUをスタートする時は動作確認テス
トをまだ完了していないので故障の有無を判定できなか
った。
)上記変更を他の変更と共に採り入れた実施例は後程説
明される。
次にソフトウエアからも動作確認テストを起動できるよ
うにした実施例につき詳述する。
本発明の故障検出法{こよれば前述の如く例えば1秒と
いう程度の十分短い時間に故障検出が行なわれるのでバ
ッチ処理システムばかりでなく、たいていのオンライン
データ処理システムにおいても、その情報処理装置の主
たる故障検出手段として採用されるのに十分な能力を有
するものである。
しかし、オンラインデータ処理システムの中には、例え
ば不特定多数の人を対象とした発巻業務の如く、一旦故
障のために生じた誤った情報を端末機器に渡してしまう
と、その直後に故障が検出されてもその誤った情報に基
づく影響をキャンセルするのがむずかしいものがある。
その場合でもそうした重要なやり直しのむずかしい情報
を出すのは1つのトランザクションあたり1回だけで、
情報処理装置としては例えば1秒にlO回程度までであ
る様な場合も多い。
プログラムがそうした重要なポイントに来た時に、プロ
グラムから動作確認テストを起動し、情報処理装置が正
しく動いていることを確認したうえでそうした重要な情
報を端末へ送る様にすると、万一故障があったとしても
やり直しをする範囲が限定されることになり都合がよい
又、データベースの問い合せと更新を行うシステムであ
って、チェックポイントファイル、リカバリイ用のトラ
ンザクションファイル等をもって故障があった時にやり
直しができる様にしているシステムであっても、例えば
チェックポイントファイルを作る前にまずプログラムで
動作確認テストを起動して情報処理装置の正しさを確認
することができる様になっていると、その後故障が発見
された際の回復のための手順を簡単明確にできる。
そうした場合、新しい命令コードを新設し、或いは既存
の命令のバリエーションの追加として、ソフトウエア命
令の指示によっても第4図のフローチャートへ入れる様
にするのは容易である。
但し、この場合にはもしもテスト禁止状態になっている
時には、第4図・第9図の如くそのまま終了させるので
はなく異常事態として例外処理ルーチンへ行く様にする
のが良い。
又、ジエネラルレジスタを復帰した後、例えばFDIS
を調べる等の手段によってソフトウエアから起動された
動作確認テストの終了であることを判定して、入出力待
ちループへ入ることなしに次命令の処理へ移る様にする
必要がある。
この変更を他の変更と共に採り入れた実施例を次に説明
する。
まず、動作確認テストの実行頻度下限を設定し、動作確
認テストによって割込み要求に対する応答時間が長くな
ることがない様に、又ソフトウエアの命令で動作確認テ
ストの実行を開始できる様に改良した実施例を第10図
に示す。
第10図が第9図と異っている点及び図示されていない
点を中心に以下その実施例の説明を行う。
該実施例では従来の命令コードの空きを利用して動作確
認テストを開始するための命令″″TEST”を新設し
た。
この命令が実行されるとまずFr E S Tフリツプ
フロツプをセットする。
FTESTフリツプフロツプの働きは後述する。
次にテスト禁止状態であるか否かを調べ、万一専用メモ
リのパリテイエラーが起った等の理由によってテスト禁
止モード番こなっている場合には、ソフトウエアから期
待されている仕事ができないわけであるため、例外処理
ルーチンへ移る。
通常はジエネラルレジスタ、インジケータ、マスタ/ス
レーブモードの別等を退避した後、動作確認テストへ入
る。
動作確認テストは第10図に動作確認テストプログラム
として示される様に専用メモリの7 74(8)−7
7 7(8) 番地に第10図の様な後処理のコマン
ド列が追加された以力は第9図のそれと同じである。
専用制御回路は若干変更されて、動作確認テスト中にX
IP信号が送られてくると専用メモリのアドレスレジス
タに強制的に774(8)を設定する機能が追加され、
この機能を用いて動作確認テストの実行が中断される。
又、FTESTがセットしている時は、この機能が働か
ない様fこしてソフトウエアから始動された動作確認テ
ストは必らず全部行われる様にしている。
入出力割込み待ちとなって、又はタイマRTTがオーバ
ーフローして、動作確認テストが始動され、そのテスト
実行中にXIP信号が1になったとすると、次のコマン
ドは専用メモリ21の7 7 4(8)番地から読み出
されることになり、その結果ただちに正常モードにCP
Uを戻し、マイクロプログラムをSrから実行開始させ
る。
Srから始るマイクロプログラムは、これまでの実施例
で述べたジエネラルレジスタ復帰ルーチンと全く同じ仕
事をすればよい。
第10図では簡単のために同じルーチンが併存する如く
書いてあるが、実際にはマイクロプログラムレベルのサ
ブルーチンコールでジエネラルレジスタ復帰ルーチンを
呼んでいるので、Srから始るルーチンはわずかlステ
ップで済んでいる。
ジエネラルレジスタの復帰が終ったらカウンタRTTを
ゼロクリャすることなく、ただち{こFDIS をテ
ストするステップに進む。
タイマーRRTのオーバーフローにより起動された動作
確認テストが入出力割込みによって中断されたケースを
考えると、ジエネラルレジスタの復帰後、命令語処理を
再開するための準備をしてマイクロ命令″″END”を
出すステップに進み、ここでシーケンス制御部の働きに
より割込み処理ルーチンへ移ることになる。
又、この″″END”を出すマイクロステップはテスト
命令で起動された動作確認テストで故障のないことが確
認され正常に終了した場合も実行されるのでFTEST
をリセットする仕事も併せて行っている。
以上説明の如く本発明によると、専用メモリのビット長
が少くて済むため低コストの安い検出法が実施でき、マ
イクロ命令レベルの検査であるので微細な検査も能率よ
く行える。
又、故障発生から故障検出までに要する時間が十分短か
くユーザの利用できる情報処理能力を消費することも殆
んどない。
更にテスト事項が専用メモリに格納されているため本発
明を適用したことにより主記憶上の記憶内容(ソフトウ
エア)に影響を及ぼさないで済み、マイクロプログラム
方式をとる情報処理装置乃至ハードワイヤード制御の部
分を含む場合でも広く適用でき、且つパリテイチェック
の困難な制御回路・演算回路の故障検出にも容易に適用
できるものである。
【図面の簡単な説明】
第1図はマイクロプログラム方式をとる中央処理装置の
概略構或図、第2図はマイクロプログラムの動作概念兼
DIS命令フローチャート、第3図は本発明情報処理装
置のハードウエア構成図、第4図は本発明情報処理装置
におけるDIS命令実行のフローチャート、第5図は本
発明において用いるコマンドのフォーマット、第6図は
本発明で用いるコマンドの種類を表にしたものである。 又、第T図は本発明で用いる専用メモリ内の動作確認テ
ストプログラムの内容を示した実施例、第7図Aは前記
第7図におけるテストプログラムの変形例、第8図は本
発明において用いるテスト結果蓄積ルーチン例、第8−
A図は前記第8図のテスト結果蓄積ルーチンの変形例な
らびに判定用ステップである。 父、第9図は本発明における他の実施例であり、動作確
認テストの実行頻度の下限を設定したもののDIS命令
のフローチャートならびに動作確認テストプログラムを
示す。 又、第10図は更に他の実施例であり、DIS命令のフ
ローチャート及び動作確認テストプログラムです。 1・・・・・・制御記憶装置、2・・・・・・シーケン
ス制御部、3・・・・・・マイクロ命令レジスタ、4・
・・・・・演算部、5・・・・・・ジエネラルレジスタ
GR.6・・・・・・スクラッチパッドメモリSPM,
7・・・・・・ワーキングレジスタRT,8・・・・・
・オペランドレジスタRD,9.10・・・・・・セレ
クタ、11・・・・・・論理演算部ALIJ, 1 2
・・・・・・インジケータ、20・・・・・・動作確認
テスト用回路、21・・・・・・専用メモリ、22・・
・・・・アドレスレジスタ、23・・・・・・セレクタ
、24・・・・・・コマンドレジスタ、25・・・・・
・データレジスタ、26・・・・・・データパス、27
・・・・・・専用制御回路、2B・・・・・・外部装置
インターフェース。

Claims (1)

  1. 【特許請求の範囲】 1 ■、マイクロプログラムを格納する制御記憶装置、
    制御記憶装置から読み出されたマイクロ命令を格納する
    マイクロ命令レジスタおよび演算装置とを有する中央処
    理装置と、 ■、前記制御記憶装置に記憶されているマイクロ命令を
    アドレシングする機能のコマンドを記憶する専用記憶装
    置と、 ■、前記中央処理装置が遊休状態となったときに起動さ
    れ、前記専用記憶装置からコマンドを読み出す手段と、
    前記コマンドの解釈と実行を行なう手段とを有する専用
    制御回路とを具備し、前記中央処理装置が遊休状態とな
    ったときに起動した前記専用制御回路は、前記専用記憶
    装置から読み出したコマンドに従って前記制御記憶装置
    をアドレシンダレ、前記中央処理装置は前記コマンドに
    より、前記制御記憶装置から読み出されたマイクロステ
    ップ又はマイクロステップ列を実行することによって前
    記演算装置の動作確認テストを行なうことを特徴とする
    情報処理装置。 2 特許請求の範囲第1項記載情報処理装置において、
    専用記憶装置には、動作確認テストを行なうために必要
    なマイクロ命令を読み出すため制御記憶装置に対するア
    ドレスをコマンドとして記憶することを特徴とする情報
    処理装置。 3 特許請求の範囲第1項記載の情報処理装置において
    、外部からの信号が与えられるまで、中央処理装置を遊
    休状態(アイドル)にする機能を持ったDIS命令に動
    作確認テストの実行が可能か否かの判断を行なうマイク
    ロステップを有することを特徴とする情報処理装置。 4 特許請求の範囲第3項記載の情報処理装置において
    、中央処理装置が遊休状態となり動作確認テストの実行
    が可能となると、中央処理装置は、内部のジエネラルレ
    ジスタに格納されているデータを記憶装置に退避するマ
    イクロステップ、動作確認テスト用の初期化ルーチンの
    マイクロステップおよび待機状態にある動作確認テスト
    用回路内の専用制御回路を起動するマイクロステップを
    実行し、動作確認テストの準備を行なうことを特徴とす
    る情報処理装置。 5 特許請求の範囲第1項記載の情報処理装置において
    、動作確認テストの開始時に起動された専用制御回路は
    、専用記憶装置に記憶されるコマンドの読み出しを行な
    い、且つ読み出した前記コマンドにより制御記憶装置を
    アドレシングすることを特徴とする情報処理装置。 6 特許請求の範囲第1項記載の情報処理装置において
    、専用制御回路は専用記憶装置に記憶されるコマンドの
    読み出し動作を開始し、中央処理装置をシングル命令モ
    ードで動作可能な状態にする情報処理装置。 7 特許請求の範囲第1項記載の情報処理装置において
    、専用制御回路は、専用記憶装置からテスト動作のため
    のコマンドが読み出された時、前記コマンドにより制御
    記憶装置をアドレシングして、マイクロプログラムレベ
    ルでのテスト動作を実行することを特徴とする情報処理
    装置。 8 特許請求の範囲第1項記載の装置において、マイク
    ロプログラムレベルでのテストによって中央処理装置内
    の各種レジスタに記憶されている処理結果を集めて圧縮
    したデータ量にするテスト結果蓄積ルーチンのイクロス
    テツプ列を制御記憶装置に記憶したことを特徴とする情
    報処理装置。 9 特許請求の範囲第1項記載の情報処理装置において
    、全てのテスト動作のテスト結果は最終のテスト動作の
    テスト結果蓄積ルーチンの処理時に求められた圧縮され
    たデータとして求められることを特徴とする情報処理装
    置。 10特許請求の範囲第9項記載の情報処理装置において
    、動作確認テストが終了した後は、専用記憶装置からD
    IS命令を再開するためのコマンドが読み出され、前記
    コマンドにより制御記憶装置をアドレシングして、中央
    処理装置をDIS命令へ再開することを特徴とする情報
    処理装置。 11 前記特許請求の範囲第1項記載の情報処理装置で
    あって、前記専用制御回路はコマンドの指示する任意の
    マイクロステップ又はステップ列を実行させ、その実行
    終了を待って、次のコマンドを前記専用記憶装置から読
    み出すことを特徴とする情報処理装置。 12前記特許請求の範囲第1項記載の情報処理装置であ
    って、前記動作確認の手順実行後の経過時間を計時する
    タイマを有し、前記情報処理部が遊休状態に入ったとき
    及び前記タイマによる計時が一定値を越えた時に起動さ
    れて前記動作確認の手順を実行することを特徴とする情
    報処理装置。 13前記特許請求の範囲第1項記載の情報処理装置であ
    って、前記専用制御回路は、前記遊休状態の終了に応答
    して動作確認のための手順の実行を中断することを特徴
    とする情報処理装置。 14前記特許請求の範囲第1項記載の情報処理装置であ
    って、前記専用制御回路は、特定の命令が実行された時
    及び前記情報処理部が遊休状態に入った時{こ起動され
    、前記専用記憶装置からコマンドを読み出し、前記制御
    記憶装置の任意のマイクロステップ又はマイクロステッ
    プ列を実行させることにより前記情報処理部の動作確認
    のための手順を実行することを特徴とする情報処理装置
JP52028433A 1977-03-15 1977-03-15 情報処理装置 Expired JPS5837583B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP52028433A JPS5837583B2 (ja) 1977-03-15 1977-03-15 情報処理装置
US06/115,368 US4355389A (en) 1977-03-15 1980-01-25 Microprogrammed information processing system having self-checking function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52028433A JPS5837583B2 (ja) 1977-03-15 1977-03-15 情報処理装置

Publications (2)

Publication Number Publication Date
JPS53113447A JPS53113447A (en) 1978-10-03
JPS5837583B2 true JPS5837583B2 (ja) 1983-08-17

Family

ID=12248522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52028433A Expired JPS5837583B2 (ja) 1977-03-15 1977-03-15 情報処理装置

Country Status (1)

Country Link
JP (1) JPS5837583B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180740A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd Romマイクロプログラム制御装置の診断方式
JPS59194251A (ja) * 1983-04-19 1984-11-05 Hitachi Ltd デ−タ処理装置の診断方式

Also Published As

Publication number Publication date
JPS53113447A (en) 1978-10-03

Similar Documents

Publication Publication Date Title
US4740969A (en) Method and apparatus for recovering from hardware faults
JP3675802B2 (ja) 計算の状態を再構成する方法ならびにシステム
EP0433979A2 (en) Fault-tolerant computer system with/config filesystem
JPH05173808A (ja) パーソナルコンピュータ用診断システムおよびインタフェース
US4355389A (en) Microprogrammed information processing system having self-checking function
JPH0325814B2 (ja)
JPH0689201A (ja) アイドルモードをアクセスするラン/ストップピンを有するマイクロプロセッサ及びそれを動作させる方法
CN118132386B (zh) 系统崩溃信息保存方法、装置和计算机系统
JPH0526214B2 (ja)
EP0683456B1 (en) Fault-tolerant computer system with online reintegration and shutdown/restart
US3916178A (en) Apparatus and method for two controller diagnostic and verification procedures in a data processing unit
JP3206641B2 (ja) マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体
JPS5837583B2 (ja) 情報処理装置
JPS6229820B2 (ja)
JP2849780B2 (ja) 計算機システム
JPS6146535A (ja) 擬似エラ−設定制御方式
JP2922981B2 (ja) タスクの実行継続方法
US5901300A (en) Control store address stop
KR19990057809A (ko) 오류 방지 시스템
JPH02122335A (ja) Ras回路の試験方法
JPS62192824A (ja) 処理装置アクセス方式
JPH076103A (ja) 入出力チャネルの障害処理システム
JPS62210551A (ja) マイクロプログラム追跡装置
JPS5849900B2 (ja) Ipl時の診断方式
JPS61101845A (ja) 情報処理装置の試験方式