(57)【要約】【課題】実行するプログラムの切り替え処理にかかる時間を短縮することが可能なメモリ保護システムを提供する。【解決手段】実行されるアプリケーションプログラムが切り替えられるとき、ＤＭＡＣ１２が、領域データを記憶するＴＣＭ１１から、次に実行されるアプリケーションプログラムに対応する領域データを含むメモリ領域設定用データを読み出し、メモリ保護を行うＭＰＵ１３のレジスタ１４〜１６へ直接転送する。従って、レジスタ１４〜１６に格納される設定用データを更新するために、ＣＰＵ１０において、領域データの書き換えのためのシステムプログラムを実行する必要がなく、その分、ＣＰＵ１１処理部における処理負荷を軽減することができ、その結果、アプリケーションプログラムの切り替えに要する時間を短縮することが可能となる。【選択図】図１
2017204083.tif 000002
【特許請求の範囲】
【請求項１】
メモリ（１８）を保護するためのメモリ保護システムであって、
複数の異なるタスク遂行のために、該当するアプリケーションプログラムを実行する処理部（１０）と、
前記アプリケーションプログラム毎に、アクセス可能なメモリ領域を示す領域データを記憶する領域データ記憶部（１１）と、
前記領域データを一時的に格納するレジスタ（１４〜１６）を有し、前記処理部によって前記アプリケーションプログラムが実行されるとき、当該アプリケーションプログラムに対応する前記領域データが前記レジスタに格納され、その格納された前記領域データに基づいて、アクセス可能なメモリ領域へのメモリアクセス要求に対してのみ、前記メモリへのアクセスを許容するメモリ保護部（１３）と、
実行される前記アプリケーションプログラムが切り替えられるときに、前記領域データ記憶部から、次に実行される前記アプリケーションプログラムに対応する前記領域データを読み出し、前記メモリ保護部の前記レジスタへ転送する転送部（１２）と、を備え、
前記転送部と前記メモリ保護部との間は、専用の通信線で接続され、
前記転送部は、ダイレクトメモリアクセスコントローラにより構成され、前記処理部が介在することなく、前記領域データが、前記領域データ記憶部から前記メモリ保護部の前記レジスタに直接転送されるメモリ保護システム。
【請求項２】
前記転送部によって、次に実行される前記アプリケーションプログラムに対応する前記領域データが、前記メモリ保護部の前記レジスタに転送されて格納される間、前記処理部は、同時並列的に、前記レジスタへの前記領域データの格納以外の前記アプリケーションプログラムの切替処理を実行する請求項１に記載のメモリ保護システム。
【請求項３】
前記メモリ保護部は、前記レジスタとして複数のレジスタを備え、複数の前記レジスタは、オペレーティングシステムプログラムがアクセス可能なメモリ領域を示す領域データを格納する第１レジスタと、前記アプリケーションプログラムがアクセス可能なメモリ領域を示す前記領域データを格納する第２レジスタとを含み、
前記転送部は、実行される前記アプリケーションプログラムが切り替えられるとき、前記第２レジスタを対象として、次に実行される前記アプリケーションプログラムに対応する前記領域データを転送するものであり、
前記第１レジスタに格納された前記領域データは変更されずに維持される請求項１又は２に記載のメモリ保護システム。
【請求項４】
複数の前記レジスタに格納されるデータには、前記領域データに加え、前記領域データによって示されるメモリ領域にアクセス可能なプログラムの種類を示す種類データ、及びメモリアクセス時の権限を示す権限データが含まれており、
前記メモリ保護部は、前記領域データ、前記種類データ、及び権限データに基づき、前記アプリケーションプログラム又は前記オペレーティングシステムプログラムによるメモリアクセス要求に対して、アクセスを許容するか否かを判定する請求項３に記載のメモリ保護システム。
【請求項５】
前記処理部は、プロセッサコアからなり、
前記領域データ記憶部は、前記プロセッサコアに直接結合されたメモリからなる請求項１乃至４のいずれかに記載のメモリ保護システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを保護するためのメモリ保護システムに関する。
【背景技術】
【０００２】
例えば、メモリ保護を行うための技術として、特許文献１に記載されたマイクロコンピュータが知られている。特許文献１のマイクロコンピュータは、ＣＰＵと、保護設定レジスタ群と、メモリアクセス制御装置とを備えている。保護設定レジスタ群は、ＣＰＵで実行されるプログラムによるメモリ空間へのアクセス許可を示すメモリ保護情報を格納する。メモリアクセス制御装置は、保護設定レジスタ群の設定内容を参照して、ＣＰＵにて実行されるプログラムによるメモリアクセス要求を許可するか否かを判定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２８７１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のマイクロコンピュータにおいては、信頼性の保証されていないプログラムからシステムプログラムや他のアプリケーションプログラムを保護することなどを目的として、実行するプログラムの切り替え時に、保護設定レジスタの書き換えを行い、新たに実行されるプログラムに対するメモリ空間のアクセス許可領域を設定する。
【０００５】
この際、特許文献１のマイクロコンピュータでは、プログラムの切り替え時の保護設定レジスタの更新に先立って、リセット装置が、ＣＰＵから出力されるリセット要求信号に応じて、保護設定レジスタ群に格納されたメモリ保護情報を無効化する。このようにして、保護設定レジスタの書き換え漏れを防止するようにしている。
【０００６】
しかしながら、特許文献１のマイクロコンピュータでは、ＣＰＵにて、プログラムの切り替え処理を担うシステムプログラムが実行されることで、リセット装置にリセット要求信号を出力したり、保護設定レジスタ群に新たなメモリ保護情報を書き込んだりする。このように、プログラムの切り替えごとに、システムプログラムにより保護設定レジスタ群の更新処理が実行される必要があるため、ＣＰＵの処理負荷が増加し、プログラムの切り替え処理に時間がかかるという問題がある。
【０００７】
本発明は、上述した点に鑑みてなされたものであり、実行するプログラムの切り替え処理にかかる時間を短縮することが可能なメモリ保護システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記した目的を達成するために、本発明によるメモリ保護システムは、メモリ（１８）を保護するためのものであって、
複数の異なるタスク遂行のために、該当するアプリケーションプログラムを実行する処理部（１０）と、
アプリケーションプログラム毎に、アクセス可能なメモリ領域を示す領域データを記憶する領域データ記憶部（１１）と、
領域データを一時的に格納するレジスタ（１４〜１６）を有し、処理部によってアプリケーションプログラムが実行されるとき、当該アプリケーションプログラムに対応する領域データがレジスタに格納され、その格納された領域データに基づいて、アクセス可能なメモリ領域へのメモリアクセス要求に対してのみ、メモリへのアクセスを許容するメモリ保護部（１３）と、
実行されるアプリケーションプログラムが切り替えられるときに、領域データ記憶部から、次に実行されるアプリケーションプログラムに対応する領域データを読み出し、メモリ保護部のレジスタへ転送する転送部（１２）と、を備え、
転送部とメモリ保護部との間は、専用の通信線で接続され、
転送部は、ダイレクトメモリアクセスコントローラにより構成され、処理部が介在することなく、領域データが、領域データ記憶部からメモリ保護部のレジスタに直接転送される。
【０００９】
このように、本発明によるメモリ保護システムは、実行されるアプリケーションプログラムが切り替えられるとき、転送部としてのダイレクトメモリアクセスコントローラが、領域データ記憶部から、次に実行されるアプリケーションプログラムに対応する領域データを読み出し、メモリ保護部のレジスタへ直接転送する。従って、レジスタに格納される領域データを更新するために、処理部において、領域データの書き換えのためのシステムプログラムを実行する必要がなく、その分、処理部における処理負荷を軽減することができる。その結果、アプリケーションプログラムの切り替えに要する時間を短縮することが可能となる。
【００１０】
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１１】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係るメモリ保護システムを備えたマイクロコンピュータの内部構成を示すブロック図である。
【図２】異なるタスク遂行のためのアプリケーションプログラム毎に、アクセス可能なメモリ領域を示す領域データを含むメモリ領域設定用データの構成を示す図である。
【図３】メモリ領域設定用データに含まれる各種のデータを示す図である。
【図４】アプリケーションプログラムの切り替え時の処理を示すフローチャートである。
【図５】メモリ保護ユニットにおける処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図に基づいて説明する。本実施形態に係るメモリ保護システムは、例えば、マイクロコンピュータ内に構築される。図１は、本実施形態に関わるメモリ保護システムを備えたマイクロコンピュータ１００内部の主要な構成を示すブロック図である。
【００１４】
マイクロコンピュータ１００は、例えば、車両搭載機器を電子的に制御する各種の電子制御装置に適用することができる。電子制御装置が制御対象とする車両搭載機器は、エンジン、変速機、ブレーキ等のパワートレイン系機器、エアコン、シート、ドアロック等のボディ系機器、ナビ、ＥＴＣ、ラジオ等の情報系機器、及びエアバック等のセイフティ系機器などである。
【００１５】
図１に示すように、マイクロコンピュータ１００は、ＣＰＵ（Central Processing Unit）１０、密結合メモリ（Tightly Coupled Memory：ＴＣＭ）１１、ダイレクトメモリアクセスコントローラ（Direct Memory Access Controller：ＤＭＡＣ）１２、メモリ保護ユニット（Memory Protection Unit：ＭＰＵ）１３、及びメモリ１８などを備えている。
【００１６】
ＣＰＵ１０は、図示しないＲＯＭに記憶されたオペレーティングシステムプログラムや、制御対象とする車両搭載機器を制御するための各種のタスクを遂行するためのアプリケーションプログラムを実行する。アプリケーションプログラムには、信頼性の保証された安全アプリケーションプログラムの他、信頼性の保証されていない非安全アプリケーションプログラムも含まれる。
【００１７】
そのため、本実施形態に係るメモリ保護システムにおいても、非安全アプリケーションプログラムから、オペレーティングシステムプログラムや安全アプリケーションプログラムを保護することなどを目的として、実行するアプリケーションプログラムの切り替え時に、アクセス可能なメモリ領域の設定を更新する。以下、アクセス可能なメモリ領域の設定の更新に用いられる構成について、詳しく説明する。
【００１８】
ＣＰＵ１０には、ＴＣＭ１１が内蔵されている。ＴＣＭ１１は、例えばＳＲＡＭからなり、ＣＰＵ１０のプロセッサコアに直接結合され、高速にアクセスすることができるメモリである。このＴＣＭ１１には、詳しくは後述するが、各種のタスクを遂行するためのアプリケーションプログラム毎に、アクセス可能なメモリ領域を示す領域データを含むメモリ領域設定用データが保存されている。メモリ領域設定用データは、電源が投入されてマイクロコンピュータ１００が起動されるときに、図示しないＲＯＭから読み出されて、ＴＣＭ１１に保存される。なお、本実施形態では、メモリ領域設定用データを保存するためのメモリとしてＴＣＭ１１を用いた例を示しているが、ＴＣＭ以外の読み書き可能なメモリにメモリ領域設定用データを保存するようにしても良い。
【００１９】
ＤＭＡＣ１２は、ＣＰＵ１０によって実行されるオペレーティングシステムプログラムの介在なしに、ＴＣＭ１１からメモリ領域設定用データを読み出して、ＭＰＵ１３のレジスタ１４〜１６へ直接転送するものである。ただし、ＤＭＡＣ１２は、ＣＰＵ１０（より正確にはオペレーティングシステムプログラム）から、次に実行するアプリケーションプログラムに対応するメモリ領域設定用データが記憶されているアドレスを示すアドレス情報と、メモリ領域設定用データの転送開始を指示する指示信号を取得する。ＤＭＡＣ１２は、転送開始の指示信号を受信すると、取得したアドレス情報に基づいて、メモリ領域設定用データの転送を開始する。このＤＭＡＣ１２によるメモリ領域設定用データの転送処理は、取得したアドレス情報に含まれる全てのデータの転送が完了したときに終了する。
【００２０】
ＴＣＭ１１とＤＭＡＣ１２との間、及びＤＭＡＣ１２とＭＰＵ１３のレジスタ１４〜１６との間は、それぞれ、専用の通信線によって接続されている。このため、ＤＭＡＣ１２は、ＴＣＭ１１からメモリ領域設定用データを読み出して、ＭＰＵ１３のレジスタ１４〜１６に転送する際、他の通信の影響を受けることなく、遅滞なくメモリ領域設定用データの転送を実行することができる。
【００２１】
ＭＰＵ１３は、メモリ領域設定用データを一時的に格納するレジスタ１４〜１６を有する。レジスタ１４〜１６は、図１に示すように複数設けられている。その内、少なくとも１つのレジスタは、第１レジスタとして、オペレーティングシステムプログラムがアクセス可能なメモリ領域を示す領域データを含むメモリ領域設定用データを格納する。他のレジスタは、第２レジスタとして、アプリケーションプログラムがアクセス可能なメモリ領域を示す領域データを含むメモリ領域設定用データを格納する。さらに、全てのプログラムに共用され、特に保護する必要がないメモリ領域を示す領域データを含むメモリ領域設定用データを格納する第３レジスタが設けられる場合がある。
【００２２】
上記第１〜第３レジスタの内、アプリケーションプログラムの切り替え時に書き換えられるのは、第２レジスタのみである。換言すれば、第１及び第３レジスタに格納されたメモリ領域設定用データは、変更されずに維持される。このように、書き換え対象とするレジスタを、必要最小限に絞ることで、メモリ領域設定用データの転送や格納に要する時間を短縮することができる。
【００２３】
ＭＰＵ１３は、さらに、アクセス可否判定部１７を有している。アクセス可否判定部１７は、各レジスタ１４〜１６に格納されたメモリ領域設定用データに基づいて、ＣＰＵ１０によって実行されるアプリケーションプログラム又はオペレーティングシステムプログラムによるメモリアクセス要求に対して、アクセスを許容するか否かを判定する。そして、アクセス可否判定部１７は、アクセスを許容すると判定した場合のみ、メモリ１８へのアクセスを許可する。このため、例えば、上述した非安全アプリケーションプログラムの実行によって、安全アプリケーションプログラム又はオペレーティングシステムプログラムによって使用されるデータ等が誤って書き換えられてしまうような事態の発生を防止することができる。
【００２４】
なお、メモリ１８は、各プログラムのワークスペースとして用いられるＲＡＭからなるが、さらに、ＲＯＭやレジスタなどを含むものであっても良い。例えば、メモリ１８は、ＲＡＭ、ＲＯＭ、レジスタを含み、これらを、一つのアドレス空間として一括管理するものであっても良い。
【００２５】
次に、メモリ領域設定用データについて、図２及び図３を参照して詳しく説明する。図２は、ＴＣＭ１１において、各種のタスクを遂行するためのアプリケーションプログラム毎に保存される、アクセス可能なメモリ領域を示す領域データを含むメモリ領域設定用データを概念的に示している。また、図３は、メモリ領域設定用データに含まれる各種のデータを示している。
【００２６】
メモリ領域設定用データは、異なるタスクを遂行するためのアプリケーションプログラム毎に定められている。図２に示す例では、タスク１用のアプリケーションプログラムに対応するメモリ領域設定用データ１、タスク２用のアプリケーションプログラムに対応するメモリ領域設定用データ２、以下、同様にして、タスクＭ用のアプリメーションプログラムに対応するメモリ領域設定用データＭがそれぞれ定められている。
【００２７】
アプリケーション毎に定められたメモリ領域設定用データは、さらに、メモリ領域を複数の小領域に区分し、その区分した小領域毎に細分化された複数の小領域設定用データを有している。図２に示す例では、「領域０設定用データ」、「領域１設定用データ」、「領域２設定用データ」、「領域Ｌ設定用データ」が、区分した小領域毎に細分化された小領域設定用データである。このように、メモリ領域設定用データを、区分した小領域毎に細分化した小領域設定用データとすることにより、各アプリケーションプログラムがアクセス可能なメモリ領域の区分けが容易になるとともに、細分化された各メモリ領域におけるアクセス権限の変更などにも柔軟に対応可能となる。なお、各アプリケーションプログラムに対応するメモリ領域設定用データ１〜Ｍにおいて、領域０〜領域Ｌは、それぞれ、メモリ領域の同じ小領域の範囲に対応している。
【００２８】
細分化された小領域設定用データは、それぞれ、図３に示すように、メモリ領域において対象となる小領域を示すアドレスデータ（領域データ）、アドレスデータによって示される小領域にアクセス可能なプログラムの種類を示すプロセスＩＤ（種類データ）、及びメモリアクセス時の権限を示すアクセス権データ（権限データ）が含まれている。
【００２９】
アドレスデータは、対象となる小領域の開始アドレスと終了アドレスとからなり、これら開始アドレスと終了アドレスとによって対象となる小領域を示している。プロセスＩＤは、図３に示す例では、オペレーティングシステムプログラムを示す「０」、アプリケーションプログラムを示す「１」、オペレーティングシステムプログラム及びアプリケーションプログラムの両方を示す「ＡＬＬ」により、プログラムの種類を示している。アクセス権は、対象となる小領域に対するアクセス権として、「読出可能、書込不可（Ｒ可／Ｗ不可）」、「読出不可、書込可能（Ｒ不可／Ｗ可）」、「読出可能、書込可能（Ｒ可／Ｗ可）」のいずれが認められるかを示すものである。
【００３０】
図３に示す細分化された設定用データは、それぞれ、ＭＰＵ１３の異なるレジスタ１４〜１６に格納される。そして、上述したように、アプリケーションプログラム用の小領域設定用データを格納する第２レジスタのみが書き換え対象となり、オペレーティングシステムプログラム用の小領域設定用データを格納する第１レジスタ、全てのプログラムに共用される小領域の設定用データを格納する第３レジスタの内容は書き換えられずに維持される。
【００３１】
なお、図３では、オペレーティングシステムプログラム用の小領域設定用データが２つの第１レジスタに格納され、アプリケーションプログラム用の小領域設定用データが３つの第２レジスタに格納され、全てのプログラムに共用される小領域設定用データが１つの第３レジスタに格納される例を示している。しかしながら、それぞれのレジスタの数は、この例に限られない。
【００３２】
次に、アプリケーションプログラムが切り替えられるときに、ＣＰＵ１０等において実行される処理について、図４のフローチャートを参照して説明する。なお、図４のフローチャートには、第１アプリケーションプログラムの実行中に、第２アプリケーションプログラムの割込条件が成立したため、第１アプリケーションプログラムの実行を中断し、第２アプリケーションプログラムの実行を開始する処理を示している。
【００３３】
しかしながら、アプリケーションプログラムの切り替えは、実行中の第１アプリケーションプログラムが完了してから、次の第２アプリケーションプログラムが開始される場合もある。このような場合には、図４のフローチャートにおいて、第１アプリケーションの実行を中断するための処理が省略される。
【００３４】
図４のフローチャートにおいて、現在、実行中のアプリケーションプログラムにおける処理を中断するために、ステップＳ１００において、ＣＰＵ１０のレジスタに格納されたデータをＴＣＭ１１あるいは他のメモリに退避させ、ステップＳ１１０において、現在のＭＰＵ１３のレジスタ１４〜１６の設定内容を保存する。このＭＰＵ１３のレジスタ１４〜１６の設定内容の保存に関して、ＭＰＵ１３が退避用のメモリを備えている場合には、ＭＰＵ１３に対して、レジスタ１４〜１６の設定内容を退避用メモリに保存するよう指示する。ＭＰＵ１３が退避用メモリを備えていない場合には、現在、実行中のアプリケーションプログラム用のメモリ領域設定用データを特定するための情報を保存しておく。
【００３５】
続くステップＳ１２０では、切り替えられる次のアプリケーションプログラム用のメモリ領域設定用データを特定し、そのアドレス情報をＤＭＡＣ１２に与えるとともに、ＤＭＡＣ１２にメモリ領域設定用データの転送開始を指示する。これにより、図４のフローチャートにおいてステップＳ１７０〜Ｓ１９０として示す処理が、ＤＭＡＣ１２によって実行される。ステップＳ１７０〜Ｓ１９０の処理については、後に説明する。
【００３６】
ＣＰＵ１０は、続いて、ステップＳ１３０の処理を実行する。ステップＳ１３０では、現在、実行中のアプリケーションプログラムのコンテキストを退避させる。このコンテキストには、例えば、アプリケーションプログラムの配置場所、呼び出し方法、プログラムカウントの値などの情報が含まれる。そして、ステップＳ１４０において、現在、実行中のアプリケーションプログラムの状態を待機状態に設定する。
【００３７】
次に、ステップＳ１５０において、実行予定のアプリケーションプログラム（次アプリケーションプログラム）の状態を動作中に設定し、ステップＳ１６０において、次アプリケーションプログラムのコンテキストを設定する。これにより、次アプリケーションプログラムの実行準備が整うため、次アプリケーションプログラムが開始される。
【００３８】
このようなステップＳ１３０〜Ｓ１６０に示すＣＰＵ１０によるアプリケーションプログラムの切り替え処理と同時並列的に、ＤＭＡＣ１２により、メモリ領域設定用データの転送処理が実行される。
【００３９】
この転送処理では、ＤＭＡＣ１２は、まず、ステップＳ１７０において、特定されたメモリ領域設定用データが保存されているアドレスから１つの小領域設定用データを読み出す。そして、ステップＳ１８０において、読み出した小領域設定用データを、ＭＰＵ１３の最初の書き換え対象のレジスタに転送する。すると、最初のレジスタには、転送された小領域設定用データが格納される。
【００４０】
ＤＭＡＣ１２は、ステップＳ１９０において、特定されたメモリ領域設定用データに含まれる全ての小領域設定用データの転送を完了したか否かを判定する。小領域設定用データの転送が未完了であると判定した場合には、ステップＳ１７０の処理に戻り、小領域設定用データの読み出し、転送を継続して実行する。この際、ＤＭＡＣ１２は、小領域設定用データの転送回数に応じて、転送先のレジスタを変更する。例えば、レジスタには、予め、固有の識別番号が付与され、ＤＭＡＣ１２は、小領域設定用データの転送回数に応じて、異なる識別番号を持つレジスタを転送先に選択する。一方、全ての小領域設定用データの転送が完了したと判定した場合には、ＤＭＡＣ１２は、メモリ領域設定用データの転送処理を終了する。
【００４１】
次に、図５のフローチャートを参照して、ＭＰＵ１３におけるメモリ保護処理について説明する。
【００４２】
ＭＰＵ１３は、ステップＳ２００において、ＣＰＵ１０からメモリアクセス要求を受信する。このメモリアクセス要求には、アクセスしようとしているメモリのアドレス、メモリアクセス要求を出したプログラムの種類、メモリに対する処理内容（読み出し、書き込み）を示す情報が含まれている。
【００４３】
ＭＰＵ１３は、ステップＳ２１０において、まず、アクセスしようとしているメモリのアドレスが、レジスタ１４〜１６に設定されたアドレス範囲に含まれるか否かを判定する。この判定処理において、レジスタ１４〜１６に設定されたアドレス範囲に含まれないと判定した場合、ステップＳ２４０の処理に進み、ステップＳ２００にて受信したメモリアクセス要求に対して、そのアクセスを禁止する。一方、ステップＳ２１０の判定処理において、アクセスしようとしているメモリのアドレスが、レジスタ１４〜１６に設定されたアドレス範囲に含まれると判定した場合、ステップＳ２２０の処理に進む。
【００４４】
ステップＳ２２０では、ＭＰＵ１３は、レジスタ１４〜１６に格納された小領域設定用データに照らして、メモリアクセス要求を出したプログラムの種類、メモリに対する処理内容に基づき、アクセス権があるか否かを判定する。この判定処理において、アクセス権があると判定した場合には、ステップＳ２３０の処理に進んで、ステップＳ２００にて受信したメモリアクセス要求に対して、そのアクセスを許可する。一方、アクセス権がないと判定した場合には、ステップＳ２４０に進んで、メモリ１８へのアクセスを禁止する。
【００４５】
以上、本発明の好ましい実施形態について説明した。しかしながら、本発明は、上述した実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。
【００４６】
例えば、上述した実施形態では、アプリケーションプログラムやオペレーティングシステムプログラムがアクセス可能なメモリ領域をメモリ領域設定用データによって特定するようにした。しかしながら、アクセス権限が問題とならない場合には、各プログラムがアクセス不可のメモリ領域をメモリ領域設定用データとしても良い。この場合、メモリ領域設定用データに含まれないメモリ領域へのアクセスが許可され、メモリ領域設定用データに含まれるメモリ領域へのアクセスは禁止される。
【符号の説明】
【００４７】
１０  ＣＰＵ
１１  密結合メモリ（ＴＣＭ）
１２  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
１３  メモリ保護ユニット（ＭＰＵ）
１４〜１６  レジスタ
１７  アクセス可否判定部
１８  メモリ
１００  マイクロコンピュータ
【図１】
2017204083.tif 000003
【図２】
2017204083.tif 000004
【図３】
2017204083.tif 000005
【図４】
2017204083.tif 000006
【図５】
2017204083.tif 000007