JPH04112236A - プロセッサの故障診断装置 - Google Patents

プロセッサの故障診断装置

Info

Publication number
JPH04112236A
JPH04112236A JP2230523A JP23052390A JPH04112236A JP H04112236 A JPH04112236 A JP H04112236A JP 2230523 A JP2230523 A JP 2230523A JP 23052390 A JP23052390 A JP 23052390A JP H04112236 A JPH04112236 A JP H04112236A
Authority
JP
Japan
Prior art keywords
test
self
processor
unit
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
JP2230523A
Other languages
English (en)
Inventor
Atsushi Iwamura
岩村 淳
Yukio Otaguro
大田黒 幸雄
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
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2230523A priority Critical patent/JPH04112236A/ja
Priority to KR1019910015310A priority patent/KR920006847A/ko
Publication of JPH04112236A publication Critical patent/JPH04112236A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、プロセッサの故障をリアルタイムで発見し
て対処することを可能にしたプロセッサの故障診断装置
に関する。
(従来の技術) 従来のマイクロプロセッサにあっては、内部にテストパ
ターン発生器やデータ圧縮器を備え、これらを用いてセ
ルフテストを行なうものがある。
特に、マイクロプログラム制御方式によるマイクロプロ
セッサにあっては、セルフテストの制御を柔軟に行なえ
るため、ハードウェアによるセルフテストとマイクロプ
ログラムによるセルフテストを併用して、高い故障検出
率を得ることが可能である。
マイクロプロセッサのセルフテストには、内蔵したRA
Mやキャッシュメモリにおける読み出し/書込みテスト
、内蔵したROMにおける読み出しテスト、内部レジス
タや演算器のテスト等がある。このようなセルフテスト
は、テストパターン発生器によって発生されたテストデ
ータをテスト対象に与え、その結果を圧縮器によって圧
縮し、圧縮したテスト結果と期待値とを比較してテスト
結果の良否が判定される。
このようなセルフテストをシステムに組み込まれたマイ
クロプロセッサで行なう場合には、一般的にシステムの
起動時にマイクロプロセッサをリセット状態にすること
によってセルフテストが開始されていた。そして、セル
フテストの全テスト項目が終了してテスト結果の良否が
得られた後、マイクロプログラムは通常の処理動作に移
行し、システムが稼働されていた。
(発明が解決しようとする課題) 上記したように、システムに組込まれたマイクロプロセ
ッサのセルフテストにあっては、システムを起動する際
に実行されるリセット動作にょってのみ行なわれるよう
になっていた。すなわち、マイクロプロセッサをセルフ
テストする場合には、プロセッサをリセット状態にして
、システムが稼働中の場合には、システムを停止させな
ければならなかった。
このため、マイクロプロセッサの通常動作中における故
障を発見することは不可能であるとともに、システムの
稼働時においても同様であった。
したがって、マイクロプロセッサに故障が生じた場合に
は、直ちにシステムを停止させたり、故障の内容に応じ
た自己修復を行なうことが極めて困難となり、プロセッ
サやシステムにおける信頼性の低下を招いていた。
そこで、この発明は、上記に鑑みてなされたものであり
、その目的とするところは、通常動作中であってもセル
フテストを可能にして、リアルタイムで故障を検出、報
知し、プロセッサやプロセッサが組み込まれたシステム
における信頼性を向上させることができるプロセッサの
故障診断装置を提供することにある。
[発明の構成] (課題を解決するための手段) 上記目的を達成するために、この発明は、プロセッサに
おける通常動作状態とセルフテスト状態との間の状態遷
移を制御する状態遷移制御手段と、前記状態遷移手段に
よってプロセッサがセルフテスト状態から通常動作状態
へ状態遷移された時に、セルフテスト状態時に実行され
て状態遷移時に中断された単位セルフテストを判別する
判別手段と、前記状態遷移手段によってプロセッサが通
常動作状態からセルフテスト状態へ状態遷移された時に
、前記判別手段によって判別された単位セルフテストか
ら順次単位セルフテストを実行して評価する実行手段と
、前記実行手段の評価結果に基づいてプロセッサに故障
が発見された場合には、これを報知する報知手段とから
構成される。
(作用) 上記構成において、この発明は、実行しようとする一連
のセルフテストを、それ自身で閉じた、もしくは中断可
能な単位にまとめた単位セルフテストの集合とし、プロ
セッサの通常動作中にセルフテストが実行可能な条件が
満足されると、判別手段によって判別された単位セルフ
テストから順次単位セルフテストを実行し、単位セルフ
テストの実行中にテスト中断要因が発生した場合には、
それまで実行していた単位セルフテストが判別手段で判
別できる状態として通常動作状態に復帰し、再びセルフ
テストの実行可能な条件が満足されると判別手段によっ
て判別された単位セルフテストから順次単位セルフテス
トが実行されるようにしている。
(実施例) 以下、図面を用いてこの発明の詳細な説明する。
第1図はこの発明の一実施例に係わる故障診断装置を適
用したマイクロプロセッサの構成を示すブロック図であ
る。同図に示す実施例のプロセッサは、プロセッサの通
常動作中にテストの開始を指令する命令を実行すること
によって、全セルフテストを複数に分割したそれぞれの
単位セルフテスト(以下「テストベクトル」と呼ぶ)を
プロセッサの空き時間を利用して通常処理の合い間に行
ない、全セルフテストを離散的に行なうようにしている
第1図において、プロセッサは、命令フェッチユニット
(IFU)1、命令デコードユニット(IDU)2、マ
イクロ制御ユニット(MCU)3、オペランドフェッチ
ユニット(OFU)4、実行ユニット(EXU)5を通
常処理の主要構成要素として備え、乱数発生器6、圧縮
器7、テスト制御回路8、テスト結果格納レジスタ9及
びテストベクトルレジスタ(TVR)10をセルフテス
ト動作の主要構成要素として備えている。
IFUIは、実行しようとする機械語命令を読込むブロ
ックであり、読込む命令のアドレスを保持する命令フェ
ッチアドレスレジスタ(IFAR)11から順次出力さ
れるアドレスによって命令キャッシュメモリ(1−CA
CHE)12から機械語命令を読み出し、読出した命令
を命令レジスタ(INR)13に保持する。読込もうと
する命令が命令キャッシュメモリ12にない場合には、
外部メモリ(図示せず)から読込まれる。
IFUIは、セルフテストを実行するためのテスト制御
回路14と圧縮器15を備えている。テスト制御回路1
4は、IFUIにおける命令キャッシュメモリ12のセ
ルフテトシーケンスを制御し、命令キャッシュメモリ1
2に書込まれるテストデータの発生と内部状態を制御す
る。このようなテスト制御回路は、IDU2、MCU3
.0FU4にも備えられており、それぞれのユニットの
セルフテストシーケンスを制御し、セルフテスト対象に
書込まれるテストデータの発生と内部状態を制御する。
圧縮器15は、LFSR(Linear  Feedb
ack  5hift  Register)で構成さ
れ、テスト対象からの出力データを排他的論理和をとる
ことによって圧縮し、圧縮されたデータが内部バス60
に出力されて期待値と比較され、テスト結果の評価が行
なわれる。このような圧縮器は、それぞれのユニットに
備えられて、同様の動作処理を行なう。
IDU2は、IFUIによって読込まれた機械語命令を
、命令デコードのシーケンスを制御するデコード制御回
路21の制御の下に、PLA22によってデコードし、
機械語命令に対応したマイクロ命令の先頭アドレスを生
成するとともに、オペランドのアドレスを生成する。生
成されたマイクロ命令の先頭アドレスはMCU3に与え
られ、オペランドのアドレスは0FU4に与えられる。
MCU3は、マイクロプログラムのシーケンスを制御す
るROMアドレス発生器31によって、I DU2から
与えられるマイクロ命令の先頭アドレスから順次アドレ
スを発生し、このアドレスによってマイクロ命令を格納
しているマイクロROM (MROM)32からマイク
ロ命令を読み出し、読出したマイクロ命令をマイクロ命
令レジスタ(MIR)33に保持する。ROMアドレス
発生器31は、アドレスを連続的に生成するとともに、
割込みや分岐処理におけるアドレスを生成し、セルフテ
スト時には、テストアドレスを生成してMROM32に
供給する。
0FU4は、IDU2から与えられるオ、ペランドアド
レスによって、データキャッシュメモリ(D−CACH
E)41あるいは外部メモリからオペランドデータを読
込み、読込んだオペランドデータをオペランドレジスタ
(OPR)42に保持する。保持されたオペランドデー
タは、内部バス60を介してEXU5に与えられる。
EXU5は、MCU3のMIR33から与えられるマイ
クロ命令にしたがって、0FU4から与えられるオペラ
ンドデータや汎用レジスタ(REG)51のデータを用
いて、演算器(ALU)52により演算処理を行ない、
演算結果を汎用レジスタ51に格納する。
乱数発生器6は、セルフテスト時のテストデータとなる
乱数及びその反転乱数を発生し、発生した乱数が内部の
レジスタや演算器に与えられる。
テスト制御回路8は、それぞれのユニットに備えられた
テスト制御回路がユニット内のテスト対象のテストシー
ケンスを制御するのに対して、ブロセッサ全体としての
テストシーケンスを制御する。
圧縮器7は、それぞれのユニットの圧縮器によって圧縮
されたデータをさらに圧縮して、プロセッサ全体として
のテスト結果を生成する。
テスト結果格納レジスタ9は、それぞれのユニットにお
けるテスト対象のテスト結果を示す情報を保持するレジ
スタであり、例えば第2図に示すように、それぞれのビ
ット0〜6にテスト対象のテスト結果を対応させている
テストベクトルレジスタ(TVR)10は、現在実行中
あるいは直前のテストサイクルで実行されていたテスト
ベクトルのテストプログラムを他のテストプログラムと
区別するための識別情報を格納するレジスタであり、こ
の情報は例えばテストプログラムが格納されているマイ
クロROMの先頭アドレス等であり、内部バス6oを介
して入出力され、MCU3に出力が供給される。
このような構成において、プロセッサは、第3図に示す
ように、演算処理やデータのロード/ストアといった通
常の動作を行なっている通常状態と、テスト対象となる
キャッシュメモリ12.41やマイクロROM32等の
テストを行なっているテスト状態との2つの状態を遷移
する。
このような状態遷移にあっては、プロセッサが通常状態
時の例えば(i)実行待ちの状態になった時や、(if
)テストの開始を指令する機械語命令(テスト開始命令
、TSTART)や(iH)ウェイト命令が実行される
と、プロセッサは通常状態からテスト状態へ遷移し、テ
ストベクトルレジスタ(TVR)10に保持された識別
情報に対応するセルフテストが開始される。一方、セル
フテスト時に外部割込みが発生すると、プロセッサはテ
スト状態から通常状態へ移行し、外部割込みが発生した
時に実行されていたテストに対応する識別情報をTVR
IOに保持した状態でセルフテストを中断して通常処理
が開始される。
このような状態遷移を例えば第4図に示すように繰り返
しながら通常状態の合い間にプロセッサのセルフテスト
が行なわれる。第4図に示す動作タイミングにあっては
、テスト開始命令と外部割込みを定期的に実行すること
によって、通常処理とセルフテストが交互に実行されて
いる。
このように、プロセッサの通常処理の合い間に実行され
るテストベクトルからなる全セルフテストは、第5図に
示す処理フローにしたがって実行される。
第5図(a)において、セルフテストが開始されると、
PLA22のセルフテスト(ステップ510)、データ
キャッシュメモリ41のセルフテスト(ステップ520
)、命令キャッシュメモリ12のセルフテスト(ステッ
プ530) 、MROM32のダンプセルフテスト(ス
テップ54o)、内部レジスタや演算器52のセルフテ
スト(ステップ550)を順次行なう。
それぞれのセルフテストにあっては、入力テストデータ
あるいは入力テストアドレスを変化させ、それぞれの入
力に対応する出力データがそれぞれのユニットの圧縮器
によって圧縮され、圧縮されたデータが定期的にプロセ
ッサ全体の圧縮器7に与えられて圧縮される。
圧縮器7によって圧縮されたテスト結果は、予め用意さ
れた期待値と比較され(ステップ560)、比較結果が
不一致の場合には、エラーが発生したことを示すハング
アップ信号か外部に出力され、プロセッサの動作が停止
される。さらに、必要に応じて割込みを発生させ、エラ
ー発生の状況が外部に報知される(ステップ570)。
一方、比較結果が一致した場合には、再び最初からセル
フテストが開始される。
第5図(a)に示したそれぞれのセルフテストは、第5
図(b)に示すように複数のテストベクトルに分割され
て構成されており、それぞれのテストベクトルには、他
のテストベクトルと区別するための識別情報となる例え
ばベクトル番号が与えられている。例えば、MROM3
2のダンプセルフテストにあっては、アドレス0〜63
番地からデータを読出すテストとなるテストベクトルを
ベクトル96、アドレス64〜127番地からブタを読
出すテストとなるテストベクトルをベクトル97といっ
たようにベクトル番号を付与して、全セルフテストを分
割している。 このようなテストベクトルは、それぞれ
のテストベクトルに対応して実行されるテストプログラ
ムが、第6図に示すようにMCU3のMROM32に格
納されている。MROM32に格納されたテストベクト
ルは、同様にMROM32に格納された分岐命令によっ
て指定されて実行される。例えば、TVR10が第6図
に示すように8ビツトのレジスタであるならば、このT
VRl 0の識別情報で区別できるテストベクトルは2
56通りとなる。したがって、ベクトル番号0〜255
のそれぞれのテストベクトルのテストプログラムを指定
するために、それぞれのテストプログラムの先頭アドレ
スへ分岐する分岐命令が第6図に示すようにMROM3
2に格納されている。
このように、第5図(b)に従って分割され、MROM
B2に格納されている単位テストベクトルは、それぞれ
第7図に示す処理フローにしたがって実行処理される。
第7図において、まず、テストベクトルレジス(TVR
)10から次に実行しようとするテストベクトルに与え
られた番号、例えば分岐命令のアドレスがMROMB2
に与えられ、このアドレスで指定される分岐命令が読出
される(ステップ710)。分岐命令が読出されると、
この分岐命令によってTVRl 0に保持されていた識
別情報に対応したテストベクトルを実行するテストプロ
グラムに分岐して実行され(ステップ720)、テスト
ベクトルにおけるテストデータあるいはテストアドレス
の初期値がテスト対象となるユニットの入力レジスタに
セットされる(ステップ730)二のような状態におい
て、テストデータあるいはテストアドレスがテスト対象
に供給され、対応した出力がユニット内の圧縮器に転送
されて圧縮され(ステップ740)、入力レジスタの内
容が更新される(ステップ750)。次に、入力レジス
タの内容が予め設定された終了値に達しているか否かが
判別され(ステップ760)、達していない場合は更新
された入力レジスタの内容にもとづいてテストを行ない
、その結果を圧縮器で圧縮する処理が続行される。
一方、入力レジスタの内容が終了値に達した場合には、
すなわち、テストベクトルが終了した場合には、ユニッ
ト内の圧縮器によって圧縮された圧縮データがプロセッ
サ全体の圧縮器7に転送され(ステップ770) 、T
VRIOの内容がカウントアツプされてテストベクトル
が終了する(ステップ780)。
次に、第3図乃至第7図に示したテスト全体の流れを制
御するマイクロ制御ユニット(MCU)3の説明をする
第8図はMCU3の詳細な構成を示すブロック図であり
、第1図と同符号のものは同一物である。
第8図において、MCU3のROMアドレス発生器31
は、ROMアドレスセレクタ(R3EL)81、マイク
ロアドレスレジスタ82、サブルーチンスタック(SS
T)83及びインクリメンタ(INC)84を備えてい
る。
ROMアドレスセレクタ81は、MROM32に供給さ
れるアドレスを選択するセレクタであり、次に示す6つ
の入力から選択信号(rselc)にしたがって選択す
る。
入力1は、IDU2のPLA22から与えられるマイク
ロ命令の先頭アドレスであり、機械語命令の実行を開始
する際に選択される。
入力2は、割込みが発生した時にマイクロプログラムを
強制的に分岐させる際の分岐先のアドレスである。
人力3は、5ST83の出力が与えられ、MROM32
のセルフテストが終了して、制御をマイクロプログラム
に移行する際の処理プログラムの先頭アドレスである。
入力4は、マイクロプログラムの分岐先のアドレスであ
り、第6図に示したようにMROM32に格納されたそ
れぞれのベクトル番号のテストベクトルの先頭アドレス
に分岐する場合に用いる。
入力5は、現在実行しているマイクロ命令のアドレスに
インクリメンタ84によって“1°を加算したアドレス
となる。
人力6は、TVR10の出力が与えられ、TVRIOに
格納されたベクトル番号のテストを開始する時にMRO
MB2のアドレスとなる。これらの入力はROMアドレ
スセレクタ81によって選択されて、MAR82に与え
られる。
MAR82は、セレクタ81によって選択されたアドレ
スを一時的に保持するレジスタであり、保持されたアド
レスは、MROMB2及びインクリメンタ84に与えら
れる。
MIR3Bは、MROMB2から読出されたマイクロ命
令を一時的に保持するレジスタであり、保持されたマイ
クロ命令はNOP発生器(NOPG)85に与えられる
NOP発生器85は、制御信号(n o p)にしたが
ってMIR33から与えられるマイクロ命令を無効とす
る回路であり、無効とする場合には、MIR33から与
えられたマイクロ命令に代えてNOP命令(プロセッサ
が実質的な処理を行なわない命令)をマイクロ命令バス
86に出力し、無効としない場合には、MIR33から
与えられたマイクロ命令をマイクロ命令バス86に出力
する。
次に、第5図(b)に示した各ベクトルの処理、すなわ
ち第7図の単位テストベクトルの処理の開始のタイミン
グを、第9図(a)に示す動作タイミングチャートを参
照して説明する。
MROM32から読出されてMIR33にセットされた
テスト開始命令(TSTART)かサイクルT2で実行
されると、次のサイクルT3におイテ、MAR82+:
TVRIOの内容がRSEL81によって選択されてセ
ットされ、プロセッサが通常状態からテスト状態へと遷
移する。この時に、マイクロ命令バス86に出力される
マイクロ命令はNOP命令となる。
次のサイクルT4においては、MAR82にセットされ
たアドレスによってTVRIOに格納された識別情報の
テストベクトルを実行するだめのマイクロプログラムの
先頭アドレスへ分岐するための分岐命令がMROM32
から読出されて、MIR33にセットされる。
次のサイクルT5においては、MIR33にセットされ
た分岐命令(TVR)すなわち分岐先のアドレスaがR
3EL81によって選択されてMAR82にセットされ
る。また、サイクルT4においてMAR82にセットさ
れたアドレスTVHにlNC84によって1を加算した
アドレスTVR+1に対応したマイクロ命令(TVR+
1)がMIR33にセットされるが、このマイクロ命令
はこれから実行するセルフテストと無関係であるため、
サイクルT5ではマイクロ命令バス86に出力されず、
NOP命令が出力される。
次のサイクルT6においては、MAR82にセットされ
たアドレスで指定される分岐先の命令(a)、すなわち
テストベクトルを実行するためのマイクロプログラムの
先頭のマイクロ命令がMROM32から読出されてMI
R3Bにセットされ、マイクロ命令が実行される。この
ように、以降のサイクルにおいては、MAR82にセッ
トされるアドレスがインクリメントされ、インクリメン
トされるアドレスによって指定されるマイクロ命令がM
ROMB2から順次読出されてMIR33にセットされ
、マイクロプログラムが順次実行されてセルフテストが
行なわれる。
このようにして、TVRIOに格納された識別情報によ
って示されるテストベクトルがサイクルT8ですべて終
了すると、TVRl 0の内容がカウントアツプされて
更新される。
次のサイクルT9においては、次のテストベクトルに移
行するマイクロ命令が実行され、以降のサイクルにおい
ては、更新されたTVRIOの内容で示されるテストベ
クトルが、上述したと同様にして実行され、外部割込み
が発生してプロセッサが通常状態に復帰するまで順次テ
ストベクトルが実行される。
次に、上述したようにセルフテストが進行している時に
、プロセッサを通常状態へ復帰させるための外部割込み
が発生し、セルフテストを中断して通常状態へ遷移する
動作タイミングを、第9図(b)を参照して説明する。
サイクルT2〜T6において、テストベクトルが順次実
行されてセルフテストが進行されている時に、外部割込
みI NTRが発生すると、次のサイクルT7において
、プロセッサがテスト状態から通常状態へ遷移毛、外部
割込みを処理するためのマイクロプログラムの先頭アド
レスINTがMAR82にセットされる。また、このサ
イクルT7ては、プロセッサは命令を処理しないため、
マイクロ命令バス85にはN0PG85からNOP命令
が出力される。
次のサイクルT8では、MAR83にセットされたアド
レスINTて指定されるマイクロ命令(INT)がMR
OM32から読出されてMIR33にセットされ、第9
図(b)に示すように、割込み処理のマイクロプログラ
ムが実行さしル。
このように、TVRIOの内容が保持された状態でテス
ト状態から通常状態へ遷移した後、再びテスト開始命令
を実行すると、TVRloに保りされた内容で示される
中断されたテストベクトルから順次テストベクトルが上
述したようにして実行される。これにより、第4図に示
したように、プロセッサの通常処理の合い間にテストベ
クトルが順次実行されて、プロセッサ全体のセルフテス
トが進められる。
このように、上記実施例にあっては、全体のセルフテス
トを複数のテストに分割してなるテストベクトルを識別
する情報をTVRIOに保持し、テストベクトルが終了
する毎にこの情報が更新されるので、この情報を参照す
ることによって、全体のセルフテストを連続実行するこ
となく、プロセッサの空き時間を利用して不連続的に実
行することが可能となり、リアルタイムでプロセッサの
故障を発見して外部に報知することができるようになる
また、プロセッサに故障が発見された場合には、プロセ
ッサの動作処理を停止することが可能であり、直前まで
実行されていたテストベクトルの番号がTVRloに保
持されるため、このテストベクトルから故障が発生した
箇所が判別でき、プロセッサ内で故障診断を行なうこと
が可能となる。
さらには、予備の構成を用意しておき、故障が発生した
構成との交換を行なうことによって、自己修復を故障発
生から極めて短時間で行なうことが可能となり、プロセ
ッサ内の信−頼−性を向上させることができるようにな
る。
セルフテストの対象は、上記したMROM32の他に例
えばIDU2ではPLA22があり、また0FU4では
データキャッシュ゛メモリ41がある。次に、これらの
セルフテストの゛手順゛を説明゛する。
第10図はPLA22のセルフテストに係わる構成を示
す図であり、同図を用いてPLA22のセルフテストに
ついて説−明する。
第10図において、・PLA22のセルフテストは、最
初にAND平面1001のテストが行なわれ、次にOR
平面1002のテス“トが行なわれる。
まず、通常状態時にはIFUIから与えられる命令コー
ドを保持する命令レジスタ(INR)1003にテスト
データの初期値がセットされ、この初期値がインクリメ
ンタ(INC)1004によって順次インクリメントさ
れ、順次AND平面1001に与えられる。この時に、
OR平面1002のテスト時にAND平面1001の積
項線を順次活性化するエクストラ・アンド・ア、レー(
EAA)100.5は非活性状態とする。
このような状態にあって、lNR100Bから出力され
るそれぞれのテストデータに対応してAND平面100
1から出力されるデータは、排他的論理和(EXOR)
ゲート1006で圧縮され圧縮器(LFSR)24に書
込まれる。このようにしてテストが進行し、lNR10
03にセットされるテストデータが終了値に達すると、
AND平面1001のテストは終了し、0・R平面10
02のテストが開始される。
OR平面1002のテストにあっては、テストパターン
発生器(EAAG)1007がら発生されるテストパタ
ーンにしたがってEAA1005によってAND平面1
0o1の積項線が順次1本づつ活性化され、それぞれの
積項線の活性化に対応してOR平面1002から出力さ
れるデータは、圧縮器24で圧縮される。圧縮器24の
値はOR平面1002のテスト終了後、AND平面10
01における圧縮データとともにPLA22のテスト結
果として内部バス60に出力され、PLA22のセルフ
テストが完了する。
次に、データキャッシュメモリ41のセルフテストを、
第11図を用いて説明する。
第11図は2ウエイのセットアソシアティブ方式のデー
タキャシュメモリ41におけるセルフテストに係わる構
成を示す図である。
第11図において、オペランドフェッチアドレスレジス
タ(OFAR)1101にテストアドレスの初期値がセ
ットされると、セットされたアドレスで指定されるキャ
ッシュメモリ41のオペランドデータがメモリオペラン
ドレジスタ(MOR)1102に一旦読出されて退避さ
れる。その後、0FARIIOIにセットされたアドレ
スのキャッシュメモリ41に、乱数発生器とデータ反転
回路からなるテストデータ発生器(TPO)1103か
ら発生されるテストデータが書込まれ、書込まれたデー
タはキャッシュメモリ41から読出されて圧縮器(LF
SR)44で圧縮される。また、同様の動作がTPG1
103の出力を反転して行なわれる。
このようなアクセス動作が終了すると、0FAR110
1から与えられる論理アドレスを物理アドレスに変換す
るトランスレーション・ルックアサイド・バッファ(T
LB)の出力とキャッシュメモリ41の各ラインの物理
アドレスを格納するTAG1105の出力とを比較する
比較器(COMP)1106の比較結果を選択信号とす
るセレクタ(SEL)1107によってMOR1102
に退避されたデータが選択され、セレクタ(SEL)1
108及び、セレクタ1108の出力と外部メモリから
のデータの入力を制御するバスインターフェースユニッ
ト(BIU)1109の出力とを選択するセレクタ(S
EL)1110を介してキャッシュメモリ41に戻され
る。
その後、0FARIIOIの内容がインクリメンタ11
11によってカウントアツプされ、カウントアツプされ
たアドレスで上述したと同様の動作が0FARIIOI
の内容が終了値に達するまで繰り返し行なわれ、終了値
に達するとセルフテストが終了する。
このような処理手順で進められるそれぞれのテスト対象
のセルフテストにおいて、テスト対象の出力データを圧
縮してテスト結果を得る圧縮器は、例えば第12図に示
すように構成される。
第12図において、圧縮器は、入力バス1201から一
方の入力に与えられるテスト出力を書込みイネーブル信
号にしたがって圧縮するEXORゲート1202を介し
てフリップフロップ1203が縦続接続されてなり、圧
縮されてフリップフロップ1203に保持されたテスト
結果は、出力信号により導通制御される出力バッファ1
204を介して内部バス60に出力される。
第13図は上記実施例で詳説したこの発明の故障診断装
置を備えたマイクロプロセッサを用いたシステムの構成
を示す図である。
第13図に示すシステムは、この発明が適用されたマイ
クロプロセッサ(MPU)1301が、制御対象130
2となる例えばFA用のロボット、プラント用のシーケ
ンス制御装置、エレベータや列車の運行管理装置を制御
するシステムである。
MPU1301は、MPU1301によって制御される
周辺装置として、パリティチエツク回路1303を備え
たメモリ1304、フロッピーディスクコントローラ(
FDC)1305によって制御されるフロッピーデスク
ドライバ(FDD)1306、シリアルI10インター
フェース(S10)1307、CRTコントローラ(C
RTC)1308によって制御されるCRTデイスプレ
ィ(CRT)1309を備え、これらの周辺機器がMP
U1301と接続されるシステムバス1310を介して
、制御対象1302の制御レジスタにデータを書込むこ
とによって制御対象1302を制御している。
このようなシステムにあって、MPU1301にはタイ
マ1311によって一定間隔で外部割込みが与えられ、
これにより、第4図に示したように、MPU1301の
通常処理の合い間にセルフテストが実行される。セルフ
テストの評価結果において、MPU1.301に故障が
発見された場合には、ハングアップ信号がメモリ130
4のパリティエラー信号、FDC1305のエラー信号
、5I01307の通信エラー信号と同様なエラー通知
信号としてMPU1301から制御対象1302に与え
られ、これにより制御対象1302は緊急停止される。
このように、この発明を適用したプロセッサを用いるこ
とによって、システムの立ち上げ時だけでなく、プロセ
ッサの通常の処理動作中であってもプロセッサのセルフ
テストを行ない、リアルタイムでプロセッサの故障を検
出して報知することが可能となる。これにより、プロセ
ッサに故障が発生した場合であっても、直ちにシステム
を停止することができるので、信頼性、安全性の高い制
御システムを構築することが可能となる。
なお、この発明は、上記実施例に限ることはなく、例え
ば第14図に示すように、第1図に示したそれぞれのユ
ニットの圧縮器を出力ラッチ回路1401に置き換えて
、それぞれのユニットのテスト出力を出力ラッチ回路1
401を介してプロセッサ全体の圧縮器7に転送して圧
縮するようにしてもよい。
また、第15図に示すように、それぞれのユニットの圧
縮器の出力をプロセッサ全体の圧縮器7に内部バス10
を介さずシリアル転送するようにしてもよい。
さらには、プロセッサにおける全体のセルフテストの処
理を、第15図の処理フローに示すように、それぞれの
テスト対象のセルフテストが終了する毎に、テスト結果
格納レジスタ(TRR)9の各ビットをテスト結果に対
応してセットしながら進めるようにしてもよい。
[発明の効果] 以上説明したように、この発明によれば、プロセッサの
通常動作状態の合い間に単位セルフテストを順次実行処
理して評価するようにしたので、リアルタイムでプロセ
ッサの故障診断を行なうことが可能となり、プロセッサ
やプロセッサが組込まれたシステムの信頼性を向上させ
るプロセッサの故障診断装置を提供することができる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係わる故障診断装置を含
むマイクロプロセッサの構成を示す図、第2図、第6図
、第8図、第10図、第11図。 第12図は第1図に示すプロセッサの要部構成を示す図
、 第3図及び第4図は第1図に示すプロセッサの動作状態
遷移を示す図、 第5図及び第7図はセルフテストの処理手順を示すフロ
ーチャート 第9図はセルフテストの動作タイミングを示す図、 第13図は第1図に示すマイクロプロセッサを備えたシ
ステムの構成を示す図、 114図乃至第16図はこの発明の他の実施例を示す図
である。 2・・・命令デコードユニット(IDU)3・・・マイ
クロ制御ユニット(MCU)4・・・オペランドフェッ
チユニット(OF U)5・・・実行ユニット(EXU
) 7.15,24,35,44.53・・・圧縮器8.1
4.23,34.43・・・テスト制御回路9・・・テ
スト結果格納レジスタ 10・・・テストベクトルレジスタ

