JP2007206909A - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP2007206909A
JP2007206909A JP2006024002A JP2006024002A JP2007206909A JP 2007206909 A JP2007206909 A JP 2007206909A JP 2006024002 A JP2006024002 A JP 2006024002A JP 2006024002 A JP2006024002 A JP 2006024002A JP 2007206909 A JP2007206909 A JP 2007206909A
Authority
JP
Japan
Prior art keywords
data
address
output
bus
input
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
JP2006024002A
Other languages
English (en)
Inventor
Jiro Miyake
二郎 三宅
Toru Morikawa
徹 森河
Atsuyuki Kawai
敦如 河合
Takayuki Ikeda
孝之 池田
Hiroyuki Mizobata
博幸 溝端
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006024002A priority Critical patent/JP2007206909A/ja
Publication of JP2007206909A publication Critical patent/JP2007206909A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】リセットに対して、マスク処理や遅延処理を行うための専用の回路構成を設けることなく、簡単な回路構成で、リセット信号の入力によるメモリへのデータの誤書込みを確実に回避することができるデータ処理装置およびデータ処理方法を提供する。
【解決手段】メモリ3への書込みを行う際に、内部アドレスバス10と内部データバス11の値をアドレス保護バッファ5とデータ保護バッファ6に格納し、CPU1からメモリ3への書込み処理中に、マニュアルリセット端子18からリセットを入力すると、リセット入力解除後に書込みを行っていたメモリ3のデータとデータ保護バッファ6のデータの値を比較器8を用いて比較し、そのデータ比較結果に応じて、アドレス保護バッファ5とデータ保護バッファ6に格納する値を用いてメモリ3へ再書込みを行う。
【選択図】図1

Description

