JP2009093393A - データ処理装置及びデータ処理装置の自己診断方法 - Google Patents

データ処理装置及びデータ処理装置の自己診断方法 Download PDF

Info

Publication number
JP2009093393A
JP2009093393A JP2007263053A JP2007263053A JP2009093393A JP 2009093393 A JP2009093393 A JP 2009093393A JP 2007263053 A JP2007263053 A JP 2007263053A JP 2007263053 A JP2007263053 A JP 2007263053A JP 2009093393 A JP2009093393 A JP 2009093393A
Authority
JP
Japan
Prior art keywords
processing
data
signal
calculation
unit
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
JP2007263053A
Other languages
English (en)
Inventor
Kayoko Hashiguchi
佳代子 橋口
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 JP2007263053A priority Critical patent/JP2009093393A/ja
Publication of JP2009093393A publication Critical patent/JP2009093393A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】より確実に、且つ、より正確に故障検出を行うことができるデータ処理装置及びデータ処理装置の自己診断方法を提供する。
【解決手段】マイクロコンピュータ100のCPU1に処理されるデータに対してCRC演算処理を行うCRC演算回路10と、CRC演算回路10の演算結果の期待値2Aを格納するROM2と、CRC演算回路10の動作を制御するCRC演算動作制御回路13と、を備え、CPU1は、演算結果と期待値2Aとの比較結果に基づいて、故障を検出し、CRC演算動作制御回路13は、マイクロコンピュータ100において割込み処理及びDMA転送処理の要求が発生した場合に、CRC演算回路10による演算処理を停止させ、割込み処理及びDMA転送処理が終了した場合に、CRC演算回路10による演算処理を再開させるように構成した。
【選択図】図1

Description

