(57)【特許請求の範囲】
【請求項１】
複数の機能ユニットを備える少なくとも１つの再構成可能プロセッサを含む再構成可能計算システムを用いたデータ処理方法であって、
前記少なくとも１つの再構成可能プロセッサが、シストリックに実現される計算を実行するべく、前記複数の機能ユニットのうちの少なくとも２つであって前記計算を解くために必要な機能ユニットのみをインスタンス化するステップと、
前記少なくとも１つの再構成可能プロセッサ内の再構成可能ルーティングリソースが、前記少なくとも１つの再構成可能プロセッサ内の機能ユニットを相互接続し、第１の前記機能ユニットを有する第１の計算ループと第２の前記機能ユニットを有する第２の計算ループとを実現するステップと、
第１の前記機能ユニットが、前記計算における後続のデータ次元に前記第１の計算ループを通過させることにより、前記後続のデータ次元に対する演算を実行するステップと、
第２の前記機能ユニットが、前記後続のデータ次元に対する演算を実行するステップと並行して、前記計算における先行のデータ次元に前記第２の計算ループを通過させることにより、前記先行のデータ次元に対する演算を実行するステップと
を備え、
前記計算の前記シストリックな実現によって、前記第１の計算ループおよび第２の計算ループは並行して実行され、かつ、両者は互いに計算データをやり取りする、方法。
【請求項２】
前記計算における前記後続のデータ次元および前記先行のデータ次元は、（ｉ）前記計算における複数のベクトル、（ii）前記計算における複数の平面、（iii）前記計算における複数のタイムステップ、および／または（iv）前記計算における複数の格子点を含む、請求項１に記載の方法。
【請求項３】
前記計算は、（ｉ）画像探索のための探索アルゴリズム、（ii）データマイニングのための探索アルゴリズム、（iii）金融モデル化アプリケーション、（iv）暗号化アルゴリズム、（ｖ）遺伝子パターンマッチ機能、（vi）タンパク質折畳み機能、（vii）有機構造相互作用機能、（viii）信号フィルタリングアプリケーション、（iｘ）地震画像化計算、（x）合成開口レーダ画像化計算、（xi）ＪＰＥＧ画像圧縮計算、または（xii）ＭＰＥＧ画像圧縮計算を含む、請求項１に記載の方法。
【請求項４】
前記計算は、（ｉ）貯留層シミュレーション、（ii）気象予測、（iii）自動推進関連用途、（iv）航空宇宙関連用途、または（ｖ）射出成形用途、における流体流れ計算を含む、請求項１に記載の方法。
【請求項５】
前記計算は、クラッシュ分析または構造分析における構造計算を含む、請求項１に記載の方法。
【請求項６】
複数の機能ユニットを備える少なくとも１つの再構成可能プロセッサを含む再構成可能計算システムを用いたデータ処理方法であって、
前記再構成可能計算システムが、前記複数の機能ユニットのうちのサブセットを形成する複数のセルの行を含む第１のシストリック壁および第２のシストリック壁を定義するステップと、
前記少なくとも１つの再構成可能プロセッサが、シストリックに実現される計算を実行するべく、前記複数の機能ユニットの壁をインスタンス化するステップと、
前記少なくとも１つの再構成可能プロセッサが、前記第１のシストリック壁における少なくとも第１の行における前記複数のセルの各々における値を並行して計算するステップと、
前記少なくとも１つの再構成可能プロセッサ内の再構成可能ルーティングリソースが、更新値を生成するべく、前記複数のセルのうちの前記第１の行にあるセル間で前記値を通信するステップと、
前記少なくとも１つの再構成可能プロセッサ内の再構成可能ルーティングリソースが、前記第１のシストリック壁における第２の行に前記更新値を並行して通信するステップと、
前記少なくとも１つの再構成可能プロセッサ内の再構成可能ルーティングリソースが、前記第２のシストリック壁における第１の行に前記更新値を並行して通信するステップと
を備え、
前記第１のシストリック壁のセルの行および前記第２のシストリック壁のセルの行は並行して実行され、かつ、両者は互いに計算データをやり取りする、方法。
【請求項７】
前記値は、（ｉ）計算におけるベクトル、（ii）計算における平面、（iii）計算におけるタイムステップまたは（iv）計算における格子点、に対応する、請求項６に記載の方法。
【請求項８】
前記第１のシストリック壁における第２の行に前記更新値を通信する前記ステップは、前記更新値を外部メモリに記憶させることなく実行される、請求項６に記載の方法。
【請求項９】
前記値は、（ｉ）地震画像化計算、（ii）合成開口レーダ画像化計算、（iii）ＪＰＥＧ画像圧縮計算、（iv）ＭＰＥＧ画像圧縮計算、（ｖ）貯留層シミュレーションにおける流体流れ計算、（vi）気象予測における流体流れ計算、（vii）自動推進関連用途における流体流れ計算、（viii）航空宇宙関連用途における流体流れ計算、（ix）射出成形用途における流体流れ計算、（ｘ）クラッシュ分析における構造計算、（xi）構造分析における構造計算、（xii）画像探索における探索アルゴリズム、（xiii）データマイニングにおける探索アルゴリズム、（xiv）金融モデル化アプリケーション、（xv）暗号化アルゴリズム、（xvi）復号アルゴリズム、（xvii）遺伝子パターンマッチ機能、（xviii）タンパク質折畳み機能、（xix）有機構造相互作用機能、または（xx）信号フィルタリングアプリケーションに対応する、請求項６に記載の方法。
【請求項１０】
前記再構成可能計算システムはさらに少なくとも１つのマイクロプロセッサを含む、請求項６に記載の方法。
【請求項１１】
複数の機能ユニットを備える少なくとも１つの再構成可能プロセッサを含む再構成可能計算システムを用いたデータ処理方法であって、
前記少なくとも１つの再構成可能プロセッサが、シストリックに実現される計算を実行するべく、前記複数の機能ユニットのサブセットをインスタンス化し、前記計算の列を形成するべく、インスタンス化された前記複数の機能ユニットを相互接続するステップと、
前記複数の機能ユニットのサブセットが、並行して、計算されたデータを生成するステップと、
前記計算の第１列が、前記少なくとも１つの再構成可能プロセッサ内の再構成可能ルーティングリソースに基づいて、前記計算における第２列と前記計算されたデータをやり取りするステップと、
前記計算における前記列の各々につき少なくとも１つの変数における変化レートを評価するステップと、
前記再構成可能計算システムが、前記計算における特定の列について前記変数が変化しない場合に前記計算を継続するステップと、
前記変数が変化する場合に前記計算における前記列で前記計算を再開させるステップとを備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願の相互参照
この発明は、２００１年１月５日出願の「メモリサブシステム内に複数のメモリアルゴリズムプロセッサを組み込んだ多重プロセッサコンピュータアーキテクチャ（Multiprocessor Computer Architecture Incorporating a Plurality of Memory Algorithm Processors in the Memory Subsystem）」と題された米国特許出願連続番号第０９／７５５，７４４号の主題に関するものであり、さらに、「単一オペレーティングシステムのイメージの下で動作する再構成可能プロセッサを組み込んだコンピュータシステムを用いてウェブサイトへのアクセスおよび処理を高速化するためのシステムおよび方法（System and Method for Accelerating Web Site Access and Processing Utilizing a Computer System Incorporating Reconfigurable Processors Operating Under a Single Operating System Image）」と題された米国特許第６，４５４，６８７号の主題に関するものであり、これらはともにコロラド（Colorado）州、コロラド・スプリングス（Colorado Springs）市のエス・アール・シィ・コンピューターズ・インコーポレイテッド（SRC Computers, Inc.）に譲渡されており、その開示は本願明細書中でこの引用によりその全体において明確に援用される。
【０００２】
著作権表示／許可
本特許文献における開示の一部は著作権保護を受ける題材を含み得る。著作権の所有者は、米国特許商標庁の特許ファイルまたは記録に現れる本特許文献または特許開示についての何人によるファクシミリ複写に対しても異議を唱えるものではないが、他ではあらゆる著作権をすべて留保する。下の表示は、適用可能なところで図面の各図を含めた下記のソフトウェアおよびデータに適用される：Copyright (c)2000, SRC Computers, Inc.
発明の背景
この発明は、一般的に計算システムおよび計算技術の分野に関する。より特定的には、この発明は、計算機能の並列性および性能を強化するための多適応型処理システムおよび技術に関するものである。
【背景技術】
【０００３】
現在、ほとんどの大型ソフトウェアアプリケーションにおいては、並列処理の採用により高性能の動作を実現している。この技術によると、多数のプロセッサが同一の問題に対して同時に働くことで、単一のプロセッサが同じ結果を得るのに必要な時間に比してごく僅かな時間で解に達することが可能となる。使用されるプロセッサは、同一の動作についての多数のコピーを実行する場合もあるが、または全く異なる動作を実行する場合もある。しかしいずれの場合でもすべてのプロセッサは同時に働くことになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような並列処理の採用に伴い、多重プロセッサボードおよび大規模なクラスタ化システムがともに広く普及することになった。しかしながら、ますます高い性能が求められるにつれてより高い並列性が求められるようになり、その結果システムはますます大型化している。今日、何万個ものプロセッサを有しフットボール場ほどの空間を占め得るクラスタが存在する。このように大きな物理的サイズのシステムは多くの明白な問題を呈する。これにはとりわけ施設に関する要件、電力や熱の発生および信頼性などの要因が含まれる。
【課題を解決するための手段】
【０００５】
発明の概要
１個のプロセッサ当たりで数桁分もより高い並列性を提供するプロセッサ技術が利用可能であれば、上記システムはこれに類似の係数だけサイズが縮小可能であろう。このようなプロセッサまたは処理要素は、再構成可能プロセッサの採用により実現可能となる。再構成可能プロセッサは、或る特定の用途についての解決手段をもたらすのに必要な機能ユニットのみをインスタンス化する。そしてその結果、再構成可能プロセッサは、利用される集積回路チップの容量全体まで、当該の問題を解くのに必要であり得るのと同数の機能ユニットをインスタンス化するために利用可能な空間を有する。
【０００６】
現在、多適応型プロセッサ要素（ＭＡＰTM、エス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標）のような再構成可能プロセッサは、先行技術のマイクロプロセッサに比して２〜３桁分高い並列性および性能を実現することができる。ここに開示する適応処理技術の適用により、この種の再構成可能処理並列性は、現在達成可能であるよりも遥かに高い性能をもたらすと同時に、遥かに小さく安価なコンピュータシステムを使用しながら種々の用途に利用可能となるという利点が得られる。
【０００７】
上述の各利点に加えて、これより明白ではないもののいくつかの用途においてはむしろより大きな影響を及ぼす可能性のある利点であって、数百万ゲート再構成可能チップの到来で初めて享受できるようになったものが存在する。また、再構成可能プロセッサによって、各々のチップ内でマイクロプロセッサベースの計算システムで達成可能なよりも遥かに緊密な並列機能ユニットの結合により性能の向上が実現される。
【０００８】
多重プロセッサのマイクロプロセッサベースのシステムにおいては、各々のプロセッサには、セルと呼ばれる問題全体のうちの比較的小さな部分しか割当てられない。しかしながら、問題全体を解くためには、１プロセッサの結果が隣接する多数のセルによって必要とされることが多いが、それはこれらにおけるセルが境界で対話するからであり、結果を算出するためにすべて対話しなければならないセルが６個を上回ることも稀ではない。これに従い、問題全体の計算を完了させるためには中間結果をシステム中に回さなければならない。これには必然的にその他数多くのチップおよびバスが関与することになるが、これはマイクロプロセッサよりも遥かに低速で動作するため、結果としてシステム性能は生の計算時間よりも何桁も低くなることが多い。
【０００９】
一方、適応プロセッサベースのシステムを採用すると、単一のチップの中で実行され得る計算は１０倍から千倍になるため、これら機能ユニット間で共有される境界データはいずれも単一の集積回路チップを離れる必要がない。したがって、システム中を動くデータと、それがシステム性能全体の現象に及ぼす影響は、やはり２〜３桁分だけ減じられ得る。これによって、いくつかの用途において性能の大幅な向上を得ることができると同時に、いくつかの用途は、以前であれば達成不可能な実際の時間枠内で実行可能となる。
【００１０】
本願明細書において特定的に開示されるのは、複数の機能ユニットを備える再構成可能計算システムにおけるデータ処理方法である。上記方法は、上記再構成可能計算システムについての計算を定義するステップと、上記計算を実行するために上記機能ユニットのうちの少なくとも２つをインスタンス化するステップと、上記計算における後続のデータ次元に対して演算する上記機能ユニットのうちの第１の機能ユニットを使用するステップと、実質的に並行して、上記計算における先行のデータ次元に対して演算するべく上記機能ユニットのうちの第２の機能ユニットを使用するステップとを備える。
【００１１】
本願明細書においてさらに開示されるのは、複数の機能ユニットを備える再構成可能計算システムにおけるデータ処理方法である。上記方法は、上記複数の機能ユニットのうちのサブセットを形成するセルの行を含む第１のシストリック壁を定義するステップと、上記第１のシストリック壁における少なくとも第１の行において上記セルの各々における値を計算するステップと、更新値を生成するために、上記セルのうちの上記第１の行にあるセル間で上記値を通信するステップと、上記第１のシストリック壁における第２の行に上記更新値を通信するステップと、実質的に並行して、上記複数の機能ユニットのうちの上記サブセットにあるセルの行からなる第２のシストリック壁における第１の行に上記更新値を与えるステップとを備える。
【００１２】
本願明細書においてさらに開示されるのは、投機的な処理戦略を用いてシストリック処理形式をセットアップするステップを含む再構成可能処理システムにおけるデータ処理方法である。
【発明を実施するための最良の形態】
【００１３】
以下の好ましい実施例の説明を添付の図面とともに参照することで、この発明に関する上記およびその他の特徴および目的ならびにこれを達成する態様がより明らかとなり、またこの発明それ自体が最もよく理解されるであろう。
【００１４】
代表的な実施例の説明
本願は、カリガ、Ｄ（Caliga, D）他、「引渡しの高速化：再構成可能ロジックを用いたＨＰＣアプリケーション性能向上の可能性（Delivering Acceleration:“The Potential for Increased HPC Application Performance Using Reconfigurable Logic”）」、ＳＣ２００１、２００１年１１月、ACM 1-58113-293-X/01/0011の開示全体を引用により援用する。
【００１５】
まず図１を参照して、従来の多重プロセッサ計算システム１００における典型的なクラスタ化プロセッサ間通信経路についての簡略化した機能ブロック図が示される。このコンピュータシステムは、或る数のメモリ・入出力（Ｉ／Ｏ）コントローラ集積回路（ＩＣ）１０２0〜１０２N（たとえば「ノースブリッジ」）１０２を含む。これにはたとえばＶＩＡ・テクノロジーズ・インコーポレイテッド（VIA Technologies, Inc.）社製のＰ４Ｘ３３３／Ｐ４Ｘ４００デバイス、エイサー・ラブズ・インコーポレイテッド（Acer Labs, Inc.）社製のＭ１６４７デバイス、およびインテル・コーポレイション（Intel Corporation）社製の８２４４３０Ｘデバイスがある。ノースブリッジＩＣ１０２は、フロントサイドバス（ＦＳＢ）を用いて１つ以上のマイクロプロセッサ１０４00〜１０４03および１０４N0〜１０４N3に結合される。プロセッサ１０４としては、たとえばインテル・コーポレイション社製のPentium（登録商標）シリーズのプロセッサの１つが挙げられる。
【００１６】
ノースブリッジＩＣ１０２０〜１０２Nはそれぞれメモリブロック１０６０〜１０６Nに結合され、さらに対応のＩ／Ｏブリッジ要素１０８０〜１０８Nに結合される。ネットワークインターフェイスカード（ＩＮＣ）１１００〜１１０NはそれぞれＩ／Ｏブリッジ１０８０〜１０８NのＩ／Ｏバスをクラスタバスに結合し、これは共通のクラスタ化ハブ（またはイーサネット（登録商標）スイッチ）１１２に結合される。
【００１７】
典型的に単一のフロントサイドバスには、２つまたは４つの機能ユニットを各々が有するマイクロプロセッサ１０４が最大でも４個しか常駐できないため、５つ以上への通信はいずれもフロントサイドバス、ブリッジ間バス、入出力（Ｉ／Ｏ）バス、クラスタ相互接続部（たとえばイーサネット（登録商標）クラスタ化ハブ１１２）を経由してから受信側のプロセッサ１０４へと渡らなければならない。Ｉ／Ｏバスの帯域幅はフロントサイドバスよりも１桁低いのが典型的であり、これはすなわち上記４個のプロセッサ１０４を上回る数のプロセッサが関わる処理はいずれも、上記相互接続部の引起こす緩い結合によって大幅に制限されることを意味する。しかしこのことは、プロセッサ１個当たりに何百または何千の機能ユニットを有する再構成可能プロセッサによってすべて解消される。
【００１８】
次に図２を参照して、この発明の技術を実現するための適応プロセッサ２００の通信経路の機能ブロック図が示される。適応プロセッサ２００は適応プロセッサチップ２０２を含む。適応プロセッサチップ２０２は、再構成可能なルーティングリソースにより相互接続された多数の機能ユニット（ＦＵ）２０４を組み込んでいる。適応プロセッサチップ２０２はメモリ要素２０６に結合され、さらに相互接続部２０８および或る数の追加の適応プロセッサチップ２１０に結合される。
【００１９】
図示のように、各々の適応プロセッサチップ２０２は、現在扱われている特定の問題について専用の何千もの機能ユニット２０４を含み得る。これらの機能ユニット間の相互接続は、各々のチップ２０２の内部にある再構成可能ルーティングリソースによってもたらされる。その結果、機能ユニット２０４は、標準的なマイクロプロセッサ１０４（図１）よりも遥かに高いデータレートおよび遥かに短い待ち時間でデータを共有またはやり取りすることができる。これに加え、適応プロセッサチップ２０２は、プロセッサ間相互接続部２０８に直接接続でき、通信のためにチップセット内の多数のチップを通じてデータを渡す必要がない。適応プロセッサは、この接続を達成するために必要ないかなる類のインターフェイスをも実現できるからである。
【００２０】
次に図３Ａを参照すると、従来の多重プロセッサ計算システム１００（図１）で用いられるプロセッサの数に対する実際の性能向上についてのグラフが示される。この図では、このようなシステムにおける、特定の用途での完全なスケーラビリティからの逸脱が示される。
【００２１】
次に図３Ｂを参照すると、図３Ａに対応した、適応プロセッサベースの計算システム２００（図２）で用いられるプロセッサの数に対する実際の性能向上についてのグラフが示される。この図では、適応プロセッサベースの計算システム２００でもたらされる性能向上が従来の多重プロセッサ計算システム１００での性能向上を上回ることが示される。
【００２２】
次に図４Ａを参照して、従来のシーケンシャルな処理演算４００を例示する簡略化した論理フローチャートが与えられる。ここでは、入れ子状のループＡ（第１のループ４０２）およびループＢ（第２のループ４０４）が、当該プロセスについての異なる段階において交互にアクティブとなる。
【００２３】
図示のように、入れ子状のループ４０２，４０４の組を有するアプリケーションの標準的な実現においては、第１のループ４０２の処理を完了させてから第２のループ４０４に進む。この手法がフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）との関連で利用される際に特に見られるこの手法に内在する問題は、インスタンス化されたロジックすべてが完全に利用されていないということである。
【００２４】
次に図４Ｂを参照して、図４Ａと比較させながらこの発明の技術に従う多次元プロセス４１０を示す簡略化された論理フローチャートが示される。多次元プロセス４１０の実現においては、多次元のデータがループＡ（第１のループ４１２）およびループＢ（第２のループ４１４）両方によって処理され、計算システムロジックが各々のクロックサイクルで動作可能であるようにする。
【００２５】
シーケンシャルな処理演算４００（図４Ａ）とは対照的に、利用可能なリソースを最も効果的に利用することの問題に対する本解決策は、アプリケーションに問題をデータフローの意味で評価させるというものである。すなわち、第１の論理ループ４１２を通じ所与の問題についての後続の次元を「通過」させるのと並行して、先行のデータ次元が第２のループ４１４を通じて処理される。データの「次元」としては、実際には、問題について
の多数のベクトル、問題についての多数の平面、問題における多数の時間ステップ、などがあり得る。
【００２６】
次に図５Ａを参照して、多次元パイプライン動作の代表例を実行する一般的なプロセスが、地震移動画像化機能５００の形で示される。プロセス５００は、多適応型プロセッサ（ＭＡＰTM、この発明の譲受人であるエス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標）ＳＴＥＰ３ｄルーチン５０２の形で、この発明の適応処理技術の採用により実行可能となった並列性を利用できるように適合され得る。ＭＡＰ  ＳＴＥＰ３ｄルーチン５０２は、速度データ５０４、ソースデータ５０６および受信機データ５０８を利用して結果の画像５１０を生成するための演算である。これについては後でより詳細に説明する。
【００２７】
次に図５Ｂを参照して、前図のＭＡＰ  ＳＴＥＰ３ｄルーチン５０２が、さまざまな計算段階、すなわちＭＡＰＴＲＩ＿ｘ５２０、ＭＡＰＴＲＩ＿ｙ５２２、ＭＡＰＴＲＩ＿ｄ＋５２４およびＭＡＰＴＲＩ＿ｄ−５２６で示される。
【００２８】
次に図６Ａを参照して、特定の地震移動画像化アプリケーション６００についての簡略化した論理フローチャートが示される。地震移動画像化アプリケーション６００は、図２に示すような適応プロセッサベースの計算システム２００の採用によって可能となった並列性を例示するものである。アプリケーションの代表例６００は、三重対角求解部での入れ子状のループ並列性を例示し、ｘ、ｙ、ｄ＋およびｄ−方向での多数の三重対角求解部について同じロジックが実現され得る。ここで再びＭＡＰＴＲＩ＿ｘ５２０、ＭＡＰＴＲＩ＿ｙ５２２、ＭＡＰＴＲＩ＿ｄ＋５２４およびＭＡＰＴＲＩ＿ｄ−５２６の計算段階を示す。
【００２９】
次に図６Ｂを参照して、マイクロプロセッサ（ｍＰ）が前図の地震移動画像化アプリケーション６００の実行において利用し得る計算プロセス６１０が示される。プロセス６１０は、ソースフィールド［Ｓ（Ｚ0）］および受信機フィールド［Ｒ（Ｚ0）］を読込むステップ６１２を含み、さらに６１４では速度フィールド［Ｖ（Ｚ0）］が読込まれる。ステップ６１６にて、Ｓ（Ｚnz），Ｒ（Ｚnz）の値が計算され、このステップにＭＡＰＴＲＩ＿ｘ５２０およびＭＡＰＴＲＩ＿ｙ５２２の各段階が続く。ステップ６１８にて、Ｚ1/2の画像が計算される。これにＭＡＰＴＲＩ＿ｄ＋５２４およびＭＡＰＴＲＩ＿ｄ−５２６の各段階が続き、６２０にて結果の画像Ｚが生成される。プロセス６１０は参照番号６２２で示すように深さスライスにわたってループし、かつ参照番号６２４で示すようにショットにわたってループする。
【００３０】
次に図６Ｃを参照して、この発明の技術に従う計算プロセス６５０の第１のステップが示され、ここでは第１のショット（Ｓ１）が開始される。プロセス６５０は、ここに記載の適応プロセッサ（たとえばＭＡＰTM適応プロセッサ）により、図６Ａの地震画像化アプリケーション６００の実行において利用され得る。網掛けしたブロックで示すように、ＭＡＰＴＲＩ＿ｘ５２０の段階がアクティブである。
【００３１】
次に図６Ｄを参照して、計算プロセス６５０の第２のステップが第２のショット（Ｓ２）の開始時点にて示される。ここでもやはり網掛けしたブロックで示すように、ＭＡＰＴＲＩ＿ｘ５２０の段階がＳ２についてアクティブであり、ＭＡＰＴＲＩ＿ｙ５２２の段階はＳ１についてアクティブであり、ステップ６１８で画像Ｚ1/2が生成される。図示のように、この発明の開示に従う適応プロセッサは、多次元での計算パイプライン化をサポートし、Ｚおよびショットでの並列性がステップ６１２で示される。
【００３２】
次に図６Ｅを参照して、計算プロセス６５０の第３のステップが示され、ここでは第１
および第２のショットに対する演算が計算を通じて継続される。網掛けしたブロックで示すように、ＭＡＰＴＲＩ＿ｄ＋５２４の段階はＳ１についてアクティブであり、段階ＭＡＰＴＲＩ＿ｙ５２２はＳ２についてアクティブであり、ステップ６１８で画像Ｚ1/2が生成される。
【００３３】
次に図６Ｆを参照して、計算プロセス６５０の第４のステップが示され、これはショットＳ１およびＳ２に対する後続の演算を例示するものである。ＭＡＰＴＲＩ＿ｄ＋５２４の段階はＳ２についてアクティブであり、ＭＡＰＴＲＩ＿ｄ−５２６の段階はＳ１についてアクティブであり、画像Ｚはステップ６２０で生成されている。
【００３４】
次に図６Ｇを参照して、計算プロセス６５０の第５のステップが示され、これに続いて深さスライスすべてにわたるショットＳ１およびＳ２の下方伝播が継続される。ＭＡＰＴＲＩ＿ｘ５２０の段階はＳ１についてアクティブであり、ＭＡＰＴＲＩ＿ｄ−５２６の段階はＳ２についてアクティブであり、画像Ｚはステップ６２０で生成されている。
【００３５】
次に図７Ａを参照して、シストリック波面演算の代表例を実行するプロセス７００が貯留層シミュレーション機能の形で示され、この発明の適応処理技術により実行可能となった並列性を利用している。図示のように、プロセス７００は「ｋ」ループ７０２、「ｊ」ループ７０４および「ｉ」ループ７０６を含む。
【００３６】
次に図７Ｂを参照して、前図の貯留層シミュレーションプロセス７００における流体流れ特性の一般的な計算であって、一群の隣り合ったセル７１０の間で値が通信されるものが例示される。この一群の隣り合ったセル７１０は、ここに示す略図においては、第１のセル壁７１２、第２のセル壁７１４および第３のセル壁７１６を含む。各々のセル壁は、対応する数の行、すなわち第１の行７１８、第２の行７２０、第３の行７２２および第４の行７２４を含む。
【００３７】
図示のように、流体流れ特性の計算は隣り合ったセル７１０に通信され、そして重要なことに、この計算はデータ格納の必要性がなくなるようにスケジュール可能である。この発明の技術に従うと、１組のセルを１個の適応プロセッサの中に常駐させ、計算のパイプラインを多数の適応プロセッサにわたって延ばすことができる。多数の適応プロセッサ間の通信オーバーヘッドは、この発明の譲受人であるエス・アール・シィ・コンピューターズ・インコーポレイテッドに譲渡された、２００２年１月１５日発行の米国特許第６，３３９，８１９号「ロードされた入力バッファ内のオペランドに各々のプロセッサ要素がアクセスして結果をＦＩＦＯ出力バッファに送る多重プロセッサ（Multiprocessor With Each Processor Element Accessing Operands in Loaded Input Buffer and Forwarding Results to FIFO Output Buffer）」に開示されたＭＡＰTM適応プロセッサチェーンポートを採用することにより最小限にされるのが有利である。上記米国特許における開示は本願明細書中でこの引用により明確に援用される。
【００３８】
次に図７Ｃを参照して、タイムセット１における計算のシストリック壁７１２の作成が示される。シストリック壁７１２は垂直のセル壁について開始されており、この垂直の壁において互いに隣接した行７１８〜７２４間での値の通信は、値をメモリに記憶させずに行なうことができる。
【００３９】
次に図７Ｄを参照して、図７Ｃを受けて、タイムセット１での計算のシストリック壁７１２およびタイムセット２での第２のシストリック壁７１４の作成についての説明図が示される。実行において、垂直な第２のセル壁は、対応する第１の壁の行にあるセルについての計算が完了した後に開始される。すなわち、たとえば、時間ｔ0にて、シストリック壁７１２の第１の行７１８が完了し、その結果が第２のシストリック壁７１４の第１の行
７１８に渡される。時間ｔ１にて、第１のシストリック壁７１２の第２の行７２０および第２のシストリック壁７１４の第１の行７１８が計算される。この後、時間ｔ２にて、第１のシストリック壁７１２の第３の行７２２および第２のシストリック壁７１４の第２の行７２０が計算される。このようにして、すべての行およびすべての壁についてプロセスが継続する。
【００４０】
次に図８Ａを参照して、シストリック波面演算の代表例を実行するもう１つのプロセス８００が示される。プロセス８００は、生命情報科学のシストリック処理の形をとっており、やはりこの発明の適応処理技術で実行可能となった並列性を利用したものである。図示のように、プロセス８００でのシストリック処理は、前に計算されたデータを、１列（たとえば列８０２、８０４および８０６のうち１つ）内で下方へ渡したり、後続の列に渡したりする（たとえば列８０２から列８０４、列８０４から列８０６など）。ここで得られる計算上の利点は、第１の「マッチ」状態を計算するために第１の列８０２の処理を開始してから僅か数クロックサイクル後に第２の列８０４の処理を開始できることである。
【００４１】
次に図８Ｂを参照して、シストリック波面処理演算８１０が示される。「ｉ」ループ８１２および「ｋ」ループ８１４を含む処理演算８１０は、ここではさらに、ＸＢの変化レートの評価に基づく投機的処理戦略を組み込んでいる。
【００４２】
演算８１０の実行には単純なシストリック処理演算を用いてもよいが、それにはＸＢの計算に内在する問題がある。その値であるＸＢ［ｉ］８１６は「ｋ」ループ８１４全体が完了するまで知られ得ないからである。ＸＢの変化レートを評価すると、この問題には投機的な処理戦略が用いられ得ると判断された。通常のシストリックの形がセットアップされ、ＸＢの値はシストリック組で計算される列組について一定に保たれる。そして、各々の列の底でＸＢ［ｉ］８１６の値が計算される。
【００４３】
次に図８Ｃを参照して、前図の投機的処理を組み込んだシストリック波面処理演算８１０のさらなる説明図が示される。図示のように、投機的処理は「ｊ」本の列８１８0〜８１８jを含む。列８１８の各々では、ＸＢ［ｉ＋ｊ］が一定の値を有すると仮定する。列８１８の各々における底でテストが行なわれ、ＸＢ値により、ステップ８２０1〜８２０jで示される変化を求める。ＸＢの値がｉ＋ｎの列にて変化する場合、プロセスはこの列８１８で再開される。ＸＢの変化レートは比較的低速であるため、計算作業の「コスト」が大幅に削減可能である。
【００４４】
次に図９Ａを参照して、シストリック波面演算の代表例を実行する別のプロセス９００が示され、これは格子の交差部９０２で多項式を計算する構造コードの形をとる。この発明の適応処理技術で実行可能となった並列性をこのプロセス９００で利用するのが有利である。
【００４５】
次に図９Ｂおよび図９Ｃを参照して、タイムセット１における、格子点からなる垂直壁９１０についての計算の開始が、格子の交差部９０２（図９Ａ）に対し実行される多項式の評価について示され、行９１２，９１４，０１６，９１８間の計算は先行の行からの値を用い推計学的に行なわれる。図示のように、格子交差部９０２に多項式の評価が実行されて、第２の壁９１０1が、第１の壁９１０0での対応する行にあるセルの完了後に開始されるようにする。
【００４６】
以上から判断できるように、ここに開示した計算機能の並列性および性能を強化する多適応型処理システムおよび技術が採用され得る用途としては、地震用途、探索アルゴリズム、情報機密保護、化学および生物学関連用途、フィルタリングなどにおける多次元パイプライン計算や、さらには流体流れおよび構造分析、生命情報科学などにおけるシストリ
ック波面計算を含む無数の用途がある。いくつかの用途では、多次元パイプラインおよびシストリック波面方法の両方が用いられることもある。
【００４７】
以下、ここに開示の適応プロセッサベースの計算についての技術の用途の代表例を示す。
【００４８】
［画像化］
地震関連：このようなアプリケーションは典型的に石油およびガス探鉱業で用いられ、エコーデータを処理して表面下における特徴についての詳細な分析をもたらす。このようなアプリケーションが使用するデータは、多数の点で収集されかつ多くの繰返しのパラメータからなるものである。このため、このようなプログラムは、並列計算を利用する理想的な候補である。加えて、１データポイントにおける計算結果が次での計算に使用されるため、このようなプログラムは、適応または再構成可能プロセッサの使用に見ることができる緊密な並列性から特に大きな利益を享受するであろう。
【００４９】
合成開口レーダ（ＳＡＲ）：このようなアプリケーションは典型的に地理学における画像化に用いられる。このようなアプリケーションは、帯状部分（swath）として収集されたデータを使用する。処理は、セルへと分割されたデータに対する繰返しの演算からなる。このようなプログラムもまた、並列計算を利用し、適応または再構成可能プロセッサに見ることができる緊密な並列性から特に大きな利益を享受する理想的な候補である。
【００５０】
ＪＰＥＧ画像圧縮：このようなアプリケーションでは、１つの画像を多数のブロックに分割する。次に、これらブロックには１組の演算が実行される。これら演算は多数のブロックにわたって並列化され得る。上記１組の演算および並列性の組合せは、適応または再構成可能プロセッサに見ることができる緊密な並列性から特に大きな利益を享受するであろう。
【００５１】
ＭＰＥＧ画像圧縮：このようなアプリケーションでは、１つのフレームを多数のブロックに分割する。次にこれらブロックには１組の演算が実行される。これら演算は多数のブロックにわたって並列化され得る。加えて、隣接したフレームに実行される演算が多数存在する。上記１組の演算および並列性の組合せは、適応または再構成可能プロセッサに見ることができる緊密な並列性から特に大きな利益を享受するであろう。
【００５２】
［流体流れ］
貯留層シミュレーション：このようなアプリケーションもまた典型的に石油およびガス製造業で用いられ、表面下にある石油およびガス貯留層における流体流れデータを処理して抽出モデルを生成する。このアプリケーションは、石油およびガスの貯留層を含む３次元（３ｄ）のセル組を定義する。各々のセルに対する繰返しの演算があることから、このようなプログラムは並列または適応計算を利用する理想的な候補である。加えて、各々のセルについて計算された情報は隣り合ったセルへと渡される。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から特に大きな利益を享受するであろう。
【００５３】
気象予測：このようなアプリケーションでは、予報地域を論理的な格子セルへと分割する。次に、計算アルゴリズムは、ノードが格子セルに関連付けられた多項式を有する計算を実行する。予報で計算されるタイムセットに関連付けられた各々のセルに対する繰返しの演算があることから、このようなプログラムは適応または並列計算を利用する理想的な候補である。
【００５４】
自動推進関係：このようなアプリケーションは、自動車またはその他の空気動力学的構
造体の空気動力学を調べるものである。一般的に、このアプリケーションでは、当該の自動車構造体を取囲む空間を、計算上の多項式におけるノードに関連付けられた論理的セルへと分割する。予報で計算される風速の組に関連付けられた各々のセルに対する繰返しの演算があることから、このようなプログラムは適応または並列計算を利用する理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を得るであろう。
【００５５】
航空力学関係：このようなアプリケーションは、航空宇宙／飛行機構造体の空気動力学を調べるものである。このアプリケーションでは、当該の航空宇宙／飛行機構造体を取囲む空間を、計算上の多項式におけるノードに関連付けられた論理的セルへと分割する。予報で計算される風速の組に関連付けられた各々のセルに対する繰返しの演算があることから、このようなプログラムは並列計算を利用する理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００５６】
プラスチック射出成形：このようなアプリケーションは、液体プラスチックの金型注入に関する成形パラメータを調べるものである。このアプリケーションでは、金型内部の空間を、やはり計算上の多項式におけるノードに関連付けられた論理的セルへと分割する。射出パラメータの組に関連付けられた各々のセルに対する繰返しの演算があることから、このようなプログラムは並列計算を利用する理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００５７】
［構造］
クラッシュ分析：このようなアプリケーションは、典型的に自動推進または航空機産業で用いられる。このアプリケーションは、自動車全体を各構成要素に分割する。次にこれら構成要素がさらにセルへと分割される。このアプリケーションは、自動車の構造に対する衝突の影響を分析する。このようなプログラムは、各々のセルに対する繰返しの演算があり、その隣り合うセルから計算後の情報を受取ることから、並列計算に理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００５８】
構造分析：このようなアプリケーションは、構造的完全性の特性を調べる。このアプリケーションでは、当該の構造を、計算上の多項式におけるノードに関連付けられた論理的セルへと分割する。荷重および応力に関連付けられた各々のセルに対する繰返しの演算があることから、このようなプログラムは並列計算を利用する理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００５９】
［探索アルゴリズム］
画像探索：このようなアプリケーションは、典型的に警備業において指紋照合や顔認識などに用いられる。このアプリケーションでは、画像全体のうちのサブセットを集めたものか、または画像全体そのもののいずれかにおいて一致を探す。このプロセスは、モデルの画素を画像データベースからのレコードの画素と比較する。比較結果の相関がサブセットまたは画像全体における各々の画素につき存在するため、このようなプログラムは並列計算のための理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６０】
データマイニング：このようなアプリケーションは典型的に商業市場空間で用いられる。このアプリケーションは、データベースにおける各々のレコードにある１組の探索情報
（たとえばキャラクタストリング）における一致を探す。次に、このアプリケーションはすべてのデータレコードについての一致の相関を生成する。一致の相関は、各々の組の探索情報とデータベースレコードにあるキャラクタすべてとの比較結果から生成される。探索情報の組とデータベースレコードにある各々のキャラクタとのキャラクタ比較すべてにつき繰返しの比較演算が存在するため、このようなプログラムは並列計算のための理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６１】
［金融］
金融モデリング：このアプリケーションでは、モデル化のプロセスにおける各々の決定ステップにつき多数の戦略が作成される。計算上のステップの結果は、モデル化における後続のステップについての別の組の戦略へと送り込まれる。モデル化のステップ内の各々の戦略に対する繰返しの演算があることから、このようなプログラムは並列計算を利用する理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６２】
［情報機密保護］
暗号化／復号：このアプリケーションでは、元のデータを暗号化または「保護」された形に変換するアルゴリズムを適用する。このプロセスは、元のデータにあるＮビットからなる各々の組に適用される。復号ではこのプロセスを逆にして元のデータを得る。各々のＮビットデータに対する繰返しの演算があることから、このようなプログラムは並列計算のための理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６３】
［化学／生物学］
遺伝子パターンマッチ：このようなアプリケーションは、典型的に生命情報科学産業で用いられる。このアプリケーションは、遺伝子レコードのデータベースに対する特定の遺伝シーケンス（またはモデル）の一致を探す。このアプリケーションは、モデル内の各々のキャラクタを遺伝子レコード内のキャラクタと比較する。モデルのキャラクタと遺伝子レコード内の各々のキャラクタとの比較すべてにつき繰返しの比較演算が存在するため、このようなプログラムは並列計算のための理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６４】
タンパク質折畳み：このようなアプリケーションは典型的に製薬会社で用いられる。このアプリケーションでは、タンパク質構造の変形の変遷を調べる。このアプリケーションでは、さまざまな「時間」間隔で再計算される１組の式を用いてタンパク質の折畳みをモデル化する。このモデル化シーケンスには、大きな組の時間間隔に対する繰返しの計算があることから、このようなプログラムは並列計算のための理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６５】
有機構造相互作用：このようなアプリケーションは、典型的に化学および薬品会社によって用いられる。このアプリケーションでは、有機構造体が相互作用する際におけるその変遷を調べる。このアプリケーションでは、さまざまな「時間」間隔で再計算される１組の式を用いて有機構造体の相互作用の様子をモデル化する。このモデル化シーケンスには、大きな組の時間間隔に対する繰返しの計算があることから、このようなプログラムは並列計算のための理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６６】
［信号］
フィルタリング：いくつかのアプリケーションではしばしば、記録されたデータシーケンスを「きれいにする（clean-up）」ためにフィルタリング技術を利用することがある。この技術は多種多様にわたる業界において利用される。一般的に、このアプリケーションでは、記録されたシーケンス内の各々のデータポイントに対して１組のフィルタ係数を適用する。シーケンス内のすべてのデータポイントおよびすべてのシーケンスに対する繰返しの計算があることから、このようなプログラムは並列計算のための理想的な候補である。このようなプログラムは、適応または再構成可能プロセッサに見ることができる緊密な並列性から利益を享受するであろう。
【００６７】
以上、この発明の原理について、多次元パイプラインおよびシストリック波面計算の実現における適応プロセッサベースのシステムの使用のための特定の例示的な用途との関連において説明したが、以上の説明は単に例としてなされたものであり、この発明の範囲の限定としてなされたものではないことを明確にに理解されたい。特に、以上の開示の教示によって当業者に他の変形例が示唆されることが認められる。このような変形例は、それ自体既に公知である他の特徴であって、本願明細書に既に記載された特徴の代わりにまたはこれに追加して用いられ得るものを含み得る。本願においては、特許請求の範囲を特定の特徴の組合せについて作成してあるが、ここでの開示の範囲は、明示的または暗示的に開示されたあらゆる新規の特徴もしくはあらゆる新規の特徴の組合せ、または当業者には明らかであろうそのあらゆる一般化もしくは変形をも含み、かつこのようなものがいずれかの請求項において現在請求されている同じ発明に関係するか否か、およびこの発明の直面する同じ技術的問題のうちいずれかまたはそのすべてを緩和するか否かにはかかわらないことを理解されたい。本出願人はこれにより、本願またはそこから導き出されるあらゆるさらなる出願についての手続中に、上記のような特徴および／または上記のような特徴の組合せについて新たな請求項を作成する権利を留保する。
【図面の簡単な説明】
【００６８】
【図１】従来の多重プロセッサ計算システムにおける典型的なクラスタ化プロセッサ間通信経路の簡略化された機能ブロック図である。
【図２】適応プロセッサチップ内の再構成可能ルーティングリソースにより相互接続された多数の機能ユニット（ＦＵ）を示す適応プロセッサ通信経路の機能ブロック図である。
【図３Ａ】図１に示すような従来の多重プロセッサ計算システムを採用した特定のアプリケーションの完全なスケーラビリティからの逸脱を示す、利用されるプロセッサの数に対する実際の性能向上のグラフである。
【図３Ｂ】図３Ａに対応して、利用されるプロセッサの数に対する実際の性能向上のグラフであって、図２に示すような適応プロセッサベースの計算システムを採用したときの従来の多重プロセッサ計算システムに対する性能向上を示す図である。
【図４Ａ】入れ子状のループＡ，Ｂがプロセス中の異なる段階で交互にアクティブとなる、従来のシーケンシャルな処理演算を示す簡略化された論理フローチャートである。
【図４Ｂ】多次元のデータがループＡ，Ｂの両方により処理されて計算システムロジックが各クロックサイクルすべてに動作できる、図４Ａとの比較でこの発明の技術に従う多次元処理を示す簡略化された論理フローチャートである。
【図５Ａ】この発明の適応処理技術を採用することで実行可能となった並列性を利用した、地震移動画像化機能の形での多次元パイプライン動作の代表例を実行する一般的なプロセスを例示する図である。
【図５Ｂ】前図を受けて、前図の例示的な地震移動画像化機能を実現するのに利用される各計算段階を例示する図である。
【図６Ａ】適応プロセッサベースの計算システムの採用で得られる並列性を例示する、特定の地震移動画像化アプリケーションについての簡略化された論理フローチャートである。
【図６Ｂ】マイクロプロセッサにより前図の地震移動アプリケーションの実行において用いられ得る計算プロセスを例示する図である。
【図６Ｃ】適応プロセッサにより図６Ａの地震画像化アプリケーションの実行において用いられ得る計算プロセスのうち、第１のショット（Ｓ１）が開始される第１のステップを示す図である。
【図６Ｄ】図６Ａの地震画像化アプリケーションの実行のための同じ計算プロセスのうち、第２のショット（Ｓ２）が開始される第２のステップを示す図である。
【図６Ｅ】図６Ａの地震画像化アプリケーションの実行のための同じ計算プロセスのうち、第１および第２のショットに対する演算が計算を通じて継続される第３のステップを示す図である。
【図６Ｆ】同じ計算プロセスの第４のステップを示し、ショットＳ１およびＳ２に対する後続の演算を示す図である。
【図６Ｇ】同じ計算プロセスの第５のステップを示す図であって、これに続いて深さスライスすべてにわたりショットＳ１，Ｓ２の下方伝播が継続されるものである。
【図７Ａ】この発明の適応処理技術の採用で実行可能となった並列性を利用した、貯留層シミュレーション機能の形でのシストリック波面演算の代表例を実行するプロセスを示す図である。
【図７Ｂ】隣り合ったセルに通信される、前図の貯留層シミュレーションの流体流れ特性の一般的な計算を例示する図である。
【図７Ｃ】垂直のセル壁について開始し、この垂直壁において互いに隣接した行間での値の通信が値のメモリへの格納なしに行なわれ得る、タイムセット１での計算のシストリック壁の作成を例示する図である。
【図７Ｄ】前図を受けて、垂直な第２のセル壁が、第１の壁における対応の行にあるセルについての計算の完了後にどのように開始されるかを示す、タイムセット１およびタイムセット２での計算のシストリック壁の作成を例示する図である。
【図８Ａ】この発明の適応処理技術の利用で実行可能となった並列性を利用した、生命情報科学のシストリック処理の形でのシストリック波面演算の代表例を実行するもう１つのプロセスを例示する図である。
【図８Ｂ】ＸＢの変化レートの評価に基づく投機的な処理戦略をさらに組み込んだシストリック波面処理演算を例示する図である。
【図８Ｃ】投機的処理を組み込んだ前図のシストリック波面処理演算をさらに説明する図である。
【図９Ａ】この発明の適応処理技術の採用で実行可能となった並列性を利用した、格子の交差部での多項式を計算する構造コードの形でのシストリック波面演算の代表例を実行するためのもう１つのプロセスを例示する図である。
【図９Ｂ】格子の交差部に対して実行される多項式の評価についての、時間セット１における格子点からなる垂直壁についての計算の開始を例示する図であって、行間の計算が先行の行からの値を用いて推計学的に行なわれるものである。
【図９Ｃ】前図の格子の交差部に対して実行される多項式の評価をさらに例示する図であって、第２の壁が、第１の壁での対応の行にあるセルの完了後に開始されるものである。
【図１】
0004430544.tif 000002
【図２】
0004430544.tif 000003
【図３Ａ】
0004430544.tif 000004
【図３Ｂ】
0004430544.tif 000005
【図４Ａ】
0004430544.tif 000006
【図４Ｂ】
0004430544.tif 000007
【図５Ｂ】
0004430544.tif 000008
【図６Ａ】
0004430544.tif 000009
【図６Ｂ】
0004430544.tif 000010
【図６Ｃ】
0004430544.tif 000011
【図６Ｄ】
0004430544.tif 000012
【図６Ｅ】
0004430544.tif 000013
【図６Ｆ】
0004430544.tif 000014
【図６Ｇ】
0004430544.tif 000015
【図７Ａ】
0004430544.tif 000016
【図７Ｂ】
0004430544.tif 000017
【図７Ｃ】
0004430544.tif 000018
【図７Ｄ】
0004430544.tif 000019
【図８Ａ】
0004430544.tif 000020
【図８Ｂ】
0004430544.tif 000021
【図８Ｃ】
0004430544.tif 000022
【図９Ａ】
0004430544.tif 000023
【図９Ｂ】
0004430544.tif 000024
【図９Ｃ】
0004430544.tif 000025
【図５Ａ】
0004430544.tif 000026