本発明は、半導体集積回路装置にかかわり、特にリセット入力によるメモリへの誤書込みを回避することが可能なデータ処理装置およびデータ処理方法に関するものである。
従来から、情報処理装置の一般的なものとして、半導体集積回路装置(例えば、システムLSI)内のCPUがプログラムに従って実行するソフトウェア処理により、その外部に接続されたデータ記憶手段(例えば、RAMなどのデータメモリ)に対して、データを読出しおよび書込みが可能なデータ処理装置が広く用いられている。
このようなデータ処理装置において、リセット信号の入力時にデータ記憶手段をライトアクセスした場合には、そのライトアクセスに十分な動作時間を保証することができず、データの誤書込み等のメモリエラーがしばしば発生している。
そのため、従来のデータ処理装置(例えば、特許文献1を参照)においては、半導体集積回路装置に外部よりリセット信号が入力されたときには、リセット調停手段によって、データ記憶手段とそれ以外の初期化する機能処理手段に対して、データ記憶手段へのライトアクセスが終了してアクセスの全く行われていない状態となるまで、入力されたリセット信号を一時的に保留することにより、上記のようなメモリエラーの発生を防止するようにしている。
特開平5−274228号公報
しかしながら上記のような従来のデータ処理装置では、リセットの入力時に発生するデータ記憶手段へのデータの誤書込みを回避するために、リセット調停手段を用いて、データ記憶手段へのライトアクセスが終了するまで、リセットの入力タイミングを遅延させるようにしているが、このためには、リセットの遅延手段およびリセットの調停手段が必要となり、回路構成が複雑になるという問題点を有していた。
本発明は、上記従来の問題点を解決するもので、リセットに対して、マスク処理や遅延処理を行うための専用の回路構成を設けることなく、簡単な回路構成で、リセット信号の入力によるメモリへのデータの誤書込みを確実に回避することができるデータ処理装置およびデータ処理方法を提供する。
上記の課題を解決するために、本発明1のデータ処理装置は、電源投入処理時にリセットを入力する第1のリセット入力端子と、前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、前記CPUから出力されるアドレスを伝達するアドレスバスと、前記CPUから出力される読出し信号を伝達する読出し信号線と、前記CPUから出力される書込み信号を伝達する書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、前記アドレスバス、前記書込み信号線及び前記読出し信号線からの各信号を入力し、前記データバスを入出力し保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し前記論理和演算手段の出力により初期化される書込み保護手段と、前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、前記書込み保護手段は、前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し、前記アドレス値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、前記書込み信号が出力された場合、前記データバスのデータを入力して保持し、前記読出し信号が出力され且つ前記データバスのデータが特定の値である場合、格納されるデータを前記データバスに出力し、前記データ値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、前記読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納される比較結果を前記データバスに出力し、前記論理和演算手段の出力により初期化される第3の保持手段とを備えたことを特徴とする。
また、本発明1のデータ処理方法は、本発明1のデータ処理装置におけるデータ処理方法であって、前記CPUは、メモリへの書込みを行うために、前記アドレスバスにアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスにデータを出力し、前記書込み保護手段は、前記アドレスバスよりアドレスを入力し、前記書込み信号線より書込み信号を入力し、前記データバスよりデータを入力し、前記第1の保持手段は、前記書込み信号が出力されるため前記アドレスバスのアドレスを入力して保持し、前記第2の保持手段は、前記書込み信号が出力されるため前記データバスのデータを入力して保持することを特徴とする。
また、本発明1のデータ処理方法は、本発明1のデータ処理装置におけるデータ処理方法であって、前記第2のリセット入力端子にリセットが入力されて解除された後に、前記CPUは、前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記メモリは、前記第1の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、前記CPUは、前記データバスを入力し、前記比較手段は、前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、前記第3の保持手段は、前記読出し信号が出力され且つ前記比較結果有効信号が出力されたため、前記比較結果信号を入力し比較結果として保持することを特徴とする。
また、本発明2のデータ処理装置は、電源投入処理時にリセットを入力する第1のリセット入力端子と、前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、前記CPUから出力されるアドレスを伝達するアドレスバスと、前記CPUから出力される読出し信号を伝達する読出し信号線と、前記CPUから出力される書込み信号を伝達する書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、前記アドレスバス、前記第1の書込み信号線及び前記読出し信号線からの各信号を入力し、前記データバスからのデータを入出力し、保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し、前記論理和演算手段の出力により初期化される書込み保護手段と、前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、前記書込み保護手段は、前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し、前記アドレス値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、前記書込み信号が出力された場合前記データバスのデータを入力して保持し、前記データ値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、前記読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納される比較結果を前記データバスに出力し、前記論理和演算手段の出力により初期化される第3の保持手段とを備えたことを特徴とする。
また、本発明2のデータ処理方法は、本発明2のデータ処理装置におけるデータ処理方法であって、前記第2のリセット入力端子にリセットが入力されて解除された後に、前記CPUは、前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記メモリは、前記第1の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、前記CPUは、前記データバスからのデータを入力し、前記比較手段は、前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、前記第3の保持手段は、前記読出し信号が出力され且つ前記比較結果有効信号が出力されたため、前記比較結果信号を入力し比較結果として保持し、前記CPUは、前記第3の保持手段に保持される比較結果を読出すために、前記アドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記第3の保持手段は、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため格納される比較結果を前記データバスに出力し、前記CPUは、前記データバスからのデータを入力し、前記第3の保持手段より読出した比較結果が異なる結果と判断した場合、前記第1のリセット入力端子からのリセット解除後と同じ動作を行うことを特徴とする。
また、本発明3のデータ処理装置は、電源投入処理時にリセットを入力する第1のリセット入力端子と、前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、バス要求信号線より伝達されるバス要求信号を入力し、前記論理和演算手段の出力により初期化されるメモリ制御手段と、前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、前記第1のアドレスバス、前記第1の書込み信号線、前記第1のデータバスからの各信号を入力し、前記第2のアドレスバス、前記第2の書込み信号線及び前記第2の読出し信号線からの各信号を入力し、前記第2のデータバスのデータを入出力し、保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し、バス要求信号を出力し、前記論理和演算手段の出力により初期化される書込み保護手段と、前記書込み保護手段から出力されるバス要求を伝達するバス要求信号線と、前記第2のアドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記第2のデータバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、前記書込み保護手段は、前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第2の読出し信号が出力され且つ前記第2のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第2のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、前記第1の書込み信号が出力された場合、前記第1のデータバスのデータを入力して保持し、前記第2の読出し信号が出力され且つ前記第2のデータバスのデータが特定の値である場合、格納されるデータを前記第2のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、前記第2の読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記論理和演算手段の出力により初期化される第3の保持手段とを備えたことを特徴とする。
また、本発明3のデータ処理方法は、本発明3のデータ処理装置におけるデータ処理方法であって、前記CPUと前記メモリとのデータのオーバーヘッドを少なくするために、前記第2のリセット端子からのリセットが解除された後に、前記書込み保護手段が前記メモリ制御手段にバス要求信号を出力し、前記メモリ制御手段が、前記第2のアドレスバスと前記第2のデータバスと前記第2の書込み信号線と前記第2の読込み信号線を、前記CPUから解放し、前記書込み保護手段がバスマスタとなり、メモリに対してCPUを介さずに直接書込みを行うことを特徴とする。
また、本発明3のデータ処理方法は、本発明3のデータ処理装置におけるデータ処理方法であって、前記書込み保護手段が前記メモリ制御手段にバス要求信号を出力し、前記メモリ制御手段が、前記第2のアドレスバスと前記第2のデータバスと前記第2の書込み信号線と前記第2の読込み信号線を、前記CPUから解放し、前記書込み保護手段は、前記メモリから読込みを行うために、前記第2のアドレスバスに前記第1の保持手段に格納したアドレスを出力し、前記第2の読込み信号を出力し、前記比較手段は、前記第2のアドレスバスの値と前記書込み保護手段が出力する値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、前記第3の保持手段は、前記第2の読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、前記比較結果信号を格納し、前記書込み保護手段は、前記第3に格納した比較結果が異なる結果を示す場合、前記第2のアドレスバスに前記第1の保護手段に格納するアドレス値を出力し、前記第2のデータバスに前記第2の保持手段に格納するデータを出力し、前記第2の書込み信号を出力し、前記メモリは、前記第2のアドレスバスよりアドレスを入力し、前記第2のデータバスよりデータを入力し、前記第2の書込み信号を入力することにより、前記第2のアドレスバスのアドレスに前記第2のデータバスのデータ値を保持することを特徴とする。
また、本発明4のデータ処理装置は、電源投入処理時にリセットを入力する第1のリセット入力端子と、前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力しメモリとの読出し及び書込みを行うデータを入出力し、入力された2つのデータの比較を行い、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、前記CPUから出力されるアドレスを伝達するアドレスバスと、前記CPUから出力される読出し信号を伝達する読出し信号線と、前記CPUから出力される書込み信号を伝達する書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、前記アドレスバス、前記書込み信号線、及び前記読出し信号線からの各信号を入力し、前記データバスのデータを入出力し保持するアドレス値とデータ値を出力し、前記論理和演算手段の出力により初期化される書込み保護手段とを備え、前記書込み保護手段は、前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し前記アドレス値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、前記書込み信号が出力された場合、前記データバスのデータを入力して保持し、前記読出し信号が出力され且つ前記データバスのデータが特定の値である場合、格納されるデータを前記データバスに出力し前記データ値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段とを備えたことを特徴とする。
また、本発明4のデータ処理方法は、本発明4のデータ処理装置におけるデータ処理方法であって、前記第2のリセット入力端子にリセットが入力されて解除された後に、前記CPUは、前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記メモリは、前記第1の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、前記CPUは、前記データバスのデータを入力し、前記第2の保持手段に保持されるアドレスを読出すために、前記アドレスバスに前記第2の保持手段を特定するアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記第2の保持手段は、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、格納されるデータを前記データバスに出力し、前記CPUは、前記データバスを入力し、前記メモリから読出したデータバスの値と前記第2の保持手段から読出したデータバスの値との比較をソフトウェアで行い、比較した結果が異なる結果と判断した場合、前記メモリへ前記第2の保持手段に保持されるデータを書き出すために、前記アドレスバスに前記第1の保持手段から読出したアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスに前記第2の保持手段が格納するデータを出力し、前記メモリは、前記第1の保持手段が保持するアドレスに前記第2の保持手段が格納するデータを格納することを特徴とする。
また、本発明5のデータ処理装置は、電源投入処理時にリセットを入力する第1のリセット入力端子と、前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記論理和演算手段の出力により初期化されるCPUと、前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、前記論理和演算手段の出力により初期化されるメモリ制御手段と、前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、前記第1のアドレスバス、前記第1の書込み信号線及び前記第1の読出し信号線からの各信号を入力し、前記第1のデータバスのデータを入出力し、前記第2の書込み信号を入力し保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し、前記論理和演算手段の出力により初期化される書込み保護手段と、前記第1のアドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記第1のデータバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、前記書込み保護手段は、前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第1のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、前記第1の書込み信号が出力された場合、前記第1のデータバスのデータを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のデータバスのデータが特定の値である場合、格納されるデータを前記第1のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、前記第1の読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納される比較結果を前記第1のデータバスに出力し、前記論理和演算手段の出力により初期化される第3の保持手段と、前記第2の書込み信号線から入力される書込み信号に遅延をあたえる遅延バッファと、前記遅延バッファより入力される遅延を与えた書込み信号を前記第2のリセット端子のリセットの立ち上がりで保持する第4の保持手段とを備えたことを特徴とする。
また、本発明5のデータ処理方法は、本発明5のデータ処理装置におけるデータ処理方法であって、前記第4の保持手段に前記書込み保護手段から前記メモリへ書込みを行うかを判定するための値をセットするために、前記メモリ制御手段は、前記第2のアドレスバスにアドレスを出力し、前記第2の書込み信号線に書込み信号を出力し、前記第2のデータバスにデータを出力し、前記第2のリセット端子は、リセットを入力し、前記書込み保護手段は、前記メモリ制御手段が前記第2の書込み信号を入力し、前記第2のリセット端子がリセットを入力した場合、前記遅延バッファが出力する遅延を与えた書込み信号の値を、前記第2のリセット端子が入力するリセットの立ち上がりのタイミングで前記第4の保持手段に格納することを特徴とする。
また、本発明5のデータ処理方法は、本発明5のデータ処理装置におけるデータ処理方法であって、前記書込み保護手段から前記メモリへの書込みを行うかを判定するために、前記第2のリセット端子は、入力するリセットを解除し、前記CPUは、前記第1のアドレスバスに第4の保持手段を示す特定のアドレスと前記第1の読込み信号を出力し、前記第4の保持手段は、前記データバスに保持する値を出力し、前記CPUは、前記データバスを入力し、前記第4の保持手段から読出した値が書込みを行うことを示す値の場合、前記第1の保持手段に保持されるアドレスを読出すために、前記第1のアドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記第1の読出し信号線に読出し信号を出力し、前記第1の保持手段は、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値であるため、格納されるデータを前記第1のデータバスに出力し、前記CPUは、前記第1のデータバスを入力し、前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記第1の読出し信号線に読出し信号を出力し、前記メモリ制御手段は、前記CPUが第1のアドレスバスと前記第1の読出し信号を出力すると、前記第2のアドレスバスに前記第1のアドレスバスから入力したアドレスを出力し、前記第1の読出し信号線から入力した読出し信号を前記第2の読出し信号線に出力し、前記メモリは、前記第2のアドレスバス及び前記第2の読出し信号を入力すると、前記第2のデータバスへ前記第2のアドレスバスが示すアドレスの値を出力し、前記メモリ制御手段は、前記メモリが前記第2のデータバスを入力すると、前記第1のデータバスへ出力し、前記CPUは、前記第1のデータバスを入力し、前記比較手段は、前記第1のアドレスバスのアドレスと前記第1の書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記第1のデータバスのデータと前記第1の書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、前記第3の保持手段は、前記第1の読出し信号が出力され且つ前記比較結果有効信号が出力されたため、前記比較結果信号を入力し比較結果として保持し、前記CPUは、前記第3の保持手段に保持される比較結果を読出すために、前記第1のアドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記第1の書込み信号線に書込み信号を出力し、前記第3の保持手段は、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値であるため、格納される比較結果を前記データバスに出力し、前記CPUは、前記データバスを入力し、前記第3の保持手段より読出した比較結果が異なる結果と判断した場合、前記第2の保持手段に保持されるデータを読出すために、前記第1のデータバスに前記第2の保持手段を特定するアドレスを出力し、前記第1の読出し信号線に読出し信号を出力し、前記第2の保持手段は、前記第1の読出し信号が出力され且つ前記第1のデータバスのデータが特定の値であるため、格納されるデータを前記第1のデータバスに出力し、前記CPUは、前記第1のデータバスを入力し、前記メモリへ前記第2の保持手段に保持されるデータを書込むために、前記第1のアドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記第1の書込み信号線に書込み信号を出力し、前記第1のデータバスに前記第2の保持手段が格納するデータを出力し、前記メモリ制御手段は、前記CPUから前記第1のアドレスバス、前記第1のデータバス及び前記第1の書込み信号線の書込み信号が入力されると、前記第2のアドレスバスに前記第1のアドレスバスから入力されたアドレスを出力し、前記第2のデータバスに前記第1のデータバスから入力されたデータを出力し、前記第2の書込み信号線に前記第1の書込み信号線から入力される書込み信号を出力し、前記メモリは、前記メモリ制御手段から入力される前記第2のアドレスバスのアドレスに前記第2のデータバスのデータを格納することを特徴とする。
また、本発明6のデータ処理装置は、電源投入処理時にリセットを入力する第1のリセット入力端子と、前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、連続アクセス信号を出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、前記CPUから出力される連続アクセス信号を伝達する連続アクセス信号線と、前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力してメモリからのデータを前記第1のデータバスに出力し、前記連続アクセス信号線より連続アクセス信号が入力された場合、前記第1のアドレスバスより伝達されるアドレスを連続して変化させてメモリへ出力し、前記第1のデータバスより伝達されるデータを連続してメモリへ出力し、前記第2のデータバスより伝達されるデータを連続して前記第1のデータバスへ出力し、前記論理和演算手段の出力により初期化されるメモリ制御手段と、前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、前記第1のアドレスバス、前記第1の書込み信号線及び前記第1の読出し信号線からの各信号を入力し、前記第1のデータバスを入出力し、前記連続アクセス信号を入力し、保持するアドレス値とチェックサムの値を出力し、前記論理和演算手段からの出力により初期化される書込み保護手段とを備え、前記書込み保護手段は、前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第1のデータバスに出力する第1の保持手段と、前記連続アクセス信号と前記第1の書込み信号及び前記第1の読出し信号と前記第1のデータバスから連続してデータが入力されると、入力されるデータを加算してチェックサムを算出するチェックサム演算手段とを備え、前記チェックサム演算手段は、前記第1の書込み信号を入力し、前記チェックサム演算手段により算出されるチェックサムを入力すると、値を格納し前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力する第2の保持手段と、前記第1の読出し信号を入力し、前記チェックサム演算手段により算出されるチェックサムを入力すると値を格納し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力する第3の保持手段とを備えたことを特徴とする。
また、本発明6のデータ処理方法は、本発明6のデータ処理装置におけるデータ処理方法であって、前記CPUは、前記メモリへの書込みを行うために、前記連続アクセス信号線に連続アクセス信号を出力し、前記第1のアドレスバスにアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスに連続してデータを出力し、前記書込み保護手段は、前記連続アクセス信号を入力し、前記第1のアドレスバスよりアドレスを入力し、前記第1の書込み信号線より書込み信号を入力し、前記第1の読出し信号線より読出し信号を入力し、前記第1のデータバスよりデータを入力し、前記第1の保持手段は、前記第1の書込み信号と前記第1のアドレスバスのアドレスを入力されると、前記第1のアドレスバスの値を保持し、前記チェックサム演算手段は、前記第1の書込み信号線が書込み信号を入力し、前記データバスから連続してデータを入力すると、データの値を加算してチェックサムを算出し、第2の保持手段へ格納することを特徴とする。
また、本発明6のデータ処理方法は、本発明6のデータ処理装置におけるデータ処理方法であって、前記CPUは、前記メモリから読出しを行うために、前記連続アクセス信号線に連続アクセス信号を出力し、前記第1のアドレスバスにアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記メモリ制御手段は、前記CPUから連続アクセス信号を入力し、前記第1のアドレスバスにアドレスを入力し、前記第1の読出し信号を入力すると、前記第1のアドレスバスの値を前記第2のアドレスバスに連続して変化させて出力し、第2の読出し信号を出力し、前記メモリは、第2の読出し信号を入力し、前記第2のアドレスバスに連続してアドレスを入力すると、前記第2のアドレスバスの入力するアドレスの値を前記第2のデータバスに連続して出力し、前記メモリ制御手段は、前記メモリが前記第2のデータバスに連続してデータを出力すると、前記第1のデータバスに連続してデータを出力し、前記チェックサム演算手段は、前記第1の読出し信号線が読出し信号を入力し、前記第1のデータバスからデータを連続で入力すると、データの値を加算してチェックサムを算出し第3の保持手段へ格納することを特徴とする。
また、本発明6のデータ処理方法は、本発明6のデータ処理装置におけるデータ処理方法であって、前記第2の保持手段と前記第3の保持手段のデータを比較するために、前記CPUは、前記第1のアドレスバスに前記第2の保持手段を示すアドレスを出力し、前記第1の読出し信号を出力し、前記書込み保護手段は、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、第2の保持手段に格納されるチェックサムを前記第1のデータバスに出力し、前記CPUは、前記第1のデータバスからデータを入力し、前記第1のアドレスバスに前記第3の保持手段を示すアドレスを出力し、前記第1の読出し信号を出力し、前記書込み保護手段は、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、第3の保持手段に格納されるチェックサムを前記第1のデータバスに出力し、前記CPUは、前記第1のデータバスからデータを入力し、前記第2の保持手段から読出したデータバスの値と前記第3の保持手段から読出したデータバスの値との比較をソフトウェアで行うことを特徴とする。
また、本発明7のデータ処理装置は、電源投入処理時および任意時にリセットを入力するリセット入力端子と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、入力された2つのデータの比較を行い、前記リセット入力端子のリセットにより初期化されるCPUと、前記CPUから出力されるアドレスを伝達するアドレスバスと、前記CPUから出力される読出し信号を伝達する読出し信号線と、前記CPUから出力される書込み信号を伝達する書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、電源投入後にLowを保持し、前記CPUより前記書込み信号を入力し、前記データバスにHighを入力し、前記アドレスバスのアドレスが特定の値を入力すると、前記データバスにHighを保持し、前記読出し信号を入力し、前記アドレスバスのアドレスが特定の値を入力すると、前記データバスに保持する値を出力する第1の保持手段と、前記アドレスバス、前記書込み信号線、及び前記読出し信号線を入力し、前記データバスを入出力し、保持するアドレス値とデータ値を出力し、前記リセット入力端子より入力されるリセットにより初期化される書込み保護手段とを備え、前記書込み保護手段は、前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し、前記アドレス値として前記比較手段に出力し、前記リセット入力端子より入力されるリセットにより初期化される第2の保持手段と、前記書込み信号が出力された場合、前記データバスのデータを入力して保持し、前記読出し信号が出力され且つ前記データバスのデータが特定の値である場合、格納されるデータを前記データバスに出力し、前記データ値として前記比較手段に出力し、前記リセット入力端子より入力されるリセットにより初期化される第3の保持手段とを備えたことを特徴とする。
また、本発明7のデータ処理方法は、本発明7のデータ処理装置におけるデータ処理方法であって、前記第1の保持手段は、電源投入時にLowを保持し、前記リセットが入力されて解除された後に、前記CPUは、前記リセットが電源投入時のリセットかどうかを判別するために、前記アドレスバスに前記第1の保持手段を示す特定のアドレスを出力し、前記読出し信号を出力し、前記第1の保持手段は、前記CPUが前記アドレスバスに特定のアドレスを出力し前記読出し信号を出力すると、格納する値を前記データバスに出力し、前記CPUは、前記データバスより前記第1の保持手段のデータを入力し、前記第1の保持手段より読込んだ値が電源投入時を示すLowの場合のみ前記第1の保持手段に値を設定するために、前記アドレスバスに第1の保持手段を示す特定の値を出力し、前記書込み信号を出力し、前記データバスに電源投入時ではないことを示すHighを出力し、前記第1の保持手段は、前記書込み信号が出力され前記アドレスバスが出力されると、前記データバスの値を格納し、前記CPUは、前記第2の保持手段に保持されるアドレスを読出すために、前記アドレスバスに前記第2の保持手段を特定するアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記第2の保持手段は、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、格納されるデータを前記データバスに出力し、前記CPUは、前記データバスを入力し、前記メモリより前記第2の保持手段が保持するアドレスに格納するデータを読出すために、前記第2のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記メモリは、前記第2の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、前記CPUは、前記データバスを入力し、前記第3の保持手段に保持されるアドレスを読出すために、前記アドレスバスに前記第3の保持手段を特定するアドレスを出力し、前記読出し信号線に読出し信号を出力し、前記第3の保持手段は、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、格納されるデータを前記データバスに出力し、前記CPUは、前記データバスを入力し、前記メモリから読出したデータバスの値と前記第3の保持手段から読出したデータバスの値との比較をソフトウェアで行い、比較した結果が異なる結果と判断した場合、前記CPUは前記メモリへ前記第3の保持手段に保持されるデータを書込むために、前記アドレスバスに前記第2の保持手段から読出したアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスに前記第3の保持手段が格納するデータを出力し、前記メモリは、前記第2の保持手段が保持するアドレスに前記第3の保持手段が格納するデータを格納することを特徴とする。
また、本発明8のデータ処理装置は、電源投入処理時および任意時にリセットを入力するリセット入力端子と、前記リセット端子からのリセットを入力し、リセットの立ち上がりのタイミングで出力し、リセットの立ち下がりのタイミングから一定時間後まで伸張して出力するリセット信号伸張手段と、前記リセット信号伸張手段から入力する伸張したリセット信号に対して遅延を与える遅延手段と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記遅延手段により入力される伸張したリセット信号に遅延を与えたリセットにより初期化されるCPUと、前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、前記遅延手段により入力される伸張したリセット信号に遅延を与えたリセットにより初期化されるメモリ制御手段と、前記CPUから、前記メモリ制御手段より入力される書込み信号を保持し、メモリへ書込み信号を出力する第1の保持手段と、前記CPUから、前記メモリ制御手段より出力されるアドレスを伝達する第2のアドレスバスと、前記CPUから、前記メモリ制御手段より出力される書込み信号を伝達する第2の書込み信号線と、前記CPUから、前記メモリ制御手段より出力されるデータを伝達する第2のデータバスと、前記CPUから、前記第1の保持手段より出力される書込み信号を伝達する第3の書込み信号線と、前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第1の保持手段から、前記第3の書込み信号線より伝達される書込み信号を入力した場合、前記メモリ制御手段から、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、電源投入後にLowを保持し、前記CPUより前記書込み信号を入力し、前記データバスにHighを入力し、前記アドレスバスのアドレスが特定の値を入力すると、前記データバスにHighを保持し、前記読出し信号を入力し前記アドレスバスのアドレスが特定の値を入力すると、前記データバスに保持する値を出力する第2の保持手段とを備え、前記書込み制御手段は、前記第1の書込み信号が出力された場合前記第1のアドレスバスのアドレスを入力して保持する第3の保持手段と、前記第1の書込み信号が出力された場合前記第1のデータバスのデータを入力して保持する第4の保持手段とを備えたことを特徴とする。
また、本発明8のデータ処理方法は、本発明8のデータ処理装置におけるデータ処理方法であって、前記第3の書込み信号は、前記メモリへの書込み完了後に、前記第2のアドレスバスおよび前記第2のデータバスの値が変化するよりも先に立ち下がる必要があるため、前記CPUは、前記第1のアドレスバスにアドレスを出力し、前記第1のデータバスにデータを出力し、前記第1の書込み信号線に書込み信号を出力し、前記メモリ制御手段は、前記CPUから前記第1のアドレスバスが入力されると、前記第3の保持手段へアドレスを格納し、前記第2のアドレスバスへ出力し、前記第1のデータバスが入力されると、前記第4の保持手段へデータを格納し、前記第2のデータバスへ出力し、前記第1の書込み信号が入力されると、前記第2の書込み信号線に出力し、前記第1の保護手段は、前記メモリ制御手段が前記第2の書込み信号を入力すると、前記リセット信号伸張手段からはリセットが入力されていないため、前記第3の書込み信号線に出力し、前記リセット入力端子は、リセットを入力し、前記リセット信号伸張手段は、リセット入力端子よりリセットを入力すると、リセットの立ち上がりのタイミングで出力し、リセットの立ち下がりのタイミングから一定時間後まで伸張して前記第1の保持手段と前記遅延手段へ出力し、前記第1の保持手段は、ゲート端子に前記リセット信号伸張手段より立ち下がりタイミングを伸張したリセットが入力されると、前記メモリ制御手段から入力される前記第2の書込み信号を保持し、前記第3の書込み信号線に出力し、前記遅延手段は、前記リセット信号伸張手段から入力されるリセットに遅延を与え前記メモリ制御手段へ出力し、前記メモリ制御手段は、前記遅延手段がリセットを伸張して遅延を与えたリセットが入力されると、前記第3の保持手段と前記第4の保持手段を除いて初期化され、前記第2の書込み信号は立ち下がり、前記リセット入力端子は、一定時間後にリセットの入力を解除し、前記リセット信号伸張手段は、前記リセット入力端子から入力されるリセットの立ち下がりタイミングを一定時間遅延させてから立ち下がり、前記第1保持手段は、前記リセット信号伸張手段からのリセットが解除されると、前記メモリ制御手段から前記第2の書込み手段へ書込み信号が出力されていないため、前記第3の書込み信号線に出力していた書込み信号を立ち下げることを特徴とする。
また、本発明9のデータ処理装置は、電源投入処理時および任意時にリセットを入力するリセット入力端子と、メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、割り込み処理発生時に割り込み処理信号と書込みキャンセル信号を出力し、入力された2つのデータの比較を行い、前記リセット入力端子のリセットにより初期化されるCPUと、前記CPUから出力される割り込み処理信号を伝達する割り込み処理信号線と、前記CPUから出力される書込みキャンセル信号を伝達する書込みキャンセル信号線と、前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、前記書込みキャンセル信号線より伝達される書込みキャンセル信号を入力して、メモリへ出力する書込み信号の出力を中止し、前記リセット入力端子のリセットにより初期化されるメモリ制御手段と、前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、前記第1のアドレスバス、前記第1の書込み信号線及び前記第1の読出し信号線を入力し、前記第1のデータバスを入出力し、前記第2の書込み信号を入力し、保持するアドレス値とデータ値を出力し、前記リセットの入力により初期化される書込み保護手段と、電源投入後にLowを保持し、前記CPUより前記第1の書込み信号を入力し、前記第1データバスにHighを入力し、前記第1のアドレスバスのアドレスが特定の値を入力すると、前記第1のデータバスにHighを保持し、前記第1の読出し信号を入力し、前記第1のアドレスバスのアドレスが特定の値を入力すると、前記第1のデータバスに保持する値を出力する第1の保持手段とを備え、前記書込み保護手段は、前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第1のデータバスに出力する第2の保持手段と、前記第1の書込み信号が出力され且つ前記割り込み処理信号が入力された場合、前記第1のデータバスのデータを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のデータバスのデータが特定の値である場合、格納されるデータを前記第1のデータバスに出力する第3の保持手段と、前記第2の書込み信号が出力され、且つ前記割り込み処理信号が立ち上がった場合、再書込みを行うことを示す特定の値を保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、保持される値を前記第1のデータバスに出力する第4の保持手段とを備えたことを特徴とする。
また、本発明9のデータ処理方法は、本発明9のデータ処理装置におけるデータ処理方法であって、前記第2の保持手段、及び前記第3の保持手段は割り込み処理中に値が変化しないようにする必要があるため、前記CPUは、割り込み処理発生時に、前記割り込み処理信号を前記書込み保護手段へ出力し、前記書込み保護手段は、前記第1の書込み信号が出力され且つ前記割り込み処理信号が入力された場合、前記第1のアドレスバスのデータを前記第2の保持手段へ格納し、前記第1のデータバスのデータを前記第3の保持手段へ格納することを特徴とする。
また、本発明9のデータ処理方法は、本発明9のデータ処理装置におけるデータ処理方法であって、前記メモリへの書込み中に割り込み処理が発生したことを判定するため、前記メモリ制御手段は、割り込み処理発生時に前記CPUが入力する前記割り込み処理発生信号の立ち上がりのタイミングで前記第2の書込み信号を第4の保持手段へ格納することを特徴とする。
以上のように本発明によれば、メモリへのライトアクセスが終了するまでリセットの入力タイミングを遅延させる機能を、そのための回路構成として従来は必要であったリセットの遅延手段およびリセットの調停手段を不要として、実現することができる。
そのため、リセットに対して、マスク処理や遅延処理を行うための専用の回路構成を設けることなく、簡単な回路構成で、リセットの入力によるメモリへのデータの誤書込みを確実に回避することができる。
以下、本発明の実施の形態を示すデータ処理装置およびデータ処理方法について、図面を参照しながら具体的に説明する。
(実施の形態1)
図1は本実施の形態1のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI9及びメモリ3とから構成される。
システムLSI9は、CPU1、メモリインタフェース2、書込み保護回路4、比較器8、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、マニュアルリセット端子18、パワーオンリセット端子19、および論理和回路20とから構成される。書込み保護回路4は、アドレス保護バッファ5、データ保護バッファ6、および比較結果格納レジスタ7から構成される。
CPU1は、内部アドレスバス10、内部ライトイネーブル信号線12、内部リードイネーブル信号線13へ各信号の出力を行い、内部データバス11との間で入出力を行い、マニュアルリセット端子18からマニュアルリセット信号を入力し、パワーオンリセット端子19からパワーオンリセット信号を入力する。
メモリインタフェース2は、内部アドレスバス10、内部ライトイネーブル信号線12、内部リードイネーブル信号線13の入力値を保持し、内部データバス11の入出力値を保持し、それらの信号を、外部アドレスバス14、外部ライトイネーブル信号線16、外部リードイネーブル信号線17に出力し、内部データバス11から外部データバス15への入出力値を保持し、ライト時には保持値を外部データバス15に出力し、リード時は保持値を内部データバス11に出力し、論理和回路20から内部リセット信号を入力する。
メモリ3は、メモリインタフェース2から外部アドレスバス14、外部データバス15、および外部ライトイネーブル信号線16を入力すると、外部データバス15の値を保持し、メモリインタフェース2から外部アドレスバス14、外部リードイネーブル信号線17を入力すると、外部アドレスバス14のアドレスに保持するデータを、外部データバス15に出力する。
書込み保護回路4は、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力した場合、内部アドレスバス10の値をアドレス保護バッファ5へ格納すると共に、内部データバス11の値をデータ保護バッファ6へ格納し、アドレス保護バッファ5、データ保護バッファ6に格納した値を比較器8へ出力し、比較器8がデータ比較結果と比較結果有効信号を出力し、比較器8が出力する比較結果有効信号とCPU1が内部リードイネーブル信号線13に出力する信号とが共にHigh(以下Hと称す)の場合に、比較器8の出力するデータ比較結果を比較結果格納レジスタ7へ格納し、CPU1が、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、アドレス保護バッファ5を示すアドレスを内部アドレスバス10へ出力した場合、アドレス保護バッファ5の値を内部データバス11へ出力し、CPU1が、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、データ保護バッファ6を示すアドレスを内部アドレスバス10へ出力した場合、データ保護バッファ6の値を内部データバス11へ出力し、CPU1が、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、比較結果格納レジスタ7を示すアドレスを内部アドレスバス10へ出力した場合、比較結果格納レジスタ7の値を内部データバス11へ出力し、論理和回路20から内部リセット信号を入力する。
アドレス保護バッファ5は、書込み保護回路4に接続される内部アドレスバス10からの入力信号を保持し、パワーオンリセット端子19からパワーオンリセット信号を入力する。データ保護バッファ6は、書込み保護回路4に接続される内部データバス11からの入力信号を保持し、パワーオンリセット端子19からパワーオンリセット信号を入力する。比較結果格納レジスタ7は、書込み保護回路4が入力するデータ比較結果を保持し、論理和回路20からの内部リセット信号を入力する。
比較器8は、内部アドレスバス10、内部データバス11からの信号を入力し、書込み保護回路4からアドレス保護バッファ5、データ保護バッファ6の値を入力し、アドレス保護バッファ5が保持する値と内部アドレスバス10の値とを比較し、データ保護バッファ6が保持する値と内部データバス11の値とを比較し、アドレス保護バッファ5が保持する値と内部アドレスバス10の値との比較結果が一致する場合にはHigh(以下、Hと称す)を、一致しない場合にはLow(以下、Lと称す)を、比較結果有効信号として書込み保護回路4へ出力し、データ保護バッファ6の保持する値と内部データバス11の値との比較結果が一致する場合にはLを、一致しない場合にはHを、データ比較結果として書込み保護回路4へ出力する。
内部アドレスバス10は、CPU1が出力するアドレスをメモリインタフェース2、書込み保護回路4、および比較器8に出力する。内部データバス11は、CPU1、メモリインタフェース2、および書込み保護回路4が出力するデータを、CPU1、メモリインタフェース2、書込み保護回路4、および比較器8に出力する。内部ライトイネーブル信号線12は、CPU1が出力するライトイネーブル信号線をメモリインタフェース2、および書込み保護回路4に出力する。内部リードイネーブル信号線13は、CPU1が出力するリードイネーブル信号をメモリインタフェース2、および書込み保護回路4に出力する。
外部アドレスバス14は、メモリインタフェース2が出力するアドレスをメモリ3へ出力する。外部データバス15は、メモリインタフェース2、およびメモリ3が出力するデータを、メモリインタフェース2およびメモリ3へ出力する。外部ライトイネーブル信号線16は、メモリインタフェース2が出力するライトイネーブル信号をメモリ3へ出力する。外部リードイネーブル信号線17は、メモリインタフェース2が出力するリードイネーブル信号をメモリ3へ出力する。
マニュアルリセット端子18は、マニュアルリセット入力時に外部からHを入力し、マニュアルリセット信号としてHをCPU1および論理和回路20に出力する。パワーオンリセット端子19は、パワーオンリセット入力時に外部からHを入力し、パワーオンリセット信号としてCPU1、アドレス保護バッファ5、データ保護バッファ6、および論理和回路20に出力する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19からの各リセットを入力し、論理和演算を実施し、内部リセット信号としてメモリインタフェース2、書込み保護回路4および比較結果格納レジスタ7に出力する。
以上のように構成されたデータ処理装置について、図1乃至図6を参照して以下の動作を説明する。
(1)パワーオンリセット入力時の動作
(2)メモリへの書込み動作
(3)メモリへの書込み中にマニュアルリセットを入力する場合の動作
(4)マニュアルリセット入力後に解除した際の動作
(5)(4)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
(6)(4)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
(1)パワーオンリセット入力時の動作
以下では、パワーオンリセット端子19へのH入力時の動作について、図2を用いて説明する。
LSI9およびメモリ3は時刻1に電源を供給する。アドレス保護バッファ5、データ保護バッファ6、およびメモリ3は、時刻1において不定となる。パワーオンリセット端子19は、時刻2にパワーオンリセット信号としてHを入力する。
CPU1、アドレス保護バッファ5、およびデータ保護バッファ6は、時刻2にパワーオンリセット端子19がパワーオンリセット信号として、Hを入力して初期化する。論理和回路20は、時刻2にパワーオンリセット端子19よりパワーオンリセット信号としてHを入力するので、マニュアルリセット端子18とパワーオンリセット端子19からの入力を論理和演算し、内部リセット信号としてHを出力する。メモリインタフェース2、書込み保護回路4、および比較結果格納レジスタ7は時刻2に論理和回路20より内部リセット信号にHを入力して初期化する。
パワーオンリセット端子19は、パワーオンリセット入力時に最初にHを入力し、一定期間後にLを入力する。パワーオンリセット端子19は、時刻3にパワーオンリセット信号としてLを入力する。CPU1、アドレス保護バッファ5、およびデータ保護バッファ6は、時刻3にパワーオンリセット端子19よりLを入力して動作を開始する。
論理和回路20は、時刻3にパワーオンリセット端子19よりLを入力するので、マニュアルリセット端子18とパワーオンリセット端子19からの入力を論理和演算し、内部リセット信号Lを出力する。メモリインタフェース2、書込み保護回路4、および比較結果格納レジスタ7は、時刻3に論理和回路20より内部リセット信号にLを入力して動作を開始する。CPU1は時刻4から通常の処理を開始する。
(2)メモリへの書込み時の動作
CPU1からメモリ3への書込みを行う際の動作タイミングを、図3を参照して説明する。
CPU1は、時刻1に、内部アドレスバス10、内部データバス11、および内部ライトイネーブル信号線12に各信号を出力する。メモリインタフェース2は、時刻1でCPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、CPU1が出力する内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12の各信号を保持する。書込み保護回路4は、CPU1が時刻1で内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、アドレス保護バッファ5に内部アドレスバス10の値を保持し、データ保護バッファ6に内部データバス11の値を保持する。メモリインタフェース2は、時刻2で保持した内部アドレスバス10の値を時刻3で外部アドレスバス14へ出力し、時刻2で保持した内部データバス11の値を時刻3で外部データバス15へ出力し、時刻2で保持した内部ライトイネーブル信号線12の値を時刻3で外部ライトイネーブル信号線16へと出力する。メモリ3は、時刻3でメモリインタフェース2が外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16に各値を出力すると、時刻4で、外部アドレスバス14の示すアドレスに外部データバス15の値を保持する。
(3)メモリへの書込み中にマニュアルリセットを入力した場合の動作
CPU1からメモリ3への書込み中にマニュアルリセットを入力した場合の動作タイミングを、図4を参照して説明する。時刻3までの動作は(2)と同じである。
マニュアルリセット端子18は、時刻4に、マニュアルリセット信号としてHをCPU1および論理和回路20へ出力する。CPU1は、時刻4に、マニュアルリセット端子18からH信号を入力すると、初期化する。論理和回路20は、時刻4に、マニュアルリセット端子18とパワーオンリセット端子19の入力を論理和演算し、マニュアルリセット端子18からHを入力すると、内部リセット信号としてHを出力する。メモリインタフェース2、書込み保護回路4、および比較結果格納レジスタ7は、論理和回路20より内部リセット信号としてHを入力すると初期化する。
メモリインタフェース2は、時刻3に、メモリ3へ外部アドレスバス14、外部データバス15、および外部ライトイネーブル信号線16から各信号を出力する。メモリ3は、時刻3にメモリインタフェース2が外部アドレスバス14、外部データバス15、および外部ライトイネーブル信号線16に各信号を入力すると、時刻4に外部アドレスバス14の示すアドレスに外部データバス15の値を保持するが、時刻4でマニュアルリセット端子18にH信号を入力する場合、メモリインタフェース2とメモリ3が保持しようとしている外部アドレスバス14、外部データバス15、および外部ライトイネーブル信号線16の各信号を初期化するため、メモリ3は誤ったデータを書込む可能性がある。
(4)マニュアルリセット入力後にマニュアルリセットを解除した場合の動作
マニュアルリセット入力解除後の動作タイミングを、図5を参照して説明する。
アドレス保護バッファ5およびデータ保護バッファ6は、時刻1以前より保持している値を比較器8へ出力する。
メモリ3は、時刻1以前よりデータを保持する。比較器8は、アドレス保護バッファ5と内部アドレスバス10の値を比較し、データ保護バッファ6の値と内部データバス11の値を比較し、比較結果有効信号として、アドレス保護バッファ5の値と内部アドレスバス10の値の比較結果が一致する場合にはHを、一致しない場合にはLを、書込み保護回路4へ出力し、データ比較結果として、データ保護バッファ6の値と内部データバス11の値の比較結果が一致する場合にはLを、一致しない場合にはHを、書込み保護回路4へ出力する。
マニュアルリセット端子18は、時刻1に、マニュアルリセット信号としてLを入力すると、CPU1および論理和回路20へL信号を出力する。CPU1は、時刻1に、マニュアルリセット端子18からマニュアルリセット信号としてLを入力すると、動作を開始する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の入力を論理和演算し、マニュアルリセット端子18が時刻1にLを入力すると、内部リセット信号としてLを出力する。メモリインタフェース2、書込み保護回路4、および比較結果格納レジスタ7は、論理和回路20より内部リセット信号のLを入力して動作を開始する。
CPU1は、時刻2に、アドレス保護バッファ5を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号線13に内部リードイネーブル信号を出力する。書込み保護回路4は、時刻2に、CPU1が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻3に、アドレス保護バッファ5の保持する値を内部データバス11へ出力する。CPU1は、時刻4に、内部データバス11からアドレス保護バッファ5の値を読出す。
CPU1は、時刻5に、アドレス保護バッファ5から読出したアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号線13に内部リードイネーブル信号を出力する。メモリインタフェース2は、CPU1が時刻5に内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力すると、時刻6に、CPU1が出力する内部アドレスバス10と内部リードイネーブル信号線13の各値を保持し、それらの値を、時刻7に、外部アドレスバス14と外部リードイネーブル信号線17を通じてメモリ3へ出力する。メモリ3は、時刻7にメモリインタフェース2から外部アドレスバス14と外部リードイネーブル信号線17を通じて各信号を入力すると、時刻8に、外部アドレスバス14の示すアドレスのデータを外部データバス15に出力する。
メモリインタフェース2は、時刻9に、メモリ3が外部データバス15へ出力した値を保持し、時刻10に内部データバス11に出力する。CPU1は、時刻11に内部データバス11の信号を入力する。書込み保護回路4は、時刻11に比較器8から比較結果有効信号と内部リードイネーブル信号線13に信号が出力されているので、比較器8のデータ比較結果を比較結果格納レジスタ7へ格納する。
CPU1は、時刻12に、内部リードイネーブル信号線13に内部リードイネーブル信号と、内部アドレスバス10に比較結果格納レジスタ7を示すアドレスを出力する。書込み保護回路4は、時刻12にCPU1が比較結果格納レジスタ7を示すアドレスを内部アドレスバス10に出力し、内部リードイネーブル信号線13に内部リードイネーブル信号を出力すると、時刻13に、比較結果格納レジスタ7が保持する値を内部データバス11へ出力する。CPU1は、時刻14に、内部データバス11の値を入力する。
(5)(4)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
ここでも、図5を用いて、(4)の動作の結果、データ保護バッファ6とメモリ3のデータが同じ場合の動作を説明する。
比較結果格納レジスタ7は、時刻11に、比較器8よりデータ比較結果のLを入力して保持する。CPU1は、時刻14に、比較結果格納レジスタ7の値を読出して、Lであるのでソフトウェアの条件処理で書込みは正常に行われたと判定し、メモリ3へのデータの再書込みは行わない。
(6)(4)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
ここでは、図5に加え図6を用いて、(4)の動作での比較の結果、データ保護バッファ6とメモリ3のデータが異なる場合の動作を説明する。
比較結果格納レジスタ7は、時刻11に、比較器8よりデータ比較結果のHを入力して保持する。CPU1は、時刻14に、比較結果格納レジスタ7の値を読出して、Hであるのでソフトウェアの条件処理で書込みに異常が生じたと判断し、メモリ3へデータの再書込みを行う。CPU1は、時刻15に、データ保護バッファ6を示すアドレスと内部リードイネーブル信号線13に内部リードイネーブル信号を出力する。書込み保護回路4は、CPU1が時刻15にデータ保護バッファ6を示すアドレスと、内部リードイネーブル信号線13に内部リードイネーブル信号を出力すると、時刻16に、データ保護バッファ6の保持する値を内部データバス11に出力する。CPU1は、時刻17に内部データバス11の値を入力する。
CPU1は、時刻18にメモリ3から読込みを行った際のアドレスを内部アドレスバス10に出力し、データ保護バッファ6から読込んだ値を内部データバス11へ出力し、内部ライトイネーブル信号を出力する。メモリインタフェース2は、時刻19に、CPU1が出力する内部アドレスバス10、内部データバス11、内部ライトアクセス信号線12の各信号を保持し、それらの信号を、時刻20に、メモリ3へ外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16へ出力する。メモリ3は、時刻20に、メモリインタフェース2が外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16へ各信号を出力すると、時刻21に、外部アドレスバス14の示すアドレスへ外部データバス15の値を保持する。メモリ3への書込み終了後、通常の処理へ戻る。
メモリ3への書込み中にマニュアルリセット信号線18にHが入力された場合、メモリ3に誤ったデータを書込む可能性がある。そこで本実施の形態では、メモリ3への書込みアドレスおよびデータを予めマニュアルリセットにより初期化されないアドレス保護バッファ5およびデータ保護バッファ6に保持しておき、マニュアルリセット解除後にデータ保護バッファ6に保持した値と、メモリ3が保持するデータの値とを比較し、一致しない場合に再書込みを行うことにより、メモリ3への書込みが失敗した場合でも正しいデータに戻すことができる。
(実施の形態2)
実施の形態1において、メモリ3への書込み中にマニュアルリセットを入力すると、誤ったデータを複数のアドレスに対して誤った書込みを行う可能性があるが、この問題を解消するのが本発明の実施の形態2である。
図7は本実施の形態2のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI22及びメモリ3とから構成される。システムLSI22は、CPU1、メモリインタフェース2、書込み保護回路21、比較器8、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、マニュアルリセット端子18、パワーオンリセット端子19、および論理和回路20とから構成される。さらに、書込み保護回路21は、アドレス保護バッファ5、データ保護バッファ6、および比較結果格納レジスタ7から構成される。
書込み保護回路21は、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力した場合、内部アドレスバス10の値をアドレス保護バッファ5へ格納すると共に、内部データバス11の値をデータ保護バッファ6へ格納し、アドレス保護バッファ5、データ保護バッファ6に格納した値を比較器8へ出力し、その比較器8でのデータ比較結果と比較結果有効信号を入力し、この比較結果有効信号とCPU1が内部リードイネーブル信号線13に出力する信号とが共にHの場合に、比較器8の出力するデータ比較結果を比較結果格納レジスタ7へ格納し、CPU1が内部リードイネーブル信号線13に内部リードイネーブル信号を出力しアドレス保護バッファ5を示すアドレスを内部アドレスバス10に出力した場合、アドレス保護バッファ5の値を内部データバス11へ出力し、CPU1が内部リードイネーブル信号線13に内部リードイネーブル信号を出力し比較結果格納レジスタ7を示すアドレスを内部アドレスバス10に出力した場合、比較結果格納レジスタ7の値を内部データバス11へ出力し、論理和回路20から内部リセット信号を入力する。
以上のように構成されたデータ処理装置について、図5を参照して以下の動作を説明する。
実施の形態1で説明した(1)パワーオンリセット入力時の動作、(2)メモリへの書込み動作、(3)メモリへの書込み中にマニュアルリセットを入力する場合の動作、(4)マニュアルリセット入力後に解除した際の動作、(5)(4)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作までは同じである。
(6)マニュアルリセット入力後に解除した際の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
ここでは、図5および図6を用いて、マニュアルリセット入力後に解除した際の動作での比較の結果、データ保護バッファ6とメモリ3のデータが異なる場合の動作を説明する。
比較結果格納レジスタ7は、時刻11に、比較器8よりデータ比較結果のHを入力して保持する。CPU1は、時刻14に、比較結果格納レジスタ7の値を読出して、Hであるのでソフトウェアの条件処理で書込みに異常が生じたと判断する。CPU1は、時刻15に、メモリ3のデータが保証できないため、パワーオンリセットの入力解除後と同じ動作を開始する。
メモリ3への書込み中にマニュアルリセットを入力すると、複数のアドレスに正しくないデータを書込む可能性がある。
これに対し、本実施の形態では、データ保護バッファ6に保持した値とメモリ3が保持しているデータの値とを比較し、一致しない場合にはメモリ3のデータが正しくないものとして、CPU1はパワーオンリセット入力解除後と同じ動作を行う。
(実施の形態3)
実施の形態1において、CPU1がメモリ3にデータを書込む際にメモリ3に正しくないデータが保持された場合には再書込みを行うが、このときには、CPU1を介してメモリ3へアクセスするためメモリアクセスのオーバーヘッドが大きくなるという問題がある。この問題を解消するのが本発明の実施の形態3である。
図8は本実施の形態3のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI27及びメモリ3とから構成される。システムLSI27は、CPU1、メモリインタフェース23、書込み保護回路24、比較器25、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、マニュアルリセット端子18、パワーオンリセット端子19、論理和回路20、および外部バス要求信号線26とから構成される。また、書込み保護回路24は、アドレス保護バッファ5、データ保護バッファ6、および比較結果格納レジスタ7とから構成される。
メモリインタフェース23は、内部アドレスバス10、内部ライトイネーブル信号線12および内部リードイネーブル信号線13からの入力値を保持し、内部データバス11の入出力値を保持し、外部バス要求信号線26の外部バス要求信号を入力し、外部アドレスバス14、外部ライトイネーブル信号線16、外部リードイネーブル信号線17へ各信号を出力し、外部データバス15の入出力値を保持し、ライト時にはその保持値を外部データバス15に出力し、リード時はその保持値を内部データバス11に出力し、論理和回路20から内部リセット信号を入力し、書込み保護回路24が外部バス要求信号線26にHを入力すると、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16および外部リードイネーブル信号線17をCPU1より解放し、外部バス要求信号線26にLを入力すると、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16および外部リードイネーブル信号線17をCPU1に接続する。
書込み保護回路24は、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12へ各信号を出力した場合、内部アドレスバス10の値をアドレス保護バッファ5へ格納すると共に、内部データバス11の値をデータ保護バッファ6へ格納し、アドレス保護バッファ5、データ保護バッファ6に格納した値を比較器25へ出力し、比較器25からのデータ比較結果と比較結果有効信号を入力し、比較器25が入力する比較結果有効信号と書込み保護回路24が出力する外部リードイネーブル信号線17の信号とが共にHの場合に、比較器25の出力するデータ比較結果を比較結果格納レジスタ7へ格納し、外部バス要求信号線26の信号をメモリインタフェース23に出力し、アドレス保護バッファ5に格納した値を外部アドレスバス14へ出力し、データ保護バッファ6に格納した値を外部データバス15へ出力し、外部ライトイネーブル信号線16の信号を入力し、論理和回路20から内部リセット信号を入力する。
比較器25は、外部アドレスバス14、外部データバス15の各信号を入力し、書込み保護回路24からアドレス保護バッファ5、データ保護バッファ6の値を入力し、アドレス保護バッファ5が保持する値と外部アドレスバス14の値とを比較し、データ保護バッファ6が保持する値と外部データバス15の値とを比較し、アドレス保護バッファ5が保持する値と外部アドレスバス14の値との比較結果が一致する場合にはHを、一致しない場合にはLを、比較結果有効信号として書込み保護回路24へ出力し、データ保護バッファ6の保持する値と外部データバス15の値との比較結果が一致する場合にはLを、一致しない場合にはHを、データ比較結果として書込み保護回路24へ出力する。
内部アドレスバス10は、CPU1が出力するアドレスをメモリインタフェース23および書込み保護回路24に伝達する。内部データバス11は、CPU1、メモリインタフェース23および書込み保護回路24が出力するデータを、CPU1、メモリインタフェース23および書込み保護回路24に伝達する。内部ライトイネーブル信号線12は、CPU1が出力する内部ライトイネーブル信号をメモリインタフェース23、および書込み保護回路24に伝達する。内部リードイネーブル信号線13は、CPU1が出力する内部リードイネーブル信号をメモリインタフェース23に伝達する。
外部アドレスバス14は、メモリインタフェース23および書込み保護回路24が出力するアドレスをメモリ3および比較器25へ伝達する。外部データバス15は、メモリインタフェース23、メモリ3および書込み保護回路24が出力するデータを、メモリインタフェース23、メモリ3、書込み保護回路24および比較器25へ伝達する。外部ライトイネーブル信号線16は、メモリインタフェース23および書込み保護回路24が出力する外部ライトイネーブル信号をメモリ3へ伝達する。外部リードイネーブル信号線17は、メモリインタフェース23および書込み保護回路24が出力する外部リードイネーブル信号をメモリ3へ伝達する。
外部バス要求信号線26は、書込み保護回路24が出力した外部バス要求信号をメモリインタフェース23へ伝達する。
以上のように構成されたデータ処理装置について、図8乃至図10を参照して以下の動作を説明する。
実施の形態1で説明した(1)パワーオンリセット入力時の動作、(2)パワーオンリセット入力解除後の動作、(3)メモリへの書込み動作、および(4)メモリへの書込み中にマニュアルリセットを入力する場合の動作までは同じである。
(5)マニュアルリセット入力後に解除した際の動作
(6)(5)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
(7)(5)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
(5)マニュアルリセット入力後に解除した場合の動作
マニュアルリセット入力解除後の動作タイミングを、図9を参照して説明する。
アドレス保護バッファ5およびデータ保護バッファ6は、時刻1以前より保持する値を比較器25へ出力する。メモリ3は、時刻1以前よりデータを保持する。比較器25は、アドレス保護バッファ5の値と外部アドレスバス14の値を比較し、データ保護バッファ6の値と外部データバス15の値を比較し、アドレス保護バッファ5の値と外部アドレスバス14の値の比較結果が一致する場合にはHを、一致しない場合にはLを、比較結果有効信号として書込み保護回路24へ出力し、データ保護バッファ6の値と外部データバス15の値の比較結果が一致する場合にはLを、一致しない場合にはHを、データ比較結果として書込み保護回路24へ出力する。
マニュアルリセット端子18は、時刻1に、マニュアルリセット信号としてLを入力すると、論理和回路20へLを出力する。論理和回路20は、マニュアルリセット端子18の信号とパワーオンリセット端子19の入力信号を論理和演算し、マニュアルリセット端子18がL信号を入力すると、内部リセット信号としてLを出力する。メモリインタフェース23、書込み保護回路24および比較結果格納レジスタ7は、論理和回路20より内部リセット信号のLを入力して動作を開始する。
書込み保護回路24は、時刻2に、メモリインタフェース23へ外部バス要求信号線26の外部バス要求信号としてHを出力する。メモリインタフェース23は、時刻3に、書込み保護回路24が外部バス要求信号線26に出力する外部バス要求信号により、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16および外部リードイネーブル信号線17をCPU1から解放する。書込み保護回路24は、時刻4に、アドレス保護バッファ5の値を外部アドレスバス14へ出力し、外部リードイネーブル信号を外部リードイネーブル信号線17へ出力する。
メモリ3は、書込み保護回路24が外部アドレスバス14と外部リードイネーブル信号線17に各信号を出力すると、時刻5に、外部アドレスバス14の示すアドレスに保持する値を外部データバス15に出力する。書込み保護回路24は、時刻6に、比較器25からの比較結果有効信号と外部リードイネーブル信号線17の信号とが出力されているので、比較器25のデータ比較結果を比較結果格納レジスタ7へ格納する。
(6)(5)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
ここでも図9を用いて、(5)の動作の結果、データ保護バッファ6とメモリ3のデータが同じ場合の動作を説明する。
比較結果格納レジスタ7は、時刻6に、比較器25よりデータ比較結果のLを入力して保持する。書込み保護回路24は、比較結果格納レジスタ7の値がLであるので、ソフトウェアの条件処理で書込みは正常に行われたと判定し、メモリ3へのデータの再書込みは行わない。そして、書込み保護回路24が、メモリインタフェース23へ外部バス要求信号線26を通じて外部バス要求信号としてLを出力すると、メモリインタフェース23は、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16および外部リードイネーブル信号線17をCPU1と接続し、通常の処理へ戻る。
(7)(5)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
ここでは図9に加え図10を用いて、(5)の動作での比較の結果、データ保護バッファ6とメモリ3のデータが異なる場合の動作を説明する。
比較結果格納レジスタ7は、時刻6に、比較器25よりデータ比較結果としてHを入力して保持する。書込み保護回路24は、比較結果格納レジスタ7の値がHであるので、ソフトウェアの条件処理で書込みに異常が生じたと判断し、メモリ3へデータの再書込みを行う。書込み保護回路24は、時刻7に、アドレス保護バッファ5の値を外部アドレスバス14へ出力し、データ保護バッファ6の値を外部データバス15へ出力し、外部ライトイネーブル信号線16へ外部ライトイネーブル信号を出力する。
メモリ3は、時刻8に、書込み保護回路24が外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16へ各信号を出力すると、外部アドレスバス14の値の示すアドレスへ外部データバス15の値を保持する。書込み保護回路24が、時刻9に、メモリインタフェース23へ外部バス要求信号線26を通じて外部バス要求信号としてLを出力すると、メモリインタフェース23は、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16および外部リードイネーブル信号線17をCPU1に接続し、通常の処理へ戻る。
このように、書込み保護回路24が外部バス要求信号線26を通じてメモリインタフェース23を制御し、CPU1と外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16および外部リードイネーブル信号線17との解放および接続を行うことにより、CPU1がメモリ3へ書込む際にメモリ3に正しくないデータを保持した場合に行う再書込みにおいて、CPU1を介してメモリ3へアクセスを行うオーバーヘッドを回避することができる。
(実施の形態4)
実施の形態1乃至3において、CPU1がメモリ3にデータを書込む際に、メモリ3に正しくないデータが保持されたかどうかの判定に比較器を使用しているため、回路面積が増加するが、この問題を解消するのが本発明の実施の形態4である。
図11は本実施の形態4のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI29とメモリ3とから構成される。システムLSI29は、CPU1、メモリインタフェース2、書込み保護回路28、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、マニュアルリセット端子18、パワーオンリセット端子19および論理和回路20から構成される。また、書込み保護回路28は、アドレス保護バッファ5およびデータ保護バッファ6から構成される。
書込み保護回路28は、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力した場合、内部アドレスバス10の値をアドレス保護バッファ5へ格納すると共に、内部データバス11の値をデータ保護バッファ6へ格納し、CPU1が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力しアドレス保護バッファ5を示すアドレスを内部アドレスバス10へ出力した場合、アドレス保護バッファ5の値を内部データバス11へ出力し、CPU1が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力しデータ保護バッファ6を示すアドレスを内部アドレスバス10へ出力した場合、データ保護バッファ6の値を内部データバス11へ出力し、論理和回路20からの内部リセット信号を入力する。
内部アドレスバス10は、CPU1が出力するアドレスをメモリインタフェース2および書込み保護回路28に伝達する。内部データバス11は、CPU1、メモリインタフェース2および書込み保護回路28が出力するデータを、CPU1、メモリインタフェース2および書込み保護回路28に伝達する。
内部ライトイネーブル信号線12は、CPU1が出力する内部ライトイネーブル信号をメモリインタフェース2および書込み保護回路28に伝達する。内部リードイネーブル信号線13は、CPU1が出力する内部リードイネーブル信号をメモリインタフェース2および書込み保護回路28に伝達する。
論理和回路20は、マニュアルリセット端子18のリセット信号とパワーオンリセット端子19のリセット信号とを入力し、それらの論理和演算を実施し、内部リセット信号としてメモリインタフェース2および書込み保護回路28に出力する。
以上のように構成されたデータ処理装置について、図11乃至図13を参照して以下の動作を説明する。
実施の形態1で説明した(1)パワーオンリセット入力時の動作、(2)パワーオンリセット入力解除後の動作、(3)メモリへの書込み動作、(4)メモリへの書込み中にマニュアルリセットを入力する場合の動作までは同じである。
(5)マニュアルリセット入力後に解除した際の動作
(6)(5)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
(7)(5)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
(5)マニュアルリセット入力後にマニュアルリセットを解除した場合の動作
マニュアルリセット入力解除後の動作タイミングを、図12を参照して説明する。
アドレス保護バッファ5、データ保護バッファ6およびメモリ3は、時刻1以前よりデータを保持する。マニュアルリセット端子18は、時刻1に、マニュアルリセット信号としてLを入力すると、CPU1および論理和回路20へL信号を出力する。CPU1は、マニュアルリセット端子18よりマニュアルリセット信号としてLを入力して動作を開始する。論理和回路20は、マニュアルリセット端子18の入力信号とパワーオンリセット端子19の入力信号との論理和を演算し、マニュアルリセット端子18がL信号を入力すると、論理和回路20は内部リセット信号としてLを出力する。メモリインタフェース2、書込み保護回路28は、論理和回路20より内部リセット信号としてLを入力して動作を開始する。
CPU1は、時刻2に、アドレス保護バッファ5を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力する。書込み保護回路28は、時刻2にCPU1が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻3に、アドレス保護バッファ5の保持する値を内部データバス11へ出力する。
CPU1は、時刻4に、内部データバス11からアドレス保護バッファ5の値を読出し、時刻5に、アドレス保護バッファ5から読出したアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号線13を出力する。メモリインタフェース2は、CPU1が時刻5に内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力すると、時刻6に、CPU1が出力する内部アドレスバス10と内部リードイネーブル信号線13の各信号を保持し、時刻7に、外部アドレスバス14と外部リードイネーブル信号線17の各信号をメモリ3へ出力する。
メモリ3は、時刻7にメモリインタフェース2から外部アドレスバス14と外部リードイネーブル信号線17を通じて各信号を入力すると、時刻8に、外部アドレスバス14の示すアドレスのデータを外部データバス15に出力する。メモリインタフェース2は、時刻9に、メモリ3が外部データバス15にデータを出力すると、そのデータを保持し、時刻10に内部データバス11に出力する。
CPU1は、時刻11に内部データバス11のデータを入力し、時刻12に、データ保護バッファ6を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号線13に内部リードイネーブル信号を出力する。書込み保護回路28は、時刻12にCPU1が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻13に、データ保護バッファ6の保持する値を内部データバス11へ出力する。CPU1は、時刻14に、内部データバス11からデータ保護バッファ6の値を読出し、時刻15に、データ保護バッファ6から読出したデータとメモリ3から読出したデータをソフトウェアで比較する。
(6)(5)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
ここでも図12を用いて、(5)の動作の結果、データ保護バッファ6とメモリ3のデータが同じ場合の動作を説明する。
CPU1は、時刻15に、データ保護バッファ6から読出したデータとメモリ3から読出したデータをソフトウェアで比較し、その比較結果から、ソフトウェアの条件処理で書込みは正常に行われたと判定し、メモリ3へのデータの再書込みは行わない。
(7)(5)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
ここでは図12に加え図13を用いて、(5)の動作での比較の結果、データ保護バッファ6とメモリ3のデータが異なる場合の動作を説明する。
CPU1は、時刻15に、データ保護バッファ6から読出したデータとメモリ3から読出したデータをソフトウェアで比較を行い、時刻16に比較を完了し、その比較結果から、ソフトウェアの条件処理で書込みに異常が生じたと判断し、メモリ3へデータの再書込みを行う。CPU1は、時刻17に、メモリ3から読込みを行った際のアドレスを内部アドレスバス10に出力し、データ保護バッファ6から読込んだ値を内部データバス11へ出力し、内部ライトイネーブル信号を内部ライトイネーブル信号線12へ出力する。
メモリインタフェース2は、時刻18に、CPU1が出力する内部アドレスバス10、内部データバス11、内部ライトアクセス信号線12の各信号を保持し、それらの信号を、時刻19に、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16へ出力する。
メモリ3は、時刻19にメモリインタフェース2が外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16に各信号を出力すると、時刻20に、外部アドレスバス14の示すアドレスへ外部データバス15の値を保持する。CPU1は、メモリ3への書込み終了後、通常の処理へ戻る。
以上のように、本実施の形態では、CPU1がメモリ3にデータを書込む際にメモリ3に正しくないデータが保持された場合に再書込みを行うが、書込みを行うかどうかの判定を比較器を用いることなくCPU1の比較演算資源を用いてソフトウェアで実行することにより、回路面積を削減することが可能となる。
(実施の形態5)
実施の形態1乃至4において、CPU1はメモリ3へ書込みを行うためにメモリインタフェース2を介してアクセスしているが、CPU1からアドレス保護バッファ5およびデータ保護バッファ6へ各値を格納しているときにマニュアルリセットを入力すると、CPU1を初期化するので、アドレス保護バッファ5およびデータ保護バッファ6が誤った値が取込む可能性があり、マニュアルリセット解除後にアドレス保護バッファ5およびデータ保護バッファ6から行う再書込みにより誤った更新を行う可能性があるが、この問題を解消するのが本発明の実施の形態5である。
図14は本実施の形態5のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI33及びメモリ3とから構成される。システムLSI33は、CPU1、メモリインタフェース2、書込み保護回路32、比較器8、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、マニュアルリセット端子18、パワーオンリセット端子19および論理和回路20から構成される。また、書込み保護回路32は、アドレス保護バッファ5、データ保護バッファ6、比較結果格納レジスタ7、再書込み実行フラグ30および遅延バッファ31から構成される。
図15は書込み保護回路32において再書込み実行フラグ30の制御構成を表すブロック図である。書込み保護回路32は、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力した場合、内部アドレスバス10の値をアドレス保護バッファ5へ格納すると共に、内部データバス11の値をデータ保護バッファ6へ格納し、アドレス保護バッファ5、データ保護バッファ6に格納した値を比較器8へ出力し、比較器8がそのデータ比較結果と比較結果有効信号を出力すると、比較器8が出力する比較結果有効信号とCPU1が内部リードイネーブル信号線13に出力する値とが共にHの場合に、比較器8の出力するデータ比較結果を比較結果格納レジスタ7へ格納し、CPU1が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力しアドレス保護バッファ5を示すアドレスを内部アドレスバス10へ出力した場合、アドレス保護バッファ5の値を内部データバス11へ出力し、CPU1が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力しデータ保護バッファ6を示すアドレスを内部アドレスバス10へ出力した場合、データ保護バッファ6の値を内部データバス11へ出力し、CPU1が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し比較結果格納レジスタ7を示すアドレスを内部アドレスバス10へ出力した場合、比較結果格納レジスタ7の値を内部データバス11へ出力し、論理和回路20から内部リセット信号を入力し、メモリインタフェース2より外部ライトイネーブル信号線16に出力する信号を遅延バッファ31により遅延させた信号を、内部リセットの立ち上がりのタイミングで再書込み実行フラグ30にHにして保持するように制御する。
外部ライトイネーブル信号線16は、メモリインタフェース2が出力する外部ライトイネーブル信号をメモリ3および遅延バッファ31を通じて書込み保護回路32へ出力する。パワーオンリセット端子19は、パワーオンリセット入力時に外部からHを入力してパワーオンリセット信号として、論理和回路20に出力し、CPU1、アドレス保護バッファ5、データ保護バッファ6および再書込み実行フラグ30を初期化する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の各信号を入力し、それらの論理和演算をし、内部リセット信号として、メモリインタフェース2、書込み保護回路32、比較結果格納レジスタ7および再書込み実行フラグ30に出力する。
再書込み実行フラグ30は、図16に示すように、メモリインタフェース2より外部ライトイネーブル信号線16に出力する信号を遅延バッファ31で遅延させた信号を、内部リセット信号の立ち上がりのタイミングで保持し、パワーオンリセット信号により初期化する。遅延バッファ31は、メモリインタフェース2より外部ライトイネーブル信号線16に出力する信号に遅延を与えて出力する。
以上のように構成されたデータ処理装置について、図14乃至図20を参照して以下の動作を説明する。
実施の形態1で説明した(1)パワーオンリセット入力時の動作、(2)パワーオンリセット入力解除後の動作、および(3)メモリへの書込み動作までは同じである。
(4)CPUからメモリインタフェースへの転送中にマニュアルリセットを入力した場合の動作
(5)メモリインタフェースからメモリへの書込み中にマニュアルリセットを入力した場合の動作
(6)マニュアルリセット入力後にマニュアルリセットを解除した際の動作
(7)(6)の動作で再書込み実行フラグがHの場合の動作
(8)(6)の動作で再書込み実行フラグがLの場合の動作
(9)(7)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
(10)(7)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
(4)CPUからメモリインタフェースへの転送中にマニュアルリセットを入力した場合の動作
CPU1からメモリインタフェース2への信号転送中にマニュアルリセットを入力した場合の動作タイミングを、図16を参照して説明する。
CPU1は、時刻1に、内部アドレスバス10、内部データバス11および内部ライトイネーブル信号線12に各信号を出力する。メモリインタフェース2は、時刻1でCPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、CPU1が出力する内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12の各信号を保持する。書込み保護回路32は、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、保護バッファ5に内部アドレスバス10の値を保持し、データ保護バッファ6に内部データバス11の値を保持する。
時刻2に、マニュアルリセット端子18は、マニュアルリセット信号としてHを入力すると、そのH信号を論理和回路20へ出力する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の各入力信号を論理和演算し、マニュアルリセット端子18がHを入力すると、論理和回路20は内部リセット信号としてHを出力する。メモリインタフェース2、書込み保護回路32および比較結果格納レジスタ7は、論理和回路20より内部リセット信号としてHを入力して初期化する。
ここで、アドレス保護バッファ5およびデータ保護バッファ6は、時刻1にCPU1が内部アドレスバス10、内部データバス11、および内部ライトイネーブル信号線12に各信号を出力すると、時刻2に、アドレス保護バッファ5は内部アドレスバス10の値を保持し、データ保護バッファ6は内部データバス11の値を保持するが、時刻2で、マニュアルリセット端子18がHを入力する場合、CPU1とアドレス保護バッファ5およびデータ保護バッファ6が保持しようとしている内部アドレスバス10および内部データバス11を初期化するために、アドレス保護バッファ5およびデータ保護バッファ6は誤ったデータを取込む可能性がある。
(5)メモリインタフェースからメモリへの書込み中にマニュアルリセットを入力した場合の動作
メモリインタフェース2からメモリ3への信号書込み中にマニュアルリセットを入力した場合の動作タイミングを、図17を参照して説明する。
CPU1は、時刻1に、内部アドレスバス10、内部データバス11および内部ライトイネーブル信号線12に各信号を出力する。メモリインタフェース2は、時刻1でCPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に出力する各信号を保持する。書込み保護回路32は、CPU1が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、保護バッファ5に内部アドレスバス10の値を保持し、データ保護バッファ6に内部データバス11の値を保持する。
メモリインタフェース2は、時刻3に、メモリ3へ外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16を通じて各信号を出力する。時刻4に、マニュアルリセット端子18はマニュアルリセット信号としてHを入力すると、そのH信号を論理和回路20へ出力する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の入力信号を論理和演算し、マニュアルリセット端子18からHを入力して内部リセット信号としてHを出力する。CPU1、メモリインタフェース2、書込み保護回路32および比較結果格納レジスタ7は、論理和回路20より内部リセット信号としてHを入力して初期化する。
ここで、メモリ3は、時刻3にメモリインタフェース2が外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16に各信号を出力すると、時刻4に、外部アドレスバス14の示すアドレスに外部データバス15の値を保持するが、時刻4でマニュアルリセット端子18がHを入力する場合、メモリインタフェース2とメモリ3が保持しようとしている外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16を初期化するため、メモリ3は誤ったデータを書込む可能性がある。
再書込み実行フラグ30は、時刻4にメモリインタフェース2より外部ライトイネーブル信号線16に出力する信号を遅延バッファ31で遅延させた信号を、内部リセット信号の立ち上がりのタイミングで取込みHとして保持する。
(6)マニュアルリセット入力後にマニュアルリセットを解除した際の動作
マニュアルリセット入力解除後の動作タイミングを、図18を参照して説明する。
アドレス保護バッファ5およびデータ保護バッファ6は、時刻1以前より保持する値を比較器8へ出力する。メモリ3は、時刻1以前よりデータを保持する。再書込み実行フラグ30は、時刻1以前よりHを保持する。
比較器8は、アドレス保護バッファ5と内部アドレスバス10との値を比較し、データ保護バッファ6の値と内部データバス11との値を比較し、アドレス保護バッファ5の値と内部アドレスバス10の値の比較結果が一致する場合にはHを、一致しない場合にはLを、比較結果有効信号として書込み保護回路32へ出力し、データ保護バッファ6の値と内部データバス11の値の比較結果が一致する場合にはLを、一致しない場合にHを、データ比較結果として書込み保護回路32へ出力する。
マニュアルリセット端子18は、時刻1に、マニュアルリセット信号としてLを入力すると、そのL信号を論理和回路20へ出力する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の入力信号を論理和演算し、マニュアルリセット端子18がLを入力すると、内部リセット信号としてLを出力する。CPU1、メモリインタフェース2、書込み保護回路32および比較結果格納レジスタ7は、論理和回路20より内部リセット信号としてLを入力して動作を開始する。
CPU1は、時刻2に、再書込み実行フラグ30を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。書込み保護回路32は、時刻2にCPU1が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻3に、再書込み実行フラグ30に保持する値を内部データバス11へ出力する。CPU1は、時刻4に、内部データバス11から再書込み実行フラグ30の値を読出す。
(7)(6)の動作で再書込み実行フラグがHの場合の動作
(6)の動作で再書込み実行フラグ30がHの場合の動作を、図18および図19を参照して説明する。
CPU1は、時刻4に、再書込み実行フラグ30を読出し、再書込み実行フラグ30の値がHの場合は、時刻5に、アドレス保護バッファ5を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。書込み保護回路32は、時刻5にCPU1が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻6に、アドレス保護バッファ5の保持する値を内部データバス11へ出力する。CPU1は、時刻7に、内部データバス11からアドレス保護バッファ5の値を読出す。
CPU1は、時刻8に、内部アドレスバス10へアドレス保護バッファ5から読出したアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。メモリインタフェース2は、CPU1が時刻8に内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力すると、時刻9に、CPU1が内部アドレスバス10と内部リードイネーブル信号線13に出力する各信号を保持し、時刻10に、メモリ3へ外部アドレスバス14と外部リードイネーブル信号線17の各信号を出力する。
メモリ3は、時刻10にメモリインタフェース2が外部アドレスバス14と外部リードイネーブル信号線17に各信号を入力すると、時刻11に、外部アドレスバス14の示すアドレスのデータを外部データバス15に出力する。メモリインタフェース2は、時刻12に、メモリ3が外部データバス15に信号を出力すると、その値を保持し、時刻13に、内部データバス11に出力する。CPU1は、時刻14に、内部データバス11の信号を入力する。
書込み保護回路32は、時刻14に比較器8が出力する比較結果有効信号と内部リードイネーブル信号線13の信号とが出力されているので、比較器8のデータ比較結果を比較結果格納レジスタ7へ格納する。CPU1は、時刻15に、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、比較結果格納レジスタ7を示すアドレスを内部アドレスバス10へ出力する。書込み保護回路32は、時刻15にCPU1が比較結果格納レジスタ7を示すアドレスを内部アドレスバス10に出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力すると、時刻16に、比較結果格納レジスタ7が保持する値を内部データバス11へ出力する。CPU1は、時刻17に、内部データバス11の信号を入力する。
(8)(6)の動作で再書込み実行フラグがLの場合の動作
(6)の動作で再書込み実行フラグ30がLの場合、メモリインタフェース2は、マニュアルリセットの入力をした時にメモリ3への書込みは行っていないことから、保護バッファからの再書込みは行わずに、通常の処理へ戻る。
(9)(7)の動作での比較の結果、データ保護バッファ6とメモリ3のデータが同じ場合の動作
ここでも図18および図19を用いて、(7)の動作の結果、データ保護バッファ6とメモリ3のデータが同じ場合の動作を説明する。
比較結果格納レジスタ7は、時刻14に、比較器8よりデータ比較結果としてLを入力して保持する。CPU1は、時刻17に、比較結果格納レジスタ7の値を読出して、その値がLであるので、ソフトウェアの条件処理で書込みは正常に行われたと判定し、メモリ3へのデータの再書込みは行わない。
(10)(7)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
ここでは図18および図19に加え図20を用いて、(4)の動作での比較の結果、データ保護バッファ6とメモリ3のデータが異なる場合の動作を説明する。
比較結果格納レジスタ7は、時刻14に、比較器8よりデータ比較結果としてHを入力して保持する。CPU1は、時刻17に、比較結果格納レジスタ7の値を読出して、その値がHであるので、ソフトウェアの条件処理で書込みに異常が生じたと判断し、メモリ3へデータの再書込みを行う。CPU1は、時刻18に、データ保護バッファ6を示すアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。
書込み保護回路32は、CPU1が時刻18にデータ保護バッファ6を示すアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力すると、時刻19に、データ保護バッファ6の保持する値を内部データバス11に出力する。CPU1は、時刻20に、内部データバス11の信号を入力する。CPU1は、時刻21に、メモリ3から読込みを行った際のアドレスを内部アドレスバス10に出力し、データ保護バッファ6から読込んだ値を内部データバス11へ出力し、内部ライトイネーブル信号線12に内部ライトイネーブル信号を出力する。
メモリインタフェース2は、時刻22にCPU1が内部アドレスバス10、内部データバス11、内部ライトアクセス信号線12に出力する各信号を保持し、時刻23に、それらの信号を、メモリ3へ外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16に出力する。メモリ3は、時刻23にメモリインタフェース2が外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16に各信号を出力すると、時刻24に外部アドレスバス14の示すアドレスへ外部データバス15の値を保持する。メモリ3への書込み終了後、通常の処理へ戻る。
なお、本実施の形態で説明する再書込み実行フラグ30を用いることによる保護バッファの誤った値でのメモリ3への更新の回避については、実施の形態2乃至4にも適用可能である。
以上のように本実施の形態では、マニュアルリセットの付加タイミングがメモリインタフェース2からメモリ3への書込み中であるか否かの情報を検出して、再書込み実行フラグ30に保持し、マニュアルリセット解除後の処理で、再書込み実行フラグ30を参照してメモリ3への再書込みを行うことで、アドレス保護バッファ5、データ保護バッファ6に保持された誤った値での更新を除くことが可能となる。
(実施の形態6)
実施の形態1乃至5において、データ保護バッファ6とメモリ3に保持したデータが一致する比較を行う際に、データを遂次比較しているが、メモリ3への連続書込みを行う場合、複数のデータにわたって誤った書込みを行う可能性があり対応できない。この問題を解消するのが本発明の実施の形態6である。
図21は本実施の形態6のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI42およびメモリ3とから構成される。システムLSI42は、CPU34、メモリインタフェース35、書込み保護回路37、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、マニュアルリセット端子18、パワーオンリセット端子19、論理和回路20および連続アクセス信号線36から構成される。また、書込み保護回路37は、アドレス保護バッファ41およびチェックサム演算回路38から構成される。さらに、チェックサム演算回路38は、ライト用チェックサム格納レジスタ39およびリード用チェックサム格納レジスタ40から構成される。
CPU34は、連続アクセスのライト時には、連続アクセス信号線36および内部ライトイネーブル信号線12に各信号を出力し、内部アドレスバス10へアドレスを出力し、内部データバス11へ4回連続でデータを出力し、連続アクセスのリード時には、連続アクセス信号線36および内部リードイネーブル信号線13に各信号を出力し、内部アドレスバス10へアドレスを出力し、内部データバス11より4回連続でデータを入力し、マニュアルリセット端子18からマニュアルリセット信号を入力し、パワーオンリセット端子19からパワーオンリセット信号を入力する。
メモリインタフェース35は、連続アクセスのライト時には、CPU34より連続アクセス信号線36を通じて連続アクセス信号を入力し、内部アドレスバス10よりアドレスを入力して保持し、外部アドレスバス14へアドレスを1ずつ加算して4回連続で出力し、内部データバス11より4回連続でデータを入力して保持し、外部データバス15へ4回連続で出力し、内部ライトイネーブル信号線12の信号を入力して保持し、外部ライトイネーブル信号線16へ出力し、連続アクセスのリード時には、CPU34より連続アクセス信号線36を通じて連続アクセス信号を入力し、内部アドレスバス10よりアドレスを入力して保持し、外部アドレスバス14へアドレスを1ずつ加算して4回連続で出力し、内部リードイネーブル信号線13を入力して保持し、外部リードイネーブル信号線17へ出力し、外部データバス15より4回連続でデータを入力して保持し、内部データバス11へ4回連続で出力し、論理和回路20から内部リセット信号を入力する。
書込み保護回路37は、CPU34より連続アクセス信号線36、内部ライトイネーブル信号線12を通じて各信号を入力し、内部アドレスバス10の信号を入力し、内部データバス11をSYSCLK2サイクル毎に4回連続して入力した場合、内部アドレスバス10の値をアドレス保護バッファ41へ格納し、4回連続して入力する内部データバス11の値をチェックサム演算回路38へ入力し、CPU34がアドレス保護バッファ41を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力した場合、アドレス保護バッファ41に保持する値を内部データバス11へ出力し、CPU34がライト用チェックサム格納レジスタ39を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力すると、ライト用チェックサム格納レジスタ39の値を内部データバス11へ出力し、CPU34がリード用チェックサム格納レジスタ40を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力すると、リード用チェックサム格納レジスタ40の値を内部データバス11へ出力し、論理和回路20から内部リセット信号を入力する。
内部アドレスバス10は、CPU1が出力するアドレスをメモリインタフェース35および書込み保護回路37に出力する。内部データバス11は、CPU34、メモリインタフェース35および書込み保護回路37が出力するデータを、CPU34、メモリインタフェース35および書込み保護回路37に出力する。内部ライトイネーブル信号線12は、CPU34が出力する内部ライトイネーブル信号をメモリインタフェース35および書込み保護回路37に出力する。内部リードイネーブル信号線13は、CPU34が出力する内部リードイネーブル信号をメモリインタフェース35および書込み保護回路37に出力する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の各信号を入力し、それらの信号を論理和演算し、内部リセット信号としてメモリインタフェース35および書込み保護回路37に出力する。連続アクセス信号線36は、CPU34が出力する連続アクセス信号をメモリインタフェース35および書込み保護回路37に出力する。
チェックサム演算回路38は、書込み保護回路37に4回連続して入力する内部データバス10の値を加算してチェックサムを算出し、内部ライトイネーブル信号線12の信号の入力時にはライト用チェックサム格納レジスタ39に入力し、内部リードイネーブル信号線13の信号の入力時にはリード用チェックサム格納レジスタ40に入力する。ライト用チェックサム格納レジスタ39は、チェックサム演算回路38より入力するチェックサムの値を保持し、パワーオンリセット端子19からパワーオンリセット信号を入力する。リード用チェックサム格納レジスタ40は、チェックサム演算回路38より入力するチェックサムの値を保持し、パワーオンリセット端子19からパワーオンリセット信号を入力する。アドレス保護バッファ41は、書込み保護回路37より入力するアドレス値を保持し、パワーオンリセット端子19からパワーオンリセット信号を入力する。
以上のように構成されたデータ処理装置について、図21乃至図26を参照して以下の動作を説明する。
実施の形態1で説明した(1)パワーオンリセット入力時の動作、(2)パワーオンリセット入力解除後の動作までは同じである。
(3)メモリへの連続書込み動作
(4)メモリへの連続書込み中にマニュアルリセットを入力する場合の動作
(5)マニュアルリセット入力後に解除した際の動作
(6)(5)の動作での比較の結果、ライト用チェックサムとリード用チェックサムが同じ場合の動作
(7)(5)の動作での比較の結果、ライト用チェックサムとリード用チェックサムが異なる場合の動作
(3)メモリへの書込み時の動作
CPU34からメモリ3への書込みを行う際の動作タイミングを、図22を参照して説明する。
CPU34は、時刻1に、連続アクセス信号線36および内部ライトイネーブル信号線12に各信号を出力し、内部アドレスバス10に連続して書込みを行うアドレスの先頭のアドレスを出力し、内部データバス11にSYSCLK2サイクル毎に4回連続でデータを出力する。メモリインタフェース35は、CPU34が時刻1に連続アクセス信号線36および内部ライトイネーブル信号線12に各信号を出力し、内部アドレスバス10にアドレスを出力し、および内部データバス11にデータをSYSCLK2サイクル毎に4回連続で出力すると、時刻2において、CPU34が内部ライトイネーブル信号線12と内部アドレスバス10に出力する各信号およびSYSCLK2サイクル毎に4回連続で内部データバス11に出力するデータを保持する。書込み保護回路37は、CPU34が時刻1に連続アクセス信号線36、内部ライトイネーブル信号線12および内部アドレスバス10に各信号を出力し、内部データバス11にSYSCLK2サイクル毎に4回連続でデータを出力すると、時刻2に、アドレス保護バッファ41に入力する内部アドレスバス10の値を保持し、チェックサム演算回路38に内部ライトイネーブル信号線12を入力し、内部データバス11の値を4回連続で入力する。
メモリインタフェース35は、時刻3に、内部データバス11に4回目の入力を保持すると、時刻4に、外部アドレスバス14へSYSCLK2サイクル毎に保持したアドレスに1ずつ加算して4回連続で出力し、外部データバス15へSYSCLK2サイクル毎に保持するデータを4回連続で出力し、時刻1に保持した内部ライトイネーブル信号線12の信号を時刻4に出力する。チェックサム演算回路38は、時刻1に書込み保護回路37より内部ライトイネーブル信号線12の信号とSYSCLK2サイクル毎に4回連続でデータを入力すると、遂次加算してチェックサムを計算し、ライト用チェックサム格納レジスタ39へ格納する。メモリ3は、時刻4にメモリインタフェース35が外部ライトイネーブル信号線16に信号を出力し、外部アドレスバス14および外部データバス15の各信号をSYSCLK2サイクル毎に入力すると、時刻5からメモリインタフェース35が連続して入力する外部アドレスバス14の示すアドレスに外部データバス15の値をSYSCLK2サイクル毎に4回連続して保持する。
(4)メモリへの書込み中にマニュアルリセットを入力した場合の動作
CPU1からメモリ3へのデータ書込み中にマニュアルリセットを入力した場合の動作タイミングを、図23を参照して説明する。
時刻6以前の動作は(3)と同じである。マニュアルリセット端子18は、時刻6に、マニュアルリセット信号としてHを入力すると、そのH信号をCPU34および論理和回路20へ出力する。CPU34は、時刻6に、マニュアルリセット信号としてHを入力し初期化する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の入力信号を論理和演算し、マニュアルリセット端子18がHを入力すると、論理和回路20は内部リセット信号としてHを出力する。メモリインタフェース35および書込み保護回路37は、論理和回路20より内部リセット信号としてHを入力して初期化する。
メモリインタフェース35は、時刻4より、メモリ3へ、外部ライトイネーブル信号線16を通じて信号を出力し、外部アドレスバス14および外部データバス15を通じて4回連続した信号を出力する。メモリ3は、メモリインタフェース35が時刻4より保持した外部ライトイネーブル信号を外部ライトイネーブル信号線16を通じて入力し、SYSCLK2サイクル毎に4回連続した外部アドレスバス14および外部データバス15の各信号を入力すると、遂次外部アドレスバス14の示すアドレスに外部データバス15の値を保持するが、時刻6にマニュアルリセット端子18がHを入力する場合、メモリ3への4回連続した書込みの途中で初期化するため、連続書込みの途中までしか書込みができない場合と、メモリインタフェース35とメモリ3が保持しようとしている外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16の各信号を初期化するため、メモリ3は誤ったデータを書込む場合がある。
(5)マニュアルリセット入力後にマニュアルリセットを解除した場合の動作
マニュアルリセット入力解除後の動作タイミングを、図24乃至図26を参照して説明する。
メモリ3、ライト用チェックサム格納レジスタ39およびアドレス保護バッファ41は、時刻1以前より値を保持する。マニュアルリセット端子18は、時刻1にマニュアルリセット信号としてLを入力すると、そのL信号をCPU34および論理和回路20へ出力する。CPU34は、マニュアルリセット信号としてLを入力し、動作を開始する。論理和回路20は、マニュアルリセット端子18とパワーオンリセット端子19の入力信号を論理和演算し、マニュアルリセット端子18がLを入力すると、内部リセット信号としてLを出力する。メモリインタフェース35および書込み保護回路37は、論理和回路20より内部リセット信号としてLを入力して動作を開始する。
CPU34は、時刻2に、アドレス保護バッファ41を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。書込み保護回路37は、時刻2にCPU34が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻3に、アドレス保護バッファ41の保持する値を内部データバス11へ出力する。CPU34は、時刻4に、内部データバス11からアドレス保護バッファ41の値を読出し、時刻5に、連続アクセス信号線36、内部リードイネーブル信号線13に各信号を出力し、内部アドレスバス10へアドレス保護バッファ41から読出したアドレスを出力する。
メモリインタフェース35は、CPU34が時刻5に連続アクセス信号線36、内部リードイネーブル信号線13および内部アドレスバス10に各信号を出力すると、時刻6に、CPU34が出力する連続アクセス信号線36、内部リードイネーブル信号および内部アドレスバス10の各信号を保持し、時刻6に保持したアドレスを、SYSCLK1サイクル後の時刻7より外部アドレスバス14へSYSCLK2サイクル毎に1ずつ加算して4回連続で出力する。
メモリ3は、メモリインタフェース35が時刻7に外部リードイネーブル信号線17に信号を出力し、外部アドレスバス14にSYSCLK2サイクル毎に4連続で信号を入力すると、時刻8から外部アドレスバス14の示すアドレスのデータを外部データバス15にSYSCLK2サイクル毎に4連続で出力する。メモリインタフェース35は、メモリ3が時刻8から外部データバス15に信号をSYSCLK2サイクル毎に4連続で出力すると、外部データバス15の値を時刻9からSYSCLK2サイクル毎に4連続で保持し、時刻10より内部データバス10へSYSCLK2サイクル毎に4連続で出力する。CPU34は、時刻11より、内部データバス11の信号をSYSCLK2サイクル毎に4連続で入力する。
書込み保護回路37は、CPU34が内部リードイネーブル信号線13に信号を出力し、メモリインタフェース35が時刻10より内部データバス10へSYSCLK2サイクル毎に4連続でデータを入力すると、CPU34が入力する内部リードイネーブル信号線13の信号をチェックサム演算回路38へ入力する。チェックサム演算回路38は、書込み保護回路37が入力する内部リードイネーブル信号がHのときに、メモリインタフェース35よりSYSCLK2サイクル毎に4回連続で入力する内部データバス11の値を加算してチェックサムを計算し、遂次リード用チェックサム格納レジスタ40へ格納し、時刻13に、データの4回目の加算を行ったチェックサムを格納する。
CPU34は、時刻14に、内部アドレスバス10にライト用チェックサム格納レジスタ39のアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力すると、ライト用チェックサム格納レジスタ39は、時刻15に、保持するライト時のチェックサムを内部データバス11へ出力する。CPU34は、時刻16に、内部データバス11の信号を入力する。
CPU34は、時刻17に、内部アドレスバス10にリード用チェックサム格納レジスタ40のアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力すると、リード用チェックサム格納レジスタ40は、時刻18に、保持するリード時のチェックサムを内部データバス11へ出力する。CPU34は、時刻19に、内部データバス11の信号を入力する。
CPU34は、時刻20に、ライト用チェックサム格納レジスタ39から読出したライト用チェックサムと、リード用チェックサム格納レジスタ40から読出したリード用チェックサムを、ソフトウェアで比較する。
(6)(5)の動作での比較の結果、ライト用チェックサムとリード用チェックサムが同じ場合の動作
ここでも図26を用いて、(5)の動作の結果、ライト用チェックサム格納レジスタ39の値とリード用チェックサム格納レジスタ40の値が同じ場合の動作を説明する。
CPU34は、時刻20に、時刻16にライト用チェックサム格納レジスタ39から読出したライト用チェックサムの値と、時刻19にリード用チェックサム格納レジスタ40から読出したリード用チェックサムの値を、ソフトウェアで比較する。CPU34は、上記の比較結果から、ソフトウェアの条件処理で書込みは正常に行われたと判定し、メモリ3へのデータの再書込みは行わずに通常の処理を再開する。
(7)(5)の動作での比較の結果、ライト用チェックサムとリード用チェックサムが異なる場合の動作
ここでも図26を用いて、(5)の動作の結果、ライト用チェックサム格納レジスタ39の値とリード用チェックサム格納レジスタ40の値が異なる場合の動作を説明する。
CPU34は、時刻20に、時刻16にライト用チェックサム格納レジスタ39から読出したライト用チェックサムの値と、時刻19にリード用チェックサム格納レジスタ40から読出したリード用チェックサムの値を、ソフトウェアで比較する。CPU34は、上記の比較結果から、ソフトウェアの条件処理で書込みに異常が生じたと判断する。CPU34は、時刻20に比較を行った結果から、メモリ3に保持するデータの使用をあきらめ、パワーオンリセットの入力解除後と同じ動作を開始する。
なお、連続書込みを行う際にアドレスをメモリインタフェース35で1ずつ加算したが、CPU34で行ってもよい。また、本実施の形態で説明した事項は、前述の実施の形態2から5においても適応可能である。また、メモリ3へ書込みを行う時にチェックサムを使用して書込みが正常に終了したかを判定する際に複数データをまとめて比較することにより、複数のアドレスに誤ったデータを保持した場合にも対応することができる。
(実施の形態7)
実施の形態1乃至6において、パワーオンリセットとマニュアルリセットの動作から区別する必要があり、それぞれパワーオンリセット端子とマニュアルリセット端子を別々に設けているが、この問題を解消するのが本発明の実施の形態7である。
図27は本実施の形態7のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI50及びメモリ3から構成される。システムLSI50は、CPU43、メモリインタフェース44、書込み保護回路45、状態判定フラグ46、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、リセット端子47から構成される。また、書込み保護回路45は、アドレス保護バッファ48およびデータ保護バッファ49から構成される。
CPU43は、内部アドレスバス10、内部ライトイネーブル信号線12、内部リードイネーブル信号線13へ各信号を出力し、内部データバス11との間でデータを入出力し、リセット端子47よりリセット信号を入力する。
メモリインタフェース44は、内部アドレスバス10、内部ライトイネーブル信号線12、内部リードイネーブル信号線13への入力値を保持し、内部データバス11の入出力値を保持し、それらの値を外部アドレスバス14、外部ライトイネーブル信号線16、外部リードイネーブル信号線17へ出力し、外部データバス15の入出力値を保持し、その保持値を、ライト時には外部データバス15に出力し、リード時は内部データバス11に出力し、リセット端子47よりリセット信号を入力する。
メモリ3は、メモリインタフェース44から外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16を通じて各信号を入力すると、外部データバス15の値を保持し、メモリインタフェース44から外部アドレスバス14、外部リードイネーブル信号線17を通じて各信号を入力すると、外部アドレスバス14のアドレスに保持するデータを外部データバス15に出力する。
書込み保護回路45は、CPU43が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力した場合、内部アドレスバス10の値をアドレス保護バッファ48へ格納すると共に、内部データバス11の値をデータ保護バッファ49へ格納し、CPU43が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、アドレス保護バッファ48を示すアドレスを内部アドレスバス10へ出力した場合、アドレス保護バッファ48の値を内部データバス11へ出力し、CPU43が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、データ保護バッファ49を示すアドレスを内部アドレスバス10へ出力した場合、データ保護バッファ49の値を内部データバス11へ出力し、リセット端子47よりリセット信号を入力する。
アドレス保護バッファ48は、書込み保護回路45に接続される内部アドレスバス10の信号値を保持する。データ保護バッファ49は、書込み保護回路45に接続される内部データバス11の信号値を保持する。
内部アドレスバス10は、CPU43が出力するアドレスをメモリインタフェース44および書込み保護回路45に出力する。内部データバス11は、CPU43、メモリインタフェース44および書込み保護回路45が出力するデータを、CPU43、メモリインタフェース44および書込み保護回路45に出力する。内部ライトイネーブル信号線12は、CPU43が出力するライトイネーブル信号をメモリインタフェース44および書込み保護回路45に出力する。内部リードイネーブル信号線13は、CPU43が出力するリードイネーブル信号をメモリインタフェース44および書込み保護回路45に出力する。
外部アドレスバス14は、メモリインタフェース44が出力するアドレスをメモリ3へ出力する。外部データバス15は、メモリインタフェース44およびメモリ3が出力するデータを、メモリインタフェース44およびメモリ3へ出力する。外部ライトイネーブル信号線16は、メモリインタフェース44が出力する外部ライトイネーブル信号をメモリ3へ出力する。外部リードイネーブル信号線17は、メモリインタフェース44が出力する外部リードイネーブル信号をメモリ3へ出力する。
リセット端子47は、パワーオンリセット入力時およびマニュアルリセット入力時に外部からHを入力し、その信号を内部リセット信号としてCPU43、メモリインタフェース44および書込み保護回路45に出力する。
以上のように構成されたデータ処理装置について、図27乃至図31を参照して以下の動作を説明する。
(1)電源投入時の動作
(2)メモリへの書込み中にマニュアルリセットを入力する場合の動作
(3)マニュアルリセット入力後に解除した際の動作
(4)(3)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
(5)(3)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
(1)電源投入時の動作
以下では、リセット端子47にパワーオンリセット信号としてHを入力した時の動作について、図28および図29を用いて説明する。
時刻1にシステムLSI50およびメモリ3に電源を供給する。状態判定フラグ46は電源投入時にはLを保持する。アドレス保護バッファ48、データ保護バッファ49およびメモリ3は、時刻1において任意の値を持つものとする。リセット端子47は、時刻2に、パワーオンリセットとしてHを入力する。CPU43、メモリインタフェース44および書込み保護回路45は、時刻2に、リセット端子47から入力するリセット信号としてHにより初期化する。
リセット端子47は時刻3にLを入力すると、CPU43は動作を始める。CPU43は、時刻4に、状態判定フラグ46を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。状態判定フラグ46は、時刻4にCPU43が状態判定フラグを示すアドレスを内部アドレスバスへ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力すると、時刻5に、保持する値を内部データバス11へ出力する。CPU43は、時刻6に、状態判定フラグ46の保持する値を内部データバス11から入力する。CPU43は、時刻6に状態判定フラグ46から入力した値がLのため、リセット端子47から入力したリセットはパワーオンリセットと判断する。CPU43は、時刻7に、状態判定フラグ46を示すアドレスを内部アドレスバス10へ出力し、内部ライトイネーブル信号を内部ライトイネーブル信号線12に出力し、内部データバス11にHを出力する。状態判定フラグ46は、時刻7にCPUが内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻8に、内部データバスの値Hを保持する。CPU43は時刻9から通常の処理を開始する。
(2)メモリへの書込み中にマニュアルリセットを入力した場合の動作
CPU43からメモリ3へのデータ書込み中にマニュアルリセットを入力した場合の動作タイミングを、図29を参照して説明する。
CPU43は、時刻1に、内部アドレスバス10、内部データバス11および内部ライトイネーブル信号線12に各信号を出力する。メモリインタフェース44は、時刻1でCPU43が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、CPU43が出力する内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12の各信号を保持する。書込み保護回路45は、CPU43が時刻1に内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、アドレス保護バッファ48に内部アドレスバス10の値を格納し、データ保護バッファ49に内部データバス11の値を格納する。
メモリインタフェース44は、時刻2で保持した内部アドレスバス10の値を時刻3で外部アドレスバス14へ出力し、時刻2で保持した内部データバス11の値を時刻3で外部データバス15へ出力し、時刻2で保持した内部ライトイネーブル信号線12の信号を時刻3で外部ライトイネーブル信号線16へと出力する。メモリ3は、時刻3でメモリインタフェース44が外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16に各信号を出力すると、時刻4で外部アドレスバス14の示すアドレスに外部データバス15の値を保持する。
リセット端子47は、時刻4にマニュアルリセットとしてHを入力すると、リセット信号としてHを出力する。CPU43、メモリインタフェース44および書込み保護回路45は、時刻4にリセット信号Hを入力して初期化する。メモリ3は、時刻3にメモリインタフェース44が外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16に各信号を出力すると、時刻4に、外部アドレスバス14の示すアドレスに外部データバス15の値を保持するが、時刻4でリセット端子47がHを入力する場合、メモリインタフェース44とメモリ3が保持しようとしている外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16の値を初期化するため、メモリ3は誤ったデータを書込む可能性がある。
(3)マニュアルリセット入力後にマニュアルリセットを解除した場合の動作
マニュアルリセット入力解除後の動作タイミングを、図30および図31を参照して説明する。
メモリ3は、時刻1以前よりデータを保持する。リセット端子47は、時刻1に、マニュアルリセット信号としてLを入力すると、内部リセット信号としてLを出力する。CPU43、メモリインタフェース44および書込み保護回路45は、内部リセット信号としてLを入力して動作を開始する。CPU43は、時刻2に、状態判定フラグ46を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力する。状態判定フラグ46は、CPU43が時刻2に内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力すると、時刻3に、保持する値を内部データバス11へ出力する。CPU43は、時刻4に、状態判定フラグ46の値を内部データバス11より入力する。
CPU43は、時刻4に状態判定フラグ46から入力した値がHのため、リセット端子47から入力したリセット信号はマニュアルリセット信号と判断する。CPU43は、時刻5に、アドレス保護バッファ48を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力する。書込み保護回路45は、時刻5にCPU43が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻6に、アドレス保護バッファ48の保持する値を内部データバス11へ出力する。
CPU43は、時刻7に、内部データバス11からアドレス保護バッファ48の値を読出す。CPU43は、時刻8に、内部アドレスバス10へアドレス保護バッファ48から読出したアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力する。メモリインタフェース44は、CPU43が時刻8に内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力すると、時刻9に、CPU43が内部アドレスバス10と内部リードイネーブル信号線13に出力する各信号を保持し、それらの信号を、時刻10に、外部アドレスバス14と外部リードイネーブル信号線17に出力する。
メモリ3は、時刻10にメモリインタフェース44が外部アドレスバス14と外部リードイネーブル信号線17に各信号を出力すると、時刻11に、外部アドレスバス14の示すアドレスのデータを外部データバス15に出力する。メモリインタフェース44は、時刻11にメモリ3が外部データバス15に出力した値を時刻12に保持し、時刻13に内部データバス11に出力する。CPU43は、時刻14に内部データバス11の信号を入力する。
CPU43は、時刻15に、データ保護バッファ49を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13へ出力する。書込み保護回路45は、時刻15にCPU43が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻16に、データ保護バッファ49の保持する値を内部データバス11へ出力する。CPU43は、時刻17に、内部データバス11からデータ保護バッファ49の値を読出す。CPU43は、時刻18に、データ保護バッファ49から読出したデータとメモリ3から読出したデータをソフトウェアで比較する。
(4)(3)の動作での比較の結果、データ保護バッファとメモリのデータが同じ場合の動作
ここでも図31を用いて、(3)の動作の結果、データ保護バッファ49とメモリ3のデータが同じ場合の動作を説明する。
CPU43は、時刻17にデータ保護バッファ49から読出したデータとメモリ3から読出したデータを、時刻18にソフトウェアで比較を行う。CPU43は、上記の比較結果から、ソフトウェアの条件処理で書込みは正常に行われたと判定し、メモリ3へのデータの再書込みは行わない。
(5)(3)の動作での比較の結果、データ保護バッファとメモリのデータが異なる場合の動作
ここでも図31を用いて、(3)の動作での比較の結果、データ保護バッファ49とメモリ3のデータが異なる場合の動作を説明する。
CPU43は、時刻17にデータ保護バッファ49から読出したデータとメモリ3から読出したデータを、時刻18にソフトウェアで比較を行う。CPU43は、上記の比較結果から、ソフトウェアの条件処理で書込みに異常が生じたと判断し、メモリ3へのデータの再書込みを行う。CPU43は、時刻19に、アドレス保護バッファ48から時刻7で読出したアドレスを内部アドレスバス10に出力し、データ保護バッファ49から時刻17で読込んだ値を内部データバス11へ出力し、内部ライトイネーブル信号を内部ライトイネーブル信号線12へ出力する。
メモリインタフェース44は、時刻20に、CPU43が時刻19に出力する内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12の各信号を保持し、それらの信号を、時刻21に、メモリ3へ外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16に出力する。メモリ3は、時刻21にメモリインタフェース44が外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16に各信号を出力すると、時刻22に、外部アドレスバス14の示すアドレスへ外部データバス15の値を保持する。メモリ3への書込み終了後、通常の処理へ戻る。
以上のように本実施の形態により、電源投入時に保護バッファとメモリが任意の値を保持した状態でも、パワーオンリセット解除時にはデータ保護バッファ49に保持する値とメモリ3に保持する値の比較を行うことにより、パワーオンリセットとマニュアルリセットを別々に設けることなく、マニュアルリセット投入時に発生するメモリ3への誤書込み防止に対応することが可能となる。
なお、本実施の形態で説明した事項は、前述した実施の形態1から3、5から7においても適応可能である。
(実施の形態8)
実施の形態1乃至7において、書込み中にリセットを入力した場合にメモリへの誤った値を書込むのを防ぐために、リセットで初期化されない保護バッファを持つ書込み保護回路を用意したが、複雑な保護回路を必要とする。この問題を解消するのが本発明の実施の形態8である。
図32は本実施の形態8のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI67及びメモリ66から構成される。システムLSI67は、CPU43、メモリインタフェース51、状態判定フラグ49、内部アドレスバス58、内部データバス59、内部ライトイネーブル信号線60、内部リードイネーブル信号線61、外部アドレスバス62、外部データバス63、外部ライトイネーブル信号線64、外部ライトイネーブル保持信号線65、リセット端子52、リセット信号伸張回路53、遅延バッファ54およびライトイネーブル信号保持ラッチ55から構成される。また、メモリインタフェース51は、アドレス保護バッファ56とデータ保護バッファ57とから構成される。
メモリインタフェース51は、内部アドレスバス58、内部データバス59からの各入力値を、リセットで初期化されないアドレス保護バッファ56およびデータ保護バッファ57に保持し、内部ライトイネーブル信号線60の内部ライトイネーブル信号を保持し、それらの信号を外部アドレスバス62、外部データバス63および外部ライトイネーブル信号線64へ出力し、遅延バッファ54から遅延伸張リセット信号を入力する。メモリ66は、メモリインタフェース51から外部アドレスバス62、外部データバス63および外部ライトイネーブル保持信号線65を通じて各信号を入力すると、外部データバス59の値を外部アドレスバス60の示すアドレスに保持する。アドレス保護バッファ56は、メモリインタフェース51に接続される内部アドレスバス58の入力を保持する。データ保護バッファ57は、メモリインタフェース51に接続される内部データバス59の入力を保持する。
内部アドレスバス58は、CPU43が出力するアドレスをメモリインタフェース51に伝達する。内部データバス59は、CPU43が出力するデータをメモリインタフェース51に伝達する。内部ライトイネーブル信号線60は、CPU43が出力するライトイネーブル信号をメモリインタフェース51に伝達する。内部リードイネーブル信号線61は、CPU43が出力するリードイネーブル信号を状態判定フラグ49に伝達する。
外部アドレスバス62は、メモリインタフェース51が出力するアドレスをメモリ66へ伝達する。外部データバス63は、メモリインタフェース51が出力するデータをメモリ66伝達する。外部ライトイネーブル信号線64は、メモリインタフェース51が出力するライトイネーブル信号をライトイネーブル信号保持ラッチ55へ伝達する。外部ライトイネーブル保持信号線65は、ライトイネーブル信号保持ラッチ55が出力する信号をメモリ66へ伝達する。
リセット端子52は、リセット入力時に外部からHを入力し、そのH信号をリセット信号伸張回路53に出力する。リセット信号伸張回路53は、リセット端子52からリセット信号を入力し、リセット信号の立ち下がりのタイミングを引き伸ばした伸張リセット信号を、遅延バッファ54およびライトイネーブル信号保持ラッチ55に出力する。遅延バッファ54は、リセット信号伸張回路53が出力する伸張リセット信号に遅延を与えて、遅延伸張リセット信号としてCPU43およびメモリインタフェース51に出力する。
ライトイネーブル信号保持ラッチ55は、リセット信号伸張回路53から伸張リセット信号の反転信号をゲート端子Gに入力し、メモリインタフェース51から外部ライトイネーブル信号線64の信号を入力し、伸張リセット信号がLの場合、外部ライトイネーブル信号線64からの入力値を外部ライトイネーブル保持信号線65に出力し、伸張リセット信号がHの場合、外部ライトイネーブル信号線64からの入力値を保持した後に、外部ライトイネーブル保持信号線65に出力する。
以上のように構成されたデータ処理装置について、図32乃至図34を参照して以下の動作を説明する。
実施の形態7で説明した(1)電源投入時の動作までは同じである。
(2)メモリへの書込み動作
(3)メモリへの書込み中にマニュアルリセットを入力し、一定時間後に解除する場合の動作
(2)メモリへの書込み動作
メモリ66への書込み動作について、図33を用いて説明する。
CPU43は、時刻1に、内部アドレスバス58、内部データバス59および内部ライトイネーブル信号線60に各信号を出力する。メモリインタフェース51は、時刻1にCPU43が内部アドレスバス58、内部データバス59および内部ライトイネーブル信号線60に各信号を出力すると、時刻2に、内部ライトイネーブル信号線60を保持し、内部アドレスバス58の値をアドレス保護バッファ56に格納し、内部データバス59の値をデータ保護バッファ57に格納し、時刻3に、時刻2で保持した内部ライトイネーブル信号線60の信号を外部ライトイネーブル信号線64へ出力し、アドレス保護バッファ56に保持する値を外部アドレスバス62に出力し、データ保護バッファ57に保持する値を外部データバス63を通じてメモリ66へ出力する。
ライトイネーブル信号保持ラッチ55は、時刻3にメモリインタフェース51が外部ライトイネーブル信号線58に信号を出力すると、伸張リセット信号がLなので、そのまま外部ライトイネーブル保持信号線65へ出力する。メモリ66は、時刻3にメモリインタフェース51が外部アドレスバス62、外部データバス63および外部ライトイネーブル信号線64に各信号を出力すると、時刻4に、外部アドレスバス62の示すアドレスに外部データバス63の値を保持する。
(3)メモリへの書込み中にマニュアルリセットを入力し、一定時間後に解除する場合の動作
メモリ66へのデータ書込み中にマニュアルリセットを入力する場合の動作について、図34を用いて説明する。
CPU43は、時刻1に、内部アドレスバス58、内部データバス59および内部ライトイネーブル信号線60に各信号を出力する。メモリインタフェース51は、時刻1にCPU43が内部アドレスバス58、内部データバス59および内部ライトイネーブル信号線60に各信号を出力すると、時刻2に、内部ライトイネーブル信号線60を保持し、内部アドレスバス58の値をアドレス保護バッファ56に格納し、内部データバス59の値をデータ保護バッファ57に格納し、時刻3に、時刻2で保持した内部ライトイネーブル信号線60の信号を外部ライトイネーブル信号線64へ出力し、アドレス保護バッファ56に保持する値を外部アドレスバス62に出力し、データ保護バッファ57に保持する値を外部データバス63を通じてメモリ66へ出力する。
リセット端子52は、時刻4に外部からマニュアルリセットとしてHを入力する。リセット信号伸張回路53は、時刻4にリセット端子52からマニュアルリセットとしてHを入力すると、そのH信号を立ち上がりのタイミングで出力する。ライトイネーブル信号保持ラッチ55は、時刻4にリセット端子52からリセット信号Hを入力すると、ゲート端子GはLとなり、外部ライトイネーブル信号線64の入力値を保持した後に、外部ライトイネーブル保持信号線65に出力する。
遅延バッファ54は、時刻4にリセット端子52がHを入力すると、その信号に遅延を与えて、時刻5に、遅延リセット信号としてHを出力する。外部ライトイネーブル信号線64は、遅延バッファ54から時刻5に遅延伸張リセット信号としてHを入力すると初期化する。メモリ66は、時刻3にメモリインタフェース51およびライトイネーブル信号保持ラッチ55から、外部アドレスバス62、外部データバス63および外部ライトイネーブル保持信号線65の各信号を入力すると、時刻5に、外部アドレスバス62の示すアドレスに外部データバス63の値を保持する。
リセット端子52は、時刻6にLを入力する。リセット信号伸張回路53は、リセット端子52が時刻6にLを入力すると、その立ち下がりのタイミングを、一定時間引き延ばしてから時刻7に立ち下がる。ライトイネーブル信号保持ラッチ55は、時刻7に伸張リセット信号としてLを入力すると、ゲート端子GはHとなり、外部ライトイネーブル信号線64の値を出力する。遅延バッファ54は、時刻7に伸張リセット信号としてLを入力すると、その信号に遅延を与えて、時刻8に遅延伸張リセット信号としてLを出力する。CPU43およびメモリインタフェース51は、時刻8に遅延バッファ54より遅延伸張リセット信号としてLを入力すると動作を開始する。
実施の形態1から7では、メモリへデータ書込みを行う際に、メモリインタフェースへの信号をインタラップして保護バッファに保持し、リセット解除後に保護バッファから復帰を行ったが、本実施の形態では、保護バッファをメモリインタフェース51の中に持つことにより、回路を簡略化することができる。
(実施の形態9)
実施の形態1から8において、メモリへの書込み中にリセットが入力された場合、保護バッファから再書込みを行うが、割り込みが入力された場合、割り込み発生時の応答性を高めることができない。この問題を解消するのが本発明の実施の形態9である。
図35は本実施の形態9のデータ処理装置の一構成例を示すブロック図である。本実施の形態のデータ処理装置は、システムLSI76およびメモリ3から構成される。システムLSI76は、CPU68、メモリインタフェース69、書込み保護回路70、状態判定フラグ49、内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、外部アドレスバス14、外部データバス15、外部ライトイネーブル信号線16、外部リードイネーブル信号線17、リセット端子47、書込みキャンセル信号線74および割り込み処理信号線75から構成される。また、書込み保護回路70は、再書込み実行フラグ71、アドレス保護バッファ72およびデータ保護バッファ73から構成される。
外部ライトイネーブル信号線16は、メモリインタフェース69がライトイネーブル信号線を通じて出力する信号を、メモリ3および書込み保護回路70へ伝達する。CPU68は、内部アドレスバス10、内部ライトイネーブル信号線12、内部リードイネーブル信号線13、書込みキャンセル信号線74および割り込み処理信号線75へ各信号を出力し、内部データバス11との間でデータを入出力し、リセット端子47より内部リセット信号を入力する。
メモリインタフェース69は、内部アドレスバス10、内部ライトイネーブル信号線12、内部リードイネーブル信号線13の各入力値を保持し、内部データバス11の入出力値を保持し、それらの値を、外部アドレスバス14、外部ライトイネーブル信号線16、外部リードイネーブル信号線17を通じて出力し、外部データバス15の入出力値を保持し、その保持値を、ライト時には外部データバス15に出力し、リード時は内部データバス11に出力し、リセット端子47よりリセット信号を入力し、書込みキャンセル信号線74の信号を入力し、書込みキャンセル信号線74がHの場合にメモリインタフェース69の保持するライトイネーブル信号をキャンセルしてLにする。
書込み保護回路70は、CPU68が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力し、割り込み処理信号線75に割り込み処理信号としてLを出力した場合、内部アドレスバス10の値をアドレス保護バッファ72へ格納すると共に、内部データバス11の値をデータ保護バッファ73へ格納し、CPU68が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、アドレス保護バッファ72を示すアドレスを内部アドレスバス10へ出力した場合、アドレス保護バッファ72の値を内部データバス11へ出力し、CPU68が内部リードイネーブル信号を内部リードイネーブル信号線13へ出力し、データ保護バッファ73を示すアドレスを内部アドレスバス10へ出力した場合、データ保護バッファ73の値を内部データバス11へ出力し、外部ライトイネーブル信号線16の外部ライトイネーブル信号を、割り込み処理信号線75の割り込み処理信号の立ち上がりで保持し、リセット端子47よりリセット信号を入力する。
再書込み実行フラグ71は、メモリインタフェース69より外部ライトイネーブル信号線16を通じて入力する外部ライトイネーブル信号を、割り込み処理信号線75の割り込み処理信号の立ち上がりで保持する。アドレス保護バッファ72は、CPU68より割り込み処理信号線75を通じて入力する割り込み処理信号がLの場合には、書込み保護回路70に接続される内部アドレスバス10からの入力を保持し、CPU68より割り込み処理信号線75を通じて入力する割り込み処理信号がHの場合は、内部アドレスバス10からの入力を保持しない。データ保護バッファ73は、CPU68より割り込み処理信号線75を通じて入力する割り込み処理信号がLの場合には、書込み保護回路70に接続される内部データバス11からの入力を保持し、CPU68より割り込み処理信号線75を通じて入力する割り込み処理信号がHの場合は、内部データバス11からの入力を保持しない。割り込み処理信号線75は、CPU68が割り込み発生時にHを入力し、そのH信号を書込み保護回路70へ伝達する。
以上のように構成されたデータ処理装置について、図35乃至図39を参照して以下の動作を説明する。
実施の形態7で説明した(1)電源投入時の動作までは同じである。
(2)割り込み発生時の動作
(3)割り込みハンドラでの動作
(2)割り込み発生時の動作
以下では、CPU68からメモリ3へのデータ書込み中に割り込み処理が発生した場合の動作タイミングを、図36を参照して説明する。
CPU68は、時刻1に、内部アドレスバス10、内部データバス11および内部ライトイネーブル信号線12に各信号を出力し、割り込み処理信号線75に割り込み処理信号としてLを出力する。メモリインタフェース69は、時刻1でCPU68が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力すると、時刻2において、CPU68が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12を通じて出力する各信号を保持する。書込み保護回路70は、時刻1でCPU68が内部アドレスバス10、内部データバス11、内部ライトイネーブル信号線12に各信号を出力し、割り込み処理信号線75に割り込み処理信号としてLを出力すると、時刻2において、アドレス保護バッファ72に内部アドレスバス10の値を保持し、データ保護バッファ73に内部データバス11の値を保持する。
メモリインタフェース69は、時刻2で保持した内部アドレスバス10の信号を、時刻3で外部アドレスバス14へ出力し、時刻2で保持した内部データバス11の信号を、時刻3で外部データバス15へ出力し、時刻2で保持した内部ライトイネーブル信号線12の信号を、時刻3で外部ライトイネーブル信号線16へと出力する。CPU68は、時刻4に割り込みが発生し、書込みキャンセル信号線74と割り込み処理信号線75に各信号を出力する。書込み保護回路70は、時刻4に割り込み処理信号線75の信号の立ち上がりで、外部ライトイネーブル信号線16の値を、再書込み実行フラグ71に保持する。CPU68は、時刻5より割り込みハンドラ処理を実行する。
(3)割り込みハンドラでの動作
以下では、CPU68が割り込みハンドラを実行する際の動作を、図37乃至39を用いて説明する。
メモリ書込みの途中に割り込みが発生した場合、メモリ3への書込み処理を途中で打ち切り、割り込みハンドラ処理を実行し、割り込みハンドラの最後でメモリ3への再書込みを行う。CPU68は、時刻6に、内部アドレスバス10に再書込み実行フラグ71のアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。書込み保護回路70は、時刻6にCPU68が再書込み実行フラグ71のアドレスを出力し内部リードイネーブル信号を内部リードイネーブル信号線13に出力すると、時刻7に、再書込み実行フラグ71に保持する値を内部データバス11へ出力する。CPU68は、時刻8に、再書込み実行フラグ71の値を内部データバス11より読出し、再書込み実行フラグ71の値がHの場合は、メモリ3への再書込みを行う。
CPU68は、時刻9に、アドレス保護バッファ72を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。書込み保護回路70は、時刻9にCPU68が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻10に、アドレス保護バッファ72の保持する値を内部データバス11へ出力する。CPU68は、時刻11に、内部データバス11からアドレス保護バッファ72の値を読出す。
CPU68は、時刻12に、内部アドレスバス10へアドレス保護バッファ72から読出したアドレスを出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。メモリインタフェース69は、CPU68が時刻12に内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力すると、時刻13に、CPU68が内部アドレスバス10と内部リードイネーブル信号線13を通じて出力する各信号を保持し、それらの信号を、時刻14に、メモリ3へ外部アドレスバス14と外部リードイネーブル信号線17を通じて出力する。メモリ3は、時刻14にメモリインタフェース69が外部アドレスバス14と外部リードイネーブル信号線17に各信号を出力すると、時刻15に、外部アドレスバス14の示すアドレスのデータを外部データバス15に出力する。
メモリインタフェース69は、時刻16に、メモリ3が外部データバス15にデータを出力すると、そのデータを保持し、時刻17に、内部データバス11に出力する。CPU68は、時刻18に内部データバス11の信号を入力する。CPU68は、時刻19に、データ保護バッファ73を示すアドレスを内部アドレスバス10へ出力し、内部リードイネーブル信号を内部リードイネーブル信号線13に出力する。書込み保護回路70は、時刻19にCPU68が内部アドレスバス10と内部リードイネーブル信号線13に各信号を出力したことにより、時刻20に、データ保護バッファ73に保持する値を内部データバス11へ出力する。CPU68は、時刻21に、内部データバス11からデータ保護バッファ73の値を読出す。CPU68は、時刻22に、データ保護バッファ73から読出したデータとメモリ3から読出したデータをソフトウェアで比較する。この比較の結果、不一致の場合は割り込み処理が入った際の書込みが正常に終わっていないことから、再書込みを行う。
CPU68は、時刻23において、時刻11に読出したアドレス保護バッファ72のアドレスを内部アドレスバス10に出力し、時刻21に読出したデータの値を内部データバス11に出力し、内部ライトイネーブル信号を内部ライトイネーブル信号線12に出力する。メモリインタフェース69は、時刻23にCPU68が内部アドレスバス10、内部データバス11および内部ライトイネーブル信号線12に各信号を出力すると、それらの信号を、時刻24に保持し、それらの信号を、時刻25に、外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16を通じて出力する。メモリ3は、時刻25にメモリインタフェース69が外部アドレスバス14、外部データバス15および外部ライトイネーブル信号線16に各信号を出力すると、時刻26に、外部アドレスバス14の示すアドレスに外部データバス15の値を保持する。CPU68は、時刻27に、割り込み処理信号線75に割り込み処理信号としてLを出力して割り込みハンドラ処理を終了し、時刻28より通常の処理を再開する。
以上により、メモリへの書込み中に割り込みが入力された場合に、書込みを途中で打ち切ることにより割り込みの応答性を高めることができる。
本発明のデータ処理装置およびデータ処理方法は、リセットに対して、マスク処理や遅延処理を行うための専用の回路構成を設けることなく、簡単な回路構成で、リセット信号の入力によるメモリへのデータの誤書込みを確実に回避することができるもので、CPUが実行する処理動作によりメモリにデータを読出しおよび書込みする半導体集積回路装置等に適用できる。
本発明の実施の形態1のデータ処理装置の一構成例を示すブロック図 同実施の形態1のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態1のデータ処理装置におけるデータ処理方法2を示す波形図 同実施の形態1のデータ処理装置におけるデータ処理方法3を示す波形図 同実施の形態1のデータ処理装置におけるデータ処理方法4を示す波形図 同実施の形態1のデータ処理装置におけるデータ処理方法5を示す波形図 本発明の実施の形態2のデータ処理装置の一構成例を示すブロック図 本発明の実施の形態3のデータ処理装置の一構成例を示すブロック図 同実施の形態3のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態3のデータ処理装置におけるデータ処理方法2を示す波形図 本発明の実施の形態4のデータ処理装置の一構成例を示すブロック図 同実施の形態4のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態4のデータ処理装置におけるデータ処理方法2を示す波形図 本発明の実施の形態5のデータ処理装置の一構成例を示すブロック図 同実施の形態5のデータ処理装置における書込み保護回路の一構成例を示す回路図 同実施の形態5のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態5のデータ処理装置におけるデータ処理方法2を示す波形図 同実施の形態5のデータ処理装置におけるデータ処理方法3を示す波形図 同実施の形態5のデータ処理装置におけるデータ処理方法4を示す波形図 同実施の形態5のデータ処理装置におけるデータ処理方法5を示す波形図 本発明の実施の形態6のデータ処理装置の一構成例を示すブロック図 同実施の形態6のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態6のデータ処理装置におけるデータ処理方法2を示す波形図 同実施の形態6のデータ処理装置におけるデータ処理方法3を示す波形図 同実施の形態6のデータ処理装置におけるデータ処理方法4を示す波形図 同実施の形態6のデータ処理装置におけるデータ処理方法5を示す波形図 本発明の実施の形態7のデータ処理装置の一構成例を示すブロック図 同実施の形態7のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態7のデータ処理装置におけるデータ処理方法2を示す波形図 同実施の形態7のデータ処理装置におけるデータ処理方法3を示す波形図 同実施の形態7のデータ処理装置におけるデータ処理方法4を示す波形図 本発明の実施の形態8のデータ処理装置の一構成例を示すブロック図 同実施の形態8のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態8のデータ処理装置におけるデータ処理方法2を示す波形図 本発明の実施の形態9のデータ処理装置の一構成例を示すブロック図 同実施の形態9のデータ処理装置におけるデータ処理方法1を示す波形図 同実施の形態9のデータ処理装置における割り込み処理発生時のフロー図 同実施の形態9のデータ処理装置におけるデータ処理方法2を示す波形図 同実施の形態9のデータ処理装置におけるデータ処理方法3を示す波形図
符号の説明
1 CPU
2 メモリインタフェース
3 メモリ
4 書込み保護回路
5 アドレス保護バッファ
6 データ保護バッファ
7 比較結果格納レジスタ
8 比較器
9 半導体集積回路装置(システムLSI)
21 書込み保護回路
22 半導体集積回路装置(システムLSI)
23 メモリインタフェース
24 書込み保護回路
25 比較器
27 半導体集積回路装置(システムLSI)
28 書込み保護回路
29 半導体集積回路装置(システムLSI)
30 再書込み実行フラグ
32 書込み保護回路
33 半導体集積回路装置(システムLSI)
34 CPU
35 メモリインタフェース
37 書込み保護回路
38 チェックサム演算回路
39 ライト用チェックサム格納レジスタ
40 リード用チェックサム格納レジスタ
41 アドレス保護バッファ
42 半導体集積回路装置(システムLSI)
43 CPU
44 メモリインタフェース
45 書込み保護回路
46 状態判定フラグ
48 アドレス保護バッファ
49 データ保護バッファ
50 半導体集積回路装置(システムLSI)
51 メモリインタフェース
52 半導体集積回路装置(システムLSI)
53 リセット信号伸張回路
56 アドレス保護バッファ
57 データ保護バッファ
66 メモリ
67 半導体集積回路装置(システムLSI)
68 CPU
69 メモリインタフェース
70 書込み保護回路
71 再書込み実行フラグ
72 アドレス保護バッファ
73 データ保護バッファ
76 半導体集積回路装置(システムLSI)