本発明は、データ処理装置及びデータ処理装置の自己診断方法に関する。
近年、データ処理装置の一つであるマイクロコンピュータなどの電子部品の用途拡大に伴って、電子部品の高品質化が期待されている。そして、出荷時における電子部品の品質の向上だけでなく、出荷後セットに組み込まれて動作している際における電子部品の品質の向上が求められている。
そこで、CPU(Central Processing Unit)の動作中に、CPUの自己診断を行う自己診断方法が着目されている。具体的には、CPUが実行している命令のアドレスやデータをCRC(Cyclic Redundancy Check)演算して、演算結果と期待値とを比較する。そして、演算結果が期待値と異なる場合には、故障が検出されたと判断する。これにより、CPUの自己診断を行っている。
例えば、特許文献1には、メモリにデータを読み書きするタイミングで、CPUのデータバスのデータをCRC演算し、演算結果と期待値とを比較する自己診断方法が記載されている。
また、特許文献2には、CPUの自己診断テスト中に、データバスのデータ及びCRC演算結果を圧縮してCRC演算レジスタに格納し、テスト終了後、CRC演算レジスタからデータ及びCRC演算結果を読み出して確認する自己診断方法が記載されている。
通常、CRC演算を用いた自己診断方法は、メインルーチンの処理に適用される。そして、メインルーチンの処理の実行中に、外乱要因処理の要求が発生した場合には、メインルーチンの処理をいったん停止し、サブルーチンの処理を実行し、サブルーチンの処理の終了後、メインルーチンの処理を再開する。外乱要因処理の要求とは、割込み処理要求やDMA(Direct Memory Access)転送要求などである。そのため、CRC演算を用いた自己診断テスト中に、外乱要因処理の要求が発生すると、メインルーチンからサブルーチンへと移る前にCRC演算処理を停止し、サブルーチンの処理の終了後、CRC演算処理を再開する必要がある。そして、CRC演算処理の停止/再開を実現するための自己診断プログラムが必要となる。
特開平03−186956号公報 特開昭63−133234号公報
しかしながら、外乱要因処理の要求の発生箇所を精度良く予測することは難しい。そのため、外乱要因処理の要求が発生する可能性のある部分については全てCRC演算処理を停止するように自己診断プログラムを作成する必要がある。その場合、実際のセット上では、外乱要因処理の要求が発生していない部分についてもCRC演算処理を停止する可能性が生じる。そして、メインルーチン処理のうち、CRC演算処理を不必要に停止した部分については、故障検出を行えなくなってしまう。また、予測が外れてしまった場合には、正しいCRC演算処理が行えないため、正確な故障検出を行うことができない。
また、予測される外乱要因処理の要求の発生箇所が多い場合には、CRC演算処理を停止/再開するためのプログラムが自己診断プログラム全体に占める割合が増えてしまう。そして、自己診断プログラムにおけるコード効率の低下を招来する。
特許文献1では、外乱要因処理の発生に対する対策は記載されておらず、上記問題を解決することはできない。また、特許文献2では、外乱要因処理が発生した場合、期待値とは異なる値がCRC演算レジスタに格納される。そして、CRC演算レジスタに格納された演算結果が期待値と異なる場合に、外乱要因処理の発生によるものか、故障によるものかを判断することは難しい。
本発明の第1の態様にかかるデータ処理装置は、データ処理装置に処理されるデータに対して所定の演算処理を行う演算部と、前記演算部の演算結果の期待値を格納する格納部と、前記演算部の動作を制御する制御部と、を備え、前記データ処理装置は、前記演算結果と前記期待値との比較結果に基づいて、故障を検出し、前記制御部は、前記データ処理装置において外乱要因処理の要求が発生した場合に、前記演算部による演算処理を停止させ、前記外乱要因処理が終了した場合に、前記演算部による演算処理を再開させる。
本発明の第2の態様にかかるデータ処理装置の自己診断方法は、データ処理装置に処理されるデータに対して演算部による所定の演算処理を行い、前記データ処理装置は、前記演算結果と、前記演算結果の期待値との比較結果に基づいて、故障を検出し、制御部により、前記データ処理装置において外乱要因処理の要求が発生した場合に、前記演算部による演算処理を停止させ、前記外乱要因処理が終了した場合に、前記演算部による演算処理を再開させる。
本発明においては、外乱要因処理の要求が発生した場合に、制御部により演算部の演算処理が停止され、外乱要因処理が終了した場合に、前記演算部の演算処理を再開させるので、外乱要因処理要求の発生箇所を予め予測しなくても演算処理を停止することができる。従って、メインルーチン処理のうち演算処理を不必要に停止する部分がなくなるため、故障検出を行えない部分を減らすことができる。より確実に故障検出を行うことができる。
また、外乱要因処理の要求の発生箇所を予測するものではないので、予測が外れて不正確な故障検出を行ってしまうなどのリスクがない。そのため、より正確に故障検出を行うことができる。
また、制御部により演算処理の停止/再開を制御するので、自己診断プログラム内に演算処理を停止/再開するためのプログラムを加える必要がない。従って、自己診断プログラムにおけるコード効率を低下させずに済む。
本発明により、より確実に、且つ、より正確に故障検出を行うことができる。
以下に、本発明を適用可能な実施の形態を説明する。なお、本発明は、以下の実施の形態に限定されるものではない。本実施形態では、本発明にかかるデータ処理装置として、マイクロコンピュータ(マイクロプロセッサ)100を例示して説明する。
図1に、本発明の実施の形態にかかるマイクロコンピュータ100の一例を示す。マイクロコンピュータ100は、図1に示すように、CPU1、ROM(Read Only Memory)2(格納部)、RAM(Random Access Memory)3、I/O(Input/Output)4(入出力部)、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8、データ線9、CRC演算回路10(演算部)、割込み制御回路11(外乱要因処理制御部)、DMA制御回路12(外乱要因処理制御部)、CRC演算動作制御回路13(制御部)、CRC演算制御信号線14、割込み処理要求信号線15、割込み処理終了信号線16、DMA転送要求信号線17、DMA転送終了通知信号線18を有している。
また、CPU1、ROM2、RAM3、I/O4、CRC演算回路10、割込み制御回路11、DMA制御回路12、CRC演算動作制御回路13は、それぞれ、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8と接続されている。また、割込み制御回路11、DMA制御回路12、CRC演算動作制御回路13は、それぞれ、割込み処理要求信号線15、割込み処理終了信号線16、DMA転送要求信号線17、DMA転送終了通知信号線18を介してCPU1と接続されている。
CPU1は、ROM2に格納された各種プログラムを実行することにより、データバス6から入力されるデータを処理する。
また、CPU1は、ROM2に格納されている自己診断プログラム2Bを実行することにより、CRC演算回路10に、アドレスバス5又はデータバス6のデータをCRC演算させる。また、CPU1は、自己診断プログラム2Bを実行することにより、CRC演算回路10の演算結果と、ROM2に格納されている期待値2Aとを比較することにより、CPU1の自己診断を行う。
ROM2は、CPU1がマイクロコンピュータ100を制御するために必要な各種プログラム、各種データを格納している。具体的には、ROM2は、CRC演算回路10の演算結果の期待値2A、自己診断プログラム2B等を格納している。
より具体的には、期待値2Aは、CPU1が正常である場合に、CRC演算回路10が、アドレスバス5又はデータバス6のデータをCRC演算して得られる演算結果を圧縮したデータである。
RAM3は、CPU1によりROM2から読み出された各種プログラムが展開される。また、RAM3は、CPU1による処理結果を一時的に格納する。
I/O4は、データ線9を介して、マイクロコンピュータ100の外部と接続されている。そして、I/O4は、マイクロコンピュータ100と外部との間でデータの入出力を行う。
アドレスバス5は、CPU1が処理するデータのアドレス信号を供給する。
データバス6は、CPU1がアドレスバス5を介して送信したアドレス信号により特定したデータを供給する。
R/W信号バス7は、データバス6上のデータの送信方向を指示する読出し/書込み信号(以下、R/W信号と称する。)を供給する。具体的には、R/W信号バス7は、データバス6上のデータが、CPU1からRAM3若しくはI/O4へ送信されるのか、又は、ROM2、RAM3若しくはI/O4からCPU1へ送信されるのかを指示するR/W信号を供給する。より具体的には、データバス6上のデータがCPU1からRAM3若しくはI/O4へ送信される場合、R/W信号はロウレベルとなる。また、データバス6上のデータがROM2、RAM3若しくはI/O4からCPU1へ送信される場合、R/W信号はハイレベルとなる。
タイミング信号バス8は、データバス6を介してデータを読み書きするタイミングを指示するタイミング信号を供給する。
CRC演算回路10は、CPU1により処理されるデータに対してCRC演算処理を行う。具体的には、CRC演算回路10は、図1に示すように、CRC演算実行部10A、レジスタ10Bを有している。
CRC演算実行部10Aは、タイミング信号線8から供給されるタイミング信号に指示されるタイミングにおいて、アドレスバス5又はデータバス6から供給されるデータを取り込む。そして、CRC演算実行部10Aは、取り込んだデータに対してCRC演算処理を行う。また、CRC演算実行部10Aは、CRC演算処理して得られる演算結果をレジスタ10Bに出力する。
また、CRC演算実行部10Aは、CRC演算動作制御回路13からハイレベルのCRC演算制御信号(後述)が入力された場合に、CRC演算処理を開始する。また、CRC演算実行部10Aは、CRC演算動作制御回路13からロウレベルのCRC演算制御信号が入力された場合に、CRC演算処理を停止する。
レジスタ10Bは、CRC演算実行部10Aから入力された演算結果を格納する。
割込み制御回路11は、割込み処理(外乱要因処理)の要求の発生を制御する。具体的には、割込み制御回路11は、割込み処理要求信号線15を介して、割込み処理要求信号をCPU1に出力し、割込み処理の要求を発生させる。また、CPU1は、割込み処理が終了した場合に、割込み処理終了信号線16を介して、割込み処理終了信号を割込み制御回路11に送信する。
DMA制御回路12は、DMA転送処理(外乱要因処理)の要求の発生を制御する。具体的には、DMA制御回路12は、DMA転送要求信号線17を介して、DMA転送要求信号をCPU1に出力し、DMA転送処理の要求を発生させる。また、DMA制御回路12は、DMA転送終了通知信号線18を介して、DMA転送終了通知信号をCPU1に送信する。
ここで、本実施形態においては、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8を、DMA転送処理及びCPU1におけるメインルーチン処理に兼用する。具体的には、CPU1は、DMA転送要求信号が入力されると、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8の制御権をDMA制御回路12に渡し、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8を解放する。また、DMA制御回路12は、DMA転送処理が完了すると、DMA転送終了通知信号をCPU1に入力するとともに、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8の制御権をCPU1に渡し、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8を解放する。
CRC演算動作制御回路13は、CRC演算回路10における演算動作を制御する。
具体的には、CRC演算動作制御回路13は、外乱要因処理の要求が発生した場合に、CRC演算回路10における演算処理を停止させ、外乱要因処理が終了した場合に、CRC演算回路10による演算処理を再開させる。
より具体的には、CRC演算動作制御回路13は、アドレスバス5、データバス6、R/W信号バス7、タイミング信号バス8、割込み処理要求信号線15、割込み処理終了信号線16、DMA転送要求信号線17、DMA転送終了通知線18の信号を取り込み、論理演算処理を行って、CRC演算制御信号を生成する。そして、CRC演算動作制御回路13は、CRC演算制御信号線14を介して、生成したCRC演算制御信号をCRC演算回路10に入力することにより、CRC演算回路10における演算動作を制御する。本実施形態では、CRC演算制御信号がハイレベルであるときCRC演算処理を許可し、CRC演算制御信号がロウレベルであるときCRC演算処理を禁止する。
CRC演算動作制御回路13の内部構成の一例を図2に示す。CRC演算動作制御回路13は、図2に示すように、フラグ格納部131、立上り検出回路132、デコーダ133(判別部)、第1のANDゲート134、NANDゲート135、第1のORゲート136、第2のORゲート137、SR型フリップフロップ(以下、SR−FFと称する。)138、第2のANDゲート139を有している。
フラグ格納部131は、CRC演算処理の許可を指示する許可フラグを格納している。許可フラグは、CPU1によりデータバス6を介してフラグ格納部131に書き込まれる。そして、値が「1」である許可フラグは、CRC演算処理の許可を示す。また、値が「0」である許可フラグは、CRC演算処理の禁止を示す。また、フラグ格納部131は、許可フラグの値が「1」であるとき、ハイレベルとなる出力信号B1を、第2のANDゲート139に入力する。出力信号B1は、CPU1によってフラグ格納部131の許可フラグの値が書き換えられたときにのみ変化する信号である。
立上り検出回路132は、出力信号B1の立上りを検出した場合に、ワンショットパルスを生成する。また、立上り検出回路132は、生成したワンショットパルスを第1のORゲート136に入力する。
デコーダ133は、アドレスバス5から供給されるアドレス信号がI/O4のアドレスを示すものか否かを判別する。そして、デコーダ133は、アドレス信号がI/O4のアドレスを示すものと判別した場合には、ハイレベルの出力信号B2をNANDゲート135及び第1のANDゲート134に入力する。また、デコーダ133は、アドレス信号がI/O4以外のアドレスを示すものと判別した場合には、ロウレベルの出力信号B2をNANDゲート135及び第1のANDゲート134に入力する。
第1のANDゲート134には、デコーダ133から出力信号B2が入力される。また、第1のANDゲート134には、R/W信号バス7からR/W信号が入力される。さらに、第1のANDゲート134には、タイミング信号バス8からタイミング信号が入力される。そして、第1のANDゲート134は、出力信号B2、R/W信号、タイミング信号を論理演算して、I/Oリード要求信号B3を生成し、第2のORゲート137に入力する。I/Oリード要求信号B3は、出力信号B2、R/W信号、タイミング信号の何れもがハイレベルとなった場合にハイレベルとなる。換言すれば、I/Oリード要求信号B3は、CPU1がI/O4からデータを読み出している期間、ハイレベルとなる。
NANDゲート135には、デコーダ133から出力信号B2が入力される。また、NANDゲート135には、R/W信号バス7からR/W信号が入力される。そして、NANDゲート135は、R/W信号及び出力信号B2を論理演算して、I/Oリード終了信号B4を生成し、I/Oリード終了信号B4を第1のORゲート136に入力する。I/Oリード終了信号B4は、出力信号B2及びR/W信号の何れかがロウレベルとなった場合に、ハイレベルとなる。換言すれば、I/Oリード終了信号B4は、CPU1がI/O4からデータを読み出している期間以外の期間、ハイレベルとなる。
第1のORゲート136には、立上り検出回路132からワンショットパルスが入力される。また、第1のORゲート136には、割込み処理終了信号線16から割込み処理終了信号が入力される。また、第1のORゲート136には、DMA転送終了通知信号線18からDMA転送終了通知信号が入力される。さらに、第1のORゲート136には、NANDゲート135からI/Oリード終了信号B4が入力される。そして、第1のORゲート136は、ワンショットパルス、割込み処理終了信号、DMA転送終了通知信号、I/Oリード終了信号B4を論理演算して、出力信号B5を生成し、出力信号B5をSR−FF138のS端子に入力する。出力信号B5は、ワンショットパルスが発生した場合にハイレベルとなる。また、出力信号B5は、割込み処理終了信号、DMA転送終了通知信号、I/Oリード終了信号B4の何れかがハイレベルとなった場合に、ハイレベルとなる。換言すれば、CPU1によるCRC演算許可時、割込み処理終了時、DMA転送終了時、I/O4からの読出し期間以外の期間の何れかの場合において、ハイレベルとなる。
第2のORゲート137には、第1のANDゲート134からI/Oリード要求信号B3が入力される。また、第2のORゲート137には、割込み処理要求信号線15から割込み処理要求信号が入力される。また、第2のORゲート137には、DMA転送要求信号線17からDMA転送要求信号が入力される。そして、第2のORゲート137は、I/Oリード要求信号B3、割込み処理要求信号、DMA転送要求信号を論理演算して、出力信号B6を生成し、出力信号B6をSR−FF138のR端子に入力する。出力信号B6は、I/Oリード要求信号B3、割込み処理要求信号、DMA転送要求信号の何れかがハイレベルとなった場合に、ハイレベルとなる。換言すれば、CPU1によるI/O4からの読出し期間、割込み処理時、DMA転送処理時の何れかの場合において、ハイレベルとなる。
SR−FF138は、S端子から「0」が入力され、R端子から「1」が入力された場合に「0」の出力信号B7をQ端子から第2のANDゲート139に入力する。また、SR−FF138は、S端子から「1」が入力され、R端子から「0」が入力された場合に「1」の出力信号B7をQ端子から第2のANDゲート139に入力する。従って、出力信号B5がロウレベルであり、出力信号B6がハイレベルである場合に、SR−FF138は、Q端子からロウレベルの出力信号B7を第2のANDゲート139に入力する。また、出力信号B5がハイレベルであり、出力信号B6がロウレベルである場合に、SR−FF138は、Q端子からハイレベルの出力信号B7を第2のANDゲート139に入力する。換言すれば、CPU1によるI/O4からの読出し期間、割込み処理時、DMA転送処理時の何れかの場合において、SR−FF138は、ロウレベルの出力信号B7を第2のANDゲート139に入力する。また、CPU1によるCRC演算許可時、割込み処理終了時、DMA転送終了時、I/O4からの読出し期間以外の期間の何れかの場合において、SR−FF138は、ハイレベルの出力信号B7を第2のANDゲート139に入力する。
第2のANDゲート139には、フラグ格納部131から出力信号B1が入力される。また、第2のANDゲート139には、SR−FF138から出力信号B7が入力される。そして、第2のANDゲート139は、出力信号B1と出力信号B7とを論理演算して、CRC演算制御信号を生成する。また、第2のANDゲート139は、CRC演算制御信号線14を介して、CRC演算制御信号をCRC演算実行部10Aに入力する。そして、出力信号B1及び出力信号B7の何れもがハイレベルの場合に、CRC演算制御信号は、ハイレベルとなる。また、出力信号B1及び出力信号B7の何れかがロウレベルの場合に、CRC演算制御信号は、ロウレベルとなる。換言すれば、CPU1によりCRC演算処理が許可された場合であって、割込み処理終了時、DMA転送終了時、I/O4からの読出し期間以外の期間の何れかの場合に、CRC演算制御信号は、ハイレベルとなる。そして、CRC演算実行部10AによるCRC演算処理が行われる。一方、CPU1によりCRC演算処理が許可されていない場合、又は、I/O4からの読出し期間、割込み処理時、DMA転送処理時の何れかの場合に、CRC演算制御信号は、ロウレベルとなる。そして、CRC演算実行部10AによるCRC演算処理が停止される。
次に、本実施形態にかかるマイクロコンピュータ100の自己診断動作について図3に示すタイミングチャートを参照しながら説明する。
まず、CPU1は、自己診断プログラム2Bを実行することにより、レジスタ10Bを初期状態に設定する。具体的には、CPU1は、レジスタ10Bに、エラーなしコード(本実施形態では「0」)を設定する。
次に、CPU1が自己診断プログラム2Bを実行することにより、CRC演算処理が許可される。具体的には、CPU1は、アドレスバス5からアドレス信号をCRC演算動作制御回路13に入力し、当該アドレス信号により指定される許可フラグを「1」にする。そして、タイミングt1において、フラグ格納部131の出力信号B1がハイレベルとなる。同時に、タイミング信号バス8からタイミング信号が入力され、CRC演算回路10がデータバス6からデータを取り込む。また、タイミングt1において、立上り検出回路132からワンショットパルスが出力されるため、第1のORゲート136の出力信号B5はハイレベルである。同時に、割込み処理要求信号、DMA転送要求信号、I/Oリード要求信号B3の何れもロウレベルであるため、第2のORゲート137の出力信号B6はロウレベルである。そのため、タイミングt1において、SR−FF138の出力信号B7はハイレベルとなり、CRC演算制御信号はハイレベルとなる。これにより、CRC演算実行部10Aは、CRC演算処理を開始する。
次に、タイミングt2において、CRC演算処理実行中に、割込み処理の要求が発生し、CPU1に割込み処理要求信号が入力されると、CPU1は、割込み処理を開始する。また、第2のORゲート137の出力信号B6はハイレベルとなる。同時に、割込み処理終了信号、DMA転送終了通知信号、I/Oリード終了信号B4の何れもロウレベルであるため、第1のORゲート136の出力信号B5はロウレベルである。そのため、タイミングt2において、SR−FF138の出力信号B7はロウレベルとなり、CRC演算制御信号はロウレベルとなる。これにより、CRC演算実行部10Aは、CRC演算処理を停止する。
次に、タイミングt3において、CPU1における割込み処理が終了し、CPU1から割込み制御回路11に割込み処理終了信号が入力されると、第1のORゲート136の出力信号B5はハイレベルとなる。同時に、割込み処理要求信号、DMA転送要求信号、I/Oリード要求信号B3の何れもロウレベルであるため、第2のORゲート137の出力信号B6はロウレベルである。そのため、タイミングt3において、SR−FF138の出力信号B7はハイレベルとなり、CRC演算制御信号はハイレベルとなる。これにより、CRC演算実行部10Aは、CRC演算処理を再開する。なお、レジスタ10Bは、タイミングt2以前の演算結果を保持している。
また、タイミングt4において、DMA転送処理の要求が発生し、CPU1にDMA転送要求信号が入力されると、第2のORゲート137の出力信号B6はハイレベルとなる。同時に、割込み処理終了信号、DMA転送終了通知信号、I/Oリード終了信号B4の何れもロウレベルであるため、第1のORゲート136の出力信号B5はロウレベルである。そのため、タイミングt4において、SR−FF138の出力信号B7はロウレベルとなり、CRC演算制御信号はロウレベルとなる。これにより、CRC演算実行部10Aは、CRC演算処理を停止する。
次に、タイミングt5において、DMA転送処理が終了し、CPU1にDMA転送終了通知信号が入力されると、第1のORゲート136の出力信号B5はハイレベルとなる。同時に、割込み処理要求信号、DMA転送要求信号、I/Oリード要求信号B3の何れもロウレベルであるため、第2のORゲート137の出力信号B6はロウレベルである。そのため、タイミングt5において、SR−FF138の出力信号B7はハイレベルとなり、CRC演算制御信号はハイレベルとなる。これにより、CRC演算実行部10Aは、CRC演算処理を再開する。なお、レジスタ10Bは、タイミングt4以前の演算結果を保持している。
また、タイミングt6において、I/O4からCPU1へデータが送られる場合、I/O4のデータの読出し処理の要求が発生し、デコーダ133の出力信号B2がハイレベルとなる。同時に、R/W信号がハイレベルとなる。
次に、タイミングt7において、タイミング信号バス8からタイミング信号が入力されると、第1のANDゲート134に出力信号B2、R/W信号、タイミング信号が入力されるので、I/Oリード要求信号B3がハイレベルとなる。これにより、第2のORゲート137の出力信号B6はハイレベルとなる。同時に、NANDゲート135に出力信号B2とR/W信号とが入力されるため、I/Oリード終了信号B4はロウレベルのままである。そして、割込み処理終了信号、DMA転送終了通知信号もロウレベルであるため、第1のORゲート136の出力信号B5はロウレベルとなる。そのため、タイミングt7において、SR−FF138の出力信号B7はロウレベルとなり、CRC演算制御信号はロウレベルとなる。これにより、CRC演算実行部10Aは、CRC演算処理を停止する。
次に、タイミングt8において、CPU1によるI/O4のデータの読出し処理が終了すると、デコーダ133の出力信号B2がロウレベルとなる。同時に、R/W信号がロウレベルとなる。そして、NANDゲート135に出力信号B2とR/W信号が入力されるため、I/Oリード終了信号B4はハイレベルとなる。これにより、第1のORゲート136の出力信号B5がハイレベルとなる。同時に、第1のANDゲート134に出力信号B2、R/W信号、タイミング信号が入力されるので、I/Oリード要求信号B3がロウレベルとなる。そして、割込み処理要求信号、DMA転送要求信号もロウレベルであるため、第2のORゲート137の出力信号B6はロウレベルとなる。そのため、タイミングt8において、SR−FF138の出力信号B7はハイレベルとなり、CRC演算制御信号はハイレベルとなる。これにより、CRC演算実行部10Aは、CRC演算処理を再開する。なお、レジスタ10Bは、タイミングt7以前の演算結果を保持している。
次に、本発明にかかるマイクロコンピュータ100における自己診断方法について図4に示すフローチャートを参照しながら説明する。なお、図4において、太枠で示したステップは、CPU1が自己診断プログラム2Bを実行することによって行われる処理を示す。
まず、CPU1により、レジスタ10Bが初期化されるとともに、CRC演算処理が許可され(ステップS1)、CRC演算実行部10AがCRC演算処理を開始するとともに、レジスタ10Bが演算結果を格納する。
次に、CRC演算処理が終了していない場合(ステップS2;No)であって、割込み処理要求又はDMA転送要求又はI/O4のデータ読出し処理の要求(以下、外乱要因と称する。)が発生した場合(ステップS3;Yes)、CRC演算制御信号がロウレベルとなり、CRC演算実行部10Aは、CRC演算処理を停止する(ステップS4)。
次に、外乱要因の処理が終了していない場合は(ステップS5;No)、ステップS5に戻る。
また、外乱要因の処理が終了した場合は(ステップS5;Yes)、CRC演算制御信号がハイレベルとなり、CRC演算実行部10Aは、CRC演算処理を再開する(ステップS6)。
また、ステップS3において、外乱要因が発生していない場合は(ステップS3;No)、データ取り込タイミングとなった場合には(ステップS7;Yes)、CRC演算実行部10Aは、アドレスバス5又はデータバス6のデータを取り込み、CRC演算処理を行う(ステップS8)。
一方、ステップS7において、データ取り込タイミングとなっていない場合は(ステップS7;No)、ステップS7に戻る。
次に、CRC演算実行部10Aは、演算結果をレジスタ10Bに出力し、レジスタ10Bは、演算結果を格納し(ステップS9)、ステップS2に戻る。
一方、ステップS2において、CRC演算処理が終了している場合(ステップS2;Yes)、CPU1は、CRC演算実行部10AによるCRC演算処理を停止させる(ステップS10)。
次に、CPU1は、レジスタ10Bに格納されている演算結果を読み出す(ステップS11)。
次に、CPU1は、ROM2に格納されている期待値2Aを読み出す(ステップS12)。
次に、CPU1は、演算結果と期待値2Aとを比較し、演算結果が期待値2Aと等しいか否かを判断する(ステップS13)。
ステップS13において、演算結果が期待値2Aと異なる場合には(ステップS13;No)、CPU1は、故障している旨を表示部(図示省略)に出力するなどの通知を行い、本処理を終了する。
ステップS13において、演算結果が期待値2Aと等しい場合には(ステップS13;Yes)、CPU1は、正常動作している旨を表示部に出力するなどの通知を行い、本処理を終了する。
以上に説明した本発明の実施の形態にかかるマイクロコンピュータ100及び自己診断方法では、マイクロコンピュータ100のCPU1に処理されるデータに対してCRC演算処理を行うCRC演算回路10と、CRC演算回路10の演算結果の期待値2Aを格納するROM2と、CRC演算回路10の動作を制御するCRC演算動作制御回路13と、を備え、マイクロコンピュータ100のCPU1は、演算結果と期待値2Aとの比較結果に基づいて、故障を検出し、CRC演算動作制御回路13は、マイクロコンピュータ100において、割込み処理やDMA転送処理の要求が発生した場合に、CRC演算回路10によるCRC演算処理を停止させ、割込み処理やDMA転送処理が終了した場合に、CRC演算回路10によるCRC演算処理を再開させる。
これにより、割込み処理やDMA転送処理の要求が発生した場合に、CRC演算動作制御回路13によりCRC演算回路10のCRC演算処理が停止され、割込み処理やDMA転送処理が終了した場合に、CRC演算動作制御回路13によりCRC演算回路10のCRC演算処理を再開させるので、割込み処理やDMA転送処理の要求の発生箇所を予め予測しなくてもCRC演算処理を停止することができる。従って、メインルーチン処理のうちCRC演算処理を不必要に停止する部分がなくなるため、故障検出を行えない部分を減らすことができる。より確実に故障検出を行うことができる。
また、割込み処理やDMA転送処理の要求の発生箇所を予測するものではないので、予測が外れて不正確な故障検出を行ってしまうなどのリスクがない。そのため、より正確に故障検出を行うことができる。
また、CRC演算動作制御回路13によりCRC演算処理の停止/再開を制御するので、自己診断プログラム2B内に演算処理を停止/再開するためのプログラムを加える必要がない。従って、自己診断プログラム2Bにおけるコード効率を低下させずに済む。
また、CRC演算動作制御回路13は、割込み制御回路11とCPU1とを接続する割込み処理要求信号線15、割込み処理終了信号線16と接続されるとともに、DMA制御回路12とCPU1とを接続するDMA転送要求信号線17、DMA転送終了通知信号線18と接続され、割込み処理要求信号線15から割込み処理要求信号が入力された場合、及び、DMA転送要求信号線17からDMA転送要求信号が入力された場合に、CRC演算回路10によるCRC演算処理を停止させ、割込み処理終了信号線16から割込み処理終了信号が入力された場合、及び、DMA転送終了通知信号線18からDMA転送終了通知信号が入力された場合に、CRC演算回路10によるCRC演算処理を再開させる。
これにより、割込み処理及びDMA転送処理の要求の発生に遅延することなく、CRC演算回路10のCRC演算処理を停止させることができる。従って、割込み処理及びDMA転送処理におけるデータを誤ってCRC演算してしまうことがない。よって、より正確に故障検出することができる。また、割込み処理及びDMA転送処理の終了に遅延することなく、CRC演算回路10のCRC演算処理を再開することができる。従って、メインルーチン処理のうちCRC演算処理を不必要に停止する部分がなくなる。よって、より確実に故障検出を行うことができる。
また、外部との間でデータの入出力を行うI/O4を備え、CRC演算動作制御回路13は、アドレスバス5を介してCPU1と接続され、アドレスバス5から入力されるアドレス信号がI/O4のアドレスか否かを判別するデコーダ133を備え、デコーダ133により、アドレス信号がI/O4のアドレスであると判別された場合に、CRC演算回路10によるCRC演算処理を停止させる。
これにより、アドレスバス5から入力されるアドレス信号がI/O4のアドレスである場合、即ち、I/O4のデータ読出し処理の要求が発生している場合に、CRC演算動作制御回路13によりCRC演算回路10のCRC演算処理が停止される。また、I/O4のデータ読出し処理が終了した場合に、CRC演算動作制御回路13によりCRC演算回路10のCRC演算処理を再開させるので、I/O4のデータ読出し処理の要求の発生箇所を予め予測しなくてもCRC演算処理を停止することができる。従って、メインルーチン処理のうちCRC演算処理を不必要に停止する部分がなくなるため、故障検出を行えない部分を減らすことができる。より確実に故障検出を行うことができる。
また、I/O4のデータ読出し処理の要求の発生箇所を予測するものではないので、予測が外れて不正確な故障検出を行ってしまうなどのリスクがない。そのため、より正確に故障検出を行うことができる。
また、CRC演算動作制御回路13によりCRC演算処理の停止/再開を制御するので、自己診断プログラム2B内に演算処理を停止/再開するためのプログラムを加える必要がない。従って、自己診断プログラム2Bにおけるコード効率を低下させずに済む。
なお、本実施形態では、演算処理としてCRC演算処理を例示して説明したが、これに限られるものではなく、CPU1の故障検出を行える演算処理であればなんであってもよい。また、外乱要因処理は、割込み処理、DMA転送処理、I/O4のデータ読出し処理に限られるものではない。
また、CRC演算動作制御回路13の構成は、図2に限られるものではなく、外乱要因処理の要求が発生した際に、CRC演算回路10によるCRC演算処理を停止させるCRC演算制御信号を出力できるものであれば、どのような構成であってもよい。
本発明の実施の形態にかかるマイクロコンピュータの構成の一例を示すブロック図である。 本発明の実施の形態にかかるCRC演算動作制御回路の一例を示す回路図である。 本発明の実施の形態にかかるマイクロコンピュータにおける自己診断動作の一例を説明するタイミングチャートである。 本発明の実施の形態にかかるマイクロコンピュータにおける自己診断方法を説明するフローチャートである。
符号の説明
1 CPU
2 ROM(格納部)
2A 期待値
4 I/O(入出力部)
5 アドレスバス
6 データバス
10 CRC演算回路(演算部)
11 割込み制御回路(外乱要因処理制御部)
12 DMA制御回路(外乱要因処理制御部)
13 CRC演算動作制御回路(制御部)
133 デコーダ(判別部)
15 割込み処理要求信号線(信号線)
16 割込み処理終了信号線(信号線)
17 DMA転送要求信号線(信号線)
18 DMA転送終了通知信号線(信号線)
100 マイクロコンピュータ(データ処理装置)

