(57)【要約】【課題】同一マスタに対するアクセス許可の集中を回避してワーストレイテンシを低減し、共有リソースの種類に応じてアクセス効率を向上させる。【解決手段】複数のバスマスタ１０１，１０２，１０３と共有リソース１１１との間にバス調停部１０４及びリソース制御部１１０を介在させ、所定時間内にアクセス許可を受け得る最低限の回数をバスマスタ毎に示す第１のバス調停情報１０８をもとにアクセス要求を調停する。調停情報操作部１０５は、第２のバス調停情報１０６をもとに、同一バスマスタへのアクセス許可が分散するように第１のバス調停情報１０８を操作し、共有リソース１１１の種類に合わせてバスマスタ同士のアクセス干渉が減少するように第１のバス調停情報１０８を操作し、或いはバスマスタのバンド幅取得状況に応じて第１のバス調停情報１０８を操作する。【選択図】図１
2007207024.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスタと少なくとも１つの共有リソースとの間に介在したリソース管理装置であって、
前記複数のマスタの各々に関する第１設定値を第１のバス調停情報として管理するバス調停情報管理部と、
前記バス調停情報管理部で管理されている前記第１のバス調停情報を操作するバス調停情報操作部と、
前記第１のバス調停情報をもとに各マスタから前記共有リソースへのアクセス要求を調停するバス調停部と、
前記バス調停部によりアクセスが許可されたマスタと前記共有リソースとの間のデータ転送を制御するリソース制御部とを備え、
前記バス調停部は、前記複数のマスタのうち２以上のマスタが同時にアクセス要求を行っている場合には、当該２以上のアクセス要求マスタのうち所定時間内にアクセス許可を受けた回数が前記第１設定値に満たないアクセス要求マスタに対して優先的にアクセス許可を与えることを特徴とするリソース管理装置。
【請求項２】
請求項１記載のリソース管理装置において、
前記バス調停情報管理部は、前記複数のマスタ間の優先順位に関する第１の優先順位情報を持ち、
前記バス調停部は、前記２以上のアクセス要求マスタのうち前記所定時間内にアクセス許可を受けた回数が前記第１設定値に満たないアクセス要求マスタが複数存在する場合には、前記第１の優先順位情報に基づく第１の優先ルールに従ってアクセス要求の調停を行うことを特徴とするリソース管理装置。
【請求項３】
請求項２記載のリソース管理装置において、
前記バス調停情報操作部は、前記複数のマスタの各々に関する第２設定値を第２のバス調停情報として管理し、バス調停情報操作ルールに従って、前記第２のバス調停情報をもとに前記第１のバス調停情報を操作することを特徴とするリソース管理装置。
【請求項４】
請求項３記載のリソース管理装置において、
前記バス調停情報操作部は、前記第２のバス調停情報をもとに第１のバス調停情報群を生成したうえ、当該第１のバス調停情報群をもとに前記バス調停情報操作ルールに従って前記第１のバス調停情報を操作することを特徴とするリソース管理装置。
【請求項５】
請求項３記載のリソース管理装置において、
前記バス調停情報操作ルールは、前記第１のバス調停情報の操作を行う前の前記第１設定値と、前記第１のバス調停情報の操作を行った後の前記第１設定値との差の絶対値が０又は１となるルールであることを特徴とするリソース管理装置。
【請求項６】
請求項３記載のリソース管理装置において、
前記バス調停情報操作部は、前記複数のマスタのアクセスの特徴により前記第２のバス調停情報を複数のグループに分けるための情報をグループ情報として管理し、
前記バス調停情報操作ルールは、前記グループ情報をもとに前記第１のバス調停情報を操作するルールであることを特徴とするリソース管理装置。
【請求項７】
請求項６記載のリソース管理装置において、
前記グループ情報は、前記共有リソースのリードよりライトが多いことを示すリード属性情報と、ライトよりリードが多いことを示すライト属性情報との２つの属性情報を含むことを特徴とするリソース管理装置。
【請求項８】
請求項６記載のリソース管理装置において、
前記グループ情報は、前記共有リソースへの複数のアクセスアドレスの範囲に関する情報を含むことを特徴とするリソース管理装置。
【請求項９】
請求項６記載のリソース管理装置において、
前記グループ情報は、前記複数のマスタ中の個々のマスタを特定するための情報を含むことを特徴とするリソース管理装置。
【請求項１０】
請求項６記載のリソース管理装置において、
前記バス調停情報操作部は、前記バス調停部が前記共有リソースへのアクセスを許可したマスタのアクセス情報をアクセス履歴情報として管理し、当該アクセス履歴情報をもとに前記グループ情報を生成することを特徴とするリソース管理装置。
【請求項１１】
請求項１０記載のリソース管理装置において、
前記アクセス履歴情報は、前記共有リソースへのリードアクセス回数とライトアクセス回数とを含むことを特徴とするリソース管理装置。
【請求項１２】
請求項１０記載のリソース管理装置において、
前記アクセス履歴情報は、前記共有リソースへのアクセスのアドレス範囲に関する情報を含むことを特徴とするリソース管理装置。
【請求項１３】
請求項２記載のリソース管理装置において、
前記バス調停情報管理部は、前記複数のマスタ間の優先順位に関する第２の優先順位情報を持ち、
前記バス調停部は、前記第１設定値から前記所定時間内にアクセス許可を受けた回数を差し引いて得られるカウントを残り優先許可カウントとするとき、前記２以上のアクセス要求マスタの中に最大かつ等しい残り優先許可カウントを持つアクセス要求マスタが複数存在する場合には、前記第２の優先順位情報に基づく第２の優先ルールに従ってアクセス要求の調停を行うことを特徴とするリソース管理装置。
【請求項１４】
請求項１３記載のリソース管理装置において、
前記バス調停情報操作部は、前記複数のマスタの各々について前記残り優先許可カウントに関する情報をアクセス履歴情報として管理し、当該アクセス履歴情報をもとに前記第２の優先順位情報を操作することを特徴とするリソース管理装置。
【請求項１５】
請求項２記載のリソース管理装置において、
前記バス調停情報操作部は、設定された第１のバス調停情報群を管理し、当該第１のバス調停情報群をもとに前記第１のバス調停情報を操作することを特徴とするリソース管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマスタが少なくとも１つの共有リソースへのアクセス要求をそれぞれ発行するシステムにおいて、各マスタから共有リソースへのアクセス要求を調停するためのリソース管理装置に関するものである。
【背景技術】
【０００２】
システムＬＳＩの内部では、マイクロプロセッサ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ等の複数のマスタが、メモリ、周辺Ｉ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）コントローラ等の共有リソースにアクセスする。ここで、各マスタから共有リソースへのアクセス要求を効率的に調停するためのリソース管理装置が必要である。
【０００３】
ある従来技術によれば、予めテーブル形式で持っている各マスタの優先順位情報をもとに、リソース管理装置が一定時間毎にアクセス要求の調停を行う。複数パターンの優先順位情報が当該テーブルに格納されており、調停を行う一定時間毎にパターンが順に切り替えられる。各マスタは優先順位パターンの中で最優先に設定されている回数分のアクセス許可を受けることができ、各マスタの最低アクセスバンド幅を保証することが可能である（特許文献１参照）。
【特許文献１】特開２００４−２４６８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように各調停時刻において最優先順位を持つマスタを予め決めておくシステムでは、アクセス要求の発生タイミングに時間的な偏りが生じた場合に問題が生じる。例えば、１周期内の各調停時刻に均等に最優先順位が割り当てられているマスタが当該周期内の前半に集中してアクセス要求を行ったとき、当該マスタに所望のアクセスバンド幅を保証できず、アクセス効率の低下を招くことになる。最優先順位が割り当てられた調停時刻とアクセス要求の発生タイミングとが必ずしも一致しないからである。
【０００５】
また、各マスタがどのタイミングでアクセス要求を行うかが一定しない場合には、アクセス効率の低下を避けるように各調停時刻において最優先順位を持つマスタを予め決めておくことは困難である。
【０００６】
また、特定のマスタに偏って最優先順位が与えられた場合、アクセス許可を受けるマスタの順序に偏りが生じ、同一マスタに対するアクセス許可が集中して共有リソースへのワーストレイテンシが悪化するという課題があった。
【０００７】
また、共有リソースがＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の場合、ＳＤＲＡＭはリード（読み出し）アクセスとライト（書き込み）アクセスとの切り替え処理が必要であることから、マスタに対するアクセス許可順序によって、リードアクセスとライトアクセスとが交互に発生する回数が増加すると、スループットが低下するという課題があった。また共有リソースが複数存在してその各々に並列にアクセス可能な場合や、共有リソースが複数バンクからなるＳＤＲＡＭの場合、同一の共有リソース又はＳＤＲＡＭの同一バンクに対して連続してアクセス許可を与えると、アクセス効率が悪化するという課題があった。
【０００８】
本発明の目的は、同一マスタに対するアクセス許可の集中を回避してワーストレイテンシを低減し、アクセスバンド幅の保証精度を向上することができるリソース管理装置を提供することにある。
【０００９】
本発明の他の目的は、共有リソースへのアクセス効率が向上する順番でアクセス許可を与えることでアクセス効率を向上させることができるリソース管理装置を提供することにある。
【００１０】
本発明の更に他の目的は、同一マスタに対するアクセス許可の集中を回避しつつ、共有リソースの種類に応じてアクセス効率を向上させることができるリソース管理装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明では、各マスタに関する設定値である調停情報を操作するための調停情報操作部を設ける。
【００１２】
同一マスタに対するアクセス許可の集中を回避する場合、調停情報操作部は、１つの調停情報から複数の部分調停情報を生成し、当該部分調停情報をもとに調停情報管理部の調停情報を操作する。
【００１３】
共有リソースの種類に適した調停を行うことによりスループットを向上させる場合には、調停情報操作部は、アクセスが干渉しないマスタ同士に連続してアクセス許可を与えるように複数の部分調停情報を生成する。
【００１４】
マスタが設定値どおりのバンド幅を取得しそこなった場合には、調停情報操作部は、バンド幅取得状況に応じて、バンド幅を設定値に近づけるように調停情報を操作する。
【発明の効果】
【００１５】
本発明によれば、同一マスタのアクセス許可集中を回避できるため、共有リソースへのワーストレイテンシを低減でき、アクセスバンド幅の保証精度が悪化することを回避することができる。更に、共有リソースへのアクセス効率が向上する順番で各マスタへアクセス許可を与えることでスループットを向上させることができ、バンド幅取得状況に応じて調停情報を操作することで、バンド幅の保証精度を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。以下の説明において、各バスマスタは、データアクセスを行うためのアドレス信号、制御信号等を能動的に送出する機能を有するものである。一般に、１つの機能ブロックはバス接続のための複数のインターフェースを持ち、いくつかはバスマスタとして機能し、いくつかはバススレーブとして機能する。例えば、ハーバードアーキテクチャ（Ｈａｒｖａｒｄ  ａｒｃｈｉｔｅｃｔｕｒｅ）のプロセッサは、インストラクション用バスマスタと、データ用バスマスタとを有する。
【００１７】
図１は、本発明に係るリソース管理装置の構成例を示している。図１に示したリソース管理装置１０９は、３つのバスマスタ１０１，１０２，１０３と共有リソース１１１との間に介在しており、バス調停部１０４と、バス調停情報操作部１０５と、バス調停情報管理部１０７と、リソース制御部１１０とを備えている。１０８はバス調停情報管理部１０７が管理する第１のバス調停情報であり、１０６はバス調停情報操作部１０５が管理する第２のバス調停情報である。第１、第２及び第３のバスマスタ１０１，１０２，１０３は、それぞれバス１１２，１１３，１１４を介してバス調停部１０４に接続されている。これら第１〜第３のバスマスタ１０１〜１０３とリソース管理装置１０９とは、１つのデータ処理システム１００を構成している。
【００１８】
バス調停情報管理部１０７は、第１〜第３のバスマスタ１０１〜１０３の各々が所定時間内にアクセス許可を受け得る最低限の回数である第１の設定値と、これらのバスマスタ１０１〜１０３の間の優先順位情報とを、第１のバス調停情報１０８として管理している。一方、第１〜第３のバスマスタ１０１〜１０３はそれぞれ任意の時刻に共有リソース１１１へのアクセス要求を発行する。バス調停部１０４は、第１のバス調停情報１０８をもとに第１〜第３のバスマスタ１０１〜１０３からのアクセス要求を調停し、この調停により選択された１つのアクセス要求をリソース制御部１１０に伝える。この際、バス調停部１０４は、２以上のバスマスタが同時にアクセス要求を行っている場合、当該２以上のアクセス要求マスタのうち、所定時間内にアクセス許可を受けた回数が第１のバス調停情報１０８中の第１の設定値に満たないバスマスタに対して優先的にアクセス許可を与える。また、２以上のアクセス要求マスタのうち所定時間内にアクセス許可を受けた回数が第１の設定値に満たないバスマスタが複数存在する場合には、バス調停情報管理部１０７が管理するバスマスタ１０１〜１０３間の優先順位情報に基づく優先ルールに従って、バス調停部１０４がアクセス要求の調停を行う。リソース制御部１１０は、バス調停部１０４によって選択されたバスマスタと共有リソース１１１との間のデータ転送制御を行う。バス調停情報操作部１０５は、第１〜第３のバスマスタ１０１〜１０３の各々が所定時間内にアクセス許可を受け得る最低限の回数に関する第２の設定値を、第２のバス調停情報１０６として１つ以上管理し、第１〜第５の実施形態として後述する方法に従って、第２のバス調停情報１０６をもとに第１のバス調停情報１０８を操作する。
【００１９】
図１における第１〜第３のバスマスタ１０１，１０２，１０３から共有リソース１１１へのアクセス要求を調停する際の基本動作を説明する。ここでは、２０回の調停動作のうち９回、９回、２回のアクセス許可をそれぞれ第１、第２及び第３のバスマスタ１０１，１０２，１０３に与えたいとの要望があるものとする。各アクセス許可に対して共有リソース１１１への一定量のアクセスが行えるものとすると、第１、第２及び第３のバスマスタ１０１，１０２，１０３に対して、それぞれ４５％、４５％、１０％のアクセスバンド幅が保証されることとなる。
【００２０】
図２は、図１中の第１のバス調停情報１０８の例の１つを示している。図２の第１の期間（ｔ）２２０は、バス調停部１０４が所定時間内に調停を行う回数を示す。ここでは「２０」が第１の期間２２０として設定されているので、２０調停間隔が第１の期間２２０に相当する。図２において、２２１は第１のカウント上限値、２２２は第１のアクセス許可カウント、２２３は第１の優先順位情報、２２４は第２の優先順位情報である。第１の優先順位情報２２３は、第１のカウント上限値２２１及び第１のアクセス許可カウント２２２から判断される残り優先許可カウントが多いほど高い優先順位を持つことを示す。残り優先許可カウントは、第１のカウント上限値２２１から第１のアクセス許可カウント２２２を減算することで算出される。第２の優先順位情報２２４は、残り優先許可カウントが等しい場合に、第１のバスマスタ１０１、第２のバスマスタ１０２、第３のバスマスタ１０３の順の固定優先順位を持つことを示す。つまり、ここでは第２の優先順位情報２２４の設定数値が小さいほど固定優先順位が高いものとする。
【００２１】
図３は、図２の第１のバス調停情報１０８をもとにした調停例を示している。図３の例では、第１〜第３のバスマスタ１０１〜１０３の全てが常にアクセス要求を行っている。図３の矢印はアクセス要求が出ている期間を示す。白星印はある調停時刻において、あるバスマスタがアクセス許可を受けたことを示す。矢印の下の数値は、各調停間隔における第１〜第３のバスマスタ１０１〜１０３の第１のアクセス許可カウント２２２を示している。括弧内の数値は第１〜第３のバスマスタ１０１〜１０３の残り優先許可カウントを示している。黒星印は、共有リソース１１１へのアクセスのアクセス属性が変化することを示している。図３の例では、第１のバスマスタ１０１と第３のバスマスタ１０３とのアクセス属性が同じで、第２のバスマスタ１０２のアクセス属性が異なるものとしている。アクセス属性とは、例えば、アクセス方向であるリード、ライトに関する属性や、複数のアクセスアドレスの範囲に関する属性である。
【００２２】
図３によれば、調停時刻０において、全てのバスマスタの第１のアクセス許可カウント２２２が０であり、第１のカウント上限値２２１に満たないので、全てのバスマスタに対して第１の優先順位情報２２３をもとに調停が行われる。この場合、第１のバスマスタ１０１と第２のバスマスタ１０２との残り優先許可カウントが最も多い。この結果、両者ともに残り優先許可カウントが等しいため、第２の優先順位情報２２４に従って第１のバスマスタ１０１がアクセス許可を得る。バス調停部１０４が第１のバスマスタ１０１にアクセス許可を与えると、バス調停情報管理部１０７は第１のバスマスタ１０１に該当する第１のアクセス許可カウント２２２を１つだけインクリメントする。次に調停時刻１において、第１〜第３のバスマスタ１０１〜１０３の全てがアクセス要求を行っている。この調停時刻１では、全てのバスマスタの第１のアクセス許可カウント２２２が第１のカウント上限値２２１に満たないので、全てのバスマスタに対して第１の優先順位情報２２３をもとに調停が行われる。この結果、残り優先許可カウントが最も多い第２のバスマスタ１０２がアクセス許可を得る。仮に第１のアクセス許可カウント２２２が第１のカウント上限値２２１に満たないバスマスタからのアクセスがなく、第１のアクセス許可カウント２２２が第１のカウント上限値２２１に達したバスマスタだけからアクセス要求が発生している場合は、第２の優先順位情報２２４から判断して、優先順位が高いアクセス要求バスマスタがアクセス許可を得る。以下同様に調停を行い、調停時刻１９における調停が完了すると、第１のアクセス許可カウント２２２は０にリセットされ、第１の期間２２０の調停が完了する。以下、周期的に同様の調停が行われる。
【００２３】
次に、バス調停情報操作部１０５が第１のバス調停情報１０８を操作する際の５個のバリエーションを、第１〜第５の実施形態として説明する。ここでは、２０回の調停動作のうち９回、９回、２回のアクセス許可をそれぞれ第１、第２及び第３のバスマスタ１０１，１０２，１０３に与えたいとの要望があるものとする。各アクセス許可に対して共有リソース１１１への一定量のアクセスが行えるものとすると、第１、第２及び第３のバスマスタ１０１，１０２，１０３に対して、それぞれ４５％、４５％、１０％のアクセスバンド幅が保証されることとなる。
【００２４】
《第１の実施形態》
図４は、図１中の第２のバス調停情報１０６の第１の例を示している。４２０は第２の期間（Ｔ）、４２１はバスマスタ毎に設定された第２のカウント上限値である。図４の第２の期間４２０は、バス調停部１０４が所定時間内に調停を行う回数を示す。ここでは「２０」が第２の期間４２０として設定されているので、２０調停間隔が第２の期間４２０に相当する。第２のカウント上限値４２１は第１〜第３のバスマスタ１０１〜１０３の各々が第２の期間４２０内にアクセス許可を受ける最低限の回数を表しており、第２のカウント上限値４２１の合計が第２の期間４２０の設定値と等しくなるように予め設定される。ここでの第２のカウント上限値４２１は、第１、第２及び第３のバスマスタ１０１，１０２，１０３に対してそれぞれ９、９、２となっている。
【００２５】
図５は、図４の第２のカウント上限値４２１をもとに第１の期間群（ｔ１〜ｔ４）５２０と第１のカウント上限値群５２１とを生成した例であり、第１の期間群５２０は４つの第１の期間を持ち、第１のカウント上限値群５２１は４つの第１のカウント上限値を持っている。図５の第１の期間群５２０の各々は、第１のカウント上限値群５２１の各々の列に対する全バスマスタの総和である。図５の第１の期間群５２０の総和は図４の第２の期間４２０に一致させ、図５の各バスマスタに対する第１のカウント上限値群５２１の総和は、図４の各バスマスタに対する第２のカウント上限値４２１に一致させる。また図５の第１のカウント上限値群５２１の各バスマスタの隣り合う列の値の差の絶対値は０又は１であり、第２のカウント上限値４２１を平均的に分散したものとなる。
【００２６】
図６は、分割数（＝Ｎ）が２のべき乗の場合に第２のカウント上限値４２１から第１のカウント上限値群５２１を生成するアルゴリズムの１つを示す図である。図６において、ステップＳ６１の処理は初期化である。ここに、「／」は除算を、「％」は除算の余りを求める演算をそれぞれ示す。図４の各バスマスタの第２のカウント上限値４２１に対して、図６のステップＳ６２、Ｓ６３及びＳ６４の処理を順次実行することで、図５の各バスマスタの第１のカウント上限値群５２１の列を順次生成する。図６において「分割余り」と「調整値」はｌｏｇ2Ｎの値のビット数の整数であり、「分割余り」と「調整値」に関する演算はｌｏｇ2Ｎの値のビット数の演算である。つまり、分割数（＝Ｎ）が４ならば、「分割余り」と「調整値」は２ビットの整数であり、「分割余り」と「調整値」に関する演算は２ビットの演算である。
【００２７】
図６に示したアルゴリズムを使って、図４の第２のカウント上限値４２１から図５の第１のカウント上限値群５２１を生成する過程を第１のバスマスタ１０１について説明する。第２のカウント上限値４２１を４つに分割するので、図６の「分割数」（＝Ｎ）は４であり、「調整値」に関する演算は２ビットの演算である。ステップＳ６１の実行結果は、「分割数」＝Ｎ＝４、「分割値」＝９／４＝２、「分割余り」＝９％４＝１、「調整値」＝０、「処理回数」＝０である。次にステップＳ６２を実行すると、「調整値」＝「調整値」＋「分割余り」＝０＋１＝１（オーバーフローなし）、「調整値＿ｏｖｅｒ＿ｆｌｏｗ」＝０、「処理回数」＝１となる。次にステップＳ６３を実行すると、１番目の第１のカウント上限値＝「分割値」＋「調整値＿ｏｖｅｒ＿ｆｌｏｗ」＝２＋０＝２となり、第１のカウント上限値が１つ生成される。ステップＳ６４では、「処理回数」（＝１）が「分割数」（＝４）に等しくないので、ステップＳ６２に戻る。次にステップＳ６２を実行すると、「調整値」＝１＋１＝２（オーバーフローなし）、「調整値＿ｏｖｅｒ＿ｆｌｏｗ」＝０、「処理回数」＝２となる。次にステップＳ６３を実行すると、２番目の第１のカウント上限値＝２＋０＝２となり、第１のカウント上限値の２つ目が生成される。ステップＳ６４では、「処理回数」（＝２）が「分割数」（＝４）に等しくないので、ステップＳ６２に戻る。次にステップＳ６２を実行すると、「調整値」＝２＋１＝３（オーバーフローなし）、「調整値＿ｏｖｅｒ＿ｆｌｏｗ」＝０、「処理回数」＝３となる。次にステップＳ６３を実行すると、３番目の第１のカウント上限値＝２＋０＝２となり、第１のカウント上限値の３つ目が生成される。ステップＳ６４では、「処理回数」（＝３）が「分割数」（＝４）に等しくないので、ステップＳ６２に戻る。次にステップＳ６２を実行すると、「調整値」＝３＋１＝０（オーバーフローあり）、「調整値＿ｏｖｅｒ＿ｆｌｏｗ」＝１、「処理回数」＝４となる。次にステップＳ６３を実行すると、４番目の第１のカウント上限値＝２＋１＝３となり、第１のカウント上限値の４つ目が生成される。ステップＳ６４では、「処理回数」（＝４）が「分割数」（＝４）に等しいので、ループを抜けて処理を終える。以上のようにして、第１のバスマスタ１０１の第１のカウント上限値群５２１が２、２、２、３として生成される。
【００２８】
図７は、バス調停情報操作部１０５が図４の第２のバス調停情報１０６をもとに図５の第１の期間群５２０と第１のカウント上限値群５２１とを生成し、生成された第１の期間群５２０の各々と第１のカウント上限値群５２１の各々とを順次、バス調停情報管理部１０７が管理する第１のバス調停情報１０８に設定した例を示している。バス調停情報管理部１０７が管理する第１のバス調停情報１０８をバス調停情報操作部１０５が操作するタイミングは、第１のバス調停情報１０８の第１の期間２２０が経過し、第１のバス調停情報１０８の第１のアクセス許可カウント２２２を０にリセットするタイミングと同じである。
【００２９】
図７において横方向は時間を示しており、縦線で示される各時刻においてバス調停部１０４が調停を行う。これらの時刻を「調停時刻」と呼ぶ。図７の矢印はアクセス要求が出ている期間を示しており、図７の白星印はアクセス許可を受けたことを示し、図７の矢印の下に書かれた数値は第１の期間２２０の間の第１のアクセス許可カウント２２２を示しており、括弧内の数値は第１のバス調停情報１０８の第１のカウント上限値２２１から第１のアクセス許可カウント２２２を引いた値である残り優先許可カウントを示している。残り優先許可カウントが大きいほど優先順位は高くなる。
【００３０】
図７を具体的に説明する。図７において、第１〜第３のバスマスタ１０１〜１０３は常にアクセス要求を行っているものとし、図７の一番左端の第１の期間（ｔ１）２２０が始まる前に図５の第１の期間群５２０の一番左の値と第１のカウント上限値群５２１の一番左の列とをバス調停情報１０８として、バス調停情報操作部１０５がバス調停情報管理部１０７に設定しているものとする。図７の一番左端の第１の期間２２０の調停時刻０において、第１のバスマスタ１０１と第２のバスマスタ１０２との残り優先許可カウントが等しいので、第２の優先順位情報２２４をもとに調停が行われる。この結果、最も高い優先順位を持つ第１のバスマスタ１０１がアクセス許可を得る。バス調停部１０４が第１のバスマスタ１０１にアクセス許可を与えると、バス調停情報管理部１０７は第１のバスマスタ１０１に該当する第１のアクセス許可カウント２２２を１つだけインクリメントする。次に図７の一番左端の第１の期間２２０の調停時刻１において、残り優先許可カウントが一番大きいマスタは第２のバスマスタ１０２なので、第２のバスマスタ１０２がアクセス許可を得る。図７の一番左端の第１の期間２２０の調停時刻２と３も同様に調停が行われる。図７の一番左端の第１の期間２２０の調停時刻３の調停が終わると一番左端の第１の期間２２０の調停が完了する。図７の一番左端の第１の期間２２０の調停が完了すると、図５の第１の期間群５２０の左から２番目の値と図５の第１のカウント上限値群５２１の左から２番目の列の値とを第１のバス調停情報１０８として、バス調停情報操作部１０５がバス調停情報管理部１０７に設定する。以降、同様に調停と第１のバス調停情報１０８の操作とを繰り返す。
【００３１】
以上のように、図４〜図７によれば、バス調停情報操作部１０５が第２のバス調停情報１０６をもとに各バスマスタに対する第１のカウント上限値２２１が平均的に分散するように第１の期間群５２０及び第１のカウント上限値群５２１を生成し、その中の１組をバス調停情報管理部１０７で管理される第１のバス調停情報１０８として設定することで、第２のカウント上限値４２１の大きさに偏りが発生した場合でも、アクセス許可の集中を緩和し、アクセス待ちの期間の最大値（ワーストレイテンシ）を低減することができる。
【００３２】
なお、図５が示すような第１の期間群５２０の各々及び第１のカウント上限値群５２１の各々を２つ以上又は全部を予め生成してもよいし、第１の期間２２０が経過するたびに１つずつ第１の期間２２０及び第１のカウント上限値２２２を生成してもよい。また、第２のバス調停情報１０６から図５のような第１の期間群５２０及び第１のカウント上限値群５２１を生成する場合、第２のバス調停情報１０６の各々のマスタの第２のカウント上限値４２１を２倍以上に変更してから第１の期間群５２０及び第１のカウント上限値群５２１を生成してもよい。また、図５は第１のカウント上限値群５２１の各バスマスタの隣り合う列の値の差の絶対値を０又は１にすることで平均的に分散させた１つの例であるが、第１のカウント上限値群５２１の各バスマスタの隣り合う列の差の絶対値は２以上でも良く、また平均的に分散させることができれば図６に示したアルゴリズムである必要はない。第１の期間群５２０と第１のカウント上限値群５２１との分割数は４に限らず、２以上であればよい。
【００３３】
《第２の実施形態》
図８は、図１中の第２のバス調停情報１０６の第２の例を示している。８２０は第２の期間（Ｔ）、８２１はバスマスタ毎に設定された第２のカウント上限値、８２２はバスマスタをグループ分けするためのグループ情報である。図８の第２の期間８２０は、バス調停部１０４が所定時間内に調停を行う回数を示す。ここでは「２０」が第２の期間８２０として設定されているので、２０調停間隔が第２の期間８２０に相当する。図８の第２のカウント上限値８２１は第１〜第３のバスマスタ１０１〜１０３の各々が第２の期間８２０内にアクセス許可を受ける最低限の回数を表しており、第２のカウント上限値８２１の合計が第２の期間８２０の設定値と等しくなるように予め設定される。ここでの第２のカウント上限値８２１は、第１、第２及び第３のバスマスタ１０１，１０２，１０３に対してそれぞれ９、９、２となっている。図８のグループ情報８２２は、バスマスタのアクセスの方向であるリード属性とライト属性との２つのアクセス属性からなる。ライト属性は、バスマスタのアクセスがリードよりライトが多いバスマスタであることを示し、リード属性は、バスマスタのアクセスがライトよりリードが多いバスマスタであることを示す。
【００３４】
図９は、図８の第２のバス調停情報１０６をもとに第１の期間群（ｔ１〜ｔ２）９２０と第１のカウント上限値群９２１とを生成した１つの例である。図９の第１の期間群９２０の各々は、第１のカウント上限値群９２１の各々の列ごとの総和である。図９の第１の期間群９２０の総和は図８の第２の期間８２０に一致させ、図９の各バスマスタに対する第１のカウント上限値群９２１の総和は図８の各バスマスタに対する第２のカウント上限値８２１に一致させる。生成された第１のカウント上限値群９２１の各々は、リード属性を持つバスマスタのカウント上限値のグループとライト属性を持つバスマスタのカウント上限値のグループとの２つに分けることで、第１のカウント上限値群９２１を生成している。
【００３５】
図１０は、バス調停情報操作部１０５が図８の第２のバス調停情報１０６をもとに図９の第１の期間群９２０と第１のカウント上限値群９２１とを生成し、生成された第１の期間群９２０の各々と第１のカウント上限値群９２１の各々とを順次、バス調停情報管理部１０７が管理する第１のバス調停情報１０８に設定したときの調停例を示している。バス調停情報管理部１０７が管理する第１のバス調停情報１０８をバス調停情報操作部１０５が操作するタイミングは、第１のバス調停情報１０８の第１の期間２２０が経過し、第１のバス調停情報１０８の第１のアクセス許可カウント２２２を０にリセットするタイミングと同じである。図１０の黒星印は、共有リソース１１１へのアクセスのアクセス属性が変化することを示している。
【００３６】
図８〜図１０によれば、共有リソース１１１に対するアクセスのアクセス属性の変化回数を減少させることができる。共有リソース１１１がＳＤＲＡＭの場合にはリードとライトとの切り替え時に切り替え処理が必要となりアクセス効率が悪化するため、リードとライトとの切り替え回数を減少させることが共有リソース１１１へのアクセス効率を向上させることにつながる。
【００３７】
なお、図８の第２のバス調停情報１０６をもとに図９の第１の期間群９２０の各々及び第１のカウント上限値群９２１の各々を生成するタイミングは、バス調停情報操作部１０５がバス調停情報管理部１０７で管理される第１のバス調停情報１０８を操作するタイミングごとに１つずつ生成してもよいし、予め図９のような第１の期間群９２０及び第１のカウント上限値群９２１の全てを生成してもよい。
【００３８】
図１１は、図８の第１の変形例を示している。１１２０は第２の期間（Ｔ）、１１２１はバスマスタ毎に設定された第２のカウント上限値、１１２２はバスマスタをグループ分けするためのグループ情報である。図１１のグループ情報１１２２は、バスマスタのアクセスのアドレス範囲を表しているアドレス属性からなる。図１１においてアドレス属性は第１のアドレス属性と第２のアドレス属性との２つである。ＳＤＲＡＭへアクセスする場合に使用するアドレスとして、チップ、バンク、ロウ、カラムアドレスがある。ＳＤＲＡＭの特徴として、同一バンクに対してロウアドレスの切り替えを行う際に切り替え処理が必要となり、スループットが低下してしまう。そのため、同一バンクへ連続してアクセスを行うことを減少させることで、切り替え処理を減少させることができる。共有リソース１１１が２つ以上で構成され、その各々に並列アクセスができるとき、同じ共有リソースに対して連続してアクセス許可を与えるのではなく、異なる共有リソースに対して交互にアクセス許可を与えることによりアクセス競合が減少し、アクセス効率を向上させることができる。
【００３９】
図１１に示した第１のアドレス属性及び第２のアドレス属性は、異なるバンクアドレスにアクセスする頻度が高いバスマスタ同士の集合とする。なお第１のアドレス属性及び第２のアドレス属性は、異なる共有リソースごとにアクセスする頻度が高いバスマスタ同士の集合であってもよいし、各属性に任意にアドレス範囲を指定してもよい。
【００４０】
図１１によれば、共有リソース１１１に対するアクセスのアクセス属性の変化回数を減少させることができる。その結果、同一バンクにおけるロウアドレス切り替え処理を減少し、スループットを向上させることができる。
【００４１】
図１２は、図８の第２の変形例を示している。１２２０は第２の期間（Ｔ）、１２２１はバスマスタ毎に設定される第２のカウント上限値、１２２２はバスマスタをグループ分けするグループ情報である。図１２のグループ情報１２２２は、バスマスタをグループ化するためのマスタ属性、すなわち第１のマスタ属性と第２のマスタ属性との２つからなる。同じ第１の期間２２０内に調停を行わせたいバスマスタを同じマスタ属性に設定する。ここでは、第１及び第３のバスマスタ１０１，１０３を第１のマスタ属性とし、第２のバスマスタ１０２を第２のマスタ属性とする。
【００４２】
図１２によれば、特定のバスマスタ１０２に対して優先的に調停を行う期間を作ることができる。その結果、各バスマスタに割り当てられたアクセスバンド幅を保証しつつ、優先的に調停を行う期間の中では特定のバスマスタのレイテンシを向上させることができる。なお、マスタ属性の数は３つ以上でもよいし、１つのマスタ属性に属するバスマスタの数は２つ以上でもよい。
【００４３】
図１３は、図８の第２のカウント上限値８２１をもとに第１の期間群（ｔ１〜ｔ８）１３２１と第１のカウント上限値群１３２２とを生成した他の例である。まず、図８の第２のカウント上限値８２１をもとに、図５の第１のカウント上限値群５２１と同様の第１のカウント上限値群１３２０を生成する。図１３の各バスマスタに対する第１のカウント上限値１３２０の総和は図８の各バスマスタに対する第２のカウント上限値８２１に一致させる。また図１３の第１のカウント上限値群１３２０の各バスマスタの隣り合う列の値の差の絶対値は０又は１である。次に第１のカウント上限値群１３２０の各列をグループ属性別に分割し、第１のカウント上限値群１３２２を生成する。第１の期間群１３２１の各々は第１のカウンタ上限値群１３２２の各列の総和である。結果として、図１３の第１の期間群１３２１の総和は図８の第２の期間８２０に一致し、図１３の第１のカウント上限値群１３２２のマスタ毎の総和は図８の第２のカウント上限値８２１に一致する。
【００４４】
図１４は、バス調停情報操作部１０５が図８の第２のバス調停情報１０６をもとに図１３の第１の期間群１３２１と第１のカウント上限値群１３２２とを生成し、生成された第１の期間群１３２１の各々と第１のカウント上限値群１３２２の各々とを順次、バス調停情報管理部１０７が管理する第１のバス調停情報１０８に設定したときの調停例を示している。
【００４５】
図１４によれば、全体的にはアクセス集中が減少し、レイテンシを低減できる。また部分的にアクセス属性が同じバスマスタ同士を部分的な期間内に優先的に調停を行うことで、共有リソース１１１に対するアクセスのアクセス属性の変化回数を減少できる。そのため、共有リソース１１１がＳＤＲＡＭの場合、アクセス効率を向上させることができる。
【００４６】
なお、図８の第２のバス調停情報１０６をもとに図１３の第１の期間群１３２１の各々と第１のカウント上限値群１３２２の各々を生成するタイミングは、バス調停情報操作部１０５がバス調停情報管理部１０７で管理される第１のバス調停情報１０８を操作するタイミング毎に１つずつ生成してもよいし、予め図１３のような第１の期間群１３２１と第１のカウント上限値群１３２１を全て生成してもよい。
【００４７】
グループ情報１１２２としてアドレス属性を用いる図１１の例や、グループ情報１２２２としてマスタ属性を用いる図１２に例においても、図１３に示した方法を同様に適用することが可能である。
【００４８】
《第３の実施形態》
図１５は、図１中の第２のバス調停情報１０６の第３の例を示している。１５２０は第２の期間（Ｔ）、１５２１はバスマスタ毎に設定された第２のカウント上限値、１５２２はグループ情報、１５２３はアクセス履歴情報である。図１５のグループ情報１５２２はバスマスタのアクセスの方向であるリード属性とライト属性との２つのアクセス属性からなる。ライト属性は、バスマスタのアクセスがリードよりライトが多いバスマスタであることを示し、リード属性は、バスマスタのアクセスがライトよりリードが多いバスマスタであることを示す。図１５のアクセス履歴情報１５２３は、第２の期間１５２０に行われたアクセスについて、バスマスタ毎にリードアクセス回数とライトアクセス回数とをカウントした値を持つ。これらの値は次の第２の期間１５２０を開始する直前に０にクリアされる。このアクセス履歴情報１５２３をもとに各バスマスタにグループ情報１５２２を設定する。アクセス履歴情報１５２３において、ライト回数よりリード回数が多いバスマスタにはリード属性を、リード回数よりライト回数が多いバスマスタにはライト属性をグループ情報１５２２に設定する。グループ情報１５２２に設定するタイミングは、次の第２の期間１５２０を開始する直前であり、アクセス履歴情報１５２３のカウント値を０にリセットする直前である。
【００４９】
図１５によれば、バスマスタのアクセス状況に応じてリード属性とライト属性からなるグループ情報１５２２を生成することができる。ＳＤＲＡＭではリードとライトとの切り替えが多いほど、アクセス効率が低下する。そのため共有リソース１１１がＳＤＲＡＭの場合、リードとライトとの切り替え回数が減少するような順番でバスマスタにアクセス許可を与えることでアクセス効率を向上させることができる。
【００５０】
なお、アクセス履歴情報１５２３のカウント数を０にリセットするタイミングは第２の期間１５２０が２回以上経過してからでもよく、グループ情報１５２２にリード属性又はライト属性を設定するタイミングも同様に第２の期間１５２０が２回以上経過してからでもよい。
【００５１】
図１６は、図１５の変形例を示している。１６２０は第２の期間（Ｔ）、１６２１はバスマスタ毎に設定された第２のカウント上限値、１６２２はグループ情報、１６２３はアクセス履歴情報である。図１６のグループ情報１６２２はバスマスタのアクセスのアドレス範囲を表しているアドレス属性からなる。図１６においてアドレス属性は第１のアドレス属性と第２のアドレス属性との２つである。図１６のアクセス履歴情報１６２３はバスマスタがアクセスした回数をアドレス範囲ごとにカウントした結果を格納する。図１６ではアドレス範囲は第１のアドレス範囲と第２のアドレス範囲との２つである。図１６のアクセス履歴情報１６２３は、第２の期間１６２０に行われたアクセスについて、バスマスタ毎に第１のアドレス範囲へのアクセス回数と第２のアドレス範囲へのアクセス回数とをカウントした値を持つ。これらの値は次の第２の期間１６２０を開始する前に０にクリアされる。このアクセス履歴情報１６２３をもとに各バスマスタのグループ情報１６２２を設定する。
【００５２】
図１６によれば、バスマスタのアクセス状況に応じてアドレス属性からなるグループ情報１６２２を生成することができる。アクセス属性が同じバスマスタ同士を部分的な期間内に優先的に調停を行うことで、共有リソース１１１に対するアクセスのアクセス属性の変化回数をアクセス状況に応じて減少できる。
【００５３】
《第４の実施形態》
図１７は、図１中の第２のバス調停情報１０６の第４の例を示している。１７２０は第２の期間（Ｔ）、１７２１は第２のカウント上限値、１７２２はアクセス履歴情報である。図１７のアクセス履歴情報１７２２は、第１のカウント上限値２２１から第１のアクセス許可カウント２２２を引いた値である残り優先許可カウントである。第１の期間２２０が経過するごとに残り優先許可カウントの大きさを調べて、残り優先許可カウントが大きいバスマスタの順に優先順位が高くなるように第２の優先順位情報２２４を設定する。そして第２の優先順位情報２２４を設定した後に第１のカウント上限値２２１をアクセス履歴情報１７２２に設定する。以降、第１の期間２２０が経過するごとに繰り返す。
【００５４】
図１７によれば、アクセス状況に応じて、残り優先許可カウントが大きいバスマスタ順に、バスマスタの優先順位が高くなるように第２の優先順位情報２２４が設定されることになる。これにより、１回前の第１の期間２２０にアクセス要求を出すことができなかったバスマスタが次の第１の期間２２０にアクセス許可を得る可能性を大きくし、第１のカウント上限値２２２の設定によるバンド幅保証の精度を高めることができる。
【００５５】
なお、第１の期間２２０が２回以上経過するごとに、第２の優先順位情報２２４の設定を行ってもよい。この場合、アクセス履歴情報１７２２のリセットタイミングも合わせる。リセット時の残り優先許可カウントの値は、第１の期間２２０が経過した回数が示す値を第１のカウント上限値２２１の値に乗算した値である。
【００５６】
また、第１〜第３の実施形態と第４の実施形態とを組み合わせることも可能である。
【００５７】
《第５の実施形態》
図１８は、図１中の第２のバス調停情報１０６の第５の例を示している。１８２０は第１の期間群（ｔ１〜ｔ８）、１８２１はバスマスタ毎に設定された第１のカウント上限値群である。ここでは、バス調停情報操作部１０５が、予め設定された第１の期間群１８２０及び第１のカウント上限値群１８２１を管理し、これらをもとに第１のバス調停情報１０８を操作する。図１８に示した例は、前述の図１３の例に対応したものであって、第１の期間２２０が経過するたびに、第１の期間群１８２０と第１のカウント上限値群１８２１との列を左から順次、バス調停情報管理部１０７の第１のバス調停情報１０８に設定する。図１８の例では第１の期間群１８２０の各々の総和は２０であり、第１のバスマスタ１０１の第１のカウント上限値群１８２１の総和は９、第２のバスマスタ１０２の第１のカウント上限値群１８２１の総和は９、第３のバスマスタ１０３の第１のカウント上限値群１８２１の総和は２である。よって、第１〜第３のバスマスタ１０１〜１０３はそれぞれ４５％、４５％、１０％の割合でアクセス許可を受けることができる。
【００５８】
以上、第１〜第５の実施形態を説明してきた。上記説明ではバスマスタの個数を３としたが、実際にはその個数は任意であり、バスの形態もマルチレイヤバス等様々な形態をとることが可能である。１つのバスに複数のバスマスタが接続された形態では、これらのバスマスタ間の調停にも本発明が適用可能である。
【００５９】
なお、調停ルールは、第１の期間２２０、第１のカウント上限値２２１及び第１のアクセス許可カウント２２２を使って各バスマスタに所望のアクセス許可割合を保証することができるルールであればよい。第１の例は、第１のカウント上限値２２１から第１のアクセス許可カウント２２２を引いた残り優先許可カウントが０より大きいバスマスタ間で固定された優先順位に基づく調停ルールである。第２の例は、残り優先許可カウントが０より大きいバスマスタ間で優先順位を順次変更するラウンドロビン方式の調停ルールである。第３の例は、残り優先許可カウントが０より大きいバスマスタ間で、リードアクセス要求がライトアクセス要求より高い優先順位を持つ調停ルールであるか、又はライトアクセス要求がリードアクセス要求より高い優先順位を持つ調停ルールである。第４の例は、残り優先許可カウントが０より大きいバスマスタ間で最も過去にアクセス許可を受けたマスタほど高い優先順位を示す、いわゆるＬＲＵ（Least Recently Used：最長時間未使用）アルゴリズムに従った調停ルールである。第５の例は、バスマスタ間でアクセス周期と残り優先許可カウントとの積の値が大きいものほど高い優先順位を持つ調停ルールである。第６の例は、残り優先許可カウントが最も大きいマスタが最優先となるように優先順位を順次変更するラウンドロビン方式の調停ルールである。以上のような調停ルールに対して、アクセス許可を受けたマスタが、その後一定期間アクセス許可を与えられないというルールを追加してもよい。
【産業上の利用可能性】
【００６０】
以上説明してきたとおり、本発明に係るリソース管理装置は、各マスタの最低アクセスバンド幅を保証することができ、更にワーストレイテンシを低減したり、アクセス効率を向上させたり、バンド幅の保証精度を向上させたりすることができるので、システムＬＳＩ等に好適に利用できる。
【図面の簡単な説明】
【００６１】
【図１】本発明に係るリソース管理装置の構成例を示すブロック図である。
【図２】図１中の第１のバス調停情報の１つの例を示す概念図である。
【図３】図２の第１のバス調停情報をもとにした調停例を示すタイミング図である。
【図４】図１中の第２のバス調停情報の第１の例を示す概念図である。
【図５】図４の第２のバス調停情報をもとに生成した第１のバス調停情報群の例を示す概念図である。
【図６】図５の第１のバス調停情報群を生成するときに使うアルゴリズムの１つの例を示すフローチャート図である。
【図７】図５の第１のバス調停情報群をもとにした調停例を示すタイミング図である。
【図８】図１中の第２のバス調停情報の第２の例を示す概念図である。
【図９】図８の第２のバス調停情報をもとに生成した第１のバス調停情報群の第１の例を示す概念図である。
【図１０】図９の第１のバス調停情報群をもとにした調停例を示すタイミング図である。
【図１１】図８の第１の変形例を示す概念図である。
【図１２】図８の第２の変形例を示す概念図である。
【図１３】図８の第２のバス調停情報をもとに生成した第１のバス調停情報群の第２の例を示す概念図である。
【図１４】図１３の第１のバス調停情報群をもとにした調停例を示すタイミング図である。
【図１５】図１中の第２のバス調停情報の第３の例を示す概念図である。
【図１６】図１５の変形例を示す概念図である。
【図１７】図１中の第２のバス調停情報の第４の例を示す概念図である。
【図１８】図１中の第２のバス調停情報の第５の例を示す概念図である。
【符号の説明】
【００６２】
１００  データ処理システム
１０１〜１０３  バスマスタ
１０４  バス調停部
１０５  バス調停情報操作部
１０６  第２のバス調停情報
１０７  バス調停情報管理部
１０８  第１のバス調停情報
１０９  リソース管理装置
１１０  リソース制御部
１１１  共有リソース
１１２〜１１３  バス
２２０  第１の期間
２２１  第１のカウント上限値
２２２  第１のアクセス許可カウント
２２３  第１の優先順位情報
２２４  第２の優先順位情報
４２０，８２０，１１２０，１２２０，１５２０，１６２０，１７２０  第２の期間
４２１，８２１，１１２１，１２２１，１５２１，１６２１，１７２１  第２のカウント上限値
５２０，９２０，１３２１，１８２０  第１の期間群
５２１，９２１，１３２０，１３２２，１８２１  第１のカウント上限値群
８２２，１１２２，１２２２，１５２２，１６２２  グループ情報
１５２３，１６２３，１７２２  アクセス履歴情報
【図１】
2007207024.tif 000003
【図２】
2007207024.tif 000004
【図３】
2007207024.tif 000005
【図４】
2007207024.tif 000006
【図５】
2007207024.tif 000007
【図６】
2007207024.tif 000008
【図７】
2007207024.tif 000009
【図８】
2007207024.tif 000010
【図９】
2007207024.tif 000011
【図１０】
2007207024.tif 000012
【図１１】
2007207024.tif 000013
【図１２】
2007207024.tif 000014
【図１３】
2007207024.tif 000015
【図１４】
2007207024.tif 000016
【図１５】
2007207024.tif 000017
【図１６】
2007207024.tif 000018
【図１７】
2007207024.tif 000019
【図１８】
2007207024.tif 000020