(57)【要約】【課題】優先度の高いメモリアクセスの効率を低下させることなく、優先度の低いメモリアクセスの並列処理を実現できるようにする。【解決手段】メモリアクセス要求を分割してメモリアクセス要求の優先度を判定し、優先度の高いメモリアクセス要求を保持する高優先度コマンドバッファ１０５と、優先度の低いメモリアクセス要求を保持する低優先度コマンドバッファ１０６とに振り分ける。そして、優先度の高いメモリアクセス要求と、優先度の低いメモリアクセス要求とを比較し、メモリコマンドの実行順序を決定し、メモリコマンドの実行順序に従って、優先度の高いメモリアクセス要求と優先度の低いメモリアクセス要求とを選択して実行するよう制御する。【選択図】図１
2011034214.tif 000002
【特許請求の範囲】
【請求項１】
バスマスタからのメモリアクセス要求を受けてメモリデバイスにメモリコマンドを発行するメモリ制御装置であって、
前記バスマスタからのメモリアクセス要求をメモリコマンド単位に分割する分割手段と、
前記分割手段によって分割されたメモリアクセス要求の優先度を判定する判定手段と、
前記判定手段によって判定された優先度の高いメモリアクセス要求を保持する第１の保持手段と、
前記判定手段によって判定された優先度の低いメモリアクセス要求を保持する第２の保持手段と、
前記第１の保持手段に保持された優先度の高いメモリアクセス要求と、前記第２の保持手段に保持された優先度の低いメモリアクセス要求とを比較し、メモリコマンドの実行の順序を決定する決定手段と、
前記メモリコマンドの実行の順序に従って、前記優先度の高いメモリアクセス要求と前記優先度の低いメモリアクセス要求とを選択して実行する実行手段とを備えることを特徴とするメモリ制御装置。
【請求項２】
前記メモリデバイスはＤＲＡＭであることを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記分割手段は、前記メモリアクセス要求を前記メモリデバイスのアクセスごとに分割し、前記メモリデバイスのデータ転送のメモリアクセスを終了するのに必要な回数の読み出しまたは書き込みコマンドを生成することを特徴とする請求項１に記載のメモリ制御装置。
【請求項４】
前記決定手段は、前記優先度の高いメモリアクセス要求のメモリコマンドを実行する時に、前記メモリデバイスのタイミング制約によるメモリバスの未使用期間を算出する算出手段と、前記優先度の低いメモリコマンドが前記メモリバスの未試用期間に発行可能か否かを判定する手段と、前記判定する手段による判定の結果に従い、どちらのメモリコマンドを発行するかを決定する手段とを有することを特徴とする請求項１に記載のメモリ制御装置。
【請求項５】
前記判定手段は、前記バスマスタからのメモリアクセス要求に含まれるバスマスタ識別情報、またはアクセス優先度識別情報に基づいてメモリアクセス要求の優先度を判定することを特徴とする請求項１に記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリ制御装置に関し、特に、メモリアクセス要求に対するアクセス制御に用いて好適な技術に関する。
【背景技術】
【０００２】
近年、システムＬＳＩの構成として、複数のバスマスタが１つのメモリデバイスを主記憶として共有するユニファイドメモリ構成が多く用いられ、また主記憶には一般的にＤＲＡＭが用いられている。このようなシステムでは、各バスマスタからのメモリアクセス要求に対するアクセス制御は、システムの性能に大きな影響を与える。
【０００３】
ＤＲＡＭに保存された映像データを液晶表示素子（ＬＣＤ）に出力する場合、データ読み出し／書き込みの繰り返し処理と、液晶表示回路が決められたフレームレートで映像表示するためのデータ読み出し処理とが並列実行される。したがって、ＣＰＵからのメモリアクセスの割り込みにより映像データ処理回路のデータ読み出し／書き込み処理が滞ってしまうと、液晶表示回路が読み出す伸張データが欠損し、ＬＣＤに正常な映像を出力できなくなる。このようなシステムの破綻を防ぐためには、リアルタイム処理が必要な映像データ処理回路のメモリアクセス帯域を制御し、一定期間内のデータ読み出し／書き込み処理の完了を保証する必要がある。
【０００４】
従来、アクセス要求に対する帯域を保証する方法として、複数のバスマスタからのメモリアクセス要求の実行順序及び実行頻度を、各バスマスタとメモリ制御回路とを接続するバスで調整するバスアービタ方式が一般的に用いられている。すなわち、複数のバスマスタからのメモリアクセスが競合した際に、ラウンドロビン方式で順次アクセスを許可したり、固定された優先度でアクセスを許可したりする。これにより、バスマスタ毎のメモリアクセス頻度を優先度に応じて可変にすることが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３１９７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術に示される手法では、メモリアクセス許可を切り替える際に優先度の高いバスマスタのメモリアクセスの効率が低下してしまうという問題がある。バスアービタ方式では、優先度の高いバスマスタに対して一定期間優先的にメモリアクセスを保証することが可能であるが、優先度の低いバスマスタに対しても一定の割合でメモリアクセスを許可する。このとき、メモリアクセス許可を切り替えるタイミングはラウンドロビン方式や固定優先方式といったバスアービタに内蔵された手順に従っており、直前のメモリアクセスとの連続性等は考慮されない。このため、優先度の低いバスマスタのメモリアクセス要求が、優先度の高いバスマスタの連続するメモリアクセス要求にバスアービタにて決定されたタイミングで割り込んでしまう。これにより、メモリアクセスの効率の低下、さらには優先度の高いメモリアクセスの帯域が保証されなくなる可能性がある。
【０００７】
本発明は前述の問題点に鑑み、優先度の高いメモリアクセスの効率を低下させることなく、優先度の低いメモリアクセスの並列処理を実現できるようにすることを目的としている。
【課題を解決するための手段】
【０００８】
本発明のメモリ制御装置は、バスマスタからのメモリアクセス要求を受けてメモリデバイスにメモリコマンドを発行するメモリ制御装置であって、前記バスマスタからのメモリアクセス要求をメモリコマンド単位に分割する分割手段と、前記分割手段によって分割されたメモリアクセス要求の優先度を判定する判定手段と、前記判定手段によって判定された優先度の高いメモリアクセス要求を保持する第１の保持手段と、前記判定手段によって判定された優先度の低いメモリアクセス要求を保持する第２の保持手段と、前記第１の保持手段に保持された優先度の高いメモリアクセス要求と、前記第２の保持手段に保持された優先度の低いメモリアクセス要求とを比較し、メモリコマンドの実行の順序を決定する決定手段と、前記メモリコマンドの実行の順序に従って、前記優先度の高いメモリアクセス要求と前記優先度の低いメモリアクセス要求とを選択して実行する実行手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数のバスマスタからの共有メモリアクセスにおいて、優先度の高いメモリアクセスの効率を低下させることなく、優先度の低いメモリアクセスの並列処理を実行することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るメモリ制御回路の構成例を示すブロック図である。
【図２】生成されるメモリコマンド情報の一例を示す図である。
【図３】メモリコマンド情報の生成手順の一例を示すフローチャートである。
【図４】ＤＲＡＭバスの挙動を示す図である。
【図５】高優先度コマンドバッファの状態を示す図である。
【図６】低優先度コマンドバッファの状態を示す図である。
【図７】メモリバス未使用期間の算出方法を示す図である。
【図８】メモリバス使用期間の算出方法を示す図である。
【図９】ＤＲＡＭバスの挙動を示す図である。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
以下、本発明の実施形態について、図面を参照しながら説明する。
図１は、本実施形態に係るメモリ制御装置１００の構成例を示すブロック図である。
図１において、バスマスタ１０１からメモリデバイスである共有のＤＲＡＭ１１１へメモリアクセスが要求されると、その要求がバス１０２を介してメモリ制御装置１００に転送される。メモリ制御装置１００で受け付けられたメモリアクセス要求は、コマンド分割回路１０３によってメモリコマンド単位の実行情報を有するメモリコマンド情報に分割される。メモリコマンド情報は、発行元であるバスマスタ１０１の識別子を元に優先度振り分け回路１０４により、高優先度メモリコマンド情報、低優先度メモリコマンド情報に振り分けられる。そして、それぞれ第１の保持手段である高優先度コマンドバッファ１０５、または第２の保持手段である低優先度コマンドバッファ１０６に保持される。
【００１２】
各コマンドバッファに入力されたメモリコマンド情報は、先頭のメモリコマンド情報からメモリコマンド制御回路１０９に順次転送される。メモリコマンド情報は、転送可能なあるタイミングにおいて、選択回路１０８により高優先度コマンドバッファ１０５あるいは低優先度コマンドバッファ１０６のメモリコマンド情報のどちらか１つだけが選択される。メモリコマンド比較回路１０７は、低優先度メモリコマンドが高優先度メモリコマンドの間に、メモリバスの効率が低下することなく挿入可能であるかどうかを判断する。低優先度メモリコマンドが挿入可能な場合は、選択回路１０８に対して入力切り替え信号が出力され、メモリコマンド制御回路１０９に低優先度メモリコマンドが転送される。
【００１３】
次に、本実施形態のコマンド分割回路１０３の詳細について図２及び図３を参照しながら説明する。
バスマスタ１０１からのメモリアクセス要求は、データ転送開始アドレス、データ転送長及びデータ転送方向（読み出し／書き込み）により構成される。コマンド分割回路１０３は、これらの情報をもとにメモリアクセス要求を実行するのに必要な一連のメモリコマンド情報を生成する。
【００１４】
図２は、生成されるメモリコマンド情報の一例を示す図である。
図２に示すように、メモリコマンド情報は、コマンド種類（CMD）、チップセレクト信号（CS）、バンクセレクト信号（BS）、ロウアドレス信号（ROW）が含まれる。さらに、カラムアドレス信号（COL）、バーストイネーブル信号（BEN）,バスマスタ識別子（ID）が含まれる。
【００１５】
コマンド種別（CMD）には、ＤＲＡＭ１１１のページ制御に必要なプリチャージコマンド（PRE）がある。さらに、アクティブコマンド（ACT）とＤＲＡＭ１１１とからのデータ読み出し／書き込み制御のためのリードコマンド（READ）、ライトコマンド（WRITE）がある。CS,BS,ROW,COLは、メモリコマンド発行の対象となるＤＲＡＭ１１１のチップ、バンクおよびページを指定する指標である。これらの指標の一部は、コマンドによってはケアされないものもある。例えば、PREコマンドを発行する場合にCOL情報は使用されない。また、READまたはWRITEコマンドを発行する場合にROW情報は使用されない。
【００１６】
BENは、データ転送の有効範囲を示す指標である。ＤＲＡＭ１１１は一回のREAD/WRITEコマンド発行で転送するデータ長が固定となる。このため、メモリアクセス要求が一回のREAD/WRITEコマンドで転送できるデータ長より大きい場合は、複数回のREAD/WRITEコマンド発行が必要となる。逆に、メモリアクセス要求が一回のREAD/WRITEコマンドで転送されるデータ長より小さい場合は、データマスク信号を用いて有効なデータ範囲を指定する。BENは、READ/WRITEコマンド実行時のデータマスク信号制御に使用される。バス識別子IDは優先度振り分け回路に参照され、分割されたメモリアクセス要求の優先度振り分けに利用される。
【００１７】
図３は、コマンド分割回路１０３におけるメモリコマンド情報の生成手順の一例を示すフローチャートである。
図３において、コマンド分割回路１０３は、バスマスタからのメモリ転送要求を受け付けると、まず、ステップＳ３０１において、転送開始アドレスをＤＲＡＭ１１１におけるCS,BS,ROW,COLに対応する情報にデコードする。
【００１８】
次に、ステップＳ３０２において、ページ制御コマンド生成を行う。このステップＳ３０２では、ステップＳ３０１で生成されたCS, BS, ROW,COLを元に、対応するＤＲＡＭ１１１のページのオープン／クローズの状況に応じてPREあるいはACTコマンド発行が必要であるか否かを判断する。そして、一度そのページをクローズ状態に戻すためのプリチャージコマンド（PRE）と、ROWに対応するページをオープン状態にするためのアクティブコマンド（ACT）とをメモリコマンド情報として生成する。
【００１９】
また、アクセス対象となるCS、BSにおいてオープンでない場合は、ROWに対応するページをオープン状態にするためのアクティブコマンド（ACT）を発行するようなメモリコマンド情報のみが生成される。一方、アクセス対象となるCS,BSにおいてROWに対応するページが既にオープンになっている場合は、ページ制御コマンドは発行する必要がないためメモリコマンド情報は生成されない。
【００２０】
次に、ステップＳ３０３において、アクセス要求データ長に応じてREAD（読み出し）/WRITE（書き込み）コマンドの発行回数を決定し、発行回数分のメモリコマンド情報を生成する。そして、処理を終了する。例えば、メモリアクセス要求データ長が３２バイト、ＤＲＡＭ１１１のREAD/WRITEコマンド発行一回あたりのデータ転送長が１６バイトである場合、発行回数は３２／１６＝２となり２回のREADあるいはWRITEコマンド発行が必要となる。この場合、有効なデータ転送のビート長を示すBENはいずれのREAD/WRITEコマンドに対しても４となる。別の例としてメモリアクセス要求データ長が12で、ＤＲＡＭ１１１のREAD/WRITEコマンド発行１回あたりのデータ転送長が１６バイトである場合、１２／１６＝０．７５となり１回のREADあるいはWRITEコマンドが発行される。ここで、有効データ転送のビート長は最初の３ビート分のみであるため、BENには３が設定される。
【００２１】
次に、優先度振り分け回路１０４について説明する。優先度振り分け回路１０４は、前記分割されたメモリコマンドに含まれている優先度情報をもとに高優先度コマンドバッファ１０５、及び低優先度コマンドバッファ１０６へメモリコマンドを振り分ける。本実施形態のように複数のバスマスタが存在する場合は、優先度情報としてバスマスタ識別情報（識別子）を用いることができる。優先度振り分け回路１０４にあらかじめ優先すべきバスマスタの情報を記憶させておくことにより、優先度の高いバスマスタからのメモリ要求を高優先度コマンドバッファに振り分けることが可能となる。また、バスマスタが１つの場合には、本実施形態とは異なるが、メモリアクセス要求にアクセス優先度識別情報を持たせることで優先度振り分け回路の実装が可能である。
【００２２】
次に、各コマンドバッファと選択回路１０８、メモリコマンド制御回路１０９の関係について説明する。高優先度コマンドバッファ１０５及び低優先度コマンドバッファ１０６は、コマンド分割回路１０３で生成されたメモリアクセス要求をメモリコマンド情報単位で保持する。各々に保持されたメモリコマンドは選択回路１０８からの制御信号を得て、バッファの先頭にあるメモリコマンド情報からメモリコマンド制御回路１０９に順次転送される。バッファの先頭に保持されたメモリコマンド情報が実行された後は、２番目以降のメモリコマンド情報が１段分バッファ先頭位置に向かってシフトする。各バッファの先頭にあるメモリコマンド情報は、選択回路１０８により択一的にメモリコマンド制御回路１０９に送られる。
【００２３】
メモリコマンド制御回路１０９は、受け付けたメモリコマンド情報をＤＲＡＭ１１１のメモリコマンドに変換して実行する。また、メモリコマンド制御回路１０９は、ＤＲＡＭ１１１の各種タイミング制約に基づいて発行するメモリコマンドの発行間隔制御を行う。例えばメモリコマンド制御回路１０９は、ACTコマンド発行後に同CS,BSの同ページに対するREAD/WRITEコマンド発行までの間隔を３サイクル経てから発行するようなタイミング制御を行う。
【００２４】
図４は、高優先度コマンドバッファ１０５が、図５に示すような状態にある場合の選択回路１０８とメモリコマンド制御回路１０９との間、及びＤＲＡＭバス１１０の挙動を示す図である。なお、図５においては、右端がバッファの先頭位置とする。また、本実施形態では、メモリコマンド制御回路１０９が選択回路１０８から最大２つまでのメモリコマンド情報を受け取ることができるものとする。そして、メモリコマンド情報の受け付けからＤＲＡＭバス１１０へのメモリコマンド実行までの最小サイクルを１サイクルとする。また、ＤＲＡＭバス１１０は、DDRタイプのＤＲＡＭ１１１を想定しており、動作モードとしてはCasLatencyが２サイクル、BurstLengthが４ビートとする。
【００２５】
図４において、信号（メモリコマンド情報、メモリコマンド入力Ｒｅａｄｙ）は選択回路１０８とメモリコマンド制御回路１０９との間のデータ転送を示している。メモリコマンド情報は、選択回路１０８からメモリコマンド制御回路１０９に転送され、メモリコマンド入力Readyはメモリコマンド制御回路１０９から選択回路１０８に転送される。選択回路１０８は、メモリコマンド入力Ready信号がアサートされている間、１サイクル毎にコマンドバッファの先頭メモリコマンド情報を抜き出し、メモリコマンド制御回路１０９に転送する。メモリコマンド制御回路１０９は、受け付けたメモリコマンド情報が２つ以上になるとメモリコマンド入力Ready信号をデアサートする。
【００２６】
図４の下段にある３つの信号（Command、Address、Data）は、ＤＲＡＭバス１１０上のデータ転送を示している。図４の時刻Ｔ２において、図５に示す高優先度コマンドバッファ１０５の先頭のREADコマンドが実行されている。続いて、時刻Ｔ３において、２番目に位置する（実際には時刻T2ではバッファの先頭にシフトしている）PREコマンドが実行されている。さらに、ACTコマンドを発行する際には、メモリコマンド制御回路１０９においてＤＲＡＭ１１１のタイミングパラメータtRPを満たすために２サイクルのウェイトが挿入され、時刻Ｔ６においてACTコマンドが発行される。
【００２７】
また、図５に示す高優先度コマンドバッファ１０５の４番目に位置するWRITEコマンドを発行する際には、ＤＲＡＭ１１１のタイミングパラメータtRCDを満たすために１サイクルのウェイトが挿入される。そして、時刻Ｔ８において、WRITEコマンドが実行されている。さらに、最後のREADコマンドを発行する際には、ＤＲＡＭ１１１のタイミングパラメータtWTRを満たすために４サイクルのウェイトが挿入され、時刻Ｔ１３において、READコマンドが実行されている。
【００２８】
次に、本実施形態のメモリコマンド比較回路１０７について詳細を説明する。メモリコマンド比較回路１０７は、高優先度のメモリコマンドを実行する時のメモリバス未使用期間の算出と、算出された期間に低優先度のメモリコマンドが発行可能か否かの判定を行い、発行可能な場合は選択回路１０８に出力する制御信号の切り替えを行う。図７は、高優先度のメモリコマンドを実行する時のメモリバス未使用期間の算出方法を示す図である。メモリバスの未使用期間は、連続する２つの高優先度のメモリコマンド間でコマンドバス、データバスのそれぞれについて算出される。
【００２９】
また、図８は、低優先度のメモリコマンドを実行する時のメモリバス使用期間の算出方法を示す図である。メモリコマンド比較回路１０７は、高優先度コマンドバッファ１０５が更新される毎にコマンドバッファの先頭のメモリコマンドとそれに続く２番目のメモリコマンドとの間でメモリバス未使用期間を算出する。そして、低優先度コマンドバッファ１０６の先頭に保持されたメモリコマンドのコマンドバス使用期間、データバス使用期間と比較する。そして、高優先度のメモリコマンドを実行する時のメモリバス未使用期間が低優先度のメモリコマンド実行の使用期間と等しいか大きい場合は、低優先のメモリコマンドを高優先のメモリコマンドの先頭のメモリコマンドに続いて発行可能であると判断する。そして、選択回路１０８への入力切り替え信号をアサートする。
【００３０】
図９は、高優先度コマンドバッファ１０５が図５に示す状態で、かつ低優先度コマンドバッファ１０６の状態が図６に示すような状態であるような場合のＤＲＡＭバス１１０のコマンドの順序の挙動を示す図である。ここで、タイミング制約をｔRP=3サイクル、ｔRCD=２サイクル、CasLatency=２サイクル、BurstLength=４ビート、ｔWTR=3サイクルとする。
【００３１】
まず、高優先度コマンドバッファ１０５のREADコマンドが先頭に来た時点でメモリコマンド比較回路１０７は、高優先度コマンドバッファ１０５の先頭から２つのメモリコマンドと低優先度コマンドバッファ１０６の先頭メモリコマンドとを比較する。そして、低優先度のメモリコマンドが実行可能であるかどうか判断する。図７に示す例では、高優先度コマンドバッファ１０５の先頭から２つのメモリコマンドはRD-PRE（diff. bank）であり、コマンドバス、データバスの未使用期間は０となる。さらに、図８に示す例では、低優先度コマンドバッファ１０６の先頭のメモリコマンド情報はREADであるので、実行には１サイクル以上のコマンドバス使用期間が必要であるため、コマンド発行は不可能と判断される。
【００３２】
次に、高優先度コマンドバッファ１０５のPRE−ACTと低優先度コマンドバッファ１０６のREADとが比較される。高優先度のPRE-ACTコマンドを実行する時のコマンドバスの未試用期間は（tRP−１）＝（３−１）＝２サイクルであり、コマンドの発行が可能である。さらに、データバスの未試用期間は、（tRP＋tRCD−１）＝（３＋２−１）＝４サイクルであり、低優先度のREADの実行に必要なデータバス使用期間は（CL＋BL／２−１）＝（２＋４＋４／２−１）＝３サイクルであり、条件を満たす。よって、高優先度のPREコマンドに続いて低優先度のREADが発行可能と判断される。この場合には、メモリコマンド比較回路１０７は、高優先度コマンドバッファ１０５のPREコマンドに続いて低優先度コマンドバッファ１０６のREADコマンドがメモリコマンド制御回路１０９に転送されるように選択回路１０８へ入力切り替え信号を出力する。
【００３３】
次に、高優先度コマンドバッファ１０５のACT-WRITEと低優先度のACTとが比較される。高優先度のACT-WRITEを実行する時のコマンドバス未使用期間は（tRCD−１）＝１サイクルであり、低優先度のACTコマンドの発行に必要なコマンドバス使用期間１サイクルを満たす。よってこの場合も高優先度のACTコマンドに続いて低優先度のACTがメモリコマンド制御回路１０９に転送される。さらに、高優先度コマンドバッファ１０５のWRITE-READと低優先度のWRITEとが比較される。高優先度のWRITE-READを実行する時のコマンドバスの未使用期間は４サイクルで、データバスの未使用期間も４サイクルである。一方、低優先度のWRITEを実行する時のコマンドバス使用期間は１サイクル、データバスの使用期間は２サイクルであり、条件を満たす。したがって、高優先度のWRITEに続いて低優先度のWRITEがメモリコマンド制御回路１０９に転送される。
【００３４】
以上より、メモリコマンド制御回路１０９へは、図９に示すように、READ、PRE、READ（低優先度）、ACT、ACT（低優先度）、WRITE、WRITE（低優先度）、READの順にメモリコマンドが転送される。その結果、図４、図９に示すように、低優先度のメモリコマンドは高優先度のメモリコマンドの実行を妨げないタイミングで実行される。また、図９の入力切り替えReady信号は、メモリコマンド制御回路１０９から選択回路１０８に入力されるメモリコマンド入力Ready信号と同期している。入力切り替えReady信号がデアサートされている場合は、メモリコマンド比較回路１０７は入力切り替え信号を同じ値でアサート保持し続ける。
【００３５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００３６】
１０１  バスマスタ、１０３  コマンド分割回路、１０４  優先度振り分け回路、１０５  高優先度コマンドバッファ、１０６  低優先度コマンドバッファ、１０７  メモリコマンド比較回路、１０８  選択回路、１０９  メモリコマンド制御回路、１１０  ＤＲＡＭバス、１１１  ＤＲＡＭ
【図１】
2011034214.tif 000003
【図２】
2011034214.tif 000004
【図３】
2011034214.tif 000005
【図４】
2011034214.tif 000006
【図５】
2011034214.tif 000007
【図６】
2011034214.tif 000008
【図７】
2011034214.tif 000009
【図８】
2011034214.tif 000010
【図９】
2011034214.tif 000011