Claims (10)

  1. データ処理装置に処理されるデータに対して所定の演算処理を行う演算部と、
    前記演算部の演算結果の期待値を格納する格納部と、
    前記演算部の動作を制御する制御部と、
    を備え、
    前記データ処理装置は、前記演算結果と前記期待値との比較結果に基づいて、故障を検出し、
    前記制御部は、前記データ処理装置において外乱要因処理の要求が発生した場合に、前記演算部による演算処理を停止させ、前記外乱要因処理が終了した場合に、前記演算部による演算処理を再開させるデータ処理装置。
  2. データバスから入力されるデータを処理するCPUと、
    前記外乱要因処理の要求の発生を制御する外乱要因処理制御部と、
    を備え、
    前記演算部は、前記データバスから入力されるデータに対して所定の演算処理を行い、
    前記制御部は、前記外乱要因処理制御部と前記CPUとを接続する信号線と接続され、前記信号線から外乱要因処理要求信号が入力された場合に、前記演算部による演算処理を停止させ、前記信号線から外乱要因処理終了信号が入力された場合に、前記演算部による演算処理を再開させる請求項1に記載のデータ処理装置。
  3. 外部との間でデータの入出力を行う入出力部を備え、
    前記制御部は、
    アドレスバスを介して前記CPUと接続され、
    前記アドレスバスから入力されるアドレス信号が前記入出力部のアドレスか否かを判別する判別部を備え、
    前記判別部により、前記アドレス信号が前記入出力部のアドレスであると判別された場合に、前記演算部による演算処理を停止させる請求項1又は2に記載のデータ処理装置。
  4. 前記外乱要因処理制御部として、割込み処理の要求の発生を制御する割込み制御回路を備える請求項1乃至3の何れか一項に記載のデータ処理装置。
  5. 前記外乱要因処理制御部として、DMA(Direct Memory Access)転送処理の要求の発生を制御するDMA制御回路を備える請求項1乃至4の何れか一項に記載のデータ処理装置。
  6. データ処理装置に処理されるデータに対して演算部による所定の演算処理を行い、
    前記データ処理装置は、前記演算結果と、前記演算結果の期待値との比較結果に基づいて、故障を検出し、
    制御部により、前記データ処理装置において外乱要因処理の要求が発生した場合に、前記演算部による演算処理を停止させ、前記外乱要因処理が終了した場合に、前記演算部による演算処理を再開させるデータ処理装置の自己診断方法。
  7. データバスから入力されるデータを処理するCPUと、
    前記外乱要因処理の要求の発生を制御する外乱要因処理制御部と、
    を備え、
    前記演算部は、前記データバスから入力されるデータに対して所定の演算処理を行い、
    前記制御部は、前記外乱要因処理制御部と前記CPUとを接続する信号線と接続され、前記信号線から外乱要因処理要求信号が入力された場合に、前記演算部による演算処理を停止させ、前記信号線から外乱要因処理終了信号が入力された場合に、前記演算部による演算処理を再開させる請求項6に記載のデータ処理装置の自己診断方法。
  8. 外部との間でデータの入出力を行う入出力部を備え、
    前記制御部は、
    アドレスバスを介して前記CPUと接続され、
    前記アドレスバスから入力されるアドレス信号が前記入出力部のアドレスか否かを判別する判別部を備え、
    前記判別部により、前記アドレス信号が前記入出力部のアドレスであると判別された場合に、前記演算部による演算処理を停止させる請求項6又は7に記載のデータ処理装置の自己診断方法。
  9. 前記外乱要因処理制御部として、割込み処理の要求の発生を制御する割込み制御回路を備える請求項6乃至8の何れか一項に記載のデータ処理装置の自己診断方法。
  10. 前記外乱要因処理制御部として、DMA(Direct Memory Access)転送処理の要求の発生を制御するDMA制御回路を備える請求項6乃至9の何れか一項に記載のデータ処理装置の自己診断方法。
