(57)【要約】      （修正有）【課題】セキュアＯＳとノンセキュアＯＳの切り替え時にリアルタイム性の向上を図る。【解決手段】情報処理装置１０は、セキュアモードとノンセキュアモードとを切替えて動作する。情報処理装置１０の切替部２６Ａは、セキュアモードで動作している状態からノンセキュアモードへモードをに切り替える時に、共有物理領域１４Ａをロック状態にして、共有キャッシュ領域１８Ａのデータを共有物理領域１４Ａに書き込む事を禁止する。【選択図】図３
2019164647.tif 000002
【特許請求の範囲】
【請求項１】
セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置であって、
前記セキュアモードで動作しているときに、前記セキュアモードから前記ノンセキュアモードへモードを切替える切替部、
を備える情報処理装置。
【請求項２】
前記セキュアモードから前記ノンセキュアモードへ切替える前に、
前記セキュアモードと前記ノンセキュアモードで共有する物理メモリにおける少なくとも一部の領域を、前記ノンセキュアモードで動作する第１書込部によってキャッシュメモリに書込まれたデータの前記物理メモリへの書込みを不可とし読取を可能とするロック状態に設定する設定部と、
を備える、請求項１に記載の情報処理装置。
【請求項３】
前記セキュアモードで動作し、前記第１書込部によって前記キャッシュメモリの共有キャッシュ領域に書込まれた処理対象データを読出す読出部と、
前記設定部によって前記領域が前記ロック状態に設定される前に、前記キャッシュメモリに格納されているキャッシュデータの内、前記処理対象データの少なくとも一部を、前記物理メモリへ書込む第２書込部と、
を備える、請求項２に記載の情報処理装置。
【請求項４】
前記設定部は、
前記物理メモリにおける、前記共有キャッシュ領域に対応する共有物理領域の内、少なくとも前記第２書込部によって書込まれた前記領域を、前記ロック状態に設定する、
請求項３に記載の情報処理装置。
【請求項５】
前記第２書込部は、
前記キャッシュメモリの前記処理対象データにおける、前記読出部による未読出の未読出データを、前記物理メモリの前記共有物理領域に書込み、
前記設定部は、
前記物理メモリの前記共有物理領域における、前記未読出データの書込まれた前記領域を、前記ロック状態に設定する、
請求項４に記載の情報処理装置。
【請求項６】
前記第２書込部は、
前記キャッシュメモリにおける前記処理対象データを、前記物理メモリの前記共有物理領域に書込み、
前記設定部は、
前記物理メモリの前記共有物理領域における前記処理対象データの書込まれた前記領域を、前記ロック状態に設定する、
請求項４に記載の情報処理装置。
【請求項７】
前記第２書込部は、
前記キャッシュメモリにおける、前記共有キャッシュ領域の前記キャッシュデータを、前記物理メモリの前記共有物理領域へ書込む、
請求項４に記載の情報処理装置。
【請求項８】
前記第２書込部は、
前記キャッシュメモリの全ての前記キャッシュデータを、前記物理メモリへ書込む、
請求項３または請求項４に記載の情報処理装置。
【請求項９】
セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置で実行する情報処理方法であって、
前記セキュアモードで動作しているときに、前記セキュアモードから前記ノンセキュアモードへモードを切替える切替ステップを含む、情報処理方法。
【請求項１０】
セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置で実行するコンピュータに実行させるためのプログラムであって、
前記セキュアモードで動作しているときに、前記セキュアモードから前記ノンセキュアモードへモードを切替える切替ステップを、前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来より、情報処理装置の仮想化技術が知られている。仮想化技術を用いることにより単一の情報処理装置で複数のオペレーティングシステム（ＯＳ）を並行して実行させることができる。また、仮想化技術を用いてＯＳを切替える技術が開示されている。例えば、セキュアモードで動作するＯＳとノンセキュアモードで動作するＯＳとを切替えて処理を行う技術が知られている。この技術では、セキュアモードの処理が終了したときに、セキュアモードからノンセキュアモードへモードを切替え、ノンセキュアモードの処理を実行している。
【０００３】
ここで、リアルタイム性を追求するために、ノンセキュアモードとセキュアモードを随時切替えて処理を継続する必要が生じる場合がある。しかし、従来では、一方のモードの処理が終了するまで待機した後に、他方のモードへの切替えが行われており、リアルタイム性が低下する場合があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−４５５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、リアルタイム性の低下を抑制することができる、情報処理装置、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施の形態の情報処理装置は、セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置である。情報処理装置は、切替部を備える。切替部は、セキュアモードで動作しているときに、セキュアモードからノンセキュアモードへモードを切替える。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア構成図。
【図２】情報処理装置の機能構成の概要図。
【図３】情報処理装置の機能構成の図。
【図４】対応表の模式図。
【図５】キャッシュメモリと物理メモリの模式図。
【図６】メモリアクセス制御表の模式図。
【図７】キャッシュメモリと物理メモリの模式図。
【図８】キャッシュメモリと物理メモリの模式図。
【図９】キャッシュメモリと物理メモリの模式図。
【図１０】キャッシュメモリと物理メモリの模式図。
【図１１】情報処理の手順のフローチャート。
【図１２】効果の説明図。
【図１３】効果の説明図。
【図１４】効果の説明図。
【図１５】情報処理装置の模式図。
【図１６】情報処理装置の機能構成の図。
【図１７】キャッシュメモリと物理メモリの模式図。
【図１８】キャッシュメモリと物理メモリの模式図。
【図１９】情報処理の手順のフローチャート。
【図２０】情報処理装置の模式図。
【図２１】情報処理装置の機能構成の図。
【図２２】キャッシュメモリと物理メモリの模式図。
【図２３】キャッシュメモリと物理メモリの模式図。
【図２４】情報処理の手順のフローチャート。
【図２５】情報処理装置の模式図。
【図２６】情報処理装置の機能構成の図。
【図２７】キャッシュメモリと物理メモリの模式図。
【図２８】キャッシュメモリと物理メモリの模式図。
【図２９】情報処理の手順のフローチャート。
【図３０】情報処理装置の模式図。
【図３１】情報処理システムの模式図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、情報処理装置、情報処理方法、およびプログラムの一の実施形態を説明する。
【０００９】
（第１の実施の形態）
図１は、本実施の形態に係る情報処理装置１０のハードウェア構成例を示す図である。情報処理装置１０は、プロセッサ１２と、物理メモリ１４と、タイマ１６と、を備える。プロセッサ１２、物理メモリ１４、およびタイマ１６は、バス２０を介して接続されている。
【００１０】
プロセッサ１２は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム（ソフトウェア）に従って、様々な制御を実行する。プロセッサ１２は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサである。プロセッサ１２は、キャッシュメモリ１８を含む。
【００１１】
物理メモリ１４は、各種データを記憶する。物理メモリ１４は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。タイマ１６は、時間カウントを行う機器である。
【００１２】
図２は、本実施の形態の情報処理装置１０の機能構成の概要を示す図である。情報処理装置１０は、セキュアＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）部２２と、ノンセキュアＯＳ部２４と、モニタ部２６と、ハードウェア部２８と、を備える。
【００１３】
ハードウェア部２８は、情報処理装置１０におけるハードウェアに関する部分であり、プロセッサ１２および物理メモリ１４などを含む。
【００１４】
本実施の形態では、プロセッサ１２は、複数のＯＳを実行する機能を有する。本実施の形態では、プロセッサ１２は、セキュアモードとノンセキュアモードと称される二つのモードで、プログラムを分離して実行可能である。すなわち、プロセッサ１２は、セキュアモードとノンセキュアモードとで、それぞれ別々のＯＳやアプリケーションを動作させることが可能である。すなわち、本実施の形態の情報処理装置１０は、セキュアモードとノンセキュアモードとを切替えて動作する。
【００１５】
セキュアモードは、脆弱性混入リスクを最小化したＯＳやアプリケーションを動作させるモードである。以下、セキュアモードＳと称して説明する。ノンセキュアモードＮＳは、セキュアモードＳに比べて高機能で利用しやすい一方、コード規模が大きく脆弱性が生じやすいＯＳやアプリケーションを、動作させるモードである。以下、ノンセキュアモードＮＳと称して説明する。
【００１６】
本実施の形態の情報処理装置１０は、セキュアモードＳで動作するＯＳとして、セキュアＯＳ部２２を備える。セキュアＯＳ部２２は、プロセッサ１２がセキュアＯＳを実行することにより機能する。
【００１７】
また、情報処理装置１０は、ノンセキュアモードＮＳで動作するＯＳとして、ノンセキュアＯＳ部２４を備える。ノンセキュアＯＳ部２４は、プロセッサ１２がノンセキュアＯＳを実行することにより機能する。
【００１８】
モニタ部２６は、プロセッサ１２がモニタプログラムを実行することにより機能する。モニタ部２６は、セキュアモードＳまたはノンセキュアモードＮＳへモードを切替える。具体的には、モニタ部２６は、セキュアＯＳ部２２またはノンセキュアＯＳ部２４へ仮想マシンを提供し、セキュアＯＳ部２２またはノンセキュアＯＳ部２４を仮想マシン上で動作させる。すなわち、モニタ部２６は、セキュアＯＳ部２２およびノンセキュアＯＳ部２４の何れか一方が有効となるように切替えて機能させる。モニタ部２６は、セキュアＯＳ部２２またはノンセキュアＯＳ部２４からの呼出や、ハードウェア部２８等からの割込みにより、モードの切替えを実行する。
【００１９】
なお、本実施の形態では、ノンセキュアＯＳ部２４は、リアルタイムＯＳとして機能する。このため、本実施の形態の情報処理装置１０では、セキュアＯＳ部２２による処理中に、セキュアモードＳからノンセキュアモードＮＳへモードが切替わる（詳細後述）。
【００２０】
図３は、情報処理装置１０の機能構成の一例を示す図である。
【００２１】
ハードウェア部２８は、タイマ１６と、キャッシュメモリ１８と、物理メモリ１４と、キャッシュ制御部２８Ａと、メモリアクセス制御部２８Ｂと、を備える。
【００２２】
キャッシュメモリ１８には、共有キャッシュ領域１８Ａが予め設けられている。共有キャッシュ領域１８Ａは、セキュアＯＳ部２２とノンセキュアＯＳ部２４とが共有して利用する領域である。物理メモリ１４には、共有物理領域１４Ａが予め設けられている。共有物理領域１４Ａは、セキュアＯＳ部２２とノンセキュアＯＳ部２４とが共有して利用する領域である。
【００２３】
本実施の形態では、ハードウェア部２８は、ライトバックキャッシュ方式を採用している。ライトバックキャッシュ方式とは、書込指示されたデータを、キャッシュメモリ１８だけに書込む方式である。ライトバックキャッシュ方式は、ライトバックと称される場合もある。キャッシュメモリ１８から物理メモリ１４への書込み（データ移動）は、所定条件を満たしたタイミングで行われる。
【００２４】
このため、ハードウェア部２８は、物理メモリ１４への書込指示を受付けた場合、キャッシュメモリ１８へデータを書込み、所定条件を満たした場合に、キャッシュメモリ１８から物理メモリ１４へデータを移動させる。所定条件は、例えば、所定時間毎や、処理の空き時間が発生した場合、キャッシュアクセス後一定時間経過した場合、キャッシュメモリ１８から物理メモリ１４へのデータ移動指示を受付けた場合、などである。本実施の形態では、所定条件は、所定時間毎である場合を、一例として説明する。
【００２５】
なお、情報処理装置１０は、キャッシュメモリ１８のアドレス（以下、キャッシュアドレスと称する）と、物理メモリ１４とのアドレス（以下、物理アドレスと称する）と、を予め対応付けた対応表を保持している。
【００２６】
図４は、対応表３２の一例を示す模式図である。対応表３２は、物理メモリ１４の物理アドレスと、キャッシュメモリ１８のキャッシュアドレスと、の対応関係を示す情報である。ライトバックキャッシュ時には、キャッシュメモリ１８における各キャッシュアドレスによって示される領域に格納されているデータは、それぞれ、物理メモリ１４における、対応表３２に示される対応する物理アドレスによって示される領域の各々に、書込まれる。なお、物理メモリ１４の物理アドレスとキャッシュメモリ１８のキャッシュアドレスの対応関係は、１対１の関係でもよいし、多対１の関係でもよい。
【００２７】
ここで、対応表３２には、物理メモリ１４の共有物理領域１４Ａを示す物理アドレスに対応付けて、キャッシュメモリ１８における共有物理領域１４Ａが予め対応付けられている。このため、図５に示すように、キャッシュメモリ１８の共有キャッシュ領域１８Ａ内のデータは、物理メモリ１４の共有物理領域１４Ａに書込まれることとなる。
【００２８】
図３に戻り説明を続ける。キャッシュ制御部２８Ａは、キャッシュメモリ１８へのアクセスを制御する。メモリアクセス制御部２８Ｂは、物理メモリ１４へのアクセス（書込および読取）を制御する。メモリアクセス制御部２８Ｂは、メモリアクセス制御表３０を管理しており、メモリアクセス制御表３０に基づいて、物理メモリ１４へのアクセスを制御する。
【００２９】
図６は、メモリアクセス制御表３０のデータ構成の一例を示す模式図である。
【００３０】
メモリアクセス制御表３０は、物理アドレスと、データサイズと、状態情報と、を対応づけたテーブルである。なお、メモリアクセス制御表３０のデータ形式は、テーブルに限定されない。例えば、メモリアクセス制御表３０は、データベースであってもよい。
【００３１】
物理アドレスは、上述したように、物理メモリ１４内におけるアドレスを示す。データサイズは、物理メモリ１４内における、対応する物理アドレスを開始位置として格納されたデータのサイズを示す。
【００３２】
状態情報は、対応する物理アドレスに、対応するデータサイズで格納されたデータに対する、アクセス可否の状態を示す情報である。本実施の形態では、状態情報は、ロック状態またはロック解除状態を示す。
【００３３】
ロック状態は、ノンセキュアＯＳ部２４から書込指示されたデータの書込みを不可とし、ノンセキュアＯＳ部２４からの読取を可能とする状態である。言い換えると、ロック状態は、ノンセキュアＯＳ部２４から書込指示されたデータの、書込みを不可とすることを示す。ここで、上述したように、本実施の形態では、ハードウェア部２８は、ライトバックキャッシュ方式を採用している。このため、本実施の形態では、ロック状態は、ノンセキュアＯＳ部２４によってキャッシュメモリ１８に書込まれたデータの、キャッシュメモリ１８から物理メモリ１４への書込みを不可とすることを示す。
【００３４】
なお、ロック状態であっても、ノンセキュアＯＳ部２４やセキュアＯＳ部２２からの読取は可能である。また、ロック状態であっても、セキュアＯＳ部２２による書込は可能である。すなわち、ロック状態であっても、セキュアＯＳ部２２から書込指示されたデータについては、ロック状態の物理アドレスによって示される領域に書込可能である。
【００３５】
ロック解除状態は、セキュアＯＳ部２２およびノンセキュアＯＳ部２４からの書込および読取を可能とする状態である。言い換えると、ロック解除状態は、セキュアＯＳ部２２およびノンセキュアＯＳ部２４の各々から書込指示されたデータの、書込および読取を可能とする状態を示す。すなわち、ロック解除状態は、ノンセキュアＯＳ部２４から書込指示されたデータの、物理メモリ１４への書込制限が解除された状態を示す。
【００３６】
このため、ノンセキュアＯＳ部２４から書込指示されたデータは、物理メモリ１４における、状態情報“ロック状態”に対応する物理アドレスの領域への書込みが制限される。一方、セキュアＯＳ部２２から書込指示されたデータは、状態情報に拘らず、物理メモリ１４の全ての物理アドレスに対して、読取および書込が可能である。
【００３７】
なお、メモリアクセス制御表３０は、モニタ部２６やセキュアＯＳ部２２によって更新される。
【００３８】
次に、ノンセキュアＯＳ部２４について説明する。ノンセキュアＯＳ部２４は、ノンセキュアモードＮＳで動作するＯＳである。本実施の形態では、ノンセキュアＯＳ部２４は、処理内容と処理対象データを、キャッシュメモリ１８を介してセキュアＯＳ部２２へ渡し、セキュアＯＳ部２２へ処理を依頼する。処理内容は、ノンセキュアＯＳ部２４がセキュアＯＳ部２２へ依頼する処理の内容である。処理対象データは、ノンセキュアＯＳ部２４がセキュアＯＳ部２２へ処理を依頼する対象のデータである。
【００３９】
ノンセキュアＯＳ部２４は、書込先設定部２４Ａと、第１書込部２４Ｂと、モニタ呼出部２４Ｃと、を備える。すなわち、書込先設定部２４Ａ、第１書込部２４Ｂ、およびモニタ呼出部２４Ｃは、ノンセキュアモードＮＳで動作する。
【００４０】
書込先設定部２４Ａは、処理内容と処理対象データを書込む、物理メモリ１４の物理アドレスとデータサイズを設定する。書込先設定部２４Ａは、対応表３２（図４参照）における、共有物理領域１４Ａの物理アドレス（例えば、物理アドレス９９Ｘとする）を、セキュアＯＳ部２２と共有しておくことで、処理内容と処理対象データを書込む物理アドレスを設定する。また、書込先設定部２４Ａは、処理内容と処理対象データを合計したサイズを、データサイズとして設定する。なお、処理内容は、処理対象データを読み出すために必要な処理対象データの先頭物理アドレスやサイズを含んでもよい。また、処理内容を区別するための番号を含んでもよい。
【００４１】
第１書込部２４Ｂは、キャッシュメモリ１８にデータを書込む。詳細には、第１書込部２４Ｂは、キャッシュメモリ１８の共有キャッシュ領域１８Ａに、処理対象データを書込む。本実施の形態では、第１書込部２４Ｂは、処理内容と処理対象データを、共有キャッシュ領域１８Ａに書込む。
【００４２】
詳細には、第１書込部２４Ｂは、処理対象データの物理メモリ１４への書込指示と書込データを、キャッシュ制御部２８Ａへ通知する。具体的には、第１書込部２４Ｂは、書込先設定部２４Ａで設定された物理アドレス９９Ｘと、書込データのデータサイズと、書込データと、をキャッシュ制御部２８Ａへ通知する。書込データは、処理対象データと、該処理対象データに対する処理内容と、を含む。
【００４３】
すると、キャッシュ制御部２８Ａは、対応表３２（図４参照）における、第１書込部２４Ｂから受付けた書込指示に含まれる物理アドレス９９Ｘに対応する、キャッシュアドレスを特定する。すなわち、キャッシュ制御部２８Ａは、共有キャッシュ領域１８Ａのキャッシュアドレスを特定する。そして、キャッシュ制御部２８Ａは、該書込データと属性を、共有キャッシュ領域１８Ａ内における、特定したキャッシュアドレスによって示される領域に書込データのサイズ分だけ書込む。
【００４４】
属性とは、ノンセキュアＯＳ部２４から書込指示されたデータであるか、セキュアＯＳ部２２から書込指示されたデータであるか、を示す。例えば、属性は、“ＮＳ”または“Ｓ”を示す。属性“ＮＳ”は、ノンセキュアＯＳ部２４から書込指示されたデータであることを示す。属性“Ｓ”は、セキュアＯＳ部２２から書込指示されたデータであることを示す。
【００４５】
図７は、第１書込部２４Ｂから受付けた書込データ４０を書込んだときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。図７に示すように、キャッシュメモリ１８の共有キャッシュ領域１８Ａには、第１書込部２４Ｂから受付けた書込データ４０が書込まれた状態となる。
【００４６】
書込データ４０は、上述したように、処理対象データ４０Ａと、処理内容４０Ｅと、を含む。また、書込データ４０には属性が付与される。なお、処理対象データ４０Ａと処理内容４０Ｅは、ノンセキュアＯＳ部２４の第１書込部２４Ｂが書込指示したデータである。このため、書込データ４０に付与された属性は、“ＮＳ”を示す。また、書込データ４０の書込先を示すキャッシュアドレスは、物理メモリ１４の共有物理領域１４Ａにおける、処理対象データ４０Ａを書込む、開始物理アドレス９９Ｘに対応している。このとき、物理メモリ１４には、書込データ４０は記憶されていない状態である。
【００４７】
図３に戻り説明を続ける。モニタ呼出部２４Ｃは、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える第１切替指示をモニタ部２６へ通知する。モニタ呼出部２４Ｃは、第１書込部２４Ｂによってキャッシュメモリ１８へ書込データ４０が書込まれたときに、ノンセキュアモードＮＳからセキュアモードＳへの第１切替指示を、モニタ部２６へ通知する。
【００４８】
次に、モニタ部２６について説明する。モニタ部２６は、切替指示ハンドラ部２６Ｘと、切替部２６Ａと、タイマハンドラ部２６Ｂと、第２書込部２６Ｃと、ロック対象領域取得部２６Ｄと、設定部２６Ｅと、を備える。
【００４９】
切替指示ハンドラ部２６Ｘは、切替指示を受付けたときに、ノンセキュアモードＮＳからセキュアモードＳへ、または、セキュアモードＳからノンセキュアモードＮＳへ、モードの切替えを行うため、切替部２６Ａに切替命令を送る。切替指示は、セキュアモニタコール（ＳＭＣ）と称される場合がある。切替指示ハンドラ部２６Ｘは、読出部２２Ｂ、モニタ呼出部２４Ｃまたは設定部２６Ｅから、切替指示を受付ける。なお、本実施の形態では、切替指示ハンドラ部２６Ｘは、セキュアＯＳ部２２による処理中や、ノンセキュアＯＳ部２４による処理中に、切替指示を受付ける場合がある（詳細後述）。
【００５０】
切替指示ハンドラ部２６Ｘは、ノンセキュアモードＮＳからセキュアモードＳへ切替える第１切替指示を受付けたときに、切替部２６ＡにノンセキュアモードＮＳからセキュアモードＳへモードを切替える第１切替命令を送る。第１切替指示は、切替指示の一例である。第１切替命令は、切替命令の一例である。切替命令は、切替指示ハンドラ部２６Ｘから切替部２６Ａへ出力される命令であり、ノンセキュアモードＮＳからセキュアモードＳへ、または、セキュアモードＳからノンセキュアモードＮＳへの切替えを行うための命令である。
【００５１】
また、切替指示ハンドラ部２６Ｘは、セキュアモードＳからノンセキュアモードＮＳへ切替える第２切替指示を受付けたときに、切替部２６Ａに、セキュアモードＳからノンセキュアモードＮＳへモードを切替える第２切替命令を送る。第２切替指示は、切替指示の一例である。第２切替命令は、切替命令の一例である。
【００５２】
切替部２６Ａは、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える第１切替命令を受け付けたときに、ノンセキュアモードＮＳからセキュアモードＳへ、モードを切替える。また、切替部２６Ａは、セキュアモードＳからノンセキュアモードＮＳへ切替える第２切替命令を受付けたときに、セキュアモードＳからノンセキュアモードＮＳへ、モードを切替える。
【００５３】
ここで、上述したように、切替指示ハンドラ部２６Ｘは、セキュアＯＳ部２２による処理中や、ノンセキュアＯＳ部２４による処理中に、切替指示を受付ける場合がある。このため、切替部２６Ａは、情報処理装置１０がセキュアモードＳで動作しているときに、セキュアモードＳからノンセキュアモードＮＳへモードを切替える場合がある。
【００５４】
モニタ部２６における、タイマハンドラ部２６Ｂ、第２書込部２６Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅについては、説明を後述する。
【００５５】
次に、セキュアＯＳ部２２について説明する。セキュアＯＳ部２２は、セキュアモードＳで動作するＯＳである。本実施の形態では、セキュアＯＳ部２２は、ノンセキュアＯＳ部２４からキャッシュメモリ１８を介して、ノンセキュアＯＳ部２４がキャッシュメモリ１８に書込んだ処理対象データ４０Ａに対する処理内容４０Ｅを受付ける。そして、セキュアＯＳ部２２は、ノンセキュアＯＳ部２４がキャッシュメモリ１８に書込んだ処理対象データ４０Ａを、受付けた処理内容４０Ｅに従って処理し、処理結果を、キャッシュメモリ１８を介してノンセキュアＯＳ部２４へ通知する。なお、セキュアＯＳ部２２は、処理結果をノンセキュアＯＳ部２４へ通知する形態に限定されない。
【００５６】
セキュアＯＳ部２２は、読出先取得部２２Ａと、読出部２２Ｂと、処理部２２Ｃと、を備える。すなわち、読出先取得部２２Ａ、読出部２２Ｂ、および処理部２２Ｃは、セキュアモードＳで動作する。
【００５７】
読出先取得部２２Ａは、切替部２６ＡによってノンセキュアモードＮＳからセキュアモードＳへ切替えられたときに、書込データ４０（処理内容４０Ｅと処理対象データ４０Ａ）の読出先を取得する。書込データ４０の読出先とは、書込データ４０を読出す時のアドレスを示す情報である。本実施の形態では、読出先取得部２２Ａは、ノンセキュアＯＳ部２４と共有しておいた共有物理領域１４Ａの物理アドレス９９Ｘを、書込データ４０の読出先として取得する。
【００５８】
読出部２２Ｂは、キャッシュメモリ１８における、書込データ４０を読出す。詳細には、読出部２２Ｂは、第１書込部２４Ｂによってキャッシュメモリ１８の共有キャッシュ領域１８Ａに書込まれた処理対象データ４０Ａを読出す。
【００５９】
詳細には、読出部２２Ｂは、読出先取得部２２Ａで取得した物理アドレス９９Ｘによって示される書込データ４０の読出指示を、キャッシュ制御部２８Ａへ通知する。
【００６０】
すると、キャッシュ制御部２８Ａは、対応表３２（図４参照）における、読出部２２Ｂから受付けた読出指示に含まれる物理アドレス９９Ｘに対応するキャッシュアドレスを特定する。そして、キャッシュ制御部２８Ａは、キャッシュメモリ１８における、特定したキャッシュアドレスに記憶されている書込データ４０のうち処理内容４０Ｅを、読出部２２Ｂへ出力する。
【００６１】
読出部２２Ｂは、キャッシュメモリ１８から読出した書込データ４０に含まれる処理対象データ４０Ａについて、書込データ４０に含まれる処理内容４０Ｅによって示される処理を実行するように、処理部２２Ｃへ通知する。
【００６２】
処理部２２Ｃは、読出部２２Ｂから受付けた処理内容４０Ｅに従って、処理対象データ４０Ａを読出し、処理する。読出部２２Ｂは、処理部２２Ｃによって処理された処理済データを、処理結果として、キャッシュ制御部２８Ａを介してキャッシュメモリ１８へ書込む。
【００６３】
図８は、処理部２２Ｃによる処理が終了したときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。図８に示すように、キャッシュメモリ１８の共有キャッシュ領域１８Ａには、第１書込部２４Ｂから受付けた書込データ４０が書込まれている。そして、キャッシュメモリ１８の共有キャッシュ領域１８Ａ以外の領域に、処理結果４２が書込まれた状態となる。なお、処理結果４２は、共有キャッシュ領域１８Ａに書込まれていてもよい。
【００６４】
処理結果４２は、例えば、処理済データ４２Ａと、完了フラグ４２Ｘと、を含み、キャッシュ制御部２８Ａによって属性が付与される。処理済データ４２Ａは、処理対象データ４０Ａを処理内容４０Ｅに従って処理した後のデータである。また、処理済データ４２ＡはセキュアＯＳ部２２の読出部２２Ｂによって書込まれたデータであるため、属性は、“Ｓ”を示す。完了フラグ４２Ｘは、処理が完了したか否かを示す。
【００６５】
読出部２２Ｂは、処理結果４２をキャッシュメモリ１８へ書込む形態に限定されない。読出部２２Ｂは、処理内容４０Ｅに応じて、情報処理装置１０に設けられた他の機能部へ処理結果４２を通知してもよい。
【００６６】
図３に戻り説明を続ける。次に、モニタ部２６における、タイマハンドラ部２６Ｂ、第２書込部２６Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅについて説明する。
【００６７】
タイマハンドラ部２６Ｂは、タイマ１６から割込み信号を受付ける。本実施の形態では、タイマ１６は、所定時間ごとに、割込み信号をタイマハンドラ部２６Ｂへ通知する。本実施の形態では、この割込み信号の通知を、ライトバックキャッシュ方式におけるキャッシュメモリ１８から物理メモリ１４へのデータ移動（書込み）を行う所定条件の一つとして用いる。なお、タイマハンドラ部２６Ｂは、キャッシュアクセス後一定時間経過した場合に、ライトバックキャッシュ方式におけるキャッシュメモリ１８から物理メモリ１４へのデータ移動（書込み）を行ってもよい。
【００６８】
タイマハンドラ部２６Ｂは、割込み信号を受付けると、割込み発生を示す信号を第２書込部２６Ｃへ出力する。
【００６９】
第２書込部２６Ｃは、キャッシュメモリ１８に格納されているキャッシュデータの内、処理対象データ４０Ａの少なくとも一部を、物理メモリ１４へ書込む。キャッシュデータとは、キャッシュメモリ１８に格納されているデータであり、上記属性以外のデータを示す。
【００７０】
例えば、第２書込部２６Ｃは、キャッシュメモリ１８における、処理内容４０Ｅおよび処理対象データ４０Ａ（すなわち書込データ４０）を、物理メモリ１４へ書込む。詳細には、第２書込部２６Ｃは、キャッシュメモリ１８に格納されている全てのキャッシュデータにおける、処理内容４０Ｅと処理対象データ４０Ａを、物理メモリ１４へ書込む。
【００７１】
本実施の形態では、第２書込部２６Ｃは、キャッシュメモリ１８内の全てのキャッシュデータを、物理メモリ１４へ書込む形態を説明する。詳細には、第２書込部２６Ｃは、キャッシュ制御部２８Ａおよびメモリアクセス制御部２８Ｂを介して、キャッシュメモリ１８内の全てのキャッシュデータを、物理メモリ１４へ書込む。第２書込部２６Ｃによるキャッシュメモリ１８から物理メモリ１４への書込みは、キャッシュメモリ１８内のデータを物理メモリ１４へ“移動”することを意味する。
【００７２】
ここで、上述したように、キャッシュメモリ１８における各キャッシュアドレスによって示される領域に格納されているデータは、それぞれ、物理メモリ１４における、対応表３２（図４参照）に示される対応する物理アドレスによって示される領域の各々に書込まれる。このため、キャッシュメモリ１８の共有キャッシュ領域１８Ａ内のキャッシュデータは、物理メモリ１４の共有物理領域１４Ａへ書込まれる。
【００７３】
なお、キャッシュメモリ１８から物理メモリ１４への書込みは、キャッシュメモリ１８に対してアクセスがなされてから一定時間経過した後に、キャッシュ制御部２８Ａが自動的に行ってもよい。
【００７４】
図９は、第２書込部２６Ｃによる書込が終了したときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。第２書込部２６Ｃによる書込によって、キャッシュメモリ１８内の全てのキャッシュデータが、物理メモリ１４内の対応する物理アドレスによって示される領域に書込まれる。なお、上述したように、本実施の形態におけるキャッシュデータには、上述した属性は含まれない。このため、第２書込部２６Ｃによる書込によって、キャッシュメモリ１８内の、書込データ４０（処理内容４０Ｅ、処理対象データ４０Ａ）および処理結果４２（処理済データ４２Ａ、完了フラグ４２Ｘ）が、物理メモリ１４内の対応する物理アドレスによって示される領域に書込まれる。
【００７５】
このため、キャッシュメモリ１８内の共有キャッシュ領域１８Ａに書込まれていた書込データ４０は、物理メモリ１４の共有物理領域１４Ａへ書込まれ、キャッシュメモリ１８の共有キャッシュ領域１８Ａ以外の領域に書込まれていた処理結果４２は、物理メモリ１４の共有物理領域１４Ａ以外の領域に書込まれる。また、キャッシュメモリ１８内における他のキャッシュデータも、物理メモリ１４における対応する物理アドレスによって示される領域に書込まれる。
【００７６】
図３に戻り説明を続ける。ロック対象領域取得部２６Ｄは、物理メモリ１４の共有物理領域１４Ａを、ロック対象領域として取得する。ロック対象領域取得部２６Ｄは、対応表３２（図４参照）における、共有物理領域１４Ａを示す物理アドレスを読取ることで、ロック対象領域を取得する。そして、例えば、ロック対象領域取得部２６Ｄは、共有物理領域１４Ａ全体を、ロック対象領域として取得する。
【００７７】
なお、ロック対象領域取得部２６Ｄは、物理メモリ１４における少なくとも一部の領域を、ロック対象領域として取得すればよい。例えば、ロック対象領域取得部２６Ｄは、物理メモリ１４における、共有キャッシュ領域１８Ａに対応する共有物理領域１４Ａの内、少なくとも第２書込部２６Ｃによって書込まれた領域を、ロック対象領域として取得すればよい。本実施の形態では、ロック対象領域取得部２６Ｄが、物理メモリ１４における、共有キャッシュ領域１８Ａに対応する共有物理領域１４Ａを、ロック対象領域として取得する場合を、一例として説明する。
【００７８】
設定部２６Ｅは、情報処理装置１０のモードがセキュアモードＳであるときであって、且つ、該セキュアモードＳからノンセキュアモードＮＳへモードを切替える前に、物理メモリ１４における少なくとも一部の領域を、ロック状態に設定する。
【００７９】
本実施の形態では、設定部２６Ｅは、セキュアモードＳからノンセキュアモードＮＳへモードを切替える前に、物理メモリ１４における、共有キャッシュ領域１８Ａに対応する共有物理領域１４Ａの内、少なくとも第２書込部２６Ｃによって書込まれた領域を、ロック状態に設定する。本実施の形態では、設定部２６Ｅは、ロック対象領域取得部２６Ｄで取得したロック対象領域としての共有物理領域１４Ａを、ロック状態に設定する。
【００８０】
例えば、設定部２６Ｅは、共有物理領域１４Ａをロック状態へすることを示すロック指示をメモリアクセス制御部２８Ｂへ通知する。メモリアクセス制御部２８Ｂは、メモリアクセス制御表３０における、ロック指示に含まれる共有物理領域１４Ａを示す物理アドレスに対応する状態情報を“ロック状態”に更新する。この処理により、セキュアモードＳからノンセキュアモードＮＳへモードを切替える前に、共有物理領域１４Ａの全体がロック状態に設定される。以下、ロック状態Ｌと称して説明する場合がある。
【００８１】
図１０は、設定部２６Ｅによってロック状態が設定されたときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。図１０に示すように、設定部２６Ｅの処理によって、共有物理領域１４Ａがロック状態Ｌに設定される。このため、物理メモリ１４における共有物理領域１４Ａは、ノンセキュアＯＳ部２４によって書込指示された属性“ＮＳ”のデータの、キャッシュメモリ１８から物理メモリ１４への書込み不可能な状態となる。言い換えると、ロック状態Ｌに設定された共有物理領域１４Ａは、ノンセキュアＯＳ部２４による書込や書換えの制限された状態となる。
【００８２】
すなわち、本実施の形態では、第２書込部２６Ｃが、キャッシュメモリ１８内の全てのキャッシュデータを物理メモリ１４へ書込んだ後に、設定部２６Ｅが、物理メモリ１４における、処理対象データ４０Ａを含む共有物理領域１４Ａ内の全領域をロック状態Ｌに設定する。
【００８３】
このため、第２書込部２６Ｃは、設定部２６Ｅによって共有物理領域１４Ａがロック状態Ｌに設定される前に、キャッシュメモリ１８に格納されているキャッシュデータの内、処理対象データ４０Ａの少なくとも一部を、物理メモリ１４の共有物理領域１４Ａへ書込む。そして、共有物理領域１４Ａに処理対象データ４０Ａの少なくとも一部が書込まれた後に、設定部２６Ｅによって、物理メモリ１４における該書込まれた領域が、ロック状態Ｌに設定される。また、これらの処理は、セキュアモードＳからノンセキュアモードＮＳへモードが切替えられる前に実行される。
【００８４】
共有物理領域１４Ａをロック状態Ｌへ設定すると、設定部２６Ｅは、セキュアモードＳからノンセキュアモードＮＳへ切替える第２切替指示を、切替指示ハンドラ部２６Ｘへ通知する。このため、切替指示ハンドラ部２６Ｘは、第２切替命令を、切替部２６Ａへ通知する。第２切替命令を受付けると、切替部２６Ａは、セキュアモードＳからノンセキュアモードＮＳへ、モードを切替える。このため、ノンセキュアＯＳ部２４が有効となり、ノンセキュアＯＳ部２４は、処理結果４２や書込データ４０を読取り可能な状態となる。しかし、ノンセキュアＯＳ部２４による、共有物理領域１４Ａへのデータの書込みや書換えは制限される。
【００８５】
ここで、上述したように、タイマハンドラ部２６Ｂがタイマ１６から割込み信号を受付けると、第２書込部２６Ｃが、キャッシュメモリ１８に格納されている処理対象データ４０Ａの少なくとも一部を物理メモリ１４へ書込み、設定部２６Ｅが、少なくとも物理メモリ１４における第２書込部２６Ｃによって書込まれた領域をロック状態Ｌに設定する。このため、第２書込部２６Ｃは、設定部２６Ｅによって物理メモリ１４がロック状態Ｌに設定される前に、キャッシュメモリ１８から物理メモリ１４へデータを書込む。そして、物理メモリ１４における上記領域がロック状態Ｌに設定されると、設定部２６Ｅが、第２切替指示を切替指示ハンドラ部２６Ｘへ通知し、切替指示ハンドラ部２６Ｘが、第２切替命令を切替部２６Ａへ通知する。すると、切替部２６Ａは、セキュアモードＳからノンセキュアモードＮＳへモードを切替える。
【００８６】
このため、本実施の形態の情報処理装置１０では、タイマ１６による割込み信号の受付タイミングが、セキュアＯＳ部２２によるキャッシュメモリ１８内の処理対象データ４０Ａの処理中の場合であっても、切替部２６Ａは、セキュアモードＳからノンセキュアモードＮＳへモードを切替えることができる。言い換えると、切替部２６Ａは、情報処理装置１０がセキュアモードＳで動作中であっても、セキュアモードＳからノンセキュアモードＮＳへモードを切替えることができる。
【００８７】
次に、本実施の形態の情報処理装置１０で実行する情報処理の手順を説明する。図１１は、本実施の形態の情報処理装置１０が実行する、情報処理の手順の一例を示す、フローチャートである。
【００８８】
まず、ノンセキュアＯＳ部２４の書込先設定部２４Ａが、物理メモリ１４の物理アドレス９９Ｘとデータサイズを設定する（ステップＳ１００）。次に、第１書込部２４Ｂが、書込データ４０（処理内容４０Ｅと処理対象データ４０Ａ）を、共有キャッシュ領域１８Ａに書込む（ステップＳ１０２）。
【００８９】
ステップＳ１０２では、第１書込部２４Ｂは、ステップＳ１００で設定された物理アドレス９９Ｘと、データサイズと、を含む書込指示と、処理対象データ４０Ａおよび処理内容４０Ｅを含む書込データ４０と、の各々を、キャッシュ制御部２８Ａへ通知する。キャッシュ制御部２８Ａは、キャッシュメモリ１８における、受付けた書込指示に含まれる物理アドレス９９Ｘに対応するキャッシュアドレスによって示される領域に、書込指示に含まれるデータサイズ分だけ、書込データ４０を書き込む。このとき、キャッシュ制御部２８Ａは、書込データ４０に“ＮＳ”を示す属性を付与する。ステップＳ１０２の処理によって、キャッシュメモリ１８の共有キャッシュ領域１８Ａには、書込データ４０が書込まれた状態となる（図７参照）。
【００９０】
次に、切替部２６Ａが、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える（ステップＳ１０４）。ステップＳ１０２の処理が終了すると、モニタ呼出部２４Ｃが、第１切替指示を切替指示ハンドラ部２６Ｘへ通知する。切替指示ハンドラ部２６Ｘは、切替部２６Ａに第１切替命令を送る。第１切替命令を受付けることで、切替部２６Ａは、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える。
【００９１】
次に、セキュアＯＳ部２２の読出先取得部２２Ａが、共有物理領域１４Ａの物理アドレス９９Ｘとキャッシュメモリ１８の共有キャッシュ領域１８Ａに書込まれた書込データ４０に含まれる、処理内容４０Ｅを取得する（ステップＳ１０６）。
【００９２】
次に、読出部２２Ｂが、処理内容４０Ｅに基づき、キャッシュメモリ１８における、処理対象データ４０Ａを読出す（ステップＳ１０８）。ステップＳ１０８では、読出部２２Ｂが、処理内容によって示される処理対象データ４０Ａの読出指示を、キャッシュ制御部２８Ａへ通知する。キャッシュ制御部２８Ａは、キャッシュメモリ１８における、該処理内容４０Ｅが持つ処理対象データ４０Ａの先頭物理アドレスに対応するキャッシュアドレスに記憶されている処理対象データ４０Ａを、読出部２２Ｂへ出力する。この処理により、読出部２２Ｂは、書込データ４０に含まれる処理対象データ４０Ａを読出す。
【００９３】
処理部２２Ｃは、ステップＳ１０８で読出した処理対象データ４０Ａに対して、書込データ４０に含まれる処理内容４０Ｅによって示される処理を実行する（ステップＳ１１０）（図８参照）。
【００９４】
次に、タイマ１６が、割込みを発生したか否かを判定する（ステップＳ１１２）。タイマ１６は、時間カウントが一定のカウント数に達していれば、割込みを発生させる。ステップＳ１１２では、タイマ１６が、一定の時間カウント数に達したことによる割込み信号を発生させたか否かを判別することで、ステップＳ１１２の判断を行う。
【００９５】
ステップＳ１１２で否定判断すると（ステップＳ１１２：Ｎｏ）、上記ステップＳ１０８へ戻る。ステップＳ１１２で肯定判断すると（ステップＳ１１２：Ｙｅｓ）、ステップＳ１１４へ進む。
【００９６】
ステップＳ１１４では、割込みが発生したことでタイマハンドラ部２６Ｂが呼び出される。タイマハンドラ部２６Ｂは、第２書込部２６Ｃを実行する。第２書込部２６Ｃが、キャッシュ制御部２８Ａに指示し、キャッシュメモリ１８内の全てのキャッシュデータを、物理メモリ１４へ書込ませる（ステップＳ１１４）。このため、物理メモリ１４には、キャッシュメモリ１８内の全てのキャッシュデータが書込まれると共に、キャッシュメモリ１８の共有キャッシュ領域１８Ａ内の全てのキャッシュデータが、物理メモリ１４の共有物理領域１４Ａに書込まれた状態となる（図９参照）。
【００９７】
次に、ロック対象領域取得部２６Ｄが、物理メモリ１４の共有物理領域１４Ａを、ロック対象領域として取得する（ステップＳ１１６）。そして、設定部２６Ｅは、ステップＳ１１６でロック対象領域として取得された、物理メモリ１４の共有物理領域１４Ａを、ロック状態Ｌに設定する（ステップＳ１１８）。
【００９８】
ステップＳ１１８の処理によって、物理メモリ１４における、共有物理領域１４Ａがロック状態Ｌとなる（図１０参照）。なお、共有物理領域１４Ａには、処理対象データ４０Ａが書込まれているため、共有物理領域１４Ａに含まれる処理対象データ４０Ａもまた、ロック状態Ｌとなる。
【００９９】
次に、切替部２６Ａが、セキュアモードＳからノンセキュアモードＮＳへモードを切替える（ステップＳ１２０）。ステップＳ１２０の処理によって、ノンセキュアＯＳ部２４が有効となる。
【０１００】
次に、モニタ呼出部２４Ｃが、処理結果４２に含まれる完了フラグ４２Ｘを参照し、セキュアＯＳ部２２によるステップＳ１１０の処理内容４０Ｅによる処理対象データ４０Ａの処理が終了しているか否かを判断する（ステップＳ１２２）。ステップＳ１２２で否定判断すると（ステップＳ１２２：Ｎｏ）、上記ステップＳ１０４へ戻る。一方、ステップＳ１２２で肯定判断すると（ステップＳ１２２：Ｙｅｓ）、本ルーチンを終了する。
【０１０１】
以上説明したように、本実施の形態の情報処理装置１０は、セキュアモードＳとノンセキュアモードＮＳとを切替えて動作する。情報処理装置１０の切替部２６Ａは、セキュアモードＳで動作しているときに、セキュアモードＳからノンセキュアモードＮＳへモードを切替える。
【０１０２】
このように、本実施の形態の情報処理装置１０では、セキュアモードＳの処理が終了するまで待つことなく、セキュアモードＳで動作中に、切替部２６Ａが、セキュアモードＳからノンセキュアモードＮＳへモードを切替える。
【０１０３】
従って、本実施の形態の情報処理装置１０では、リアルタイム性の向上を図ることができる。
【０１０４】
また、本実施の形態の情報処理装置１０は、設定部２６Ｅを備える。設定部２６Ｅは、セキュアモードＳからノンセキュアモードＮＳへ切替える前に、セキュアモードＳとノンセキュアモードＮＳで共有する物理メモリ１４における少なくとも一部の領域を、ロック状態Ｌに設定する。
【０１０５】
このため、本実施の形態の情報処理装置１０では、上記効果に加えて、更に、脆弱性混入リスクの低減を図ることができる。
【０１０６】
また、本実施の形態の情報処理装置１０では、セキュアモードＳで動作する読出部２２Ｂが、第１書込部２４Ｂによってキャッシュメモリ１８の共有キャッシュ領域１８Ａに書込まれた処理対象データを読出す。そして、第２書込部２６Ｃが、設定部２６Ｅによってロック状態Ｌに設定される前に、キャッシュメモリ１８に格納されているキャッシュデータの内、処理対象データの少なくとも一部を、物理メモリ１４へ書込む。
【０１０７】
また、本実施の形態の情報処理装置１０では、設定部２６Ｅは、物理メモリ１４における、共有キャッシュ領域１８Ａに対応する共有物理領域１４Ａの内、少なくとも第２書込部２６Ｃによって書込まれた領域を、ロック状態Ｌに設定する。
【０１０８】
このため、本実施の形態の情報処理装置１０では、上記効果に加えて、更に、脆弱性混入リスクの低減とメモリアクセス時に発生するエラーの抑制を図ることができる。
【０１０９】
リアルタイム性の向上と、脆弱性混入リスクの低減とメモリアクセス時に発生するエラーの抑制と、を図ることができる理由を説明する。図１２〜図１４は、これらの効果の説明図である。
【０１１０】
図１２に示すように、ノンセキュアＯＳ部２４からセキュアＯＳ部２２へ、キャッシュメモリ１８を介して書込データ４０を渡し、書込データ４０に含まれる処理対象データ４０Ａの処理をセキュアＯＳ部２２へ依頼すると仮定する。
【０１１１】
そして、セキュアＯＳ部２２が処理対象データ４０Ａの処理を実行中に、モニタ部２６が、セキュアモードＳからノンセキュアモードＮＳへモードを切替える。そして、設定部２６Ｅが、物理メモリ１４をロック状態Ｌに設定したと仮定する（図１３参照）。すると、属性“ＮＳ”の処理対象データ４０Ａを、物理メモリ１４へ書出すことが制限される。このため、キャッシュ制御部２８Ａが自動的にキャッシュメモリ１８内のキャッシュデータを物理メモリ１４へ書出すと、物理メモリ１４へのアクセスエラーが発生する場合がある（図１３中、エラーＥ参照）。
【０１１２】
一方、このようなアクセスエラーを抑制するために、物理メモリ１４をロック状態Ｌとせずに、キャッシュメモリ１８内のキャッシュデータを物理メモリ１４へ書出した場合（図１４、書出しＷ参照）、ノンセキュアＯＳ部２４による書込が制限されず、脆弱性混入のリスクが発生する場合がある。
【０１１３】
そこで、第２書込部２６Ｃが、キャッシュメモリ１８に格納されているキャッシュデータの内、処理対象データ４０Ａの少なくとも一部を、物理メモリ１４へ書込む。そして、設定部２６Ｅが、物理メモリ１４における、共有キャッシュ領域１８Ａに対応する共有物理領域１４Ａの内、少なくとも第２書込部２６Ｃによって書込まれた領域を、ロック状態Ｌに設定する（図９、図１０参照）。
【０１１４】
すると、処理対象データ４０Ａを含む共有物理領域１４Ａにおける、少なくとも第２書込部２６Ｃによって書込まれた領域について、ノンセキュアＯＳ部２４による改竄を抑制することができ、脆弱性混入リスクの低減を図ることができる。また、共有物理領域１４Ａにおける、少なくとも第２書込部２６Ｃによって書込まれた領域をロック状態Ｌに設定する前に、キャッシュメモリ１８内のキャッシュデータを物理メモリ１４へ書込むため、属性“ＮＳ”の処理対象データ４０Ａを物理メモリ１４へ書出すときのアクセスエラー発生を防ぐことができる。
【０１１５】
従って、本実施の形態の情報処理装置１０では、リアルタイム性の向上、といった効果に加えて、更に、脆弱性混入リスクの低減とメモリアクセス時に発生するエラーの抑制を図ることができる。
【０１１６】
また、本実施の形態の情報処理装置１０は、上記構成によりメモリアクセス時に発生するエラーを抑制することができる。このため、情報処理装置１０では、ノンセキュアモードＮＳからセキュアモードＳへモードを切替えてロック状態Ｌを解除した後に、再度、セキュアモードＳからノンセキュアモードＮＳへ切替えることでアクセスエラーを解除する、といったアクセスエラーの解除処理を行う必要がない。このため、ノンセキュアＯＳ部２４によるキャッシュメモリ１８を介した物理メモリ１４への書込み時に、ノンセキュアＯＳ部２４の処理が停止することを抑制することができる。よって、本実施の形態の情報処理装置１０は、上記効果に加えて、ノンセキュアＯＳ部２４による処理の低下を抑制することができる。
【０１１７】
＜変形例１＞
なお、第１の実施の形態では、モニタ部２６が、切替部２６Ａと、タイマハンドラ部２６Ｂと、第２書込部２６Ｃと、ロック対象領域取得部２６Ｄと、設定部２６Ｅと、を備えた構成である場合を説明した（図３参照）。しかし、タイマハンドラ部２６Ｂ、第２書込部２６Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅの少なくとも１つは、セキュアＯＳ部２２に設けた構成であってもよい。
【０１１８】
図１５は、本変形例の情報処理装置１０’の一例を示す模式図である。なお、ハードウェア構成および機能構成の概要は、第１の実施の形態の情報処理装置１０と同様である（図２、図３参照）。
【０１１９】
情報処理装置１０’は、セキュアＯＳ部２２’と、ノンセキュアＯＳ部２４と、モニタ部２６’と、ハードウェア部２８と、を備える。ノンセキュアＯＳ部２４、およびハードウェア部２８は、情報処理装置１０と同様である。セキュアＯＳ部２２’およびモニタ部２６’は、タイマハンドラ部２６Ｂ、第２書込部２６Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６ＥがセキュアＯＳ部２２’に設けられている点以外は、第１の実施の形態の情報処理装置１０と同様である。なお、タイマハンドラ部２６Ｂ、第２書込部２６Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅは、第１の実施の形態と同様である。
【０１２０】
このように、タイマハンドラ部２６Ｂ、第２書込部２６Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅの少なくとも１つは、セキュアＯＳ部２２に設けた構成であってもよい。なお、第２書込部２６Ｃは、ノンセキュアＯＳ部２４に設けられていてもよい。
【０１２１】
（第２の実施の形態）
上記第１の実施の形態では、第２書込部２６Ｃが、キャッシュメモリ１８内の全てのキャッシュデータを物理メモリ１４へ書込み、設定部２６Ｅが、物理メモリ１４の共有物理領域１４Ａをロック状態Ｌに設定する形態を説明した。
【０１２２】
本実施の形態では、キャッシュメモリ１８における共有キャッシュ領域１８Ａのキャッシュデータを物理メモリ１４へ書込み、物理メモリ１４の共有物理領域１４Ａをロック状態Ｌに設定する形態を説明する。
【０１２３】
図１６は、情報処理装置１０Ｂの機能構成の一例を示す図である。
【０１２４】
情報処理装置１０Ｂは、セキュアＯＳ部２２と、ノンセキュアＯＳ部２４と、モニタ部５０と、ハードウェア部２８と、を備える。情報処理装置１０Ｂは、モニタ部２６に代えてモニタ部５０を備えた点以外は、第１の実施の形態の情報処理装置１０と同様である。
【０１２５】
モニタ部５０は、切替部２６Ａと、タイマハンドラ部２６Ｂと、ロック対象領域取得部２６Ｄと、設定部２６Ｅと、第２書込部５０Ｃと、共有キャッシュ領域取得部５０Ｆと、を備える。切替部２６Ａ、タイマハンドラ部２６Ｂ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅは、第１の実施の形態と同様である。
【０１２６】
共有キャッシュ領域取得部５０Ｆは、キャッシュメモリ１８における、共有キャッシュ領域１８Ａのキャッシュアドレスを取得する。共有キャッシュ領域取得部５０Ｆは、対応表３２（図４参照）における、共有キャッシュ領域１８Ａのキャッシュアドレスを読取ることで、共有キャッシュ領域１８Ａのキャッシュアドレスを取得する。
【０１２７】
第２書込部５０Ｃは、キャッシュメモリ１８における、共有キャッシュ領域１８Ａ内のキャッシュデータを、物理メモリ１４の共有物理領域１４Ａへ書込む。
【０１２８】
詳細には、第２書込部５０Ｃは、共有キャッシュ領域取得部５０Ｆから共有キャッシュ領域１８Ａのキャッシュアドレスを受付ける。そして、第２書込部５０Ｃは、キャッシュ制御部２８Ａおよびメモリアクセス制御部２８Ｂを介して、共有キャッシュ領域１８Ａ内の全てのキャッシュデータを、物理メモリ１４へ書込む。このため、共有キャッシュ領域１８Ａ内の全てのキャッシュデータが、物理メモリ１４の共有物理領域１４Ａへ移動される。
【０１２９】
図１７は、第２書込部５０Ｃによる書込が終了したときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。第２書込部５０Ｃによる書込によって、キャッシュメモリ１８における共有キャッシュ領域１８Ａ内の全てのキャッシュデータが、物理メモリ１４の共有物理領域１４Ａに書込まれる。
【０１３０】
このため、本実施の形態では、キャッシュメモリ１８の共有キャッシュ領域１８Ａ以外の領域に書込まれていたキャッシュデータ（例えば、処理結果４２）は、キャッシュメモリ１８に残り、物理メモリ１４に書込まれない。
【０１３１】
図１６に戻り説明を続ける。第１の実施の形態と同様に、ロック対象領域取得部２６Ｄは、物理メモリ１４の共有物理領域１４Ａを、ロック対象領域として取得する。また、第１の実施の形態と同様に、設定部２６Ｅは、物理メモリ１４における、共有キャッシュ領域１８Ａに対応する共有物理領域１４Ａを、ロック状態に設定する。
【０１３２】
図１８は、設定部２６Ｅによってロック状態が設定されたときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。図１８に示すように、設定部２６Ｅの処理によって、共有物理領域１４Ａがロック状態Ｌに設定される。
【０１３３】
このように、本実施の形態では、第２書込部５０Ｃが、キャッシュメモリ１８における共有キャッシュ領域１８Ａのキャッシュデータを、物理メモリ１４へ書込む。そして、設定部２６Ｅが、共有物理領域１４Ａ内の全領域をロック状態Ｌに設定する。このため、共有キャッシュ領域１８Ａに格納されていた処理対象データ４０Ａは、物理メモリ１４の共有物理領域１４Ａへ書込まれ、該処理対象データ４０Ａを含む共有物理領域１４Ａがロック状態Ｌに設定される。
【０１３４】
次に、本実施の形態の情報処理装置１０Ｂで実行する情報処理の手順を説明する。図１９は、本実施の形態の情報処理装置１０Ｂが実行する、情報処理の手順の一例を示す、フローチャートである。
【０１３５】
情報処理装置１０Ｂは、情報処理装置１０の手順（ステップＳ１００〜ステップＳ１１２、図１１参照）と同様にして、ステップＳ２００〜ステップＳ２１２の処理を実行する。
【０１３６】
詳細には、情報処理装置１０Ｂは、ノンセキュアＯＳ部２４の書込先設定部２４Ａが、物理メモリ１４の物理アドレスとデータサイズを設定する（ステップＳ２００）。次に、第１書込部２４Ｂが、処理対象データ４０Ａを、共有キャッシュ領域１８Ａに書込む（ステップＳ２０２）。次に、切替部２６Ａが、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える（ステップＳ２０４）。
【０１３７】
次に、セキュアＯＳ部２２の読出先取得部２２Ａが、共有物理領域１４Ａの物理アドレス９９Ｘとキャッシュメモリ１８の共有キャッシュ領域１８Ａに書込まれた書込データ４０に含まれる、処理内容４０Ｅを取得する（ステップＳ２０６）。次に、読出部２２Ｂが、処理内容４０Ｅに基づき、キャッシュメモリ１８における、処理対象データ４０Ａを読出す（ステップＳ２０８）。処理部２２Ｃは、ステップＳ２０８で読出した処理対象データ４０Ａに対して、書込データ４０に含まれる処理内容４０Ｅによって示される処理を実行する（ステップＳ２１０）。
【０１３８】
次に、タイマ１６が、割込みを発生したか否かを判定する（ステップＳ２１２）。ステップＳ２１２で否定判断すると（ステップＳ２１２：Ｎｏ）、上記ステップＳ２０８へ戻る。ステップＳ２１２で肯定判断すると（ステップＳ２１２：Ｙｅｓ）、ステップＳ２１４へ進む。
【０１３９】
次に、共有キャッシュ領域取得部５０Ｆが、キャッシュメモリ１８における、共有キャッシュ領域１８Ａのキャッシュアドレスを取得する（ステップＳ２１４）。次に、第２書込部５０Ｃが、キャッシュ制御部２８Ａに指示し、キャッシュメモリ１８における、共有キャッシュ領域１８Ａ内のキャッシュデータを、物理メモリ１４の共有物理領域１４Ａへ書込ませる（ステップＳ２１６、図１７参照）。
【０１４０】
次に、ロック対象領域取得部２６Ｄが、物理メモリ１４の共有物理領域１４Ａを、ロック対象領域として取得する（ステップＳ２１８）。そして、設定部２６Ｅは、ステップＳ２１８でロック対象領域として取得された、物理メモリ１４の共有物理領域１４Ａを、ロック状態Ｌに設定する（ステップＳ２２０）（図１８参照）。
【０１４１】
次に、切替部２６Ａが、セキュアモードＳからノンセキュアモードＮＳへモードを切替える（ステップＳ２２２）。次に、モニタ呼出部２４Ｃが、処理結果４２に含まれる完了フラグ４２Ｘを参照して、セキュアＯＳ部２２によるステップＳ２１０の処理対象データ４０Ａの処理が終了しているか否かを判断する（ステップＳ２２４）。ステップＳ２２４で否定判断すると（ステップＳ２２４：Ｎｏ）、上記ステップＳ２０４へ戻る。一方、ステップＳ２２４で肯定判断すると（ステップＳ２２４：Ｙｅｓ）、本ルーチンを終了する。
【０１４２】
以上説明したように、本実施の形態の情報処理装置１０Ｂは、第２書込部５０Ｃが、共有キャッシュ領域１８Ａのキャッシュデータを、物理メモリ１４へ書込む。そして、設定部２６Ｅが、共有物理領域１４Ａ内の全領域をロック状態Ｌに設定する。このため、共有キャッシュ領域１８Ａに格納されていた処理対象データ４０Ａは、物理メモリ１４の共有物理領域１４Ａへ書込まれ、該処理対象データ４０Ａを含む共有物理領域１４Ａがロック状態Ｌに設定される。
【０１４３】
このため、本実施の形態の情報処理装置１０Ｂは、処理対象データ４０Ａを含む共有物理領域１４Ａの、ノンセキュアＯＳ部２４による改竄を抑制することができ、脆弱性混入リスクの低減を図ることができる。また、共有物理領域１４Ａをロック状態Ｌに設定する前に、共有キャッシュ領域１８Ａ内のキャッシュデータを物理メモリ１４へ書込むため、属性“ＮＳ”の処理対象データ４０Ａを物理メモリ１４へ書出すときのアクセスエラー発生を防ぐことができる。
【０１４４】
従って、本実施の形態の情報処理装置１０Ｂは、リアルタイム性の向上を図ることができると共に、脆弱性混入リスクの低減とメモリアクセス時に発生するエラーの抑制を図ることができる。
【０１４５】
また、本実施の形態の情報処理装置１０Ｂは、第２書込部５０Ｃが、共有キャッシュ領域１８Ａ内のキャッシュデータを、物理メモリ１４へ書込む。ここで、キャッシュメモリ１８における共有キャッシュ領域１８Ａは、予め設定された固定領域である。このため、本実施の形態の情報処理装置１０Ｂは、第１の実施の形態の効果に加えて、容易に、キャッシュメモリ１８から物理メモリ１４へのキャッシュデータの書出しを行うことができる。
【０１４６】
＜変形例２＞
なお、第２の実施の形態では、モニタ部５０が、切替部２６Ａと、タイマハンドラ部２６Ｂと、共有キャッシュ領域取得部５０Ｆと、第２書込部５０Ｃと、ロック対象領域取得部２６Ｄと、設定部２６Ｅと、を備えた構成である場合を説明した（図１６参照）。しかし、タイマハンドラ部２６Ｂ、共有キャッシュ領域取得部５０Ｆ、第２書込部５０Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅの少なくとも１つは、セキュアＯＳ部２２に設けた構成であってもよい。
【０１４７】
図２０は、本変形例の情報処理装置１０Ｂ’の一例を示す模式図である。情報処理装置１０Ｂ’は、セキュアＯＳ部５２と、ノンセキュアＯＳ部２４と、モニタ部５０’と、ハードウェア部２８と、を備える。ノンセキュアＯＳ部２４、およびハードウェア部２８は、情報処理装置１０と同様である。セキュアＯＳ部５２およびモニタ部５０’は、タイマハンドラ部２６Ｂ、共有キャッシュ領域取得部５０Ｆ、第２書込部５０Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６ＥがセキュアＯＳ部５２に設けられている点以外は、第２の実施の形態の情報処理装置１０Ｂと同様である。なお、タイマハンドラ部２６Ｂ、共有キャッシュ領域取得部５０Ｆ、第２書込部５０Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅは、第２の実施の形態と同様である。
【０１４８】
このように、タイマハンドラ部２６Ｂ、共有キャッシュ領域取得部５０Ｆ、第２書込部５０Ｃ、ロック対象領域取得部２６Ｄ、および設定部２６Ｅの少なくとも１つは、セキュアＯＳ部５２に設けた構成であってもよい。なお、共有キャッシュ領域取得部５０Ｆおよび第２書込部５０Ｃの少なくとも一方は、ノンセキュアＯＳ部２４に設けられていてもよい。
【０１４９】
（第３の実施の形態）
上記第２の実施の形態では、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａを物理メモリ１４へ書込み、物理メモリ１４の共有物理領域１４Ａをロック状態Ｌに設定する形態を説明した。
【０１５０】
本実施の形態では、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａを物理メモリ１４へ書込み、共有物理領域１４Ａにおける処理対象データ４０Ａの書込まれた領域を、ロック状態Ｌに設定する形態を説明する。
【０１５１】
図２１は、情報処理装置１０Ｃの機能構成の一例を示す図である。
【０１５２】
情報処理装置１０Ｃは、セキュアＯＳ部２２と、ノンセキュアＯＳ部２４と、モニタ部５４と、ハードウェア部２８と、を備える。情報処理装置１０Ｃは、モニタ部２６に代えてモニタ部５４を備えた点以外は、第１の実施の形態の情報処理装置１０と同様である。
【０１５３】
モニタ部５４は、切替部２６Ａと、タイマハンドラ部２６Ｂと、処理対象データ領域取得部５４Ｆと、第２書込部５４Ｃと、ロック対象領域取得部５４Ｄと、設定部５４Ｅと、を備える。切替部２６Ａ、およびタイマハンドラ部２６Ｂは、第１の実施の形態と同様である。
【０１５４】
処理対象データ領域取得部５４Ｆは、物理メモリ１４の物理アドレス９９Ｘから、キャッシュメモリ１８における、処理対象データ４０Ａの格納された領域のキャッシュアドレスを取得する。例えば、処理対象データ領域取得部５４Ｆは、キャッシュメモリ１８に格納されている書込データ４０に含まれる処理内容４０Ｅを読取る。そして、処理対象データ領域取得部５４Ｆは、読取った処理内容４０Ｅから処理対象データのサイズを取得し、物理メモリ１４の物理アドレス９９Ｘと合わせて対応するキャッシュアドレスを対応表３２（図４参照）から読取ることで、処理対象データ４０Ａの格納された領域のキャッシュアドレスを取得する。
【０１５５】
第２書込部５４Ｃは、キャッシュ制御部２８Ａに指示し、キャッシュメモリ１８における処理対象データ４０Ａを、物理メモリ１４の共有物理領域１４Ａ内に書込む。
【０１５６】
詳細には、第２書込部５４Ｃは、処理対象データ領域取得部５４Ｆから、キャッシュメモリ１８における書込データ４０の格納された領域のキャッシュアドレスを受付ける。そして、第２書込部５４Ｃは、キャッシュ制御部２８Ａおよびメモリアクセス制御部２８Ｂを介して、共有キャッシュ領域１８Ａ内における処理対象データ４０Ａを、物理メモリ１４の共有物理領域１４Ａへ書込む。このため、共有キャッシュ領域１８Ａに格納されていた処理対象データ４０Ａが、物理メモリ１４の共有物理領域１４Ａへ移動される。
【０１５７】
なお、第２書込部５４Ｃは、共有キャッシュ領域１８Ａにおける、処理対象データ４０Ａを含む書込データ４０を、物理メモリ１４の共有物理領域１４Ａへ書込んでもよい。すなわち、第２書込部５４Ｃは、共有キャッシュ領域１８Ａに格納されている処理対象データ４０Ａと、属性と、処理内容４０Ｅと、を共有物理領域１４Ａへ書込んでもよい。
【０１５８】
図２２は、第２書込部５４Ｃによる書込が終了したときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。第２書込部５４Ｃによる書込によって、キャッシュメモリ１８における共有キャッシュ領域１８Ａに格納されていた処理対象データ４０Ａが、物理メモリ１４の共有物理領域１４Ａに書込まれる。なお、上述したように、第２書込部５４Ｃは、処理対象データ４０Ａを含む書込データ４０を、共有物理領域１４Ａへ書込んでもよい。
【０１５９】
図２１に戻り説明を続ける。ロック対象領域取得部５４Ｄは、共有物理領域１４Ａ内における、処理対象データ４０Ａの書込まれた領域を、ロック対象領域として取得する。
【０１６０】
設定部５４Ｅは、物理メモリ１４における、処理対象データ４０Ａの書込まれた領域を、ロック状態Ｌに設定する。設定部５４Ｅは、ロック対象領域取得部５４Ｄの取得したロック対象領域をロック状態Ｌに設定することで、物理メモリ１４における処理対象データ４０Ａの書込まれた領域を、ロック状態Ｌに設定する。なお、設定部５４Ｅは、共有物理領域１４Ａにおける、処理対象データ４０Ａを含む書込データ４０の書込まれた領域を、ロック状態Ｌに設定してもよい。
【０１６１】
図２３は、設定部５４Ｅによってロック状態が設定されたときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。図２３に示すように、設定部５４Ｅの処理によって、共有物理領域１４Ａにおける、処理対象データ４０Ａの格納された領域がロック状態Ｌに設定される。
【０１６２】
このように、本実施の形態では、共有キャッシュ領域１８Ａの処理対象データ４０Ａを物理メモリ１４へ書込み、共有物理領域１４Ａにおける処理対象データ４０Ａの書込まれた領域を、ロック状態Ｌに設定する。このため、共有キャッシュ領域１８Ａに格納されていた処理対象データ４０Ａは、物理メモリ１４の共有物理領域１４Ａへ書込まれ、該処理対象データ４０Ａの書込まれた領域がロック状態Ｌに設定される。
【０１６３】
次に、本実施の形態の情報処理装置１０Ｃで実行する情報処理の手順を説明する。図２４は、本実施の形態の情報処理装置１０Ｃが実行する、情報処理の手順の一例を示す、フローチャートである。
【０１６４】
情報処理装置１０Ｃは、情報処理装置１０の手順（ステップＳ１００〜ステップＳ１１２、図１１参照）と同様にして、ステップＳ３００〜ステップＳ３１２の処理を実行する。
【０１６５】
詳細には、情報処理装置１０Ｃは、ノンセキュアＯＳ部２４の書込先設定部２４Ａが、物理メモリ１４の物理アドレスとデータサイズを設定する（ステップＳ３００）。次に、第１書込部２４Ｂが、処理対象データ４０Ａを、共有キャッシュ領域１８Ａに書込む（ステップＳ３０２）。次に、切替部２６Ａが、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える（ステップＳ３０４）。
【０１６６】
次に、セキュアＯＳ部２２の読出先取得部２２Ａが、キャッシュメモリ１８の共有キャッシュ領域１８Ａに書込まれた書込データ４０に含まれる、処理内容４０Ｅを取得する（ステップＳ３０６）。次に、読出部２２Ｂが、処理内容４０Ｅに基づき、キャッシュメモリ１８における、処理対象データ４０Ａを読出す（ステップＳ３０８）。処理部２２Ｃは、ステップＳ３０８で読出した処理対象データ４０Ａに対して、書込データ４０に含まれる処理内容４０Ｅによって示される処理を実行する（ステップＳ３１０）。
【０１６７】
次に、タイマ１６が、割込みを発生したか否かを判定する（ステップＳ３１２）。ステップＳ３１２で否定判断すると（ステップＳ３１２：Ｎｏ）、上記ステップＳ３０８へ戻る。ステップＳ３１２で肯定判断すると（ステップＳ３１２：Ｙｅｓ）、ステップＳ３１４へ進む。
【０１６８】
次に、処理対象データ領域取得部５４Ｆが、キャッシュメモリ１８における、処理対象データ４０Ａの格納された領域のキャッシュアドレスを取得する（ステップＳ３１４）。
【０１６９】
次に、第２書込部５４Ｃが、キャッシュ制御部２８Ａに指示し、キャッシュメモリ１８における処理対象データ４０Ａを、物理メモリ１４の共有物理領域１４Ａ内に書込む（ステップＳ３１６）。
【０１７０】
次に、ロック対象領域取得部５４Ｄが、共有物理領域１４Ａ内における、処理対象データ４０Ａの書込まれた領域を、ロック対象領域として取得する（ステップＳ３１８）。
【０１７１】
次に、設定部５４Ｅが、物理メモリ１４における、処理対象データ４０Ａの書込まれた領域を、ロック状態Ｌに設定する（ステップＳ３２０）。
【０１７２】
次に、切替部２６Ａが、セキュアモードＳからノンセキュアモードＮＳへモードを切替える（ステップＳ３２２）。次に、モニタ呼出部２４Ｃが、処理結果４２に含まれる完了フラグ４２Ｘを参照して、セキュアＯＳ部２２によるステップＳ３１０の処理対象データ４０Ａの処理が終了しているか否かを判断する（ステップＳ３２４）。ステップＳ３２４で否定判断すると（ステップＳ３２４：Ｎｏ）、上記ステップＳ３０４へ戻る。一方、ステップＳ３２４で肯定判断すると（ステップＳ３２４：Ｙｅｓ）、本ルーチンを終了する。
【０１７３】
以上説明したように、本実施の形態の情報処理装置１０Ｃでは、第２書込部５４Ｃが、キャッシュメモリ１８における処理対象データ４０Ａを、物理メモリ１４の共有物理領域１４Ａに書込む。そして、設定部５４Ｅは、物理メモリ１４における、処理対象データ４０Ａの書込まれた領域を、ロック状態Ｌに設定する。
【０１７４】
このため、本実施の形態の情報処理装置１０Ｃは、処理対象データ４０Ａの、ノンセキュアＯＳ部２４による改竄を抑制することができ、脆弱性混入リスクの低減を図ることができる。また、物理メモリ１４における処理対象データ４０Ａの書込まれた領域をロック状態Ｌに設定する前に、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａを物理メモリ１４へ書込むため、属性“ＮＳ”の処理対象データ４０Ａを物理メモリ１４へ書出すときのアクセスエラー発生を防ぐことができる。
【０１７５】
従って、本実施の形態の情報処理装置１０Ｃは、リアルタイム性の向上を図ることができると共に、脆弱性混入リスクの低減とメモリアクセス時に発生するエラーの抑制を図ることができる。
【０１７６】
また、本実施の形態の情報処理装置１０Ｃは、物理メモリ１４への書出し量の削減を図ることができる。
【０１７７】
＜変形例３＞
なお、第３の実施の形態では、モニタ部５４が、切替部２６Ａと、タイマハンドラ部２６Ｂと、処理対象データ領域取得部５４Ｆと、第２書込部５４Ｃと、ロック対象領域取得部５４Ｄと、設定部５４Ｅと、を備えた構成である場合を説明した（図２１参照）。しかし、タイマハンドラ部２６Ｂ、処理対象データ領域取得部５４Ｆ、第２書込部５４Ｃ、ロック対象領域取得部５４Ｄ、および設定部５４Ｅの少なくとも１つは、セキュアＯＳ部２２に設けた構成であってもよい。
【０１７８】
図２５は、本変形例の情報処理装置１０Ｃ’の一例を示す模式図である。情報処理装置１０Ｃ’は、セキュアＯＳ部５６と、ノンセキュアＯＳ部２４と、モニタ部５４’と、ハードウェア部２８と、を備える。ノンセキュアＯＳ部２４、およびハードウェア部２８は、情報処理装置１０と同様である。セキュアＯＳ部５６およびモニタ部５４’は、タイマハンドラ部２６Ｂ、処理対象データ領域取得部５４Ｆ、第２書込部５４Ｃ、ロック対象領域取得部５４Ｄ、および設定部５４ＥがセキュアＯＳ部５６に設けられている点以外は、第３の実施の形態の情報処理装置１０Ｃと同様である。なお、タイマハンドラ部２６Ｂ、処理対象データ領域取得部５４Ｆ、第２書込部５４Ｃ、ロック対象領域取得部５４Ｄ、および設定部５４Ｅは、第３の実施の形態と同様である。
【０１７９】
このように、タイマハンドラ部２６Ｂ、処理対象データ領域取得部５４Ｆ、第２書込部５４Ｃ、ロック対象領域取得部５４Ｄ、および設定部５４Ｅの少なくとも１つは、セキュアＯＳ部５６に設けた構成であってもよい。なお、処理対象データ領域取得部５４Ｆおよび第２書込部５４Ｃの少なくとも一方は、ノンセキュアＯＳ部２４に設けられていてもよい。
【０１８０】
（第４の実施の形態）
上記第３の実施の形態では、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａを物理メモリ１４へ書込み、共有物理領域１４Ａにおける処理対象データ４０Ａの書込まれた領域を、ロック状態Ｌに設定する形態を説明した。
【０１８１】
本実施の形態では、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａの内、セキュアＯＳ部２２の読出部２２Ｂによって未読出の未読出データを物理メモリ１４へ書込み、物理メモリ１４における該未読出データの書込まれた領域を、ロック状態Ｌに設定する形態を説明する。
【０１８２】
図２６は、情報処理装置１０Ｄの機能構成の一例を示す図である。
【０１８３】
情報処理装置１０Ｄは、セキュアＯＳ部５７と、ノンセキュアＯＳ部２４と、モニタ部５８と、ハードウェア部２８と、を備える。ノンセキュアＯＳ部２４およびハードウェア部２８は、第１の実施の形態と同様である。
【０１８４】
セキュアＯＳ部５７は、読出先取得部２２Ａと、読出部２２Ｂと、処理部２２Ｃと、読出領域記憶部５７Ｄと、を備える。セキュアＯＳ部５７は、読出領域記憶部５７Ｄを更に備えた点以外は、第１の実施の形態のセキュアＯＳ部２２と同様である。
【０１８５】
読出領域記憶部５７Ｄは、キャッシュメモリ１８に格納されている処理対象データ４０Ａの内、読出部２２Ｂによって読出済の領域を示す情報を、プロセッサ１２の汎用レジスタに記憶する。なお、読出領域記憶部５７Ｄは、処理対象データ４０Ａの内、読出部２２Ｂによって読み出され、且つ、処理部２２Ｃによる処理済の領域を示す情報を、汎用レジスタに記憶してもよい。
【０１８６】
例えば、読出領域記憶部５７Ｄは、キャッシュメモリ１８に格納されている書込データ４０に含まれる物理アドレス４０Ｃを開始位置として用い、該開始位置から、読出部２２Ｂによって読み出され、且つ、処理部２２Ｃによって処理済の範囲を、汎用レジスタに記憶する。このため、汎用レジスタには、物理アドレスによって示される範囲が、読出部２２Ｂによって読出済の領域を示す情報として、順次記憶される。
【０１８７】
次に、モニタ部５８について説明する。モニタ部５８は、切替部２６Ａと、タイマハンドラ部２６Ｂと、未読出領域計算部５８Ｆと、未読出領域取得部５８Ｇと、第２書込部５８Ｃと、ロック対象領域取得部５８Ｄと、設定部５８Ｅと、を備える。切替部２６Ａ、およびタイマハンドラ部２６Ｂは、第１の実施の形態と同様である。
【０１８８】
未読出領域計算部５８Ｆは、処理対象データ４０Ａにおける、物理アドレスによって表される、読出部２２Ｂによる未読出領域を計算する。詳細には、未読出領域計算部５８Ｆは、汎用レジスタに記憶されている、読出部２２Ｂによって読出済の領域を示す、物理アドレスおよび範囲を読取る。そして、未読出領域計算部５８Ｆは、共有キャッシュ領域１８Ａに格納されている書込データ４０に含まれる物理アドレス４０Ｃおよびデータサイズ４０Ｄと、読取った読出済の領域と、を用いて、未読出領域を計算する。具体的には、未読出領域計算部５８Ｆは、書込データ４０に含まれる物理アドレス４０Ｃおよびデータサイズ４０Ｄによって示される処理対象データ４０Ａの物理領域から、読出済の領域を除いた物理領域を示す、物理アドレスおよびデータサイズを、未読出領域として計算する。
【０１８９】
未読出領域取得部５８Ｇは、未読出領域を示す情報を取得する。詳細には、未読出領域取得部５８Ｇは、未読出領域計算部５８Ｆによって計算された、未読出領域を示す物理アドレスおよびデータサイズに対応する、キャッシュアドレスおよびデータサイズを取得する。未読出領域取得部５８Ｇは、未読出領域計算部５８Ｆによって計算された、未読出領域を示す物理アドレスに対応するキャッシュアドレスを、対応表３２（図４参照）から読取る。そして、未読出領域取得部５８Ｇは、該キャッシュアドレスと、未読出領域計算部５８Ｆによって計算されたデータサイズを、未読出領域を示す情報として取得する。
【０１９０】
第２書込部５８Ｃは、キャッシュメモリ１８の処理対象データ４０Ａにおける、読出部２２Ｂによる未読出の未読出データを、物理メモリ１４の共有物理領域１４Ａ内に書込む。
【０１９１】
詳細には、第２書込部５８Ｃは、未読出領域取得部５８Ｇから、キャッシュメモリ１８に格納されている処理対象データ４０Ａにおける、読出部２２Ｂによる未読出領域を示す情報を受付ける。そして、第２書込部５８Ｃは、キャッシュ制御部２８Ａおよびメモリアクセス制御部２８Ｂを介して、共有キャッシュ領域１８Ａに格納されている処理対象データ４０Ａにおける、読出部２２Ｂによる未読出の未読出データを、物理メモリ１４の共有物理領域１４Ａへ書込む。このため、共有キャッシュ領域１８Ａに格納されていた処理対象データ４０Ａの内、未読出データが、物理メモリ１４の共有物理領域１４Ａへ移動される。
【０１９２】
図２７は、第２書込部５８Ｃによる書込が終了したときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。第２書込部５８Ｃによる書込によって、キャッシュメモリ１８における共有キャッシュ領域１８Ａに格納されていた処理対象データ４０Ａの内、未読出データ４０Ａ２が、物理メモリ１４の共有物理領域１４Ａに書込まれる。一方、処理対象データ４０Ａにおける、読出部２２Ｂによる読出済の読出済データ４０Ａ１については、共有キャッシュ領域１８Ａに残される。
【０１９３】
図２６に戻り説明を続ける。ロック対象領域取得部５８Ｄは、共有物理領域１４Ａ内における、未読出データ４０Ａ２の書込まれた領域を、ロック対象領域として取得する。
【０１９４】
設定部５８Ｅは、物理メモリ１４における、未読出データ４０Ａ２の書込まれた領域を、ロック状態Ｌに設定する。設定部５８Ｅは、ロック対象領域取得部５８Ｄの取得したロック対象領域をロック状態Ｌに設定することで、物理メモリ１４の共有物理領域１４Ａにおける、未読出データ４０Ａ２の書込まれた領域を、ロック状態Ｌに設定する。
【０１９５】
図２８は、設定部５８Ｅによってロック状態が設定されたときの、キャッシュメモリ１８と物理メモリ１４の状態の一例を示す模式図である。図２８に示すように、設定部５８Ｅの処理によって、共有物理領域１４Ａにおける、未読出データ４０Ａ２の格納された領域がロック状態Ｌに設定される。
【０１９６】
このように、本実施の形態では、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａの内、セキュアＯＳ部５７の読出部２２Ｂによって未読出の未読出データ４０Ａ２を物理メモリ１４へ書込み、物理メモリ１４における該未読出データ４０Ａ２の書込まれた領域を、ロック状態Ｌに設定する。
【０１９７】
次に、本実施の形態の情報処理装置１０Ｄで実行する情報処理の手順を説明する。図２９は、本実施の形態の情報処理装置１０Ｄが実行する、情報処理の手順の一例を示す、フローチャートである。
【０１９８】
情報処理装置１０Ｄは、情報処理装置１０の手順（ステップＳ１００〜ステップＳ１１２、図１１参照）と同様にして、ステップＳ４００〜ステップＳ４１２の処理を実行する。
【０１９９】
詳細には、情報処理装置１０Ｄは、ノンセキュアＯＳ部２４の書込先設定部２４Ａが、物理メモリ１４の物理アドレスとデータサイズを設定する（ステップＳ４００）。次に、第１書込部２４Ｂが、処理対象データ４０Ａを、共有キャッシュ領域１８Ａに書込む（ステップＳ４０２）。次に、切替部２６Ａが、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える（ステップＳ４０４）。
【０２００】
次に、セキュアＯＳ部５７の読出先取得部２２Ａが、キャッシュメモリ１８の共有キャッシュ領域１８Ａに書込まれた書込データ４０に含まれる、処理内容４０Ｅを取得する（ステップＳ４０６）。次に、読出部２２Ｂが、処理内容４０Ｅに基づき、キャッシュメモリ１８における、処理対象データ４０Ａを読出す（ステップＳ４０８）。処理部２２Ｃは、ステップＳ４０８で読出した処理対象データ４０Ａに対して、書込データ４０に含まれる処理内容４０Ｅによって示される処理を実行する（ステップＳ４１０）。
【０２０１】
次に、タイマ１６が、割込みを発生したか否かを判定する（ステップＳ４１２）。ステップＳ４１２で否定判断すると（ステップＳ４２２：Ｎｏ）、上記ステップＳ４０８へ戻る。ステップＳ４１２で肯定判断すると（ステップＳ４１２：Ｙｅｓ）、ステップＳ４１４へ進む。
【０２０２】
次に、未読出領域計算部５８Ｆが、処理対象データ４０Ａにおける、物理アドレスによって表される、読出部２２Ｂによる未読出領域を計算する（ステップＳ４１４）。次に、未読出領域取得部５８Ｇが、キャッシュアドレスによって表される、未読出領域を示す情報を取得する（ステップＳ４１６）。
【０２０３】
次に、第２書込部５８Ｃが、キャッシュ制御部２８Ａに指示し、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａにおける、読出部２２Ｂによる未読出の未読出データを、物理メモリ１４の共有物理領域１４Ａ内に書込ませる（ステップＳ４１８）（図２７参照）。
【０２０４】
次に、設定部５８Ｅが、物理メモリ１４における、未読出データ４０Ａ２の書込まれた領域を、ロック状態Ｌに設定する（ステップＳ４２０）（図２８参照）。
【０２０５】
次に、切替部２６Ａが、セキュアモードＳからノンセキュアモードＮＳへモードを切替える（ステップＳ４２２）。次に、モニタ呼出部２４Ｃが、セキュアＯＳ部５７によるステップＳ４１０の処理対象データ４０Ａの処理が終了しているか否かを判断する（ステップＳ４２４）。ステップＳ４２４で否定判断すると（ステップＳ４２４：Ｎｏ）、上記ステップＳ４０４へ戻る。一方、ステップＳ４２４で肯定判断すると（ステップＳ４２４：Ｙｅｓ）、本ルーチンを終了する。
【０２０６】
以上説明したように、本実施の形態の情報処理装置１０Ｄでは、第２書込部５８Ｃが、共有キャッシュ領域１８Ａ内の処理対象データ４０Ａの内、読出部２２Ｂによって未読出の未読出データ４０Ａ２を、物理メモリ１４の共有物理領域１４Ａへ書込む。設定部５８Ｅは、物理メモリ１４の共有物理領域１４Ａ内における、該未読出データ４０Ａ２の書込まれた領域を、ロック状態Ｌに設定する。
【０２０７】
このため、本実施の形態の情報処理装置１０Ｄは、処理対象データ４０Ａの内、読出部２２Ｂによって未読出の未読出データ４０Ａ２について、ノンセキュアＯＳ部２４による改竄を抑制することができ、脆弱性混入リスクの低減を図ることができる。また、物理メモリ１４における未読出データ４０Ａ２の書込まれた領域をロック状態Ｌに設定する前に、共有キャッシュ領域１８Ａ内の未読出データ４０Ａ２を物理メモリ１４へ書込むため、属性“ＮＳ”の処理対象データ４０Ａを物理メモリ１４へ書出すときのアクセスエラー発生を防ぐことができる。
【０２０８】
従って、本実施の形態の情報処理装置１０Ｄは、リアルタイム性の向上を図ることができると共に、脆弱性混入リスクの低減とメモリアクセス時に発生するエラーの抑制を図ることができる。
【０２０９】
また、本実施の形態の情報処理装置１０Ｄは、物理メモリ１４への書出し量の削減を図ることができる。
【０２１０】
＜変形例４＞
なお、第４の実施の形態では、モニタ部５８が、タイマハンドラ部２６Ｂと、未読出領域計算部５８Ｆと、未読出領域取得部５８Ｇと、第２書込部５８Ｃと、ロック対象領域取得部５８Ｄと、設定部５８Ｅと、切替部２６Ａと、を備えた構成である場合を説明した（図２１参照）。しかし、タイマハンドラ部２６Ｂ、未読出領域計算部５８Ｆ、未読出領域取得部５８Ｇ、第２書込部５８Ｃ、ロック対象領域取得部５８Ｄ、および設定部５８Ｅの少なくとも１つは、セキュアＯＳ部５７に設けた構成であってもよい。
【０２１１】
図３０は、本変形例の情報処理装置１０Ｄ’の一例を示す模式図である。情報処理装置１０Ｄ’は、セキュアＯＳ部５９と、ノンセキュアＯＳ部２４と、モニタ部５８’と、ハードウェア部２８と、を備える。ノンセキュアＯＳ部２４、およびハードウェア部２８は、情報処理装置１０と同様である。セキュアＯＳ部５９およびモニタ部５８’は、タイマハンドラ部２６Ｂ、未読出領域計算部５８Ｆ、未読出領域取得部５８Ｇ、第２書込部５８Ｃ、ロック対象領域取得部５８Ｄ、および設定部５８ＥがセキュアＯＳ部５９に設けられている点以外は、第４の実施の形態の情報処理装置１０Ｄと同様である。なお、タイマハンドラ部２６Ｂ、未読出領域計算部５８Ｆ、未読出領域取得部５８Ｇ、第２書込部５８Ｃ、ロック対象領域取得部５８Ｄ、および設定部５８Ｅは、第４の実施の形態と同様である。
【０２１２】
このように、タイマハンドラ部２６Ｂ、未読出領域計算部５８Ｆ、未読出領域取得部５８Ｇ、第２書込部５８Ｃ、ロック対象領域取得部５８Ｄ、および設定部５８Ｅの少なくとも１つは、セキュアＯＳ部５９に設けた構成であってもよい。
【０２１３】
＜変形例５＞
なお、上記実施の形態および上記変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’は、様々なシステムに適用可能である。例えば、上記実施の形態および変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’は、移動体の一例である自動車に搭載される車載ネットワークシステムに適用できる。
【０２１４】
例えば、上記実施の形態および上記変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’は、車載ネットワークシステムに含まれる車載ゲートウェイ装置（以下、「ＧＷ」と略称する）に適用可能である。
【０２１５】
図３１は、情報処理システム１の概要を示す模式図である。情報処理システム１は、例えば、車両２に搭載されている。
【０２１６】
情報処理システム１は、情報処理装置１０と、複数のノード６０と、を備える。なお、情報処理システム１は、情報処理装置１０に代えて、情報処理装置１０’、情報処理装置１０Ｂ、情報処理装置１０Ｂ’、情報処理装置１０Ｃ、情報処理装置１０Ｃ’、情報処理装置１０Ｄ、および情報処理装置１０Ｄ’の何れかを備えた構成であってもよい。
【０２１７】
情報処理装置１０と複数のノード６０とは、ネットワークＮＷを介して接続されている。図３１に示す例では、情報処理システム１は、ネットワークＮＷとして、複数のサブネットワーク（サブネットワークＮＷ１、サブネットワークＮＷ２）を含む。これらの複数のサブネットワークの各々には、ノード６０が接続されている。また、これらの複数のサブネットワークは、情報処理装置１０に接続されている。
【０２１８】
また、情報処理装置１０には、Ｖ２Ｘ通信モジュール６４および通信モジュール６６が接続されている。通信モジュール６６は、外部ネットワーク６８を介して外部装置と通信するためのモジュールである。Ｖ２Ｘ通信モジュール６４は、通信インフラを介さずに、他の車両２との間で直接無線通信を行うためのモジュールである。直接無線通信には、例えば、車車間・路車間通信（Ｖ２Ｘ：Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ）を用いる。なお、Ｖ２Ｘ通信は、Ｃ２Ｘ（Ｃａｒ−ｔｏ−Ｘ）通信と称される場合もある。
【０２１９】
図３１には、情報処理装置１０を、ＧＷとして構成した場合を、一例として示した。本実施の形態では、情報処理装置１０は、本来のゲートウェイとしての機能に加えて、後述する各処理を実行する。本来のゲートウェイとしての機能は、例えば、情報処理システム１内のサブネットワーク（例えば、サブネットワークＮＷ１、サブネットワークＮＷ２）間の通信の中継およびフィルタリングや、情報処理システム１と車外の外部ネットワーク６８との間の通信の中継およびフィルタリングや、他の車両２との直接の通信の中継およびフィルタリングなどである。
【０２２０】
ノード６０は、情報処理装置１０を介して他のノード６０との間で、データを通信する電子機器である。ノード６０は、例えば、ＥＣＵ（電子制御装置：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）や、各種センサや、アクチュエータなどである。ＥＣＵは、車両２における各種制御を行う電子機器である。
【０２２１】
情報処理システム１の通信規格は限定されない。情報処理システム１の通信規格は、例えば、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＦｌｅｘＲａｙ（登録商標）などである。
【０２２２】
このように、上記実施の形態および上記変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’を、車両２等の移動体に搭載された情報処理システム１に適用してもよい。
【０２２３】
＜補足説明＞
なお、上記実施の形態および上記変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’で実行される上記各処理を実行するためのプログラムは、ＨＤＤ（ハードディスクドライブ）に記憶されていてもよい。また、上記実施の形態の、情報処理装置１０、情報処理装置１０Ｂで実行される上記各処理を実行するためのプログラムは、ＲＯＭに予め組み込まれて提供されていてもよい。
【０２２４】
また、上記実施の形態および上記変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅｃｏｒｄａｂｌｅ）、メモリカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態および上記変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態および上記変形例の情報処理装置１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【０２２５】
以上、本発明の実施の形態および変形例を説明したが、これらの実施の形態および変形例は例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２２６】
１０、１０’、１０Ｂ、１０Ｂ’、１０Ｃ、１０Ｃ’、１０Ｄ、１０Ｄ’  情報処理装置
２４Ｂ  第１書込部
２２Ｂ  読出部
２６Ａ  切替部
２６Ｃ、５０Ｃ、５４Ｃ、５８Ｃ  第２書込部
２６Ｅ、５４Ｅ、５８Ｅ  設定部
【図１】
2019164647.tif 000003
【図２】
2019164647.tif 000004
【図３】
2019164647.tif 000005
【図４】
2019164647.tif 000006
【図５】
2019164647.tif 000007
【図６】
2019164647.tif 000008
【図７】
2019164647.tif 000009
【図８】
2019164647.tif 000010
【図９】
2019164647.tif 000011
【図１０】
2019164647.tif 000012
【図１１】
2019164647.tif 000013
【図１２】
2019164647.tif 000014
【図１３】
2019164647.tif 000015
【図１４】
2019164647.tif 000016
【図１５】
2019164647.tif 000017
【図１６】
2019164647.tif 000018
【図１７】
2019164647.tif 000019
【図１８】
2019164647.tif 000020
【図１９】
2019164647.tif 000021
【図２０】
2019164647.tif 000022
【図２１】
2019164647.tif 000023
【図２２】
2019164647.tif 000024
【図２３】
2019164647.tif 000025
【図２４】
2019164647.tif 000026
【図２５】
2019164647.tif 000027
【図２６】
2019164647.tif 000028
【図２７】
2019164647.tif 000029
【図２８】
2019164647.tif 000030
【図２９】
2019164647.tif 000031
【図３０】
2019164647.tif 000032
【図３１】
2019164647.tif 000033