JPH1115661A - Cpuの自己診断方法 - Google Patents
Cpuの自己診断方法Info
- Publication number
- JPH1115661A JPH1115661A JP9170200A JP17020097A JPH1115661A JP H1115661 A JPH1115661 A JP H1115661A JP 9170200 A JP9170200 A JP 9170200A JP 17020097 A JP17020097 A JP 17020097A JP H1115661 A JPH1115661 A JP H1115661A
- Authority
- JP
- Japan
- Prior art keywords
- self
- cpu
- diagnosis
- data
- stage
- 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
Landscapes
- Tests Of Electronic Circuits (AREA)
- Advance Control (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【課題】 CPU内の異常を異常発生時に即座にかつ正
確に検出する。 【解決手段】 本発明は、同一演算機能を有した複数の
演算器14a.14bを有し、少なくとも読出段階、実
行段階、書込段階から構成された複数の演算命令をシス
テムクロックに同期してパイプライン方式で順次実行し
ていくCPUの動作を診断するCPUの自己診断方法に
おいて、複数の各演算命令17からなる演算命令列にお
ける所定演算命令数毎に下記a,b,cの自己診断用命
令18を実行するCPUの自己診断方法である。 a.各演算器に対して同一の演算処理を実行させ、 b.各演算器で得られた演算結果を比較し、 c.比較結果が不一致の場合のみ書込段階を用いて異常
警報出力する。
確に検出する。 【解決手段】 本発明は、同一演算機能を有した複数の
演算器14a.14bを有し、少なくとも読出段階、実
行段階、書込段階から構成された複数の演算命令をシス
テムクロックに同期してパイプライン方式で順次実行し
ていくCPUの動作を診断するCPUの自己診断方法に
おいて、複数の各演算命令17からなる演算命令列にお
ける所定演算命令数毎に下記a,b,cの自己診断用命
令18を実行するCPUの自己診断方法である。 a.各演算器に対して同一の演算処理を実行させ、 b.各演算器で得られた演算結果を比較し、 c.比較結果が不一致の場合のみ書込段階を用いて異常
警報出力する。
Description
【0001】
【発明の属する技術分野】本発明はコンピュータに組込
まれたCPU自体で自己診断を実施するCPUの自己診
断方法に関する。
まれたCPU自体で自己診断を実施するCPUの自己診
断方法に関する。
【0002】
【従来の技術】一般に、コンピュータにおいては、図6
に示すように、システムバス1に対してCPU2、RO
M3、RAM4、表示装置5、HDD6等の補助記憶装
置が接続されている。
に示すように、システムバス1に対してCPU2、RO
M3、RAM4、表示装置5、HDD6等の補助記憶装
置が接続されている。
【0003】このようなコンピュータの信頼性を確保す
るため、コンピュータ内にコンピュータ自体の異常を検
出する自己診断機能が組込まれている場合がある。コン
ピュータの異常は、大きく分けてROM3、RAM4、
表示装置5、HDD6等の異常とCPU自体の異常とが
ある。ROM3、RAM4、表示装置5、HDD6等の
異常は、例えばROM3やRAM4等の主記憶装置内に
自己診断用のプログラムを書込み、CPU2でこの自己
診断用のプログラムを実行することによって、各素子に
おける異常の有無を診断できる。
るため、コンピュータ内にコンピュータ自体の異常を検
出する自己診断機能が組込まれている場合がある。コン
ピュータの異常は、大きく分けてROM3、RAM4、
表示装置5、HDD6等の異常とCPU自体の異常とが
ある。ROM3、RAM4、表示装置5、HDD6等の
異常は、例えばROM3やRAM4等の主記憶装置内に
自己診断用のプログラムを書込み、CPU2でこの自己
診断用のプログラムを実行することによって、各素子に
おける異常の有無を診断できる。
【0004】しかし、CPU2自体が異常になった場合
は、自己診断用のプログラムが実行できないので、CP
U2を含む全ての素子の異常の有無を診断できない。こ
のような不都合を解消するために、コンピュータ内に図
6に示す自己診断装置7が組込まれている。
は、自己診断用のプログラムが実行できないので、CP
U2を含む全ての素子の異常の有無を診断できない。こ
のような不都合を解消するために、コンピュータ内に図
6に示す自己診断装置7が組込まれている。
【0005】この自己診断装置7内には、ウォッチドッ
グタイマが組込まれており、予め定められた猶予時間T
a経過してもCPU2から信号(データ)が出力されな
い場合は、CPU2に何等かの異常が発生したと判断し
て異常警告出力する。
グタイマが組込まれており、予め定められた猶予時間T
a経過してもCPU2から信号(データ)が出力されな
い場合は、CPU2に何等かの異常が発生したと判断し
て異常警告出力する。
【0006】
【発明が解決しようとする課題】しかしながら、図6に
示すように、ウォッチドッグタイマを用いた自己診断装
置7が組込まれたコンピュータにおいても、まだ解消す
べき次のような課題があった。
示すように、ウォッチドッグタイマを用いた自己診断装
置7が組込まれたコンピュータにおいても、まだ解消す
べき次のような課題があった。
【0007】すなわち、前述したウォッチドッグタイマ
の猶予時間Taは一定値に固定されている。この猶予時
間Taを短くするとCPU2に異常が発生した場合は短
時間で異常が発見できる。しかし、この猶予時間Taを
過度に短くすると、CPU2が異常でない場合において
も異常と判断する問題が発生する。逆に、この猶予時間
Taが過度に長いと、CPU2の異常状態が長期間に亘
って検出されない問題が生じる。
の猶予時間Taは一定値に固定されている。この猶予時
間Taを短くするとCPU2に異常が発生した場合は短
時間で異常が発見できる。しかし、この猶予時間Taを
過度に短くすると、CPU2が異常でない場合において
も異常と判断する問題が発生する。逆に、この猶予時間
Taが過度に長いと、CPU2の異常状態が長期間に亘
って検出されない問題が生じる。
【0008】また、CPU2は継続して信号(データ)
を出力し続けているが、誤った信号(データ)を出力し
続出た場合は、CPU2の異常は全く検出できない。そ
のために、このコンピュータが組込まれた情報処理装置
に重大支障が発生する懸念がある。
を出力し続けているが、誤った信号(データ)を出力し
続出た場合は、CPU2の異常は全く検出できない。そ
のために、このコンピュータが組込まれた情報処理装置
に重大支障が発生する懸念がある。
【0009】本発明はこのような事情に鑑みてなされた
ものであり、CPU内部に自己診断機能を設けることに
よって、短い周期で定期的により確実な自己診断が実施
でき、かつ異常発生時のみ異常警報が出力され、通常の
処理に対する影響を極力抑制した状態で、コンピュータ
全体の信頼性を大幅に向上できるCPUの自己診断方法
を提供することを目的とする。
ものであり、CPU内部に自己診断機能を設けることに
よって、短い周期で定期的により確実な自己診断が実施
でき、かつ異常発生時のみ異常警報が出力され、通常の
処理に対する影響を極力抑制した状態で、コンピュータ
全体の信頼性を大幅に向上できるCPUの自己診断方法
を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明は、同一演算機能
を有した複数の演算器を有し、少なくとも読出段階、実
行段階、書込段階から構成された複数の演算命令をシス
テムクロックに同期してパイプライン方式で順次実行し
ていくCPUに適用される。
を有した複数の演算器を有し、少なくとも読出段階、実
行段階、書込段階から構成された複数の演算命令をシス
テムクロックに同期してパイプライン方式で順次実行し
ていくCPUに適用される。
【0011】そして、上記課題を解消するために、本発
明のCPUの自己診断方法においては、複数の各演算命
令からなる演算命令列における所定演算命令数毎に下記
a,b,cの自己診断用命令を実行するようにしてい
る。
明のCPUの自己診断方法においては、複数の各演算命
令からなる演算命令列における所定演算命令数毎に下記
a,b,cの自己診断用命令を実行するようにしてい
る。
【0012】a.各演算器に対して同一の演算処理を実
行させ、 b.各演算器で得られた演算結果を比較し、 c.比較結果が不一致の場合のみ書込段階を用いて異常
警報出力する。
行させ、 b.各演算器で得られた演算結果を比較し、 c.比較結果が不一致の場合のみ書込段階を用いて異常
警報出力する。
【0013】このように構成されたCPUの自己診断方
法の動作原理を説明する。パイプライン方式で複数の演
算命令を順次実行していくCPUにおいては、一般に同
一演算機能を有する複数の演算器が組込まれている。そ
して、複数の演算を同時に実施している。この同一機能
を有する演算器に対して同一の演算処理を実行させた場
合、当然同一の演算結果が得られるはずである。
法の動作原理を説明する。パイプライン方式で複数の演
算命令を順次実行していくCPUにおいては、一般に同
一演算機能を有する複数の演算器が組込まれている。そ
して、複数の演算を同時に実施している。この同一機能
を有する演算器に対して同一の演算処理を実行させた場
合、当然同一の演算結果が得られるはずである。
【0014】したがつて、上述したa,bを実行する演
算命令を通常の業務処理を実行するための演算命令列の
なかに所定間隔で書込むことによって、上述した同一の
演算及び演算結果の比較を容易に実施できる。この場
合、cに示すように、比較結果が不一致の場合のみ書込
段階を用いて異常警報出力する。
算命令を通常の業務処理を実行するための演算命令列の
なかに所定間隔で書込むことによって、上述した同一の
演算及び演算結果の比較を容易に実施できる。この場
合、cに示すように、比較結果が不一致の場合のみ書込
段階を用いて異常警報出力する。
【0015】すなわち、異常が検出されなかった場合
は、演算命令を構成する読出段階、実行段階、書込段階
のうちの書込段階にはなにも書込まれていないので、通
常の状態においては、自己診断結果はなにも残らなく、
CPUにおける処理負担が最小限に抑制される。
は、演算命令を構成する読出段階、実行段階、書込段階
のうちの書込段階にはなにも書込まれていないので、通
常の状態においては、自己診断結果はなにも残らなく、
CPUにおける処理負担が最小限に抑制される。
【0016】また、別の発明は、少なくともレジスタ、
データパス、演算器、データ読出書込ユニットが組込ま
れ、入力されたデータに対して演算器を用いて演算する
CPUの動作を診断するCPUに適用される。
データパス、演算器、データ読出書込ユニットが組込ま
れ、入力されたデータに対して演算器を用いて演算する
CPUの動作を診断するCPUに適用される。
【0017】そして、この発明のCPUの自己診断方法
においては、レジスタ、データパス、データ読出書込ユ
ニット等のデータの転送及び一時記憶に関する複数の機
能ブロックに対してデータを還流させるためのスキャン
経路を形成し、このスキャン経路へ試験データを還流さ
せて、このスキャン経路を還流した試験データと還流前
の試験データとを比較し、比較結果が不一致の場合のみ
異常警報出力するようにしている。
においては、レジスタ、データパス、データ読出書込ユ
ニット等のデータの転送及び一時記憶に関する複数の機
能ブロックに対してデータを還流させるためのスキャン
経路を形成し、このスキャン経路へ試験データを還流さ
せて、このスキャン経路を還流した試験データと還流前
の試験データとを比較し、比較結果が不一致の場合のみ
異常警報出力するようにしている。
【0018】このように構成されたCPUの自己診断方
法においては、CPU内におけるレジスタ、データパ
ス、データ読出書込ユニット等のデータの転送及び一時
記憶に関する各機能ブロックを各データが通過する場合
は、これらの各機能ブロックが正常な場合は名データそ
のものが変化することはない。
法においては、CPU内におけるレジスタ、データパ
ス、データ読出書込ユニット等のデータの転送及び一時
記憶に関する各機能ブロックを各データが通過する場合
は、これらの各機能ブロックが正常な場合は名データそ
のものが変化することはない。
【0019】したがって、各機能ブロックを一巡するス
キャン経路を形成して、このスキャン経路に試験データ
を還流させて、還流前の試験データと還流後の試験デー
タとを比較して、不一致の場合は、スキャン経路を構成
するいずれかの機能ブロックに異常が生じたと判断でき
る。よって、CPU自体で自己診断できる。
キャン経路を形成して、このスキャン経路に試験データ
を還流させて、還流前の試験データと還流後の試験デー
タとを比較して、不一致の場合は、スキャン経路を構成
するいずれかの機能ブロックに異常が生じたと判断でき
る。よって、CPU自体で自己診断できる。
【0020】
【発明の実施の形態】以下本発明の各実施形態を図面を
用いて説明する。 (第1実施形態)図1は本発明の第1実施形態の自己診
断方法が適用されるCPUの概略構成を示す模式図であ
る。
用いて説明する。 (第1実施形態)図1は本発明の第1実施形態の自己診
断方法が適用されるCPUの概略構成を示す模式図であ
る。
【0021】レジスタファイル11から出力された各デ
ータd1 ,d2 ,d3 ,d4 は各レジスタ12a,12
b,12c,12dに一旦記憶保持される。各レジスタ
12a〜12dに記憶保持さりれた各データd1 〜d4
は演算指令に従って出力され、各ゲート13a,13
b,13c,13dを介して演算器(ALU)14a,
14bへ入力される。この演算器14a,14bは同一
演算機能を有している。例えばこの実施形態において
は、各演算器14a,14bは共に各レジスタ12a〜
12dの出力の総和を演算する。各演算器14a,14
bから出力された演算結果の各データd5 ,d6 は元の
レジスタファイル11へ書込まれると共に、比較器16
へ入力される。比較器16は自己診断用命令に従って各
演算器14a,14bの演算結果の各データd5 ,d6
を比較して、不一致の場合のみ異常検出警報e1 を出力
する。
ータd1 ,d2 ,d3 ,d4 は各レジスタ12a,12
b,12c,12dに一旦記憶保持される。各レジスタ
12a〜12dに記憶保持さりれた各データd1 〜d4
は演算指令に従って出力され、各ゲート13a,13
b,13c,13dを介して演算器(ALU)14a,
14bへ入力される。この演算器14a,14bは同一
演算機能を有している。例えばこの実施形態において
は、各演算器14a,14bは共に各レジスタ12a〜
12dの出力の総和を演算する。各演算器14a,14
bから出力された演算結果の各データd5 ,d6 は元の
レジスタファイル11へ書込まれると共に、比較器16
へ入力される。比較器16は自己診断用命令に従って各
演算器14a,14bの演算結果の各データd5 ,d6
を比較して、不一致の場合のみ異常検出警報e1 を出力
する。
【0022】このようなハード構成を有するCPUは、
パイプライン方式で複数の演算命令をシステムクロック
に同期して順次実行していく。図2は、パイプライン方
式で順次実行される各演算命令と該当演算命令の実行タ
イミングとプログラムカウンタのカウント値PCとの関
係を示す模式図である。横軸がシステムクロックに対応
する経過時刻tを示し、縦軸はプログラムカウンタのカ
ウント値PCを示している。
パイプライン方式で複数の演算命令をシステムクロック
に同期して順次実行していく。図2は、パイプライン方
式で順次実行される各演算命令と該当演算命令の実行タ
イミングとプログラムカウンタのカウント値PCとの関
係を示す模式図である。横軸がシステムクロックに対応
する経過時刻tを示し、縦軸はプログラムカウンタのカ
ウント値PCを示している。
【0023】図示するように、この実施形態における各
演算命令は、演算対象のデータをレジスタファイル11
または各レジスタ12a〜12dから読出す読出段階
(ステージ)Dと、各演算器14a,14bで該当演算
を実際に実行する2つの実行段階(ステージ)E1 ,E
2 と、演算結果を例えばレジスタファイル11に書込む
書込段階(ステージ)Wとの合計4段階で構成されてい
る。そして、CPUにおける周期T0 のシステムクロッ
クの立上りに同期して各段階(ステージ)が実行され
る。したがって、一つの演算命令は4周期(4T0 )で
実行される。
演算命令は、演算対象のデータをレジスタファイル11
または各レジスタ12a〜12dから読出す読出段階
(ステージ)Dと、各演算器14a,14bで該当演算
を実際に実行する2つの実行段階(ステージ)E1 ,E
2 と、演算結果を例えばレジスタファイル11に書込む
書込段階(ステージ)Wとの合計4段階で構成されてい
る。そして、CPUにおける周期T0 のシステムクロッ
クの立上りに同期して各段階(ステージ)が実行され
る。したがって、一つの演算命令は4周期(4T0 )で
実行される。
【0024】このように構成された複数の演算命令から
なるプログラムはCPU以外の例えばROMやRAM等
の主記憶装置のプロクラムそメモリに記憶保持されてい
る。そして、システムクロックの周期T0 の2倍の周期
(2T0 )で駆動されるプログラムカウンタのカウント
値PCで指定される番地に記憶されている各演算命令1
7が順番に読出されて、CPU内のキューに一旦記憶さ
れた後に、各演算命令17の前記4段階(ステージ)が
前述したシステムクロックに同期して実行される。
なるプログラムはCPU以外の例えばROMやRAM等
の主記憶装置のプロクラムそメモリに記憶保持されてい
る。そして、システムクロックの周期T0 の2倍の周期
(2T0 )で駆動されるプログラムカウンタのカウント
値PCで指定される番地に記憶されている各演算命令1
7が順番に読出されて、CPU内のキューに一旦記憶さ
れた後に、各演算命令17の前記4段階(ステージ)が
前述したシステムクロックに同期して実行される。
【0025】実施形態のCPUのように同一機能を有し
た複数の演算器14a,14bが組込まれている場合
は、同時に2つの演算命令が周期T0 のシステムクロッ
クの各立上りに同期して実行開始される。
た複数の演算器14a,14bが組込まれている場合
は、同時に2つの演算命令が周期T0 のシステムクロッ
クの各立上りに同期して実行開始される。
【0026】したがって、図2においては、プログラム
カウンタのカウント値PC=n、(n+1)の2つの演
算命令が同時に開始され、開始から4T0 時間経過のち
に該当2つの演算命令による演算処理が終了する。
カウンタのカウント値PC=n、(n+1)の2つの演
算命令が同時に開始され、開始から4T0 時間経過のち
に該当2つの演算命令による演算処理が終了する。
【0027】このように、このコンピュータにおける通
常の業務処理を実行するためのプログラムに含まれる演
算(通常)命令17は、2つずつ1周期T0 だけ開始時
刻をずらせながら、順番に実施されていく。そして、各
演算(通常)命令17の演算結果は順次レジスタファイ
ル11へ書込まれる。
常の業務処理を実行するためのプログラムに含まれる演
算(通常)命令17は、2つずつ1周期T0 だけ開始時
刻をずらせながら、順番に実施されていく。そして、各
演算(通常)命令17の演算結果は順次レジスタファイ
ル11へ書込まれる。
【0028】そして、この実施形態においては、複数の
演算通常)命令17からなる演算異例列(プログラム)
における所定演算命令数毎に自己診断命令18が挿入さ
れている。
演算通常)命令17からなる演算異例列(プログラム)
における所定演算命令数毎に自己診断命令18が挿入さ
れている。
【0029】この自己診断命令18は、1行または複数
行で構成されている。そして、下記a.b.cの処理
(演算)を実行する命令である。 a.各演算器14a,14bに対して同一の演算処理を
実行する。
行で構成されている。そして、下記a.b.cの処理
(演算)を実行する命令である。 a.各演算器14a,14bに対して同一の演算処理を
実行する。
【0030】b.各演算器14a,14bで得られた演
算結果d5 ,d6 を比較する。 c.比較結果d5 ,d6 が不一致の場合のみ書込段階W
を用いて異常警報出力する。
算結果d5 ,d6 を比較する。 c.比較結果d5 ,d6 が不一致の場合のみ書込段階W
を用いて異常警報出力する。
【0031】このa〜cの処理(演算)を実行する1行
または複数行で形成された各行の命令は、図示するよう
に、演算対象の同一の試験データをレジスタファイルま
たは各レジスタから読出す読出段階(ステージ)Dと、
該当演算を各演算器14a,14bで実行する2つの実
行段階(ステージ)E1 ,E2 のみで構成されている。
また、別の命令は各演算器で得られた演算結果d5 ,d
6 を読出す読出段階(ステージ)Dと、読出した演算結
果d5 ,d6 の比較を実行する2つの実行段階(ステー
ジ)E1 ,E2 のみで構成されている。さらに、別の命
令は比較結果を読出す読出段階(ステージ)Dと比較結
果が不一致の場合のみ異常警報をレジスタファイル11
へ書込む書込段階(ステージ)Wで構成されている。し
たがって、比較結果が一致の場合は書込段階(ステー
ジ)Wは実行されない。
または複数行で形成された各行の命令は、図示するよう
に、演算対象の同一の試験データをレジスタファイルま
たは各レジスタから読出す読出段階(ステージ)Dと、
該当演算を各演算器14a,14bで実行する2つの実
行段階(ステージ)E1 ,E2 のみで構成されている。
また、別の命令は各演算器で得られた演算結果d5 ,d
6 を読出す読出段階(ステージ)Dと、読出した演算結
果d5 ,d6 の比較を実行する2つの実行段階(ステー
ジ)E1 ,E2 のみで構成されている。さらに、別の命
令は比較結果を読出す読出段階(ステージ)Dと比較結
果が不一致の場合のみ異常警報をレジスタファイル11
へ書込む書込段階(ステージ)Wで構成されている。し
たがって、比較結果が一致の場合は書込段階(ステー
ジ)Wは実行されない。
【0032】したがって、この自己診断命令18によっ
て、上述したa,b,cの処理が自動的に実行され、各
演算器14a,14bの正常、異常が自動的に判断され
て、異常の場合のみ自己診断結果が記憶されて外部に出
力される。逆に、正常な場合は、比較結果である自己診
断結果は記憶されたり出力されることはない。
て、上述したa,b,cの処理が自動的に実行され、各
演算器14a,14bの正常、異常が自動的に判断され
て、異常の場合のみ自己診断結果が記憶されて外部に出
力される。逆に、正常な場合は、比較結果である自己診
断結果は記憶されたり出力されることはない。
【0033】このように通常の業務プログラムにおける
通常命令列に対して所定演算命令数毎に自己診断命令1
8を挿入することによって、一定周期でCPU内に組込
まれた演算器14a,14bに対する自己診断が自動的
に実施される。しかも、この自己診断命令18を挿入す
る間隔を変更することによつて、自己診断の実行周期を
任意に調整できる。
通常命令列に対して所定演算命令数毎に自己診断命令1
8を挿入することによって、一定周期でCPU内に組込
まれた演算器14a,14bに対する自己診断が自動的
に実施される。しかも、この自己診断命令18を挿入す
る間隔を変更することによつて、自己診断の実行周期を
任意に調整できる。
【0034】したがって、たとえ自己診断の実行周期を
短く設定したとしても、従来のウォッチドッグタイマを
採用した自己診断装置7のように正常状態を異常と判定
することはない。
短く設定したとしても、従来のウォッチドッグタイマを
採用した自己診断装置7のように正常状態を異常と判定
することはない。
【0035】その結果、自己診断の実行周期を短く設定
することによって、CPUの異常発生を短時間でかつ正
確に検出でき、このCPUが組込まれたコンピュータの
信頼性を大幅に向上できる。
することによって、CPUの異常発生を短時間でかつ正
確に検出でき、このCPUが組込まれたコンピュータの
信頼性を大幅に向上できる。
【0036】また、診断結果が正常の場合においては、
自己診断結果はなにも残らなく、CPUにおける処理負
担が最小限に抑制される。また、操作者にとっても、正
常な自己診断結果を確認する技術的意味はないので、正
常な自己診断結果を確認する煩わしさから開放される。
自己診断結果はなにも残らなく、CPUにおける処理負
担が最小限に抑制される。また、操作者にとっても、正
常な自己診断結果を確認する技術的意味はないので、正
常な自己診断結果を確認する煩わしさから開放される。
【0037】なお、上述した第1実施形態においては、
自己診断命令18は通常の業務用プログラムの各演算
(通常)命令17相互間に挿入された状態でCPU以外
の主記憶装置に書込まれていると説明した。
自己診断命令18は通常の業務用プログラムの各演算
(通常)命令17相互間に挿入された状態でCPU以外
の主記憶装置に書込まれていると説明した。
【0038】しかし、この自己診断命令18をCPU内
の別の専用レジスタに記憶保持して、通常の業務プログ
ラムの各演算(通常)命令17がプログラムカウンタで
順次読出されてCPU内のキューに書込まれる時点で、
この自己診断命令18を所定演算(通常)命令数毎に挿
入することも可能である。
の別の専用レジスタに記憶保持して、通常の業務プログ
ラムの各演算(通常)命令17がプログラムカウンタで
順次読出されてCPU内のキューに書込まれる時点で、
この自己診断命令18を所定演算(通常)命令数毎に挿
入することも可能である。
【0039】この場合、図2に示すように、自己診断命
令18はプログラムカウンタのカウント値PCに影響を
与えることはない。 (第2実施形態)図3は本発明の第2実施形態の自己診
断方法が適用されるCPUの概略構成を示す模式図であ
る。
令18はプログラムカウンタのカウント値PCに影響を
与えることはない。 (第2実施形態)図3は本発明の第2実施形態の自己診
断方法が適用されるCPUの概略構成を示す模式図であ
る。
【0040】CPU内には、図1で示すレジスタファイ
ル11、各レジスタ12a〜12d、演算器14a,1
4b、レジスタ15a,15b等のハード構成部材が収
納されている。
ル11、各レジスタ12a〜12d、演算器14a,1
4b、レジスタ15a,15b等のハード構成部材が収
納されている。
【0041】しかし、このCPUをデータの流れの観点
から見ると、このCPUは、レジスタ、データパス、演
算器、データ読出書込ユニット、キャッシュメモリ等の
複数の機能ブロックで構成されていると見なせる。
から見ると、このCPUは、レジスタ、データパス、演
算器、データ読出書込ユニット、キャッシュメモリ等の
複数の機能ブロックで構成されていると見なせる。
【0042】そして、この第2実施形態のCPUの自己
診断方法は、この複数の機能ブロックのうち、データの
転送及び一時記憶等の該当機能ブロックを経由すること
によってもデータが変化しない特性を有する各機能ブロ
ックが正常に動作するか否かを自己診断する。
診断方法は、この複数の機能ブロックのうち、データの
転送及び一時記憶等の該当機能ブロックを経由すること
によってもデータが変化しない特性を有する各機能ブロ
ックが正常に動作するか否かを自己診断する。
【0043】すなわち、図3に示すように、データの転
送及び一時記憶等の該当機能ブロックを経由することに
よってもデータが変化しない、レジスタファイル21、
データパス制御部22aで制御されるデータパス22、
読出書込ユニット23、キャッシュメモリ24と自己診
断制御部25とでスキャン経路26をソフト的に形成す
る。したがって、経由することよって基本的にデータ値
が変化する演算器はこのスキャン経路26に含まれな
い。
送及び一時記憶等の該当機能ブロックを経由することに
よってもデータが変化しない、レジスタファイル21、
データパス制御部22aで制御されるデータパス22、
読出書込ユニット23、キャッシュメモリ24と自己診
断制御部25とでスキャン経路26をソフト的に形成す
る。したがって、経由することよって基本的にデータ値
が変化する演算器はこのスキャン経路26に含まれな
い。
【0044】自己診断制御部25内には、自己診断命令
を実際に実行する実行部27と、期待値メモリ28と、
処理結果メモリ29と、比較部30とで構成されてい
る。また外部メモリ31内には、自己診断命令とこの自
己診断に使用する試験データとが記憶されている。
を実際に実行する実行部27と、期待値メモリ28と、
処理結果メモリ29と、比較部30とで構成されてい
る。また外部メモリ31内には、自己診断命令とこの自
己診断に使用する試験データとが記憶されている。
【0045】期待値メモリ28は外部メモリ31から読
取ってスキャン経路26へ還流させる試験データdS を
期待値として試験終了まで記憶保持する。処理結果メモ
リ29はスキャン経路26を一巡した試験データdQ を
一時記憶する。比較部30は期待値メモリ28の試験デ
ータdS と処理結果メモリ29の試験データdQ とを比
較して、両者が不一致の場合のみ、異常検出警報e2 を
出力する。
取ってスキャン経路26へ還流させる試験データdS を
期待値として試験終了まで記憶保持する。処理結果メモ
リ29はスキャン経路26を一巡した試験データdQ を
一時記憶する。比較部30は期待値メモリ28の試験デ
ータdS と処理結果メモリ29の試験データdQ とを比
較して、両者が不一致の場合のみ、異常検出警報e2 を
出力する。
【0046】このCPUには例えば1個の演算器が組込
まれており、図1に示しCPUと同様に、業務プログラ
ムを構成する複数の演算(通常)命令17をパイプライ
ン方式で周期T0 のシステムクロックの立上りに同期し
て順次実行していく。
まれており、図1に示しCPUと同様に、業務プログラ
ムを構成する複数の演算(通常)命令17をパイプライ
ン方式で周期T0 のシステムクロックの立上りに同期し
て順次実行していく。
【0047】そして、外部から自己診断の割込信号が入
力すると、自己診断制御部24は図5に示す割込処理を
実行する。すなわち、割込信号が入力すると、現在、実
行段階(ステージ)が実行中である演算(通常)命令1
7に対しては、該当演算(通常)命令17に対しては最
後のレジスタファイルに対する書込段階(ステージ)W
までを終了させる(S1)。
力すると、自己診断制御部24は図5に示す割込処理を
実行する。すなわち、割込信号が入力すると、現在、実
行段階(ステージ)が実行中である演算(通常)命令1
7に対しては、該当演算(通常)命令17に対しては最
後のレジスタファイルに対する書込段階(ステージ)W
までを終了させる(S1)。
【0048】次に、読出(ステージ)段階Dが実行中又
は終了済みで、かつ実行段階(ステージ)がまだ開始し
ていない演算(通常)命令17に対しては、該当演算
(通常)命令17のアドレス値(プログラムカウンタの
カウント値PC)を読出し(S2)、そのアドレス値
(プログラムカウンタのカウント値PC)を記憶保持す
る(S3)。その後、この実行段階(ステージ)がまだ
開始していない演算命令(通常命令)17をクリアする
(S4)。
は終了済みで、かつ実行段階(ステージ)がまだ開始し
ていない演算(通常)命令17に対しては、該当演算
(通常)命令17のアドレス値(プログラムカウンタの
カウント値PC)を読出し(S2)、そのアドレス値
(プログラムカウンタのカウント値PC)を記憶保持す
る(S3)。その後、この実行段階(ステージ)がまだ
開始していない演算命令(通常命令)17をクリアする
(S4)。
【0049】以上の準備処理が終了すると、外部メモリ
31から自己診断命令を読出して実行部27で実行す
る。先ず最初に、外部メモリ31から試験データdS を
読取って、期待値として期待値メモリ28へ書込む(S
5)。そして、この試験データdS を実行部27からス
キャン経路26へ送出し(S6)、自己診断命令を実行
させる(S7)。すなわち、スキャン経路26の各機能
ブロック21,22,23.24へ動作指令を送出し
て、このスキャン経路26へ送出した試験データdS を
還流させる。
31から自己診断命令を読出して実行部27で実行す
る。先ず最初に、外部メモリ31から試験データdS を
読取って、期待値として期待値メモリ28へ書込む(S
5)。そして、この試験データdS を実行部27からス
キャン経路26へ送出し(S6)、自己診断命令を実行
させる(S7)。すなわち、スキャン経路26の各機能
ブロック21,22,23.24へ動作指令を送出し
て、このスキャン経路26へ送出した試験データdS を
還流させる。
【0050】そして、最終のキャッシュメモリ24から
読出された試験データdQ を読取り(S8)、処理結果
メモリ29へ書込む(S9)。次に、処理結果メモリ2
9に記憶されたスキャン経路26を経由した試験データ
dQ と期待値メモリ28に記憶された期待値としてのス
キャン経路26を経由する前の試験データdS とを比較
する(S10)。
読出された試験データdQ を読取り(S8)、処理結果
メモリ29へ書込む(S9)。次に、処理結果メモリ2
9に記憶されたスキャン経路26を経由した試験データ
dQ と期待値メモリ28に記憶された期待値としてのス
キャン経路26を経由する前の試験データdS とを比較
する(S10)。
【0051】両者が一致する場合は(S11)、このス
キャン経路26を形成するレジスタファイル21、デー
タパス22、読出書込ユニット23、キャッシュメモリ
24の各機能ブロックは正常であると判断する。この場
合、なにも処理をしない。
キャン経路26を形成するレジスタファイル21、デー
タパス22、読出書込ユニット23、キャッシュメモリ
24の各機能ブロックは正常であると判断する。この場
合、なにも処理をしない。
【0052】また、不一致の場合(S11)、スキャン
経路26を形成するレジスタファイル21、データパス
22、読出書込ユニット23、キャッシュメモリ24の
うちのいずれか一つ又は複数の機能ブロックが異常であ
ると判断できるので、異常検出警報e2 を出力する(S
12)。
経路26を形成するレジスタファイル21、データパス
22、読出書込ユニット23、キャッシュメモリ24の
うちのいずれか一つ又は複数の機能ブロックが異常であ
ると判断できるので、異常検出警報e2 を出力する(S
12)。
【0053】図5に示すこの割込処理が終了すると、通
常の業務プログラムの各演算(通常)命令17を先に記
憶保持したアドレス位置(プログラムカウント値PC)
から再開する。
常の業務プログラムの各演算(通常)命令17を先に記
憶保持したアドレス位置(プログラムカウント値PC)
から再開する。
【0054】このように構成された第2実施形態のCP
Uの自己診断方法においては、図4に示すように、通常
の業務プログラムにおける各演算(通常)命令17をパ
イプライン方式で実行している状態において、外部から
自己診断の割込信号が入力すると、演算(通常)命令1
7の実行を一旦停止して、自己診断命令18aを実行す
る。そして、異常を検出した場合のみ異常検出警報e2
が出力され、正常時にはなにも出力されない。
Uの自己診断方法においては、図4に示すように、通常
の業務プログラムにおける各演算(通常)命令17をパ
イプライン方式で実行している状態において、外部から
自己診断の割込信号が入力すると、演算(通常)命令1
7の実行を一旦停止して、自己診断命令18aを実行す
る。そして、異常を検出した場合のみ異常検出警報e2
が出力され、正常時にはなにも出力されない。
【0055】なお、自己診断を実行するための割込信号
は、例えばタイマ等を用いて一定時間間隔で自動的に発
生される。このように構成されたCPUの自己診断方法
においても、CPUを構成するデータ転送やデータ一時
記憶のための各機能ブロックが一定周期で自動的に自己
診断される。したがって、図1に示した第1実施形態の
自己診断方法とほぼ同様の効果を得ることができる。
は、例えばタイマ等を用いて一定時間間隔で自動的に発
生される。このように構成されたCPUの自己診断方法
においても、CPUを構成するデータ転送やデータ一時
記憶のための各機能ブロックが一定周期で自動的に自己
診断される。したがって、図1に示した第1実施形態の
自己診断方法とほぼ同様の効果を得ることができる。
【0056】さらに、上述した自己診断方法が適用され
る複数のCPUを組込んで信頼性を向上させるた二重化
計算機システムにおいて、待機系と指定された側のCP
Uで上述した自己診断を実施するように構成することが
できる。この場合、稼働系のCPUは自己診断を実施し
ない。したがって、実祭の教務処理能率を低下させず
に、二重化計算機システム全体の信頼性をさらに向上て
きる、
る複数のCPUを組込んで信頼性を向上させるた二重化
計算機システムにおいて、待機系と指定された側のCP
Uで上述した自己診断を実施するように構成することが
できる。この場合、稼働系のCPUは自己診断を実施し
ない。したがって、実祭の教務処理能率を低下させず
に、二重化計算機システム全体の信頼性をさらに向上て
きる、
【0057】
【発明の効果】以上説明したように本発明のCPU自己
診断方法においては、CPU内部に一定周期で自動的に
実行される自己診断機能を設けている。したがって、短
い周期で定期的により確実な自己診断が実施でき、かつ
異常発生時のみ異常警報が出力され、通常の処理に対す
る影響を極力抑制した状態で、コンピュータ全体の信頼
性を大幅に向上できる。
診断方法においては、CPU内部に一定周期で自動的に
実行される自己診断機能を設けている。したがって、短
い周期で定期的により確実な自己診断が実施でき、かつ
異常発生時のみ異常警報が出力され、通常の処理に対す
る影響を極力抑制した状態で、コンピュータ全体の信頼
性を大幅に向上できる。
【図1】 本発明の第1実施形態の自己診断方法が採用
されたCPUの概略構成を示す模式図
されたCPUの概略構成を示す模式図
【図2】 同第1実施形態のCPUにおける各演算命令
のパイプライン処理を示す模式図
のパイプライン処理を示す模式図
【図3】 本発明の第2実施形態の自己診断方法が採用
されたCPUの概略構成を示す模式図
されたCPUの概略構成を示す模式図
【図4】 同第2実施形態のCPUにおける各演算命令
のパイプライン処理を示す模式図
のパイプライン処理を示す模式図
【図5】 同第2実施形態の自己診断方法の動作を示す
流れ図
流れ図
【図6】 従来の自己診断装置が組込まれたコンピュー
タの概略構成図
タの概略構成図
11,21…レジスタファイル 12a〜12d,15a,15b…レジスタ 14a,14b…演算器 16…比較器 17…演算(通常)命令 18,18a…自己診断命令 22…データパス 23…読出書込部 24…キャッシュメモリ 25…自己診断制御部 26…スキャン経路 27…実行部 28…期待値メモリ 29…処理結果メモリ 30…比較部 31…外部メモリ
Claims (2)
- 【請求項1】 同一演算機能を有した複数の演算器を有
し、少なくとも読出段階、実行段階、書込段階から構成
された複数の演算命令をシステムクロックに同期してパ
イプライン方式で順次実行していくCPUの動作を診断
するCPUの自己診断方法において、 前記複数の各演算命令からなる演算命令列における所定
演算命令数毎に下記a,b,cの自己診断用命令を実行
するCPUの自己診断方法。 a.前記各演算器に対して同一の演算処理を実行させ、 b.各演算器で得られた演算結果を比較し、 c.比較結果が不一致の場合のみ前記書込段階を用いて
異常警報出力する。 - 【請求項2】 少なくともレジスタ、データパス、演算
器、データ読出書込ユニットが組込まれ、入力されたデ
ータに対して前記演算器を用いて演算するCPUの動作
を診断するCPUの自己診断方法において、 前記レジスタ、データパス、データ読出書込ユニット等
のデータの転送及び一時記憶に関する複数の機能ブロッ
クに対してデータを還流させるためのスキャン経路を形
成し、 このスキャン経路へ試験データを還流させて、 このスキャン経路を還流した試験データと還流前の試験
データとを比較し、 比較結果が不一致の場合のみ異常警報出力するCPUの
自己診断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9170200A JPH1115661A (ja) | 1997-06-26 | 1997-06-26 | Cpuの自己診断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9170200A JPH1115661A (ja) | 1997-06-26 | 1997-06-26 | Cpuの自己診断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1115661A true JPH1115661A (ja) | 1999-01-22 |
Family
ID=15900533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9170200A Pending JPH1115661A (ja) | 1997-06-26 | 1997-06-26 | Cpuの自己診断方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1115661A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008515064A (ja) * | 2004-09-29 | 2008-05-08 | インテル・コーポレーション | 冗長マルチスレッド環境でのチェッカ命令の実行 |
JP2009037499A (ja) * | 2007-08-03 | 2009-02-19 | Furuno Electric Co Ltd | 自動料金収受車載装置およびそれを用いた車載システム |
JP2012208662A (ja) * | 2011-03-29 | 2012-10-25 | Toyota Motor Corp | マルチスレッド・プロセッサ |
JP2018206375A (ja) * | 2017-06-07 | 2018-12-27 | エイアールエム リミテッド | プログラマブル命令のバッファリング |
JP2020165802A (ja) * | 2019-03-29 | 2020-10-08 | 株式会社エヌエスアイテクス | 半導体装置、および半導体装置のテスト方法 |
-
1997
- 1997-06-26 JP JP9170200A patent/JPH1115661A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008515064A (ja) * | 2004-09-29 | 2008-05-08 | インテル・コーポレーション | 冗長マルチスレッド環境でのチェッカ命令の実行 |
JP4691105B2 (ja) * | 2004-09-29 | 2011-06-01 | インテル・コーポレーション | 冗長マルチスレッド環境でのチェッカ命令の実行 |
JP2009037499A (ja) * | 2007-08-03 | 2009-02-19 | Furuno Electric Co Ltd | 自動料金収受車載装置およびそれを用いた車載システム |
JP2012208662A (ja) * | 2011-03-29 | 2012-10-25 | Toyota Motor Corp | マルチスレッド・プロセッサ |
JP2018206375A (ja) * | 2017-06-07 | 2018-12-27 | エイアールエム リミテッド | プログラマブル命令のバッファリング |
US11579889B2 (en) | 2017-06-07 | 2023-02-14 | Arm Limited | Programmable instruction buffering for accumulating a burst of instructions |
JP2020165802A (ja) * | 2019-03-29 | 2020-10-08 | 株式会社エヌエスアイテクス | 半導体装置、および半導体装置のテスト方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0461792B1 (en) | Master/slave checking system | |
JPH052654A (ja) | マイクロコンピユータの故障検知方法および回路 | |
JP2000187600A (ja) | ウオッチドッグタイマ方式 | |
JPS6324440A (ja) | 多重プロセッサ・システム用システム管理装置 | |
JPH1115661A (ja) | Cpuの自己診断方法 | |
JPH07141176A (ja) | コマンドリトライ制御方式 | |
KR19990057809A (ko) | 오류 방지 시스템 | |
JP2679575B2 (ja) | 入出力チャネルの障害処理システム | |
JP3109573B2 (ja) | 障害lsi検出方式 | |
JP2000311155A (ja) | マルチプロセッサシステム及び電子機器 | |
JP2808985B2 (ja) | 情報処理装置及びデバッグ装置 | |
JPS6170645A (ja) | 障害原因解析用デ−タ収集装置 | |
JPS6146535A (ja) | 擬似エラ−設定制御方式 | |
JPH06214831A (ja) | 中央処理装置の異常検出装置 | |
JPS6061839A (ja) | 論理装置の故障診断処理方式 | |
JPS60195649A (ja) | マイクロプログラム制御型デ−タ処理装置におけるエラ−報告方式 | |
JPH07219609A (ja) | 情報処理装置 | |
JPH07230432A (ja) | 計算装置 | |
JPH0341528A (ja) | 計算機における診断装置 | |
JPS6074052A (ja) | ヒストリ・メモリ制御方式 | |
JPH01258143A (ja) | マイクロコンピュータ監視方式 | |
JPH0769846B2 (ja) | エラー処理回路の検証装置 | |
JPS61177548A (ja) | 再試行制御方式 | |
JPH0498326A (ja) | マイクロプロセッサ | |
JPS60258653A (ja) | 情報処理装置 |