(57)【要約】【課題】信頼性を維持しつつ、各コアが十分な性能を発揮することが可能なマルチコア・プロセッサを提供すること。【解決手段】プログラムカウンタの示す値に従ってプログラムを実行する第１のプロセッサコアと、第１のプロセッサコアが正常に作動しているか否かを監視する第２のプロセッサコアと、第２のプロセッサコアにより参照可能なデータテーブルと、を備え、第１のプロセッサコアは、所定のチェックタイミングにおいて、少なくともプログラムカウンタの示す値を第２のプロセッサコアに通知し、第２のプロセッサコアは、第１のプロセッサコアから通知されたプログラムカウンタの示す値とデータテーブルに格納された値を比較して、第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、マルチコア・プロセッサ。【選択図】図２
2013061783.tif 000002
【特許請求の範囲】
【請求項１】
プログラムカウンタの示す値に従ってプログラムを実行する第１のプロセッサコアと、
前記第１のプロセッサコアが正常に作動しているか否かを監視する第２のプロセッサコアと、
前記第２のプロセッサコアにより参照可能なデータテーブルと、を備え、
前記第１のプロセッサコアは、所定のチェックタイミングにおいて、少なくとも前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知し、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と前記データテーブルに格納された値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、
マルチコア・プロセッサ。
【請求項２】
請求項１に記載のマルチコア・プロセッサであって、
前記第１のプロセッサコアが前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知するタイミングは、前記第１のプロセッサコアが実行するプログラム内で規定されていることを特徴とする、
マルチコア・プロセッサ。
【請求項３】
請求項１に記載のマルチコア・プロセッサであって、
定期的にタイミング信号を前記第１のプロセッサコアに通知するタイミング通知手段を備え、
前記第１のプロセッサコアは、前記報知手段によりタイミング信号が通知されたときに、前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知することを特徴とする、
マルチコア・プロセッサ。
【請求項４】
請求項１ないし３のいずれか１項に記載のマルチコア・プロセッサであって、
前記第２のプロセッサコアは、前記データテーブルに格納された値のうち特定の値を現在値として認識し、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と前記現在値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、
マルチコア・プロセッサ。
【請求項５】
請求項１ないし３のいずれか１項に記載のマルチコア・プロセッサであって、
前記第１のプロセッサコアは、前記所定のチェックタイミングにおいて、前記プログラムカウンタの示す値に加えて前記データテーブルにおけるアドレスを指定するデータを前記第２のプロセッサコアに通知し、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と、前記第１のプロセッサコアから通知されたデータにより特定される前記データテーブルのアドレスに格納された値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、
マルチコア・プロセッサ。
【請求項６】
請求項１ないし５のいずれか１項に記載のマルチコア・プロセッサであって、
前記第１のプロセッサコアが実行するプログラムは、複数のタスクに分類され、
前記タスク毎に複数の前記データテーブルを備え、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と、前記複数のデータテーブルのうち前記第１のプロセッサコアが実行しているタスクに応じたデータテーブルに格納された値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、
マルチコア・プロセッサ。
【請求項７】
プログラムカウンタの示す値に従ってプログラムを実行する第１のプロセッサコアと、
前記第１のプロセッサコアが正常に作動しているか否かを監視する第２のプロセッサコアと、を備え、
前記第１のプロセッサコアは、所定のチェックタイミングにおいて、少なくとも前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知し、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値に基づいて、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、
マルチコア・プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサコアを有し、それぞれのプロセッサコアが独立した機能を実行可能なマルチコア・プロセッサに関する。
【背景技術】
【０００２】
従来、一パッケージ内に複数のプロセッサコア（ＣＰＵコア）を封入し、各プロセッサコアが並行・独立して処理を行うことが可能なマルチコア・プロセッサが知られている。マルチコア・プロセッサは、並行処理が可能であるために広く普及しつつあり、その多機能性から移動体等の制御装置として好適に用いられる。
【０００３】
ところで、コンピュータが移動体等の制御装置として用いられる場合、その処理結果について、高いレベルでの信頼性が要求される。
【０００４】
これに関連し、特許文献１には、マルチコアＣＰＵを搭載する電子制御装置におけるフェールセーフ処理について記載されている。この電子制御装置は、複数のＣＰＵコアを持つＣＰＵと、ＣＰＵに対して例題を出題し、例題に対する回答に基づいてＣＰＵの演算機能を監視する監視部とを備えている。そして、監視部は複数のＣＰＵコアのうちの特定のＣＰＵコアの演算機能を監視し、特定のＣＰＵコアは、複数のＣＰＵコアのうちの他のＣＰＵコアを一つずつ選択してそれぞれに順番に例題データを送信し、他のＣＰＵコアは、特定のＣＰＵコアから受信した例題データに対する回答データをそれぞれが算出し、特定のＣＰＵコアは、他のＣＰＵコアからの回答データと、あらかじめ用意された期待値との比較を、他のＣＰＵコアそれぞれに関して順番に行い、比較の結果に基づいてＣＰＵの演算機能を診断している。
【０００５】
また、複数の処理手段を有する情報処理装置の分野では、ロックステップと称される技術も普及している。ロックステップとは、複数のプロセッサで同じ処理を実行し、実行結果を比較して各プロセッサが正常に動作しているかどうかを判定する技術である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１２８６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記信頼性を向上させるための技術においては、比較のためにのみ同じ処理を行うという冗長な構成を有しているため、ＣＰＵリソースを多く消費し、コストに見合った性能をプロセッサが発揮できないという課題が存在する。
【０００８】
本発明はこのような課題を解決するためのものであり、信頼性を維持しつつ、各コアが十分な性能を発揮することが可能なマルチコア・プロセッサを提供することを、主たる目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明の第１の態様は、
プログラムカウンタの示す値に従ってプログラムを実行する第１のプロセッサコアと、
前記第１のプロセッサコアが正常に作動しているか否かを監視する第２のプロセッサコアと、
前記第２のプロセッサコアにより参照可能なデータテーブルと、を備え、
前記第１のプロセッサコアは、所定のチェックタイミングにおいて、少なくとも前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知し、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と前記データテーブルに格納された値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、
マルチコア・プロセッサである。
【００１０】
この本発明の第１の態様によれば、第１のプロセッサコアは、所定のチェックタイミングにおいて、少なくともプログラムカウンタの示す値を第２のプロセッサコアに通知し、第２のプロセッサコアは、第１のプロセッサコアから通知されたプログラムカウンタの示す値と前記データテーブルに格納された値を比較して、第１のプロセッサコアが正常に作動しているか否かを監視するため、信頼性を維持しつつ、各コアが十分な性能を発揮することが可能なマルチコア・プロセッサを提供することができる。
【００１１】
本発明の第１の態様において、
前記第１のプロセッサコアが前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知するタイミングは、前記第１のプロセッサコアが実行するプログラム内で規定されていることを特徴とするものとしてもよい。
【００１２】
また、本発明の第１の態様において、
定期的にタイミング信号を前記第１のプロセッサコアに通知するタイミング通知手段を備え、
前記第１のプロセッサコアは、前記報知手段によりタイミング信号が通知されたときに、前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知することを特徴とするものとしてもよい。
【００１３】
また、本発明の第１の態様において、
前記第２のプロセッサコアは、前記データテーブルに格納された値のうち特定の値を現在値として認識し、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と前記現在値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とするものとしてもよい。
【００１４】
また、本発明の一態様において、
前記第１のプロセッサコアは、前記所定のチェックタイミングにおいて、前記プログラムカウンタの示す値に加えて前記データテーブルにおけるアドレスを指定するデータを前記第２のプロセッサコアに通知し、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と、前記第１のプロセッサコアから通知されたデータにより特定される前記データテーブルのアドレスに格納された値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とするものとしてもよい。
【００１５】
また、本発明の第１の態様において、
前記第１のプロセッサコアが実行するプログラムは、複数のタスクに分類され、
前記タスク毎に複数の前記データテーブルを備え、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値と、前記複数のデータテーブルのうち前記第１のプロセッサコアが実行しているタスクに応じたデータテーブルに格納された値を比較して、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とするものとしてもよい。
【００１６】
本発明の第２の態様は、
プログラムカウンタの示す値に従ってプログラムを実行する第１のプロセッサコアと、
前記第１のプロセッサコアが正常に作動しているか否かを監視する第２のプロセッサコアと、を備え、
前記第１のプロセッサコアは、所定のチェックタイミングにおいて、少なくとも前記プログラムカウンタの示す値を前記第２のプロセッサコアに通知し、
前記第２のプロセッサコアは、前記第１のプロセッサコアから通知されたプログラムカウンタの示す値に基づいて、前記第１のプロセッサコアが正常に作動しているか否かを監視することを特徴とする、
マルチコア・プロセッサである。
【００１７】
本発明の第２の態様によれば、信頼性を維持しつつ、各コアが十分な性能を発揮することが可能なマルチコア・プロセッサを提供することができる。
【発明の効果】
【００１８】
本発明によれば、信頼性を維持しつつ、各コアが十分な性能を発揮することが可能なマルチコア・プロセッサを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施例に係るマルチコア・プロセッサ１のシステム構成例である。
【図２】本実施例のマルチコア・プロセッサ１が作動している状態を模式的に示す図である。
【図３】メインコア監視タスク３０Ｚの処理の流れを示すフローチャートである。
【図４】現在アドレス値TBRefを更新するポインタ制御を行う様子を模式的に示す図である。
【図５】ロックステップによりメインコアの監視が行われる様子を模式的に示す図である。
【図６】本実施例のマルチコア・プロセッサ１によりメインコア２０の監視が行われる様子を模式的に示す図である。
【図７】本発明の他の実施例に係るマルチコア・プロセッサのシステム構成例である。
【図８】発明の他の実施例に係るマルチコア・プロセッサのシステム構成例である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２１】
以下、図面を参照し、本発明の一実施例に係るマルチコア・プロセッサ１について説明する。
【００２２】
［構成］
図１は、本発明の第１実施例に係るマルチコア・プロセッサ１のシステム構成例である。マルチコア・プロセッサ１は、主要な構成として、プログラムメモリ１０と、メインコア２０と、サブコア３０と、共有メモリ４０と、を備える。なお、本実施例ではプロセッサコアの個数を２個としたが、２以上の如何なる個数のプロセッサコアを備えてもよい。
【００２３】
プログラムメモリ１０は、例えば、ＲＯＭ（Read  Only  Memory）、フラッシュＲＯＭ、ＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）等の不揮発性メモリである。プログラムメモリ１０は、メインコア２０及びサブコア３０が実行するプログラムを格納している。
【００２４】
そして、プログラムメモリ１０は、メインコア２０又はサブコア３０から入力されるアドレスに格納された命令を、命令フェッチバス１５を介してメインコア２０又はサブコア３０に出力する。
【００２５】
メインコア２０は、例えば、ＡＬＵ（Arithmetic  Logic  Unit）、ＭＵＬ（乗算器）、ＤＩＶ（除算器）、ＬＳＵ（Load  Store  Unit）その他を含む演算ユニット２１と、レジスタやキャッシュメモリ等の内部メモリ２２と、プログラムカウンタ２３と、ローカル割り込みコントローラ２４と、を備えるコンピュータユニットである。
【００２６】
同様に、サブコア３０は、例えば、演算ユニット３１と、内部メモリ３２と、プログラムカウンタ３３と、ローカル割り込みコントローラ３４と、を備えるコンピュータユニットである。
【００２７】
メモリ４０は、例えばＲＡＭ（Random  Access  Memory）やキャッシュメモリであり、データバス４５を介してメインコア２０及びサブコア３０との間でデータの送受信を行うことができる。
【００２８】
メモリ４０には、メインコア２０とサブコア３０の間のデータ送受信に用いられる共有領域４１と、メインコア２０とサブコア３０に領域分割されてアクセスが各コアに制限される専用領域４２と、監視用プログラムカウンタテーブル４３と、が設定される。
【００２９】
監視用プログラムカウンタテーブル４３は、例えばマルチコア・プロセッサ１の起動時にＲＯＭ等から読み出されてメモリ４０に書き込まれたものが利用される。なお、監視用プログラムカウンタテーブル４３は、内部メモリ３２に設定されてもよい。監視用プログラムカウンタテーブル４３の内容については後述する。
【００３０】
［機能］
図２は、本実施例のマルチコア・プロセッサ１が作動している状態を模式的に示す図である。本図では、図１に示した構成要素のうち一部を省略している。
【００３１】
メインコア２０及びサブコア３０は、それぞれ自己が実行すべきタスク２０Ａ、２０Ｂ、…、３０Ａ、３０Ｂ、…を実行している。タスクとは、一定のまとまりを有する命令の集合である。例えば本実施例のマルチコア・プロセッサ１が車両に搭載されてエンジンを制御する制御装置である場合、タスク２０Ａがエンジンの点火時期制御、タスク２０Ｂがスロットル開度制御、タスク３０Ａがスターターモータ制御、タスク３０Ｂがエンジン始動認証制御、等のように機能分割される。
【００３２】
また、サブコア３０は、ローカル割り込みコントローラ３４によって起動されるメインコア監視タスク３０Ｚを実行する。
【００３３】
メインコア２０は、上記のようにタスク２０Ａ、２０Ｂを実行している中で、所定のチェックタイミングが到来すると、プログラムカウンタ２３の示す値（PCMain）をサブコア３０に通知する。以下、係る通知をチェック用通知と称する。
【００３４】
ここで、所定のチェックタイミングは、タスク２０Ａ、２０Ｂを構成する命令に埋め込まれている。すなわち、所定のチェックタイミングは、メインコア２０が実行するプログラム内で規定されている。
【００３５】
チェック用通知には、コア間割り込みを使用する。すなわち、ローカル割り込みコントローラ２４が専用線等を介してローカル割り込みコントローラ３４に情報送信することにより、チェック用通知が行われる。
【００３６】
ローカル割り込みコントローラ３４は、チェック用通知を受領すると、メインコア監視タスク３０Ｚを起床させると共に、チェック用通知に含まれるプログラムカウンタ２３の示す値PCMainを内部メモリ３２に書き込む。
【００３７】
メインコア監視タスク３０Ｚは、内部メモリ３２に書き込まれたプログラムカウンタ２３の示す値PCMainと、監視用プログラムカウンタテーブル４３に格納された値とを比較することにより、メインコア２０が正常に作動しているか否かを判定する。図２における破線矢印は、チェック用通知からメインコア監視タスク３０Ｚが判定を行うまでの情報通信の流れを示している。
【００３８】
すなわち、監視用プログラムカウンタテーブル４３に格納された値は、チェック用通知によりメインコア２０から送られてくるであろうプログラムカウンタ２３の示す値を、時系列で列挙したものである。このような値は、後述するように、メインコア２０の実行するプログラムのコンパイル時等に把握され、監視用プログラムカウンタテーブル４３上に設定される。
【００３９】
なお、監視用プログラムカウンタテーブル４３は、メインコア２０が実行するプログラムのソースコードをコンパイルする際に決定されるプログラムカウンタ情報に基づいて生成される。
【００４０】
また、メインコア監視タスク３０Ｚは、監視用プログラムカウンタテーブル４３に格納された値のうち特定の値を、現在値として認識するためのポインタ制御を行う。ポインタ制御は、例えばメモリ４３又は内部メモリ３２上に、監視用プログラムカウンタテーブル４３における特定のアドレス値（現在アドレス値TBRef）を記憶させておき、チェック用通知を受領する毎に、基準アドレスずつアドレス値が増加するように、現在アドレス値TBRefを更新する。そして、メインコア２０が正常に作動しているか否かを判定する際には、メモリ４３又は内部メモリ３２に格納された現在アドレス値TBRefが示す監視用プログラムカウンタテーブル４３上のアドレスに書き込まれた値PCRefを読み込んで判定基準とする。
【００４１】
メインコア監視タスク３０Ｚは、内部メモリ３２に書き込まれたプログラムカウンタ２３の示す値PCMainと、監視用プログラムカウンタテーブル４３に格納された値PCRefが一致する場合にメインコア２０が正常に作動していると判定し、一致しない場合にメインコア２０が正常に作動していないと判定する。
【００４２】
メインコア監視タスク３０Ｚは、メインコア２０が正常に作動していないと判定すると、コントロールフローエラーが生じた旨をメインコア２０に通知する。具体的には、ローカル割り込みコントローラ３４に、メインコア２０への割り込み通知を行うように指示する。図２における実線矢印は、メインコア２０が正常に作動していないと判定した後に生じる情報通信の流れを示している。
【００４３】
図３は、メインコア監視タスク３０Ｚの処理の流れを示すフローチャートである。本フローは、ローカル割り込みコントローラ３４からの起床指示によって開始される。
【００４４】
まず、サブコア３０は、メインコア監視タスク３０Ｚにおいて、内部メモリ３２に書き込まれたプログラムカウンタ２３の示す値PCMainを読み込む（Ｓ１００）。
【００４５】
次に、サブコア３０は、監視用プログラムカウンタテーブル４３に格納された値のうち、メモリ４３又は内部メモリ３２上に記憶された現在アドレス値TBRefに格納された値PCRefを読み込む（Ｓ１０２）。
【００４６】
次に、サブコア３０は、PCMainとPCRefが一致しているか否かを判定する（Ｓ１０４）。
【００４７】
PCMainとPCRefが一致していない場合は、ローカル割り込みコントローラ３４に、メインコア２０への割り込み通知を行うように指示する（Ｓ１０６）。そして、「現在アドレス値」を基準アドレス分増加させ（Ｓ１０８）、本フローを終了する。
【００４８】
一方、PCMainとPCRefが一致している場合は、現在アドレス値TBRefを基準アドレス分増加させ（Ｓ１０８）、本フローを終了する。
【００４９】
図４は、メインコア監視タスク３０Ｚによる処理の流れを模式的に示す図である。このような制御によって、監視用プログラムカウンタテーブル４３に格納された値のうち特定の値が現在アドレス値TBRefとして認識され、現在アドレス値TBRefの示すアドレスに格納されたPCRefが読み出されて判定に用いられる。
【００５０】
なお、Ｓ１０４における判定は、例えばPCRefがPCMainの下三桁のみ特定しているような場合も考えられるので、「一致しているか否かを判定する」のではなく、「整合しているか否かを判定する」と読み替えてもよい。
【００５１】
係る制御によって、プログラムカウンタ値を基準値と比較するという簡易な演算のみによってメインコア２０が正常に作動しているかどうかを判定することができる。このため、サブコア３０は、メインコア監視タスク３０Ｚ以外にも自己に割り当てられたタスクを実行することができる。従って、信頼性を維持しつつ、各コアが十分な性能を発揮することができる。
【００５２】
［従来構成との比較］
ここで、従来行われていたロックステップとの比較について説明する。図５は、ロックステップによりメインコアの監視が行われる様子を模式的に示す図である。図示するように、ロックステップを採用したマルチコア・プロセッサでは、サブコアにおいてメインコアと同じプログラムを実行しており、全ての演算結果を比較していた。このため、サブコアはメインコアの監視以外のタスクを実行することができず、コストに見合った性能をプロセッサが発揮できないことになっていた。
【００５３】
これに対し、図６は、本実施例のマルチコア・プロセッサ１によりメインコア２０の監視が行われる様子を模式的に示す図である。図示するように、サブコア３０は、プログラムカウンタ値を基準値と比較するという簡易な演算のみによってメインコア２０が正常に作動しているかどうかを判定することができる。このため、サブコア３０は、メインコア監視タスク３０Ｚ以外にも自己に割り当てられたタスクを実行することができる。
【００５４】
［まとめ］
以上説明した本実施例のマルチコア・プロセッサ１によれば、信頼性を維持しつつ、各コアが十分な性能を発揮することができる。
【００５５】
［変形等］
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００５６】
例えば、現在アドレス値TBRefを特定するための制御がサブコア３０により行われるものとしたが、メインコア２０からのチェック用通知において、PCMainと現在アドレス値TBRefが一緒にサブコア３０に送られて来るものとしてもよい。
【００５７】
また、監視用プログラムカウンタテーブル４３は、単独のものではなく、図７に示すように、メインコア２０が実行するタスク毎に複数個設定されてもよい。この場合、サブコア３０は、メインコア２０がタスクを起床する度に、使用される監視用プログラムカウンタテーブル４３を特定する処理を行う。図７は、本発明の他の実施例に係るマルチコア・プロセッサのシステム構成例である。
【００５８】
また、チェック用通知を行う所定のチェックタイミングは、メインコア２０が実行するプログラム内で規定されているものとしたが、図８に示すように、定期的にタイミング信号をメインコア２０（或いはメインコア２０の実行するタスク）に通知するタイミング通知手段２５を備えるものとしてもよい。タイミング通知手段は、ハードウエア手段であってもよいし、ソフトウエア手段であってもよい。図８は、発明の他の実施例に係るマルチコア・プロセッサのシステム構成例である。
【００５９】
また、チェック用通知において通知されるPCMainが規則的に変動することを前提とし、監視用プログラムカウンタテーブル４３を省略した構成としてもよい。この場合、PCMainこの場合、通知されたPCRefを前回値と比較した差分を用いて、メインコア２０が正常に作動しているかどうかを判定する。
【符号の説明】
【００６０】
１      マルチコア・プロセッサ
１０    プログラムメモリ
１５    命令フェッチバス
２０    メインコア
２１    演算ユニット
２２    内部メモリ
２３    プログラムカウンタ
２４    ローカル割り込みコントローラ
２５    タイミング通知手段
３０    サブコア
３０Ｚ  メインコア監視タスク
３１    演算ユニット
３２    内部メモリ
３３    プログラムカウンタ
３４    ローカル割り込みコントローラ
４０    共有メモリ
４１    共有領域
４２    専用領域
４３    監視用プログラムカウンタテーブル
４５    データバス
【図１】
2013061783.tif 000003
【図２】
2013061783.tif 000004
【図３】
2013061783.tif 000005
【図４】
2013061783.tif 000006
【図５】
2013061783.tif 000007
【図６】
2013061783.tif 000008
【図７】
2013061783.tif 000009
【図８】
2013061783.tif 000010