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