(57)【要約】【課題】一又は複数のプロセッサが高速アクセス可能であり、複数のプロセッサのうちの一部のプロセッサの機能を限定することにより、安価なマルチプロセッサシステムを提供することを課題とする。【解決手段】処理プログラムのスレッド及び該処理プログラムの実行を制御するための制御プログラムのスレッドを分離して記憶するメモリと、メモリに記憶される一又は複数の処理プログラムのスレッド及び一又は複数の制御プログラムのスレッドを実行するための複数のプロセッサとを有するマルチプロセッサシステムが提供される。【選択図】        図２
2004192145.tif 000002
【特許請求の範囲】
【請求項１】
処理プログラムのスレッド及び該処理プログラムの実行を制御するための制御プログラムのスレッドを分離して記憶するメモリと、
前記メモリに記憶される一又は複数の処理プログラムのスレッド及び前記一又は複数の制御プログラムのスレッドを実行するための複数のプロセッサと
を有するマルチプロセッサシステム。
【請求項２】
前記一又は複数の制御プログラムのスレッドは、前記複数のプロセッサのうちの一のプロセッサで実行され、前記一又は複数の処理プログラムのスレッドは、その他の一又は複数のプロセッサで実行される請求項１記載のマルチプロセッサシステム。
【請求項３】
前記メモリは、複数の制御プログラムのスレッドを記憶し、
前記複数の制御プログラムのスレッドは、それぞれ前記複数のプロセッサのうちの異なるプロセッサで実行される請求項１記載のマルチプロセッサシステム。
【請求項４】
前記複数のプロセッサのうちの少なくとも一のプロセッサは、前記処理プログラムのスレッドを実行せずに前記制御プログラムのスレッドのみを実行する請求項１記載のマルチプロセッサシステム。
【請求項５】
前記複数のプロセッサのうちの一のプロセッサは、前記処理プログラムのスレッドを実行せずに前記制御プログラムのスレッドのみを実行し、その他の一又は複数のプロセッサは、前記制御プログラムのスレッドを実行せずに前記処理プログラムのスレッドのみを実行する請求項１記載のマルチプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチプロセッサシステムに関し、特にプログラムを複数のスレッドに分割して複数のプロセッサで実行するマルチプロセッサシステムに関する。
【０００２】
【従来の技術】
図１２は、マルチプロセッサシステムの構成例を示すブロック図である。例えば４個のプロセッシングエレメント（ＰＥ：Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ）１２０１〜１２０４はそれぞれいわゆるプロセッサである。ＰＥ間接続ユニット１２２０は、各ＰＥ１２０１〜１２０４間を接続すると共に、ＰＥ１２０１〜１２０４及び共有メモリ１２３０間を接続する。共有メモリ１２３０は、すべてのＰＥ１２０１〜１２０４がアクセス可能な共有メモリである。
【０００３】
マルチプロセッサシステムは、マルチスレッド実行を行うことができる。マルチスレッドは、プログラムを複数のスレッドに分割し、複数のＰＥ１２０１〜１２０４が複数のスレッドを並列又は順次実行するものである。スレッドは、各ＰＥ１２０１〜１２０４が実行する単位である。共有メモリ１２３０は、複数のスレッドを記憶し、すべてのＰＥ１２０１〜１２０４から、同じアドレスで参照することができる。
【０００４】
また、下記の特許文献１〜３が開示されている。
【０００５】
【特許文献１】
特開２０００−４７８８７号公報
【特許文献２】
特開平５−２０４８７５号公報
【特許文献３】
特開２００１−１８４３２６号公報
【０００６】
【発明が解決しようとする課題】
スレッドは、共有メモリ１２３０に記憶されている。ＰＥ１２０１〜１２０４は、接続ユニット１２２０を介して共有メモリ１２３０内のスレッドにアクセスする。接続ユニット１２２０の通信量が多いと、ＰＥ１２０１〜１２０４は高速なアクセスを行うことができない。例えば、複数のＰＥ１２０１〜１２０４のアクセスが競合すると、通信量が多くなり、高速なアクセスを行うことができない。また、ＰＥ１２０１〜１２０４は、すべてスレッドが実行可能であって同等な機能を持つ比較的高価なプロセッサを用意する必要がある。
【０００７】
本発明の目的は、一又は複数のプロセッサ（ＰＥ）が高速アクセス可能なマルチプロセッサシステムを提供することである。
本発明の他の目的は、複数のプロセッサのうちの一部のプロセッサの機能を限定することにより、安価なマルチプロセッサシステムを提供することである。
【０００８】
【課題を解決するための手段】
本発明の一観点によれば、処理プログラムのスレッド及び該処理プログラムの実行を制御するための制御プログラムのスレッドを分離して記憶するメモリと、メモリに記憶される一又は複数の処理プログラムのスレッド及び一又は複数の制御プログラムのスレッドを実行するための複数のプロセッサとを有するマルチプロセッサシステムが提供される。
【０００９】
処理プログラムのスレッドと制御プログラムのスレッドを分離することにより、処理プログラムのスレッド及び／又は制御プログラムのスレッドを各プロセッサのみがアクセス可能な非共有メモリに記憶させることができる。非共有メモリは、複数のプロセッサのアクセス競合がないので、高速なアクセスを行うことができる。
【００１０】
また、処理プログラムのスレッドと制御プログラムのスレッドを分離することにより、特定のプロセッサに制御プログラムのスレッドのみ又は処理プログラムのスレッドのみを実行させることができる。これにより、プロセッサの機能を限定し、安価なマルチプロセッサシステムを実現することができる。
【００１１】
【発明の実施の形態】
図１は、本発明の実施形態によるマルチプロセッサシステムの構成例を示すブロック図である。例えば４個のプロセッシングエレメント（ＰＥ：Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ）１０１〜１０４はそれぞれいわゆるプロセッサである。以下、このプロセッサをＰＥという。非共有メモリ１１１〜１１４は、それぞれ各ＰＥ１０１〜１０４のみがアクセス可能なローカルメモリである。４個の非共有メモリ１１１〜１１４をまとめて非共有メモリ１１０として表す。ＰＥ間接続ユニット１２０は、各ＰＥ１０１〜１０４間を接続すると共に、ＰＥ１０１〜１０４及び共有メモリ１３０間を接続する。共有メモリ１３０は、すべてのＰＥ１０１〜１０４がアクセス可能な共有メモリである。
【００１２】
マルチプロセッサシステムは、マルチスレッド実行を行うことができる。マルチスレッドは、プログラムを複数のスレッドに分割し、複数のＰＥ１０１〜１０４が複数のスレッドを並列又は順次実行するものである。スレッドは、各ＰＥ１０１〜１０４が実行する単位である。共有メモリ１３０は、複数のスレッドを記憶し、すべてのＰＥ１０１〜１０４から、同じアドレスで参照することができる。
【００１３】
（１）スレッド分離方式
図２は、制御プログラムスレッドと処理プログラムスレッドに分離する方式を示す。従来、図１２のマルチプロセッサの共有メモリ１２３０には、図２のスレッド群２００が記憶されていた。スレッド群２００は、スレッド２１０及び２２０を有する。
【００１４】
スレッド２１０は、制御プログラム２１１、処理プログラム２１２及び制御プログラム２１３が順に実行される。処理プログラム２１２は、加算等の通常処理を行うためのプログラムである。制御プログラム２１１は、処理プログラム２１２を起動するためのプログラムである。制御プログラム２１３は、処理プログラム２１２の終了待ちのためのプログラムである。
【００１５】
スレッド２２０は、制御プログラム２２１、処理プログラム２２２及び制御プログラム２２３が順に実行される。処理プログラム２２２は、加算等の通常処理を行うためのプログラムである。制御プログラム２２１は、処理プログラム２２２を起動するためのプログラムである。制御プログラム２２３は、処理プログラム２２２の終了待ちのためのプログラムである。
【００１６】
上記では、制御プログラム及び処理プログラムを分けて説明したが、従来は両者が意識的に区別されずにスレッド２１０及び２２０が作成されていた。
【００１７】
本実施形態は、スレッド群２００を制御プログラムスレッド群２０１及び処理プログラムスレッド群２０２に分離して、スレッドを作成する。制御プログラムスレッド群２０１は制御プログラムスレッド２３０を有し、処理プログラムスレッド群２０２は処理プログラムスレッド２４０及び２５０を有する。これら制御プログラムスレッド２３０及び処理プログラムスレッド２４０，２５０の具体例を、図３に示す。
【００１８】
制御プログラムスレッド２３０は、制御プログラム２１１、２２１、２１３及び２２３を有する。制御プログラム２１１は、処理プログラム２１２を起動するためのプログラムである。制御プログラム２２１は、処理プログラム２２２を起動するためのプログラムである。制御プログラム２１３は、処理プログラム２１２の終了待ちのためのプログラムである。制御プログラム２２３は、処理プログラム２２２の終了待ちのためのプログラムである。
【００１９】
処理プログラムスレッド２４０は処理プログラム２１２を有し、処理プログラムスレッド２５０は処理プログラム２２２を有する。処理プログラム２１２及び２２２は、それぞれ例えばアプリケーションを実現するために必要とされるデータ演算処理を含む。
【００２０】
これらのスレッド２３０，２４０及び２５０は、複数のＰＥで並列実行可能である。すなわち、マルチスレッド実行により、処理プログラム２１２及び２２２を複数のＰＥに並列実行させることができる。
【００２１】
制御プログラムスレッドについて説明する。制御プログラムスレッドは、スレッドレベルの並列処理を利用してアプリケーションを実現するために、処理プログラムスレッドの実行を制御するプログラムである。また、外部入出力のデータ転送や、処理プログラムスレッド間のデータ転送や、処理プログラムスレッドと制御プログラムスレッドとの間のデータ転送を制御することがある。制御プログラムスレッドは、次のような表現を含むことがある。
【００２２】
（ａ）スレッドの開始エントリ（スレッドとして起動される手続き名）の指定
（ｂ）スレッドの入力データの指定
（ｃ）スレッドの出力データの指定
（ｄ）スレッドの実行開始条件の指定
（ｅ）スレッド処理ユニット（スレッドを処理するユニット（ＰＥ））の指定
（ｆ）スレッドの入出力データのアドレス参照
（ｇ）スレッドの起動
（ｈ）スレッドの終了待ち
【００２３】
処理プログラムスレッドについて説明する。処理プログラムスレッドは、アプリケーションを実現するために必要とされるデータ演算を処理するプログラムである。処理プログラムスレッドは、次のような表現を含むことがある。
【００２４】
（ａ）スレッドの開始エントリ（スレッドとして起動される手続き名）の指定
（ｂ）スレッドの入力データの指定
（ｃ）スレッドの出力データの指定
（ｄ）スレッドの実行開始条件の指定
（ｅ）スレッド処理ユニット（ＰＥ）の指定
（ｆ）スレッドの終了
（ｇ）スレッドの異常終了
【００２５】
（２）集中制御プログラムスレッド実行方式
図４は、集中制御プログラムスレッド実行方式を示す。この方式では、すべての制御プログラムスレッド４１０，４２０，４３０を、例えば第１のＰＥ１０１上でのみ集中実行し、処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３を、他の第２〜第４のＰＥ１０２〜１０４上で並列（同時）実行可能に割り当る。
【００２６】
第１のＰＥ１０１は、制御プログラムスレッド４１０，４２０，４３０を実行可能である。第２のＰＥ１０２は、処理プログラムスレッド４１１，４２１，４３１を実行可能である。第３のＰＥ１０３は、処理プログラムスレッド４１２，４２２，４３２を実行可能である。第４のＰＥ１０４は、処理プログラムスレッド４１３，４２３，４３３を実行可能である。
【００２７】
第１の制御プログラムスレッド４１０は、第１の処理プログラムスレッド４１１、第２の処理プログラムスレッド４１２及び第３の処理プログラムスレッド４１３の順次実行又は並列実行を制御する。
【００２８】
第２の制御プログラムスレッド４２０は、第１の処理プログラムスレッド４２１、第２の処理プログラムスレッド４２２及び第３の処理プログラムスレッド４２３の順次実行又は並列実行を制御する。
【００２９】
第３の制御プログラムスレッド４３０は、第１の処理プログラムスレッド４３１、第２の処理プログラムスレッド４３２及び第３の処理プログラムスレッド４３３の順次実行又は並列実行を制御する。
【００３０】
以上のように、制御プログラムスレッドは、第１のＰＥ１０１で実行され、処理プログラムスレッドは、第２〜第４のＰＥ１０２〜１０４で実行される。第１のＰＥ１０１は、処理プログラムスレッドを実行せずに制御プログラムスレッドのみを実行する。第２〜第４のＰＥ１０２〜１０４は、制御プログラムスレッドを実行せずに処理プログラムスレッドのみを実行する。
【００３１】
制御プログラムスレッドを第１のＰＥ１０１で集中して実行することにより、制御プログラムスレッドを実行する第１のＰＥ１０１に必要な機能を限定することができ、ハードウェアの必要な資源量を抑え、コストを安価にすることができる。
【００３２】
（３）分散制御プログラムスレッド実行方式
図５は、分散制御プログラムスレッド実行方式を示す。この方式では、制御プログラムスレッド４１０，４２０，４３０を不特定のＰＥ１０１〜１０３上で分散実行し、処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３を第１〜第４のＰＥ１０１〜１０４上で並列（同時）実行可能に割り当てる。
【００３３】
第１のＰＥ１０１は、制御プログラムスレッド４１０及び処理プログラムスレッド４２１，４３２を実行可能である。第２のＰＥ１０２は、制御プログラムスレッド４２０及び処理プログラムスレッド４１１，４３１を実行可能である。第３のＰＥ１０３は、制御プログラムスレッド４３０及び処理プログラムスレッド４１２，４２２を実行可能である。第４のＰＥ１０４は、処理プログラムスレッド４１３，４２３，４３３を実行可能である。
【００３４】
以上のように、制御プログラムスレッド４１０，４２０，４３０は、それぞれ異なるＰＥ１０１〜１０３で実行される。
【００３５】
（４）制御プログラムスレッド非共有メモリ集中配置方式（集中制御プログラムスレッド実行方式）
図６は、集中制御プログラムスレッド実行方式（図４）における制御プログラムスレッド非共有メモリ集中配置方式を示す。この方式は、すべての制御プログラムスレッド４１０，４２０，４３０を、実行可能な特定の第１のＰＥ１０１の非共有メモリ１１１に集中して記憶させる方式である。処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３は、実行可能な各ＰＥの非共有メモリ１１２〜１１４又は共有メモリ１３０のいずれに記憶させてもよい。
【００３６】
（５）制御プログラムスレッド共有メモリ集中配置方式（集中制御プログラムスレッド実行方式）
図７は、集中制御プログラムスレッド実行方式（図４）における制御プログラムスレッド共有メモリ集中配置方式を示す。この方式は、すべての制御プログラムスレッド４１０，４２０，４３０を共有メモリ１３０に集中して記憶させる方式である。処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３は、実行可能な各ＰＥの非共有メモリ１１２〜１１４又は共有メモリ１３０のいずれに記憶させてもよい。
【００３７】
（６）処理プログラムスレッド非共有メモリ分散配置方式（集中制御プログラムスレッド実行方式）
図８は、集中制御プログラムスレッド実行方式（図４）における処理プログラムスレッド非共有メモリ分散配置方式を示す。この方式は、処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３を、実行可能な各ＰＥの非共有メモリ１１２〜１１４に分散して記憶させる方式である。制御プログラムスレッド４１０，４２０，４３０は、実行可能なＰＥの非共有メモリ１１１又は共有メモリ１３０のいずれに記憶させてもよい。
【００３８】
（７）処理プログラムスレッド共有メモリ集中配置方式（集中制御プログラムスレッド実行方式）
図９は、集中制御プログラムスレッド実行方式（図４）における処理プログラムスレッド共有メモリ集中配置方式を示す。この方式は、すべての処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３を、共有メモリ１３０に集中して記憶させる方式である。制御プログラムスレッド４１０，４２０，４３０は、実行可能なＰＥの非共有メモリ１１１又は共有メモリ１３０のいずれに記憶させてもよい。
【００３９】
（８）制御プログラムスレッド非共有メモリ分散配置方式（分散制御プログラムスレッド実行方式）
図１０は、分散制御プログラムスレッド実行方式（図５）における制御プログラムスレッド非共有メモリ分散配置方式を示す。この方式は、制御プログラムスレッド４１０，４２０，４３０を、それぞれ実行可能なＰＥの非共有メモリ１１１，１１２，１１３に分散して記憶させる方式である。処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３は、実行可能な各ＰＥの非共有メモリ１１１〜１１４又は共有メモリ１３０のいずれに記憶させてもよい。
【００４０】
（９）制御プログラムスレッド共有メモリ集中配置方式（分散制御プログラムスレッド実行方式）
図１１は、分散制御プログラムスレッド実行方式（図５）における制御プログラムスレッド共有メモリ集中配置方式を示す。この方式は、すべての制御プログラムスレッド４１０，４２０，４３０を共有メモリ１３０に集中して記憶させる方式である。処理プログラムスレッド４１１〜４１３，４２１〜４２３，４３１〜４３３は、実行可能な各ＰＥの非共有メモリ１１１〜１１４又は共有メモリ１３０のいずれに記憶させてもよい。
【００４１】
以上のように、本実施形態によれば、マルチプロセッサ（マルチＰＥ）システムにおいて、プログラムを制御プログラムスレッド及び処理プログラムスレッドに分離することで、制御プログラムスレッド及び／又は処理プログラムスレッドを非共有メモリに格納することができる。これにより、ＰＥは、接続ユニット１２０を経由しないで制御プログラムスレッド及び／又は処理プログラムスレッドにアクセスすることができるため、高速にプログラムスレッドを実行することができる。すなわち、非共有メモリは、複数のＰＥのアクセス競合がないので、高速なアクセスを行うことができる。
【００４２】
また、処理プログラムスレッドと制御プログラムスレッドを分離することにより、特定のＰＥに制御プログラムスレッドのみ又は処理プログラムスレッドのみを実行させることができる。これにより、特定のＰＥの機能を限定し、安価なマルチプロセッサシステムを実現することができる。
【００４３】
一般に、マルチプロセッサシステム上で、マルチスレッド化されたプログラムを実行するために、マルチスレッド実行を支援するためのライブラリが提供されている。本実施形態は、アプリケーションプログラム記述形式、アプリケーションプログラムインターフェース（ＡＰＩ）、マルチスレッド実行ライブラリ、マルチプロセッサのハードウェア制御方式、オペレーティングシステム（ＯＳ）などに適用することができる。なお、上記の制御プログラム及び処理プログラムには、プログラムのためのコード及びデータが含まれる。
【００４４】
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００４５】
本発明の実施形態は、例えば以下のように種々の適用が可能である。
【００４６】
（付記１）処理プログラムのスレッド及び該処理プログラムの実行を制御するための制御プログラムのスレッドを分離して記憶するメモリと、
前記メモリに記憶される一又は複数の処理プログラムのスレッド及び前記一又は複数の制御プログラムのスレッドを実行するための複数のプロセッサと
を有するマルチプロセッサシステム。
（付記２）前記一又は複数の制御プログラムのスレッドは、前記複数のプロセッサのうちの一のプロセッサで実行され、前記一又は複数の処理プログラムのスレッドは、その他の一又は複数のプロセッサで実行される付記１記載のマルチプロセッサシステム。
（付記３）前記メモリは、複数の制御プログラムのスレッドを記憶し、
前記複数の制御プログラムのスレッドは、それぞれ前記複数のプロセッサのうちの異なるプロセッサで実行される付記１記載のマルチプロセッサシステム。
（付記４）前記複数のプロセッサのうちの少なくとも一のプロセッサは、前記処理プログラムのスレッドを実行せずに前記制御プログラムのスレッドのみを実行する付記１記載のマルチプロセッサシステム。
（付記５）前記複数のプロセッサのうちの一のプロセッサは、前記処理プログラムのスレッドを実行せずに前記制御プログラムのスレッドのみを実行し、その他の一又は複数のプロセッサは、前記制御プログラムのスレッドを実行せずに前記処理プログラムのスレッドのみを実行する付記１記載のマルチプロセッサシステム。
（付記６）前記制御プログラムのスレッドは、前記一のプロセッサのみがアクセス可能な非共有メモリに記憶される付記２記載のマルチプロセッサシステム。
（付記７）前記制御プログラムのスレッドは、前記複数のプロセッサがアクセス可能な共有メモリに記憶される付記２記載のマルチプロセッサシステム。
（付記８）前記処理プログラムのスレッドは、前記他のプロセッサのみがアクセス可能な非共有メモリに記憶される付記２記載のマルチプロセッサシステム。
（付記９）前記処理プログラムのスレッドは、前記複数のプロセッサがアクセス可能な共有メモリに記憶される付記２記載のマルチプロセッサシステム。
（付記１０）前記制御プログラムのスレッドは、前記各プロセッサのみがそれぞれアクセス可能な非共有メモリに記憶される付記３記載のマルチプロセッサシステム。
（付記１１）前記制御プログラムのスレッドは、前記複数のプロセッサがアクセス可能な共有メモリに記憶される付記３記載のマルチプロセッサシステム。
【００４７】
【発明の効果】
以上説明したように、処理プログラムのスレッドと制御プログラムのスレッドを分離することにより、処理プログラムのスレッド及び／又は制御プログラムのスレッドを各プロセッサのみがアクセス可能な非共有メモリに記憶させることができる。非共有メモリは、複数のプロセッサのアクセス競合がないので、高速なアクセスを行うことができる。
【００４８】
また、処理プログラムのスレッドと制御プログラムのスレッドを分離することにより、特定のプロセッサに制御プログラムのスレッドのみ又は処理プログラムのスレッドのみを実行させることができる。これにより、プロセッサの機能を限定し、安価なマルチプロセッサシステムを実現することができる。
【図面の簡単な説明】
【図１】本発明の実施形態によるマルチプロセッサシステムの構成例を示すブロック図である。
【図２】制御プログラムスレッドと処理プログラムスレッドに分離する方式を示す図である。
【図３】制御プログラムスレッド及び処理プログラムスレッドの具体例を示す図である。
【図４】集中制御プログラムスレッド実行方式を示す図である。
【図５】分散制御プログラムスレッド実行方式を示す図である。
【図６】集中制御プログラムスレッド実行方式（図４）における制御プログラムスレッド非共有メモリ集中配置方式を示す図である。
【図７】集中制御プログラムスレッド実行方式（図４）における制御プログラムスレッド共有メモリ集中配置方式を示す図である。
【図８】集中制御プログラムスレッド実行方式（図４）における処理プログラムスレッド非共有メモリ分散配置方式を示す図である。
【図９】集中制御プログラムスレッド実行方式（図４）における処理プログラムスレッド共有メモリ集中配置方式を示す図である。
【図１０】分散制御プログラムスレッド実行方式（図５）における制御プログラムスレッド非共有メモリ分散配置方式を示す図である。
【図１１】分散制御プログラムスレッド実行方式（図５）における制御プログラムスレッド共有メモリ集中配置方式を示す図である。
【図１２】マルチプロセッサシステムの構成例を示すブロック図である。
【符号の説明】
１０１〜１０４  ＰＥ
１１０〜１１４  非共有メモリ
１２０  ＰＥ間接続ユニット
１３０  共有メモリ
１２０１〜１２０４  ＰＥ
１２２０  ＰＥ間接続ユニット
１２３０  共有メモリ
【図１】
2004192145.tif 000003
【図２】
2004192145.tif 000004
【図３】
2004192145.tif 000005
【図４】
2004192145.tif 000006
【図５】
2004192145.tif 000007
【図６】
2004192145.tif 000008
【図７】
2004192145.tif 000009
【図８】
2004192145.tif 000010
【図９】
2004192145.tif 000011
【図１０】
2004192145.tif 000012
【図１１】
2004192145.tif 000013
【図１２】
2004192145.tif 000014