Claims (1)

  1. 【特許請求の範囲】 プロセッサにおける通常動作状態とセルフテスト状態と
    の間の状態遷移を制御する状態遷移制御手段と、 前記状態遷移制御手段によってプロセッサがセルフテス
    ト状態から通常動作状態へ状態遷移された時に、セルフ
    テスト状態時に実行されて状態遷移時に中断された単位
    セルフテストを判別する判別手段と、 前記状態遷移制御手段によってプロセッサが通常動作状
    態からセルフテスト状態へ状態遷移された時に、前記判
    別手段によって判別された単位セルフテストから順次単
    位セルフテストを実行して評価する実行手段と、 前記実行手段の評価結果に基づいてプロセッサに故障が
    発見された場合には、これを報知する報知手段と を有することを特徴とするプロセッサの故障診断装置。
JP2230523A 1990-09-03 1990-09-03 プロセッサの故障診断装置 Pending JPH04112236A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2230523A JPH04112236A (ja) 1990-09-03 1990-09-03 プロセッサの故障診断装置
KR1019910015310A KR920006847A (ko) 1990-09-03 1991-09-03 프로세서의 고장진단장치 및 그 진단방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2230523A JPH04112236A (ja) 1990-09-03 1990-09-03 プロセッサの故障診断装置

