(57)【要約】      （修正有）【課題】ステータスレジスタを内蔵していないメモリに対しても、ライトプロテクト状態に設定されているか否かを確認することが可能なメモリアクセス装置及び方法を提供する。【解決手段】マイコンシステム１０は、ライトプロテクト状態又はライトプロテクト解除状態に設定されるメモリの外部に、電源投入に応じて、ライトプロテクト状態及びライトプロテクト解除状態のうちの一方の状態を示すステータス情報保持部と、ライトプロテクト実行信号、及びライトプロテクト解除信号のうちの一方をメモリに送出するコマンド実行部と、ライトプロテクト実行信号が送出された場合にはライトプロテクト状態を表すステータス情報をステータス情報保持部に上書きする一方、ライトプロテクト解除信号が送出された場合にはライトプロテクト解除状態を表すステータス情報をステータス情報保持部に上書きするライトプロテクト状態管理部と、を有するメモリアクセス部を備える。【選択図】図１
2018032312.tif 000002
【特許請求の範囲】
【請求項１】
データ書込が禁止されるライトプロテクト状態又はデータ書込が可能なライトプロテクト解除状態を有するメモリにアクセスするメモリアクセス装置であって、
電源投入に応じて、前記ライトプロテクト状態及び前記ライトプロテクト解除状態のうちの一方の状態を示すステータス情報が書き込まれるステータス情報保持部と、
前記メモリを前記ライトプロテクト状態に設定するライトプロテクト実行信号、及び前記メモリを前記ライトプロテクト解除状態に設定するライトプロテクト解除信号のうちの一方を前記メモリに送出するコマンド実行部と、
前記コマンド実行部から前記ライトプロテクト実行信号が送出された場合には前記ライトプロテクト状態を表す前記ステータス情報を前記ステータス情報保持部に上書きする一方、前記コマンド実行部から前記ライトプロテクト解除信号が送出された場合には前記ライトプロテクト解除状態を表す前記ステータス情報を前記ステータス情報保持部に上書きするライトプロテクト状態管理部と、を有することを特徴とするメモリアクセス装置。
【請求項２】
前記メモリは、電源投入に応じて、前記ライトプロテクト状態及び前記ライトプロテクト解除状態のうちで、前記ステータス情報保持部に保持されている前記ステータス情報にて示される方の状態に初期設定されることを特徴とする請求項１記載のメモリアクセス装置。
【請求項３】
前記メモリの所定アドレスに格納されているデータを待避データとして保持する代替保持部と、
前記メモリが正常に前記ライトプロテクト状態及び前記ライトプロテクト解除状態に設定されるか否かを確認するメモリ状態確認処理を実行する自律実行部と、を含み、
前記メモリ状態確認処理では前記自律実行部が、
前記待避データとは異なるデータ値を有するデータを前記メモリの前記所定アドレスに上書きせしめる第１の上書き処理と、
前記メモリの前記所定アドレスからデータを読み出し、読み出された読出データのデータ値と前記待避データのデータ値とが一致したか否かを判定する第１の判定処理と、
前記第１の判定処理において前記読出データのデータ値と前記待避データのデータ値とが一致したと判定された場合に、異常が生じていることを通知する第１の異常通知処理と、を実行することを特徴とする請求項１又は２に記載のメモリアクセス装置。
【請求項４】
前記メモリ状態確認処理では前記自律実行部が、
前記読出データと前記待避データとが異なり且つ前記ステータス情報保持部に保持されている前記ステータス情報が前記ライトプロテクト解除状態を表す場合に、異常が生じていることを通知する第２の異常通知処理を実行することを特徴とする請求項３に記載のメモリアクセス装置。
【請求項５】
前記メモリ状態確認処理では前記自律実行部が、
前記読出データと前記待避データとが異なり且つ前記ステータス情報保持部に保持されている前記ステータス情報が前記ライトプロテクト状態を表す場合に、前記待避データとは異なるデータ値を有するデータを前記メモリの前記所定アドレスに上書きせしめる第２の上書き処理と、
前記メモリの前記所定アドレスからデータを読み出し、読み出された読出データのデータ値と前記待避データのデータ値とが一致するか否かを判定する第２の判定処理と、
前記第２の判定処理において前記読出データのデータ値と前記待避データのデータ値とが一致していないと判定された場合に、異常が生じていることを通知する第３の異常通知処理と、を実行することを特徴とする請求項４に記載のメモリアクセス装置。
【請求項６】
前記メモリ状態確認処理では前記自律実行部が、
前記第２の判定処理において前記読出データのデータ値と前記待避データのデータ値とが一致していると判定された場合に、前記代替保持部に保持されている前記待避データを前記メモリの前記所定アドレスに上書きした後、前記メモリを前記ライトプロテクト状態に設定することを特徴とする請求項５に記載のメモリアクセス装置。
【請求項７】
前記メモリ状態確認処理の実行中にデータ書込を促す書込命令又はデータ読出を促す読出命令を受けた場合の競合管理制御を行う競合管理制御部を含み、
前記競合管理制御部は、
前記読出命令を受け、且つ前記読出命令によって指定された読出アドレスが前記所定アドレスと等しい場合には、前記読出命令に応じて前記代替保持部に保持されている前記待避データを読み出して出力することを特徴とする請求項３〜６のいずれか１に記載のメモリアクセス装置。
【請求項８】
前記競合管理制御部は、
前記書込命令を受け、且つ前記書込命令によって指定された書込アドレスが前記所定アドレスと等しい場合には、前記書込命令に応じて前記代替保持部に書込用データを書き込んで保持し、前記メモリ状態確認処理の終了後に前記代替保持部に保持されている前記書込用データを前記メモリの前記所定アドレスに上書きすることを特徴とする請求項７に記載のメモリアクセス装置。
【請求項９】
前記競合管理制御部は、
前記読出命令を受け、且つ前記読出命令によって指定された読出アドレスが前記所定アドレス以外のアドレスである場合には、前記読出命令に応じて前記メモリ状態確認処理を中断させてから、前記メモリの前記読出アドレスに格納されているデータを読み出して出力した後に、前記メモリ状態確認処理を再開させることを特徴とする請求項７又は８に記載のメモリアクセス装置。
【請求項１０】
前記競合管理制御部は、
前記書込命令を受け、且つ前記書込命令によって指定された書込アドレスが前記所定アドレス以外のアドレスである場合には、前記書込命令に応じて前記メモリ状態確認処理を中断させてから、前記メモリの前記書込アドレスに書込用データを上書きした後に、前記メモリ状態確認処理を再開させることを特徴とする請求項７〜９のいずれか１に記載のメモリアクセス装置。
【請求項１１】
データ書込が禁止されるライトプロテクト状態又はデータ書込が可能なライトプロテクト解除状態を有するメモリにアクセスするメモリアクセス方法であって、
電源投入に応じて、前記ライトプロテクト状態及び前記ライトプロテクト解除状態のうちの一方の状態を示すステータス情報をステータス情報保持部に書き込む第１のステップと、
前記メモリを、前記ライトプロテクト状態から前記ライトプロテクト解除状態、或いは前記ライトプロテクト解除状態から前記ライトプロテクト状態に設定変更する第２のステップと、
前記メモリが前記ライトプロテクト状態に設定変更された場合には前記ライトプロテクト状態を表す前記ステータス情報を前記ステータス情報保持部に上書きする一方、前記メモリが前記ライトプロテクト解除状態に設定変更された場合には前記ライトプロテクト解除状態を表す前記ステータス情報を前記ステータス情報保持部に上書きする第３のステップと、を有することを特徴とするメモリアクセス方法。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに対してアクセスを行うメモリアクセス装置及びメモリアクセス方法に関する。
【背景技術】
【０００２】
電気的にリードライト可能な不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）は、電源を切ってもデータが保持されるため、機器の設定情報などのデータを格納するために用いられる。そのため、ＥＥＰＲＯＭに対する誤ったライトアクセスでデータが破壊されることのないように、ＥＥＰＲＯＭにはライトプロテクト機能が備わっている。
【０００３】
ＥＥＰＲＯＭに対してライトアクセスを実行する際には、誤った書き込みを防止するため、先ず、ＥＥＰＲＯＭがライトプロテクトの状態にあることを確認した後、このライトプロテクト状態を解除してから、ライトアクセスを実行する。そして、ライトアクセスによってデータの書込が終了したら、再び、ＥＥＰＲＯＭをライトプロテクトの状態に設定するのである。
【０００４】
よって、ＥＥＰＲＯＭに対してライトアクセスを行う場合には、例えばＣＰＵ（Central Processing Unit）等の制御部が、ライトプロテクト状態にあるか否かを確認する為のコマンドを当該ＥＥＰＲＯＭに発行する。しかしながら、このようなコマンドの発行を、ＥＥＰＲＯＭがライトプロテクト状態にあることが確認されるまで実行していると、ＣＰＵに負荷がかかってしまう。
【０００５】
そこで、ＥＥＰＲＯＭ及び制御部間で実施されるアクセス処理を仲介するインタフェース部を設け、当該インタフェース部がＥＥＰＲＯＭに対してライトプロテクト状態にあるか否かを確認するようにしたＥＥＰＲＯＭ書込方式が提案されている（例えば、特許文献１参照）。このＥＥＰＲＯＭ書込方式では、ＥＥＰＲＯＭとして、自身がライトプロテクト状態にあるか否かを示すステータス情報を保持するステータスレジスタが内蔵されているものを用いる。インタフェース部は、ＥＥＰＲＯＭに内蔵されているステータスレジスタの内容を読み出すことにより、ＥＥＰＲＯＭが現在、ライトプロテクト状態にあるか否かを示す情報を得て制御部に通知する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２２７４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、このようなＥＥＰＲＯＭ書込方式では、ステータスレジスタを内蔵していないＥＥＰＲＯＭについては、これがライトプロテクト状態にあるか否かをＥＥＰＲＯＭの外部から確認することができないという問題点があった。
【０００８】
本発明は、メモリがライトプロテクト状態にあるか否かを表すステータス情報を保持するステータスレジスタが当該不揮発性半導体メモリに内蔵されていなくても、この不揮発性半導体メモリがライトプロテクト状態に設定されているか否かを確認することが可能なメモリアクセス装置及びメモリアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るメモリアクセス装置は、データ書込が禁止されるライトプロテクト状態又はデータ書込が可能なライトプロテクト解除状態を有するメモリにアクセスするメモリアクセス装置であって、電源投入に応じて、前記ライトプロテクト状態及び前記ライトプロテクト解除状態のうちの一方の状態を示すステータス情報が書き込まれるステータス情報保持部と、前記メモリを前記ライトプロテクト状態に設定するライトプロテクト実行信号、及び前記メモリを前記ライトプロテクト解除状態に設定するライトプロテクト解除信号のうちの一方を前記メモリに送出するコマンド実行部と、前記コマンド実行部から前記ライトプロテクト実行信号が送出された場合には前記ライトプロテクト状態を表す前記ステータス情報を前記ステータス情報保持部に上書きする一方、前記コマンド実行部から前記ライトプロテクト解除信号が送出された場合には前記ライトプロテクト解除状態を表す前記ステータス情報を前記ステータス情報保持部に上書きするライトプロテクト状態管理部と、を有する。
【００１０】
また、本発明に係るメモリアクセス方法は、データ書込が禁止されるライトプロテクト状態又はデータ書込が可能なライトプロテクト解除状態を有するメモリにアクセスするメモリアクセス方法であって、電源投入に応じて、前記ライトプロテクト状態及び前記ライトプロテクト解除状態のうちの一方の状態を示すステータス情報をステータス情報保持部に書き込む第１のステップと、前記メモリを、前記ライトプロテクト状態から前記ライトプロテクト解除状態、或いは前記ライトプロテクト解除状態から前記ライトプロテクト状態に設定変更する第２のステップと、前記メモリが前記ライトプロテクト状態に設定変更された場合には前記ライトプロテクト状態を表す前記ステータス情報を前記ステータス情報保持部に上書きする一方、前記メモリが前記ライトプロテクト解除状態に設定変更された場合には前記ライトプロテクト解除状態を表す前記ステータス情報を前記ステータス情報保持部に上書きする第３のステップと、を有する。
【発明の効果】
【００１１】
本発明においては、メモリの外部に以下のステータスレジスタ、コマンド実行部及びライトプロテクト状態管理部を設ける。すなわち、ライトプロテクト状態管理部は、電源投入に応じて、メモリの初期状態としてライトプロテクト状態及びライトプロテクト解除状態のうちの一方を示すステータス情報をステータスレジスタに書き込む。その後は、ライトプロテクト状態管理部が、コマンド実行部から送出されたライトプロテクト実行信号又はライトプロテクト解除信号を監視してステータス情報の内容を更新する。すなわち、ライトプロテクト状態管理部は、ライトプロテクト実行信号を検知した場合には、ライトプロテクト状態を示すステータス情報をステータスレジスタに上書きする。一方、ライトプロテクト解除信号を検知した場合には、ライトプロテクト解除状態を示すステータス情報をステータスレジスタに上書きする。
【００１２】
よって、かかる構成によれば、メモリ内にステータスレジスタが含まれていなくても、このメモリの外部において、当該メモリがライトプロテクト状態にあるか否かを確認することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係るメモリアクセス装置を含む第１の実施例によるマイコンシステム１０の構成を示すブロック図である。
【図２】ライトプロテクト状態管理処理による動作シーケンスを示す図である。
【図３】本発明に係る第２の実施例によるマイコンシステム１０の構成を示すブロック図である。
【図４】図３に示す自律実行部２１４が実行するメモリ状態確認処理の動作フローを示す図である。
【図５】メモリ状態確認処理の実行中において、競合管理制御部２１５が実行する競合管理処理の動作フローを示す図である。
【図６】競合処理２の動作フローを示す図である。
【図７】競合処理３の動作フローを示す図である。
【図８】競合処理４の動作フローを示す図である。
【発明を実施するための形態】
【実施例１】
【００１４】
図１は、本発明に係るメモリアクセス装置を含むマイコンシステム１０の構成を示すブロック図である。図１に示すように、マイコンシステム１０は、ＣＰＵ（Central Processing Unit）１００、メモリアクセス部２００、及びＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）３００を含む。更に、マイコンシステム１０は、当該マイコンシステム１０の制御対象となる各種機器（図示せぬ）及びメモリアクセス部２００をＣＰＵ１００と接続するシステムバス４００と、メモリアクセス部２００及びＥＥＰＲＯＭ３００間を接続するＳＰＩ（Serial Peripheral Interface）５００を有する。
【００１５】
ＣＰＵ１００は、マイコンシステム１０の中核を担う制御部であり、電源投入後、ＥＥＰＲＯＭ３００内に格納されている例えばプログラムデータを読み出し、そのプログラムを実行することにより、システムバス４００に接続されている各種機器の初期設定及び動作制御を行う。また、ＣＰＵ１００は、ＥＥＰＲＯＭ３００をアクセスする各種の命令をシステムバス４００を介してメモリアクセス部２００に供給する。
【００１６】
メモリアクセス部２００は、例えば自身の回路構成の書き換えが可能なＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスからなる半導体チップに形成されている。メモリアクセス部２００は、ステータスレジスタ２１１、コマンド実行部２１２及びライトプロテクト状態管理部２１３を含み、ＣＰＵ１００及びＥＥＰＲＯＭ３００間で実施されるメモリアクセス及び管理制御を行う。
【００１７】
ステータスレジスタ２１１には、ＥＥＰＲＯＭ３００が、データ書込が禁止されたライトプロテクト状態にあるのか、或いはデータ書込が可能なライトプロテクト解除状態にあるのかを示すステータス情報ＳＴが保持される。例えば、ＥＥＰＲＯＭ３００がライトプロテクト状態にある場合には論理レベル０、ライトプロテクト解除状態にある場合には論理レベル１のステータス情報ＳＴがステータスレジスタ２１１に保持される。尚、ステータスレジスタ２１１は、ライトプロテクト状態管理部２１３からの指示によって、ステータス情報ＳＴの内容（論理レベル０又は１）を変更する。
【００１８】
コマンド実行部２１２は、ＣＰＵ１００から発行された書込命令又は読出命令をシステムバス４００を介して受けると、この命令を実行する為の指示信号をＳＰＩ５００を介してＥＥＰＲＯＭ３００に供給する。これにより、コマンド実行部２１２は、当該ＥＥＰＲＯＭ３００に対して、ＣＰＵ１００から発行された書込命令又は読出命令に従ったデータ書込又は読出を実行させる。更に、コマンド実行部２１２は、ＥＥＰＲＯＭ３００をライトプロテクト状態に設定するライトプロテクト実行信号、及び当該ライトプロテクト状態を解除するライトプロテクト解除信号を、ＥＥＰＲＯＭ３００に供給する。これにより、コマンド実行部２１２は、ＥＥＰＲＯＭ３００をライトプロテクト状態及びライトプロテクト解除状態のうちの一方の状態に設定する。
【００１９】
ライトプロテクト状態管理部２１３は、コマンド実行部２１２がＥＥＰＲＯＭ３００に供給した指示信号の監視、ＥＥＰＲＯＭ３００に対するライトプロテクト状態の管理、及びステータスレジスタ２１１に保持されているステータス情報の変更を行う。
【００２０】
不揮発性半導体メモリとしてのＥＥＰＲＯＭ３００には、システムバス４００に接続されている各種機器の初期設定及び動作制御を行う為のプログラムデータ等が予め格納されている。また、ＥＥＰＲＯＭ３００は、電源投入に応じて、ライトプロテクト状態及びライトプロテクト解除状態のうちのいずれか一方の状態に初期設定される。
【００２１】
以下に、マイコンシステム１０の動作について説明する。
【００２２】
先ず、ＥＥＰＲＯＭ３００のライトプロテクト状態を管理するライトプロテクト状態管理処理について、当該ＥＥＰＲＯＭ３００がライトプロテクト状態に初期設定される場合を例にとって、図２に示す動作シーケンスを参照しつつ説明する。
【００２３】
先ず、電源投入に応じて、ライトプロテクト状態管理部２１３が、ライトプロテクト状態を示す論理レベル０のステータス情報ＳＴをステータスレジスタ２１１に書き込む（ステップＳ０１）。つまり、この時点でステータスレジスタ２１１に保持されているステータス情報ＳＴによって示されるライトプロテクト状態が、ＥＥＰＲＯＭ３００の初期状態を表している。
【００２４】
その後、ＣＰＵ１００が、ライトプロテクト解除命令をメモリアクセス部２００のコマンド実行部２１２に供給する（ステップＳ０２）。これに応じてコマンド実行部２１２が、ライトプロテクトの解除を促すライトプロテクト解除信号をＥＥＰＲＯＭ３００に供給する（ステップＳ０３）。ＥＥＰＲＯＭ３００は、ライトプロテクト解除信号を受けると自身のライトプロテクト状態を解除し、データの書き込みが可能なライトプロテクト解除状態になる。この間、ライトプロテクト状態管理部２１３は、コマンド実行部２１２が送出した信号を監視しており、当該コマンド実行部２１２がライトプロテクト解除信号をＥＥＰＲＯＭ３００へ供給したことを確認すると、ライトプロテクト解除状態を示す論理レベル１のステータス情報ＳＴをステータスレジスタ２１１に上書きさせる（ステップＳ０４）。
【００２５】
その後、ＣＰＵ１００が、書込命令と共に書込用データをシステムバス４００を介してメモリアクセス部２００のコマンド実行部２１２に供給する（ステップＳ０５）。当該書込命令に応じてコマンド実行部２１２は、当該書込用データと共にこの書込用データの書き込みを促す書込信号を、ＥＥＰＲＯＭ３００に供給する（ステップＳ０６）。ＥＥＰＲＯＭ３００は、書込信号に応じて書込用データを書き込む。その後、コマンド実行部２１２は、ライトプロテクトの実行を促すライトプロテクト実行信号をＥＥＰＲＯＭ３００に供給する（ステップＳ０７）。ＥＥＰＲＯＭ３００は、ライトプロテクト実行信号を受けるとライトプロテクト状態、つまりデータの書込みが禁止された状態になる。この間、ライトプロテクト状態管理部２１３は、コマンド実行部２１２が送出した信号を監視しており、当該コマンド実行部２１２がライトプロテクト実行信号をＥＥＰＲＯＭ３００へ供給したことを確認すると、ライトプロテクト状態を示す論理レベル０のステータス情報ＳＴをステータスレジスタ２１１に上書きさせる（ステップＳ０８）。
【００２６】
尚、電源投入直後に、ＥＥＰＲＯＭ３００をライトプロテクト解除状態に初期設定する場合には、上記したステップＳ０１において、ライトプロテクト状態管理部２１３が、初期値として、ライトプロテクト解除状態を示す論理レベル１のステータス情報ＳＴをステータスレジスタ２１１に上書きする。この際、ステップＳ０１以降の動作は、図２に示されるものと同一である。
【００２７】
上記したように、メモリアクセス部２００に含まれるステータスレジスタ２１１には、
現時点で、ＥＥＰＲＯＭ３００がライトプロテクト状態にあるのか、或いはライトプロテクト解除状態にあるのかを示すステータス情報ＳＴが書き込まれている。よって、ＣＰＵ１００は、メモリアクセス部２００のステータスレジスタ２１１の内容を読み出すことで、現在、ＥＥＰＲＯＭ３００がライトプロテクト状態にあるのか否かを確認することが可能となる。
【００２８】
要するに、図１に示す構成では、ＥＥＰＲＯＭ３００の外部に、ステータスレジスタ２１１、コマンド実行部２１２及びライトプロテクト状態管理部２１３を含むメモリアクセス部２００を設ける。ここで、電源投入に応じて、先ず、ライトプロテクト状態管理部２１３が、ＥＥＰＲＯＭ３００の初期状態としてライトプロテクト状態及びライトプロテクト解除状態のうちの一方を示すステータス情報ＳＴを、ステータスレジスタ２１１に書き込む。その後は、ライトプロテクト状態管理部２１３が、コマンド実行部２１２から送出されたライトプロテクト実行信号又はライトプロテクト解除信号を監視し、ステータス情報ＳＴの内容を変更する。すなわち、ライトプロテクト状態管理部２１３は、ライトプロテクト実行信号を検知した場合には、ライトプロテクト状態を示すステータス情報ＳＴをステータスレジスタ２１１に上書きする。一方、ライトプロテクト解除信号を検知した場合には、ライトプロテクト状態管理部２１３は、ライトプロテクト解除状態を示すステータス情報ＳＴをステータスレジスタ２１１に上書きするのである。
【００２９】
よって、かかる構成によれば、ＥＥＰＲＯＭ３００がライトプロテクト状態にあるか否かを示すステータス情報を保持するステータスレジスタがＥＥＰＲＯＭ３００に内蔵されていなくても、当該ＥＥＰＲＯＭ３００の外部で、このＥＥＰＲＯＭ３００がライトプロテクト状態にあるか否かを確認することが可能となる。
【００３０】
尚、図１に示すメモリアクセス部２００では、ＥＥＰＲＯＭ３００のような不揮発性半導体メモリをメモリアクセスの対象としているが、メモリアクセスの対象となるメモリはＥＥＰＲＯＭに限定されず、揮発性又は不揮発性の各種メモリをメモリアクセスの対象としても良い。また、図１又は図３に示す実施例では、ステータス情報ＳＴを保持する手段としてレジスタ（２１１）を採用しているが、書き換えが可能なものであればレジスタに限定されない。
【００３１】
要するに、メモリアクセス装置（２００）としては、データ書込が禁止されるライトプロテクト状態又はデータ書込が可能なライトプロテクト解除状態を有するメモリ（３００）にアクセスする為に、以下のステータス情報保持部、コマンド実行部及びライトプロテクト状態管理部を含むものであれば良い。つまり、ステータス情報保持部（２１１）は、電源投入に応じて、ライトプロテクト状態及びライトプロテクト解除状態のうちの一方の状態を示すステータス情報（ＳＴ）を書き込んでこれを保持する。コマンド実行部（２１２）は、メモリ（３００）をライトプロテクト状態に設定するライトプロテクト実行信号、及びライトプロテクト解除状態に設定するライトプロテクト解除信号のうちの一方を前記メモリに送出する。そして、ライトプロテクト状態管理部（２１３）は、コマンド実行部からライトプロテクト実行信号が送出された場合にはライトプロテクト状態を表すステータス情報（ＳＴ）をステータス情報保持部に上書きする。一方、コマンド実行部からライトプロテクト解除信号が送出された場合には、ライトプロテクト状態管理部（２１３）は、ライトプロテクト解除状態を表すステータス情報をステータス情報保持部に上書きするのである。
【実施例２】
【００３２】
図３は、第２の実施例によるマイコンシステム１０の構成を示すブロック図である。図３に示すメモリアクセス部２００は、図１に示すステータスレジスタ２１１及びライトプロテクト状態管理部２１３に加えて、自律実行部２１４、競合管理制御部２１５、代替レジスタ２１６及び割込生成部２１７を有する。また、図３に示すメモリアクセス部２００では、図１に示すコマンド実行部２１２に代えてコマンド実行部２１２Ａを採用している。
【００３３】
尚、図３に示す構成では、上記した点を除く他の構成は、図１に示す構成と同一である。よって、以下に、コマンド実行部２１２Ａ、自律実行部２１４、競合管理制御部２１５、代替レジスタ２１６及び割込生成部２１７を中心に、図３に示すマイコンシステム１０の動作について説明する。
【００３４】
コマンド実行部２１２Ａは、コマンド実行部２１２と同様にＣＰＵ１００から受け取った命令に対応した指示信号をＥＥＰＲＯＭ３００に供給する機能に加え、以下の機能を備えている。すなわち、コマンド実行部２１２Ａは、自律実行部２１４から発行された命令に対応した指示信号をＥＥＰＲＯＭ３００に供給すると共に、競合管理制御部２１５から受け取った命令に対応した指示信号をＥＥＰＲＯＭ３００に供給する。
【００３５】
自律実行部２１４は、ＥＥＰＲＯＭ３００がライトプロテクト状態にあるか否かの判定、及び装置の異常を検知するために、メモリ状態確認処理（後述する）を実行し、各種の命令をコマンド実行部２１２Ａに供給する。
【００３６】
競合管理制御部２１５は、メモリ状態確認処理の実行中に、ＣＰＵ１００からＥＥＰＲＯＭ３００へのアクセス（書込、読出）が為された場合の競合を管理する。すなわち、競合管理制御部２１５は、メモリ状態確認処理の実行中に、ＣＰＵ１００からＥＥＰＲＯＭ３００に向けて書込命令又は読出命令が発行された場合には、その命令をコマンド実行部２１２Ａに供給する。尚、ＣＰＵ１００によるＥＥＰＲＯＭ３００へのアクセス中は、競合管理制御部２１５は、メモリ状態確認処理の実行を待機させる。
【００３７】
代替レジスタ２１６には、ＥＥＰＲＯＭ３００内のリードライト可能な所定のアドレスＡに格納されているデータが待避データとして書き込まれる。この際、メモリ状態確認処理の実行中に、ＣＰＵ１００からＥＥＰＲＯＭ３００のアドレスＡに対する読出命令が発行された場合には、当該代替レジスタ２１６に保持されている待避データが、ＥＥＰＲＯＭ３００に格納されているデータの代わりに読み出される。また、メモリ状態確認処理の実行中に、ＣＰＵ１００から当該アドレスＡへの書込命令が発行された場合には、この書込命令に応じて、書込用データが待避データとして代替レジスタ２１６に書き込まれる。尚、アドレスＡは、ＥＥＰＲＯＭ３００内における所定のデータ領域を指定する為のアドレスであるが、複数アドレス分のデータ領域を指定するものであっても良い。
【００３８】
割込生成部２１７は、ＥＥＰＲＯＭ３００又はメモリアクセス部２００の動作異常を検出した場合に、異常を示す割込信号を生成してＣＰＵ１００に供給する。
【００３９】
以下に、図３に示すマイコンシステム１０の動作について説明する。尚、図３に示すマイコンシステム１０においても図１に示す構成を有するマイコンシステム１０と同様に、図２に示す動作シーケンスに従ってライトプロテクト状態管理処理を行う。
【００４０】
更に、図３に示すマイコンシステム１０では、ＥＥＰＲＯＭ３００が正常にライトプロテクト状態及びライトプロテクト解除状態に設定されるか否かを確認するメモリ状態確認処理を定期的に実行する。
【００４１】
図４は、自律実行部２１４が実行するメモリ状態確認処理の動作フローを示す図である。
【００４２】
図４において、まず、自律実行部２１４は、ＥＥＰＲＯＭ３００の所定のアドレスＡに格納されているデータを読出し、読み出したデータを代替レジスタ２１６に保持させるデータ転送命令をコマンド実行部２１２Ａに供給する（ステップＳ２１）。かかるデータ転送命令に応じて、コマンド実行部２１２Ａは、データ転送信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００の所定のアドレスＡに格納されているデータを読み出し、その読出したデータを待避データとして代替レジスタ２１６に書き込む。
【００４３】
次に、自律実行部２１４は、ＥＥＰＲＯＭ３００の所定のアドレスＡから読み出されたデータの全ビットの論理レベルを反転させたビット反転データを、このアドレスＡに上書きさせるビット反転命令をコマンド実行部２１２Ａに供給する（ステップＳ２２）。かかるビット反転命令に応じて、コマンド実行部２１２Ａは、ビット反転信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００の所定のアドレスＡに格納されていた待避データの全ビットの論理レベルを反転させたビット反転データを、ＥＥＰＲＯＭ３００のアドレスＡに上書きする。
【００４４】
次に、自律実行部２１４は、ＥＥＰＲＯＭ３００の所定のアドレスＡからデータを読み出す読出命令をコマンド実行部２１２Ａに供給する（ステップＳ２３）。かかる読出命令に応じて、コマンド実行部２１２Ａは、アドレスＡからデータを読み出す読出信号をＥＥＰＲＯＭ３００に供給することにより、当該ＥＥＰＲＯＭ３００の所定のアドレスＡに格納されている待避データを読み出す。
【００４５】
次に、自律実行部２１４は、ＥＥＰＲＯＭ３００から読み出されたデータの値と、上記ステップＳ２２で上書きしたデータの値とが一致しているか否かを判定する（ステップＳ２４）。
【００４６】
かかるステップＳ２４において、ＥＥＰＲＯＭ３００から読み出されたデータの値と、上書きしたデータの値とが一致していないと判定された場合、自律実行部２１４は、ＥＥＰＲＯＭ３００がライトプロテクト状態に設定されていると判断し、ステータスレジスタ２１１に保持されているステータス情報ＳＴを読み出す（ステップＳ２５）。
【００４７】
次に、自律実行部２１４は、このステータス情報ＳＴが、ライトプロテクト状態を表す論理レベル０であるか否かを判定する（ステップＳ２６）。
【００４８】
かかるステップＳ２６において、ステータス情報ＳＴが論理レベル０であると判定された場合、自律実行部２１４は、ライトプロテクト状態の解除を促すライトプロテクト解除命令をコマンド実行部２１２Ａに供給する（ステップＳ２７）。かかるライトプロテクト解除命令に応じて、コマンド実行部２１２Ａは、ライトプロテクト解除信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００のライトプロテクト状態を解除する。
【００４９】
次に、自律実行部２１４は、ＥＥＰＲＯＭ３００の所定のアドレスＡに格納されているデータの全ビットの論理レベルを反転させたビット反転データを、このアドレスＡに上書きさせるビット反転命令をコマンド実行部２１２Ａに供給する（ステップＳ２８）。かかるビット反転命令に応じて、コマンド実行部２１２Ａは、ビット反転信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００の所定のアドレスＡに格納されていたデータの全ビットの論理レベルを反転させたデータを、ＥＥＰＲＯＭ３００のアドレスＡに上書きする。
【００５０】
次に、自律実行部２１４は、ＥＥＰＲＯＭ３００の所定のアドレスＡからのデータ読み出しを促す読出命令をコマンド実行部２１２Ａに供給する（ステップＳ２９）。かかる読出命令に応じて、コマンド実行部２１２Ａは、アドレスＡからデータを読み出す読出信号をＥＥＰＲＯＭ３００に供給することにより、当該ＥＥＰＲＯＭ３００の所定のアドレスＡに格納されているデータを読み出す。
【００５１】
次に、自律実行部２１４は、ＥＥＰＲＯＭ３００から読み出されたデータの値と、上記ステップＳ２８で上書きしたデータの値とが一致しているか否かを判定する（ステップＳ３０）。かかるステップＳ３０において、ＥＥＰＲＯＭ３００から読み出されたデータの値と、上書きしたデータの値とが一致していると判定された場合、自律実行部２１４は、代替レジスタ２１６に格納されている待避データを、ＥＥＰＲＯＭ３００の所定のアドレスＡに上書きさせるデータ転送命令をコマンド実行部２１２Ａに供給する（ステップＳ３１）。かかるデータ転送命令に応じて、コマンド実行部２１２Ａは、データ転送信号をＥＥＰＲＯＭ３００に供給することにより、代替レジスタ２１６に格納されている待避データをＥＥＰＲＯＭ３００の所定のアドレスＡに上書きする。
【００５２】
次に、自律実行部２１４は、ライトプロテクト実行信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００をライトプロテクト状態に設定する（ステップＳ３２）。
【００５３】
ここで、ステップＳ２４においてＥＥＰＲＯＭ３００から読み出されたデータの値と、上書きしたデータの値とが一致していると判定された場合には、割込生成部２１７は、ＥＥＰＲＯＭ３００に対するアクセス（データ書込又は読出）に異常が生じていることを通知する割込信号をＣＰＵ１００に供給する（ステップＳ３３）。
【００５４】
すなわち、ＥＥＰＲＯＭ３００は、ＣＰＵ１００からデータ書き込みを促す書込命令が発行されるまでの間は、ライトプロテクト状態に設定されている。よって、ＥＥＰＲＯＭ３００に対するアクセスに異常が生じていなければ、ライトプロテクト状態に設定されているＥＥＰＲＯＭ３００に対して、上記ステップＳ２２にてビット反転データを上書きする処理を行っても、当該ビット反転データがＥＥＰＲＯＭ３００に上書きされることは無い。したがって、ステップＳ２２の終了後、ステップＳ２４にて、ＥＥＰＲＯＭ３００から読み出されたデータの値と、上書きしたビット反転データの値とが一致していると判定された場合には、ＥＥＰＲＯＭ３００に対してアクセス異常が生じていることになる。そこで、この際、上記したステップＳ３３にて、アクセス異常が生じたことをＣＰＵ１００に通知するのである。
【００５５】
また、ステップＳ３０において、ＥＥＰＲＯＭ３００から読み出されたデータの値と、上書きしたデータの値とが一致していないと判定された場合にも、割込生成部２１７は、上記ステップＳ３３を実行することにより、アクセス異常が生じていることを通知する割込信号をＣＰＵ１００に供給する。
【００５６】
つまり、ライトプロテクト状態に設定されているＥＥＰＲＯＭ３００を、上記ステップＳ２７にてライトプロテクト解除状態に設定変更した後はデータの書き込みが可能となる。よって、ＥＥＰＲＯＭ３００に対してアクセス異常が生じていなければ、上記ステップＳ２８にて、ライトプロテクト解除状態に設定されているＥＥＰＲＯＭ３００に対してビット反転データの上書き処理を施すと、当該ビット反転データがＥＥＰＲＯＭ３００に上書きされる。したがって、ステップＳ２８の終了後、ステップＳ３０にて、ＥＥＰＲＯＭ３００から読み出されたデータの値と、上書きしたビット反転データの値とが一致していないと判定された場合には、ＥＥＰＲＯＭ３００に対してアクセス異常が生じていることになる。そこで、この際、上記したステップＳ３３にて、アクセス異常が生じたことをＣＰＵ１００に通知するのである。
【００５７】
また、ステップＳ２６においてステータス情報ＳＴが論理レベル０では無いと判定された場合、自律実行部２１４は、ＥＥＰＲＯＭ３００自体に異常が生じていることを示す割込信号をＣＰＵ１００に供給する（ステップＳ３４）。
【００５８】
すなわち、ステップＳ２４にてステータス情報ＳＴが論理レベル１であると判定、つまりＥＥＰＲＯＭ３００がライトプロテクト解除状態にあるにも拘わらず、ステップＳ２２によるビット反転データの上書き処理が正しく為されなかった場合には、ＥＥＰＲＯＭ３００自体に異常が生じていることになる。そこで、この際、上記したステップＳ３４にて、ＥＥＰＲＯＭ３００に異常が生じたことをＣＰＵ１００に通知するのである。
【００５９】
以上のように、図３に示すマイコンシステム１０には、メモリ（３００）の所定アドレス（Ａ）に格納されているデータを待避データとして保持する代替保持部（２１６）と、メモリが正常にライトプロテクト状態及びライトプロテクト解除状態に設定されるか否かを判定するメモリ状態確認処理（図４）を実行する自律実行部（２１４）と、が含まれている。
【００６０】
ここで、メモリ状態確認処理において自律実行部は、待避データの全ビットを反転させたビット反転データを待避データとは異なるデータ値を有するデータとして、メモリの所定アドレスに上書きせしめる第１の上書き処理（Ｓ２２、Ｓ２３）を実行する。次に、メモリの所定アドレスからデータを読み出し、読み出された読出データのデータ値と待避データのデータ値とが一致したか否かを判定する第１の判定処理（Ｓ２３、Ｓ２４）を実行する。そして、第１の判定処理において読出データのデータ値と待避データのデータ値とが一致したと判定された場合に、異常が生じていることを通知する第１の異常通知処理（Ｓ３３）を実行する。
【００６１】
また、かかるメモリ状態確認処理において自律実行部は、読出データと待避データとが異なり且つステータス情報保持部（２１１）に保持されているステータス情報（ＳＴ）がライトプロテクト解除状態を表す場合（Ｓ２４、Ｓ２５、Ｓ２６）に、異常が生じていることを通知する第２の異常通知処理（Ｓ３４）を実行する。
【００６２】
また、当該メモリ状態確認処理において自律実行部は、読出データと待避データとが異なり且つステータス情報保持部に保持されているステータス情報がライトプロテクト状態を表す場合（Ｓ２４、Ｓ２５、Ｓ２６）に、以下の第２の上書き処理（Ｓ２８）、第２の判定処理（Ｓ３０）、及び第３の異常通知処理（Ｓ３３）と、を実行する。つまり、第２の上書き処理では、待避データとは異なるデータ値を有するデータをメモリの所定アドレスに上書きせしめる処理をメモリに施す。第２の判定処理では、メモリの所定アドレスからデータを読み出し（Ｓ２９）、読み出された読出データのデータ値と待避データのデータ値とが一致するか否かを判定する（Ｓ３０）。そして、第３の異常通知処理では、上記した第２の判定処理において読出データのデータ値と待避データのデータ値とが一致していないと判定された場合に、異常が生じていることを通知する（Ｓ３３）。
【００６３】
そして、自律実行部は、上記した第２の判定処理において読出データのデータ値と待避データのデータ値とが一致していると判定された場合に、代替保持部に保持されている待避データをメモリの所定アドレスに上書き（Ｓ３１）した後、当該メモリをライトプロテクト状態に設定する（Ｓ３２）。
【００６４】
上記したメモリ状態確認処理により、ＥＥＰＲＯＭ３００が正常にライトプロテクト状態又はライトプロテクト解除状態に設定されているか否かを判定し、当該判定結果に基づき異常通知を行うのである。
【００６５】
従って、かかるメモリ状態確認処理を定期的に実行することにより、ＥＥＰＲＯＭ３００のライトプロテクト状態又はライトプロテクト解除状態の設定動作の信頼性を高めることが可能となる。
【００６６】
次に、上記したメモリ状態確認処理と、ＣＰＵ１００からＥＥＰＲＯＭ３００へのアクセスとが競合した際に、競合管理制御部２１５によって為される競合管理制御について説明する。
【００６７】
図５は、メモリ状態確認処理の実行中において、競合管理制御部２１５が実行する競合管理処理の動作フローを示す図である。
【００６８】
図５において、先ず、競合管理制御部２１５は、ＣＰＵ１００からのアクセス（読出命令、書込命令）を受けたか否かを判定する（ステップＳ５１）。尚、書込命令には、書込用データと共に、当該書込用データを格納するアドレスを指定する書込アドレスが含まれている。また、読出命令には、読出対象となるアドレスを指定する読出アドレスが含まれている。
【００６９】
ステップＳ５１においてアクセスを受けたと判定された場合、競合管理制御部２１５は、そのアクセスによって指定されたＥＥＰＲＯＭ３００のアドレスが所定のアドレスＡであるか否かを判定する（ステップＳ５２）。ステップＳ５２においてアクセスの対象となるアドレスがアドレスＡであると判定されると、競合管理制御部２１５は、そのアクセスの種類が読出命令であるか否かを判定する（ステップＳ５３）。ステップＳ５３において読出命令であると判定されると、競合管理制御部２１５は、競合処理１を実行する（ステップＳ５４）。尚、かかる競合処理１では、競合管理制御部２１５は、代替レジスタ２１６に保持されている待避データを読み出し、このデータをアドレスＡに対応した読出データとしてＣＰＵ１００に供給する。
【００７０】
また、上記したステップＳ５３において読出命令では無いと判定、つまり、ＣＰＵ１００から受けたアクセスの種類が、書込命令であると判定されると、競合管理制御部２１５は、競合処理２を実行する（ステップＳ５５）。
【００７１】
図６は、競合処理２の動作フローを示す図である。
【００７２】
図６において、競合管理制御部２１５は、ＣＰＵ１００が発行した書込命令に応じて、書込用データを代替レジスタ２１５に書き込む（ステップＳ６１）。
【００７３】
次に、競合管理制御部２１５は、図４に示すメモリ状態確認処理が終了したか否かを判定する（ステップＳ６２）。競合管理制御部２１５は、メモリ状態確認処理が終了したと判定されなかった場合には、引き続きメモリ状態確認処理が終了したか否かの判定を繰り返す。
【００７４】
ステップＳ６２において、メモリ状態確認処理が終了したと判定された場合、競合管理制御部２１５は、ライトプロテクト状態の解除を促すライトプロテクト解除命令をコマンド実行部２１２Ａに供給する（ステップＳ６３）。かかるライトプロテクト解除命令に応じて、コマンド実行部２１２Ａは、ライトプロテクト解除信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００のライトプロテクト状態を解除する。
【００７５】
次に、競合管理制御部２１５は、代替レジスタ２１６に格納されている待避データを、ＥＥＰＲＯＭ３００の所定のアドレスＡに上書きさせるデータ転送命令をコマンド実行部２１２Ａに供給する（ステップＳ６４）。かかるデータ転送命令に応じて、コマンド実行部２１２Ａは、データ転送信号をＥＥＰＲＯＭ３００に供給することにより、代替レジスタ２１６に格納されている待避データをＥＥＰＲＯＭ３００の所定のアドレスＡに上書きする。
【００７６】
次に、競合管理制御部２１５は、ライトプロテクト実行信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００をライトプロテクト状態に設定する（ステップＳ６５）。かかるステップＳ６５の終了後、競合管理制御部２１５は、図５に示す競合管理処理の実行に戻る。
【００７７】
ここで、図５に示すステップＳ５２において、アクセス対象となるアドレスがアドレスＡでは無いと判定されると、競合管理制御部２１５は、そのアクセスの種類が読出命令であるか否かを判定する（ステップＳ５６）。ステップＳ５６において読出命令であると判定されると、競合管理制御部２１５は、競合処理３を実行する（ステップＳ５７）。
【００７８】
図７は、競合処理３の動作フローを示す図である。
【００７９】
図７において、競合管理制御部２１５は、先ず、メモリ状態確認処理を一時的に中断させる一時中断命令を自律実行部２１４に発行する（ステップＳ７１）。かかる一時中断命令に応じて、自律実行部２１４は、メモリ状態確認処理を中断する。
【００８０】
次に、競合管理制御部２１５は、ＣＰＵ１００から発行された読出命令に応じて、その読出命令によって指定されたアドレスからのデータ読出を促す読出信号をＥＥＰＲＯＭ３００に供給する（ステップＳ７２）。競合管理制御部２１５は、かかる読出信号に応じてＥＥＰＲＯＭ３００から読み出されたデータを読出データとしてシステムバス４００に送出する。
【００８１】
次に、競合管理制御部２１５は、メモリ状態確認処理を再開させる再開命令を自律実行部２１４に発行する（ステップＳ７３）。かかる再開命令に応じて自律実行部２１４は、ステップＳ７１において中断した箇所からメモリ状態確認処理を再開する。かかるステップＳ７３の終了後、競合管理制御部２１５は、図５に示す競合管理処理の実行に戻る。
【００８２】
ここで、図５に示すステップＳ５６において、ＣＰＵ１００からのアクセスの種類が読出命令では無いと判定、つまり書込命令であると判定されると、競合管理制御部２１５は、競合処理４を実行する（ステップＳ５８）。
【００８３】
図８は、競合処理４の動作フローを示す図である。
【００８４】
図８において、競合管理制御部２１５は、先ず、メモリ状態確認処理を一時的に中断させる一時中断命令を自律実行部２１４に発行する（ステップＳ８１）。かかる一時中断命令に応じて、自律実行部２１４は、メモリ状態確認処理を中断する。
【００８５】
次に、競合管理制御部２１５は、ステータスレジスタ２１１に格納されているステータス情報ＳＴが、ライトプロテクト解除状態を表す論理レベル１であるか否かを判定する（ステップＳ８２）。
【００８６】
ステップＳ８２において、ステータス情報ＳＴが、ライトプロテクト解除状態を表す論理レベル１であると判定された場合、競合管理制御部２１５は、上記した書込命令にて指定される書込アドレスに書込用データを書き込ませる書込信号を、ＥＥＰＲＯＭ３００に供給する（ステップＳ８３）。
【００８７】
次に、競合管理制御部２１５は、メモリ状態確認処理を再開させる再開命令を自律実行部２１４に発行する（ステップＳ８４）。かかる再開命令に応じて自律実行部２１４は、ステップＳ８１において中断した箇所からメモリ状態確認処理を再開する。
【００８８】
ステップＳ８４の終了後、競合管理制御部２１５は、ライトプロテクト実行信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００をライトプロテクト状態に設定する（ステップＳ８５）。
【００８９】
上記したステップＳ８２において、ステータス情報ＳＴがライトプロテクト解除状態を表す論理レベル１では無いと判定された場合、競合管理制御部２１５は、ライトプロテクト状態の解除を促すライトプロテクト解除命令をコマンド実行部２１２Ａに供給する（ステップＳ８６）。かかるライトプロテクト解除命令に応じて、コマンド実行部２１２Ａは、ライトプロテクト解除信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００のライトプロテクト状態を解除する。
【００９０】
次に、競合管理制御部２１５は、上記書込命令にて指定されるアドレスに、書込用データを書き込ませる書込信号を、ＥＥＰＲＯＭ３００に供給する（ステップＳ８７）。当該書込信号に応じて、ＥＥＰＲＯＭ３００は、上記書込命令によって指定されるアドレスに、書込用データを書き込む。
【００９１】
次に、競合管理制御部２１５は、ライトプロテクト実行信号をＥＥＰＲＯＭ３００に供給することにより、ＥＥＰＲＯＭ３００をライトプロテクト状態に設定する（ステップＳ８８）。
【００９２】
次に、競合管理制御部２１５は、メモリ状態確認処理を再開させる再開命令を自律実行部２１４に発行する（ステップＳ８９）。かかる再開命令に応じて自律実行部２１４は、ステップＳ８１において中断した箇所からメモリ状態確認処理を再開する。
【００９３】
上記したステップＳ８５又はＳ８９の終了後、競合管理制御部２１５は、図５に示す競合管理処理の実行に戻る。
【００９４】
以上のように、競合管理制御部２１５は、メモリ状態確認処理と、ＣＰＵ１００からＥＥＰＲＯＭ３００へのアクセスとが競合した場合には、アクセス対象となるアドレスがアドレスＡであるか否か、及びアクセスの種類（書込命令又は読出命令）に応じて、以下の対応関係にて競合処理１〜４を実施する。
【００９５】
競合処理１：アドレスＡに対する読出命令
競合処理２：アドレスＡに対する書込命令
競合処理３：アドレスＡ以外のアドレスに対する読出命令
競合処理４：アドレスＡ以外のアドレスに対する書込命令
つまり、メモリ状態確認処理では、ＣＰＵ１００から発行されたＥＥＰＲＯＭ３００への命令を考慮することなく、ＥＥＰＲＯＭ３００の所定のアドレスＡをアクセスすることにより、ＥＥＰＲＯＭ３００の状態（ライトプロテクト状態、ライトプロテクト解除状態）の確認と、ＥＥＰＲＯＭ３００の異常検出を行っている。そのため、メモリ状態確認処理の実行中に、ＣＰＵ１００からＥＥＰＲＯＭ３００のアドレスＡに対するアクセスが為された場合には、メモリ状態確認処理が終了するまで、そのアクセスを待機していなければならず、ＣＰＵ１００からＥＥＰＲＯＭ３００へのアクセス処理時間が長くなるという問題点が生じる。
【００９６】
そこで、かかる問題を解決するために、図３に示す構成では、代替レジスタ２１６により、ＥＥＰＲＯＭ３００の所定アドレスＡに対応したデータ格納領域を設けるようにしている。つまり、メモリ状態確認処理の実行中にＣＰＵ１００からＥＥＰＲＯＭ３００の所定アドレスＡへの書込又は読出命令が発行された場合には、代替レジスタ２１６に対してアクセス（データ読出、データ書込）を行う（競合処理１又は２）。尚、アクセスの種類が書込命令である場合には、代替レジスタ２１６に書き込んでおいた待避データは、メモリ状態確認処理の終了後にＥＥＰＲＯＭ３００の所定アドレスＡに書き込まれる（競合処理２のＳ６４）。
【００９７】
よって、メモリ状態確認処理が終了するまで、ＣＰＵ１００からのアクセス命令を待機させる場合に比べて、アクセス処理時間の短縮を図ることが可能となる。尚、ＣＰＵ１００からＥＥＰＲＯＭ３００へのアクセス対象となるアドレスがアドレスＡ以外の場合は、メモリ状態確認処理の実行を一時中断させ（競合処理３又は４）、ＥＥＰＲＯＭ３００に対するアクセス処理の終了後に、中断した箇所からメモリ状態確認処理を再開させるようにしている。
【００９８】
従って、図３に示す構成によれば、ＣＰＵ１００との競合時におけるアクセス時間の増大を抑えつつも、ＥＥＰＲＯＭ３００のライトプロテクト状態又はライトプロテクト解除状態の信頼性を高めることが可能となる。
【符号の説明】
【００９９】
１００      ＣＰＵ
２００      メモリアクセス部
２１１      ステータスレジスタ
２１２      コマンド実行部
２１３      ライトプロテクト状態管理部
２１４      自律実行部
２１５      競合管理制御部
２１６      代替レジスタ
２１７      割込み生成部
３００      ＥＥＰＲＯＭ
【図１】
2018032312.tif 000003
【図２】
2018032312.tif 000004
【図３】
2018032312.tif 000005
【図４】
2018032312.tif 000006
【図５】
2018032312.tif 000007
【図６】
2018032312.tif 000008
【図７】
2018032312.tif 000009
【図８】
2018032312.tif 000010