JP2007263053A 2007-10-09 2007-10-09 データ処理装置及びデータ処理装置の自己診断方法 Pending JP2009093393A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007263053A JP2009093393A (ja) 2007-10-09 2007-10-09 データ処理装置及びデータ処理装置の自己診断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007263053A JP2009093393A (ja) 2007-10-09 2007-10-09 データ処理装置及びデータ処理装置の自己診断方法

Publications (1)

Publication Number Publication Date
JP2009093393A true JP2009093393A (ja) 2009-04-30

Family

ID=40665328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007263053A Pending JP2009093393A (ja) 2007-10-09 2007-10-09 データ処理装置及びデータ処理装置の自己診断方法

Country Status (1)

Country Link
JP (1) JP2009093393A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272089A (ja) * 2009-05-25 2010-12-02 Hitachi Ltd レジスタ診断装置及びレジスタ診断方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63133234A (ja) * 1986-11-25 1988-06-06 Mitsubishi Electric Corp マイクロコンピユ−タ
JPH02272947A (ja) * 1989-04-14 1990-11-07 Nec Corp 障害監視方式
JPH04120633A (ja) * 1990-09-12 1992-04-21 Toshiba Corp プロセッサの故障診断装置
JPH07248935A (ja) * 1994-03-10 1995-09-26 Fujitsu Ltd 情報処理装置の試験方法,及び試験装置
JPH08115230A (ja) * 1994-10-18 1996-05-07 Fujitsu Ltd プロセッサの制御方法及びプログラム監視装置
JPH09282166A (ja) * 1996-04-09 1997-10-31 Hitachi Ltd パイプライン演算装置
JPH09319729A (ja) * 1996-06-03 1997-12-12 Oki Electric Ind Co Ltd ディジタルシグナルプロセッサ
JPH1093695A (ja) * 1996-09-13 1998-04-10 Oki Electric Ind Co Ltd 交換機能試験システム
JP2001103116A (ja) * 1999-09-28 2001-04-13 Toshiba Corp ストリーム生成装置
WO2004093445A1 (ja) * 2003-04-16 2004-10-28 Fujitsu Limited Ip画像伝送装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63133234A (ja) * 1986-11-25 1988-06-06 Mitsubishi Electric Corp マイクロコンピユ−タ
JPH02272947A (ja) * 1989-04-14 1990-11-07 Nec Corp 障害監視方式
JPH04120633A (ja) * 1990-09-12 1992-04-21 Toshiba Corp プロセッサの故障診断装置
JPH07248935A (ja) * 1994-03-10 1995-09-26 Fujitsu Ltd 情報処理装置の試験方法,及び試験装置
JPH08115230A (ja) * 1994-10-18 1996-05-07 Fujitsu Ltd プロセッサの制御方法及びプログラム監視装置
JPH09282166A (ja) * 1996-04-09 1997-10-31 Hitachi Ltd パイプライン演算装置
JPH09319729A (ja) * 1996-06-03 1997-12-12 Oki Electric Ind Co Ltd ディジタルシグナルプロセッサ
JPH1093695A (ja) * 1996-09-13 1998-04-10 Oki Electric Ind Co Ltd 交換機能試験システム
JP2001103116A (ja) * 1999-09-28 2001-04-13 Toshiba Corp ストリーム生成装置
WO2004093445A1 (ja) * 2003-04-16 2004-10-28 Fujitsu Limited Ip画像伝送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272089A (ja) * 2009-05-25 2010-12-02 Hitachi Ltd レジスタ診断装置及びレジスタ診断方法