Publications (1)

Publication Number Publication Date
JPH04112236A true JPH04112236A (ja) 1992-04-14

Family

ID=16909082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2230523A Pending JPH04112236A (ja) 1990-09-03 1990-09-03 プロセッサの故障診断装置

Country Status (1)

Country Link
JP (1) JPH04112236A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019532429A (ja) * 2016-11-02 2019-11-07 日立オートモティブシステムズ株式会社 計算機システム、テスト方法、および記録媒体
JP2020030714A (ja) * 2018-08-24 2020-02-27 ルネサスエレクトロニクス株式会社 自己診断装置、半導体装置及び自己診断方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS595364A (ja) * 1982-07-01 1984-01-12 Nec Corp 時分割処理機能を有する情報処理装置
JPS6111855A (ja) * 1984-06-28 1986-01-20 Mitsubishi Electric Corp デ−タ処理装置の機能診断方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS595364A (ja) * 1982-07-01 1984-01-12 Nec Corp 時分割処理機能を有する情報処理装置
JPS6111855A (ja) * 1984-06-28 1986-01-20 Mitsubishi Electric Corp デ−タ処理装置の機能診断方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019532429A (ja) * 2016-11-02 2019-11-07 日立オートモティブシステムズ株式会社 計算機システム、テスト方法、および記録媒体
JP2020030714A (ja) * 2018-08-24 2020-02-27 ルネサスエレクトロニクス株式会社 自己診断装置、半導体装置及び自己診断方法