Claims (25)

  1. 保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力する書込み保護手段と、
    アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、
    前記書込み保護手段は、
    前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し前記アドレス値として前記比較手段に出力する第1の保持手段と、
    前記書込み信号が出力された場合、前記データバスのデータを入力して保持し前記データ値として前記比較手段に出力する第2の保持手段と、
    前記読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納される比較結果を前記データバスに出力する第3の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  2. 電源投入処理時にリセットを入力する第1のリセット入力端子と、
    前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、
    前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、
    前記CPUから出力されるアドレスを伝達するアドレスバスと、
    前記CPUから出力される読出し信号を伝達する読出し信号線と、
    前記CPUから出力される書込み信号を伝達する書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、
    前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、
    前記アドレスバス、前記書込み信号線及び前記読出し信号線からの各信号を入力し、前記データバスを入出力し保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し前記論理和演算手段の出力により初期化される書込み保護手段と、
    前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、
    前記書込み保護手段は、
    前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し、前記アドレス値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、
    前記書込み信号が出力された場合、前記データバスのデータを入力して保持し、前記読出し信号が出力され且つ前記データバスのデータが特定の値である場合、格納されるデータを前記データバスに出力し、前記データ値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、
    前記読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納される比較結果を前記データバスに出力し、前記論理和演算手段の出力により初期化される第3の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  3. 請求項2記載のデータ処理装置におけるデータ処理方法であって、
    前記CPUは、
    メモリへの書込みを行うために、前記アドレスバスにアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスにデータを出力し、
    前記書込み保護手段は、
    前記アドレスバスよりアドレスを入力し、前記書込み信号線より書込み信号を入力し、前記データバスよりデータを入力し、
    前記第1の保持手段は、
    前記書込み信号が出力されるため前記アドレスバスのアドレスを入力して保持し、
    前記第2の保持手段は、
    前記書込み信号が出力されるため前記データバスのデータを入力して保持する
    ことを特徴とするデータ処理方法。
  4. 請求項2記載のデータ処理装置におけるデータ処理方法であって、
    前記第2のリセット入力端子にリセットが入力されて解除された後に、
    前記CPUは、
    前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記メモリは、
    前記第1の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、
    前記CPUは、
    前記データバスを入力し、
    前記比較手段は、
    前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、
    前記第3の保持手段は、
    前記読出し信号が出力され且つ前記比較結果有効信号が出力されたため、前記比較結果信号を入力し比較結果として保持する
    ことを特徴とするデータ処理方法。
  5. 電源投入処理時にリセットを入力する第1のリセット入力端子と、
    前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、
    前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、
    前記CPUから出力されるアドレスを伝達するアドレスバスと、
    前記CPUから出力される読出し信号を伝達する読出し信号線と、
    前記CPUから出力される書込み信号を伝達する書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、
    前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、
    前記アドレスバス、前記第1の書込み信号線及び前記読出し信号線からの各信号を入力し、前記データバスからのデータを入出力し、保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し、前記論理和演算手段の出力により初期化される書込み保護手段と、
    前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、
    前記書込み保護手段は、
    前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し、前記アドレス値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、
    前記書込み信号が出力された場合前記データバスのデータを入力して保持し、前記データ値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、
    前記読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納される比較結果を前記データバスに出力し、前記論理和演算手段の出力により初期化される第3の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  6. 請求項5記載のデータ処理装置におけるデータ処理方法であって、
    前記第2のリセット入力端子にリセットが入力されて解除された後に、
    前記CPUは、
    前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記メモリは、
    前記第1の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、
    前記CPUは、
    前記データバスからのデータを入力し、
    前記比較手段は、
    前記アドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、
    前記第3の保持手段は、
    前記読出し信号が出力され且つ前記比較結果有効信号が出力されたため、前記比較結果信号を入力し比較結果として保持し、
    前記CPUは、
    前記第3の保持手段に保持される比較結果を読出すために、前記アドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記書込み信号線に書込み信号を出力し、
    前記第3の保持手段は、
    前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため格納される比較結果を前記データバスに出力し、
    前記CPUは、
    前記データバスからのデータを入力し、前記第3の保持手段より読出した比較結果が異なる結果と判断した場合、前記第1のリセット入力端子からのリセット解除後と同じ動作を行う
    ことを特徴とするデータ処理方法。
  7. 電源投入処理時にリセットを入力する第1のリセット入力端子と、
    前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、
    前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、
    前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、
    前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、
    前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、
    前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、バス要求信号線より伝達されるバス要求信号を入力し、前記論理和演算手段の出力により初期化されるメモリ制御手段と、
    前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、
    前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、
    前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、
    前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、
    前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、
    前記第1のアドレスバス、前記第1の書込み信号線、前記第1のデータバスからの各信号を入力し、前記第2のアドレスバス、前記第2の書込み信号線及び前記第2の読出し信号線からの各信号を入力し、前記第2のデータバスのデータを入出力し、保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し、バス要求信号を出力し、前記論理和演算手段の出力により初期化される書込み保護手段と、
    前記書込み保護手段から出力されるバス要求を伝達するバス要求信号線と、
    前記第2のアドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記第2のデータバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、
    前記書込み保護手段は、
    前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第2の読出し信号が出力され且つ前記第2のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第2のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、
    前記第1の書込み信号が出力された場合、前記第1のデータバスのデータを入力して保持し、前記第2の読出し信号が出力され且つ前記第2のデータバスのデータが特定の値である場合、格納されるデータを前記第2のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、
    前記第2の読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記論理和演算手段の出力により初期化される第3の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  8. 請求項7記載のデータ処理装置におけるデータ処理方法であって、
    前記CPUと前記メモリとのデータのオーバーヘッドを少なくするために、
    前記第2のリセット端子からのリセットが解除された後に、
    前記書込み保護手段が前記メモリ制御手段にバス要求信号を出力し、
    前記メモリ制御手段が、前記第2のアドレスバスと前記第2のデータバスと前記第2の書込み信号線と前記第2の読込み信号線を、前記CPUから解放し、
    前記書込み保護手段がバスマスタとなり、メモリに対してCPUを介さずに直接書込みを行う
    ことを特徴とするデータ処理方法。
  9. 請求項7記載のデータ処理装置におけるデータ処理方法であって、
    前記書込み保護手段が前記メモリ制御手段にバス要求信号を出力し、
    前記メモリ制御手段が、
    前記第2のアドレスバスと前記第2のデータバスと前記第2の書込み信号線と前記第2の読込み信号線を、前記CPUから解放し、
    前記書込み保護手段は、
    前記メモリから読込みを行うために、前記第2のアドレスバスに前記第1の保持手段に格納したアドレスを出力し、前記第2の読込み信号を出力し、
    前記比較手段は、
    前記第2のアドレスバスの値と前記書込み保護手段が出力する値を比較して前記比較結果有効信号を出力し、前記データバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、
    前記第3の保持手段は、
    前記第2の読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、前記比較結果信号を格納し、
    前記書込み保護手段は、
    前記第3に格納した比較結果が異なる結果を示す場合、前記第2のアドレスバスに前記第1の保護手段に格納するアドレス値を出力し、前記第2のデータバスに前記第2の保持手段に格納するデータを出力し、前記第2の書込み信号を出力し、
    前記メモリは、
    前記第2のアドレスバスよりアドレスを入力し、前記第2のデータバスよりデータを入力し、前記第2の書込み信号を入力することにより、前記第2のアドレスバスのアドレスに前記第2のデータバスのデータ値を保持する
    ことを特徴とするデータ処理方法。
  10. 電源投入処理時にリセットを入力する第1のリセット入力端子と、
    前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、
    前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力しメモリとの読出し及び書込みを行うデータを入出力し、入力された2つのデータの比較を行い、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、
    前記CPUから出力されるアドレスを伝達するアドレスバスと、
    前記CPUから出力される読出し信号を伝達する読出し信号線と、
    前記CPUから出力される書込み信号を伝達する書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、
    前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、
    前記アドレスバス、前記書込み信号線、及び前記読出し信号線からの各信号を入力し、前記データバスのデータを入出力し保持するアドレス値とデータ値を出力し、前記論理和演算手段の出力により初期化される書込み保護手段とを備え、
    前記書込み保護手段は、
    前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し前記アドレス値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、
    前記書込み信号が出力された場合、前記データバスのデータを入力して保持し、前記読出し信号が出力され且つ前記データバスのデータが特定の値である場合、格納されるデータを前記データバスに出力し前記データ値として前記比較手段に出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  11. 請求項10記載のデータ処理装置におけるデータ処理方法であって、
    前記第2のリセット入力端子にリセットが入力されて解除された後に、
    前記CPUは、
    前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記メモリは、
    前記第1の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、
    前記CPUは、
    前記データバスのデータを入力し、前記第2の保持手段に保持されるアドレスを読出すために、前記アドレスバスに前記第2の保持手段を特定するアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記第2の保持手段は、
    前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、格納されるデータを前記データバスに出力し、
    前記CPUは、
    前記データバスを入力し、前記メモリから読出したデータバスの値と前記第2の保持手段から読出したデータバスの値との比較をソフトウェアで行い、比較した結果が異なる結果と判断した場合、前記メモリへ前記第2の保持手段に保持されるデータを書き出すために、前記アドレスバスに前記第1の保持手段から読出したアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスに前記第2の保持手段が格納するデータを出力し、
    前記メモリは、
    前記第1の保持手段が保持するアドレスに前記第2の保持手段が格納するデータを格納する
    ことを特徴とするデータ処理方法。
  12. 電源投入処理時にリセットを入力する第1のリセット入力端子と、
    前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、
    前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記論理和演算手段の出力により初期化されるCPUと、
    前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、
    前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、
    前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、
    前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、前記論理和演算手段の出力により初期化されるメモリ制御手段と、
    前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、
    前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、
    前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、
    前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、
    前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、
    前記第1のアドレスバス、前記第1の書込み信号線及び前記第1の読出し信号線からの各信号を入力し、前記第1のデータバスのデータを入出力し、前記第2の書込み信号を入力し保持するアドレス値とデータ値を出力し、比較結果有効信号と比較結果信号とを入力し、前記論理和演算手段の出力により初期化される書込み保護手段と、
    前記第1のアドレスバスのアドレスと前記書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記第1のデータバスのデータと前記書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力する比較手段とを備え、
    前記書込み保護手段は、
    前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第1のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第1の保持手段と、
    前記第1の書込み信号が出力された場合、前記第1のデータバスのデータを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のデータバスのデータが特定の値である場合、格納されるデータを前記第1のデータバスに出力し、前記第1のリセット入力端子より入力されるリセットにより初期化される第2の保持手段と、
    前記第1の読出し信号が出力され且つ前記比較結果有効信号が出力された場合、前記比較結果信号を入力し比較結果として保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納される比較結果を前記第1のデータバスに出力し、前記論理和演算手段の出力により初期化される第3の保持手段と、
    前記第2の書込み信号線から入力される書込み信号に遅延をあたえる遅延バッファと、
    前記遅延バッファより入力される遅延を与えた書込み信号を前記第2のリセット端子のリセットの立ち上がりで保持する第4の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  13. 請求項12記載のデータ処理装置におけるデータ処理方法であって、
    前記第4の保持手段に前記書込み保護手段から前記メモリへ書込みを行うかを判定するための値をセットするために、
    前記メモリ制御手段は、
    前記第2のアドレスバスにアドレスを出力し、前記第2の書込み信号線に書込み信号を出力し、前記第2のデータバスにデータを出力し、
    前記第2のリセット端子は、リセットを入力し、
    前記書込み保護手段は、
    前記メモリ制御手段が前記第2の書込み信号を入力し、前記第2のリセット端子がリセットを入力した場合、前記遅延バッファが出力する遅延を与えた書込み信号の値を、前記第2のリセット端子が入力するリセットの立ち上がりのタイミングで前記第4の保持手段に格納する
    ことを特徴とするデータ処理方法。
  14. 請求項12記載のデータ処理装置におけるデータ処理方法であって、
    前記書込み保護手段から前記メモリへの書込みを行うかを判定するために、
    前記第2のリセット端子は、入力するリセットを解除し、
    前記CPUは、
    前記第1のアドレスバスに第4の保持手段を示す特定のアドレスと前記第1の読込み信号を出力し、
    前記第4の保持手段は、
    前記データバスに保持する値を出力し、
    前記CPUは、
    前記データバスを入力し、前記第4の保持手段から読出した値が書込みを行うことを示す値の場合、前記第1の保持手段に保持されるアドレスを読出すために、前記第1のアドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記第1の読出し信号線に読出し信号を出力し、
    前記第1の保持手段は、
    前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値であるため、格納されるデータを前記第1のデータバスに出力し、
    前記CPUは、
    前記第1のデータバスを入力し、前記メモリより前記第1の保持手段が保持するアドレスに格納するデータを読出すために、前記第1のアドレスバスに前記保持手段より読出したアドレスを出力し、前記第1の読出し信号線に読出し信号を出力し、
    前記メモリ制御手段は、
    前記CPUが第1のアドレスバスと前記第1の読出し信号を出力すると、前記第2のアドレスバスに前記第1のアドレスバスから入力したアドレスを出力し、前記第1の読出し信号線から入力した読出し信号を前記第2の読出し信号線に出力し、
    前記メモリは、
    前記第2のアドレスバス及び前記第2の読出し信号を入力すると、前記第2のデータバスへ前記第2のアドレスバスが示すアドレスの値を出力し、
    前記メモリ制御手段は、
    前記メモリが前記第2のデータバスを入力すると、前記第1のデータバスへ出力し、
    前記CPUは、前記第1のデータバスを入力し、
    前記比較手段は、
    前記第1のアドレスバスのアドレスと前記第1の書込み保護手段が出力する前記アドレス値を比較して前記比較結果有効信号を出力し、前記第1のデータバスのデータと前記第1の書込み保護手段が出力する前記データ値を比較して前記比較結果信号を出力し、
    前記第3の保持手段は、
    前記第1の読出し信号が出力され且つ前記比較結果有効信号が出力されたため、前記比較結果信号を入力し比較結果として保持し、
    前記CPUは、
    前記第3の保持手段に保持される比較結果を読出すために、前記第1のアドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記第1の書込み信号線に書込み信号を出力し、
    前記第3の保持手段は、
    前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値であるため、格納される比較結果を前記データバスに出力し、
    前記CPUは、
    前記データバスを入力し、前記第3の保持手段より読出した比較結果が異なる結果と判断した場合、前記第2の保持手段に保持されるデータを読出すために、前記第1のデータバスに前記第2の保持手段を特定するアドレスを出力し、前記第1の読出し信号線に読出し信号を出力し、
    前記第2の保持手段は、
    前記第1の読出し信号が出力され且つ前記第1のデータバスのデータが特定の値であるため、格納されるデータを前記第1のデータバスに出力し、
    前記CPUは、
    前記第1のデータバスを入力し、前記メモリへ前記第2の保持手段に保持されるデータを書込むために、前記第1のアドレスバスに前記第1の保持手段を特定するアドレスを出力し、前記第1の書込み信号線に書込み信号を出力し、前記第1のデータバスに前記第2の保持手段が格納するデータを出力し、
    前記メモリ制御手段は、
    前記CPUから前記第1のアドレスバス、前記第1のデータバス及び前記第1の書込み信号線の書込み信号が入力されると、前記第2のアドレスバスに前記第1のアドレスバスから入力されたアドレスを出力し、前記第2のデータバスに前記第1のデータバスから入力されたデータを出力し、前記第2の書込み信号線に前記第1の書込み信号線から入力される書込み信号を出力し、
    前記メモリは、
    前記メモリ制御手段から入力される前記第2のアドレスバスのアドレスに前記第2のデータバスのデータを格納する
    ことを特徴とするデータ処理方法。
  15. 電源投入処理時にリセットを入力する第1のリセット入力端子と、
    前記電源投入処理時以外の任意時にリセットを入力する第2のリセット入力端子と、
    前記第1のリセット入力端子のリセットと前記第2のリセット入力端子のリセットとを論理和演算を行い出力する論理和演算手段と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、連続アクセス信号を出力し、前記第1のリセット入力端子、前記第2のリセット入力端子の少なくとも一方のリセットにより初期化されるCPUと、
    前記CPUから出力される連続アクセス信号を伝達する連続アクセス信号線と、
    前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、
    前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、
    前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、
    前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力してメモリからのデータを前記第1のデータバスに出力し、前記連続アクセス信号線より連続アクセス信号が入力された場合、前記第1のアドレスバスより伝達されるアドレスを連続して変化させてメモリへ出力し、前記第1のデータバスより伝達されるデータを連続してメモリへ出力し、前記第2のデータバスより伝達されるデータを連続して前記第1のデータバスへ出力し、前記論理和演算手段の出力により初期化されるメモリ制御手段と、
    前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、
    前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、
    前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、
    前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、
    前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、
    前記第1のアドレスバス、前記第1の書込み信号線及び前記第1の読出し信号線からの各信号を入力し、前記第1のデータバスを入出力し、前記連続アクセス信号を入力し、保持するアドレス値とチェックサムの値を出力し、前記論理和演算手段からの出力により初期化される書込み保護手段とを備え、
    前記書込み保護手段は、
    前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第1のデータバスに出力する第1の保持手段と、
    前記連続アクセス信号と前記第1の書込み信号及び前記第1の読出し信号と前記第1のデータバスから連続してデータが入力されると、入力されるデータを加算してチェックサムを算出するチェックサム演算手段とを備え、
    前記チェックサム演算手段は、
    前記第1の書込み信号を入力し、前記チェックサム演算手段により算出されるチェックサムを入力すると、値を格納し前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力する第2の保持手段と、
    前記第1の読出し信号を入力し、前記チェックサム演算手段により算出されるチェックサムを入力すると値を格納し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力する第3の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  16. 請求項15記載のデータ処理装置におけるデータ処理方法であって、
    前記CPUは、
    前記メモリへの書込みを行うために、前記連続アクセス信号線に連続アクセス信号を出力し、前記第1のアドレスバスにアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスに連続してデータを出力し、
    前記書込み保護手段は、
    前記連続アクセス信号を入力し、前記第1のアドレスバスよりアドレスを入力し、前記第1の書込み信号線より書込み信号を入力し、前記第1の読出し信号線より読出し信号を入力し、前記第1のデータバスよりデータを入力し、
    前記第1の保持手段は、
    前記第1の書込み信号と前記第1のアドレスバスのアドレスを入力されると、前記第1のアドレスバスの値を保持し、
    前記チェックサム演算手段は、
    前記第1の書込み信号線が書込み信号を入力し、前記データバスから連続してデータを入力すると、データの値を加算してチェックサムを算出し、第2の保持手段へ格納する
    ことを特徴とするデータ処理方法。
  17. 請求項15記載のデータ処理装置におけるデータ処理方法であって、
    前記CPUは、
    前記メモリから読出しを行うために、前記連続アクセス信号線に連続アクセス信号を出力し、前記第1のアドレスバスにアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記メモリ制御手段は、
    前記CPUから連続アクセス信号を入力し、前記第1のアドレスバスにアドレスを入力し、前記第1の読出し信号を入力すると、前記第1のアドレスバスの値を前記第2のアドレスバスに連続して変化させて出力し、第2の読出し信号を出力し、
    前記メモリは、
    第2の読出し信号を入力し、前記第2のアドレスバスに連続してアドレスを入力すると、
    前記第2のアドレスバスの入力するアドレスの値を前記第2のデータバスに連続して出力し、
    前記メモリ制御手段は、
    前記メモリが前記第2のデータバスに連続してデータを出力すると、前記第1のデータバスに連続してデータを出力し、
    前記チェックサム演算手段は、
    前記第1の読出し信号線が読出し信号を入力し、前記第1のデータバスからデータを連続で入力すると、データの値を加算してチェックサムを算出し第3の保持手段へ格納する
    ことを特徴とするデータ処理方法。
  18. 請求項15記載のデータ処理装置におけるデータ処理方法であって、
    前記第2の保持手段と前記第3の保持手段のデータを比較するために、
    前記CPUは、
    前記第1のアドレスバスに前記第2の保持手段を示すアドレスを出力し、前記第1の読出し信号を出力し、
    前記書込み保護手段は、
    前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、第2の保持手段に格納されるチェックサムを前記第1のデータバスに出力し、
    前記CPUは、
    前記第1のデータバスからデータを入力し、前記第1のアドレスバスに前記第3の保持手段を示すアドレスを出力し、前記第1の読出し信号を出力し、
    前記書込み保護手段は、
    前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、第3の保持手段に格納されるチェックサムを前記第1のデータバスに出力し、
    前記CPUは、
    前記第1のデータバスからデータを入力し、前記第2の保持手段から読出したデータバスの値と前記第3の保持手段から読出したデータバスの値との比較をソフトウェアで行う
    ことを特徴とするデータ処理方法。
  19. 電源投入処理時および任意時にリセットを入力するリセット入力端子と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、入力された2つのデータの比較を行い、前記リセット入力端子のリセットにより初期化されるCPUと、
    前記CPUから出力されるアドレスを伝達するアドレスバスと、
    前記CPUから出力される読出し信号を伝達する読出し信号線と、
    前記CPUから出力される書込み信号を伝達する書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達するデータバスと、
    前記CPUから、前記アドレスバスより伝達されるアドレスを入力し、前記読出し信号線より伝達される読出し信号を入力した場合、前記アドレスバスより入力したアドレスに格納されるデータを前記データバスに出力し、前記書込み信号線より伝達される書込み信号を入力した場合、前記データバスより伝達されたデータを前記アドレスバスより入力したアドレスに格納するメモリと、
    電源投入後にLowを保持し、前記CPUより前記書込み信号を入力し、前記データバスにHighを入力し、前記アドレスバスのアドレスが特定の値を入力すると、前記データバスにHighを保持し、前記読出し信号を入力し、前記アドレスバスのアドレスが特定の値を入力すると、前記データバスに保持する値を出力する第1の保持手段と、
    前記アドレスバス、前記書込み信号線、及び前記読出し信号線を入力し、前記データバスを入出力し、保持するアドレス値とデータ値を出力し、前記リセット入力端子より入力されるリセットにより初期化される書込み保護手段とを備え、
    前記書込み保護手段は、
    前記書込み信号が出力された場合、前記アドレスバスのアドレスを入力して保持し、前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値である場合、格納されるデータを前記データバスに出力し、前記アドレス値として前記比較手段に出力し、前記リセット入力端子より入力されるリセットにより初期化される第2の保持手段と、
    前記書込み信号が出力された場合、前記データバスのデータを入力して保持し、前記読出し信号が出力され且つ前記データバスのデータが特定の値である場合、格納されるデータを前記データバスに出力し、前記データ値として前記比較手段に出力し、前記リセット入力端子より入力されるリセットにより初期化される第3の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  20. 請求項19記載のデータ処理装置におけるデータ処理方法であって、
    前記第1の保持手段は、電源投入時にLowを保持し、
    前記リセットが入力されて解除された後に、
    前記CPUは、
    前記リセットが電源投入時のリセットかどうかを判別するために、前記アドレスバスに前記第1の保持手段を示す特定のアドレスを出力し、前記読出し信号を出力し、
    前記第1の保持手段は、
    前記CPUが前記アドレスバスに特定のアドレスを出力し前記読出し信号を出力すると、格納する値を前記データバスに出力し、
    前記CPUは、
    前記データバスより前記第1の保持手段のデータを入力し、前記第1の保持手段より読込んだ値が電源投入時を示すLowの場合のみ前記第1の保持手段に値を設定するために、前記アドレスバスに第1の保持手段を示す特定の値を出力し、前記書込み信号を出力し、前記データバスに電源投入時ではないことを示すHighを出力し、
    前記第1の保持手段は、
    前記書込み信号が出力され前記アドレスバスが出力されると、前記データバスの値を格納し、
    前記CPUは、
    前記第2の保持手段に保持されるアドレスを読出すために、前記アドレスバスに前記第2の保持手段を特定するアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記第2の保持手段は、
    前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、格納されるデータを前記データバスに出力し、
    前記CPUは、
    前記データバスを入力し、前記メモリより前記第2の保持手段が保持するアドレスに格納するデータを読出すために、前記第2のアドレスバスに前記保持手段より読出したアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記メモリは、
    前記第2の保持手段が保持するアドレスに格納するデータを前記データバスに出力し、
    前記CPUは、
    前記データバスを入力し、前記第3の保持手段に保持されるアドレスを読出すために、前記アドレスバスに前記第3の保持手段を特定するアドレスを出力し、前記読出し信号線に読出し信号を出力し、
    前記第3の保持手段は、
    前記読出し信号が出力され且つ前記アドレスバスのアドレスが特定の値であるため、格納されるデータを前記データバスに出力し、
    前記CPUは、
    前記データバスを入力し、前記メモリから読出したデータバスの値と前記第3の保持手段から読出したデータバスの値との比較をソフトウェアで行い、比較した結果が異なる結果と判断した場合、前記CPUは前記メモリへ前記第3の保持手段に保持されるデータを書込むために、前記アドレスバスに前記第2の保持手段から読出したアドレスを出力し、前記書込み信号線に書込み信号を出力し、前記データバスに前記第3の保持手段が格納するデータを出力し、
    前記メモリは、
    前記第2の保持手段が保持するアドレスに前記第3の保持手段が格納するデータを格納する
    ことを特徴とするデータ処理方法。
  21. 電源投入処理時および任意時にリセットを入力するリセット入力端子と、
    前記リセット端子からのリセットを入力し、リセットの立ち上がりのタイミングで出力し、リセットの立ち下がりのタイミングから一定時間後まで伸張して出力するリセット信号伸張手段と、
    前記リセット信号伸張手段から入力する伸張したリセット信号に対して遅延を与える遅延手段と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、前記遅延手段により入力される伸張したリセット信号に遅延を与えたリセットにより初期化されるCPUと、
    前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、
    前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、
    前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、
    前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、前記遅延手段により入力される伸張したリセット信号に遅延を与えたリセットにより初期化されるメモリ制御手段と、
    前記CPUから、前記メモリ制御手段より入力される書込み信号を保持し、メモリへ書込み信号を出力する第1の保持手段と、
    前記CPUから、前記メモリ制御手段より出力されるアドレスを伝達する第2のアドレスバスと、
    前記CPUから、前記メモリ制御手段より出力される書込み信号を伝達する第2の書込み信号線と、
    前記CPUから、前記メモリ制御手段より出力されるデータを伝達する第2のデータバスと、
    前記CPUから、前記第1の保持手段より出力される書込み信号を伝達する第3の書込み信号線と、
    前記メモリ制御手段から、前記第2のアドレスバスより伝達されるアドレスを入力し、前記第1の保持手段から、前記第3の書込み信号線より伝達される書込み信号を入力した場合、前記メモリ制御手段から、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、
    電源投入後にLowを保持し、前記CPUより前記書込み信号を入力し、前記データバスにHighを入力し、前記アドレスバスのアドレスが特定の値を入力すると、前記データバスにHighを保持し、前記読出し信号を入力し前記アドレスバスのアドレスが特定の値を入力すると、前記データバスに保持する値を出力する第2の保持手段とを備え、
    前記書込み制御手段は、
    前記第1の書込み信号が出力された場合前記第1のアドレスバスのアドレスを入力して保持する第3の保持手段と、
    前記第1の書込み信号が出力された場合前記第1のデータバスのデータを入力して保持する第4の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  22. 請求項21記載のデータ処理装置におけるデータ処理方法であって、
    前記第3の書込み信号は、前記メモリへの書込み完了後に、前記第2のアドレスバスおよび前記第2のデータバスの値が変化するよりも先に立ち下がる必要があるため、
    前記CPUは、
    前記第1のアドレスバスにアドレスを出力し、前記第1のデータバスにデータを出力し、前記第1の書込み信号線に書込み信号を出力し、
    前記メモリ制御手段は、
    前記CPUから前記第1のアドレスバスが入力されると、前記第3の保持手段へアドレスを格納し、前記第2のアドレスバスへ出力し、前記第1のデータバスが入力されると、前記第4の保持手段へデータを格納し、前記第2のデータバスへ出力し、前記第1の書込み信号が入力されると、前記第2の書込み信号線に出力し、
    前記第1の保護手段は、
    前記メモリ制御手段が前記第2の書込み信号を入力すると、前記リセット信号伸張手段からはリセットが入力されていないため、前記第3の書込み信号線に出力し、
    前記リセット入力端子は、リセットを入力し、
    前記リセット信号伸張手段は、
    リセット入力端子よりリセットを入力すると、リセットの立ち上がりのタイミングで出力し、リセットの立ち下がりのタイミングから一定時間後まで伸張して前記第1の保持手段と前記遅延手段へ出力し、
    前記第1の保持手段は、
    ゲート端子に前記リセット信号伸張手段より立ち下がりタイミングを伸張したリセットが入力されると、前記メモリ制御手段から入力される前記第2の書込み信号を保持し、前記第3の書込み信号線に出力し、
    前記遅延手段は、
    前記リセット信号伸張手段から入力されるリセットに遅延を与え前記メモリ制御手段へ出力し、
    前記メモリ制御手段は、
    前記遅延手段がリセットを伸張して遅延を与えたリセットが入力されると、前記第3の保持手段と前記第4の保持手段を除いて初期化され、前記第2の書込み信号は立ち下がり、
    前記リセット入力端子は、一定時間後にリセットの入力を解除し、
    前記リセット信号伸張手段は、
    前記リセット入力端子から入力されるリセットの立ち下がりタイミングを一定時間遅延させてから立ち下がり、
    前記第1保持手段は、
    前記リセット信号伸張手段からのリセットが解除されると、前記メモリ制御手段から前記第2の書込み手段へ書込み信号が出力されていないため、前記第3の書込み信号線に出力していた書込み信号を立ち下げる
    ことを特徴とするデータ処理方法。
  23. 電源投入処理時および任意時にリセットを入力するリセット入力端子と、
    メモリからの読出し及びメモリへの書込みを行うアドレス、読出し信号及び書込み信号を出力し、メモリとの読出し及び書込みを行うデータを入出力し、割り込み処理発生時に割り込み処理信号と書込みキャンセル信号を出力し、入力された2つのデータの比較を行い、前記リセット入力端子のリセットにより初期化されるCPUと、
    前記CPUから出力される割り込み処理信号を伝達する割り込み処理信号線と、
    前記CPUから出力される書込みキャンセル信号を伝達する書込みキャンセル信号線と、
    前記CPUから出力されるアドレスを伝達する第1のアドレスバスと、
    前記CPUから出力される読出し信号を伝達する第1の読出し信号線と、
    前記CPUから出力される書込み信号を伝達する第1の書込み信号線と、
    前記CPUから出力されるデータと前記CPUに入力されるデータとを伝達する第1のデータバスと、
    前記CPUから、前記第1のデータバスより伝達されるデータを入力してメモリへアドレスを出力して、メモリからのデータを前記第1のデータバスに出力し、前記書込みキャンセル信号線より伝達される書込みキャンセル信号を入力して、メモリへ出力する書込み信号の出力を中止し、前記リセット入力端子のリセットにより初期化されるメモリ制御手段と、
    前記メモリ制御手段から出力されるアドレスを伝達する第2のアドレスバスと、
    前記メモリ制御手段から出力される読出し信号を伝達する第2の読出し信号線と、
    前記メモリ制御手段から出力される書込み信号を伝達する第2の書込み信号線と、
    前記メモリ制御手段から出力されるデータと前記メモリ制御手段に入力されるデータとを伝達する第2のデータバスと、
    前記第2のアドレスバスより伝達されるアドレスを入力し、前記第2の読出し信号線より伝達される読出し信号を入力した場合、前記第2のアドレスバスより入力したアドレスに格納されるデータを前記第2のデータバスに出力し、前記第2の書込み信号線より伝達される書込み信号を入力した場合、前記第2のデータバスより伝達されたデータを前記第2のアドレスバスより入力したアドレスに格納するメモリと、
    前記第1のアドレスバス、前記第1の書込み信号線及び前記第1の読出し信号線を入力し、前記第1のデータバスを入出力し、前記第2の書込み信号を入力し、保持するアドレス値とデータ値を出力し、前記リセットの入力により初期化される書込み保護手段と、
    電源投入後にLowを保持し、前記CPUより前記第1の書込み信号を入力し、前記第1データバスにHighを入力し、前記第1のアドレスバスのアドレスが特定の値を入力すると、前記第1のデータバスにHighを保持し、前記第1の読出し信号を入力し、前記第1のアドレスバスのアドレスが特定の値を入力すると、前記第1のデータバスに保持する値を出力する第1の保持手段とを備え、
    前記書込み保護手段は、
    前記第1の書込み信号が出力された場合、前記第1のアドレスバスのアドレスを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、格納されるデータを前記第1のデータバスに出力する第2の保持手段と、
    前記第1の書込み信号が出力され且つ前記割り込み処理信号が入力された場合、前記第1のデータバスのデータを入力して保持し、前記第1の読出し信号が出力され且つ前記第1のデータバスのデータが特定の値である場合、格納されるデータを前記第1のデータバスに出力する第3の保持手段と、
    前記第2の書込み信号が出力され、且つ前記割り込み処理信号が立ち上がった場合、再書込みを行うことを示す特定の値を保持し、前記第1の読出し信号が出力され且つ前記第1のアドレスバスのアドレスが特定の値である場合、保持される値を前記第1のデータバスに出力する第4の保持手段とを備えた
    ことを特徴とするデータ処理装置。
  24. 請求項23記載のデータ処理装置におけるデータ処理方法であって、
    前記第2の保持手段、及び前記第3の保持手段は割り込み処理中に値が変化しないようにする必要があるため、
    前記CPUは、
    割り込み処理発生時に、前記割り込み処理信号を前記書込み保護手段へ出力し、
    前記書込み保護手段は、
    前記第1の書込み信号が出力され且つ前記割り込み処理信号が入力された場合、前記第1のアドレスバスのデータを前記第2の保持手段へ格納し、前記第1のデータバスのデータを前記第3の保持手段へ格納する
    ことを特徴とするデータ処理方法。
  25. 請求項23記載のデータ処理装置におけるデータ処理方法であって、
    前記メモリへの書込み中に割り込み処理が発生したことを判定するため、
    前記メモリ制御手段は、
    割り込み処理発生時に前記CPUが入力する前記割り込み処理発生信号の立ち上がりのタイミングで前記第2の書込み信号を第4の保持手段へ格納する
    ことを特徴とするデータ処理方法。
