JP2006099654A - 半導体回路装置 - Google Patents

半導体回路装置 Download PDF

Info

Publication number
JP2006099654A
JP2006099654A JP2004287709A JP2004287709A JP2006099654A JP 2006099654 A JP2006099654 A JP 2006099654A JP 2004287709 A JP2004287709 A JP 2004287709A JP 2004287709 A JP2004287709 A JP 2004287709A JP 2006099654 A JP2006099654 A JP 2006099654A
Authority
JP
Japan
Prior art keywords
counter
reference value
signal
processor
semiconductor circuit
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.)
Granted
Application number
JP2004287709A
Other languages
English (en)
Other versions
JP4647276B2 (ja
Inventor
Kimitake Tsuyuno
公丈 露野
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2004287709A priority Critical patent/JP4647276B2/ja
Publication of JP2006099654A publication Critical patent/JP2006099654A/ja
Application granted granted Critical
Publication of JP4647276B2 publication Critical patent/JP4647276B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

【課題】
プロセッサの動作異常を迅速に検出する
【解決手段】
マイクロコンピュータ1は、CPU11の動作をモニタし、異常を検出した場合に対応する回復処理を実行する。異常判定部15は、CPU11からその状態遷移に応答して出力される状態遷移信号によって、異常判定を行う。異常判定部15はカウンタ・クロックに同期してカウントするカウンタ151を備え、状態遷移信号を検出すると、カウンタ151をクリアする。異常判定部15が状態遷移信号を検出せずに、カウンタ151が基準値に達すると、異常判定部15はCPU11の処理動作における異常と判定する。
【選択図】 図1

23

Description

本発明は半導体回路装置に関し、特に、回路動作の異常判定を実行する半導体回路装置に関する。
現在、パーソナルコンピュータなどのコンピュータ・システムに限らず、家電製品やOA機器、自動車や製造装置の制御装置など、多くの電子機器においてマイクロコンピュータが利用されている。マイクロコンピュータは、機能的要素として、命令コードやアドレスを含むデータを読み出して命令実行の結果に応じてマイクロコンピュータ全体を制御す制御部、算術演算や論理演算を実行する演算処理部、必要なデータを記憶するレジスタ・セットなどを備えている。また、各種装置の制御装置として実装される場合には、ROMやRAMなどのメモリの他、各種周辺機能などを備えている。また、制御部、演算処理部、及びレジスタ・セットなどはCPU内の機能要素として実装される。マイクロコンピュータはプログラムに含まれる命令コードを順次解読し、それに従って処理を行うことで所望の機能を実現する。
命令コードはレジスタ・セットに含まれるプログラム・カウンタの示すアドレスからフェッチされる。例えば外部ノイズなどのためにプログラム・カウンタの値が変化すると、マイクロコンピュータは不測のアドレスにアクセスし、マイクロコンピュータのプログラム実行が暴走する問題が知られている。このため、マイクロコンピュータの暴走を自動的に検出し、暴走に対応した復帰処理を行うことが必要とされる。暴走検出の方法としては、これまでにいくつかのものが提案されている。例えば、ROMに記憶されているプログラムにTRAP命令を分散的に配置することによって暴走を検出し、TRAP処理によって所定の復帰プログラムを実行することができる。
この他、例えば特許文献1は、マイクロコンピュータの一つの暴走検出方法について開示している。特許文献1に開示されたマイクロコンピュータは暴走検出カウンタを備え、常にそれを動作させている。暴走検出カウンタがオーバーフローとなると暴走と判定し、CPUに異常信号を出力する。マイクロコンピュータは、通常動作時の所定のタイミングで暴走検出カウンタをクリアする。これによって正常動作時に暴走検出カウンタがオーバーフローとなることがなく、正常動作と異なる暴走を検出することができる。
具体的には、マイクロコンピュータはプログラムの実行アドレスを監視し、あらかじめ登録されたアドレスを実行していれば暴走検出カウンタのクリアを行なう。また、マイクロコンピュータの周辺ハードウェアの要因がすべて正しく機能している場合に、暴走検出用カウンタのクリアを行なう。暴走検出用カウンタのクリアは、ソフトウェア(プログラム)を介さずハードウェアによって直接に行われる。このように、暴走検出用カウンタのクリアをハードウェアで行なうことによって、プログラム実行の暴走中に誤ってプログラムが暴走検出カウンタをクリアすることを防止し、プログラム実行が暴走したときの暴走検出を確実に行なうことができる。
特開2004−151846号公報
上記特許文献1の技術において、マイクロコンピュータの異常判定の基準となる信号は、CPUが特定アドレスのプログラムを実行した際に出力する信号であり、マイクロコンピュータ内の動作による二次的な信号であった。このように、従来の技術はCPUの動作に直接に起因する信号を監視するものではないので、マイクロコンピュータの動作異常を確実にあるいは迅速に検出することができなかった。例えば、CPUの故障によりプログラムの実行が不安定である場合でもあっても、特定アドレスが実行されカウンタのオーバーフローが起きない程度に信号が出力される場合には、CPUの異常を検出することができなかった。あるいは、バス上のメモリ等の異常により通常よりCPUによるアクセス時間が長くなる場合であっても、カウンタのオーバーフローが起きない程度に信号が出力される限り、異常を検出することができなかった。
本発明は上記のような事情を背景としてなされたものであって、本発明の一つの目的は、回路動作の異常検出を改善することである。
本発明の第1の態様は、命令コードに従って動作し、複数の異なる動作状態を遷移するプロセッサと、前記動作状態に基づいて前記プロセッサから出力される状態信号が、予め定められた条件において検出されたかを判定する判定部と、前記状態信号が予め定められた条件において検出されなかったと前記判定部が判定した場合に、予め定められた回復処理を指示する回復処理指示部とを有する。状態信号を使用することによって、回路動作の異常を迅速に検出することができる。
前記状態信号は、前記プロセッサの動作状態の遷移に応答して出力される状態遷移信号であることが好ましい。あるいは、前記状態信号は、前記プロセッサの命令フェッチ状態において出力されるフェッチ信号であることが好ましい。これらの信号を使用することでプロセッサ処理における異常を迅速に検出することができる。
前記判定部は、前記状態信号が規準時間内に検出されるかを判定し、前記回復処理指示部は、前記状態信号が前記規準時間内に検出されなかったと前記判定部が判定した場合に、前記回復処理を指示することが好ましい。これによって、プロセッサの動作停止を迅速に検出することができる。
前記判定部は、基準値を記憶する基準値記憶部と前記状態信号に基づいて制御されるカウンタとを備え、前記基準値と前記カウンタのカウンタ値とに基づき前記状態信号の検出を判定し、前記半導体回路装置は、前記基準値記憶部に記憶されている基準値を、前記プロセッサの処理に基づいて変更する基準値設定部をさらに備えることが好ましい。これによって、プロセッサ処理に応じた適切な回路動作異常の検出を行うことができる。
前記判定部は、カウント・クロックに従ってカウントし前記状態信号に基づいて制御されるカウンタを備え、前記カウンタのカウント値が予め定められた基準値に達する前に前記状態信号を検出するかを判定し、前記半導体回路装置は、前記カウンタのカウントを制御信号に従って停止するカウンタ制御部をさらに備えることが好ましい。これによって、プロセッサ処理に応じた適切な回路動作異常の検出を行うことができる。前記状態信号が予め定められた条件において検出されなかったと前記判定部が判定した場合に、前記プロセッサが保持している命令実行アドレスを一時的に保持する命令実行アドレス保持部をさらに備えることが好ましい。これによって、回復処理後に中断された処理から再開することができる。
本発明の第2の態様は半導体回路装置であって、命令コードに従って動作するプロセッサと、入力信号に従ってカウントするカウンタと、基準値を記憶する基準値記憶部と、前記カウンタのカウント値と前記基準値とに基づき回路動作異常を判定する判定部と、前記基準値記憶部に記憶されている基準値を、前記プロセッサの処理に基づいて変更する基準値設定部を有する。基準値をプロセッサの処理に基づいて変更することによって、プロセッサ処理に応じた適切な回路動作異常の検出を行うことができる。
前記カウンタは、前記入力信号としてのカウント・クロックに同期してカウントし、前記プロセッサからの信号に応答してクリアされ、前記判定部は、前記カウンタのカウント値が前記基準値に達している場合に回路動作異常と判定することが好ましい。これによりカウンタを使用した異常検出を効果的に行うことができる。前記基準値設定部は、前記プロセッサのアクセス先に基づいて前記基準値を変更することが好ましい。これによって、アクセス先によって変化するプロセッサの処理時間に応じた適切な異常検出を行うことができる。
本発明の第3の態様は半導体回路装置であって、命令コードに従って処理を実行するプロセッサと、カウント・クロックに従ってカウントするカウンタと、前記カウンタのカウント値が予め定められた基準値に達した場合に、前記プロセッサ処理の異常と判定する判定部と、制御信号に従って前記カウンタのカウントを停止するカウンタ制御部を有する。これによって、より正確なプロセッサ処理の異常検出を行うことができる。
前記判定部は、前記基準値を記憶する基準値記憶部を備えており、前記半導体回路装置は、前記基準値記憶部の基準値を前記プロセッサの処理に基づいて変更する基準値設定部をさらに備えることが好ましい。これによって、プロセッサ処理に応じた適切な回路動作異常の検出を行うことができる。
前記判定部は、前記カウント値が前記基準値に達して前記カウンタがオーバーフローした場合に、前記プロセッサの動作異常と判定することができる。前記制御信号は前記プロセッサへのウェイト信号であることが好ましい。あるいは、前記制御信号は前記プロセッサがスタンバイ状態に対応して出力されるスタンバイ信号であることが好ましい。これらの信号によってカウント動作を停止することによって、より正確な異常検出を行うことができる。
本発明によれば、回路動作における異常検出を改善することができる。
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明が以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。
実施の形態1.
本実施形態のマイクロコンピュータは、プロセッサ(本形態ではCPUとして示されている)の動作をモニタし、異常を検出した場合に対応する回復処理を実行する。プロセッサ動作の異常は、プロセッサからその動作状態に基づいて出力される状態信号を検出することによって行う。本形態のおいては、状態信号として、プロセッサの動作状態の遷移に応じて出力される状態遷移信号が使用される。プロセッサからの状態信号によってその異常を判定することによって、プロセッサの動作異常を迅速に検出することができる。
プロセッサ動作の異常検出のため、本形態のマイクロコンピュータはカウンタを使用する。例えば、カウンタをプロセッサの状態信号に基づいてクリアし、カウンタが基準値に達するとプロセッサの動作異常と判定して、対応する回復処理を実行する。プロセッサの状態遷移が正常に行われている場合には、基準値に達する前にカウンタがクリアされる。状態遷移が正常ではない場合にカウンタが基準値に達し、プロセッサ動作の異常を検出することができる。基準値は、プロセッサの処理に応じて変化される。これによって、異常検出をより適切なものとすることができる。
本形態のマイクロコンピュータにおける異常検出について詳しい説明を行う前に、まず、本形態のマイクロコンピュータのハードウェア構成について、その概略を説明する。図1は、本実施形態に係るマイクロコンピュータ1のハードウェア構成の概略を模式的に示すブロック図である。マイクロコンピュータ1は、プロセッサの一例であるCPU11、読み出し専用メモリであるROM12、任意のアドレスを指定してデータを読み書きすることが可能なRAM13、周辺回路との間のデータの入出力をインターフェースする周辺I/O回路14を備えている。CPU11、ROM12、RAM13及び周辺I/O回路14は内部バスを介して接続されており、各回路は、命令コード、アドレスあるいは演算データなどのデータ及び制御信号を、内部バスを介して互いに入出力する。
さらに、マイクロコンピュータ1は、CPU11の処理動作の異常を検出する異常判定部15、異常判定部15の検出結果に基づいて回復処理の指示を行う監視部16及びCPU11動作の異常発生時における命令実行アドレスを記憶する命令実行アドレス保持部17を備えている。異常判定部15はCPU11の動作をモニタし、CPU11動作の異常を検出すると異常検出信号を監視部16に出力する。監視部16は、異常検出信号に応答して回復処理の指示を行う。回復処理の指示は、割り込み要求、あるいは、リセット信号等として出力される。
図1に示された各回路要素の構成について説明する。CPU11は、レジスタ・セット111、制御部112、演算処理部113及びバス・インターフェース114などの各回路ブロックを備えている。レジスタ・セット111は複数のレジスタからなり、命令コードやアドレスあるいは演算データなどを一時的に格納する。レジスタ・セット111には、演算データを格納するアキュムレータやプログラム実行アドレスを指示するプログラム・カウンタなどが含まれている。
制御部112は、ROM12などから命令コードをフェッチする命令フェッチ回路や、命令コードを解読する命令デコーダなどを備えている。制御部112は、ROM12やRAM13などから命令コードやアドレスを含むデータをレジスタに読み出し、命令実行の結果に応じてマイクロコンピュータ1全体を制御する。また、他の回路からの割り込み要求があった場合に、割り込み要因に応じた割り込み処理の制御を行う。割り込み処理は、ROM12に記憶されている割り込みプログラムを実行することによって行う。演算処理部113は、加減算などの数値演算、AND・OR・NOTなどの論理演算及びシフト命令などを実行する。バス・インターフェース114は、他の回路と間のデータや命令コードの入出力をインターフェースする。
ROM12は、ユーザによって設定された命令コードや演算データを予め記憶している。ROM12としては、電源が切れても記憶データを保持する不揮発性メモリが使用され、例えば、フラッシュメモリなどのEEPROM(Electrically Erasable Read-Only Memory)を使用することができる。RAM13は揮発性の記憶デバイスであり、再書き込みが不要なSRAM、一定時間毎に再書き込みが必要なDRAMなどを使用することができる。
異常判定部15は、カウンタ151及びコンペア・レジスタ152を備えている。カウンタ151は入力されたカウント・クロックに従ってカウントする。典型的には、カウント・クロックは一定周波数の信号として入力される。コンペア・レジスタ152は設定された基準値を記憶する。異常判定部15は、カウンタ151の値とコンペア・レジスタ152の値を比較する。カウンタ151の値が基準値に達した場合にCPU11動作の異常と判定し、異常検出信号を出力する。尚、異常判定部15は、コンペア・レジスタ152の値から演算により基準値を算出すること、あるいは、コンペア・レジスタ152の値とカウンタ151の値を演算処理して異常の判定を行うことも可能である。
監視部16は、異常判定部15の異常判定結果に基づいて、回復処理の実行を制御する。異常判定部15が異常検出信号を出力すると、異常検出信号に応答して、監視部16は回復処理の実行を指示する。例えば、監視部16はCPU11へ割り込み要求を行う、あるいは、内部リセット信号を出力する。割り込み要求に応答して、CPU11は予め定められた割り込みプログラムをROM12から読み込み、割り込みプログラムに従って回復処理を実行する。
あるいは、回復処理の他の態様として、リセット信号によってCPU11やRAM13を選択的にリセットし、あるいは、マイクロコンピュータ1の全体をリセットすることができる。リセット後は所定の初期化処理が実行される。尚、割り込み要求を外部回路に出力し、の外部装置に対してマイクロコンピュータ1(CPU11)の異常を通知し、外部装置からリセット信号をマイクロコンピュータ1に入力することなども可能である。
命令実行アドレス保持部17は、監視部16からの制御信号に応答して、異常検出時のCPU11の命令実行アドレスを一時的に記憶する。監視部16は、異常判定部15から異常検出信号を取得すると制御信号を命令実行アドレス保持部17に出力し、その制御信号に応答してCPU11のプログラム・カウンタに記憶されている値を命令実行アドレス保持部17が記憶する。
命令実行アドレス保持部17に記憶されたアドレスは、外部のデバッグ・ツール(不図示)で読み出しデバッグに利用する、あるいは、異常から復帰した後にCPU11によって読み出すことも可能である。異常検出時の実行アドレスを保持することによって、異常時の解析(デバッグ)をより容易なものとすることができる。あるいは、異常状態からの復帰処理において、異常発生時の実行アドレスを知ることができるので、適切な復帰処理を行うことができる。尚、実行アドレスの他に、レジスタ・セット111に記憶された他のデータを記憶することができる。
上記のように、カウンタ151のカウント値が基準値以上となる(基準値に達する)と、異常判定部15はCPU11の動作に異常発生したと判定する。このため、CPU11が正常に動作している場合には、カウンタ151の値をクリアする(規定値にリセットする)ことが必要である。異常判定部15は、CPU11からのクリア信号に応答してカウンタ151をクリアする。本形態において、クリア信号として状態遷移信号が使用される。図2は、カウンタ151のクリア・タイミングを示すタイミング・チャートである。図2に示すように、カウンタ151は、入力されたカウント・クロックに同期してカウンタする。本例においては、カウンタはカウント・クロックの立ち上がりタイミングでカウント・アップする。クリア信号が入力された場合、カウンタ151がクリアされる。本例では、クリア信号の立ち上がりに同期してカウンタの値が0にリセットされる。
上記のように、本形態のマイクロコンピュータ1は、CPU11からのクリア信号として、CPU11の動作状態遷移を表す状態遷移信号を使用する。異常判定部15はCPU11の動作状態遷移をモニタし、CPU11の動作状態遷移に基づいてカウンタ151をクリアする。これによって、状態遷移信号が所定の基準時間内に検出されない場合、CPU11処理における異常と判定される。つまり、CPU11の動作が停止し、CPU11の動作状態が次の動作状態に遷移することなく所定時間以上経過した場合に、CPU11の動作の異常と判定する。
CPU11の動作状態の変化を表す状態遷移信号が、CPU11から異常判定部15に入力される。状態遷移信号が状態遷移を示したことに応答して、異常判定部15はカウンタ151をクリアする。状態遷移信号が状態遷移を示すまでカウンタ151はカウントを進め、カウンタ151の値がコンペア・レジスタ152の基準値に達すると、異常判定部15は異常検出信号を出力する。
図3は、CPU11の動作状態及び状態遷移信号の関係を示すタイミング・チャートである。本形態のCPU11はパイプライン処理によってプログラムの命令を実行する。図3に示すように、命令処理(命令サイクル)は複数の処理工程(動作状態)に分割されている。「IF(Instruction Fetch)」は命令フェッチ、「ID(Instruction Decode)」は命令デコード/レジスタ・ファイル読み出し、EX(EXecution)は実行/アドレス生成の各処理単位を示している。また、MEM(MEMory access)はメモリ・アクセス(読み出し/書き込み)、WB(Write Back)はレジスタ・ファイルへの書き込みの各処理(動作状態)を示している。
パイプライン処理は、異なる処理工程を同時に行うことによって、前の命令サイクルが終了する前に、次の命令サイクルを開始する。CPU11は、上記の各処理に対応する異なる回路ブロックを備え、各回路ブロックはパイプライン・レジスタを介して接続されている。各回路ブロックは、独立して処理を行う。このように、パイプライン化されたデータ・パスを備えているため、CPU11は、一つのクロックサイクルにおいて異なる処理単位を同時的に実行し、複数の命令を並列的に実行することができる。
状態遷移信号は、CPU11によるパイプライン処理を構成する各動作状態の終了(もしくは開始)に同期して出力される。状態遷移を表す状態遷移信号は、CPU11がパイプライン処理を正常に実行している間は、ほぼ一定の周期で出力される。しかし、メモリのロックなどによりCPU11の処理が停止すると状態遷移信号も停止し、出力信号のレベルが変化することなく一定に維持される。この状態が所定時間以上続くと、カウンタ151の値が基準値に達して。このように、CPU11の動作状態変化を監視することによって、CPU11の動作クロックに応じた異常検出が可能となり、迅速な異常検出を行うことができる。
本形態のマイクロコンピュータ1は、さらに、コンペア・レジスタ152に記憶された基準値を、CPU11の処理に基づいて変化させる。例えば、メモリへのアクセス(図3におけるMEMステージ)時間は、メモリ(アクセス先)の応答時間によって変化する。アクセスされるメモリ(アクセス先)は、ROM12、RAM13の他、外部バスに接続される外部装置であり、あるいは、周辺I/O回路14のレジスタなどである。
これらの応答時間はそれぞれ異なりうるため、CPU11停止の許容時間(CPU11動作が異常であると判定する時間)を、アクセス先に応じて適切な値に設定することが好ましい。本形態においては、CPU11もしくはその要求に従う異常判定部15は、CPU11のアクセス先に応じて、コンペア・レジスタ152の基準値を決定し、その値を設定する。これによって、カウンタ151の値が基準値に達するまでの時間を変更し、現在の状態に遷移してから次の状態に遷移することなく異常と判定するまでの時間を適切な時間に設定する。以上の構成を有することによって、CPU11のアクセス先に合ったCPU11停止の許容時間を設定することができ、CPU11の動作異常の検出精度を向上することができる。
尚、本形態のマイクロコンピュータ1は、異常判定部15や監視部16などの回路を内部回路として備えているが、これらを外部回路として構成することも可能である。また、カウンタ151の値をコンペア・レジスタ152の基準値と比較するのではなく、異常判定部15は、カウンタ151がオーバーフローした場合に異常検出信号を出力することも可能である。さらに、異常判定部15は、CPU11の動作に応じてオーバーフロー値を再設定することも可能である。
また、本形態のCPU11動作の異常検出は、様々なタイプのマイクロコンピュータに適用することが可能である。例えば、MPU、周辺用LSI(MPR:Micro Peripheral Unit)、マイクロコントローラ、DSP(Digital Signal Processor)など、いずれのタイプのマイクロコンピュータに適用することも可能である。これらの点は、以下の記載において同様である。
実施の形態2.
図4を参照して、本実施形態に係るマイクロコンピュータについて説明する。本形態のマイクロコンピュータは、実施の形態1と異なり、プロセッサからの状態信号として、プロセッサの各動作状態(1命令サイクルにおける処理工程)において必ず出力される信号を使用する。特に、以下においては、命令フェッチ動作状態におけるフェッチ信号に従って、プロセッサの動作異常の判定を実行する例を説明する。
また、プロセッサ動作の異常検出のため、本形態のマイクロコンピュータはカウンタを使用する。本形態のマイクロコンピュータは、実施の形態1と異なり、予め定められた状態信号の検出に応答してカウンタをカウントアップし、所定時間内に基準値に達しない場合にプロセッサの動作異常と判定して、対応する回復処理を実行する。
図4は、本実施形態に係るマイクロコンピュータ2のハードウェア構成の概略を模式的に示すブロック図である。本形態のマイクロコンピュータ2は、異常判定部25とカウンタ251において実施の形態1と異なり、他の構成要素は実施の形態1において説明されたものと同様である。異常判定部25には、CPU11からフェッチバスに出力されるフェッチ信号が入力される。フェッチ信号として、フェッチバス上のリードクロック、フェッチアドレス、あるいはフェッチバスの使用権取得信号などを使用することができる。尚、異常判定部25はフェチバス上の信号をモニタするのではなく、命令フェッチ状態にあるCPU11から出力される信号を直接に異常判定部25に入力することも可能である。
本例において、カウンタ251は、カウント・クロックではなく、CPU11から入力されたフェッチ信号に応答してカウントアップする。異常判定部25は、予め定められた基準時間において、カウンタ251のカウント値が予め定められた基準値に達しているかを判定する。異常判定部25は、カウント値が基準値に達している場合、CPU動作に異常がないと判定し、カウンタ251をクリアする。クリアされたカウンタ251は、検出したフェッチ信号に応答したカウント処理を始めから再開する。
カウント値が基準値に達していない場合、異常判定部25はCPU11の動作に異常が発生したと判定する。本例においては、フェッチ信号が基準時間内に基準回数検出されなかった場合(つまり、基準時間内にフェッチ信号が検出されなかったことに相当する)、異常判定部25はCPU11に動作に異常があると判定する。これによって、命令フェッチ処理(動作状態)が基準時間内に基準回数実行されなかった場合、異常判定部25はCPU11に動作に異常があると判定する。
例えば、CPU11の故障やバスのロックなどによってCPU11に実行が停止した場合、実行プログラムのフェッチ信号が停止する。異常判定部25は、カウンタ251のカウンタ値が規定値に達しないことによって、CPU11の実行停止(動作異常)を検出することができる。CPU11異常判定部25が異常と判定した場合の回復処理は、実施の形態1と同様である。上記のように、CPU11の各動作状態において出力される信号をモニタして、CPU11の動作異常を判定することによって、CPU11の動作異常を迅速に検出することができる。
本実施形態はフェッチ信号の例を説明したが、命令デコード/レジスタ・ファイル読み出し、実行/アドレス生成など、他の動作状態において出力される信号を状態信号として使用することが可能である。また、実施の形態1で説明したように、カウンタ・クロックに従って動作するカウンタを使用して、異常検出を行うことが可能である。反対に、実施の形態1において、状態信号検出に応答して動作するカウンタを使用することが可能である。
実施の形態1と同様に、コンペア・レジスタ152の値をCPU11の処理に応じて変更することも可能である。例えば、処理に時間を要する命令を実行するためにフェッチ信号が一時的に停止する場合に、コンペア・レジスタ152の値を変更することで異常検出を適切化することができる。又、フェッチ先(ROM11やRAM13)に応じて、コンペア・レジスタ152の値を変更することもできる。尚、状態遷移信号とフェッチ信号など、複数の異なる状態信号を使用してCPU11動作の異常判定を行うことも可能である。
実施の形態3.
図5及び6を参照して、本実施形態に係るマイクロコンピュータについて説明する。本形態のマイクロコンピュータは、実施の形態1と異なり、異常判定部のカウンタに入力されるカウント・クロックをマスクするマスク制御部を備えている。マスク制御部がカウント・クロックをマスクすることによってカウンタのカウントが停止し、カウンタの制御を容易に行うことができる。
図5本実施形態に係るマイクロコンピュータの概略構成を模式的に示すブロック図である。図に示すように、マイクロコンピュータ3は、マスク制御部31を備えている。マスク制御部31にはカウント・クロックとカウント・クロックのマスクを制御する制御信号が入力される。本形態においては、好ましい態様として、ROM12、RAM13及び周辺I/O回路14からのウェイト信号が制御信号として入力されている。これらのウェイト信号は、OR論理32を介してマスク制御部31に入力されている。
また、異常判定部35は、カウンタ351のオーバーフローに応答して異条検出信号を出力する。この他の構成は、実施の形態1と同様であり、詳細な説明を省略する。尚、実施の形態1と同様に、異常判定部35はコンペア・レジスタ152を備え、基準値とカウンタ351の値を比較することによってCPU11動作の異常を判定することも可能である。
図6は、本実施形態におけるカウンタ351の制御信号とカウンタ動作の関係を示すタイミング・チャートである。図6は、CPU11からのクリア信号、マスク制御部31に入力されるカウント・クロック、マスク制御部31からのマスク信号及びカウンタ351のカウンタ動作を示している。マスク制御部31は、AND論理を備えており、ウェイト信号とカウント・クロックが入力される。ウェイト信号が入力されている場合、マスク制御部31はカウント・クロックをマスクし、マスク信号をアクティブにセットする。カウント・クロックはカウンタ351に入力されないため、カウンタ351はカウントを停止する。ROM12、RAM13及び周辺I/O回路14からのウェイト信号はOR論理32に入力されているので、これら回路要素のいずれか一つがウェイト信号を出力している場合、マスク制御部31にウェイト信号が入力される。
一方、ウェイト信号が入力されていない場合、マスク制御部31は入力されたカウント・クロックをカウンタ351に出力する。カウンタ351はカウント・クロックに同期してカウント処理を行う。カウンタ351がオーバーフローすると、異常判定部35が異常検出信号を監視部16に出力する。
CPU11がメモリにアクセスする場合、メモリ(RAM13)からデータがCPU11に入力されるまで、CPU11の状態遷移動作が停止する。メモリ・アクセスが不特定時間のウェイトによって変動する場合において、ウェイト時間がシステム上問題にならない場合、そのウェイト信号でカウント・クロックをマスクする。これによって、ウェイト時間以外の処理時間をカウンタ351がカウントし、監視することができる。これによって、従来不特定のウェイト時間の影に埋もれていたウェイト時間以外の処理を効果的に監視することができる。
例えば、CPU11がメモリ・アクセスをする場合、CPU11はバス使用権を獲得する。CPU11がメモリ(RAM13)へデータ要求を出力すると、それに応答してRAM13からCPU11のデータが入力される。RAM13が、CPU11からの要求に応答して即座にデータを出力することができない場合、RAM13はCPU11にウェイト信号を出力する。ウェイト信号が出力されている間はカウンタ151がカウントを停止することによって、ウェイト時間の影に隠れていたバス使用権の獲得時間を監視することができる。あるいは、カウント・クロックをマスクすることでカウンタのカウントを停止し監視機能を無効にすることができる。デバッグ時など、監視機能を停止させたい場合に有効である。
上記例においては、ウェイト信号を使用してカウント・クロックをマスクするが、この他、マイクロコンピュータのスタンバイ状態に対応するスタンバイ信号を使用することができる。スタンバイ信号は、マイクロコンピュータ3をスタンバイ状態にセットするためにマイクロコンピュータ入力される、あるいは、スタンバイ状態になった後にマイクロコンピュータ内で出力される信号である。又、外部端子から制御信号に応じてカウント・クロックをマスクすることができる。図5に示されたOR論理32にスタンバイ信号や外部端子からの制御信号を入力する。これによって、これらの信号に応答してカウント・クロックをマスクし、監視機能を一時的に停止することができる。
あるいは、カウンタ351に、カウント動作を制御するカウント許可信号の入力を設けることによって、カウンタ351のカウント動作を所望のタイミングで停止させることができる。カウント許可信号は、カウント・クロックのマスク機能に代えて、あるいはマスク機能と共に利用することができる。尚、本例においては複数の回路要素からのウェイト信号をOR論理に入力して利用しているが、一つの回路からのウェイト信号のみを使用する、あるいは複数の回路要素からの信号をAND論理に入力することも可能である。
第1の実施形態に係るマイクロコンピュータのハードウェア構成を模式的に示すブロック図である。 第1の実施形態に係るカウンタのクリア・タイミングを示すタイミング・チャートである。 第1の実施形態に係るCPUの動作状態及び状態遷移信号の関係を示すタイミング・チャートである。 第2の実施形態に係るマイクロコンピュータのハードウェア構成を模式的に示すブロック図である。 第3の実施形態に係るマイクロコンピュータのハードウェア構成を模式的に示すブロック図である。 第3の実施形態に係るカウンタのカウント動作、クリア信号及びマスク信号の関係を示すタイミング・チャートである。
符号の説明
1 マイクロコンピュータ、2 マイクロコンピュータ、
3 マイクロコンピュータ、14 周辺I/O回路、15 カウンタ、
15 異常判定部、16 監視部、17 命令実行アドレス保持部、
25 異常判定部、31 マスク制御部、32 OR論理、35 異常判定部、
111 レジスタ・セット、112 制御部、113 演算処理部、
114 バス・インターフェース、151 カウンタ、
152 コンペア・レジスタ、251 カウンタ、351 カウンタ

Claims (15)

  1. 命令コードに従って動作し、複数の異なる動作状態を遷移するプロセッサと、
    前記動作状態に基づいて前記プロセッサから出力される状態信号が、予め定められた条件において検出されたかを判定する判定部と、
    前記状態信号が予め定められた条件において検出されなかったと前記判定部が判定した場合に、予め定められた回復処理を指示する回復処理指示部と、
    を有する、半導体回路装置。
  2. 前記状態信号は、前記プロセッサの動作状態の遷移に応答して出力される状態遷移信号である、請求項1に記載の半導体回路装置。
  3. 前記状態信号は、前記プロセッサの命令フェッチ状態において出力されるフェッチ信号である、請求項1に記載の半導体回路装置。
  4. 前記判定部は、前記状態信号が規準時間内に検出されるかを判定し、
    前記回復処理指示部は、前記状態信号が前記規準時間内に検出されなかったと前記判定部が判定した場合に、前記回復処理を指示する、
    請求項1に記載の半導体回路装置。
  5. 前記判定部は、基準値を記憶する基準値記憶部と前記状態信号に基づいて制御されるカウンタとを備え、前記基準値と前記カウンタのカウンタ値とに基づき前記状態信号の検出を判定し、
    前記半導体回路装置は、前記基準値記憶部に記憶されている基準値を、前記プロセッサの処理に基づいて変更する基準値設定部をさらに備える、
    請求項1に記載の半導体回路装置。
  6. 前記判定部は、カウント・クロックに従ってカウントし前記状態信号に基づいて制御されるカウンタを備え、前記カウンタのカウント値が予め定められた基準値に達する前に前記状態信号を検出するかを判定し、
    前記半導体回路装置は、前記カウンタのカウントを制御信号に従って停止するカウンタ制御部をさらに備える、
    請求項1又は5に記載の半導体回路装置。
  7. 前記状態信号が予め定められた条件において検出されなかったと前記判定部が判定した場合に、前記プロセッサが保持している命令実行アドレスを一時的に保持する命令実行アドレス保持部をさらに備える、請求項1に記載の半導体回路装置。
  8. 命令コードに従って動作するプロセッサと、
    入力信号に従ってカウントするカウンタと、
    基準値を記憶する基準値記憶部と、
    前記カウンタのカウント値と前記基準値とに基づき回路動作異常を判定する判定部と、
    前記基準値記憶部に記憶されている基準値を、前記プロセッサの処理に基づいて変更する基準値設定部と、
    を有する半導体回路装置。
  9. 前記カウンタは、前記入力信号としてのカウント・クロックに同期してカウントし、前記プロセッサからの信号に応答してクリアされ、
    前記判定部は、前記カウンタのカウント値が前記基準値に達している場合に回路動作異常と判定する、
    請求項8に記載の半導体回路装置。
  10. 前記基準値設定部は、前記プロセッサのアクセス先に基づいて前記基準値を変更する、請求項8に記載の半導体回路装置。
  11. 命令コードに従って処理を実行するプロセッサと、
    カウント・クロックに従ってカウントするカウンタと、
    前記カウンタのカウント値が予め定められた基準値に達した場合に、前記プロセッサ処理の異常と判定する判定部と、
    制御信号に従って前記カウンタのカウントを停止するカウンタ制御部と、
    を有する半導体回路装置。
  12. 前記判定部は、前記基準値を記憶する基準値記憶部を備えており、
    前記半導体回路装置は、前記基準値記憶部の基準値を前記プロセッサの処理に基づいて変更する基準値設定部をさらに備える、
    請求項11に記載の半導体回路装置。
  13. 前記判定部は、前記カウント値が前記基準値に達して前記カウンタがオーバーフローした場合に、前記プロセッサの動作異常と判定する、請求項11に記載の半導体回路装置。
  14. 前記制御信号は前記プロセッサへのウェイト信号である、請求項11に記載の半導体回路装置。
  15. 前記制御信号は前記プロセッサがスタンバイ状態に対応して出力されるスタンバイ信号である、請求項11に記載の半導体回路装置。
JP2004287709A 2004-09-30 2004-09-30 半導体回路装置 Expired - Fee Related JP4647276B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004287709A JP4647276B2 (ja) 2004-09-30 2004-09-30 半導体回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004287709A JP4647276B2 (ja) 2004-09-30 2004-09-30 半導体回路装置

Publications (2)

Publication Number Publication Date
JP2006099654A true JP2006099654A (ja) 2006-04-13
JP4647276B2 JP4647276B2 (ja) 2011-03-09

Family

ID=36239365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004287709A Expired - Fee Related JP4647276B2 (ja) 2004-09-30 2004-09-30 半導体回路装置

Country Status (1)

Country Link
JP (1) JP4647276B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152544A (ja) * 2006-12-18 2008-07-03 Hitachi Ltd 制御用マイクロコンピュータの検証装置および車載用制御装置
JP2010134677A (ja) * 2008-12-04 2010-06-17 Renesas Electronics Corp マイクロコンピュータ及び組み込みソフトウェア開発システム
JP2012208739A (ja) * 2011-03-30 2012-10-25 Nec Saitama Ltd 端末装置並びにフリーズ検出方法及び端末装置の制御方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619735A (ja) * 1984-06-25 1986-01-17 Ricoh Co Ltd Cpuのリセツト方式
JPS63237147A (ja) * 1987-03-25 1988-10-03 Nec Corp 計算機システムにおける入出力動作の監視方式
JPH0283751A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd 情報処理装置
JPH04181469A (ja) * 1990-11-16 1992-06-29 Fujitsu Ltd ベクトル処理装置における履歴記録方式
JPH05257750A (ja) * 1992-03-13 1993-10-08 Fujitsu Ltd ウォッチドッグタイマ制御回路
JPH05342063A (ja) * 1992-06-11 1993-12-24 Kofu Nippon Denki Kk トレーサ回路
JPH0756774A (ja) * 1993-08-16 1995-03-03 Oki Electric Ind Co Ltd ウォッチドッグタイマ
JPH07168741A (ja) * 1993-12-15 1995-07-04 Toshiba Corp ウォッチドッグタイマ装置
JPH08339308A (ja) * 1995-06-12 1996-12-24 Hitachi Ltd デジタル処理装置
JPH11203171A (ja) * 1998-01-08 1999-07-30 Nissan Motor Co Ltd ウォッチドッグタイマ

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619735A (ja) * 1984-06-25 1986-01-17 Ricoh Co Ltd Cpuのリセツト方式
JPS63237147A (ja) * 1987-03-25 1988-10-03 Nec Corp 計算機システムにおける入出力動作の監視方式
JPH0283751A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd 情報処理装置
JPH04181469A (ja) * 1990-11-16 1992-06-29 Fujitsu Ltd ベクトル処理装置における履歴記録方式
JPH05257750A (ja) * 1992-03-13 1993-10-08 Fujitsu Ltd ウォッチドッグタイマ制御回路
JPH05342063A (ja) * 1992-06-11 1993-12-24 Kofu Nippon Denki Kk トレーサ回路
JPH0756774A (ja) * 1993-08-16 1995-03-03 Oki Electric Ind Co Ltd ウォッチドッグタイマ
JPH07168741A (ja) * 1993-12-15 1995-07-04 Toshiba Corp ウォッチドッグタイマ装置
JPH08339308A (ja) * 1995-06-12 1996-12-24 Hitachi Ltd デジタル処理装置
JPH11203171A (ja) * 1998-01-08 1999-07-30 Nissan Motor Co Ltd ウォッチドッグタイマ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152544A (ja) * 2006-12-18 2008-07-03 Hitachi Ltd 制御用マイクロコンピュータの検証装置および車載用制御装置
JP4496205B2 (ja) * 2006-12-18 2010-07-07 日立オートモティブシステムズ株式会社 制御用マイクロコンピュータの検証装置および車載用制御装置
JP2010134677A (ja) * 2008-12-04 2010-06-17 Renesas Electronics Corp マイクロコンピュータ及び組み込みソフトウェア開発システム
JP2012208739A (ja) * 2011-03-30 2012-10-25 Nec Saitama Ltd 端末装置並びにフリーズ検出方法及び端末装置の制御方法

Also Published As

Publication number Publication date
JP4647276B2 (ja) 2011-03-09

Similar Documents

Publication Publication Date Title
JP4393954B2 (ja) マイクロコンピュータ
US7558990B2 (en) Semiconductor circuit device and method of detecting runaway
US6158023A (en) Debug apparatus
JP2007323631A (ja) Cpu暴走判定回路
JP2008033890A (ja) マイクロコンピュータシステム
JP4647276B2 (ja) 半導体回路装置
US6463492B1 (en) Technique to automatically notify an operating system level application of a system management event
JP2006344087A (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
US20050060690A1 (en) Microprocessor system with software emulation processed by auxiliary hardware
JPH06324914A (ja) コンピュータの暴走検出方法
US6567930B1 (en) Method and apparatus for controlling writing of flash EEPROM by microcomputer
US11656964B2 (en) Processor with non-intrusive self-testing
JP2006221606A (ja) データプロセッサ
JP4571462B2 (ja) マイクロコンピュータ
JP2004302847A (ja) Cpuの動作監視方法
JP2008262557A (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP2677609B2 (ja) マイクロコンピュータ
JP5012562B2 (ja) マイクロコンピュータ
JP2009093393A (ja) データ処理装置及びデータ処理装置の自己診断方法
JP2009289119A (ja) ウォッチドッグ・タイマ及びマイクロコンピュータ
JP2005293077A (ja) Cpuの省電力機能を有する機器のデバッグシステム及び方法
KR20040003870A (ko) 엠씨유의 클럭 전환 회로 및 방법
JP5331451B2 (ja) マイクロコントローラ
JP2716274B2 (ja) インサーキット・エミュレータ
JP2013148999A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees