(57)【要約】【課題】排他制御付きの書き込み装置を不要とし、簡易な構成でキュー部への書き込み制御を実現することのできるバス装置を得る。【解決手段】キュー部１０１に、バス使用要求の蓄積アドレス毎に蓄積可能か否かを示すフラグを設ける。バス使用要求格納指示部１０２は、バスマスタ１−１，１−２，…，１−ｎからのバス使用要求をフラグに基づいてキュー部１０１に格納する。バス使用権制御部１０５は、キュー部１０１に蓄積されたバス使用要求の中から、キュー状態監視部１０４の監視情報２０８に基づいてデータ転送を行うためのバス使用要求を選択する。【選択図】図１
2008269491.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタとバススレーブ間のデータ転送を行うためのバス使用要求を一時的に蓄積すると共に、前記バス使用要求の蓄積アドレス毎に蓄積可能か否かを示すフラグを有するキュー部と、
前記バス使用要求を前記フラグに基づいて前記キュー部に格納するバス使用要求格納指示部と、
前記キュー部に蓄積されたバス使用要求の少なくとも待ち時間を監視し、監視結果を監視情報として出力するキュー状態監視部と、
前記キュー部に蓄積されたバス使用要求の中から、前記キュー状態監視部の監視情報に基づいて前記データ転送を行うためのバス使用要求を選択するバス使用権制御部とを備えたバス装置。
【請求項２】
バス使用要求格納指示部は、キュー部のアドレス昇順にバス使用要求を格納していき、最終アドレスまで格納した後は、前記フラグをアドレス昇順に参照していき、未使用のアドレスにバス使用要求を格納することを特徴とする請求項１記載のバス装置。
【請求項３】
バス使用権制御部は、キュー部に蓄積されている複数のバス使用要求の待ち時間が予め設定された閾値を越えている場合に、当該バス使用要求を第１優先で選択すると共に、該当するバス使用要求が複数存在する場合は、待ち時間が最も大きいバス使用要求を選択し、待ち時間が同値のバス使用要求があった場合は固定優先順位によって選択を行うことを特徴とする請求項１または請求項２記載のバス装置。
【請求項４】
バス使用権制御部は、キュー部に蓄積されている複数のバス使用要求の待ち時間が予め設定された閾値を越えていない場合、前記複数のバス使用要求の中でバースト転送要求があるか否かを調べ、該当するバス使用要求が複数存在した場合は、固定優先順位に基づいて選択を行い、該当するバス使用要求が単数であった場合は、当該バス使用要求を選択することを特徴とする請求項１から請求項３のうちのいずれか１項記載のバス装置。
【請求項５】
バス使用権制御部は、キュー部に蓄積されている複数のバス使用要求の待ち時間が予め設定された閾値を越えておらず、かつ、前記複数のバス使用要求の中でバースト転送要求がない場合、バス使用要求のデータ量に基づいて選択を行うことを特徴とする請求項１から請求項４のうちのいずれか１項記載のバス装置。
【請求項６】
キュー状態監視部は、キュー部のフラグが全て使用中を示す場合、当該状態を監視情報としてバス使用要求格納指示部に通知し、当該バス使用要求格納指示部は、通知を受けた場合は、バスマスタから前記キュー部へのバス使用要求の転送を停止することを特徴とする請求項１から請求項５のうちのいずれか１項記載のバス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のバスマスタおよび複数のバススレーブ間に接続され、それら複数のバスマスタおよび複数のバススレーブ間相互のバスを介したデータ転送の制御を行うバス装置に関するものである。
【背景技術】
【０００２】
従来のバス装置は、バスマスタからのリクエストをリクエストデータスレッドという単位で扱うことが可能であり、バスマスタの動作とは独立してバス転送を行うことができ、バスラインを効率良く利用することが出来る（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００５−２８４５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のバス装置では、バスマスタの独立動作実現のために、排他制御付きの書き込み装置が必要になる。この排他制御付きの書き込み装置は数多くのリクエストキュー入力を数多くのレジスタに出力するため、複雑な回路構成を必要とする。その結果、回路をレイアウトする際に、配線混雑を引き起こす可能性があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、排他制御付きの書き込み装置を不要とし、簡易な構成でキュー部への書き込み制御を実現することのできるバス装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るバス装置は、バス使用要求の蓄積アドレス毎に蓄積可能か否かを示すフラグを有するキュー部と、バス使用要求をフラグに基づいてキュー部に格納するバス使用要求格納指示部と、キュー部に蓄積されたバス使用要求の少なくとも待ち時間を監視し、監視結果を監視情報として出力するキュー状態監視部と、キュー部に蓄積されたバス使用要求の中から、キュー状態監視部の監視情報に基づいてデータ転送を行うためのバス使用要求を選択するバス使用権制御部とを備えたものである。
【発明の効果】
【０００７】
この発明のバス装置は、キュー部におけるバス使用要求の蓄積アドレス毎にフラグを設け、このフラグに基づいてバス使用要求を格納すると共に、キュー部に格納されたバス使用要求の少なくとも待ち時間に基づいてデータ転送を行うためのバス使用要求を選択するようにしたので、排他制御付きの書き込み装置を不要とし、簡易な構成でキュー部への書き込み制御を実現することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１によるバス装置を示す構成図である。
図において、バス装置１００は、複数のバスマスタ１−１，１−２，…，１−ｎと、複数のバススレーブ２−１，２−２，…，２−ｎとの間に設けられる装置であり、キュー部１０１、バス使用要求格納指示部１０２、待ち時間算出部１０３、キュー状態監視部１０４、バス使用権制御部１０５、バススレーブ分配部１０６、データバッファ部１０７を備えている。
【０００９】
複数のバスマスタ１−１〜１−ｎは、データ転送を要求する装置であり、複数のバススレーブ２−１〜２−ｎは、複数のバスマスタ１−１〜１−ｎの要求に基づき、バスマスタ１−１〜１−ｎのデータをリード／ライトする装置である。また、バス使用要求信号２０１−１〜２０１−ｎは、それぞれバスマスタ１−１，１−２，…，１−ｎからのバス使用要求信号を示し、転送信号２０２−１〜２０２−ｎは、それぞれバススレーブ２−１，２−２，…，２−ｎへの転送信号を示している。
【００１０】
キュー部１０１は、バス使用要求格納指示部１０２からのバス使用要求格納指示信号２０３に基づいてバス使用要求を保持するバッファであり、蓄積するバス使用要求のアドレス毎に、使用中か否かを示すフラグを有している。
図２は、キュー部１０１内に設けられたフラグの説明図である。
リクエストデータスレッドは、バス使用要求に対応するデータであり、各リクエストデータスレッドのアドレス毎に、使用中か未使用かを示すフラグ（ｆｌａｇ）が用意されている。尚、リクエストデータスレッドの詳細については後述する。
また、キュー部１０１から出力されるキュー状態信号２０４は、キュー状態監視部１０４に通知されるフラグや待ち時間といったキュー部１０１に格納されている各々のリクエストデータスレッドの状態を示す情報である。
【００１１】
バス使用要求格納指示部１０２は、バスマスタ１−１，１−２，…，１−ｎからのバス使用要求（バス使用要求信号２０１−１〜２０１−ｎ）を受け付け、キュー部１０１に格納すると共に、その格納状態に応じてキュー部１０１のフラグの使用状態／未使用状態を設定する機能部である。また、バス使用要求格納指示部１０２は、その書き込み処理を行う場合、キュー部１０１のアドレス昇順にバス使用要求を格納していき、最終アドレスまで格納した後は、フラグをアドレス昇順に参照していき、未使用のアドレスにバス使用要求を格納するよう構成されている。また、キュー状態監視部１０４の監視情報２０７を受け取り、監視情報２０７がキュー部１０１の全てのアドレスが使用中であることを示していた場合、バスマスタ１−１，１−２，…，１−ｎからのバス使用要求をキュー部１０１に書き込まないよう制御する構成となっている。
【００１２】
待ち時間算出部１０３は、キュー部１０１内に蓄積されているバス使用要求の蓄積時間を算出する機能部であり、更新前待ち時間情報信号２０５および更新後待ち時間情報信号２０６は、それぞれ更新対象のバス使用要求に対する更新前と更新後の信号である。キュー状態監視部１０４は、キュー部１０１中のフラグを参照してバス使用要求の格納状態を監視する機能部であり、その監視結果（キュー部１０１の使用状態）を監視情報２０７，２０８として、それぞれバス使用要求格納指示部１０２およびバス使用権制御部１０５に出力するよう構成されている。バス使用権制御部１０５は、キュー状態監視部１０４からの監視情報２０８に基づいて、キュー部１０１内に蓄積されているバス使用要求を選択するためのバス使用要求選択信号２０９，２１０を出力する制御部である。即ち、監視情報２０８は、バス使用要求の待ち時間や転送種別（バースト転送であるか否か）、またデータ量といった情報を含んでおり、バス使用権制御部１０５は、このような待ち時間、転送種別およびデータ量に基づいて、バスライン１０８に転送するバス使用要求の選択を行うよう構成されている。
【００１３】
バススレーブ分配部１０６は、キュー部１０１から読み出され、バスライン１０８を介して与えられるバス使用要求を、該当するバススレーブ２−１，２−２，…，２−ｎに対して、転送信号２０２−１〜２０２−ｎとして分配する機能部である。データバッファ部１０７は、バススレーブ２−１，２−２，…，２−ｎからの書き込み完了信号２１１や、読み出しデータ信号２１２に基づいてバスマスタ１−１，１−２，…，１−ｎに対してデータ転送完了信号２１３を送出する機能部である。
【００１４】
次に、実施の形態１のバス装置の動作について説明する。
先ず、バス装置における全体の動作について説明する。
バスマスタ１−１，１−２，…，１−ｎは、バス使用要求（書き込みまたは読み出し要求）を発行する。即ち、それぞれのバスマスタ１−１，１−２，…，１−ｎはバス使用要求信号２０１−１〜２０１−ｎをバス使用要求格納指示部１０２に送出する。バス使用要求格納指示部１０２は、キュー部１０１のアドレス昇順にバス使用要求を格納していき、最終アドレスまで格納した後は、キュー部１０１内のアドレス使用・未使用フラグをアドレス昇順に参照して、未使用アドレスにバス使用要求を格納する。また、バス使用要求格納指示部１０２は、キュー部１０１にバス使用要求を格納した場合は、そのバス使用要求のフラグを使用状態とする。
【００１５】
キュー部１０１は、バス使用要求を保持する。キュー状態監視部１０４は、キュー部１０１の使用状態を監視し、バス使用要求格納指示部１０２およびバス使用権制御部１０５に監視情報２０７，２０８として通知する。待ち時間算出部１０３は、キュー部１０１内に格納されている各バス使用要求の待ち時間を算出する。バス使用権制御部１０５は、監視情報２０８に含まれる待ち時間、転送種別、データ量を元に転送するバス使用要求を決定する。バススレーブ分配部１０６は、決定された転送信号をバスライン１０８を介して入力し、該当するバススレーブ２−１，２−２，…，２−ｎに対して、それぞれ転送信号２０２−１〜２０２−ｎとして転送する。バススレーブ２−１，２−２，…，２−ｎは、転送信号２０２−１〜２０２−ｎに基づいて、書き込み処理または読み出し処理を行う。データバッファ部１０７は、書き込み完了信号２１１あるいは読み出しデータ信号２１２と読み出しデータを保持し、該当するバスマスタにデータ転送が完了したことをデータ転送完了信号２１３として通知する。読み出し要求の場合は読み出したデータの転送も行う。
【００１６】
次に、キュー部１０１に格納されたバス使用要求をバスライン１０８に転送する場合の動作の詳細を説明する。
図１において、バスマスタ１−１，１−２，…，１−ｎからバススレーブ２−１，２−２，…，２−ｎに対し、書き込みまたは読み出し要求を発行する場合には、バスマスタ１−１，１−２，…，１−ｎからバス装置１００に対してバス使用要求としてリクエストデータスレッドを発行する。
【００１７】
図３は、リクエストデータスレッドの例を示す説明図である。
リクエストデータスレッドは、リクエスト、制御信号およびデータから構成される。例えば、リクエストとしては、要求を示すリクエスト、発行元のバスマスタの識別ＩＤを示すマスタＩＤ、スレッドの識別を示すスレッドＩＤがある。尚、ここでスレッドとはＯＣＰ（Open Core Protocol）の信号を想定している。また、制御信号としては、書き込みまたは読み出し要求を示すＲ／Ｗ、宛先のバススレーブのアドレスを示すアドレス、転送の種類（バースト転送かどうか）を示す転送種別がある。最後に、データとしては、バススレーブに書き込むデータがあり、合計Ｍｂｉｔで構成される。
【００１８】
発行されたリクエストデータスレッドを、バス使用要求格納指示部１０２によりキュー部１０１に格納する。キュー部１０１には図２で示したように、各アドレスが使用中か未使用かを示すフラグ（ｆｌａｇ）が用意されている。処理開始時は、全フラグは未使用のため、バス使用要求格納指示部１０２は、アドレス昇順でリクエストデータスレッドをキュー部１０１に格納していく。そして、最終アドレスまでリクエストデータスレッドを格納した後は、再び先頭アドレスに戻り、フラグを参照して未使用状態のアドレスにリクエストデータスレッドを格納する。
【００１９】
待ち時間算出部１０３は、キュー部１０１に蓄積されたリクエストデータスレッドを更新前待ち時間情報信号２０５として読み出し、その待ち時間をカウントアップして待ち時間を算出し、各リクエストデータスレッドに更新後待ち時間情報信号２０６としてフィードバックする。
【００２０】
キュー状態監視部１０４は、キュー部１０１のフラグに基づいて、使用状態（空きがあるか、満杯か）を監視しており、キュー部１０１にリクエストデータスレッドが全く格納されていない場合（全て空きである場合）、監視情報２０８としてキュー部１０１が空きである旨の情報をバス使用権制御部１０５に送出する。バス使用権制御部１０５は、このような監視情報２０８を受け取った場合は、バス使用権の制御動作を中止する。また、キュー部１０１に一つでもリクエストデータスレッドが格納されている場合は、そのリクエストデータスレッドの待ち時間や転送種別およびデータ量の情報を監視情報２０８として出力する。
【００２１】
また、キュー状態監視部１０４は、キュー部１０１の状態が満杯（全アドレスが使用中）の場合は、監視情報２０７としてバス使用要求格納指示部１０２に通知を行う。バス使用要求格納指示部１０２は、キュー部１０１が満杯である旨の監視情報２０７を受け取ると、キュー部１０１へのリクエストデータスレッドの格納を中止する。また、バス使用権制御部１０５は、キュー状態監視部１０４からの監視情報２０８に基づいてキュー部１０１からバスライン１０８に転送するリクエストデータスレッドを選択する。
【００２２】
図４は、バスラインに転送するリクエストデータスレッドを一つに決定する動作を示すフローチャートである。
先ず、バス使用権制御部１０５は、ステップＳＴ１において、キュー部１０１に格納されているリクエストデータスレッドの中で、全てのリクエストデータスレッドの待ち時間を閾値Ａと比較し、閾値を越える待ち時間が一つ以上あればステップＳＴ４へ進み、全ての待ち時間が閾値Ａ以下であればステップＳＴ２に進む。尚、ここで、閾値Ａとは、予め定められ、バス使用権制御部１０５に設定されている値である。
【００２３】
次に、ステップＳＴ２では、リクエストデータスレッドの転送種別がバースト転送かどうかを判定し、バースト転送の場合はステップＳＴ４へ進み、バースト転送でない場合はステップＳＴ３へ進む。ステップＳＴ３では、リクエストデータスレッドのデータ量が一番多いものを調べる。
【００２４】
ステップＳＴ４では、ステップＳＴ１、ＳＴ２、ＳＴ３の条件を満たすリクエストデータスレッドが複数あるかどうかを判定する。即ち、ステップＳＴ１の場合には閾値Ａを越える待ち時間が複数あるかどうかを判定し、ＳＴ２の場合にはバースト転送が複数あるかどうかを判定し、ＳＴ３の場合には最大データ量が同じものが複数あるかどうかを判定する。尚、最大データ量が同じものが複数存在する場合とは、キュー部１０１に格納されているバス使用要求において、図３に示すようなリクエストデータスレッドにおけるデータ量（サイズ）を比較した場合に、最も大きいデータ量が複数存在するような状態である。例えば、キュー部１０１に１０個のバス使用要求が格納されており、そのうち最大のデータ量のバス使用要求のデータ量が１００で、かつ、このデータ量が１００のバス使用要求が３個存在するような場合、この３個のバス使用要求がステップＳＴ４において条件を満たすバス使用要求ということになる。ステップＳＴ４において、条件を満たすリクエストデータスレッドが複数ある場合はステップＳＴ５に進み、条件を満たすリクエストデータスレッドが一つの場合はその一つのリクエストデータスレッドを選択し、バスライン１０８に転送する。
【００２５】
ステップＳＴ５では、予め定めた固定優先順位により、バスライン１０８に転送するリクエストデータスレッドを決定する。ここで、ステップＳＴ５における固定優先順位とは、予め、バス使用権制御部１０５に設定されている情報であり、
待ち時間による判定の固定優先順位として、例えば、
バスマスタ１−１＞バスマスタ１−２＞バスマスタ１−３＞…
バースト転送による判定の固定優先順位は、
バスマスタ１−２＞バスマスタ１−３＞バスマスタ１−１＞…
データ量による判定の固定優先順位は、
バスマスタ１−２＞バスマスタ１−３＞バスマスタ１−１＞…
といったように設定されている。
【００２６】
バス使用権制御部１０５において、転送するリクエストデータスレッドが選択され、このリクエストデータスレッドがバスライン１０８に転送されると、バス使用権制御部１０５は、バス使用要求格納指示部１０２に対してバス使用要求選択信号２１０を出力する。バス使用要求格納指示部１０２は、このバス使用要求選択信号２１０を受けて、キュー部１０１におけるそのリクエストデータスレッドのフラグを未使用状態に戻し、かつ、待ち時間を０に初期化する。その後は、上記の動作を繰り返す。
【００２７】
尚、ステップＳＴ５における固定優先順位は、実行中にその優先順位を変更してもよい。また、ステップＳＴ１→ステップＳＴ４→ステップＳＴ５において、待ち時間が閾値Ａを越えているリクエストデータスレッドが複数あった場合は、待ち時間が最も大きいバス使用要求を選択し、待ち時間が最も大きい同値のバス使用要求が複数あった場合は固定優先順位によって選択を行うようにしてもよい。
【００２８】
バスライン１０８にリクエストデータスレッドが転送されると、バススレーブ分配部１０６において、そのリクエストデータスレッド内のスレッドＩＤとアドレスにより、該当するバススレーブにリクエストデータスレッドを出力する。バススレーブ分配部１０６はバススレーブのＢＵＳＹ信号を監視し、バススレーブがＢＵＳＹでない場合に転送を行う。そのため、内部にバッファが設けられ、バススレーブがＢＵＳＹの場合は一時的にリクエストデータスレッドを保持できる。
【００２９】
バススレーブ２−１，２−２，…，２−ｎにリクエストデータスレッドが転送されると、該当するバススレーブから書き込み完了信号２１１または読み出しデータ信号２１２がデータバッファ部１０７に送出される。データバッファ部１０７では、リクエストデータスレッドが書き込み要求の場合は、バスマスタＩＤとスレッドＩＤを保持する。一方、読み出し要求の場合は、バスマスタＩＤ、スレッドＩＤおよび読み出しデータを保持する。そして、該当するバスマスタにデータ転送が完了したことをデータ転送完了信号２１３で通知する。読み出し要求の場合は読み出したデータも転送する。
【００３０】
以上のように、実施の形態１のバス装置によれば、複数のバスマスタとバススレーブ間のデータ転送を行うためのバス使用要求を一時的に蓄積すると共に、バス使用要求の蓄積アドレス毎に蓄積可能か否かを示すフラグを有するキュー部と、バス使用要求をフラグに基づいてキュー部に格納するバス使用要求格納指示部と、キュー部に蓄積されたバス使用要求の少なくとも待ち時間を監視し、監視結果を監視情報として出力するキュー状態監視部と、キュー部に蓄積されたバス使用要求の中から、キュー状態監視部の監視情報に基づいてデータ転送を行うためのバス使用要求を選択するバス使用権制御部とを備えたので、排他制御付きの書き込み装置を不要とし、簡易な構成でキュー部への書き込み制御を実現することができる。その結果、回路構成を簡易化することができ、レイアウトの際の配線混雑を回避することができる。
【００３１】
また、実施の形態１のバス装置によれば、バス使用要求格納指示部は、キュー部のアドレス昇順にバス使用要求を格納していき、最終アドレスまで格納した後は、フラグをアドレス昇順に参照していき、未使用のアドレスにバス使用要求を格納するようにしたので、細かなアドレス管理を行うことができると共に、バス使用要求の格納処理としてどこに格納するかを決定する過程を簡略化することができ、従って、回路構成の簡素化を図ることができる。
【００３２】
また、実施の形態１のバス装置によれば、バス使用権制御部は、キュー部に蓄積されている複数のバス使用要求の待ち時間が予め設定された閾値を越えている場合に、バス使用要求を第１優先で選択すると共に、該当するバス使用要求が複数存在する場合は、待ち時間が最も大きいバス使用要求を選択し、待ち時間が同値のバス使用要求があった場合は固定優先順位によって選択を行うようにしたので、バスマスタからのバス使用要求を古いもの順に選択するといったバス装置を実現することができる。
【００３３】
また、実施の形態１のバス装置によれば、バス使用権制御部は、キュー部に蓄積されている複数のバス使用要求の待ち時間が予め設定された閾値を越えていない場合、複数のバス使用要求の中でバースト転送要求があるか否かを調べ、該当するバス使用要求が複数存在した場合は、固定優先順位に基づいて選択を行い、該当するバス使用要求が単数であった場合は、そのバス使用要求を選択するようにしたので、バスマスタからのバス使用要求がバースト転送か否かによってバス使用要求の選択を行うバス装置を実現することができる。
【００３４】
また、実施の形態１のバス装置によれば、バス使用権制御部は、キュー部に蓄積されている複数のバス使用要求の待ち時間が予め設定された閾値を越えておらず、かつ、複数のバス使用要求の中でバースト転送要求がない場合、バス使用要求のデータ量に基づいて選択を行うようにしたので、バスマスタからのデータ量に対応したバス使用要求の選択を行うバス装置を実現することができる。
【００３５】
また、実施の形態１のバス装置によれば、キュー状態監視部は、キュー部のフラグが全て使用中を示す場合、その状態を監視情報としてバス使用要求格納指示部に通知し、バス使用要求格納指示部は、通知を受けた場合は、バスマスタからキュー部へのバス使用要求の転送を停止するようにしたので、キュー部が全て使用中の場合にバス使用要求格納指示部はフラグが使用中であるか否かを調べる必要がなく、回路構成の簡素化を図ることができる。
【図面の簡単な説明】
【００３６】
【図１】この発明の実施の形態１によるバス装置を示す構成図である。
【図２】この発明の実施の形態１のバス装置におけるキュー部内のフラグの説明図である。
【図３】この発明の実施の形態１のバス装置におけるバスマスタから発行されるリクエストデータスレッドの一例を示す説明図である。
【図４】この発明の実施の形態１のバス装置におけるバス使用要求選択処理を示すフローチャートである。
【符号の説明】
【００３７】
１−１〜１−ｎ  バスマスタ、２−１〜２−ｎ  バススレーブ、１００  バス装置、１０１  キュー部、１０２  バス使用要求格納指示部、１０３  待ち時間算出部、１０４  キュー状態監視部、１０５  バス使用権制御部、１０６  バススレーブ分配部、１０７  データバッファ部、１０８  バスライン、２０１−１〜２０１−ｎ  バス使用要求信号、２０２−１〜２０２−ｎ  転送信号、２０３  バス使用要求格納指示信号、２０４  キュー状態信号、２０５  更新前待ち時間情報信号、２０６  更新後待ち時間情報信号、２０７，２０８  監視情報、２０９  バス使用要求選択信号、２１０  バス使用要求選択信号、２１１  書き込み完了信号、２１２  読み出しデータ信号、２１３  データ転送完了信号。
【図１】
2008269491.tif 000003
【図２】
2008269491.tif 000004
【図３】
2008269491.tif 000005
【図４】
2008269491.tif 000006