JP2006024002A 2006-02-01 2006-02-01 データ処理装置およびデータ処理方法 Pending JP2007206909A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006024002A JP2007206909A (ja) 2006-02-01 2006-02-01 データ処理装置およびデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006024002A JP2007206909A (ja) 2006-02-01 2006-02-01 データ処理装置およびデータ処理方法

Publications (1)

Publication Number Publication Date
JP2007206909A true JP2007206909A (ja) 2007-08-16

Family

ID=38486339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006024002A Pending JP2007206909A (ja) 2006-02-01 2006-02-01 データ処理装置およびデータ処理方法

Country Status (1)

Country Link
JP (1) JP2007206909A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459680B2 (en) 2012-07-26 2016-10-04 Samsung Electronics Co., Ltd. System on chip and temperature control method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459680B2 (en) 2012-07-26 2016-10-04 Samsung Electronics Co., Ltd. System on chip and temperature control method thereof

Similar Documents

Publication Publication Date Title
US12001689B2 (en) Transparently attached flash memory security
US20080016415A1 (en) Evaluation system and method
US20150046759A1 (en) Semiconductor integrated circuit device
KR100614639B1 (ko) 쓰기 방지 가능한 버퍼 메모리를 갖는 메모리 장치 및그것을 포함하는 정보 처리 시스템
JP5622429B2 (ja) マイクロコンピュータ
US20050060690A1 (en) Microprocessor system with software emulation processed by auxiliary hardware
US5928348A (en) Method of processing interrupt requests and information processing apparatus using the method
JP2007206909A (ja) データ処理装置およびデータ処理方法
JP2003015958A (ja) ライトプロテクト方法
JP6813513B2 (ja) プロセッサシステムのプログラムカウンタ構造を保護する方法及び装置並びに中断要求の処理を監視する方法及び装置
EP3428799B1 (en) Data access device and access error notification method
JP2009009270A (ja) 論理検証装置、論理検証方法
JP2008059191A (ja) マイクロコントローラとそのデバッグ方法
JP6645467B2 (ja) マイクロコンピュータ
US20190213118A1 (en) Method and device for processing binary code data
JP2010072888A (ja) Dma転送制御システム
JPH0782447B2 (ja) Dmaデータ転送制御装置
JP4370227B2 (ja) プロセッサ
JP5823000B2 (ja) マイクロコンピュータ
JP2004185060A (ja) マイクロコンピュータ
KR20060038981A (ko) 쓰기 방지 가능한 버퍼 메모리를 갖는 메모리 장치 및그것을 포함하는 정보 처리 시스템
JP2006127017A (ja) 論理検証手法
JP2003223339A (ja) インサーキットエミュレータ
JP2003177957A (ja) メモリ制御回路
JPH04195641A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080430