(57)【要約】【課題】各プログラマブル論理回路が異なる電圧・周波数の動作特性を持つ場合に、各プログラマブル論理回路に最適な電圧・クロックを供給し、消費電力を下げることができる論理回路装置を提供する。【解決手段】動作が変更可能な複数の演算回路と、これら演算回路にクロック信号と電圧を供給する１以上のクロック・電圧供給部と、処理性能と電力との関係を示す各演算回路固有の電力情報と、処理性能の上限値と下限値を各演算回路別にそれぞれ保持する動作範囲設定部と、各演算回路の処理負荷の合計が前記上限値を超えない範囲で、前記演算回路の全ての電力値の合計が小さくなるように処理負荷の割り当てを行なう処理制御部とを具備する。【選択図】      図１
2005328462.tif 000002
【特許請求の範囲】
【請求項１】
回路情報を用いて、動作中に回路構成を変更可能な複数のプログラマブル論理回路と、
複数の単位回路に関する回路情報及び各単位回路の処理を破綻無く実行するために必要な性能の指標である要求性能の情報を記憶する回路情報記憶部と、
前記複数のプログラマブル論理回路にクロック信号並びに動作電圧を供給するクロック・電圧供給部と、
前記各プログラマブル論理回路ごとの、クロック周波数と動作電圧との関係を示す回路特性情報を記憶する回路特性記憶部と、
前記複数のプログラマブル論理回路を用いて全ての前記単位回路に関する前記要求性能の合計値に相当する処理能力を実現させるために必要な最低動作電圧と動作クロック周波数とを前記回路特性情報に基づいて求め、前記各プログラマブル論理回路に割り当てられた前記各単位回路の前記要求性能の合計が、当該プログラマブル論理回路を当該最低動作電圧で動作させた場合のクロック周波数で実現可能な処理能力を超えない範囲で、前記各プログラマブル論理回路への前記単位回路の割り当てを行う割り当て制御部と、
前記クロック・電圧供給部が前記各プログラマブル論理回路に供給する動作電圧を前記最低動作電圧に変更させるとともに、前記クロック・電圧供給部が前記各プログラマブル論理回路に供給するクロック信号の周波数を前記動作クロック周波数に変更させるクロック・電圧制御部と、
前記回路情報記憶部が記憶する前記回路情報を用いて前記各プログラマブル論理回路の回路構成を前記割り当ての範囲で変更する変更制御部と、を備える論理回路装置。
【請求項２】
前記各プログラマブル論理回路を前記最低動作電圧で動作させた場合のクロック周波数で実現可能な処理能力と前記各プログラマブル論理回路に割り当てられた全単位回路の要求性能の合計値とを比較する手段と、
該合計値が該処理能力より低い場合に、各プログラマブル論理回路が割り当てられた処理を行った後に所定の時間処理を停止する手段と、
を備える請求項１記載の論理回路装置。
【請求項３】
前記複数のプログラマブル論理回路を前記最低動作電圧で動作させた場合に実現可能な処理能力の合計値と全単位回路の要求性能の合計値とを比較する手段と、
該要求性能の合計値が該処理能力の合計値より低い場合に、任意の一つのプログラマブル論理回路に割り当てられている単位回路を全て他のプログラマブルに割り当てるとともに、当該任意の一つのプログラマブル論理回路の動作を停止させる手段と、
を備える請求項２記載の論理回路装置。
【請求項４】
前記プログラマブル論理回路の故障を検出する検出手段と、
前記検出手段により特定のプログラマブル論理回路上で故障が検出された場合に、前記回路特性記憶部が記憶している該プログラマブル論理回路の回路特性情報を前記０とする手段と、
を含む請求項１乃至３のいずれか１記載の論理回路装置。
【請求項５】
前記プログラマブル論理回路の故障を検出する検出手段と、
特定のプログラマブル論理回路上での故障検出時に該プログラマブル論理回路内の故障箇所を特定し、あらかじめ定めた処理情報を調査し、故障箇所を使用しない処理を選択して、故障を検出した演算処理に割り当てるとともに、処理負荷の量に従って電圧および周波数を変更する手段とを備える、請求項１乃至４のいずれか１記載の論理回路装置。
【請求項６】
複数のプログラマブル論理回路を含む論理回路部と、
所定の処理に応じて前記複数のプログラマブル論理回路を選択的にプログラミングする論理情報を前記複数のプログラマブル論理回路に入力し、前記複数のプログラマブル論理回路の処理能力に応じて前記所定の処理を前記複数のプログラマブル論理回路に割り当てて実行させる処理制御部とを含む論理回路装置。
【請求項７】
前記論理回路手段の前記複数のプログラマブル論理回路に同じレベルのクロック及び電圧を供給するクロック・電圧供給手段を含む請求項６記載の論理回路装置。
【請求項８】
前記論理回路手段の前記複数のプログラマブル論理回路にそれぞれ接続され、個々のレベルのクロック及び電圧を前記複数のプログラマブル論理回路に供給する複数のクロック・電圧供給手段を含む請求項６記載の論理回路装置。
【請求項９】
前記複数のプログラマブル論理回路の動作可能な処理性能指標の上限値と下限値を保持している動作範囲記憶手段を含み、
前記処理制御部は前記処理性能指標の上限値と下限値に応じて前記プログラマブル論理回路に割り当てるべき処理負荷を決定する請求項７又は請求項８記載の論理回路装置。
【請求項１０】
前記複数のプログラマブル論理回路の動作状態を検査する検査部とを含み、前記処理制御部は前記検査部の検査結果に応じて前記プログラマブル論理回路部の故障したプログラマブル論理回路を無使用とし、前記クロック・電圧供給手段に残りのプログラマブル論理回路に供給するクロック及び電圧のレベルを増加させる請求項８又は９記載の論理回路装置。
【請求項１１】
前記複数のプログラマブル論理回路のそれぞれに関する、動作可能な電圧及びクロック周波数の範囲を記憶している動作範囲記憶手段を備え、
前記処理制御部は、
前記複数のプログラマブル論理回路の合計消費電力が最小もしくは極小となるように、前記クロック周波数及び電圧の範囲内で前記各プログラマブル論理回路に割り当てる処理負荷を決定する手段と、
前記各クロック・電圧供給手段に、決定された処理負荷に応じた周波数のクロック並びに電圧を対応する前記各プログラマブル論理回路に対して供給させる手段と、
を備える請求項８記載の論理回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプログラマブル論理回路を同時に利用する汎用論理回路装置に関する。
【背景技術】
【０００２】
複数のステップからなる処理を行う回路を一つの集積回路で構成すると、高速な処理能力が要求されるステップと低速な処理能力で十分なステップとがあるにもかかわらず、集積回路全体の動作速度は、通常高速な処理能力が要求されるステップに合わせる。従って、集積回路全体としては処理能力が余剰することになり、その分消費電力が大きくなる。
【０００３】
集積回路の消費電力を減らすには、クロック信号の周波数（クロック周波数）を低くするのが有効な手法のひとつであることが良く知られている。通常、動作可能な電圧は動作周波数の１次関数で近似され、消費電力は電圧の２乗と周波数との積に比例するため、周波数と電圧を合わせて制御することにより、消費電力を大幅に削減することが可能となる。一方で、クロック周波数を低くすることは、同時に集積回路の処理性能を下げることになる。
【０００４】
近年、実現する機能を動作中に変更可能なプログラマブル論理回路が提案されている。このプログラマブル論理回路は、回路の動作中に回路全体若しくは一部分の論理構成を変更することが可能な回路である。例えば、論理構成を高速に変更可能になるように構成したフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）等が挙げられる。尚、以下では単に「プログラマブル論理回路」と表記する。
【０００５】
上記のプログラマブル論理回路を時分割的に動作させる手法ならば、高速な処理能力が必要なステップに対応する単位回路を長い時間動作させ、低速な処理能力で十分である処理に対応する単位回路は短い時間動作させることで、処理能力の余剰を減らすことができる。
【特許文献１】特開平８−４４５８１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
プログラマブル論理回路を複数持つ論理回路装置の場合、各プログラマブル論理回路上で行なう処理の合計時間が平均的になるように単位回路の割り当てを行ない、あわせてクロック周波数と動作電圧を変化させることで、消費電力を減少させることが出来る。
【０００７】
しかし、上記手法では、各プログラマブル論理回路がそれぞれ異なる電圧・周波数の動作特性を持っていた場合に、最も特性が悪い回路の動作特性を基準にすることになるため、より電力効率の良いプログラマブル論理回路を有効に利用できない。また、任意のプログラマブル論理回路内に故障を発生した場合に、システムとしての耐性を持っていなかった。
【０００８】
本発明の目的は、各プログラマブル論理回路がそれぞれ異なる電圧・周波数の動作特性を持つ場合に、各プログラマブル論理回路に最適な電圧・クロックを供給し、消費電力を下げることができる論理回路装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、回路情報に基づいて、動作中に回路構成を変更可能な複数のプログラマブル論理回路と、複数の単位回路に関する回路情報を記憶する回路情報記憶部と、前記プログラマブル論理回路にクロック信号及び電圧を供給するクロック・電圧供給部と、前記各プログラマブル論理回路に固有なクロック周波数と電力との関係を示す電力情報と、前記各プログラマブル論理回路のクロック周波数の上限値及び下限値とを、前記各プログラマブル論理回路ごとに記憶する回路特性記憶部と、前記各プログラマブル論理回路で実現する前記各単位回路による処理負荷の合計が、前記上限値を超えない範囲で、前記プログラマブル論理回路の全電力値の合計が最小または極小になるように、前記プログラマブル論理回路への単位回路の割り当てを行う割り当て制御部と、前記各プログラマブル論理の回路構成を、前記割り当ての範囲で変更する変更制御部とを備える論理回路装置を提供する。
【発明の効果】
【００１０】
本発明により、複数の演算回路、即ちプログラマブル論理回路で動作特性に個体差が生じている場合に、演算回路別に低消費電力化を実現でき、さらにシステム全体として電力効率を高めることができる。
【発明を実施するための最良の形態】
【００１１】
本発明の実施形態の説明に先立ってプログラマブル論理回路を用いた論理回路装置の概要を説明する。図１５はこの論理回路装置の一応用例を示している。この応用例では、ステップＡからステップＤまでの４個のステップからなる処理を１つのプログラマブル論理回路１５２１で実行する。ここでは、説明を簡単にするためにプログラマブル論理回路が一つの場合について説明する。
【００１２】
一般には、このような処理は、各ステップに対応する専用回路Ａ、Ｂ、Ｃ及びＤと各専用回路の出入力を一時記憶するＦＩＦＯ型メモリ１５００、１５０１、１５０２、１５０３及び１５０４とを用いることで容易に実現可能である。しかし、図１５の例では４個の専用回路を用いる替わりに、プログラマブル論理回路１５２１と回路情報Ａ、Ｂ、Ｃ及びＤとを備える論理回路装置１５２０を用いる。
【００１３】
プログラマブル論理回路１５２１は、外部から与えられた回路情報に従って任意の論理回路を実現する。例えば、プログラマブル論理回路１５２１は回路情報Ａが与えられると回路Ａとして動作する。プログラマブル論理回路１５２１は回路情報Ｂを与えられると回路Ｂとして動作する。
【００１４】
また、プログラマブル論理回路１５２１は回路構成を再構成可能という性質を持つ。すなわち、プログラマブル論理回路１５２１は、外部から与える回路情報を変更することにより、回路構成を変更することができる。例えば、図１６に示すように、回路情報Ａに基づいて回路Ａとして動作しているプログラマブル論理回路１５２１に回路情報Ｂを与えると、図１７に示すようにプログラマブル論理回路１５２１は回路Ｂとして動作するようになる。
【００１５】
本実施形態の論理回路装置１５２０は、プログラマブル論理回路１５２１の再構成可能という性質を利用する。そして、図１６から図１９に示すように、ある時刻ではプログラマブル論理回路１５２１を回路Ａとして動作させ、別の時刻では回路Ｂとして動作させ、また別の時刻では回路Ｃとして動作させ、さらに別の時刻では回路Ｄとして動作させる。従って、ある時刻では回路Ａの処理のみが行われ、その他の回路（Ｂ〜Ｄ）の処理は停止した状態になる。このように、プログラマブル論理回路１５２１で実現する回路の種類を時々刻々と変化させながらステップＡ、Ｂ、Ｃ及びＤの処理を行う。
【００１６】
動作させる回路を変更する時に、ＦＩＦＯ切替部１５２２はプログラマブル論理回路１５２１に接続するＦＩＦＯ型メモリを変更する。例えば、プログラマブル論理回路１５２１を回路Ｃとして動作させる時には、プログラマブル論理回路１５２１の入力側にＦＩＦＯ１５０２を接続し、出力側にＦＩＦＯ１５０３を接続する。プログラマブル論理回路１５２１を回路Ｄとして動作させる時には、プログラマブル論理回路１５２１の入力側にＦＩＦＯ１５０３を接続し、出力側にＦＩＦＯ１５０４を接続する。
【００１７】
尚、各回路をプログラマブル論理回路１５２１で動作させる順番は予め決めておいても良いし、動的に決定しても構わない。
【００１８】
図２０はプログラマブル論理回路１５２１の内部構成の概要を示している。プログラマブル論理回路１５２１は複数の単位ブロック２０００と、単位ブロック間の接続を行う複数の単位ブロック間接続部２０１０とを備える。単位ブロック２０００は、入力されたデータに対する論理演算を行うＬＵＴ２００１と、ＬＵＴ２００１の演算結果を他の単位ブロックに出力する際の出力の同期をとるためのＤ−ＦｌｉｐＦｌｏｐ２００２とを備える。単位ブロック２０００は、複数の回路情報を記憶しておくＲＡＭ２００３と、ＬＵＴ２００１に与える回路情報を切り替える切替部２００４とを備える。単位ブロック２０００は、ＬＵＴ２００１に与える回路情報を切り替える際にＤ−ＦｌｉｐＦｌｏｐ２００２の状態情報を退避・復元するためのＲＡＭ２００５と、退避・復元する状態情報を切り替える切替部２００６とを備える。
【００１９】
単位ブロック間接続部２０１０は、単位ブロック間の接続関係に関する回路情報に基づいて単位ブロック２０００からの出力を別の単位ブロック２０００に出力する接続部２０１１と、単位ブロック間の接続関係を規定する複数の回路情報を記憶するＲＡＭ２０１２と、接続部２０１１に与える回路情報を切り替える切替部２０１３とを備える。
【００２０】
ＲＡＭ２００３は、外部から論理演算に関する回路情報を受け取り、記憶する。ＲＡＭ２０１２は、外部から単位ブロック間の接続関係に関する回路情報を受け取り、記憶する。ＲＡＭ２００５は、外部と状態情報の受け渡しを行う。切替部２００４、２００６及び２０１３は、外部から制御信号を受けて切替動作を行う。
【００２１】
図２１は、プログラマブル論理回路１５２１の動作中に再構成を行う手順のフローチャートである。尚、ここではプログラマブル論理回路１５２１の外部にある図示しない制御部により再構成の制御が実行されるものとする。
【００２２】
（ステップＳ２１０１）制御部は、次に動作させる回路に対応する回路情報２００３−２及び回路情報２０１２−２を外部からＲＡＭ２００３及びＲＡＭ２０１２に供給する。また、次に動作させる回路に対応する状態情報２００５−２を外部からＲＡＭ２００５に供給する。
【００２３】
（ステップＳ２１０２）制御部は、プログラマブル論理回路１５２１へのクロック信号の供給を停止して処理を停止させる。
【００２４】
（ステップＳ２１０３）制御部は、次に動作させる回路に対応するＦＩＦＯ（図示せず）をプログラマブル論理回路１５２１に接続する。
【００２５】
（ステップＳ２１０４）制御部は、切替部２００６に制御信号を送りＤ−ＦｌｉｐＦｌｏｐ２０２が保持する状態情報をＲＡＭ２００５に退避させる。退避させた状態情報は状態情報２００５−１としてＲＡＭ２００５に記憶される。
【００２６】
（ステップＳ２１０５）制御部は、切替部２００４に制御信号を送る。切替部２００４は次に動作させる回路の構成に関する回路情報２００３−２をＲＡＭ２００３からＬＵＴ２００１へコピーする。また、制御部は、切替部２０１３に制御信号を送る。切替部２０１３は、次に動作させる回路の接続関係に関する回路情報２０１２−２を、ＲＡＭ２０１２から接続部２０１１へコピーする。さらに、制御部は、切替部２００６に制御信号を送る。切替部２００６は、次に動作させる回路に対応する状態情報２００５−２をＤ−ＦｌｉｐＦｌｏｐ２０２上に復元する。
【００２７】
（ステップＳ２１０７）制御部は、クロック信号の供給を再開する。また、必要があればステップＳ２１０４でＲＡＭ２０１２に退避しておいた状態情報２００５−１を図示しない外部のメモリに保存しても良い。
【００２８】
以上の手順により論理構成の再構成が行われる。尚、ステップＳ２１０１については、既にＲＡＭ２００３、２００５及び２０１２に必要なデータが記憶されている場合は省略可能である。
【００２９】
以下図面を参照して本発明の実施形態を説明する。
【００３０】
図１を参照して第１の実施形態に従った動作が変更可能な複数の演算回路、即ち複数のプログラマブル論理回路を用いたプログラマブル論理回路装置を説明する。
【００３１】
プログラマブル論理回路部１１は複数のプログラマブル論理回路１，２・・・ｍを含み、クロック・電圧供給部１２により給電される。プログラマブル論理回路１，２・・・ｍは構成が実質的に同じであるが、処理能力及び回路特性が異なっている。本実施形態では、動作可能な処理速度の上限値が最大で３０％異なっているものとする。回路特性とは、クロック周波数と動作電圧との関係である。本実施形態では、プログラマブル論理回路１，２・・・ｍは、同一のクロック周波数であっても、必ずしも全てが同じ動作電圧で動作可能とは限らない。
【００３２】
また、プログラマブル論理回路１，２・・・ｍの各々は複数のプログラム可能な論理素子とこれらプログラム可能な論理素子間を接続する接続部とを含んで構成される。これらプログラム可能な論理素子の各々は論理情報を与えると、例えば、ＡＮＤ素子、ＯＲ素子、ＮＯＲ素子などの論理素子として機能する。また、接続部にこれらプログラム可能な論理素子間の接続関係を規定する接続情報を与えることにより、各プログラマブル論理回路１，２・・・ｍは所定の処理、例えば四則演算などの各種演算処理を行うことが可能となる。
【００３３】
回路情報記憶部１３は複数の回路情報１，２・・・ｎを記憶する記憶領域を有する。回路情報はプログラマブル論理回路部１１のプログラマブル論理回路の各々の論理構成を組み替えるための情報、即ちプログラマブル論理回路をプログラミングするための情報を含んでいる。より詳細には、回路情報は前述の論理情報及び接続情報を含んでいる。回路情報記録領域にはそれぞれ要求性能記憶領域が付帯されている。要求性能記憶領域は各プログラマブル論理回路内に構成する単位回路の要求性能１，２・・・ｎの指標を記憶している。なお、単位回路は回路情報に従って各プログラマブル論理回路上で構成される単一の演算回路を意味する。また、要求性能１，２・・・ｎの指標としては、例えば、その単位回路を単一のプログラマブル論理回路で恒常的に動作させる場合に、当該単位回路の処理が破綻しないために必要な最低クロック周波数が考えられる。
【００３４】
回路記憶部１３は回路情報供給部１４に接続され、この回路情報供給部１４は制御部１５からの制御信号に応じて回路記憶部１３の回路情報１，２・・・ｎを選択的にプログラマブル論理回路部１１のプログラマブル論理回路１〜ｍへ送り込む。即ち、回路情報供給部１４と制御部１５とにより、所定の処理に応じて複数のプログラマブル論理回路を選択的にプログラミングする論理情報を複数のプログラマブル論理回路に入力し、複数のプログラマブル論理回路の処理能力に応じて所定の処理を複数のプログラマブル論理回路に割り当てて実行させる。
【００３５】
制御部１５には、動作範囲記憶部１７および状態情報管理部１８が接続されている。動作範囲記憶部１７は各論理回路が動作可能な処理性能指標の上限値と下限値を記憶している。具体的には、動作範囲記憶部１７は各プログラマブル論理回路が何ボルトの電圧で何ＭＨｚのクロック周波数で動くかを示す電力情報のテーブルを格納している。
【００３６】
状態情報管理部１８は状態情報記憶部１９に結合されており、プログラマブル論理回路部１１の動作状態を管理する。即ち、状態情報記憶部１９は、プログラマブル論理回路１，２・・・ｍに対応して状態情報１，２・・・Ｍをそれぞれ格納する記憶領域を有しており、プログラマブル論理回路の処理が中断されたとき、状態情報管理部１８はそのときの処理状態を状態情報として対応する記憶領域に一時的に格納する。この処理状態とは、プログラマブル論理回路の処理を中断した時点で、当該プログラマブル論理回路が内部に有する各プログラム可能な論理素子の出入力値に相当する。
【００３７】
更に、制御部１５は、ＦＩＦＯ装置２０，入力ＦＩＦＯ選択部２１および出力ＦＩＦＯ選択部２２に結合されており、ＦＩＦＯ装置２０に入力されるデータが所定量ＦＩＦＯ装置２０に溜まるとプログラマブル論理回路部１１を稼動させる。ＦＩＦＯ装置２０は、図１に示すように複数のＦＩＦＯ−１からＦＩＦＯ−（Ｎ−１）と入力用ＦＩＦＯ−ａと出力用ＦＩＦＯ−ｂを含んでいる。
【００３８】
以下、本実施形態のプログラマブル論理回路装置の作用を説明する。
【００３９】
図１の構成における、基本的な処理の模式図が図２に示されている。これによると、プログラマブル論理回路１乃至ｍを含めて構成される複数の単位回路１乃至ｎによる一連の処理により、目的の処理を行なう。各単位回路間をＦＩＦＯで連結し、各ＦＩＦＯに格納されているデータ量を制御部１５が監視して実行する単位回路を決定する。ＦＩＦＯは、専用のハードウェアであっても、汎用のメモリを先入れ先出しで利用しても良い。
【００４０】
制御部１５は、例えば、各単位回路の入力側にあるＦＩＦＯのデータ量が所定の閾値より多いか否か、また、各単位回路の出力側にあるＦＩＦＯのデータ量が所定の閾値より少ないか否か、等の判定結果に基づき、各プログラマブル論理回路で動作させるべき単位回路を決定する。そして、判定結果に基づいて各プログラマブル論理回路の再構成を行う。
【００４１】
処理実行時には、回路情報記憶部１３にて保持している複数の回路情報１乃至ｎから該当する回路情報を取り出し、回路情報供給部１４にて該当プログラマブル論理回路にロードし、単位回路を構成する。当該単位回路による処理対象となる入力データを保持するＦＩＦＯを入力ＦＩＦＯ選択部２１にて入力ＦＩＦＯとして選択する。当該単位回路による処理結果のデータを格納するＦＩＦＯを出力ＦＩＦＯ選択部２２にて出力ＦＩＦＯとして選択する。選択された該入力ＦＩＦＯからプログラマブル論理回路にデータを供給し、構成した単位回路で処理した結果を選択された該出力ＦＩＦＯに書き込む。
【００４２】
以上の構成において、本発明では、制御部１５が、回路情報記憶部１３に含まれる要求性能記憶領域から各単位回路の要求性能を取得し、動作範囲記憶部１７で保持している各プログラマブル論理回路の処理性能の上限値を超えない範囲で、全プログラマブル論理回路の電力値の合計が小さくなるように単位回路をプログラマブル論理回路に割り当てる。制御部１５の回路割り当て動作の例が図３のフローチャートに示されている。
【００４３】
これによると、制御部１５は、回路情報記憶部１３に含まれる要求性能記憶領域を参照して各プログラマブル論理回路に割り当てられた各単位回路の要求性能（例えば処理速度）を取得する（Ｓ１１）。動作範囲記憶部１７が保持している、各プログラマブル論理回路の処理性能（クロック周波数）と電圧との関係を表す電力情報を取得する（Ｓ１２）。各プログラマブル論理回路の電力情報に基づきプログラマブル論理回路別の合計要求性能を算出する。即ち、各プログラマブル論理回路は回路情報１乃至ｎから選択される複数の回路情報に従って複数の処理を実行するが、これら処理に対する要求性能の合計要求性能が算出される。次に、動作範囲記憶部１７を参照して合計要求性能を一定時間内に処理可能な処理性能をプログラマブル論理回路別に決定し、処理性能に対応する消費電力を算出する（Ｓ１３）。
【００４４】
さらに制御部１５は、プログラマブル論理回路間の消費電力差を比較し、最も消費電力の大きなプログラマブル論理回路に割り当てられている単位回路の一つを選択し（Ｓ１４）、最も消費電力の小さなプログラマブル論理回路に割り当てを変更する（Ｓ１５）。
【００４５】
なお、単位回路の割り当ては次のように行うこともできる。まず、制御部１５は、回路情報記憶部１３に含まれる要求性能記憶領域を参照して各プログラマブル論理回路に割り当てられた各単位回路の要求性能を取得し、その合計である合計要求性能を求める。制御部１５は、動作範囲記憶部１７が保持している、各プログラマブル論理回路の処理性能と駆動電圧との関係を表す電力情報を取得する。制御部１５は、電力情報を参照して合計要求性能を実現するのに必要な最低の駆動電圧を求める。制御部１５は、最低の駆動電圧で動作させる場合を仮定して、各単位回路を各プログラマブル論理回路に割り当てる。全てのプログラマブル論理回路を最低電圧で動作させられるように単位回路を割り当てることができた場合はその割り当てを用いる。制御部１５は、いずれかのプログラマブル論理回路で最低の駆動電圧動作時のクロック周波数の上限値を超える場合は、当該プログラマブル論理回路に割り当てられた単位回路のいずれかを他のプログラム論理回路に割り当てる。それでも最低電圧時のクロック周波数の上限値を超える場合は、制御部１５はプログラマブル論理回路を１段階（クロック・電圧供給部１２で変更可能な最低単位、例えば０．１Ｖ）高い駆動電圧で動作させる場合を仮定して、再度単位回路の割り当てを行う。制御部１５は、割り当てが成功するまで上記動作を繰り返す。
【００４６】
なお、１クロックあたりの消費電力を電力効率として定義し、図４のフローチャートに示すように、各プログラマブル論理回路の消費電力とともに、各プログラマブル論理回路の電力効率を計算してプログラマブル論理回路間で比較し、最も電力効率の悪いプログラマブル論理回路に割り当てられている単位回路の一つを選択し、最も電力効率の良いプログラマブル論理回路に割り当てを変更しても良い。
【００４７】
即ち、先ず、各プログラム論理回路に割り当てられた各単位回路の要求性能を取得する（Ｓ２１）。各プログラマブル論理回路の電力情報を取得する（Ｓ２２）。取得した要求性能及び電力情報に基づき各プログラマブル論理回路の消費電力値を計算する（Ｓ２３）。また、各プログラマブル論理回路の電力効率として１クロック当たりの消費電力を計算する（Ｓ２４）。この計算結果に基づいて、電力効率が最も悪いプログラマブル論理回路に割り当てられている単位回路の一つを選択する（Ｓ２５）。選択した単位回路を電力効率の最も良いプログラマブル論理回路に追加する（Ｓ２６）。尚、電力効率は１クロックに限らず、「複数クロックあたり」で計算しても構わない。
【００４８】
さらに、図５のフローチャートに示すように、全プログラマブル論理回路の合計要求性能と電力情報を用いて、各プログラマブル論理回路の電力効率が最適となるプログラマブル論理回路間の性能比を導出する。電力最小となる理想的な割り当てが行なわれた場合の各プログラマブル論理回路の処理性能を理論値として設定する。理論値と現在の合計要求性能を比較しても良い。その場合、理論値より合計要求性能が大きなプログラマブル論理回路に割り当てられている単位回路を選択して閾値より合計要求性能が小さなプログラマブル論理回路に割り当てを変更する。プログラマブル論理回路に対する単位回路の割り当て変更は、あらかじめ定めた時間間隔で繰り返し行なっても良いし、各プログラマブル論理回路の合計要求性能を監視して、変化した場合に単位回路の割り当て変更を行なっても良い。
【００４９】
即ち、図５のフローチャートによると、先ず、各プログラマブル論理回路に割り当てられた各単位回路の要求性能を取得する（Ｓ３１）。各プログラマブル論理回路の電力情報を取得する（Ｓ３２）。取得した要求性能及び電力情報に基づいて全プログラマブル論理回路の合計消費電力値を計算する（Ｓ３３）。その後、各プログラマブル論理回路の合計必要性能からプログラマブル論理回路別の必要性能の閾値を算出する（Ｓ３４）。この閾値、即ち任意のプログラマブル論理回路での閾値と必要性能との差があらかじめ定めた値以上かが判定される（Ｓ３５）。この判定がＹＥＳであると、実際の必要性能が閾値を超過しているプログラマブル論理回路の単位回路の１つを選択する（Ｓ３６）。選択した単位回路を、実際の必要性能の差が閾値より小さいプログラマブル論理回路に追加する（Ｓ３７）。ステップＳ３５の判定がＮＯのときには、そこで処理は終了する。尚、ステップＳ３７では、電力効率の最も良いプログラマブル論理回路に単位回路を追加するようにしても良い。
【００５０】
動作範囲記憶部１７は、電力情報として処理性能に対する消費電力のテーブルを保持し、制御部１５の消費電力参照時には処理性能でテーブルを参照し消費電力値を返しても良いし、電力情報として性能・電力変換係数を保持し、制御部１５の消費電力参照時には処理性能に性能・電力変換係数を用いた演算を行なって算出した消費電力値を返しても良い。
【００５１】
上記ステップＳ１４、ステップＳ２５及びステップＳ３６において単位回路を選択する際、該当するプログラマブル論理回路の中で最も要求性能の高い単位回路を選んでも良いし、最も要求性能の低い単位回路を選んでも良いし、あらかじめ定められている単位回路を選んでも良い。
【００５２】
本実施形態により、処理能力に多くの余裕がある場合に、一時的にプログラマブル論理回路を止めることによって低消費電力化が図れる。
【００５３】
尚、各単位回路の動作時間を計測（例えば、制御部１５内に時計を設けておく）しておくことにより、各単位回路の処理負荷が動的に変化する場合にも各単位回路の要求性能を推定することが可能となる。例えば、動作時間とクロック周波数の積はその時点での要求性能を表す指標として用いることが可能である。推定された要求性能に基づいて適宜割り当て変更を行うことにより、複数のプログラマブル論理回路で動作特性に個体差が生じている場合にも、システム全体の低消費電力化が図れる。
【００５４】
図６は、第２の実施形態のプログラマブル論理回路装置の構成を表す。この第２の実施形態では、プログラマブル論理回路部１１１は、プログラマブル論理回路１乃至ｍと、これらプログラマブル論理回路１乃至ｍにそれぞれ接続され、これらにクロック信号・電圧を供給するクロック・電圧供給回路１乃至ｍとを備える。制御部１５は、各プログラマブル論理回路に割り当てた単位回路の合計要求性能から、あらかじめ定めた単位時間内に全処理を終了するために必要な動作周波数をプログラマブル論理回路別に導出する。導出した動作周波数をクロック・電圧供給回路に通知する。各クロック・電圧供給回路はプログラマブル論理回路のクロック周波数と電圧との対応テーブルを保持しており、動作周波数でテーブルを参照して供給電圧を決定し、動作周波数に対応するクロック信号と電圧とを対応するプログラマブル論理回路に供給する。
【００５５】
本実施形態では、上述した処理負荷の割り当て方法を用いて各プログラマブル論理回路に単位回路を割り当て、各プログラマブル論理回路に個別の周波数・電圧制御を行なう。
【００５６】
図７は、プログラマブル論理回路間の特性を考慮せずに処理負荷を平均的になるように単位回路を割り当てた場合の消費電力の平均（図７の上のグラフ）と、本実施形態で説明した手法を用いてプログラマブル論理回路間の特性を考慮して単位回路を割り当てた場合の消費電力の平均（図７の下のグラフ）とを示す図である。
【００５７】
図７では、プログラマブル論理回路Ａ、Ｂ、Ｃ及びＤのうち、プログラマブル論理回路Ｂだけが他に比べて電力効率が良いケースを示している。図７に示すように、本実施形態の単位回路割り当て手法を用いることにより、電力効率の良い動作特性を持つプログラマブル論理回路Ｂの合計要求性能が高くなり、相対的に電力効率の悪いプログラマブル論理回路Ａ，Ｃ，Ｄの合計要求性能は低くなる。その結果、処理負荷が平均的になるように単位回路を割り当てた場合よりも、本実施形態の手法で割り当てた方が、これらのプログラマブル論理回路の消費電力の平均は低くなる。
【００５８】
図８は、第２の実施形態のプログラマブル論理回路装置の処理を示すフローチャートである。これによると、先ず、各プログラマブル論理回路に割り当てられた各単位回路の要求性能を取得する（Ｓ４１）。この後。各プログラマブル論理回路の合計要求性能を導出する（Ｓ４２）。このとき、制御部１５は、単位回路の割り当て変更時に、各プログラマブル論理回路の合計要求性能と、動作範囲記憶部１７に保持されている処理性能の下限値を比較する（Ｓ４３）。合計要求性能が下限値より低い場合には、処理性能の下限値と要求性能との差から該当プログラマブル論理回路の停止時間を計算する（Ｓ４４）。下限の処理性能で割り当てられている処理を全て行なった後、該当するプログラマブル論理回路を一定時間停止する（Ｓ４５）。
【００５９】
制御部１５は、停止したプログラマブル論理回路に対し、あらかじめ定めた時間間隔の後に再度クロックの供給を開始しても良いし、停止しているプログラマブル論理回路の稼動を始める制御をあらかじめ定めた時間間隔で行なうものとして、任意の時間に停止しても良い。
【００６０】
図９は、第２の実施形態のプログラマブル論理回路装置の他の処理を示すフローチャートである。これによると、先ず、各プログラマブル論理回路に割り当てられた各単位回路の要求性能を取得する（Ｓ５１）。それから、各プログラマブル論理回路の合計要求性能を導出する（Ｓ５２）。このとき、制御部１５は、単位回路の割り当てを変更する際に、各プログラマブル論理回路の合計要求性能と、動作範囲設定部で保持している処理性能の下限値を比較する（Ｓ５３）。現在の要求性能が下限値より低いプログラマブル論理回路があり、かつ他のプログラマブル論理回路の処理性能が上限値に達していない場合、制御部１５は要求性能が下限値より低いプログラマブル論理回路に割り当てられている全ての単位回路の割り当てを他のプログラマブル論理回路に変更し（Ｓ５４）、該プログラマブル論理回路を停止する（Ｓ５５）。
【００６１】
単位回路の割り当て変更時に、合計要求性能が動作範囲設定部で保持している処理性能の上限値を超えるプログラマブル論理回路が存在し、かつその時点で停止しているプログラマブル論理回路が存在している場合には、図１０のフローチャートに従い、停止しているプログラマブル論理回路を含めて単位回路の割り当て変更を行ない、停止しているプログラマブル論理回路の稼動を開始する。
【００６２】
即ち、図１０によると、先ず、各プログラマブル論理回路に割り当てられた各単位回路の要求性能を取得する（Ｓ６１）。そして、各プログラマブル論理回路の合計要求性能を導出する（Ｓ６２）。それから要求性能が動作範囲記憶部１７の保持する処理性能の上限値以上かが判定される（Ｓ６３）。この判定がＹＥＳであると、停止中のプログラマブル論理回路を含めた全プログラマブル論理回路で単位回路の割り当てを行う（Ｓ６４）。この後、停止していたプログラマブル論理回路の稼動を開始する（Ｓ６５）。
【００６３】
上記の処理において、単位回路の割り当て変更時に、合計要求性能が動作範囲記憶部１７で保持している処理性能の上限値を超えるプログラマブル論理回路が存在せず、かつその時点で停止しているプログラマブル論理回路が存在する場合には、停止しているプログラマブル論理回路以外のプログラマブル論理回路でのみ割り当て変更を行なう。
【００６４】
１以上のプログラマブル論理回路を停止して他のプログラマブル論理回路に単位回路を割り当てなおす際には、稼動を継続するプログラマブル論理回路のうち、導出した電力値の最も低いものから順に割り当ててもよいし、現在の処理性能が最も低いものから順に割り当ててもよいし、あらかじめ定めた特定のものに全て割り当ててもよいし、他の方法によっても良い。
【００６５】
１以上の停止しているプログラマブル論理回路を稼動させて単位回路を割り当てなおす際には、稼動を継続しているプログラマブル論理回路のうち、電力値の最も高いプログラマブル論理回路に割り当てられている単位回路のひとつを選択し、稼動を開始するプログラマブル論理回路に割り当てる制御を繰り返しても良い。合計要求性能の最も高いプログラマブル論理回路に割り当てられている１以上の単位回路の割り当てを、稼動を開始するプログラマブル論理回路に変更しても良い。稼動を停止する際に他のプログラマブル論理回路に割り当てなおした処理を戻してもよい。稼動中の全プログラマブル論理回路からあらかじめ定めた数の単位回路を選択して稼動を開始するプログラマブル論理回路に割り当てても良い。
【００６６】
本実施形態により、処理能力に多くの余裕がある場合に、プログラマブル論理回路を止め、他の回路のみで処理を継続することで低消費電力化が図れる。
【００６７】
図１１は、第３の実施形態のプログラマブル論理回路のブロック図を示す。この実施形態では、図６の実施形態に新たに動作検査部２３が追加される。この動作検査部２３は、動作範囲記憶部１７で保持されている各プログラマブル論理回路のクロック周波数と電圧の上限値と下限値について、該プログラマブル論理回路で検査用の単位回路を稼動させ、正常動作するかどうかを検査する。正常動作した場合は通常の処理に移る。
【００６８】
上限値で正常動作しなかった場合、上限値をあらかじめ定めた値若しくは割合だけ低く再設定し、再度検査する。下限値で正常動作しなかった場合、下限値をあらかじめ定めた値若しくは割合だけ高く再設定し、再度検査する。上限値および下限値のいずれも、正常動作するまで検査および閾値の再設定を繰り返す。検査して正常動作しなかった場合、周波数と電圧を共に変化させて再検査しても良いし、周波数を固定して電圧を変化させて再検査しても良いし、電圧を固定して周波数を変化させて再検査しても良い。
【００６９】
動作検査部２３による検査は、あらかじめ定めた時間ごとに、任意のプログラマブル論理回路に対して稼動中の全ての処理を停止して行なってもよいし、電源投入直後の起動処理中に全てのプログラマブル論理回路に対して検査を行なっても良いし、その両方を行なっても良い。
【００７０】
図１２は、第３の実施形態のプログラマブル論理回路装置の処理を示すフローチャートである。これによると、先ず、故障検査用単位回路をプログラマブル論理回路上にロードする（Ｓ７１）。それから、故障検査を実施する（Ｓ７２）。故障が存在するかが判定され（Ｓ７３）、この判定がＹＥＳであると、動作範囲記憶部１７で保持している該当プログラマブル論理回路のクロック周波数の上限値を０にする。尚、電圧の上限値も０にしておくと良い（Ｓ７４）。この後、プログラマブル論理回路に対する単位回路の割り当てを変更する（Ｓ７５）。
【００７１】
上述のように、動作検査部２３は、専用の検査回路をプログラマブル論理回路で構成して動作させることで、電圧・周波数によらず異常動作しているプログラマブル論理回路を検出する。異常動作しているプログラマブル論理回路の検出時には、動作範囲記憶部で記憶している処理性能の上限値のうち、異常動作しているプログラマブル論理回路の閾値を０に設定し、該当プログラマブル論理回路に割り当てられている単位回路を他のプログラマブル論理回路に割り当てなおす。
【００７２】
検査回路は、複数のプログラマブル論理回路で全く同じ動作をさせて結果の異なる回路を検出しても良いし、スキャンテスト等のプログラマブル論理回路専用のテストを実施しても良いし、他の方法によってもよい。動作検査部による検査は、あらかじめ定めた時間間隔で、１以上のプログラマブル論理回路に対して稼動中の全ての処理を停止して行なってもよいし、電源投入直後の起動処理中に全てのプログラマブル論理回路に対して検査を行なっても良い。
【００７３】
図１３は、第３の実施形態のプログラマブル論理回路装置の他の処理を表すフローチャートである。これによると、先ず、故障検査用単位回路をプログラマブル論理回路上にロードし（Ｓ８１）、故障検査を実施する（Ｓ８２）。このとき、故障が存在するかが判定される（Ｓ８３）。故障があれば、故障検査の結果から故障個所を特定する（Ｓ８４）。そして全ての回路情報をスキャンする（Ｓ８５）。このスキャンにおいて、故障個所（故障プログラマブル論理回路）を使用していない回路情報を特定する（Ｓ８６）。この後、該当単位回路が存在しない、あるいはあらかじめ定めた数以下かが判定される。この判定がＹＥＳであると、当該プログラマブル論理回路を停止し（Ｓ８８）、終了する。判定がＮＯであると、該当する単位回路の必要性能の合計が故障前の合計必要性能より少ないかが判定される（Ｓ８９）。この判定がＹＥＳであると、故障したプログラマブル論理回路に全ての該当単位回路を割り当てる（Ｓ９０）。それから、当該プログラマブル論理回路の単位回路割り当て変更を禁止し（Ｓ９１）、処理が終了する。
【００７４】
ステップ８９の判定がＮＯであると、故障したプログラマブル論理回路に該当単位回路の割り当てを順次行う（Ｓ９２）。それから、故障前の合計必要性能を越える時点で該当単位回路の割り当てを止め（Ｓ９３）、ステップＳ９１へ進む。
【００７５】
上述のように、本実施形態では、新たに、特定のプログラマブル論理回路の単位回路割り当て変更を停止する制御を加える。即ち、動作検査部２３の検査により、特定のプログラマブル論理回路での動作の異常検出時、あるいは異常検出後の詳細検査により、プログラマブル論理回路内の故障個所を特定する。その後、回路情報記憶部１３に保持されている回路情報を調査し、プログラマブル論理回路内の該故障個所を使用しない回路情報を検索する。検索は、回路情報内の特定位置の情報を調べて判定する。
【００７６】
全回路情報の調査終了後、故障箇所を使用しない単位回路の合計要求性能を算出し、最大でも故障前と同程度の処理負荷となるように故障したプログラマブル論理回路に対する単位回路の割り当てを行なう。
【００７７】
さらに、該当のプログラマブル論理回路での単位回路割り当て変更を以後行わないものとし、以後の単位回路割り当て変更は該当プログラマブル論理回路以外のプログラマブル論理回路のみで行なう。故障個所を使用しない回路を割り当てた際に、動作範囲設定部で保持している処理性能の下限値より低い場合には該当回路を停止し、該プログラマブル論理回路に割り当てられている単位回路の割り当てを全て他のプログラマブル論理回路に変更する。
【００７８】
本実施形態により、あるプログラマブル論理回路で故障が発生した場合に、故障を回避して処理を続行できる。また、あるプログラマブル論理回路で故障が発生した場合に、故障を回避し、かつ利用可能な構成要素を最大限利用して処理を続行できる。更に、あるプログラマブル論理回路で故障が発生した場合に、利用者に迅速に故障を通知できる。
【００７９】
図１４は、第４の実施形態のプログラマブル論理回路装置のブロック図である。この装置は、図１１の装置に外部装置として点灯装置２４を含む異常通知部を新たに設け、動作検査部２３の検査で故障が発生した際には異常通知部の点灯装置２４を点灯させる。点灯装置２４は全プログラマブル論理回路で共通であっても良いし、各プログラマブル論理回路に個別に用意されていても良い。全プログラマブル論理回路で共通の場合は、故障が発生したプログラマブル論理回路の個数により、色彩や明滅等の点灯動作が変化しても良い。
【００８０】
上記構成のプログラマブル論理回路装置によると、単位時間内に各論理回路の処理速度よりも高い処理速度で処理する必要がある処理内容を複数の論理回路に消費電力が最小または極小となるように分散させ並列処理することにより、処理負荷が均等になるように分散させた場合よりも低消費電力で各論理回路の処理速度に従って該処理内容の処理が可能となる。
【００８１】
このことを具体例を挙げて説明する。例えば、論理回路１に１．１Ｖの電圧をかけたときに論理回路１は２００ＭＨｚで稼動し、論理回路２に１．１Ｖをかけたときに１５０ＭＨｚで動作すると仮定する。そして、電圧を１．２Ｖまで上げると論理回路１は２５０ＭＨｚで動作し、電圧を１．２Ｖまで上げると論理回路２は２００ＭＨｚで動作させることができると仮定する。即ち、電圧を増加するに従って動作周波数を上げることができる。
【００８２】
このような仮定において、３５０ＭＨｚでの動作に相当する処理速度があれば所定時間内に全ての必要な処理ができる場合を考える。このとき、処理内容を論理回路１，２に処理量を均等に割り振る場合、すなわち、３５０Ｈｚを単純に２で割って１７５ＭＨｚを振り分ける場合、論理回路１は１．１Ｖで２００ＭＨｚであるので１７５ＭＨｚの処理ができる。しかし、論理回路２は１．１Ｖで１５０ＭＨｚの能力しかないので１７５ＭＨｚの処理を実行することができない。そこで、論理回路２に対する電圧を上げる必要がある。
【００８３】
しかし、１．１Ｖでは論理回路１は２００ＭＨｚの処理ができ、論理回路２が１５０ＭＨｚの処理ができるのだから、３５０ＭＨｚの処理を論理回路１および２に２００ＭＨｚと１５０ＭＨｚに振り分けても、全体として３５０ＭＨｚ相当の処理速度を実現することが可能である。しかも、このように振り分ければ論理回路１および２を両方とも１．１Ｖで並列的に稼動させることができる。即ち、単位時間内に各論理回路の処理速度よりも高い処理速度で処理する必要がある処理内容を動作電圧が最小若しくは極小となるように複数の論理回路に分散させ並列処理することにより、処理負荷を均等に分散させた場合よりも低い動作電圧で各論理回路の処理速度に従って該処理内容の処理が可能となる。消費電力は動作電圧に比例するので、動作電圧が低くなれば消費電力も低くなる。
【００８４】
また、動作検査部によってプログラマブル論理回路のどれか１つが壊れたことが検出されたときに壊れた論理回路を無使用とし、残りの論理回路に供給する動作電圧を少し上げることによって壊れた論理回路の処理分をカバーすることができる。
【００８５】
本発明により、複数の演算回路、即ちプログラマブル論理回路で動作特性に個体差が生じている場合に、その個体差を最大限利用することができる。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施例に従ったプログラマブル論理回路装置のブロック回路図。
【図２】図１のプログラマブル論理回路装置の概略的な処理を示す図。
【図３】制御部１５の回路割り当て動作の例を示すフローチャート図。
【図４】図１のプログラマブル論理回路装置の処理の流れを示すフローチャート図。
【図５】図１のプログラマブル論理回路装置の他の処理の流れを示すフローチャート図。
【図６】第２の実施形態のプログラマブル論理回路装置のブロック回路図。
【図７】各プログラマブル論理回路に単位回路を割り当てる方法を説明する図。
【図８】第２の実施形態のプログラマブル論理回路装置の処理を示すフローチャート図。
【図９】第２の実施形態のプログラマブル論理回路装置の他の処理を示すフローチャート図。
【図１０】第２の実施形態のプログラマブル論理回路装置の他の処理を示すフローチャート図。
【図１１】第３の実施形態のプログラマブル論理回路装置のブロック回路図。
【図１２】第３の実施形態のプログラマブル論理回路装置の処理を示すフローチャート図。
【図１３】第３の実施形態のプログラマブル論理回路装置の他の処理を示すフローチャート図。
【図１４】第４の実施形態のプログラマブル論理回路装置のブロック回路図。
【図１５】論理回路装置の一応用例を示すブロック回路図。
【図１６】プログラマブル論理回路の動作状態を示すブロック回路図。
【図１７】プログラマブル論理回路の動作状態を示すブロック回路図。
【図１８】プログラマブル論理回路の動作状態を示すブロック回路図。
【図１９】プログラマブル論理回路の動作状態を示すブロック回路図。
【図２０】プログラマブル論理回路の内部構成の概要を示すブロック回路図。
【図２１】プログラマブル論理回路の動作中に再構成を行う手順を示すフローチャート。
【符号の説明】
【００８７】
１１…プログラマブル論理回路部、１２…クロック・電圧供給部、１３…回路情報記憶部、１４…回路情報供給部、１５…制御部、１６…稼動時間計測部、１７…動作範囲設定部、１８…状態情報管理部１８，１９…状態情報記憶部、２０…ＦＩＦＯ、２１…入力ＦＩＦＯ選択部、２２…出力ＦＩＦＯ選択部、２３…動作検査部、２４…点灯装置。
【図１】
2005328462.tif 000003
【図２】
2005328462.tif 000004
【図３】
2005328462.tif 000005
【図４】
2005328462.tif 000006
【図５】
2005328462.tif 000007
【図６】
2005328462.tif 000008
【図７】
2005328462.tif 000009
【図８】
2005328462.tif 000010
【図９】
2005328462.tif 000011
【図１０】
2005328462.tif 000012
【図１１】
2005328462.tif 000013
【図１２】
2005328462.tif 000014
【図１３】
2005328462.tif 000015
【図１４】
2005328462.tif 000016
【図１５】
2005328462.tif 000017
【図１６】
2005328462.tif 000018
【図１７】
2005328462.tif 000019
【図１８】
2005328462.tif 000020
【図１９】
2005328462.tif 000021
【図２０】
2005328462.tif 000022
【図２１】
2005328462.tif 000023