Similar Documents

Publication Publication Date Title
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
US4566063A (en) Data processor which can repeat the execution of instruction loops with minimal instruction fetches
US5758058A (en) Apparatus and method for initializing a master/checker fault detecting microprocessor
US4074353A (en) Trap mechanism for a data processing system
US6754856B2 (en) Memory access debug facility
EP0380858B1 (en) Method and apparatus for detecting and correcting errors in a pipelined computer system
US4710866A (en) Method and apparatus for validating prefetched instruction
JP5546859B2 (ja) プロセッサ命令セット動作モードを比較するデバッグ回路
US3825903A (en) Automatic switching of storage protect keys
US5638382A (en) Built-in self test function for a processor including intermediate test results
JP2005317023A (ja) データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法
US4841434A (en) Control sequencer with dual microprogram counters for microdiagnostics
US4740889A (en) Cache disable for a data processor
US4757445A (en) Method and apparatus for validating prefetched instruction
KR20200088760A (ko) 체크섬 생성
US5867658A (en) Method and apparatus for implementing a stop state for a processor in a multiprocessor system
JPH04112236A (ja) プロセッサの故障診断装置
JPH04120633A (ja) プロセッサの故障診断装置
US4744049A (en) Microcode testing of a cache in a data processor
GB2158977A (en) Control sequencer with dual microprogram counters for microdiagnostics
KR940002321B1 (ko) 마이크로 코드된 데이타 처리기의 테스트 방법
CA1223079A (en) Data processor having selective breakpoint capability with minimal overhead
JP2579817B2 (ja) マイクロプロセッサ
EP0155275B1 (en) Prefetch validation
JPH05113931A (ja) アドレス変換処理方式