JP2001290712A - メモリ保護装置 - Google Patents
メモリ保護装置Info
- Publication number
- JP2001290712A JP2001290712A JP2000104652A JP2000104652A JP2001290712A JP 2001290712 A JP2001290712 A JP 2001290712A JP 2000104652 A JP2000104652 A JP 2000104652A JP 2000104652 A JP2000104652 A JP 2000104652A JP 2001290712 A JP2001290712 A JP 2001290712A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- cpu
- main memory
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 マイクロコンピュータの異常動作によるメモ
リデータ保護においては、書き込みモードや書き込み信
号にある種の制限を与える方法が一般的であるが、これ
では書き込みモード設定や書き込み信号に与えられた制
御信号に異常があれば、暴走検出回路が動作するまでの
間重要なメモリデータが破壊される可能性がある。 【解決手段】 CPUとデータのやり取りを行うメイン
メモリとの間にCPUからの書き込みデータを一時保管
するキャッシュ機能を備えたサブメモリを設けて、CP
Uからは直接メインメモリに書き込み出来ないようにす
る。そして、メインメモリのデータの書き換えはマイク
ロコンピュータの暴走を検出するウォッチドックタイマ
のクリア信号を起動要因として、サブメモリからメイン
メモリへデータの書き換えを行えるようにする。
リデータ保護においては、書き込みモードや書き込み信
号にある種の制限を与える方法が一般的であるが、これ
では書き込みモード設定や書き込み信号に与えられた制
御信号に異常があれば、暴走検出回路が動作するまでの
間重要なメモリデータが破壊される可能性がある。 【解決手段】 CPUとデータのやり取りを行うメイン
メモリとの間にCPUからの書き込みデータを一時保管
するキャッシュ機能を備えたサブメモリを設けて、CP
Uからは直接メインメモリに書き込み出来ないようにす
る。そして、メインメモリのデータの書き換えはマイク
ロコンピュータの暴走を検出するウォッチドックタイマ
のクリア信号を起動要因として、サブメモリからメイン
メモリへデータの書き換えを行えるようにする。
Description
【0001】
【発明の属する技術分野】本発明はLSIのメモリ保護
装置であり、特にマイクロコンピュータの異常動作によ
るメモリデータ破壊を防ぐメモリ保護装置に関する。
装置であり、特にマイクロコンピュータの異常動作によ
るメモリデータ破壊を防ぐメモリ保護装置に関する。
【0002】
【従来の技術】従来のLSIのメモリ保護装置では、メ
モリに書き込みが出来る領域と書き込みの出来ない領域
を設けたり、書き込みモードや書き込み信号にある種の
制限を与えることで、誤書き込みによるデータ破壊から
重要なメモリデータを保護する。
モリに書き込みが出来る領域と書き込みの出来ない領域
を設けたり、書き込みモードや書き込み信号にある種の
制限を与えることで、誤書き込みによるデータ破壊から
重要なメモリデータを保護する。
【0003】
【発明が解決しようとする課題】しかしながら上記従来
技術によれば、マイクロコンピュータの異常動作によ
り、書き込みモード設定や書き込み信号に与えられた制
御信号が正常である保証はなく、異常があった場合、暴
走検出回路が動作するまでの間重要なメモリデータが破
壊される可能性があり、重要なメモリデータを保証でき
ないという問題点があった。
技術によれば、マイクロコンピュータの異常動作によ
り、書き込みモード設定や書き込み信号に与えられた制
御信号が正常である保証はなく、異常があった場合、暴
走検出回路が動作するまでの間重要なメモリデータが破
壊される可能性があり、重要なメモリデータを保証でき
ないという問題点があった。
【0004】
【課題を解決するための手段】本発明の第1の発明は、
CPUと、メインメモリと、前記CPUとデータのやり
取りを行う前記メインメモリとの間にCPUからの書き
込みデータを一時保管するキャッシュ機能を備えたサブ
メモリと、マイクロコンピュータの暴走を検出するウォ
ッチドックタイマのクリア信号により、前記サブメモリ
に前記メインメモリの書き換えデータとして一時保管さ
れたデータをメインメモリへ書き換え処理制御を行うと
共にデータ更新要求である更新リクエスト信号を発生す
るデータ更新制御手段を備えることにより、CPUから
メモリへのデータ書き込みに対しては、メインメモリへ
書き込みを行わずキャッシュメモリに書き込み、ウォッ
チドックタイマのクリア信号が出力されるとデータ更新
制御手段がメインメモリにデータの書き込みを行うよう
にしたものである。
CPUと、メインメモリと、前記CPUとデータのやり
取りを行う前記メインメモリとの間にCPUからの書き
込みデータを一時保管するキャッシュ機能を備えたサブ
メモリと、マイクロコンピュータの暴走を検出するウォ
ッチドックタイマのクリア信号により、前記サブメモリ
に前記メインメモリの書き換えデータとして一時保管さ
れたデータをメインメモリへ書き換え処理制御を行うと
共にデータ更新要求である更新リクエスト信号を発生す
るデータ更新制御手段を備えることにより、CPUから
メモリへのデータ書き込みに対しては、メインメモリへ
書き込みを行わずキャッシュメモリに書き込み、ウォッ
チドックタイマのクリア信号が出力されるとデータ更新
制御手段がメインメモリにデータの書き込みを行うよう
にしたものである。
【0005】本発明の第2の発明は、上述のLSIのメ
モリ保護装置において、サブメモリからメインメモリに
データ書き換え処理を実行中にCPUがサブメモリへの
ライトアクセスを生じた場合、CPUを一時停止させる
クロック制御手段を備えることで、データ更新時メモリ
への書き込み要求が発生するとCPU停止させるように
したものである。
モリ保護装置において、サブメモリからメインメモリに
データ書き換え処理を実行中にCPUがサブメモリへの
ライトアクセスを生じた場合、CPUを一時停止させる
クロック制御手段を備えることで、データ更新時メモリ
への書き込み要求が発生するとCPU停止させるように
したものである。
【0006】本発明の第1、2の発明によれば、暴走検
出回路の制御によって、メモリデータの更新を実行する
ため、マイクロコンピュータがノイズやプログラムの要
因によって異常動作(暴走)を起すことによるメモリ内
の重要なデータの破壊を防ぐことができる。また、CP
Uのメモリアクセス状態を監視及び制御する機能を持た
せることで、メモリデータ書き換え処理実行中であって
も、サブメモリへの書き込み要求がない限りCPUの処
理とメインメモリへのデータ書き換え処理を並列で行え
るため、効率的なメモリ保護が可能である。
出回路の制御によって、メモリデータの更新を実行する
ため、マイクロコンピュータがノイズやプログラムの要
因によって異常動作(暴走)を起すことによるメモリ内
の重要なデータの破壊を防ぐことができる。また、CP
Uのメモリアクセス状態を監視及び制御する機能を持た
せることで、メモリデータ書き換え処理実行中であって
も、サブメモリへの書き込み要求がない限りCPUの処
理とメインメモリへのデータ書き換え処理を並列で行え
るため、効率的なメモリ保護が可能である。
【0007】
【発明の実施の形態】以下、本発明の実施の形態につい
て、実施例の図面を用いて説明する。
て、実施例の図面を用いて説明する。
【0008】図1は、本発明のLSIのメモリ保護装置
の基本構成を示すブロック図、図2はデータを一時保管
するキャッシュメモリのメモリ構成図、図3はその応用
例、図4〜7はメモリ内のデータの流れを示す。まず、
図1、2から詳細に説明する。
の基本構成を示すブロック図、図2はデータを一時保管
するキャッシュメモリのメモリ構成図、図3はその応用
例、図4〜7はメモリ内のデータの流れを示す。まず、
図1、2から詳細に説明する。
【0009】図1に示すように本メモリ保護装置は、C
PU1、キャッシュメモリ(揮発性)2、メインメモリ
(不揮発性)3、データ更新制御手段4で構成される。
PU1、キャッシュメモリ(揮発性)2、メインメモリ
(不揮発性)3、データ更新制御手段4で構成される。
【0010】キャッシュメモリ2は、CPU1とメイン
メモリ3とのアクセスデータを一時保管する揮発性メモ
リである。
メモリ3とのアクセスデータを一時保管する揮発性メモ
リである。
【0011】メインメモリ3は、重要なデータを格納し
ておく不揮発性メモリで、キャッシュメモリ2間のアク
セスのみ可能とする。
ておく不揮発性メモリで、キャッシュメモリ2間のアク
セスのみ可能とする。
【0012】データ更新制御手段4は、キャッシュメモ
リ2に一時保管されたメインメモリ3への書き換えデー
タをCPU1からのウォッチドックタイマのクリア信号
10を起動要因として、キャッシュメモリ2からメイン
メモリ3にデータを更新する場合のキャッシュメモリ2
のエントリ選択制御とデータ更新制御を行うと共に、デ
ータ更新要求である更新リクエスト信号11を発生す
る。
リ2に一時保管されたメインメモリ3への書き換えデー
タをCPU1からのウォッチドックタイマのクリア信号
10を起動要因として、キャッシュメモリ2からメイン
メモリ3にデータを更新する場合のキャッシュメモリ2
のエントリ選択制御とデータ更新制御を行うと共に、デ
ータ更新要求である更新リクエスト信号11を発生す
る。
【0013】図2はキャッシュメモリ2のメモリマップ
を示している。1つのエントリには、アドレスを格納す
るアドレス領域と、データを格納するデータ領域と、エ
ントリデータが置かれていることを意味するバリッドビ
ット(V)と、エントリに書き込みが行われたことによ
るメインメモリ3のデータの値とエントリの値とが異な
っていることを示すダーティビット(D)とから構成さ
れる。
を示している。1つのエントリには、アドレスを格納す
るアドレス領域と、データを格納するデータ領域と、エ
ントリデータが置かれていることを意味するバリッドビ
ット(V)と、エントリに書き込みが行われたことによ
るメインメモリ3のデータの値とエントリの値とが異な
っていることを示すダーティビット(D)とから構成さ
れる。
【0014】次に前記実施の形態の動作を説明する。
【0015】まず、通常動作時のCPU1とメモリ間の
データの流れについて図4を用いて説明する。図4には
4つのエントリがあり、メインメモリ3にA,B,C,
Dの4つのデータを読み書きする場合を図示している。
データの流れについて図4を用いて説明する。図4には
4つのエントリがあり、メインメモリ3にA,B,C,
Dの4つのデータを読み書きする場合を図示している。
【0016】まず初期状態、CPU1がメインメモリ3
のデータAをリードする場合、CPU1からのデータA
のアドレス値とキャッシュメモリ2に格納されているア
ドレス値と比較を行う。比較の結果、一致するエントリ
がないのでバリッドビット(V)が’0’(初期値’
0’)のエントリ0にメインメモリ3のデータAのアド
レスとデータを格納し、バリッドビット(V)を’1’
にした後、データバスを経由してデータAがCPU1に
送られる。次に、CPU1がメインメモリ3にデータB
をライトする場合、リード時と同様にCPU1からのデ
ータBのアドレスとキャッシュメモリ2に格納されてい
るアドレスと比較を行う。比較の結果、一致するエント
リがないのでバリッドビット(V)が’0’のエントリ
1にメインメモリ3へのライトデータBのアドレスとデ
ータを格納し、バリッドビット(V)とダーティビット
(D)を’1’にする。次に、CPU1がメインメモリ
3のデータCをリードする場合、データAのリード時と
同様にCPU1からのデータCのアドレスとキャッシュ
メモリ2に格納されているアドレスと比較を行う。比較
の結果、一致するエントリがないのでバリッドビット
(V)が’0’のエントリ2にメインメモリ3のデータ
Cのアドレスとデータを格納し、バリッドビット(V)
を’1’にした後、データバスを経由してデータCがC
PU1に送られる。次に、CPU1がメインメモリ3の
データDをリードする場合、データAのリードと同様に
CPU1からのデータDのアドレスとキャッシュメモリ
2に格納されているアドレスと比較を行う。比較の結
果、一致するエントリがないのでバリッドビット(V)
が’0’のエントリ3にメインメモリ3のデータDのア
ドレスとデータを格納し、バリッドビット(V)を’
1’にした後、データバスを経由してデータDがCPU
1に送られる。更に、CPU1がメインメモリ3にデー
タAをライトする場合、リード時と同様にCPU1から
のデータAのアドレスとキャッシュメモリ2に格納され
ているアドレスと比較を行う。比較の結果、一致するエ
ントリがエントリ0に既に存在するため、エントリ0に
メインメモリ3へのライトデータAを格納し、ダーティ
ビット(D)を’1’にする。
のデータAをリードする場合、CPU1からのデータA
のアドレス値とキャッシュメモリ2に格納されているア
ドレス値と比較を行う。比較の結果、一致するエントリ
がないのでバリッドビット(V)が’0’(初期値’
0’)のエントリ0にメインメモリ3のデータAのアド
レスとデータを格納し、バリッドビット(V)を’1’
にした後、データバスを経由してデータAがCPU1に
送られる。次に、CPU1がメインメモリ3にデータB
をライトする場合、リード時と同様にCPU1からのデ
ータBのアドレスとキャッシュメモリ2に格納されてい
るアドレスと比較を行う。比較の結果、一致するエント
リがないのでバリッドビット(V)が’0’のエントリ
1にメインメモリ3へのライトデータBのアドレスとデ
ータを格納し、バリッドビット(V)とダーティビット
(D)を’1’にする。次に、CPU1がメインメモリ
3のデータCをリードする場合、データAのリード時と
同様にCPU1からのデータCのアドレスとキャッシュ
メモリ2に格納されているアドレスと比較を行う。比較
の結果、一致するエントリがないのでバリッドビット
(V)が’0’のエントリ2にメインメモリ3のデータ
Cのアドレスとデータを格納し、バリッドビット(V)
を’1’にした後、データバスを経由してデータCがC
PU1に送られる。次に、CPU1がメインメモリ3の
データDをリードする場合、データAのリードと同様に
CPU1からのデータDのアドレスとキャッシュメモリ
2に格納されているアドレスと比較を行う。比較の結
果、一致するエントリがないのでバリッドビット(V)
が’0’のエントリ3にメインメモリ3のデータDのア
ドレスとデータを格納し、バリッドビット(V)を’
1’にした後、データバスを経由してデータDがCPU
1に送られる。更に、CPU1がメインメモリ3にデー
タAをライトする場合、リード時と同様にCPU1から
のデータAのアドレスとキャッシュメモリ2に格納され
ているアドレスと比較を行う。比較の結果、一致するエ
ントリがエントリ0に既に存在するため、エントリ0に
メインメモリ3へのライトデータAを格納し、ダーティ
ビット(D)を’1’にする。
【0017】次に、CPU1からのウォッチドックタイ
マのクリア信号10を起動要因として、キャッシュメモ
リ2からメインメモリ3へデータの更新を行う動作につ
いて、図5を用いて説明する。
マのクリア信号10を起動要因として、キャッシュメモ
リ2からメインメモリ3へデータの更新を行う動作につ
いて、図5を用いて説明する。
【0018】CPU1がウォッチドックタイマのクリア
信号10を発生すると、キャッシュメモリ2に格納され
たメインメモリ3へのライトデータの更新処理に移る。
データ更新制御手段4はウォッチドックタイマのクリア
信号10を受け取ると、更新リクエスト信号11をCP
U1に返す。CPU1は、更新リクエスト信号11を受
けCPU1を停止させた後、CPU1が停止したことを
示すCPUストップ信号12をデータ更新制御手段4に
返す。データ更新制御手段4がCPUストップ信号12
を受理すると、データ更新制御手段4に内蔵されている
データ転送時のみ使用される。キャッシュメモリ2のエ
ントリ選択用のエントリカウンタが動作を開始する。ま
ず、エントリカウンタがキャッシュメモリ2のエントリ
0を示し、ダーティビット(D)の確認を行う。エント
リ0はダーティビット(D)が’1’でメインメモリ3
のデータ書き換えが行われたことを示しているため、メ
インメモリ3のデータAの示すアドレスのデータ値を更
新する。その後、バリッドビット(V)とダーティビッ
ト(D)を’0’にしてエントリカウンタをインクリメ
ントする。次に、エントリカウンタがエントリ1を示
し、エントリ0同様にダーティビット(D)の確認を行
う。エントリ1もダーティビット(D)が’1’でメイ
ンメモリ3のデータ書き換えが行われたことを示してい
るため、メインメモリ3にデータBの示すアドレスのデ
ータを更新する。その後、バリッドビット(V)とダー
ティビット(D)を’0’にしてエントリカウンタをイ
ンクリメントする。次に、エントリカウンタがエントリ
2を示し、ダーティビット(D)の確認を行う。エント
リ2はダーティビット(D)が’0’でメインメモリ3
のデータ書き換えは行われていないため、メインメモリ
3のデータ更新を行わずバリッドビット(V)を’0’
にしてエントリカウンタをインクリメントする。エント
リ3も同様にダーティビット(D)の確認を行い、ダー
ティビット(D)が’0’であるため、メインメモリ3
のデータ更新を行わずバリッドビット(V)を’0’に
してエントリカウンタをインクリメントする。これで全
てのエントリのバリッドビット(V)、ダーティビット
(D)がクリア行われ、全領域空きエリアにしてデータ
更新処理を終了する。データ更新処理終了後、更新リク
エスト信号11を解除して通常のCPU動作に戻り、次
のウォッチドックタイマクリア信号10が発生するまで
通常動作を続ける。また、次のウォッチドックタイマク
リア信号10が発生すると、上記のデータ更新処理を行
う。
信号10を発生すると、キャッシュメモリ2に格納され
たメインメモリ3へのライトデータの更新処理に移る。
データ更新制御手段4はウォッチドックタイマのクリア
信号10を受け取ると、更新リクエスト信号11をCP
U1に返す。CPU1は、更新リクエスト信号11を受
けCPU1を停止させた後、CPU1が停止したことを
示すCPUストップ信号12をデータ更新制御手段4に
返す。データ更新制御手段4がCPUストップ信号12
を受理すると、データ更新制御手段4に内蔵されている
データ転送時のみ使用される。キャッシュメモリ2のエ
ントリ選択用のエントリカウンタが動作を開始する。ま
ず、エントリカウンタがキャッシュメモリ2のエントリ
0を示し、ダーティビット(D)の確認を行う。エント
リ0はダーティビット(D)が’1’でメインメモリ3
のデータ書き換えが行われたことを示しているため、メ
インメモリ3のデータAの示すアドレスのデータ値を更
新する。その後、バリッドビット(V)とダーティビッ
ト(D)を’0’にしてエントリカウンタをインクリメ
ントする。次に、エントリカウンタがエントリ1を示
し、エントリ0同様にダーティビット(D)の確認を行
う。エントリ1もダーティビット(D)が’1’でメイ
ンメモリ3のデータ書き換えが行われたことを示してい
るため、メインメモリ3にデータBの示すアドレスのデ
ータを更新する。その後、バリッドビット(V)とダー
ティビット(D)を’0’にしてエントリカウンタをイ
ンクリメントする。次に、エントリカウンタがエントリ
2を示し、ダーティビット(D)の確認を行う。エント
リ2はダーティビット(D)が’0’でメインメモリ3
のデータ書き換えは行われていないため、メインメモリ
3のデータ更新を行わずバリッドビット(V)を’0’
にしてエントリカウンタをインクリメントする。エント
リ3も同様にダーティビット(D)の確認を行い、ダー
ティビット(D)が’0’であるため、メインメモリ3
のデータ更新を行わずバリッドビット(V)を’0’に
してエントリカウンタをインクリメントする。これで全
てのエントリのバリッドビット(V)、ダーティビット
(D)がクリア行われ、全領域空きエリアにしてデータ
更新処理を終了する。データ更新処理終了後、更新リク
エスト信号11を解除して通常のCPU動作に戻り、次
のウォッチドックタイマクリア信号10が発生するまで
通常動作を続ける。また、次のウォッチドックタイマク
リア信号10が発生すると、上記のデータ更新処理を行
う。
【0019】図3は、本発明の実施例の基本構成である
図1と若干構成を変え、同様の効果を得ることのできる
応用例のフ゛ロック図である。
図1と若干構成を変え、同様の効果を得ることのできる
応用例のフ゛ロック図である。
【0020】同図のメモリ保護装置は、CPU1、キャ
ッシュメモリ(揮発性)2、メインメモリ(不揮発性)
3、データ更新制御手段4、クロック制御手段5で構成
される。キャッシュメモリ2、メインメモリ3は、図1
と同様の機能を備える。
ッシュメモリ(揮発性)2、メインメモリ(不揮発性)
3、データ更新制御手段4、クロック制御手段5で構成
される。キャッシュメモリ2、メインメモリ3は、図1
と同様の機能を備える。
【0021】CPU1は、ウォッチドックタイマクリア
信号10と、実行命令が終了したことを示す更新グラン
ト信号14と、次命令がメインメモリ3へのリードアク
セスである場合、又はライトアクセスである場合にメモ
リリード信号16及びメモリライト信号17を発生する
機能を備える。
信号10と、実行命令が終了したことを示す更新グラン
ト信号14と、次命令がメインメモリ3へのリードアク
セスである場合、又はライトアクセスである場合にメモ
リリード信号16及びメモリライト信号17を発生する
機能を備える。
【0022】クロック制御手段5は、CPU1からの更
新グラント信号14とメモリライト信号17によって、
CPU1がキャッシュメモリ2へライトアクセスを生じ
た場合にCPU1のクロックを一時停止させるWAIT
信号15を発生させる機能を備える。
新グラント信号14とメモリライト信号17によって、
CPU1がキャッシュメモリ2へライトアクセスを生じ
た場合にCPU1のクロックを一時停止させるWAIT
信号15を発生させる機能を備える。
【0023】データ更新制御手段4は、図1の機能から
更にデータ更新処理中にCPU1からのメモリライト信
号17を受けると、キャッシュメモリ2のエントリ選択
を非選択する機能を備える。
更にデータ更新処理中にCPU1からのメモリライト信
号17を受けると、キャッシュメモリ2のエントリ選択
を非選択する機能を備える。
【0024】次に前記実施の形態の動作を説明する。
【0025】通常動作時のCPU1によるメインメモリ
3へのデータのリード/ライトアクセスについては図1
と同様であるため、以降ではウォッチドックタイマのク
リア信号10を起動要因にしたキャッシュメモリ2から
メインメモリ3へのデータ転送処理について図3、6、
7を用いて説明する。
3へのデータのリード/ライトアクセスについては図1
と同様であるため、以降ではウォッチドックタイマのク
リア信号10を起動要因にしたキャッシュメモリ2から
メインメモリ3へのデータ転送処理について図3、6、
7を用いて説明する。
【0026】CPU1がウォッチドックタイマのクリア
信号であるウォッチドックタイマクリア信号10を発生
すると、キャッシュメモリ2に格納されたメインメモリ
3へのライトデータの更新処理に移る。データ更新制御
手段4は、ウォッチドックタイマクリア信号10を受け
取ると、更新リクエスト信号11をCPU1に返す。C
PU1は、更新リクエスト信号11を受け実行中の命令
の処理が完了後、メインメモリ3へのデータ更新処理の
許可を与える更新グラント信号14をデータ更新制御手
段4とクロック制御手段5に与え、CPU1はプログラ
ム処理を継続する。データ更新制御手段4が更新グラン
ト信号14を受理すると、データ更新制御手段4に内蔵
されているデータ更新時のみ使用されるキャッシュメモ
リ2のエントリ選択用のエントリカウンタが動作を開始
する。
信号であるウォッチドックタイマクリア信号10を発生
すると、キャッシュメモリ2に格納されたメインメモリ
3へのライトデータの更新処理に移る。データ更新制御
手段4は、ウォッチドックタイマクリア信号10を受け
取ると、更新リクエスト信号11をCPU1に返す。C
PU1は、更新リクエスト信号11を受け実行中の命令
の処理が完了後、メインメモリ3へのデータ更新処理の
許可を与える更新グラント信号14をデータ更新制御手
段4とクロック制御手段5に与え、CPU1はプログラ
ム処理を継続する。データ更新制御手段4が更新グラン
ト信号14を受理すると、データ更新制御手段4に内蔵
されているデータ更新時のみ使用されるキャッシュメモ
リ2のエントリ選択用のエントリカウンタが動作を開始
する。
【0027】図6、7のようなCPU1の処理とデータ
更新処理が同時に行われる場合について説明する。まず
CPU1が演算処理(Add d0,d1)を実行する場
合、メモリライト信号17は発生されないため、クロッ
ク制御手段5のWAIT信号15が発生されずCPU1
は動作を続ける。同時にデータ更新制御手段4では、エ
ントリカウンタがエントリ0を示し、ダーティビット
(D)の確認を行う。エントリ0はダーティビット
(D)が’1’であるため、メインメモリ3のデータA
の示すアドレスのデータを更新した後、バリッドビット
(V)とダーティビット(D)を’0’にしてエントリ
カウンタをインクリメントする。次に、CPU1がメイ
ンメモリ3のデータCをリードする場合、CPU1から
データ更新制御手段4へメモリリード信号16が与えら
れる。これによりデータ更新制御手段4のエントリカウ
ンタを停止させると共にエントリを非選択としてデータ
更新処理を一時停止させる。そして、CPU1からのデ
ータCのアドレス値とキャッシュメモリ2に格納されて
いるアドレス値と比較を行う。比較の結果、一致するエ
ントリがエントリ2に格納されているので、データバス
を経由してデータCがCPU1に送られる。次に、CP
U1が演算処理(Add d0,d1)を実行する場合、
メモリライト信号17及びメモリリード信号16は発生
されないため、クロック制御手段5のWAIT信号15
が発生されずCPU1は動作を続け、データ更新処理を
再開する。データ更新制御手段4では、エントリカウン
タがエントリ1を示し、ダーティビット(D)の確認を
行う。エントリ1はダーティビット(D)が’1’であ
るため、メインメモリ3のデータBの示すアドレスのデ
ータを更新した後、バリッドビット(V)とダーティビ
ット(D)を’0’にしてエントリカウンタをインクリ
メントする。次に、CPU1がメインメモリ3のデータ
Aをリードする場合、CPU1からデータ更新制御手段
4へメモリリード信号16が与えられる。これによりデ
ータ更新制御手段4のエントリカウンタを停止させると
共にエントリを非選択としてデータ更新処理を一時停止
させる。そして、CPU1からのデータAのアドレス値
とキャッシュメモリ2に格納されているアドレス値と比
較を行う。比較の結果、一致するエントリがないのでバ
リッドビット(V)が’0’のエントリ0にメインメモ
リ3のデータAのアドレスとデータを格納し、バリッド
ビット(V)を’1’にした後、データバスを経由して
データAがCPU1に送られる。次に、CPU1がメイ
ンメモリ3にデータAをライトする場合、CPU1から
クロック制御手段5へメモリライト信号17が与えられ
る。クロック制御手段5は、メモリライト信号17を受
けてCPU1にWAIT信号15を与え、CPU1をデ
ータ更新処理が完了するまで停止させる。同時にデータ
更新制御手段4では、エントリカウンタがエントリ2を
示し、ダーティビット(D)の確認を行う。エントリ2
はダーティビット(D)が’0’であるため、メインメ
モリ3のデータ更新を行わずバリッドビット(V)を’
0’にして、エントリカウンタをインクリメントする。
更新処理が同時に行われる場合について説明する。まず
CPU1が演算処理(Add d0,d1)を実行する場
合、メモリライト信号17は発生されないため、クロッ
ク制御手段5のWAIT信号15が発生されずCPU1
は動作を続ける。同時にデータ更新制御手段4では、エ
ントリカウンタがエントリ0を示し、ダーティビット
(D)の確認を行う。エントリ0はダーティビット
(D)が’1’であるため、メインメモリ3のデータA
の示すアドレスのデータを更新した後、バリッドビット
(V)とダーティビット(D)を’0’にしてエントリ
カウンタをインクリメントする。次に、CPU1がメイ
ンメモリ3のデータCをリードする場合、CPU1から
データ更新制御手段4へメモリリード信号16が与えら
れる。これによりデータ更新制御手段4のエントリカウ
ンタを停止させると共にエントリを非選択としてデータ
更新処理を一時停止させる。そして、CPU1からのデ
ータCのアドレス値とキャッシュメモリ2に格納されて
いるアドレス値と比較を行う。比較の結果、一致するエ
ントリがエントリ2に格納されているので、データバス
を経由してデータCがCPU1に送られる。次に、CP
U1が演算処理(Add d0,d1)を実行する場合、
メモリライト信号17及びメモリリード信号16は発生
されないため、クロック制御手段5のWAIT信号15
が発生されずCPU1は動作を続け、データ更新処理を
再開する。データ更新制御手段4では、エントリカウン
タがエントリ1を示し、ダーティビット(D)の確認を
行う。エントリ1はダーティビット(D)が’1’であ
るため、メインメモリ3のデータBの示すアドレスのデ
ータを更新した後、バリッドビット(V)とダーティビ
ット(D)を’0’にしてエントリカウンタをインクリ
メントする。次に、CPU1がメインメモリ3のデータ
Aをリードする場合、CPU1からデータ更新制御手段
4へメモリリード信号16が与えられる。これによりデ
ータ更新制御手段4のエントリカウンタを停止させると
共にエントリを非選択としてデータ更新処理を一時停止
させる。そして、CPU1からのデータAのアドレス値
とキャッシュメモリ2に格納されているアドレス値と比
較を行う。比較の結果、一致するエントリがないのでバ
リッドビット(V)が’0’のエントリ0にメインメモ
リ3のデータAのアドレスとデータを格納し、バリッド
ビット(V)を’1’にした後、データバスを経由して
データAがCPU1に送られる。次に、CPU1がメイ
ンメモリ3にデータAをライトする場合、CPU1から
クロック制御手段5へメモリライト信号17が与えられ
る。クロック制御手段5は、メモリライト信号17を受
けてCPU1にWAIT信号15を与え、CPU1をデ
ータ更新処理が完了するまで停止させる。同時にデータ
更新制御手段4では、エントリカウンタがエントリ2を
示し、ダーティビット(D)の確認を行う。エントリ2
はダーティビット(D)が’0’であるため、メインメ
モリ3のデータ更新を行わずバリッドビット(V)を’
0’にして、エントリカウンタをインクリメントする。
【0028】次に、CPU1はメモリライトにより停止
しているためデータ更新処理を継続する。データ更新制
御手段4のエントリカウンタがエントリ3を示し、ダー
ティビット(D)の確認を行う。エントリ3はダーティ
ビット(D)が’1’であるため、メインメモリ3のデ
ータDの示すアドレスのデータを更新した後、バリッド
ビット(V)とダーティビット(D)を’0’にしてエ
ントリカウンタをインクリメントする。
しているためデータ更新処理を継続する。データ更新制
御手段4のエントリカウンタがエントリ3を示し、ダー
ティビット(D)の確認を行う。エントリ3はダーティ
ビット(D)が’1’であるため、メインメモリ3のデ
ータDの示すアドレスのデータを更新した後、バリッド
ビット(V)とダーティビット(D)を’0’にしてエ
ントリカウンタをインクリメントする。
【0029】このように、全エントリのデータ更新処理
が完了するとデータ更新制御手段4を停止させて、CP
U1のクロック停止を解除して通常動作に戻り、CPU
1が停止したメモリライトアクセスより処理実行を開始
する。また、ウォッチドックタイマのクリア信号10が
CPU1より発生させると、上記のような処理を行う。
が完了するとデータ更新制御手段4を停止させて、CP
U1のクロック停止を解除して通常動作に戻り、CPU
1が停止したメモリライトアクセスより処理実行を開始
する。また、ウォッチドックタイマのクリア信号10が
CPU1より発生させると、上記のような処理を行う。
【0030】このように構成することで、CPUとメモ
リ間のアクセスが無いかぎりCPUの処理とメモリ間の
データ転送処理が並列で行えるので、効率的な処理が行
える。
リ間のアクセスが無いかぎりCPUの処理とメモリ間の
データ転送処理が並列で行えるので、効率的な処理が行
える。
【0031】
【発明の効果】以上説明してきたように本発明のメモリ
保護装置によれば、マイクロコンピュータがノイズやプ
ログラムの要因によって異常動作(暴走)を起こすこと
によるメモリ内の重要なデータの破壊を防ぐことができ
る。特に、重要データの格納用メモリとして使用される
不揮発性メモリのデータ保護に適しており、その中でも
書き込み電圧と読み出し電圧が同じ強誘電体メモリのメ
モリ保護に最適である
保護装置によれば、マイクロコンピュータがノイズやプ
ログラムの要因によって異常動作(暴走)を起こすこと
によるメモリ内の重要なデータの破壊を防ぐことができ
る。特に、重要データの格納用メモリとして使用される
不揮発性メモリのデータ保護に適しており、その中でも
書き込み電圧と読み出し電圧が同じ強誘電体メモリのメ
モリ保護に最適である
【図1】本発明の実施例におけるメモリ保護装置の基本
構成図
構成図
【図2】図1、3のサブメモリのメモリ構成図
【図3】図1の応用例におけるメモリ保護装置の構成図
【図4】図1、3の通常動作時におけるメモリデータの
流れを示す図
流れを示す図
【図5】図1のメモリデータ更新処理時のデータの流れ
を示す図
を示す図
【図6】図3のメモリデータ更新処理時のデータの流れ
を示す図
を示す図
【図7】図3のメモリデータ更新処理時のデータの流れ
を示す図
を示す図
【図8】図1のメモリデータ更新処理の動作波形図
【図9】図3のメモリデータ更新処理の動作波形図
1 CPU 2 キャッシュメモリ 3 メインメモリ 4 データ更新制御手段 5 クロック制御手段 10 ウォッチドックタイマクリア信号 11 更新リクエスト信号 12 CPUストップ信号 13 エントリ選択信号 14 更新グラント信号 15 WAIT信号 16 メモリリード信号 17 メモリライト信号
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 310 G06F 12/08 310A 12/14 310 12/14 310F
Claims (2)
- 【請求項1】 CPUと、メインメモリと、前記CPU
とデータのやり取りを行う前記メインメモリとの間にC
PUからの書き込みデータを一時保管するキャッシュ機
能を備えたサブメモリと、マイクロコンピュータの暴走
を検出するウォッチドックタイマのクリア信号により、
前記サブメモリに前記メインメモリの書き換えデータと
して一時保管されたデータをメインメモリへ書き換え処
理制御を行うと共にデータ更新要求である更新リクエス
ト信号を発生するデータ更新制御手段を備えることによ
り、CPUからメモリへのデータ書き込みに対しては、
メインメモリへ書き込みを行わずキャッシュメモリに書
き込み、ウォッチドックタイマのクリア信号が出力され
るとデータ更新制御手段がメインメモリにデータの書き
込みを行うことを特徴とするメモリ保護装置。 - 【請求項2】 サブメモリからメインメモリにデータ書
き換え処理を実行中にCPUがサブメモリへのライトア
クセスを生じた場合、CPUを一時停止させるクロック
制御手段を備えることで、データ更新時メモリへの書き
込み要求が発生するとCPU停止させることを特徴とす
る請求項1記載のメモリ保護装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000104652A JP2001290712A (ja) | 2000-04-06 | 2000-04-06 | メモリ保護装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000104652A JP2001290712A (ja) | 2000-04-06 | 2000-04-06 | メモリ保護装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001290712A true JP2001290712A (ja) | 2001-10-19 |
Family
ID=18618160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000104652A Pending JP2001290712A (ja) | 2000-04-06 | 2000-04-06 | メモリ保護装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001290712A (ja) |
-
2000
- 2000-04-06 JP JP2000104652A patent/JP2001290712A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7600090B2 (en) | Microcontroller based flash memory digital controller system | |
JP3986950B2 (ja) | Cpuおよびこれを備えた情報処理装置、cpuの制御方法 | |
KR100444537B1 (ko) | 데이타처리장치 | |
TW440848B (en) | A method and apparatus for hardware block locking in a nonvolatile memory | |
TW514833B (en) | 1-chip microcomputer and IC card using same | |
US7574611B2 (en) | Command decoder for microcontroller based flash memory digital controller system | |
TW548549B (en) | Data-processing apparatus and method of controlling the rewriting of a nonvolatile storage device | |
US7421534B2 (en) | Data protection for non-volatile semiconductor memory using block protection flags | |
JP2007122627A (ja) | 情報処理装置及びメモリ初期化方法 | |
JP2007287022A (ja) | 電子制御装置の情報記憶方法 | |
JP3830867B2 (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
JPH01219982A (ja) | Icカード | |
JP3376306B2 (ja) | データ処理装置、そのデータ処理方法 | |
US6543008B1 (en) | Computer system and program rewriting method | |
JP2002062956A (ja) | 停電処理方法及び停電処理装置 | |
JP2000163268A (ja) | コンピュータ | |
JP2008040585A (ja) | マイクロコンピュータ | |
JP2001290712A (ja) | メモリ保護装置 | |
JP2002207640A (ja) | 情報処理装置 | |
JPH05334168A (ja) | フラッシュメモリを用いた情報処理装置 | |
JP4031693B2 (ja) | 不揮発性メモリおよびこれを有したデータ記憶装置 | |
JP2003122644A (ja) | 計算機及びその記憶装置 | |
JP2005107608A (ja) | 電子機器、不揮発性メモリ及び不揮発性メモリのデータ書き換え方法 | |
JP4049286B2 (ja) | 車両搭載電子機器蓄積データファイルの保護方法及び装置 | |
JP4114004B2 (ja) | 半導体集積回路 |