(57)【特許請求の範囲】
【請求項１】
内部に記憶手段を備えたマイクロコンピュータにおいて、
前記記憶手段の記憶領域として、当該マイクロコンピュータが搭載される機器の全体を制御する総合制御プログラムが記憶される第１領域と、その総合制御プログラムに応じて前記機器の各機能を個別に制御する個別制御プログラムが記憶される第２領域とを設け、この第２領域の所定のアドレスに対する第１領域からの命令に基づくアクセスを許容しその第２領域の残りのアドレスに対する第１領域からの命令に基づくアクセスを禁止する監視部を有することを特徴とするマイクロコンピュータ。
【請求項２】
前記監視部によるアクセスの禁止を有効とするか無効とするかを切換指定するための切換手段、をさらに有することを特徴とする請求項１記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶領域が複数の領域に区分された記憶手段を有するマイクロコンピュータに関する。
【背景技術】
【０００２】
従来、各種制御器においては、マイクロコンピュータが用いられ、内部の記憶手段たとえばＲＯＭ（リード・オンリ・メモリ）に記憶されたプログラムによって動作するようになっている。このような制御器の制御系は、搭載される機器の全体の制御動作を決定し処理する部分と、その決定された動作内容に従って機器の各種アクチュエータを制御する駆動処理（ドライバー）部分とで構成される。アクチュエータが簡単なリレーやスイッチであれば、ドライバー部分は簡単に構成できるが、容量の大きい直流モータ等を駆動する場合は、ドライバー部分にとってかなりの負荷となり、その駆動用のプログラムも大きな容量となる。
【０００３】
たとえば、空調機の制御器には、モータ回転数などを決定し処理する機器制御用マイクロコンピュータ（制御用ＭＣＵ）と、その決定された動作内容に従ってモータを駆動するモータ駆動用マイクロコンピュータ（駆動用ＭＣＵ）と、が設けられる。これらマイクロコンピュータは、それぞれ１つのチップからなり、それぞれのチップには、プログラムやデータを記憶するＲＯＭ、一時的にデータを記憶するＲＡＭ、プログラムの実行やデータ処理を行うＣＰＵなどが設けられている。
【０００４】
モータ駆動用マイクロコンピュータのＲＯＭには、モータ駆動に必要なアルゴリズムが記述されたプログラムが記憶され、機器制御用マイクロコンピュータのＲＯＭには機器の制御に必要なプログラムが記憶される。これらマイクロコンピュータは通信線により接続され、機器制御用マイクロコンピュータはモータ駆動用マイクロコンピュータに対してモータの回転数を指示し、モータ駆動用マイクロコンピュータは機器制御用マイクロコンピュータに実際のモータ回転数のデータを送信する。
【０００５】
このようなシステムにおいて、各マイクロコンピュータの相互間では通信規約に応じた指示や回答が行われるだけで、それぞれのマイクロコンピュータのＲＯＭに記憶されているプログラムは各々のマイクロコンピュータ内のみで実行される。したがって、一方のマイクロコンピュータから他方のマイクロコンピュータのＲＯＭにアクセスすることはできず、それぞれのマイクロコンピュータのプログラム内容は秘密に保持される。
【０００６】
しかしながら、このシステムにおいては、マイクロコンピュータが２つ必要となり、システム自体も大型化してしまうという問題がある。そこで、１つのマイクロコンピュータでモータ駆動と機器制御の両方を実行できれば、機器の小型化、コストダウン等の様々なメリットが得られる。そこで、１つのマイクロコンピュータのＲＯＭに両方の制御プログラムを記憶させて使用することが考えられるが、この場合、従来のマイクロコンピュータの構成ではＲＯＭに記憶された全てのプログラムに対してアクセスが可能となってしまう。
【０００７】
ここで、モータ制御プログラムと機器制御プログラムを別々の会社が作成する場合には、それぞれ相手方のプログラムの内容が読み出し可能となり、両者間での機密が保てないという問題がある。
【０００８】
一方、メモリ内のデータの秘密保持を目的として、メモリのアドレスバス及びデータバスのバス権に関しＣＰＵと外部のいずれかが選択的に優先権を持つマイクロコンピュータがある。このマイクロコンピュータでは、外部がバス権を持つときに、メモリ内のデータの外部読み出しや書き込みを禁止するための禁止領域（アドレス）を設けることができる（例えば特許文献１）。すなわち、メモリ内の特定領域については、外部がバス権を持つ場合にはアクセスができず、読み出しや書き込みができなくなり、その特定領域のデータの外部読み出しは禁止され、データやプログラムの秘密性が維持される。
【特許文献１】特開平１１−１１０２９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記のように外部にバス権を持たせることのできるマイクロコンピュータの場合、外部からマイクロコンピュータ内のメモリヘのアクセスを禁止することはできても、マイクロコンピュータ内のメモリに記憶されたプログラムの秘密保持をマイクロコンピュータ内でどのように達成するかについては何も考慮されていない。
【００１０】
この発明は、上記の事情を考慮したもので、記憶手段に記憶されたプログラムの秘密保持を当該マイクロコンピュータ内で達成することができるマイクロコンピュータを提供することを目的としている。
【課題を解決するための手段】
【００１２】
請求項１に係る発明のマイクロコンピュータは、内部に記憶手段を備えたものであって、記憶手段の記憶領域として、当該マイクロコンピュータが搭載される機器の全体を制御する総合制御プログラムが記憶される第１領域と、その総合制御プログラムに応じて前記機器の各機能を個別に制御する個別制御プログラムが記憶される第２領域とを設けている。そして、第１領域および第２領域のいずれにおいても所定のアドレスに対する他の領域からの命令に基づくアクセスを許容し、残りのアドレスに対する他の領域からの命令に基づくアクセスを禁止する監視部と、記憶手段に記憶された初期設定プログラムによって第１領域および第２領域のそれぞれに対し、監視部において他の領域からの命令に基づくアクセスの禁止を有効とするか無効とするかを切換指定するための切換手段とを有している。
【００１３】
請求項２に係る発明のマイクロコンピュータは、監視部によるアクセスの禁止を有効とするか無効とするかを切換指定するための切換手段、をさらに有する。
【発明の効果】
【００１６】
この発明によれば、１つの記憶手段に記憶された複数のプログラムに関する秘密保持が可能なマイクロコンピュータを提供できる。
【発明を実施するための最良の形態】
【００１７】
［１］以下、この発明の第１の実施形態について図面を参照して説明する。  
図１は空調機に搭載された本発明のマイクロコンピュータの概要である。１は記憶手段であるＲＯＭ（リード・オンリ・メモリ）で、記憶領域が複数の領域たとえば第１領域と第２領域とに区分されている。
【００１８】
第１領域には、初期設定プログラムおよび総合制御プログラムが記憶されている。初期設定プログラムは、電源投入時に起動して、当該第１領域における全アドレスのうち、予め定められているアドレスに対するアクセスを許容して残りのアドレスに対するアクセスを禁止する初期設定を行う。許容対象となるアドレスのデフォルト（変更）は不可能となっている。総合制御プログラムは、アドレスＸａ〜Ｘｙに記憶されたデータやコマンドからなり、当該マイクロコンピュータが搭載されている機器の全体の制御動作を決定し処理する。コマンドとしては、第２領域のアドレスに対するジャンプ命令がある。
【００１９】
第２領域には、初期設定プログラムおよびコマンドが記憶されているとともに、総合制御プログラムに応じて空調機の各機能を個別に制御する個別制御プログラムとして、起動制御プログラム、回転数制御プログラム、停止制御プログラムが記憶されている。初期設定プログラムは、電源投入時に起動して、当該第２領域における全アドレスのうち、予め定められているアドレスに対するアクセスを許容して残りのアドレスに対するアクセスを禁止する初期設定を行う。許容対象となるアドレスのデフォルト（変更）は不可能となっている。コマンドは、アクセスの許容が初期設定されるアドレスＡ１，Ａ２，Ａ３に記憶されている。アドレスＡ１のコマンドは、起動制御プログラムへのジャンプ命令。アドレスＡ２のコマンドは、回転数制御プログラムへのジャンプ命令。アドレスＡ３のコマンドは、停止制御プログラムへのジャンプ命令である。
【００２０】
なお、電源投入時には、最初に第１領域の初期設定プログラムが動作し、その後、続いて第２領域の初期設定プログラムが動作するようになっている。
【００２１】
起動制御プログラムは、空調機の起動を制御するもので、アクセスの禁止が初期設定されるアドレスＢ１〜Ｂｎに記憶されている。最後アドレスＢｎには、総合制御プログラムのアドレス“Ｘｉ＋１”への戻り命令が記憶されている。回転数制御プログラムは、空調機における圧縮機モータの回転数Ｆを制御するもので、アクセスの禁止が初期設定されるアドレスＣ１〜Ｃｎに記憶されている。最後アドレスＣｎには、総合制御プログラムのアドレス“Ｘｎ＋１”への戻り命令が記憶されている。停止制御プログラムは、空調機の停止を制御するもので、アクセスの禁止が初期設定されるアドレスＤ１〜Ｄｎに記憶されている。最後アドレスＤｎには、総合制御プログラムのアドレス“Ｘｙ＋１”への戻り命令が記憶されている。
【００２２】
一方、２はＲＡＭ（ランダム・アクセス・メモリ）で、データの一時記憶用として使用される。  
このＲＯＭ１およびＲＡＭ２に、監視部３を介してＣＰＵ４が接続されている。そして、監視部３およびＣＰＵ４には、プログラムカウンタ５およびプロテクト切換部（切換手段）６が接続されている。
【００２３】
監視部３は、ＲＯＭ１における第１領域と第２領域の相互間でのアクセスの許容・禁止を監視および管理する。プロテクト切換部６は、ＣＰＵ４からの指令に基づき、ＲＯＭ１における第１領域と第２領域の相互間でのアクセスの禁止を有効とするか無効とするかを監視部３を通して切換指定する。
【００２４】
つぎに、上記の構成の作用を説明する。  
電源が投入されると、ＲＯＭ１における第１領域の初期設定プログラムおよび第２領域の初期設定プログラムが起動する。第１領域の初期設定プログラムは、第１領域における全てのアドレスに対するアクセスを許容する初期設定を行う。第２領域の初期設定プログラムは、第２領域における全アドレスのうち、予め定められているアドレス“Ａ１”“Ａ２”“Ａ３”に対するアクセスを許容して、残りのアドレスに対するアクセスを禁止する初期設定を行う。
【００２５】
この初期設定により、ＲＯＭ１の第１領域に記憶されている総合制御プログラムは、第２領域の開放されているアドレス“Ａ１”“Ａ２”“Ａ３”のコマンドを橋渡しにして、第２領域内の起動制御プログラム、回転数制御プログラム、停止制御プログラムにアクセスすることが可能となる。
【００２６】
したがって、第１領域内の総合制御プログラムが実行されていき、アドレスＸｉのコマンド“Ａ１へジャンプ”が読出されると（圧縮機モータの起動が必要な状態）、その読出されたコマンドに基づいて、第２領域のアドレス“Ａ１”に記憶されているコマンド“Ｂ１へジャンプ”が読出される。このコマンドに基づき、第２領域内の起動制御プログラムが起動し、圧縮機モータの起動が制御される。起動制御プログラムの最終アドレスＢｎにはコマンド“Ｘｉ＋１へ戻り”が記憶されており、そのコマンドに基づいて第１領域内の総合制御プログラムのアドレス“Ｘｉ＋１”からの処理が実行される。
【００２７】
総合制御プログラムにおいて、アドレス“Ｘｎ”のコマンド“Ａ２へジャンプ”が読み出されると（圧縮機モータの回転数制御が必要な状態）、その読出されたコマンドに基づいて、第２領域のアドレス“Ａ２”に記憶されているコマンド“Ｃ１へジャンプ”が読出される。このコマンドに基づき、第２領域内の回転数制御プログラムが起動し、圧縮機モータの回転数Ｆが制御される。この場合、目標回転数ＦｔがＲＡＭ２の所定のアドレスに記憶され、圧縮機モータの回転数Ｆがその目標回転数Ｆｔとなるように圧縮機モータが駆動制御される。回転数制御プログラムの最終アドレスＣｎにはコマンド“Ｘｎ＋１へ戻り”が記憶されており、そのコマンドに基づいて第１領域内の総合制御プログラムのアドレス“Ｘｎ＋１”からの処理が実行される。  
この回転数制御プログラムに関するデータ処理の経過を図２に示している。
【００２８】
総合制御プログラムの処理が進み、アドレス“Ｘｙ”のコマンド“Ａ３へジャンプ”が読み出されると（圧縮機モータの停止が必要な状態）、その読出されたコマンドに基づいて、第２領域のアドレス“Ａ３”に記憶されているコマンド“Ｄ１へジャンプ”が読出される。このコマンドに基づき、第２領域内の停止制御プログラムが起動し、圧縮機モータの停止が制御される。停止制御プログラムの最終アドレスＤｎにはコマンド“Ｘｙ＋１へ戻り”が記憶されており、そのコマンドに基づいて第１領域内の総合制御プログラムのアドレス“Ｘｙ＋１”からの処理が実行される。
【００２９】
以上のように、ＲＯＭ１の第２領域におけるアドレス“Ａ１”“Ａ２”“Ａ３”に対するアクセスを許容し、第２領域の残りのアドレスに対するアクセスについては禁止することにより、第２領域のアドレス“Ａ１”“Ａ２”“Ａ３”以外のアドレスの内容を第１領域内のプログラムによって読出すことはできない。よって、第１領域内のプログラムの作成者に対し、第２領域内のプログラムの秘密が保持される。すなわち、ＲＯＭ１に記憶されたプログラムの秘密保持を当該マイクロコンピュータ内で達成することができる。
【００３０】
なお、上記実施形態では、アドレス“Ｂｎ”“Ｃｎ”“Ｄｎ”にそれぞれ第１領域の制御プログラム内の戻るべきアドレスを記憶していることとしたが、ジャンプ命令ではなく、コール命令を用いればより簡単にプログラム化可能となる。すなわち、コール命令が出されるとその命令が記憶されていたアドレスがＲＡＭ２に記憶され、その後のリターン命令によって、このＲＡＭ２に記憶されたアドレスに“１”加算したアドレスに自動的に移行するようにできる。具体的には、アドレス“Ｘｉ”でアドレス“Ａ１”をコールするとアドレス“Ｘｉ”がＲＡＭ２に記憶され、続くアドレス“Ａ１”でアドレス“Ｂ１”へジャンプさせる。そこで、アドレス“Ｂｎ”においてリターン命令が実行されるとさきほどのコール命令によってＲＡＭに記憶されたアドレス“Ｘｉに１だけ加算したアドレス“Ｘｉ＋１”へと戻ることになり、上記実施形態と同じ動作を行わせることができる。したがって、コール命令とリターン命令を組み合わせて使用することで、アドレス“Ｂｎ”に予め戻るべきアドレスを記憶させる必要がないため、それぞれの領域でのプログラム作成の自由度が高くなる。
【００３１】
ＣＰＵ４からプロテクト切換部６へ禁止解除指令が送られた場合には、プロテクト切換部６が監視部３を操作することにより、第２領域のアドレスの“Ａ１”“Ａ２”“Ａ３”以外のアドレスに対するアクセスの禁止が無効となる。この場合、ＲＯＭ１の第１領域および第２領域の全てのアドレスに対するアクセスが可能となる。ただし、この場合の禁止解除指令は、それぞれの領域のプログラム作成者のみが設定できるものであり、ＲＯＭ１内の一方の領域のプログラム作成者等による人為的な操作によって他方の領域のプログラム作成者が意図的に設定できるものではない。これにより、ＲＯＭ１内のプログラムに対する機密性を確実に保つことができる。例えば、第１領域内において第２領域の全てのプログラム内容を外部に出力するプログラムを入れておいた場合には、第２領域のプログラムの禁止されているアドレスにアクセスした時には、プログラムが停止し、以後の動作を実行しなくなり、プログラム内容を外部出力することはできなくなる。
【００３２】
一方、単一のプログラム作成者がすべての領域を使用する場合には機密性の保持は不要であるため、ＲＯＭ１の全領域に対してアクセス許可を設定しておけば、ＲＯＭ１の全領域が制限なく使用可能となり、ＲＯＭ１を、従来の全アドレスにアクセス可能な単一領域のＲＯＭと同等に取り扱うことができ、マイクロコンピュータに汎用性を持たせることができる。
【００３３】
なお、上記実施形態では、空調機に搭載されるマイクロコンピュータを例に説明したが、他の機器に搭載されるマイクロコンピュータにも同様に適用が可能である。また、アクセスの禁止をＲＯＭ１の第２領域に対してのみ行う場合の例について説明したが、アクセスの禁止をＲＯＭ１の第１領域および第２領域の両方に対し行うことももちろん可能である。さらには、ＲＯＭ１内を３つ以上の領域に区分してそれぞれにアクセス許可／禁止を設定するようにしてもよい。
【００３４】
［２］この発明の第２の実施形態を図３および図４により説明する。  
図３に示すように、ＲＯＭ１の第１領域に、初期設定プログラムおよび総合制御プログラムが記憶されている。初期設定プログラムは、アドレスＷ１〜Ｗｎに記憶されたデータやコマンドからなり、電源投入時に起動して、ＲＯＭ１の第２領域あるいはＲＡＭ２からのアクセスに基づく当該第１領域における読出し・書込み処理を禁止もしくは許可する初期設定を行う。禁止もしくは許可は、第１領域を担当するプログラム作成者により設定される。コマンドとしては、第２領域のアドレスＡ１に対するコール命令がある。総合制御プログラムは、アドレスＸａ〜Ｘｙに記憶されたデータやコマンドからなり、当該マイクロコンピュータが搭載されている機器の全体の制御動作を決定し処理する。コマンドとしては、第２領域のアドレスＢ１，Ｃ１，Ｄ１に対するコール命令がある。
【００３５】
第２領域には、初期設定プログラムが記憶されているとともに、総合制御プログラムに応じて空調機の各機能を個別に制御する個別制御プログラムとして、起動制御プログラム、回転数制御プログラム、停止制御プログラムが記憶されている。初期設定プログラムは、アドレスＡ１〜Ａｎに記憶されたデータやコマンドからなり、電源投入時に起動する第1領域の初期設定プログラムからコールされて起動し、第１領域あるいはＲＡＭ２からのアクセスに基づく当該第２領域における読出し・書込み処理を禁止するか許可するかの初期設定を行う。禁止するか許可するかは、第２領域を担当するプログラム作成者により設定される。  
起動制御プログラム、回転数制御プログラム、停止制御プログラムについては、第１の実施形態と同じなので、その説明は省略する。
【００３６】
一方、ＲＡＭ（ランダム・アクセス・メモリ）は、データの一時記憶用として使用される。  
このＲＯＭ１およびＲＡＭ２に、監視部３を介してＣＰＵ４が接続されている。そして、監視部３およびＣＰＵ４には、プログラムカウンタ（ＰＣ）５およびプロテクト切換部（切換手段）６が接続されている。
【００３７】
監視部３は、ＲＯＭ１における第１領域および第２領域の相互間のアクセス、あるいは第１領域および第２領域に対するＲＡＭ経由のアクセスによるデータの読出し・書込み処理の許容・禁止を監視および管理するもので、とくにデータの読出し処理を禁止する読出禁止手段、およびデータの書込み処理を禁止する書込禁止手段の機能を有している。具体的には、監視部３は読出し及び書込みの命令に対し、その命令の発生元のアドレスと読出しまたは書込み先のアドレスが同じ領域かどうかによって読込み、書込みの許可、禁止を決定する。なお、ＲＯＭ１として、データの読出しと書込みが可能なＲＯＭを採用したマイクロコンピュータで説明するが、データの書込みが不可能なＲＯＭを採用している場合には、書込み処理がないため、監視部３は、読出禁止手段の機能のみを持ち、書込禁止手段の機能は持たない。
【００３８】
プロテクト切換部６は、ＲＯＭ１における第１領域の初期設定プログラムおよび第２領域の初期設定プログラムのそれぞれの実行に伴うＣＰＵ４からの指令に応じて、監視部３の読出禁止手段の処理および書込禁止手段の処理をそれぞれ有効とするか無効とするかを切換指定する。すなわち、プロテクト切換部６において禁止が設定されたならば、監視部３は読出し及び書込みの命令に対し、その命令の発生元のアドレスと読出しまたは書込み先のアドレスが同じ領域かどうかを判別して読込み、書込みの許可、禁止を決定する。
【００３９】
つぎに、上記の構成の作用を説明する。  
電源が投入されると、ＲＯＭ１における第１領域の初期設定プログラムが起動し、続いて第２領域の初期設定プログラムが起動する。第１領域の初期設定プログラムは、第１領域に対してのアクセスによるデータの読出し・書込み処理を禁止するか許可するかの初期設定を行う。第２領域の初期設定プログラムは、第２領域に対してのアクセスによるデータの読出し・書込み処理を禁止するか許可するかの初期設定を行う。
【００４０】
この初期設定において、第１領域および第２領域における自身以外の領域からのアクセスによるデータの読出し・書込み処理が禁止されたとする。  
この場合、図４のフローチャートに示すように、第２領域のデータを読出す命令が第１領域から発生すると、監視部３により、読出し対象が第２領域であることが判別され、かつ読出し命令の発生元のアドレスが第１領域であることがプログラムカウンタ５の内容から判別され、これら判別結果に基づいて第１領域内のプログラムが停止される。第１領域内のプログラムが停止することにより、第２領域に対する第１領域からのアクセスが不可能となり、第２領域内のデータを読出すことはできない。例えば、第２領域の全てのプログラム内容を外部出力するためのプログラムを第１領域に入れておいた場合には、第２領域のアドレスの内容を読出そうとする処理が実行された時点で、第１領域内のプログラムが停止して、以後の動作を実行しなくなり、第２領域のプログラム内容を外部出力することができなくなる。よって、第１領域内のプログラムの作成者に対し、第２領域内のプログラムの秘密が保持される。つまり、ＲＯＭ１に記憶されたプログラムの秘密保持を当該マイクロコンピュータ内で達成することができる。
【００４１】
第１領域のデータを読出す命令が第２領域から発生した場合は、監視部３により、読出し対象が第１領域であることが判別され、かつ読出し命令の発生元のアドレスが第２領域であることがプログラムカウンタ５の内容から判別され、これら判別結果に基づいて第２領域内のプログラムが停止される。第２領域内のプログラムが停止することにより、第１領域に対する第２領域からのアクセスが不可能となり、第１領域内のデータを読出すことはできない。よって、第２領域内のプログラムの作成者に対し、第１領域内のプログラムの秘密が保持される。
【００４２】
一方、各初期設定プログラムによる初期設定において、読出し・書込み処理が許可されていれば、ＣＰＵ４からプロテクト切換部６へ許可が指令され、プロテクト切換部６から監視部３への操作により、第１領域および第２領域の自身以外からのアクセスによるデータの読出し・書込み処理の禁止が無効にされる。これにより、ＲＯＭ１の第１領域および第２領域の全てのアドレスに対するデータの読出し・書込み処理が可能となる。
【００４３】
なお、ここでは監視部３の動作を図４のフローチャートに基づき説明したが、実際には監視部３はマイクロコンピュータ内のハード論理回路で形成される。
【００４４】
すでに説明したように、データの読出し・書込み処理を禁止するか許可するかの初期設定は、第１領域および第２領域のプログラム作成者のみがそれぞれ初期設定プログラムによって設定できる。一方の領域のプログラム作成者が、人為的な操作などで他方の領域のプログラム作成者になりきることはできない。したがって、ＲＯＭ１内のプログラムに対する機密性を確実に保つことができる。
【００４５】
なお、読出し・書込み処理が禁止されれば、ＲＡＭ２を経由したアクセスによる読出し・書込み処理も同じく禁止される。これは、ＲＯＭ１のプログラムがＲＡＭ２に一旦移された場合に、移されたプログラムの処理が可能となってしまう点に対処したもので、その場合のＲＡＭ２を経由した読出し・書込み処理を防止している。
【００４６】
なお、ＲＡＭ２に移されたプログラムに基づく読出し・書込み処理が行われた場合に、その処理の元になっているプログラムの出所(アドレス)がＲＯＭ１の第１領域および第２領域のいずれであるかをプログラムカウンタ５のデータから判別し、判別した領域と読出し・書込み処理の対象領域とが同じであれば、ＲＡＭ２を経由した読出し・書込み処理を許容するように構成しても良い。
【００４７】
また、本実施例のように書込み可能なＲＯＭ１に対しては、読出し処理と同時に書込み処理が禁止される。これは次の不具合を防ぐためである。すなわち、一方の領域から他方の領域へのアクセスによって他方の領域へのプログラムの書込みが可能になると、他方の領域に「読出し」命令を書き込むことができる。他方の領域にとって、書き込まれた「読出し」命令は自身の領域内の命令となるため、読出禁止手段では読出し処理を禁止することができない。その結果、他方の領域の内容が読出し可能となる不具合を生じてしまう。
【００４８】
一方、ＲＯＭ１の第１領域および第２領域におけるプログラム作成を同一のプログラム作成者が担当する場合には機密性の保持は不要であるため、ＲＯＭ１の各領域における読出し・書込み処理の許可を初期設定プログラムにより設定しておくことにより、ＲＯＭ１の各領域が制限なく使用可能となり、ＲＯＭ１を、従来の全アドレスに対する読出し・書込み処理が可能な単一領域のＲＯＭと同等に取り扱うことができ、マイクロコンピュータに汎用性を持たせることができる。
【００４９】
なお、読出し・書込み処理の禁止をＲＯＭ１の第１領域および第２領域の両方に対して設定する場合を例に説明したが、読出し・書込み処理の禁止を第１領域および第２領域のいずれか一方に対してのみ設定することももちろん可能である。さらには、ＲＯＭ１内を３つ以上の領域に区分してそれぞれに読出し・書込み処理の許可／禁止を設定するようにしてもよい。
【００５０】
さらには、秘密保持の必要がないプログラムを読出禁止手段や書込禁止手段を設けないＲＯＭの一部の領域に書込み、他のＲＯＭ領域のみに読出禁止手段や書込禁止手段を設ける構成としてもよい。
【００５１】
［３］なお、この発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、各実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施形態の構成を示すブロック図。
【図２】同第１の実施形態におけるデータ処理の経過を示す図。
【図３】本発明の第２の実施形態の構成を示すブロック図。
【図４】同第２の実施形態の作用を説明するためのフローチャート。
【符号の説明】
【００５３】
１…ＲＯＭ（記憶手段）、２…ＲＡＭ、３…監視部、４…ＣＰＵ、５…プログラムカウンタ、６…プロテクト切換部（切換手段）
【図１】
0004669666.tif 000002
【図２】
0004669666.tif 000003
【図３】
0004669666.tif 000004
【図４】
0004669666.tif 000005