(57)【要約】【課題】従来よりも小規模な構成で、メモリ資源に格納されているデータを秘匿する。【解決手段】比較部１３８は、初期属性レジスタ１３２Ａにアクセス禁止属性の空間として保存された全アドレス空間に対して、任意の時点で改変不能にすることができるハードウェアで実装されたアクセス制限ハードレジスタ１３３に保存された範囲をアクセス許可属性の空間の範囲として設定し、さらに、このアクセス許可属性の空間の範囲内で、適宜改変することができるソフトウェアで実装されたアクセス制限ソフトレジスタ１４４に保存された範囲をアクセス禁止属性の空間の範囲として設定することによって、アクセス可能なアドレスの範囲を設定し、アクセス信号が指定するアドレス空間とアクセス可能なアドレスの範囲とを比較して、アクセス信号が指定するアドレス空間がアクセス可能なアドレスの範囲内にある場合に、アクセス信号をメモリ資源へ出力する。【選択図】図１
2009301343.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとメモリ資源との間に介在し、当該ＣＰＵから当該メモリ資源へ出力されるアクセス信号に対して予め定められた設定に基づいて当該メモリ資源への出力を制限することにより、当該メモリ資源へのアクセスを制限するアクセス制限回路において、
前記メモリ資源に割り振られた各アドレス空間の初期属性データとして、アドレス空間の全範囲とアクセス禁止属性とが対応付けられて保存される初期属性レジスタと、
任意の時点で改変不能にすることができるハードウェアで実装されており、かつ、アクセス許可属性の空間として設定すべき各アドレス空間の属性データを第１設定データとし、当該第１設定データの各アドレス空間の範囲とアクセス許可属性とが対応付けられて保存されるアクセス制限ハードレジスタと、
任意の時点で適宜改変することができるソフトウェアで実装されており、かつ、アクセス禁止属性の空間として設定すべき各アドレス空間の属性データを第２設定データとし、当該第２設定データの各アドレス空間の範囲とアクセス禁止属性とが対応付けられて保存されるアクセス制限ソフトレジスタと、
各アドレス空間の最終属性データとして、当該最終属性データの各アドレス空間の範囲とこの範囲のそれぞれに対応するアクセス許可属性またはアクセス禁止属性とが対応付けられて保存される最終属性レジスタと、
前記アクセス信号を前記ＣＰＵから入力して、当該アクセス信号によって指定されたアドレス空間の範囲を指定範囲とし、当該指定範囲と前記最終属性データの各アドレス空間の範囲とを比較して、当該指定範囲が前記最終属性データでアクセス許可属性と対応付けられたアドレス空間の範囲内にあるときに、前記アクセス信号を前記メモリ資源へ出力し、かつ、当該指定範囲が前記最終属性データでアクセス許可属性と対応付けられたアドレス空間の範囲外にあるときに、前記アクセス信号の前記メモリ資源への出力を中止する比較部とを有し、
前記比較部は、
前記初期属性レジスタに保存された前記初期属性データ、前記アクセス制限ハードレジスタに保存された前記第１設定データ、及び前記アクセス制限ソフトレジスタに保存された前記第２設定データを参照して、前記初期属性データでアクセス禁止属性と対応付けられたアドレス空間の全範囲に対して、前記第１設定データでアクセス許可属性と対応付けられた各アドレス空間の範囲をアクセス許可属性の空間の範囲として前記最終属性レジスタに保存し、さらに、当該アクセス許可属性の空間の範囲内で、前記第２設定データでアクセス禁止属性と対応付けられた各アドレス空間の範囲をアクセス禁止属性の空間の範囲として前記最終属性レジスタに保存することによって、各アドレス空間の最終属性データを前記最終属性レジスタに設定する
ことを特徴とするアクセス制限回路。
【請求項２】
請求項１に記載のアクセス制限回路において、
前記アクセス制限ハードレジスタは、不揮発性メモリによって構成されている
ことを特徴とするアクセス制限回路。
【請求項３】
請求項１に記載のアクセス制限回路において、
前記アクセス制限ハードレジスタは、周りの配線が予め定められたパターンのハードワイヤによって構成されている
ことを特徴とするアクセス制限回路。
【請求項４】
請求項１〜３のいずれか一項に記載のアクセス制限回路において、
前記アクセス制限ハードレジスタは、当該アクセス制限回路を搭載する製品が工場から出荷されるときに、内部に保存された前記第１設定データが改変不能な状態にされる
ことを特徴とするアクセス制限回路。
【請求項５】
請求項１に記載のアクセス制限回路において、
前記初期属性レジスタは、前記初期属性データとして、アドレス空間の全範囲と読み取り動作及び書き込み動作に対するアクセス禁止属性とが対応付けられて保存され、
前記アクセス制限ハードレジスタは、前記第１設定データとして、当該第１設定データの各アドレス空間の範囲と読み取り動作及び書き込み動作の双方または一方に対するアクセス許可属性とが対応付けられて保存され、
前記アクセス制限ソフトレジスタは、前記第２設定データとして、当該第２設定データの各アドレス空間の範囲と読み取り動作及び書き込み動作の双方または一方に対するアクセス禁止属性とが対応付けられて保存され、
前記最終属性レジスタは、前記最終属性データとして、当該最終属性データの各アドレス空間の範囲と、この範囲のそれぞれに対応する、読み取り動作及び書き込み動作の双方または一方に対するアクセス許可属性及びアクセス禁止属性の双方または一方とが対応付けられて保存され、及び、
前記比較部は、読み取り動作及び書き込み動作のそれぞれに応じて、前記初期属性データでアクセス禁止属性と対応付けられたアドレス空間の全範囲に対して、前記第１設定データでアクセス許可属性と対応付けられた各アドレス空間の範囲をアクセス許可属性の空間の範囲として前記最終属性レジスタに保存し、さらに、当該アクセス許可属性の空間の範囲内で、前記第２設定データでアクセス禁止属性と対応付けられた各アドレス空間の範囲をアクセス禁止属性の空間の範囲として前記最終属性レジスタに保存する
ことを特徴とするアクセス制限回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、小規模な構成で、悪意のあるプログラムや人物からのメモリ資源へのアクセスを制限する回路に関する。
【背景技術】
【０００２】
ＬＳＩや当該ＬＳＩを搭載するコンピュータは、悪意のあるプログラムや人物から、メモリやレジスタ等の資源（リソース；以下、「メモリ資源」または単に「資源」と称する）に格納されているデータやプログラムを秘匿するために、メモリ資源に対するアクセス制限を行っている。このアクセス制限は、ＬＳＩ内部またはコンピュータ内部に、アクセスを制限する回路（以下、「アクセス制限回路」と称する）を組み込み、この回路によって行うのが一般的である。
【０００３】
以下、図４−１及び図４−２を参照して、弊社等で利用されている、一般的なアクセス制限回路の構成につき説明する。図４−１及び図４−２は、それぞれ、従来のアクセス制限回路の一例を示すブロック図である。図４−１は、後述の図５〜図７に示すアクセス制限を行うための回路を示しており、図４−２は、後述の図８に示すアクセス制限を行うための回路を示している。ここでは、アクセス制限回路１３０を搭載する製品（以下、「搭載製品」と称する）１０が、パーソナルコンピュータやサーバ等のコンピュータであるものとして説明する。
【０００４】
図４−１及び図４−２に示すように、アクセス制限回路１３０は、外部機器２０との間でデータを入出力する入出力部１１０や、各種の演算を行うＣＰＵ１２０、各種のデータやプログラムを格納するメモリ資源１４０等とともに、コンピュータ１０の内部に設けられている。なお、図４−１及び図４−２に示す例では、搭載製品がコンピュータ１０となっているので、メモリ資源１４０は、メモリやレジスタだけでなく、ＨＤＤ等の記憶装置も含まれる。
【０００５】
アクセス制限回路１３０は、ＣＰＵ１２０とメモリ資源１４０との間に設けられており、ＣＰＵ１２０からメモリ資源１４０へ出力されるアクセス信号ＡＣに対して予め定められた設定に基づいてメモリ資源１４０への出力を制限する。アクセス制限回路１３０は、図４−１に示す構成のものと図４−２に示す構成のものとがある。以下、両者を区別する場合に、図４−１に示す構成のものを「アクセス制限回路１３０ａ」と称し、図４−２に示す構成のものを「アクセス制限回路１３０ｂ」と称する。
【０００６】
アクセス制限回路１３０は、内部に、メモリ資源１４０に割り振られた各アドレス空間の属性データが保存される、ソフトウェアで実装された複数個のレジスタを備えている。属性データは、アドレス空間の範囲と「アクセス禁止」または「アクセス許可」等の属性との対応付け関係を表している。以下、アドレス空間の範囲と属性とを対応付けて保存する動作またはアドレス空間の範囲と属性との対応関係を、「設定」と称する場合がある。また、アクセス禁止属性を単に「禁止属性」と称し、アクセス許可属性を単に「許可属性」と称する場合もある。なお、アクセス制限回路１３０が複数個のレジスタを備えているのは、保護すなわち秘匿すべきメモリ資源に割り振られたアドレス空間が非連続に配置されていることが多く、その非連続な各アドレス空間の属性を誤りなく定義するためである。
【０００７】
アクセス制限回路１３０は、複数個のレジスタの中の１つを、全アドレス空間の初期属性データすなわちアドレス空間の全範囲の初期状態における属性データが保存されるレジスタ（以下、「初期属性レジスタ」と称する）１３２Ａとして用い、複数個のレジスタの中のいくつかを、アクセス制限データすなわちアクセス制限すべき各アドレス空間の属性データが保存されるレジスタ（以下、「アクセス制限レジスタ」と称する）１３２−１、１３２−２、…、１３２−ｎとして用い、複数個のレジスタの中の１つを、最終属性データすなわちアクセス制限適用後の各アドレス空間の最終的な属性データが保存されるレジスタ（以下、「最終属性レジスタ」と称する）１３２Ｂとして用いている。例えば、図４−１に示す例では、アクセス制限回路１３０ａは、複数個のレジスタの中の１つを初期属性レジスタ１３２Ａとして用い、複数個のレジスタの中の４つをアクセス制限レジスタ１３２−１、１３２−２、１３２−３、及び１３２−４として用い、複数個のレジスタの中の１つを最終属性レジスタ１３２Ｂとして用いている。また、図４−２に示す例では、アクセス制限回路１３０ｂは、複数個のレジスタの中の六つをアクセス制限レジスタ１３２−１、１３２−２、１３２−３、１３２−４、１３２−５、及び１３２−６として用い、複数個のレジスタの中の１つを最終属性レジスタ１３２Ｂとして用いている。
【０００８】
また、アクセス制限回路１３０は、内部に、比較部１３８を備えている。比較部１３８は、初期属性レジスタ１３２Ａに保存された初期属性データ並びに各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎに保存された各属性データを参照して、アクセス制限適用後に禁止属性または許可属性となる各アドレス空間の範囲を特定し、範囲毎に、各空間の範囲と最終的な属性との対応付けを表す最終属性データを最終属性レジスタ１３２Ｂに保存する。
【０００９】
比較部１３８は、アクセス信号ＡＣがＣＰＵ１２０からメモリ資源１４０へ出力された場合に（具体的には、コンピュータ１０の入出力部１１０が外部機器２０からアクセス要求ＲＱを受信し、これに応答して、コンピュータ１０のＣＰＵ１２０がアクセス要求ＲＱに応じたアクセス信号ＡＣをメモリ資源１４０に出力した場合に）、アクセス信号ＡＣが指定する各アドレス空間の範囲と最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲とを比較する。そして、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲内にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を実行する。すなわち、アクセス制限回路１３０は、メモリ資源１４０に対するアクセス制限を行わない。一方、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲外にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を中止する。すなわち、アクセス制限回路１３０は、メモリ資源１４０に対するアクセス制限を行う。
【００１０】
なお、図４−１に示すアクセス制限回路１３０ａは、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎと比較部１３８との間に、優先順位判定部１３５を備えている。この優先順位判定部１３５は、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎに保存された各アドレス空間の属性データの優先順位を判定するための回路である。
【００１１】
また、図４−２に示すアクセス制限回路１３０ｂは、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎと比較部１３８との間に、複数個の重複判定部１３６（図４−２に示す例では、６個の重複判定部１３６−１、１３６−２、１３６−３、１３６−４、１３６−５、及び１３６−６）を備えている。これら重複判定部１３６は、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎに保存された各アドレス空間の範囲が重複していないことを判定するための回路である。
【００１２】
以下、図５〜図８を参照して、従来のアクセス制限回路１３０ａ及び１３０ｂによって行われる一般的なアクセス制限の例につき説明する。図５〜図８は、それぞれ、従来の回路によるアクセス制限の一例を示す図である。
【００１３】
図５は、許可属性よりも禁止属性を優先する場合のアクセス制限方法を示している。ここでは、図４−１に示すアクセス制限回路１３０ａによって行うものとして説明する。図５に示す例では、初期属性レジスタ１３２Ａには、全アドレス空間ａ１０の初期属性データとして、アドレス空間ａ１０の範囲と「読み取り許可」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第１のアクセス制限レジスタ１３２−１には、アドレス空間ｂ１１の属性データとして、アドレス空間ｂ１１の範囲と「読み取り禁止」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第２のアクセス制限レジスタ１３２−２には、アドレス空間ｂ１２の属性データとして、アドレス空間ｂ１２の範囲と「読み取り許可」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第３のアクセス制限レジスタ１３２−３には、アドレス空間ｂ１３の属性データとして、アドレス空間ｂ１３の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とが対応付けられて保存されている。
【００１４】
アクセス制限回路１３０ａの優先順位判定部１３５は、初期属性レジスタ１３２Ａから初期属性データを読み出すとともに、アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎ（図５に示す例では、１３２−１、１３２−２、及び１３２−３）から各属性データを読み出し、予め定められた優先順位の判定基準に基づいて初期属性データ及び各属性データの優先順位、すなわち、読み出すべき各レジスタの優先順位を判定する。優先順位判定部１３５は、読み出すべき各レジスタの優先順位を判定すると、これに応答して、優先順位にしたがって各レジスタから属性データを読み出して、比較部１３８に出力する。
【００１５】
比較部１３８は、優先順位判定部１３５から出力される初期属性レジスタ１３２Ａに保存された初期属性データ並びにアクセス制限レジスタ１３２−１、１３２−２、及び１３２−３に保存された各属性データを参照して、アクセス制限適用後に禁止属性または許可属性となる各アドレス空間の範囲を特定し、範囲毎に、各空間の範囲と最終的な属性との対応付けを表す最終属性データを最終属性レジスタ１３２Ｂに保存する。
【００１６】
このとき、優先順位判定部１３５は、許可属性よりも禁止属性を優先して、読み出すべき各レジスタの優先順位を判定する。
【００１７】
そのため、優先順位判定部１３５は、まず、初期属性レジスタ１３２Ａから全アドレス空間ａ１０の初期属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５から全アドレス空間ａ１０の初期属性データが入力されると、これに応答して、全アドレス空間ａ１０の初期属性データに基づいて、全アドレス空間ａ１０の範囲をアドレス空間ｃ１０の範囲として特定し、アドレス空間ｃ１０の属性データとして、アドレス空間ｃ１０の範囲と「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００１８】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ１０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「読み取り禁止」属性及び「書き込み禁止」属性の双方が保存されているアドレス空間ｂ１３の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ１０及びｂ１３の属性データが入力されると、これに応答して、アドレス空間ｃ１０の属性データに基づいて、アドレス空間ｃ１０の中から禁止属性（すなわち、「読み取り禁止」属性及び「書き込み禁止」属性の双方または一方）の最終属性データが既に設定されているアドレス空間（ここでは、存在せず）の範囲を特定し、さらに、アドレス空間ｂ１３の属性データに基づいて、アドレス空間ｂ１３の範囲でかつ禁止属性の最終属性データが既に設定されているアドレス空間を除く範囲（ここでは、アドレス空間ｂ１３の範囲）を、アドレス空間ｃ１５の範囲として特定し、アドレス空間ｃ１５の最終属性データとして、アドレス空間ｃ１５の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ１５の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ１０の属性データの上に、上書きされる。その結果、アドレス空間ｃ１５の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００１９】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ１５の最終属性データが上書きされているアドレス空間ｃ１０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「読み取り禁止」属性及び「書き込み禁止」属性の一方が保存されているアドレス空間ｂ１１及びｂ１２の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ１０、ｂ１１及びｂ１２の属性データが入力されると、これに応答して、アドレス空間ｃ１０の属性データに基づいて、アドレス空間ｃ１０の中から禁止属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ１５）の範囲を特定し、さらに、アドレス空間ｂ１１及びｂ１２の属性データに基づいて、アドレス空間ｂ１１及びｂ１２が重なる範囲でかつ禁止属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ１５）を除く範囲を、アドレス空間ｃ１３の範囲として特定し、アドレス空間ｃ１３の最終属性データとして、アドレス空間ｃ１３の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ１３の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ１０の属性データの上に、上書きされる。その結果、アドレス空間ｃ１３の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００２０】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ１３及びｃ１５の最終属性データが上書きされているアドレス空間ｃ１０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「読み取り禁止」属性が保存されているアドレス空間ｂ１１の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ１０及びｂ１１の属性データが入力されると、これに応答して、アドレス空間ｃ１０の属性データに基づいて、アドレス空間ｃ１０の中から禁止属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ１３及びｃ１５）の範囲を特定し、さらに、アドレス空間ｂ１１の属性データに基づいて、アドレス空間ｂ１１の範囲でかつ禁止属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ１３及びｃ１５）を除く範囲を、アドレス空間ｃ１４の範囲として特定し、アドレス空間ｃ１４の最終属性データとして、アドレス空間ｃ１４の範囲と「読み取り禁止」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ１４の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ１０の属性データの上に、上書きされる。その結果、アドレス空間ｃ１４の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００２１】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ１３、ｃ１４、及びｃ１５の最終属性データが上書きされているアドレス空間ｃ１０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「書き込み禁止」属性が保存されているアドレス空間ｂ１２の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ１０及びｂ１２の属性データが入力されると、これに応答して、アドレス空間ｃ１０の属性データに基づいて、アドレス空間ｃ１０の中から禁止属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ１３、ｃ１４、及びｃ１５）の範囲を特定し、さらに、アドレス空間ｂ１２の属性データに基づいて、アドレス空間ｂ１２の範囲でかつ禁止属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ１３、ｃ１４、及びｃ１５）を除く範囲を、アドレス空間ｃ１２の範囲として特定し、アドレス空間ｃ１２の最終属性データとして、アドレス空間ｃ１２の範囲と「読み取り許可」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ１２の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ１０の属性データの上に、上書きされる。その結果、アドレス空間ｃ１２の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００２２】
なお、アドレス空間ｃ１０の中のアドレス空間ｃ１２、ｃ１３、ｃ１４、及びｃ１５を除く範囲、すなわち、アドレス空間ｃ１１及びｃ１６の範囲は、「読み取り許可」属性及び「書き込み許可」属性が対応付けられた範囲のままとなる。
【００２３】
この後、比較部１３８は、アクセス信号ＡＣがＣＰＵ１２０からメモリ資源１４０へ出力された場合に、アクセス信号ＡＣが指定する各アドレス空間の範囲と最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲とを比較する。そして、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲内にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を実行し、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲外にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を中止する。
【００２４】
図６は、禁止属性よりも許可属性を優先する場合のアクセス制限方法を示している。ここでは、図４−１に示すアクセス制限回路１３０ａによって行うものとして説明する。図６に示す例では、初期属性レジスタ１３２Ａには、全アドレス空間ａ２０の初期属性データとして、アドレス空間ａ２０の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第１のアクセス制限レジスタ１３２−１には、アドレス空間ｂ２１の属性データとして、アドレス空間ｂ２１の範囲と「読み取り禁止」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第２のアクセス制限レジスタ１３２−２には、アドレス空間ｂ２２の属性データとして、アドレス空間ｂ２２の範囲と「読み取り許可」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第３のアクセス制限レジスタ１３２−３には、アドレス空間ｂ２３の属性データとして、アドレス空間ｂ２３の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とが対応付けられて保存されている。
【００２５】
アクセス制限回路１３０ａの優先順位判定部１３５は、初期属性レジスタ１３２Ａから初期属性データを読み出すとともに、アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎ（図６に示す例では、１３２−１、１３２−２、及び１３２−３）から各属性データを読み出し、予め定められた優先順位の判定基準に基づいて初期属性データ及び各属性データの優先順位、すなわち、読み出すべき各レジスタの優先順位を判定する。優先順位判定部１３５は、読み出すべき各レジスタの優先順位を判定すると、これに応答して、優先順位にしたがって各レジスタから属性データを読み出して、比較部１３８に出力する。
【００２６】
比較部１３８は、優先順位判定部１３５から出力される初期属性レジスタ１３２Ａに保存された初期属性データ並びにアクセス制限レジスタ１３２−１、１３２−２、及び１３２−３に保存された各属性データを参照して、アクセス制限適用後に禁止属性または許可属性となる各アドレス空間の範囲を特定し、範囲毎に、各空間の範囲と最終的な属性との対応付けを表す最終属性データを最終属性レジスタ１３２Ｂに保存する。
【００２７】
このとき、優先順位判定部１３５は、禁止属性よりも許可属性を優先して、読み出すべき各レジスタの優先順位を判定する。
【００２８】
そのため、優先順位判定部１３５は、まず、初期属性レジスタ１３２Ａから全アドレス空間ａ２０の初期属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５から全アドレス空間ａ２０の初期属性データが入力されると、これに応答して、全アドレス空間ａ２０の初期属性データに基づいて、全アドレス空間ａ２０の範囲をアドレス空間ｃ２０の範囲として特定し、アドレス空間ｃ２０の属性データとして、アドレス空間ｃ２０の範囲と「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００２９】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ２０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「読み取り許可」属性及び「書き込み許可」属性の双方が保存されているアドレス空間（ただし、図６に示す例では、存在せず）の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ２０並びに「読み取り許可」属性及び「書き込み許可」属性の双方が保存されているアドレス空間の属性データが入力されると、これに応答して、アドレス空間ｃ２０の属性データに基づいて、アドレス空間ｃ２０の中から許可属性（すなわち、「読み取り許可」属性及び「書き込み許可」属性の双方または一方）の最終属性データが既に設定されているアドレス空間（ここでは、存在せず）の範囲を特定し、さらに、「読み取り許可」属性及び「書き込み許可」属性の双方が保存されているアドレス空間の属性データに基づいて、「読み取り許可」属性及び「書き込み許可」属性となるアドレス空間の範囲でかつ許可属性の最終属性データが既に設定されているアドレス空間を除く範囲（ここでは、存在せず）を特定し、このアドレス空間の最終属性データとして、このアドレス空間の範囲と「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。ただし、図６に示す例では、「読み取り許可」属性及び「書き込み許可」属性の双方が保存されているアドレス空間が存在しないので、優先順位判定部１３５及び比較部１３８は、このような動作を行わずに、次の動作を行う。
【００３０】
すなわち、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ２０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「読み取り許可」属性及び「書き込み許可」属性の一方が保存されているアドレス空間ｂ２１及びｂ２２の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ２０、ｂ２１及びｂ２２の属性データが入力されると、これに応答して、アドレス空間ｃ２０の属性データに基づいて、アドレス空間ｃ２０の中から許可属性の最終属性データが既に設定されているアドレス空間（ここでは、存在せず）の範囲を特定し、さらに、アドレス空間ｂ２１及びｂ２２の属性データに基づいて、アドレス空間ｂ２１及びｂ２２が重なる範囲でかつ許可属性の最終属性データが既に設定されているアドレス空間（ここでは、存在せず）を除く範囲を、アドレス空間ｃ２３の範囲として特定し、アドレス空間ｃ２３の最終属性データとして、アドレス空間ｃ２３の範囲と「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ２３の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ２０の属性データの上に、上書きされる。その結果、アドレス空間ｃ２３の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００３１】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ２３の最終属性データが上書きされているアドレス空間ｃ２０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「読み取り許可」属性が保存されているアドレス空間ｂ２２の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ２０及びｂ２２の属性データが入力されると、これに応答して、アドレス空間ｃ２０の属性データに基づいて、アドレス空間ｃ２０の中から許可属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ２３）の範囲を特定し、さらに、アドレス空間ｂ２２の属性データに基づいて、アドレス空間ｂ２２の範囲でかつ許可属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ２３）を除く範囲を、アドレス空間ｃ２２の範囲として特定し、アドレス空間ｃ２２の最終属性データとして、アドレス空間ｃ２２の範囲と「読み取り許可」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ２２の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ２０の属性データの上に、上書きされる。その結果、アドレス空間ｃ２２の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００３２】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ２２及びｃ２３の最終属性データが上書きされているアドレス空間ｃ２０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「書き込み許可」属性が保存されているアドレス空間ｂ２１の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ２０及びｂ２１の属性データが入力されると、これに応答して、アドレス空間ｃ２０の属性データに基づいて、アドレス空間ｃ２０の中から許可属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ２２及びｃ２３）の範囲を特定し、さらに、アドレス空間ｂ２１の属性データに基づいて、アドレス空間ｂ２１の範囲でかつ許可属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ２２及びｃ２３）を除く範囲を、アドレス空間ｃ２４の範囲として特定し、アドレス空間ｃ２４の最終属性データとして、アドレス空間ｃ２４の範囲と「読み取り禁止」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ２４の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ２０の属性データの上に、上書きされる。その結果、アドレス空間ｃ２４の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００３３】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ２２及びｃ２３の最終属性データが上書きされているアドレス空間ｃ２０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから「読み取り禁止」属性及び「書き込み禁止」属性の双方が保存されているアドレス空間ｂ２３の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ２０及びｂ２３の属性データが入力されると、これに応答して、アドレス空間ｃ２０の属性データに基づいて、アドレス空間ｃ２０の中から許可属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ２２、ｃ２３、及びｃ２４）の範囲を特定し、さらに、アドレス空間ｂ２３の属性データに基づいて、アドレス空間ｂ２３の範囲でかつ許可属性の最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ２２、ｃ２３、及びｃ２４）を除く範囲を、アドレス空間ｃ２５の範囲として特定し、アドレス空間ｃ２５の最終属性データとして、アドレス空間ｃ２５の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ２５の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ２０の属性データの上に、上書きされる。その結果、アドレス空間ｃ２５の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００３４】
なお、アドレス空間ｃ２０の中のアドレス空間ｃ２２、ｃ２３、ｃ２４、及びｃ２５を除く範囲、すなわち、アドレス空間ｃ２１及びｃ２６の範囲は、「読み取り禁止」属性及び「書き込み禁止」属性が対応付けられた範囲のままとなる。
【００３５】
この後、比較部１３８は、アクセス信号ＡＣがＣＰＵ１２０からメモリ資源１４０へ出力された場合に、アクセス信号ＡＣが指定する各アドレス空間の範囲と最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲とを比較する。そして、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲内にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を実行し、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲外にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を中止する。
【００３６】
図７は、優先順位付きのレジスタを用いる場合のアクセス制限方法を示している。ここでは、図４−１に示すアクセス制限回路１３０ａによって行うものとして説明する。図７に示す例では、初期属性レジスタ１３２Ａには、全アドレス空間ａ３０の初期属性データとして、アドレス空間ａ３０の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第１のアクセス制限レジスタ１３２−１には、アドレス空間ｂ３１の属性データとして、アドレス空間ｂ３１の範囲と「読み取り禁止」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第２のアクセス制限レジスタ１３２−２には、アドレス空間ｂ３２の属性データとして、アドレス空間ｂ３２の範囲と「読み取り許可」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第３のアクセス制限レジスタ１３２−３には、アドレス空間ｂ３３の属性データとして、アドレス空間ｂ３３の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とが対応付けられて保存されている。なお、レジスタの優先順位は、第１のアクセス制限レジスタ１３２−１が１番目に高く、第２のアクセス制限レジスタ１３２−２が２番目に高く、第３のアクセス制限レジスタ１３２−３が３番目に高くなっている。
【００３７】
アクセス制限回路１３０ａの優先順位判定部１３５は、予め定められた優先順位にしたがって各レジスタから属性データを読み出して、比較部１３８に出力する。
【００３８】
比較部１３８は、優先順位判定部１３５から出力される初期属性レジスタ１３２Ａに保存された初期属性データ並びにアクセス制限レジスタ１３２−１、１３２−２、及び１３２−３に保存された各属性データを参照して、アクセス制限適用後に禁止属性または許可属性となる各アドレス空間の範囲を特定し、範囲毎に、各空間の範囲と最終的な属性との対応付けを表す最終属性データを最終属性レジスタ１３２Ｂに保存する。
【００３９】
このとき、優先順位判定部１３５は、レジスタの優先順位にしたがって、各レジスタから属性データを読み出して、比較部１３８に出力する。
【００４０】
そのため、優先順位判定部１３５は、まず、初期属性レジスタ１３２Ａから全アドレス空間ａ３０の初期属性データを読み出て、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５から全アドレス空間ａ３０の初期属性データが入力されると、これに応答して、全アドレス空間ａ３０の初期属性データに基づいて、全アドレス空間ａ３０の範囲をアドレス空間ｃ３０の範囲として特定し、アドレス空間ｃ３０の属性データとして、アドレス空間ｃ３０の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００４１】
次に、優先順位判定部１３５は、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから優先順位が１番目に高い第１のアクセス制限レジスタ１３２−１に保存されたアドレス空間ｂ３１の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｂ３１の属性データが入力されると、これに応答して、アドレス空間ｂ３１の属性データに基づいて、アドレス空間ｂ３１の範囲を、アドレス空間ｃ３３の範囲として特定し、アドレス空間ｃ３３の最終属性データとして、アドレス空間ｃ３３の範囲とアドレス空間ｂ３１と同じ属性すなわち「読み取り禁止」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ３３の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ３０の属性データの上に、上書きされる。その結果、アドレス空間ｃ３３の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００４２】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ３３の最終属性データが上書きされているアドレス空間ｃ３０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから優先順位が２番目に高い第２のアクセス制限レジスタ１３２−２に保存されたアドレス空間ｂ３２の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ３０及びｂ３２の属性データが入力されると、これに応答して、アドレス空間ｃ３０の属性データに基づいて、アドレス空間ｃ３０の中から最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ３３）の範囲を特定し、さらに、アドレス空間ｂ３２の属性データに基づいて、アドレス空間ｂ３２の範囲でかつ最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ３３）を除く範囲を、アドレス空間ｃ３２の範囲として特定し、アドレス空間ｃ３２の最終属性データとして、アドレス空間ｃ３２の範囲とアドレス空間ｂ３２と同じ属性すなわち「読み取り許可」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アドレス空間ｃ３２の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間ｃ３０の属性データの上に、上書きされる。その結果、アドレス空間ｃ３２の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。
【００４３】
次に、優先順位判定部１３５は、最終属性レジスタ１３２Ｂからアドレス空間ｃ３２及びｃ３３の最終属性データが上書きされているアドレス空間ｃ３０の属性データを読み出すとともに、各アクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎから優先順位が３番目に高い第３のアクセス制限レジスタ１３２−３に保存されたアドレス空間ｂ３３の属性データを読み出して、比較部１３８に出力する。比較部１３８は、優先順位判定部１３５からアドレス空間ｃ３０及びｂ３３の属性データが入力されると、これに応答して、アドレス空間ｃ３０の属性データに基づいて、アドレス空間ｃ３０の中から最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ３２及びｃ３３）の範囲を特定し、さらに、アドレス空間ｂ３３の属性データに基づいて、アドレス空間ｂ３３の範囲でかつ最終属性データが既に設定されているアドレス空間（ここでは、アドレス空間ｃ３２及びｃ３３）を除く範囲を、アドレス空間ｃ３４の範囲として特定し、アドレス空間ｃ３４の最終属性データとして、アドレス空間ｃ３４の範囲とアドレス空間ｂ３３と同じ属性すなわち「読み取り禁止」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００４４】
なお、アドレス空間ｃ３０の中のアドレス空間ｃ３２、ｃ３３、及びｃ３４を除く範囲、すなわち、アドレス空間ｃ３１及びｃ３５の範囲は、「読み取り禁止」属性及び「書き込み禁止」属性が対応付けられた範囲のままとなる。
【００４５】
この後、比較部１３８は、アクセス信号ＡＣがＣＰＵ１２０からメモリ資源１４０へ出力された場合に、アクセス信号ＡＣが指定する各アドレス空間の範囲と最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲とを比較する。そして、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲内にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を実行し、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲外にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を中止する。
【００４６】
図８は、アドレス空間の重複設定を認めない場合のアクセス制限方法を示している。ここでは、図４−２に示すアクセス制限回路１３０ｂによって行うものとして説明する。この方法は、初期属性レジスタを設けずに、複数のアクセス制限レジスタ１３２−１、１３２−２、…、１３２−ｎを設け、さらに、アドレス空間を「読み取り」及び「書き込み」の属性毎に細分化して、細分化されたアドレス空間毎に、各空間の範囲と属性との対応付けを表す属性データを複数のアクセス制限レジスタに漏れなく予め保存するものである。具体的には、図８に示す例では、６個のアクセス制限レジスタ１３２−１、１３２−２、１３２−３、１３２−４、１３２−５、及び１３２−６を設けている。そして、第１のアクセス制限レジスタ１３２−１には、アドレス空間ｂ４１の属性データとして、アドレス空間ｂ４１の範囲と「読み取り許可」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第２のアクセス制限レジスタ１３２−２には、アドレス空間ｂ４２の属性データとして、アドレス空間ｂ４２の範囲と「読み取り許可」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第３のアクセス制限レジスタ１３２−３には、アドレス空間ｂ４３の属性データとして、アドレス空間ｂ４３の範囲と「読み取り禁止」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第４のアクセス制限レジスタ１３２−４には、アドレス空間ｂ４４の属性データとして、アドレス空間ｂ４４の範囲と「読み取り禁止」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第５のアクセス制限レジスタ１３２−５には、アドレス空間ｂ４５の属性データとして、アドレス空間ｂ４５の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第６のアクセス制限レジスタ１３２−６には、アドレス空間ｂ４６の属性データとして、アドレス空間ｂ４６の範囲と「読み取り許可」属性及び「書き込み許可」属性とが対応付けられて保存されている。
【００４７】
アクセス制限回路１３０ｂの重複判定部１３６−１、１３６−２、１３６−３、１３６−４、１３６−５、及び１３６−６は、それぞれ、アクセス制限レジスタ１３２−１、１３２−２、１３２−３、１３２−４、１３２−５、及び１３２−６に保存された各属性データを参照して、各アクセス制限レジスタ１３２−１、１３２−２、１３２−３、１３２−４、１３２−５、及び１３２−６に保存された各アドレス空間の範囲が重複していないことを判定して、各アドレス空間の範囲が重複していない場合に、それぞれに対応するアクセス制限レジスタ１３２−１、１３２−２、１３２−３、１３２−４、１３２−５、及び１３２−６から読み出された各属性データを比較部１３８に出力する。なお、重複判定部１３６−１、１３６−２、１３６−３、１３６−４、１３６−５、及び１３６−６は、それぞれ、各アドレス空間の範囲が重複している場合に、重複していない範囲については、それぞれに対応するアクセス制限レジスタ１３２−１、１３２−２、１３２−３、１３２−４、１３２−５、及び１３２−６から読み出された各属性データを比較部１３８に出力し、重複している範囲については、予め定められた優先条件で最優先となる属性データを比較部１３８に出力する。
【００４８】
比較部１３８は、重複判定部１３６−１、１３６−２、１３６−３、１３６−４、１３６−５、及び１３６−６から各属性データが入力されると、これに応答して、入力された各属性データを参照して、アクセス制限適用後に禁止属性または許可属性となる各アドレス空間の範囲を特定し、範囲毎に、各空間の範囲と最終的な属性との対応付けを表す最終属性データｃ４０を最終属性レジスタ１３２Ｂに保存する。
【００４９】
このとき、比較部１３８は、基本的には、各アクセス制限レジスタ１３２−１、１３２−２、１３２−３、１３２−４、１３２−５、及び１３２−６に保存された属性データにしたがって各アドレス空間の範囲を特定する。
【００５０】
そのため、比較部１３８は、まず、第１のアクセス制限レジスタ１３２−１から読み出されたアドレス空間ｂ４１の属性データに基づいて、アドレス空間ｂ４１の範囲をアドレス空間ｃ４１の範囲として特定し、アドレス空間ｃ４１の最終属性データとして、アドレス空間ｃ４１の範囲とアドレス空間ｂ４１と同じ属性すなわち「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００５１】
次に、比較部１３８は、第２のアクセス制限レジスタ１３２−２から読み出されたアドレス空間ｂ４２の属性データに基づいて、アドレス空間ｂ４２の範囲をアドレス空間ｃ４２の範囲として特定し、アドレス空間ｃ４２の最終属性データとして、アドレス空間ｃ４２の範囲とアドレス空間ｂ４２と同じ属性すなわち「読み取り許可」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００５２】
次に、比較部１３８は、第３のアクセス制限レジスタ１３２−３から読み出されたアドレス空間ｂ４３の属性データに基づいて、アドレス空間ｂ４３の範囲をアドレス空間ｃ４３の範囲として特定し、アドレス空間ｃ４３の最終属性データとして、アドレス空間ｃ４３の範囲とアドレス空間ｂ４３と同じ属性すなわち「読み取り禁止」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００５３】
次に、比較部１３８は、第４のアクセス制限レジスタ１３２−４から読み出されたアドレス空間ｂ４４の属性データに基づいて、アドレス空間ｂ４４の範囲をアドレス空間ｃ４４の範囲として特定し、アドレス空間ｃ４４の最終属性データとして、アドレス空間ｃ４４の範囲とアドレス空間ｂ４４と同じ属性すなわち「読み取り禁止」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００５４】
次に、比較部１３８は、第５のアクセス制限レジスタ１３２−５から読み出されたアドレス空間ｂ４５の属性データに基づいて、アドレス空間ｂ４５の範囲をアドレス空間ｃ４５の範囲として特定し、アドレス空間ｃ４５の最終属性データとして、アドレス空間ｃ４５の範囲とアドレス空間ｂ４５と同じ属性すなわち「読み取り禁止」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００５５】
次に、比較部１３８は、第６のアクセス制限レジスタ１３２−６から読み出されたアドレス空間ｂ４６の属性データに基づいて、アドレス空間ｂ４６の範囲をアドレス空間ｃ４６の範囲として特定し、アドレス空間ｃ４５の最終属性データとして、アドレス空間ｃ４６の範囲とアドレス空間ｂ４６と同じ属性すなわち「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。
【００５６】
なお、最終属性レジスタ１３２Ｂに保存されたアドレス空間ｃ４１、ｃ４２、ｃ４３、ｃ４４、ｃ４５、及びｃ４６の属性データは、それぞれ、アドレス空間ｃ４０を構成する各空間の最終属性データとなる。
【００５７】
この後、比較部１３８は、アクセス信号ＡＣがＣＰＵ１２０からメモリ資源１４０へ出力された場合に、アクセス信号ＡＣが指定する各アドレス空間の範囲と最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲とを比較する。そして、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲内にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を実行し、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲外にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を中止する。
【００５８】
以上が、従来のアクセス制限回路によって行われるアクセス制限方法である。
【００５９】
ところで、図４−１に示すアクセス制限回路１３０ａは、図５、図６、及び図７に示すアクセス制限方法を行う場合に、それぞれ、以下に説明するように、正当なプログラムで禁止属性として設定されたアドレス空間であっても、悪意のあるプログラムや人物にアクセスされる可能性があった。
【００６０】
すなわち、アクセス制限回路１３０ａが図５に示す方法すなわち許可属性よりも禁止属性を優先するアクセス制限方法を行う場合に、全アドレス空間の初期属性データとして許可属性が保存される。これは、全アドレス空間の初期属性データとして禁止属性が保存されていると、アクセス制限レジスタで許可属性として保存されたアドレス空間であっても、禁止属性が優先されてしまうため、ＣＰＵがアクセスできなくなるからである。しかしながら、この方法を行う場合に、全アドレス空間の初期属性データとして許可属性が保存されている。そのため、悪意のあるプログラムや人物によって搭載製品（ここでは、コンピュータ）１０の電源が遮断された場合に、資源へのアクセス制限が無効にされてしまう。その結果、正当なプログラムで禁止属性として設定されたアドレス空間であっても、悪意のあるプログラムや人物にアクセスされる可能性があった。
【００６１】
一方、アクセス制限回路１３０ａが図６に示す方法すなわち禁止属性よりも許可属性を優先するアクセス制限方法を行う場合に、全アドレス空間の初期属性データとして禁止属性が保存される。そのため、悪意のあるプログラムや人物によって搭載製品１０の電源が遮断されても、資源へのアクセス制限が無効にされない。したがって、悪意のあるプログラムや人物によって搭載製品１０の電源が遮断された場合であっても、悪意のあるプログラムや人物から資源に格納されているデータやプログラムを秘匿することができる。しかしながら、この方法を行う場合に、悪意のあるプログラムがアクセス制限回路に侵入し、この悪意のあるプログラムによって属性データが書き換えられると、正当なプログラムで禁止属性として設定されたアドレス空間であっても、悪意のあるプログラムや人物にアクセスされる可能性があった。
【００６２】
また、アクセス制限回路１３０ａが図７に示す方法すなわち優先順位付きのレジスタを用いるアクセス制限方法を行う場合に、図７に示す方法と同様に、悪意のあるプログラムがアクセス制限回路に侵入し、この悪意のあるプログラムによって優先順位の高いレジスタが書き換えられると、正当なプログラムで禁止属性として設定されたアドレス空間であっても、悪意のあるプログラムや人物にアクセスされる可能性があった。
【００６３】
したがって、悪意のあるプログラムや人物から正当なプログラムで禁止属性として設定されたアドレス空間を厳密に秘匿するためには、図４−２に示すアクセス制限回路１３０ｂによってアクセス制限方法すなわち図８に示すアドレス空間の重複設定を認めないアクセス制限方法を行うことのみが有効であった。しかしながら、図８に示す方法を行う場合に、禁止属性と許可属性とが入り組んだ複雑なメモリ資源に対してアクセス制限を行うと、大量のレジスタが必要になるとともに、重複判定部が必要になる。そのため、アクセス制限回路１３０ｂの規模が大型化していた。
【００６４】
なお、これら図５、図６、図７、及び図８に示すアクセス制限方法は、例えば、予め定められたポリシにしたがって行うアクセス制限方法（特許文献１参照）や、アクセス制限を行う対象を安全ドメインと非安全ドメインの２段階に分けて行うアクセス制限方法（特許文献２参照）等に適用されている。
【００６５】
特許文献１に開示された方法は、以下のようなものである。すなわち、ポリシは、どの資源がアクセス可能で、どの資源がアクセス可能でないかを定義している。資源にアクセスする要求は、その資源へのアクセスがポリシによって許可されていて、そのアクセスを実行したとき、ポリシがアクセスを許可していない資源に仮想アドレスが割り当てられるようなことがなければ、許可される。アクセスが許可されていない資源は仮想アドレスを持っていないので、仮想アドレスで資源を特定している、ある種のアクセス要求は、ポリシを調べなくても許可可能になる。
【００６６】
特許文献２に開示された方法は、以下のようなものである。すなわち、プロセッサが非安全モードで作動しているときは、メモリ管理ユニットは非安全テーブルから検索された内部記憶ユニット内のデスクリプタから誘導されたアクセス制御情報を参照して、メモリアクセスリクエストのための所定のアクセス制御機能を実行するようになっている。これと対照的に、プロセッサが安全モードで作動しているときは、メモリ管理ユニットは安全テーブルから検索された内部記憶ユニット内のデスクリプタから誘導されたアクセス制御情報を参照してメモリアクセスリクエストのための所定のアクセス制御機能を実行するようになっている。
【００６７】
しかしながら、特許文献１に開示された方法では、仮想アドレスを通してメモリ資源にアクセスすることを想定しているため、仮想アドレスを利用できないＬＳＩに適用することができなかった。
【００６８】
また、特許文献２に開示された方法では、アクセス制限のポリシを設定する方法が定義されておらず、かつ、２段階での制限では近年の複雑な構造のソフトウェアに対応することができなかった。
【特許文献１】特開２００３-３３０７９９号公報
【特許文献２】特開２００４-２８８１５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００６９】
従来のアクセス制限回路のうち、図４−１に示す構成のものは、図５に示す方法すなわち許可属性よりも禁止属性を優先するアクセス制限方法を行う場合に、全アクセス空間の初期属性データとして許可属性が保存されているので、悪意あるプログラムや人物が電源遮断を行うことによって、アクセス制限が解除される可能性があった。また、図６に示す方法すなわち禁止属性よりも許可属性を優先するアクセス制限方法を行う場合に、悪意のあるプログラムが属性データを書き換えることによって、アクセス制限が解除される可能性があった。また、また、図７に示す方法すなわち優先順位付きのレジスタを用いるアクセス制限方法を行う場合に、悪意のあるプログラムが優先順位の高いレジスタを書き換えることによって、アクセス制限が解除される可能性があった。したがって、図４−１に示す従来のアクセス制限回路は、正当なプログラムで禁止属性として設定されたアドレス空間であっても、悪意のあるプログラムや人物にアクセスされる可能性があるという課題があった。
【００７０】
一方、従来のアクセス制限回路のうち、図４−２に示す構成のものは、悪意のあるプログラムや人物からの正当なプログラムで禁止属性として設定されたアドレス空間へのアクセスを厳密に制限することができる。しかしながら、図４−２に示す従来のアクセス制限回路は、大量のレジスタが必要となるとともに、重複判定部が必要になるため、回路の規模が大型化してしまうという課題があった。
【００７１】
また、図４−１及び図４−２に示す従来のアクセス制限回路（特に、図４−２に示すアクセス制限回路）は、保護すなわち秘匿すべきメモリ資源に割り振られたアドレス空間が非連続に配置されていることが多いため、その非連続に配置された各アドレス空間の属性を誤りなく定義するために大量のレジスタを用いているが、レジスタの数量を抑制するような工夫がなされていなかった。また、従来のアクセス制限回路は、大量の属性データが複数個のレジスタに分散して保存されており、その属性データに基づいてアクセス制限を行うため、優先順位判定部や重複判定部等の複雑な判定を行う回路が必要であった。これらの要因により、従来のアクセス制限回路は、アクセス制限回路の規模が大型化してしまうという課題があった。
【００７２】
また、従来のアクセス制限回路は、非連続に配置された各アドレス空間の属性を誤りなく定義するために大量のレジスタを用いているが、それでも、近年のソフトウェアは構造が複雑になりすぎており、複雑なソフトウェア構造に対応しかねる場合があるという課題があった。
【００７３】
そこで、この発明の目的は、従来のアクセス制限回路も小規模な構成で、近年の複雑な構造のソフトウェアに対応して細かなアクセス制限を容易に設定することができるアクセス制限回路を提供することにある。
【課題を解決するための手段】
【００７４】
一般に、悪意のあるプログラムや人物は、主として、メモリ資源の内容の読み出しや改変等のメモリ資源に対する不法行為を行うが、その際に、初めに、アクセスしようとしているアドレス空間の属性データをアクセス禁止属性からアクセス許可属性に変更することが多い。したがって、このような不法行為を阻止するには、属性データのアクセス禁止属性からアクセス許可属性への変更を認めないようにすることが有効である。
【００７５】
よって、上述の課題を解決するために、この発明のアクセス制限回路は、予め、アクセス許可属性となるアドレス空間の範囲を設定する属性データを改変不能なハードウェアによって予め実装し、後から、アクセス禁止属性となるアドレス空間の範囲を設定する属性データのみを改変可能なソフトウェアによって実装する。
【００７６】
なお、属性データのハードウェアによる実装は、例えば、レジスタ自体を不揮発性メモリによって構成したり、または、レジスタ周りの配線を予め定められたパターンのハードワイヤによって構成することによって、実現される。以下、このような構成のレジスタを「ハードウェアで実装されたレジスタ」と称する。
【００７７】
属性データのハードウェアによる実装は、属性データがレジスタ内部に一度保存されたら改変できないようにする。この属性データのハードウェアによる実装は、メーカもしくはユーザが搭載製品を組み立てるときや、搭載製品を工場から出荷するときに行う。
【００７８】
ただし、全ての属性データをハードウェアによって実装すると、近年の複雑な構造のソフトウェアに対応したアクセス制限ができなくなる。そのため、属性データの一部は、ソフトウェアによって実装するものとし、これにより、多々あるソフトウェアのそれぞれの構造に応じてアクセス制限の設定変更を可能にする。なお、属性データのソフトウェアによる実装は、アクセス禁止属性のみ可能とする。
【００７９】
したがって、この発明のアクセス制限回路は、具体的には、以下のような構成にする。
【００８０】
すなわち、アクセス制限レジスタとして、任意の時点で改変不能にすることができるハードウェアで実装されたレジスタ（以下、「アクセス制限ハードレジスタ」と称する）と、任意の時点で適宜改変することができるソフトウェアで実装されたレジスタ（以下、「アクセス制限ソフトレジスタ」と称する）との２種類のレジスタを用いる。
【００８１】
そして、このアクセス制限回路は、ＣＰＵとメモリ資源との間に介在し、ＣＰＵからメモリ資源へ出力されるアクセス信号に対して予め定められた設定に基づいてメモリ資源への出力を制限することにより、メモリ資源へのアクセスを制限するアクセス制限回路であって、初期属性レジスタと、アクセス制限ハードレジスタと、アクセス制限ソフトレジスタと、最終属性レジスタと、比較部とを有する構成とする。
【００８２】
なお、初期属性レジスタは、メモリ資源に割り振られた各アドレス空間の初期属性データとして、アドレス空間の全範囲とアクセス禁止属性とが対応付けられて保存される。
【００８３】
アクセス制限ハードレジスタは、任意の時点で改変不能すなわち属性データの書き換え不能にすることができるハードウェアで実装されている。したがって、このアクセス制限ハードレジスタは、例えば、改変不能にする処置を搭載製品が工場から出荷される時に施す場合に、属性データの保存動作すなわち設定動作を、搭載製品が工場で製造されてから出荷される迄の間に、限定して行うことができる。また、アクセス制限ハードレジスタは、アクセス許可属性の空間として設定すべき各アドレス空間の属性データが保存される。以下、アクセス制限ハードレジスタに保存される属性データを、第１設定データと称する。アクセス制限ハードレジスタは、第１設定データとして、アクセス許可属性の空間として設定すべき各アドレス空間の範囲とアクセス許可属性とが対応付けられて保存される。
【００８４】
アクセス制限ソフトレジスタは、任意の時点で適宜改変することができるソフトウェアで実装されている。また、アクセス制限ソフトレジスタは、アクセス禁止属性の空間として設定すべき各アドレス空間の属性データが保存される。以下、アクセス制限ソフトレジスタに保存される属性データを、第２設定データと称する。アクセス制限ソフトレジスタは、第２設定データとして、アクセス禁止属性の空間として設定すべき各アドレス空間の範囲とアクセス禁止属性とが対応付けられて保存される。
【００８５】
最終属性レジスタは、各アドレス空間の最終的な属性データ（以下、単に「最終属性データ」と称する）として、各空間の範囲と各空間の範囲に対応するアクセス許可属性及びアクセス禁止属性のいずれか一方とが対応付けられて保存される。
【００８６】
比較部は、アクセス信号をＣＰＵから入力して、アクセス信号によって指定されたアドレス空間の範囲（以下、「指定範囲」と称する）と最終属性データでアクセス許可属性と対応付けられた各アドレス空間の範囲とを比較して、指定範囲が最終属性データでアクセス許可属性と対応付けられたアドレス空間の範囲内にあるときに、アクセス信号のメモリ資源への出力を実行し、かつ、指定範囲が最終属性データでアクセス許可属性と対応付けられたアドレス空間の範囲外にあるときに、アクセス信号のメモリ資源への出力を中止する。
【００８７】
この比較部は、初期属性レジスタに保存された初期属性データ、アクセス制限ハードレジスタに保存された第１設定データ、及びアクセス制限ソフトレジスタに保存された第２設定データを参照して、初期属性データでアクセス禁止属性と対応付けられたアドレス空間の全範囲に対して、第１設定データでアクセス許可属性と対応付けられた各空間の範囲をアクセス許可属性の空間の範囲として最終属性レジスタに保存し、さらに、アクセス許可属性の空間の範囲内で、第２設定データでアクセス禁止属性と対応付けられた各空間の範囲をアクセス禁止属性の空間の範囲として最終属性レジスタに保存することによって、各アドレス空間の最終属性データを最終属性レジスタに設定する。
【００８８】
これにより、この発明のアクセス制限回路は、たとえ、アクセス制限ハードレジスタが改変不能となった後（例えば、搭載製品が工場から出荷された後）に、悪意あるプログラムがアクセスを禁止すべきアドレス空間の属性データをアクセス許可属性データに書き換える等の不法行為を行ったとしても、アクセス制限ハードレジスタに保存された属性データすなわち第１設定データに基づいて、アクセス制限を実行することができる。
【発明の効果】
【００８９】
この発明に係るアクセス制限回路によれば、レジスタを複数用意してその構成を規定することで、従来のアクセス制限回路で必要とされていた優先順位判定部や重複判定部等の複雑な判定を行う回路を排除することができる。したがって、回路の構成を従来のアクセス制限回路も小規模にすることができる。また、優先順位判定部や重複判定部によって行われていた判定に要する時間だけ処理時間を短縮することができる。
【００９０】
さらに、このアクセス制限回路によれば、任意の時点以後（例えば、搭載製品を工場から出荷した後）に、アクセス禁止属性の空間として設定すべき各アドレス空間の属性データのみがアクセス制限ソフトレジスタに保存される。そのため、近年の複雑な構造のソフトウェアに対応して細かなアクセス制限を容易に設定することができる。
【発明を実施するための最良の形態】
【００９１】
以下、図を参照して、この発明の実施の形態につき説明する。各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００９２】
＜この発明のアクセス制限回路の構成＞
以下、図１を参照して、この発明のアクセス制限回路の構成につき説明する。なお、図１は、本実施の形態のアクセス制限回路の構成を説明するためのブロック図である。図１は、各構成要素の配置関係を、この発明を理解できる程度に、概略的に示してあるに過ぎない。よって、この発明は、図示例のみに限定されるものではない。
【００９３】
なお、図１において、図４−１に示す従来のアクセス制限回路１３０ａと同様の構成要素については、同一の符号を付し、それらの説明を省略する。また、図１には、アクセス制限回路１３０ｃを搭載する製品（以下、「搭載製品」と称する）としてのコンピュータ１０は、外部機器２０とダイレクトに接続されて通信しているように描かれている。しかしながら、実際は、コンピュータ１０と外部機器２０との間に、図示せぬネットワークや中継装置が介在している場合が多い。以下、この点については、説明を省略する。また、コンピュータ１０と外部機器２０との間の通信は、コンピュータ１０が、通信によって入力されたデータを、一旦、図示せぬ格納部に読み出し自在に格納し、その後、データを格納部から読み出して、予め定められた処理を行うことによって、行われる。これらの一連の動作は、格納部に読み出し自在に予め格納されているプログラムによって規定されている。以下、この点についても、コンピュータ処理では常套手段であるので、その詳細な説明を省略する。
【００９４】
図１に示すように、本実施の形態のアクセス制限回路１３０ｃは、図４−１に示す従来のアクセス制限回路１３０ａと同様に、ＣＰＵ１２０とメモリ資源１４０との間に設けられており、ＣＰＵ１２０からメモリ資源１４０へ出力されるアクセス信号ＡＣに対して予め定められた設定に基づいてメモリ資源１４０への出力を制限する。
【００９５】
アクセス制限回路１３０ｃは、複数個のレジスタの中の１つを初期属性レジスタ１３２Ａとして用い、複数個のレジスタの中のいくつかをアクセス制限ハードレジスタ１３３として用い、複数個のレジスタの中のいくつかをアクセス制限ソフトレジスタ１３４として用い、複数個のレジスタの中の１つを最終属性レジスタ１３２Ｂとして用いている。
【００９６】
なお、アクセス制限ハードレジスタ１３３は、任意の時点で改変不能にすることができるハードウェアで実装されており、かつ、アクセス許可属性の空間として設定すべき各アドレス空間の属性データとして、空間の範囲とアクセス許可属性とが対応付けられて保存されるレジスタである。図１に示す例では、アクセス制限ハードレジスタ１３３として、第１及び第２のアクセス制限レジスタ１３３−１及び１３３−２が設けられている。
【００９７】
また、アクセス制限ソフトレジスタ１３４は、任意の時点で適宜改変することができるソフトウェアで実装されており、かつ、アクセス禁止属性の空間として設定すべき各アドレス空間の属性データとして、空間の範囲とアクセス禁止属性とが対応付けられて保存されるレジスタである。図１に示す例では、アクセス制限ソフトレジスタ１３４として、第３及び第４のアクセス制限レジスタ１３４−１及び１３４−２が設けられている。
【００９８】
また、本実施の形態のアクセス制限回路１３０ｃは、図４−１に示す従来のアクセス制限回路１３０ａと同様に、内部に、比較部１３８を備えている。
【００９９】
なお、アクセス制限ハードレジスタ１３３の数量は、アクセス制限をどの程度行うのかによって決まる。例えば、アクセス制限回路１３０ｃが周辺回路、ＲＯＭ、ＲＡＭの３つの構成要素に対してそれぞれｍ個のアドレス空間のアクセス制限の設定を行い、さらに、ソフトウェアの構造に応じてｎ通りのアクセス制限の設定を行う場合を想定する。この場合に、アクセス制限ハードレジスタ１３３は、書き換えができないため、ソフトウェアの構造に応じて個々に用意する必要がある。そのため、この場合に、アクセス制限ハードレジスタ１３３は、ｎ通り分の組み合わせすなわち（３×ｍ×ｎ）個用意する必要がある。一方、アクセス制限ソフトレジスタ１３４は、逐次書き換えができるため、ソフトウェアの構造に応じて個々に用意する必要がない。そのため、この場合に、アクセス制限ソフトレジスタ１３４は、１通り分の組み合わせすなわち（３×ｍ×１）個用意すればよい。したがって、この場合に、用意するアクセス制限レジスタ１３３及び１３４の数量は、合計（３×ｍ×（ｎ＋１））個となる。
【０１００】
例えば、アクセス制限回路１３０ｃが周辺回路、ＲＯＭ、ＲＡＭの３つの構成要素に対してそれぞれ３個のアドレス空間のアクセス制限の設定を行い、さらに、ソフトウェアの構造に応じて６通りのアクセス制限の設定を行う場合を想定すると、アクセス制限ハードレジスタ１３３の数量は、（３×３×６）＝５４個となり、アクセス制限ソフトレジスタ１３４の数量は、（３×３×１）＝９個となる。したがって、この場合に、この発明のアクセス制限回路１３０ｃは、アクセス許可属性用に５４個、アクセス禁止属性用に９個、合計６３個のアクセス制限レジスタを用意することになる。
【０１０１】
＜この発明のアクセス制限回路の動作＞
以下、図２及び図３を参照して、この発明のアクセス制限回路１３０ｃによって行われる一般的なアクセス制限の例につき説明する。図２は、本実施の形態の回路の動作を示すフローチャートである。図３は、本実施の形態の回路によるアクセス制限の一例を示す図である。なお、図３に示す例では、初期属性レジスタ１３２Ａには、全アドレス空間Ａ１０の初期属性データとして、アドレス空間Ａ１０の範囲と「読み取り禁止」属性及び「書き込み禁止」属性とが対応付けられて保存されている。また、第１のアクセス制限ハードレジスタ１３３−１には、アドレス空間Ｂ１１の属性データとして、アドレス空間Ｂ１１の範囲と「読み取り許可」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第２のアクセス制限ハードレジスタ１３３−２には、アドレス空間Ｂ１２の属性データとして、アドレス空間Ｂ１２の範囲と「読み取り許可」属性及び「書き込み許可」属性とが対応付けられて保存されている。また、第１のアクセス制限ソフトレジスタ１３４−１には、アドレス空間Ｂ１３及びＢ１４の属性データとして、アドレス空間Ｂ１３及びＢ１４の範囲と「書き込み禁止」属性とが対応付けられて保存されている。また、第２のアクセス制限ソフトレジスタ１３４−２には、アドレス空間Ｂ１５の属性データとして、アドレス空間Ｂ１５の範囲と「読み取り禁止」属性とが対応付けられて保存されている。
【０１０２】
アクセス制限回路１３０ｃは、コンピュータ１０の電源が投入されると、これに応答して、図２に示す動作を開始する。
【０１０３】
すなわち、図２に示すように、まず、アクセス制限回路１３０ｃの比較部１３８が、最終属性データを生成し、最終属性レジスタ１３２Ｂに保存する（Ｓ１０５）。
【０１０４】
このＳ１０５の動作は、比較部１３８が、初期属性レジスタ１３２Ａに保存された初期属性データ並びにアクセス制限ハードレジスタ１３３及びアクセス制限ソフトレジスタ１３４に保存された各属性データを参照して、アクセス制限適用後に禁止属性または許可属性となる各アドレス空間の範囲を特定し、範囲毎に、各空間の範囲と最終的な属性との対応付けを表す最終属性データを最終属性レジスタ１３２Ｂに保存することによって、行われる。
【０１０５】
具体的には、比較部１３８は、まず、初期属性レジスタ１３２Ａから全アドレス空間Ａ１０の初期属性データを読み出し（Ｓ１０５ａ）、読み出された全アドレス空間Ａ１０の初期属性データに基づいて、全アドレス空間Ａ１０の範囲をアドレス空間Ｃ１０の範囲として特定し、アドレス空間Ｃ１０の属性データとして、アドレス空間Ｃ１０の範囲と全アドレス空間Ａ１０の初期属性すなわち「読み取り禁止」属性及び「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する（Ｓ１０５ｂ）。
【０１０６】
次に、比較部１３８は、各アクセス制限ハードレジスタ１３３（ここでは、アクセス制限ハードレジスタ１３３−１及び１３３−２）からアクセス許可属性の空間として設定すべきアドレス空間Ｂ１１及びＢ１２の属性データを読み出す（Ｓ１０５ｃ）。比較部１３８は、アドレス空間Ｂ１１及びＢ１２の属性データを読み出すと、これに応答して、読み出されたアドレス空間Ｂ１１の属性データに基づいて、アドレス空間Ｂ１１の範囲を、アクセス禁止属性のアドレス空間（図３に示す例では、Ｃ１１、Ｃ１２、及びＣ１３）の範囲として特定し、アドレス空間Ｃ１１、Ｃ１２、及びＣ１３の属性データとして、アドレス空間Ｃ１１、Ｃ１２、及びＣ１３の範囲とアドレス空間Ｂ１１と同じ属性すなわち「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存するとともに、読み出されたアドレス空間Ｂ１２の属性データに基づいて、アドレス空間Ｂ１２の範囲を、アクセス禁止属性のアドレス空間（図３に示す例では、Ｃ１５及びＣ１６）の範囲として特定し、アドレス空間Ｃ１５及びＣ１６の属性データとして、アドレス空間Ｃ１５及びＣ１６の範囲とアドレス空間Ｂ１２と同じ属性すなわち「読み取り許可」属性及び「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する（Ｓ１０５ｄ）。このとき、アドレス空間Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１５、及びＣ１６の属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間Ｃ１０の属性データの上に、上書きされる。なお、アドレス空間Ｃ１０の中のアドレス空間Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１５、及びＣ１６を除く範囲、すなわち、アドレス空間Ｃ１４の範囲は、元の属性が対応付けられた範囲のままとなる。すなわち、アドレス空間１４の範囲は、「読み取り禁止」属性及び「書き込み禁止」属性が対応付けられた範囲のままとなる。
【０１０７】
次に、比較部１３８は、最終属性レジスタ１３２Ｂからアクセス許可属性の空間として設定すべきアドレス空間Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１５、及びＣ１６の属性データを読み出すとともに（Ｓ１０５ｅ）、各アクセス制限ソフトレジスタ１３４（ここでは、アクセス制限ソフトレジスタ１３４−１及び１３４−２）からアクセス禁止属性の空間として設定すべきアドレス空間Ｂ１３、Ｂ１４及びＢ１５の属性データを読み出す（Ｓ１０５ｆ）。比較部１３８は、アドレス空間Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１５、及びＣ１６の属性データ、並びに、アドレス空間Ｂ１３、Ｂ１４及びＢ１５の属性データを読み出すと、これに応答して、読み出されたアドレス空間Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１５、及びＣ１６の属性データに基づいて、アドレス空間Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１５、及びＣ１６の範囲を特定するとともに、アドレス空間Ｂ１３、Ｂ１４及びＢ１５の属性データに基づいて、アドレス空間Ｂ１３、Ｂ１４及びＢ１５の範囲を特定し、さらに、アドレス空間Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１５、及びＣ１６の範囲内でかつアドレス空間Ｂ１３、Ｂ１４及びＢ１５の範囲を、アクセス禁止属性のアドレス空間（図３に示す例では、Ｃ１２、Ｃ１３、及びＣ１５）の範囲として特定し、アドレス空間Ｃ１２の最終属性データとして、アドレス空間Ｃ１２の範囲とアドレス空間Ｂ１１の属性に基づく「読み取り許可」属性及びアドレス空間Ｂ１３の属性に基づく「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存するとともに、アドレス空間Ｃ１３の最終属性データとして、アドレス空間Ｃ１３の範囲とアドレス空間Ｂ１５の属性に基づく「読み取り禁止」属性及びアドレス空間Ｂ１１の属性に基づく「書き込み許可」属性とを対応付けて最終属性レジスタ１３２Ｂに保存し、アドレス空間Ｃ１５の最終属性データとして、アドレス空間Ｃ１５の範囲とアドレス空間Ｂ１５の属性に基づく「読み取り禁止」属性及びアドレス空間Ｂ１４の属性に基づく「書き込み禁止」属性とを対応付けて最終属性レジスタ１３２Ｂに保存する。このとき、アクセス禁止属性のアドレス空間であるアドレス空間Ｃ１２、Ｃ１３、及びＣ１５の最終属性データは、最終属性レジスタ１３２Ｂに保存されているアドレス空間Ｃ１０の属性データの上に、上書きされる。その結果、アドレス空間Ｃ１２、Ｃ１３、及びＣ１５の範囲は、最終的な属性が設定されたアドレス空間の範囲となる。なお、アドレス空間Ｃ１０の中のアドレス空間Ｃ１２、Ｃ１３、及びＣ１５を除く範囲、すなわち、アドレス空間Ｃ１１、Ｃ１４、及びＣ１６の範囲は、元の属性が対応付けられた範囲のままとなる。すなわち、アドレス空間Ｃ１１及びＣ１６の範囲は、「読み取り許可」属性及び「書き込み許可」属性が対応付けられた範囲のままとなり、アドレス空間１４の範囲は、「読み取り禁止」属性及び「書き込み禁止」属性が対応付けられた範囲のままとなる。
【０１０８】
この後、比較部１３８は、アクセス信号ＡＣがＣＰＵ１２０からメモリ資源１４０へ出力された場合に（具体的には、コンピュータ１０の入出力部１１０が外部機器２０からアクセス要求ＲＱを受信し、これに応答して、コンピュータ１０のＣＰＵ１２０がアクセス要求ＲＱに応じたアクセス信号ＡＣをメモリ資源１４０に出力した場合に）、アクセス信号ＡＣが指定する各アドレス空間の範囲と最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲とを比較する。そして、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲内にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を実行する。すなわち、アクセス制限回路１３０ｃは、メモリ資源１４０に対するアクセス制限を行わない。一方、比較部１３８は、アクセス信号ＡＣによって指定されたアドレス空間の範囲が最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間の範囲外にあるときに、アクセス信号ＡＣのメモリ資源１４０への出力を中止する。すなわち、アクセス制限回路１３０ｃは、メモリ資源１４０に対するアクセス制限を行う。これらの動作は、以下のようにして行われる。
【０１０９】
すなわち、まず、比較部１３８は、Ｓ１０５で、最終属性データを最終属性レジスタ１３２Ｂに保存すると、これに応答して、各アクセス制限ソフトレジスタ１３４（ここでは、アクセス制限ソフトレジスタ１３４−１及び１３４−２）からアクセス禁止属性の空間として設定すべきアドレス空間の属性データを読み出し、Ｓ１０５の後に属性データが変更されていないかを判定する（Ｓ１１０）。
【０１１０】
Ｓ１１０の判定で、属性データが変更されていない場合すなわち“Ｙｅｓ”の場合に、工程は、Ｓ１１５に進む。一方、Ｓ１１０の判定で、属性データが変更されている場合すなわち“Ｎｏ”の場合に、工程は、Ｓ１０５に戻り、比較部１３８は、Ｓ１０５ａ〜Ｓ１０５ｇの動作を繰り返す。これによりアクセス制限回路１３０ｃは、最終属性レジスタ１３２Ｂに保存された最終属性データを更新する。
【０１１１】
Ｓ１１０の判定で、属性データが変更されていない場合すなわち“Ｙｅｓ”の場合に、比較部１３８は、アクセス信号ＡＣがＣＰＵ１２０からアクセス制限回路１３０ｃに入力されたかを判定する（Ｓ１１５）。
【０１１２】
Ｓ１１５の判定で、アクセス信号ＡＣがＣＰＵ１２０からアクセス制限回路１３０ｃに入力されている場合すなわち“Ｙｅｓ”の場合に、工程は、Ｓ１２０に進む。一方、Ｓ１１５の判定で、アクセス信号ＡＣがＣＰＵ１２０からアクセス制限回路１３０ｃに入力されていない場合すなわち“Ｎｏ”の場合に、工程は、Ｓ１１０に戻る。
【０１１３】
Ｓ１１５の判定で、アクセス信号ＡＣがＣＰＵ１２０からアクセス制限回路１３０ｃに入力されている場合すなわち“Ｙｅｓ”の場合に、比較部１３８は、アクセス信号ＡＣが指定する各アドレス空間の範囲がアクセス許可属性の空間の範囲内であるかを判定する（Ｓ１２０）。この動作は、比較部１３８が、最終属性レジスタ１３２Ｂから各アドレス空間（図３に示す例では、Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１４、Ｃ１５、及びＣ１６）の最終属性データを読み出し、アクセス信号ＡＣが指定する各アドレス空間の範囲と最終属性レジスタ１３２Ｂにアクセス許可属性と対応付けられて保存された空間（図３に示す例では、「読み取り許可」属性としてのアドレス空間Ｃ１１、Ｃ１２、及びＣ１６と「書き込み許可」属性としてのアドレス空間Ｃ１１、Ｃ１３、及びＣ１６）の範囲とを比較することによって、行われる。
【０１１４】
Ｓ１２０の判定で、アクセス信号ＡＣが指定する各アドレス空間の範囲がアクセス許可属性の空間の範囲内である場合すなわち“Ｙｅｓ”の場合に、工程は、Ｓ１２５に進む。一方、Ｓ１２０の判定で、アクセス信号ＡＣが指定する各アドレス空間の範囲がアクセス許可属性の空間の範囲内でない場合すなわち“Ｎｏ”の場合に、工程は、Ｓ１３０に進む。
【０１１５】
Ｓ１２０の判定で、アクセス信号ＡＣが指定する各アドレス空間の範囲がアクセス許可属性の空間の範囲内である場合すなわち“Ｙｅｓ”の場合に、比較部１３８は、アクセス信号ＡＣのメモリ資源１４０への出力を実行する（Ｓ１２５）。
【０１１６】
一方、Ｓ１２０の判定で、アクセス信号ＡＣが指定する各アドレス空間の範囲がアクセス許可属性の空間の範囲内でない場合すなわち“Ｎｏ”の場合に、比較部１３８は、アクセス信号ＡＣのメモリ資源１４０への出力を中止する（Ｓ１３０）。
【０１１７】
Ｓ１２５またはＳ１３０の後、比較部１３８は、コンピュータ１０の電源ＯＦＦ処理がされるかを判定する（Ｓ１３５）。この判定は、ＣＰＵ１２０から比較部１３８に電源ＯＦＦ処理が行われることを表す通知信号が出力されることによって、行われる。
【０１１８】
Ｓ１３５の判定で、電源ＯＦＦ処理がされる場合すなわち“Ｙｅｓ”の場合に、工程は、終了となる。一方、Ｓ１３５の判定で、電源ＯＦＦ処理がされない場合すなわち“Ｎｏ”の場合に、工程は、Ｓ１１０に戻る。
【０１１９】
この発明のアクセス制限回路１３０ｃは、以上のように動作する。
【０１２０】
＜この発明のアクセス制限回路の特性＞
以下に、この発明のアクセス制限回路１３０ｃの特性につき説明する。
【０１２１】
この発明のアクセス制限回路１３０ｃによれば、比較部１３８は、初期属性レジスタ１３２Ａに保存された初期属性データ並びにアクセス制限ハードレジスタ１３３に保存された属性データ及びアクセス制限ソフトレジスタ１３４に保存された属性データを参照して、初期属性レジスタ１３２Ａにアクセス禁止属性と対応付けられて保存された全アドレス空間（図３に示す例では、Ａ１０）に対して、アクセス制限ハードレジスタ１３３にアクセス許可属性と対応付けられて保存された各アドレス空間の範囲（図３に示す例では、Ｂ１１及びＢ１２）をアクセス許可属性の空間の範囲として最終属性レジスタ１３２Ｂに保存し、さらに、アクセス許可属性の空間の範囲内で、アクセス制限ソフトレジスタ１３４にアクセス禁止属性と対応付けられて保存された各アドレス空間の範囲（図３に示す例では、Ｂ１３、Ｂ１４、及びＢ１５）をアクセス禁止属性の空間の範囲として最終属性レジスタ１３２Ｂに保存することによって、各アドレス空間Ｃ１０の最終属性データを最終属性レジスタ１３２Ｂに設定する。
【０１２２】
このような構成により、この発明のアクセス制限回路１３０ｃは、図４−１に示す従来のアクセス制限回路１３０ａと比べると、アクセス制限回路１３０ａの優先順位判定部１３５を排除することができる。そのため、アクセス制限回路１３０ｃは、アクセス制限回路１３０ａに比べて、以下のような特性を得ることができる。
【０１２３】
例えば、アクセス制限回路１３０ｃが周辺回路、ＲＯＭ、ＲＡＭの３つの構成要素に対してそれぞれ３個のアドレス空間のアクセス制限の設定を行い、さらに、ソフトウェアの構造に応じて１通りのアクセス制限の設定を行う場合を想定すると、アクセス制限ハードレジスタ１３３の数量は、（３×３×１）＝９個となり、アクセス制限ソフトレジスタ１３４の数量は、（３×３×１）＝９個となる。したがって、この場合に、この発明のアクセス制限回路１３０ｃは、アクセス許可属性用に９個、アクセス禁止属性用に９個、合計１８個のアクセス制限レジスタを用意することになる。
【０１２４】
一方、図４−１に示すアクセス制限回路１３０ａが、この発明のアクセス制限回路１３０ｃと同様のアクセス制限を行うためには、アクセス許可属性用に９個、アクセス禁止属性用に９個、合計１８個のアクセス制限レジスタを用意することになる。この場合に、アクセス制限回路１３０ａの優先順位判定部１３５は、以下の説明するように、各レジスタの優先順位を１５３通り判定する必要があった。すなわち、図９に示すように、まず、優先順位判定部１３５は、レジスタ１と他のレジスタとの間で優先順位を判定する。なお、図９は、従来の回路における優先順位判定部の動作説明図である。このとき、優先順位判定部１３５は、レジスタ１とレジスタ２〜１８のそれぞれとを比較して、レジスタ１に対する各レジスタの優先順位を判定する。次に、優先順位判定部１３５は、レジスタ２と他のレジスタとの間で優先順位を判定する。このとき、レジスタ１とレジスタ２との間の優先順位が既に判定されているので、レジスタ１とレジスタ２との間でさらなる優先順位の判定は不要である。そのため、優先順位判定部１３５は、優先順位の判定が済んでいないレジスタ同士すなわちレジスタ２とレジスタ３〜１８との間で優先順位を判定する。以下、同様に、優先順位判定部１３５は、レジスタ３以降の各レジスタに対して、優先順位の判定が済んでいないレジスタ同士の間で優先順位を判定する。このような組み合わせを数えると、その総数は、（１７＋１６＋…＋１＋０）＝１５３通りとなる。したがって、アクセス制限回路１３０ａの優先順位判定部１３５は、各レジスタの優先順位を１５３通り判定する必要があった。
【０１２５】
これに対して、この発明のアクセス制限回路１３０ｃは、アクセス制限回路１３０ａの優先順位判定部１３５を排除することができる。そのため、ソフトウェアの構造に応じて行うアクセス制限を１通りとする場合では、アクセス制限回路１３０ｃは、アクセス制限回路１３０ａと比べると、優先順位判定部１３５による１５３通りの各レジスタの優先順位の判定に要する時間だけ処理時間を短縮することができる。
【０１２６】
また、この発明のアクセス制限回路１３０ｃは、図４−２に示す従来のアクセス制限回路１３０ｂと比べると、アクセス制限回路１３０ｂの重複判定部１３６を排除することができる。そのため、アクセス制限回路１３０ｃは、アクセス制限回路１３０ｂに比べて、以下のような特性を得ることができる。
【０１２７】
例えば、図４−２に示すアクセス制限回路１３０ｂが、ソフトウェアの構造に応じて行うアクセス制限を１通りとする場合に、この発明のアクセス制限回路１３０ｃと同様に９個のアクセス禁止用のアクセス制限レジスタで行われていた設定と同じことを実現するためには、各レジスタの重なりを認める構成では、図１０に示すように、最大で１７個のレジスタが必要になる。この場合に、アクセス制限回路１３０ｂの重複判定部１３６は、以下の説明するように、各レジスタに保存されたアドレス空間の重複の有無を１３６通り判定する必要がある。すなわち、図１１に示すように、まず、重複判定部１３６は、レジスタ１に保存されたアドレス空間と他のレジスタに保存されたアドレス空間との間で重複の有無を判定する。なお、図１０及び図１１は、それぞれ、従来の回路における重複判定部の動作説明図である。このとき、重複判定部１３６は、レジスタ１に保存されたアドレス空間とレジスタ２〜１８のそれぞれに保存されたアドレス空間とを比較して、レジスタ１に保存されたアドレス空間に対する各レジスタに保存されたアドレス空間の重複の有無を判定する。次に、重複判定部１３６は、レジスタ２に保存されたアドレス空間と他のレジスタに保存されたアドレス空間との間で重複の有無を判定する。このとき、レジスタ１に保存されたアドレス空間とレジスタ２に保存されたアドレス空間との間の重複の有無が既に判定されているので、レジスタ１に保存されたアドレス空間とレジスタ２に保存されたアドレス空間との間でさらなる重複の有無の判定は不要である。そのため、重複判定部１３６は、重複の有無の判定が済んでいないレジスタに保存されたアドレス空間同士すなわちレジスタ２に保存されたアドレス空間とレジスタ３〜１８に保存されたアドレス空間との間で重複の有無を判定する。以下、同様に、重複判定部１３６は、レジスタ３以降の各レジスタに保存されたアドレス空間に対して、重複の有無の判定が済んでいないレジスタに保存されたアドレス空間同士の間で重複の有無を判定する。このような組み合わせを数えると、その総数は、（１６＋…＋１＋０）＝１３６通りとなる。したがって、アクセス制限回路１３０ｂの重複判定部１３６は、各レジスタに保存されたアドレス空間の重複の有無を１３６通り判定する必要があった。
【０１２８】
これに対して、この発明のアクセス制限回路１３０ｃは、アクセス制限回路１３０ｂの重複判定部１３６を排除することができる。そのため、ソフトウェアの構造に応じて行うアクセス制限を１通りとする場合では、アクセス制限回路１３０ｃは、アクセス制限回路１３０ｂと比べると、重複判定部１３６による１３６通りの各レジスタに保存されたアドレス空間の重複の有無の判定に要する時間だけ処理時間を短縮することができる。
【０１２９】
以上の通り、この発明のアクセス制限回路１３０ｃによれば、レジスタを複数用意してその構成を規定することで、図４−１に示す優先順位判定部１３５や図４−２に示す重複判定部１３６等の複雑な判定を行う回路を排除することができる。したがって、回路の構成を図４−１及び図４−２に示す従来のアクセス制限回路１３０ａ及び１３０ｂよりも小規模にすることができる。また、優先順位判定部１３５や重複判定部１３６によって行われていた判定に要する時間だけ処理時間を短縮することができる。
【０１３０】
さらに、このアクセス制限回路１３０ｃによれば、任意の時点以後（例えば、搭載製品１０を工場から出荷した後）に、アクセス禁止属性の空間として設定すべき各アドレス空間の属性データのみがアクセス制限ソフトレジスタ１３４に保存される。そのため、多々あるソフトウェア毎に対応して細かなアクセス制限を容易に設定することができるので、保護したいメモリ資源に割り振られたアドレス空間が非連続に配置された場合であっても、容易に対応することができる。
【０１３１】
この発明は、上述の実施の形態例に限定されることなく、この発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【０１３２】
例えば、実施の形態では、搭載製品１０の一例としてコンピュータを用いて説明したが、この発明は、コンピュータに限らず、ＬＳＩにも適用することができる。なお、ＬＳＩチップのメモリ資源のアクセス制限に利用する場合は、属性データのハードウェアによる実装は、ＬＳＩメーカでのＬＳＩ製造時に行われることになる。
【図面の簡単な説明】
【０１３３】
【図１】本実施の形態のアクセス制限回路のブロック図である。
【図２】本実施の形態の回路の動作を示すフローチャートである。
【図３】本実施の形態の回路によるアクセス制限の一例を示す図である。
【図４−１】従来のアクセス制限回路の一例を示すブロック図（１）である。
【図４−２】従来のアクセス制限回路の一例を示すブロック図（２）である。
【図５】従来の回路によるアクセス制限の一例を示す図（１）である。
【図６】従来の回路によるアクセス制限の一例を示す図（２）である。
【図７】従来の回路によるアクセス制限の一例を示す図（３）である。
【図８】従来の回路によるアクセス制限の一例を示す図（４）である。
【図９】従来の回路における優先順位判定部の動作説明図である。
【図１０】従来の回路における重複判定部の動作説明図（１）である。
【図１１】従来の回路における重複判定部の動作説明図（２）である。
【符号の説明】
【０１３４】
１０    …搭載製品（コンピュータ）
２０    …外部機器
１１０    …入出力部
１２０    …ＣＰＵ
１３０（１３０ａ、１３０ｂ、１３０ｃ）    …アクセス制限回路
１３２Ａ    …初期属性レジスタ
１３２Ｂ    …最終属性レジスタ
１３３（１３３−１，１３３−２）    …アクセス制限ハードレジスタ
１３４（１３４−１，１３４−２）    …アクセス制限ソフトレジスタ
１３５    …優先順位判定部
１３６    …重複判定部
１３８    …比較部
３００    …メモリ資源（メモリ、レジスタ等）
ＲＱ    …アクセス要求
ＡＣ    …アクセス信号
ＦＤ    …全アドレス空間の初期属性データ
ＳＤ    …各アドレス空間の属性データ
ＬＤ    …各アドレス空間の最終属性データ
【図１】
2009301343.tif 000003
【図２】
2009301343.tif 000004
【図３】
2009301343.tif 000005
【図４−１】
2009301343.tif 000006
【図４−２】
2009301343.tif 000007
【図５】
2009301343.tif 000008
【図６】
2009301343.tif 000009
【図７】
2009301343.tif 000010
【図８】
2009301343.tif 000011
【図９】
2009301343.tif 000012
【図１０】
2009301343.tif 000013
【図１１】
2009301343.tif 000014