Similar Documents

Publication Publication Date Title
US8819485B2 (en) Method and system for fault containment
JP2008009721A (ja) 評価システム及びその評価方法
US7480812B2 (en) Microprocessor
JP2006344087A (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
US20060136641A1 (en) Context save method, information processor and interrupt generator
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2009093393A (ja) データ処理装置及びデータ処理装置の自己診断方法
JP4876093B2 (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
EP1703393A2 (en) Error notification method and apparatus for an information processing system carrying out mirror operation
JPH09160837A (ja) メモリチェックシステム
JP4647276B2 (ja) 半導体回路装置
JP6765874B2 (ja) 電子制御装置
JP2014056396A (ja) 電子制御装置
US20220415405A1 (en) Memory-control circuit and method for controlling erasing operation of flash memory
JP6645467B2 (ja) マイクロコンピュータ
JP2006040174A (ja) 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法
JP2009289119A (ja) ウォッチドッグ・タイマ及びマイクロコンピュータ
JP6435884B2 (ja) 情報処理装置及び異常検出方法
JP5331451B2 (ja) マイクロコントローラ
JP2012243205A (ja) 半導体集積回路及びデータ退避方法
JP2001350643A (ja) マイクロコンピュータの制御方法及び異常監視装置
JP2024083079A (ja) 電源制御集積回路
JP5362856B2 (ja) エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法
JP2010122868A (ja) メモリ監視装置及びメモリ監視方法
JP2001242901A (ja) プログラマブルコントローラの異常検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121120