(57)【要約】【課題】演算する行列サイズが可変とし負荷を均一化し、入出力データを蓄積するメモリを減らすＭＦＡ１次元シストリックアレイの提供。【解決手段】ＭＦＡ（修正Ｆａｄｄｅｅｖａアルゴリズム）を利用した行列演算用シストリックアレイであって、下方向正方ＭＦＡアレイ処理と、上方向正方ＭＦＡアレイ処理を１次元アレイに水平方向にマッピングし、１次元アレイの各ＰＥでは、下方向と上方向の二つのスレッドのＭＦＡ行列演算が行われ、入出力を一次元アレイ両端のＰＥに対して備えている。【選択図】図１
2008027234.tif 000002
【特許請求の範囲】
【請求項１】
ＭＦＡ（Ｍｏｄｉｆｉｅｄ  Ｆａｄｄｅｅｖａ  Ａｌｇｏｒｉｔｈｍ）を利用した行列演算用シストリックアレイであって、
一の方向の正方ＭＦＡアレイ処理と、前記一の方向と逆方向の正方ＭＦＡアレイ処理とを、各々、前記一の方向と直交する方向に沿って、共通の一次元アレイにマッピングしてなる、一次元構造とされ、
前記一次元アレイでは、前記一の方向と前記逆方向のスレッドのＭＦＡ行列演算が行われる、ことを特徴とするシストリックアレイ。
【請求項２】
前記一次元アレイの各プロセッシングエレメントは、前記一の方向のＭＦＡ行列演算と前記逆方向のＭＦＡ行列演算とを並列処理する、ことを特徴とする請求項１記載のシストリックアレイ。
【請求項３】
前記一次元アレイの各プロセッシングエレメントは、前記一の方向のＭＦＡ行列演算と前記逆方向のＭＦＡ行列演算とを時分割処理する、ことを特徴とする請求項１記載のシストリックアレイ。
【請求項４】
前記一次元アレイへのデータの入力及び出力は、前記一次元アレイの両端のプロセッシングエレメントに関してのみ行われる、ことを特徴とする請求項１記載のシストリックアレイ。
【請求項５】
前記一次元アレイへの入力データ及び出力データを格納するメモリは、前記一次元アレイの両端のプロセッシングエレメントに対してのみ設けられる、ことを特徴とする請求項１記載のシストリックアレイ。
【請求項６】
前記一の方向の正方ＭＦＡアレイは、台形型の第１の二次元ＭＦＡシストリックアレイを、第１の正方シストリックアレイに変換することで構成され、
前記逆方向の正方ＭＦＡアレイは、台形型の第２の二次元ＭＦＡシストリックアレイを、前記第１の正方シストリックアレイとは１８０度の回転対称とされる、第２の正方シストリックアレイに変換することで構成され、
前記一次元アレイは、前記マッピングにおいて、前記一次元アレイを間に挟んで、互いに対向配置の位置関係にある、前記一の方向の正方ＭＦＡアレイの各処理と、前記逆方向の正方ＭＦＡアレイの各処理を、前記一の方向と直交する方向に沿って且つ互いに対向する向きに、前記一次元アレイにそれぞれ投射して構成したものと等価とされる、ことを特徴とする請求項１記載のシストリックアレイ。
【請求項７】
前記一次元アレイを構成する複数のプロセッシングエレメントの各々には、前記一の方向の正方ＭＦＡアレイ処理の対応する行の内部処理、バウンダリ処理、及び、遅延処理のうちの少なくとも１つと、前記逆方向の正方ＭＦＡアレイ処理の対応する行の内部処理、バウンダリ処理、及び、遅延処理のうち少なくとも１つとが、順番に割り付けられる、ことを特徴とする請求項１又は６記載のシストリックアレイ。
【請求項８】
前記第１、第２の正方シストリックアレイは、それぞれ、前記台形型の第１、第２の二次元ＭＦＡシストリックアレイの空きセル領域に、余分なバウンダリセルが配置され、正方シストリックアレイとしたものである、ことを特徴とする請求項６記載のシストリックアレイ。
【請求項９】
前記一の方向の正方ＭＦＡアレイ処理を、下方向の正方ＭＦＡアレイ処理とし、前記逆方向の正方ＭＦＡアレイ処理を、上方向の正方ＭＦＡアレイ処理とした場合、
前記第１の正方シストリックアレイは、対角要素に対して右上の三角アレイの各要素が遅延セルよりなり、アレイ左端列において、最上行より下方にバウンダリセルが、前記対角要素から、列方向に下方に並ぶ内部セルの各々に関連付けて配置され、
前記第２の正方シストリックアレイは、対角要素に対して左下の三角アレイの各要素が、遅延セルよりなり、アレイ右端列において、最下行より上方にバウンダリセルが、列方向に配列される内部セルに対応して配置される、ことを特徴とする請求項６記載のシストリックアレイ。
【請求項１０】
前記第１の正方シストリックアレイは、アレイ左端列において、前記バウンダリセルの下側に、余分なバウンダリセルをさらに含み、
前記第２の正方シストリックアレイは、アレイ右端列において、前記バウンダリセルの上側に、余分なバウンダリセルをさらに含む、ことを特徴とする請求項９記載のシストリックアレイ。
【請求項１１】
前記一次元アレイの両端のプロセッシングエレメントには、アレイサイズに１加算した値に対して１回の割合で、ｎｏｐ（ｎｏ  ｏｐｅｒａｔｉｏｎ）が挿入され、前記一次元アレイの各プロセッシングエレメント間での処理負荷の均一化が行われる、ことを特徴とする請求項１又は７記載のシストリックアレイ。
【請求項１２】
前記一次元アレイの両端から入力されるデータには、前記一次元アレイの両端のプロセッシングエレメントのｎｏｐ（ｎｏ  ｏｐｅｒａｔｉｏｎ）を指示するダミーデータが挿入される、ことを特徴とする請求項１１記載のシストリックアレイ。
【請求項１３】
前記一次元アレイを構成する各プロセッシングエレメントは、
演算装置と、
入力データ及び出力データを格納するレジスタファイルと、
前記レジスタファイルと、前記レジスタファイルの値の前記演算装置または出力端子に供給するスイッチと、
前記演算装置の演算処理、及び、前記スイッチの切替を制御する制御装置と、
を備え、
前記演算装置の出力は、前記レジスタファイルに帰還入力される、ことを特徴とする請求項１記載のシストリックアレイ。
【請求項１４】
請求項１乃至１３のいずれか一に記載のシストリックアレイを備えた半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シストリックアレイに関し、特に、ＭＦＡ（修正Ｆａｄｄｅｅｖａアルゴリズム）行列演算を行うシストリックアレイに関する。
【背景技術】
【０００２】
行列演算は、無線通信、有線通信、画像処理において幅広く利用されている。近年、無線・有線通信速度向上に対応するため、効率的に並列演算が可能なシストリックアレイが着目されている。
【０００３】
シストリックアレイは、複数のプロセッシングエレメント（「ＰＥ」という）を一次元又は二次元に配置し、ＰＥ間でのデータのやり取りは、隣接ＰＥ間でのみ行うものである。
【０００４】
また、シストリックアレイは、その規則性と配線容易性のため、ＶＬＳＩ等への集積化に適している。
【０００５】
シストリックアレイは、行列演算の種類（行列積、ＱＲ分解、最小２乗解法等）により、最適トポロジが異なる。例えば、ＱＲ分解には、三角構成が最適であり、行列積には四角構成が最適である。
【０００６】
複数種類の行列演算を実現する場合、単一アルゴリズムを実現するシストリックアレイを用意しておき、各行列演算を単一アルゴリズムにマッピングすることが提案されている。この手法は、各行列演算に対して必ずしも最適な実現手段ではないが、その汎用性に利点がある。
【０００７】
複数の行列演算が可能なアルゴリズムとして、Ｍｏｄｉｆｉｅｄ  Ｆａｄｄｅｅｖａ  Ａｌｇｏｒｉｔｈｍ（「ＭＦＡ」と略記される）が知られている。ＭＦＡは、式（１）に示すように、２ステップの処理を行う。
【０００８】
2008027234.tif 000003
【０００９】
第１ステップでは、行列のＡに対して、Ｇｉｖｅｎｓ回転を用いて、ＱＲ分解（すなわち、Ａ＝ＱＲ、ただし、Ｑはユニタリ行列）を行う。Ｇｉｖｅｎｓ回転は、同様に、Ｂにも適用する。この処理は、行列Ａ、Ｂに対して、左から、ＱＴを掛けることに相当する。すなわち、［Ａ  Ｂ］＝［ＱＲ  Ｂ］に対して、左から、ＱＴ（Ｔは転置）を乗じると、ＱＴＱ＝Ｉ（単位行列）より、［ＱＴＱＲ  ＱＴＢ］＝［Ｒ  ＱＴＢ］となり、式（１）の真中の式が得られる。
【００１０】
第２ステップでは、三角行列Ｒの対角成分を枢軸（ｐｉｖｏｔ）として、ガウス消去法でＣを消去する。このとき、行列Ｅは、式（２）で表される。
【００１１】
2008027234.tif 000004
【００１２】
ＭＦＡは、Ａ、Ｂ、Ｃ、Ｄに代入する行列を変更することにより、以下に示すような、様々な行列演算を実現することができる。また、第１ステップだけ実行した場合、ＱＲ分解を実現できる。
【００１３】
線形システム解(AX=B)
2008027234.tif 000005
【００１４】
行列積
2008027234.tif 000006
【００１５】
逆行列  
2008027234.tif 000007
【００１６】
図９（Ａ）、図９（Ｂ）に、ＭＦＡ演算をシストリックアレイで実現する場合のシグナルフローグラフを示す。図９（Ａ）の三角シストリックアレイでは、ステップ１として、上三角行列Ｒを求める。図９（Ａ）に示すように、Ｇｉｖｅｎｓ回転の回転パラメータは、右に伝播し、四角シストリックアレイで、ＱＴＢを計算する。
【００１７】
ステップ２では、図９（Ｂ）に示すように、三角シストリックアレイと四角シストリックアレイのそれぞれに、Ｃ、Ｄを入力する。この時、水平方向に、
−Ｒ−ＴＣＴ
が伝播し、四角シストリックアレイの下辺から、
Ｅ＝Ｄ＋ＣＡ−１Ｂ
が出力される。
【００１８】
ユニタリ行列Ｑを求める場合には、第２のステップ（Ｓｔｅｐ２）において、Ｃに−Ａを代入する。この場合、Ｃ＝−Ａより、四角シストリックアレイの水平方向出力は、
−Ｒ−ＴＣＴ  ＝Ｒ−ＴＡＴ  ＝（ＡＲ−１）Ｔ＝ＱＴ
となる。
【００１９】
図１０に、行列のサイズが、Ａ（ｍｘ４），Ｂ（ｍｘ４），Ｃ（ｎｘ４），Ｄ（ｎｘ４）（ただし、ｍ，ｎは任意の行数）の場合のＭＦＡを実現する二次元シストリックアレイの詳細動作を示す（特許文献１参照）。また、本明細書では、例えば、“Ａ（ｍｘ４）”は行列Ａがｍ行ｘ４列であることを表す。他の行列も同様である。図１０（Ａ）、図１０（Ｂ）は、図９（Ａ）、図９（Ｂ）のステップ１、２に対応し、図１０（Ｃ）は、バウンダリセル（Ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）と内部セル（Ｉｎｔｅｒｎａｌ  Ｃｅｌｌ）のステップ１、２における演算処理を示す。
【００２０】
図１０に示すように、入出力データは遅延（スキュー）を調整する必要がある。なお、図１０（Ａ）において、丸で示すバウンダリセル（Ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）は、ステップ１では、入力ｘｉｎに対して、
ｘｉｎが０のとき、
ｃ＝１、ｓ＝０
を出力し、それ以外の場合、
ｔ＝（ｒ２＋ｘｉｎ２）１／２
とし、
ｃ＝ｒ／ｔ、
ｓ＝ｘｉｎ／ｔ
より、ベクトル角度を求め、ｒ＝ｔとする。図の丸のバウンダリセルのｒは更新されたｒを表している。
【００２１】
また、図１０（Ａ）において、四角で示す内部セル（Ｉｎｔｅｒｎａｌ  Ｃｅｌｌ）は、ステップ１では、
ｘｏｕｔ＝ｃ・ｘｉｎ−ｓ・ｒ，
ｒ＝ｓ・ｘｉｎ＋ｃ・ｒ
によりベクトル回転を行う。
【００２２】
ステップ２では、図１０（Ｂ）において、丸で示すバウンダリセル（Ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）において、入力ｘｉｎに対して除算
ｓ＝ｘｉｎ／ｒ
を求める。また、図１０（Ｂ）において、四角で示す内部セル（Ｉｎｔｅｒｎａｌ  Ｃｅｌｌ）では、積和演算
ｘｏｕｔ＝ｘｉｎ−ｓ・ｒ
を行う。
【００２３】
図１１に、二次元ＭＦＡシストリックアレイを用いた行列演算器の全体構成を示す。台形（三角シストリックアレイと四角シストリックアレイからなる）の二次元ＭＦＡシストリックアレイ３０１と、入力データを格納するメモリ３０２と、二次元ＭＦＡシストリックアレイ３０１の四角シストリックアレイの下辺からの出力を格納するメモリ３０３と、二次元ＭＦＡシストリックアレイ３０１の四角シストリックアレイの側面の辺からの出力を格納するメモリ３０４を備えている。
【００２４】
二次元ＭＦＡシストリックアレイを、一次元アレイに水平方向もしくは垂直方向に投射（Ｐｒｏｊｅｃｔｉｏｎ）した構成を開示した文献はある（特許文献２等参照）。しかしながら、この文献ではＭＦＡアルゴリズムを利用した二次元ＭＦＡシストリックアレイを一次元アレイに投射した構成は一切開示されていない。
【００２５】
【非特許文献１】J. G. Nash, "Modified Faddeeva Algorithm for Concurrent Execution of Linear Algebraic Operations", IEEE Trans. Computers, vol.37, No2, pp129-137(1988)
【非特許文献２】R. Walke, R. Smith, "Architecture for Adaptive Weight Calculation on ASIC and FPGA", Signals, Systems, and Computers, 1999. Conference Record of the Thirty-Third Asilomar Conference on, Volume 2, 24-27 Oct. 1999 Page(s):1375-1380, vol.2
【発明の開示】
【発明が解決しようとする課題】
【００２６】
上述のように二次元ＭＦＡシストリックアレイは、その演算スループットが高いが、ＰＥを二次元に配置するため回路規模が大きくなる。
【００２７】
そこで、所要演算スループットに対して、二次元ＭＦＡシストリックアレイでは演算スループットが過剰である場合、二次元ＭＦＡシストリックアレイを、水平方向もしくは垂直方向に投射した、一次元シストリックアレイについて検討する。
【００２８】
図１２（Ｂ）に、一次元シストリックアレイを用いた行列演算器の構成例（水平方向投射）を示す。図１２（Ｂ）の構成は、図１２（Ｃ）の台形二次元ＭＦＡシストリックアレイ（三角シストリックアレイと四角（４ｘ４）のシストリックアレイからなる）を、ＰＥ４個の一次元シストリックアレイに投影した構成である。図１２（Ａ）は、一次元シストリックアレイの各ＰＥのバウンダリ（Ｂｏｕｎｄａｒｙ）処理と、内部（Ｉｎｔｅｒｎａｌ）処理の数を示している。ＰＥ１〜ＰＥ４において、内部（Ｉｎｔｅｒｎａｌ）処理は、それぞれ７〜４とされ、演算量、負荷が均一化されていない。
【００２９】
図１２に示した構成の一次元ＭＦＡシストリックアレイは、以下の課題を有する。
【００３０】
（１）計算できる行列のサイズが限定される。
【００３１】
図１２に示した例の場合、行列のサイズは、Ａ（ｍｘ４）、Ｂ（ｍｘ４）、Ｃ（ｎｘ４）、Ｄ（ｎｘ４）（ただし、ｍ，ｎは任意の行数）に限定される。
【００３２】
（２）メモリ等の入出力Ｉ／Ｆ（インタフェース）が、３辺（上辺、下辺、右辺（もしくは左辺））に必要となる。
【００３３】
図１２（Ｂ）に示した例の場合、一次元のアレイの両端のメモリ（Ｉｎｐｕｔ  ＤａｔａのＭｅｍｏｒｙ、Ｏｕｔｐｕｔ  ＤａｔａのＭｅｍｏｒｙ）、出力データ用に、一次元のアレイのＰＥ１、ＰＥ２、ＰＥ３、ＰＥ４の各右辺に、メモリ（Ｍｅｍｏｒｙ）が必要とされる。
【００３４】
（３）各ＰＥの負荷にばらつきがあるため、演算効率が低下し、制御処理も複雑になる。
【００３５】
これらの課題は、二次元ＭＦＡアレイの各ＰＥの処理の一次元ＭＦＡアレイの各ＰＥへの割り当てが適切でないために生じている。
【課題を解決するための手段】
【００３６】
本願で開示される発明は、上記課題を解決するため、概略以下の構成とされる。
【００３７】
本発明の１つのアスペクト（側面）に係る装置は、ＭＦＡ（Ｍｏｄｉｆｉｅｄ  Ｆａｄｄｅｅｖａ  Ａｌｇｏｒｉｔｈｍ）を利用した行列演算用シストリックアレイであって、一の方向の正方ＭＦＡアレイ処理と、前記一の方向と逆方向の正方ＭＦＡアレイ処理とを、各々、前記一の方向と直交する方向に沿って、共通の一次元アレイに投影してなる、一次元構造とされ、前記一次元アレイでは、前記一の方向と前記逆方向の二つのスレッドのＭＦＡ行列演算が行われる。
【００３８】
本発明において、前記一次元アレイの各ＰＥ（プロセッシングエレメント）は、前記一の方向のＭＦＡ行列演算と前記逆方向のＭＦＡ行列演算とを、並列又は時分割処理する構成としてもよい。
【００３９】
本発明において、前記一次元アレイへのデータの入力及び出力は、前記一次元アレイの両端のＰＥに関してのみ行われる。本発明において、前記一次元アレイへの入力データ及び出力データを格納するメモリは、前記一次元アレイの両端のＰＥに対してのみ設けられる。
【００４０】
本発明において、前記一の方向の正方ＭＦＡアレイ処理は、台形型の第１の二次元ＭＦＡシストリックアレイを、第１の正方シストリックアレイに変換することで構成され、前記逆方向の正方ＭＦＡアレイ処理は、台形型の第２の二次元ＭＦＡシストリックアレイを、前記第１の正方シストリックアレイとは１８０度の回転対称とされる、第２の正方シストリックアレイに変換することで構成され、前記一次元アレイは、投影に着目すると、前記一次元アレイを間に挟んで、互いに対向配置の位置関係にある、前記一の方向の正方ＭＦＡアレイ処理と前記逆方向の正方ＭＦＡアレイ処理とを、前記一の方向と直交する方向に沿って且つ互いに対向する向きに、前記一次元アレイにそれぞれ投影して構成したものと等価とされる。
【００４１】
本発明において、前記一次元アレイを構成する複数のＰＥの各々には、前記一の方向の正方ＭＦＡアレイ処理の対応する行の内部処理、バウンダリ処理、及び、遅延処理のうちの少なくとも１つと、前記逆方向の正方ＭＦＡアレイ処理の対応する行の内部処理、バウンダリ処理、及び、遅延処理のうち少なくとも１つとが、順番に割り付けられる構成としてもよい。
【００４２】
本発明において、前記第１、第２の正方シストリックアレイは、それぞれ、前記台形型の第１、第２の二次元ＭＦＡシストリックアレイの空きセル領域に、余分なバウンダリセルが配置され、正方シストリックアレイとしたものである。
【００４３】
本発明において、前記一の方向の正方ＭＦＡアレイ処理を、下方向の正方ＭＦＡアレイ処理とし、前記逆方向の正方ＭＦＡアレイ処理を、上方向の正方ＭＦＡアレイ処理とした場合、前記第１の正方シストリックアレイは、対角要素に対して右上の三角アレイの各要素が遅延セルよりなり、アレイ左端列において、最上行より下方にバウンダリセルが、列方向に配列される内部セルに対応して配置され、前記第２の正方シストリックアレイは、対角要素に対して左下の三角アレイの各要素が、遅延セルよりなり、アレイ右端列において、最下行より上方にバウンダリセルが、列方向に配列される内部セルに対応して配置される。本発明において、前記第１の正方シストリックアレイは、アレイ左端列において、前記バウンダリセルの下側に、前記余分なバウンダリセルを含み、前記第２の正方シストリックアレイは、アレイ右端列において、前記バウンダリセルの上側に、前記余分なバウンダリセルを含むようにしてもよい。
【００４４】
本発明において、前記一次元アレイの両端のＰＥには、アレイサイズに１加算した値に対して１回の割合で、ｎｏｐ（ｎｏ  ｏｐｅｒａｔｉｏｎ）が挿入され、前記一次元アレイの各ＰＥ間での処理負荷の均一化が図られている。
【００４５】
本発明において、前記一次元アレイの両端から入力されるデータには、前記一次元アレイの両端のＰＥのｎｏｐ（ｎｏ  ｏｐｅｒａｔｉｏｎ）を指示するダミーデータが挿入される。
【００４６】
本発明において、前記一次元アレイを構成する各ＰＥは、演算装置と、入力データ及び出力データを格納するレジスタファイルと、前記レジスタファイルと、前記レジスタファイルの値の前記演算装置または出力端子に供給するスイッチと、前記演算装置の演算処理、及び、前記スイッチの切替を制御する制御装置と、を備え、前記演算装置の出力は、前記レジスタファイルに帰還入力される。
【発明の効果】
【００４７】
本発明によれば、回路規模の縮減を可能とするとともに、演算する行列サイズが可変としている。さらに、本発明によれば、負荷を均一化し、さらに、入出力データを蓄積するメモリを減らしている。
【００４８】
本発明によれば、一次元アレイ構造とすることでPEの個数を縮減しながら、負荷の均一化を実現し、さらに部品（素子）点数の縮減、構成の簡略化も実現可能としたものであり、半導体集積回路に適用して好適とされる。
【発明を実施するための最良の形態】
【００４９】
上記した本発明についてさらに詳細に説明すべく添付図面を参照して以下に説明する。本発明は、下方向正方ＭＦＡアレイ処理と、上方向正方ＭＦＡアレイ処理を、共通の一次元アレイに、水平方向にマッピングし、一次元アレイのＰＥでは、下方向と上方向の二つのスレッドのＭＦＡ演算を、並列又は時分割に実行する。かかる構成により、演算効率を向上させ、メモリ等の入出力インタフェース（Ｉ／Ｆ）は、上下両端のＰＥに対してしか必要とせず、演算する行列サイズが可変としている。
【００５０】
本発明による、一次元アレイへのマッピングの仕方について説明する。前記下方向正方ＭＦＡアレイ処理は、台形型の第１の二次元ＭＦＡシストリックアレイを、第１の正方シストリックアレイに変換することで構成され、前記上方向正方ＭＦＡアレイ処理は、台形型の第２の二次元ＭＦＡシストリックアレイを、前記第１の正方シストリックアレイとは１８０度の回転対称とされる、第２の正方シストリックアレイに変換することで構成され、前記一次元アレイは、マッピングに着目すると、前記一次元アレイを間に挟んで、互いに対向配置の位置関係にある、前記上方向の正方ＭＦＡアレイ処理と前記下方向正方ＭＦＡアレイ処理を、水平方向に沿って且つ、互いに対向する向きに、一次元アレイに、それぞれ投影して構成したものと等価とされる。
【００５１】
本発明において、前記一次元アレイを構成する複数のＰＥのうち、両端部を除く各ＰＥには、前記一の方向の正方ＭＦＡアレイ処理の対応する行の内部（Ｉｎｔｅｒｎａｌ）処理、バウンダリ（Ｂｏｕｎｄａｒｙ）処理、及び、遅延（Ｄｅｌａｙ）処理のうちの少なくとも１つと、前記逆方向の正方ＭＦＡアレイ処理の対応する行の内部処理、バウンダリ処理、及び、遅延処理のうち少なくとも１つとが、順番に割り付けられ、両端部のＰＥには、前記一の方向の正方ＭＦＡアレイ処理の対応する行の内部（Ｉｎｔｅｒｎａｌ）処理、バウンダリ（Ｂｏｕｎｄａｒｙ）処理、及び、遅延（Ｄｅｌａｙ）処理のうちの少なくとも１つと、前記逆方向の正方ＭＦＡアレイ処理の対応する行の内部処理、バウンダリ処理、及び、遅延処理のうち少なくとも１つと、ｎｏｐ（ｎｏ  ｏｐｅｒａｔｉｏｎ）と、が順番に割り付けられる。
【００５２】
本発明において、前記第１の正方シストリックアレイは、対角要素に対して右上の三角アレイの各要素が遅延セル（Ｄｅｌａｙ  Ｃｅｌｌ）よりなり、アレイ左端列において、最上行より下方にバウンダリセル（Ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）が、対角要素より列方向下側に配列される内部セル（Ｉｎｔｅｒｎａｌ  Ｃｅｌｌ）に対応して配置され、前記第２の正方シストリックアレイは、対角要素に対して左下の三角アレイの各要素が、遅延セル（Ｄｅｌａｙ  Ｃｅｌｌ）よりなり、アレイ右端列において、最下行より上方にバウンダリセル（Ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）が、対角要素より列方向上側に配列される内部セル（Ｉｎｔｅｒｎａｌ  Ｃｅｌｌ）に対応して配置される。本発明において前記第１の正方シストリックアレイは、アレイ左端列において、前記バウンダリセルの下側に、前記余分なバウンダリセル（Ｅｘｔｒａ  Ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）を含み、前記第２の正方シストリックアレイは、アレイ右端列において、前記バウンダリセルの上側に、前記余分なバウンダリセル（Ｅｘｔｒａ  Ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）を含む。以下、実施例に即して説明する。
【実施例】
【００５３】
図１は、本発明の一実施例の構成を示す図である。本発明に係るシストリックアレイは、下方向正方ＭＦＡアレイ処理と、上方向正方ＭＦＡアレイ処理を一次元アレイに水平方向に投影した一次元ＭＦＡシストリックアレイとして構成され、ＭＦＡアルゴリズムを用いて、下方向と上方向の二つのスレッド分（Ｔｈｒｅａｄ１、Ｔｈｒｅａｄ２）の行列演算を、並列又は時分割で実行する。入力データと出力データのインタフェース（Ｉ／Ｆ）をなすメモリ（Ｍｅｍｏｒｙ）は、上下両端のＰＥ１、ＰＥ８に対して備えられている。なお、図１では、単に説明のため、８個のＰＥからなる一次元アレイが図示されているが、本発明がかかる構成（８個のＰＥ）にのみ限定されるものでないことは勿論である。
【００５４】
図２は、２スレッド分のＭＦＡアルゴリズム処理の一次元シストリックアレイへのマッピングの仕方を模式的に示す図である。なお、一次元へのマッピングを投射（あるいは投影、射影）ともいう。
【００５５】
本発明では、図１０に示した、従来の台形型の二次元ＭＦＡシストリックアレイ（上辺７つの内部セル＋バウンダリセル、下辺４つの内部セル＋バウンダリセル、高さは４セル分）を、図２の左側に示す、下方向正方ＭＦＡアレイ処理（８ｘ８の正方ＭＦＡアレイ）に変形する。下方向正方ＭＦＡ処理において、対角要素よりも右上の三角アレイは、遅延処理を行う遅延セル（Ｄｅｌａｙ  Ｃｅｌｌ）である。下方向正方ＭＦＡ処理の下から１行目、２行目、３行目の左２列目から３つ、２つ、１つも遅延セル（Ｄｅｌａｙ  Ｃｅｌｌ）である。
【００５６】
図２の右側の上方向正方ＭＦＡ処理は、左側の下方向正方ＭＦＡアレイを１８０度回転させたものである（１８０度回転対称）。一次元アレイは、図２の左側の下方向正方ＭＦＡアレイの各処理を、図の左から右に向けて水平方向に一次元アレイに投射し、図２の右側の上方向正方ＭＦＡアレイの各処理を、図の右から左に向けて水平方向に、一次元アレイに投射することで構成される。
【００５７】
ところで、正方の二次元ＭＦＡシストリックアレイは、台形型の二次元ＭＦＡシストリックアレイに比べて次の利点がある。
【００５８】
（i）台形型の二次元ＭＦＡアレイの空き領域に、エクストラバウンダリセル（Ｅｘｔｒａ  ｂｏｕｎｄａｒｙ  Ｃｅｌｌ；「余分なバウンダリセル」ともいう）を付加することにより、ＭＦＡアルゴリズムを適用する行列サイズを適応的に変化させることができる。例えば図２に示した構成のアレイの場合、式（１）の行列Ａ、Ｂのサイズを、Ａ（ｍｘ２）、Ｂ（ｍｘ６）から、Ａ（ｍｘ７）、Ｂ（ｍｘ１）に変化できる。
【００５９】
（ii）入力Ｉ／Ｆは、正方アレイ上辺に、出力Ｉ／Ｆは、正方アレイの下辺に集中しており、正方アレイ左右の辺に、入出力Ｉ／Ｆ（Ｍｅｍｏｒｙ）は存在しない。
【００６０】
しかしながら、上記（i）、（ii）の利点があるものの、正方ＭＦＡアレイ単体の処理を、一次元アレイにマッピングした場合、一次元アレイの各ＰＥの負荷にばらつきが発生し（図３を参照して後述する）、演算効率が低下し、制御処理も複雑になる。
【００６１】
そこで、本発明では、図２に示すように、下方向にデータを受け渡す、下方向正方ＭＦＡアレイの各処理と、上方向にデータを受け渡す、上方向正方ＭＦＡアレイの各処理を、一次元アレイに水平方向に、マッピングすることにより、各ＰＥに対する演算負荷を均一化し、演算効率を向上させている。
【００６２】
図３は、本発明の比較例を説明するための図である。図３（Ｂ）には、行列Ａ、ＢのサイズがＡ（ｍｘ７）、Ｂ（ｍｘ１）（ただし、余分なバウンダリセル（Ｅｘｔｒａ  ｂｏｕｎｄａｒｙ  Ｃｅｌｌ）を全て使用した場合）の、下方向正方ＭＦＡアレイ処理を、一次元アレイ（図３（Ａ）参照）に水平方向に投射した場合の各ＰＥの処理負荷が示されている。図３（Ｂ）の第１乃至第８行（Ｂｏｕｎｄａｒｙ処理、Ｉｎｔｅｒｎａｌ処理、Ｄｅｌａｙ処理の回数）は、図３（Ａ）のＰＥ１乃至ＰＥ８にそれぞれ対応している。図３（Ｂ）に示す例では、上端のＰＥ１から下端のＰＥ８に向けて、内部（Ｉｎｔｅｒｎａｌ）処理の回数は、０から７に順次増加し、遅延（Ｄｅｌａｙ）処理の回数は７から０に減少し、バウンダリ（Ｂｏｕｎｄａｒｙ）処理の回数は、下端のＰＥ８を除き１、下端のＰＥ８で０である。
【００６３】
一方、図４は、本発明による一次元アレイの各ＰＥの処理負荷を示す図である。図４（Ｂ）には、本発明にしたがって、下方向正方ＭＦＡアレイ処理と、下方向正方ＭＦＡアレイ処理と１８０度回転対称の関係にある上方向正方ＭＦＡアレイ処理を、共通の一次元アレイ（図４（Ａ））に、水平方向に投射した場合の各ＰＥの処理負荷が示されている。図４（Ｂ）の第１乃至第８行（Ｂｏｕｎｄａｒｙ処理、Ｉｎｔｅｒｎａｌ処理、Ｄｅｌａｙ処理の回数）は、図４（Ａ）のＰＥ１乃至ＰＥ８にそれぞれ対応している。この場合、下方向正方ＭＦＡアレイ処理は、水平方向への投射による各ＰＥの処理負荷は、図３（Ｂ）に示したものと同一とされる。すなわち、図３（Ｂ）に示したＰＥ１〜ＰＥ８の処理負荷において、ＰＥ１とＰＥ８、ＰＥ２とＰＥ７、ＰＥ３とＰＥ６、ＰＥ４とＰＥ５の各行（Ｂｏｕｎｄａｒｙ処理、Ｉｎｔｅｒｎａｌ処理、Ｄｅｌａｙ処理の回数）を入れ替えた表（不図示）の各行と、図３（Ｂ）の表の各行（Ｂｏｕｎｄａｒｙ処理、Ｉｎｔｅｒｎａｌ処理、Ｄｅｌａｙ処理の回数）の対応する欄を加算したものが、図４（Ｂ）である。図４（Ｂ）に示すように、両端のＰＥ１、ＰＥ８のバウンダリ（Ｂｏｕｎｄａｒｙ）処理の回数（１回）が、他のＰＥ２〜ＰＥ７のバウンダリ（Ｂｏｕｎｄａｒｙ）処理の回数（２回）よりも１回少ないことを除き、全てのＰＥ１乃至ＰＥ８の負荷が均一となり、演算効率が高い。すなわち、ＰＥの内部（Ｉｎｔｅｒｎａｌ）処理、遅延（Ｄｅｌａｙ）処理の回数は、いずれも７とされる。
【００６４】
図５は、本実施例で用いられる各ＰＥの構成の一例を示す図である。図５を参照すると、ＰＥは、レジスタファイル１０１と、ＣＯＲＤＩＣ演算回路（ＣＯＲＤＣ  ＰＲＯＣＥＳＳＯＲ）１０３と、ＰＥ出力とＣＯＲＤＩＣ演算回路１０３の入力を選択するクロスバー１０２と、制御回路（Ｃｏｎｔｒｏｌｌｅｒ）１０４を備えている。ＣＯＲＤＩＣは、モード切替により、例えばベクトル回転、ベクトル角度算出、積和演算、除算を実現できる。ＣＯＲＤＩＣ演算回路１０３の処理は、ＦＰＵ（浮動小数点プロセッサ）で実行されるため、「ＣＯＲＤＩＣ−ＦＰＵ処理」ともいう。ＭＦＡ処理に必要な演算は、全て、ＣＯＲＤＩＣで実現できる。下方向及び上方向の入力信号（Ｉｎｐｕｔ  ｓｉｇｎａｌ  Ｕｐ／Ｄｏｗｎ）は、一旦レジスタファイル１０１に格納される。また、図８は図５のＣＯＲＤＩＣ演算回路による処理を説明する図である。なお、図８は図１０（ｃ）と同じであり、その処理内容は前述のとおりである。
【００６５】
ＣＯＲＤＩＣ演算回路１０３は、必要な入力をクロスバー１０２を介してレジスタファイル１０１から取り出し、演算結果を、レジスタファイル１０１に格納する。
【００６６】
２つのスレッドの下方向及び上方向の出力データ（Ｏｕｔｐｕｔ  ｓｉｇｎａｌ  Ｕｐ／Ｄｏｗｎ）は、レジスタファイル１０１から、クロスバー１０２を介して取り出され、隣接ＰＥ又はメモリに出力される。
【００６７】
遅延（Ｄｅｌａｙ）処理は、入力データをレジスタファイル１０１に格納し、ＣＯＲＤＩＣ演算回路１０３を通さずに、クロスバー１０２から、そのまま出力することで実現する。
【００６８】
図６は、行列Ａ、ＢのサイズがＡ（ｍｘ２）、Ｂ（ｍｘ１）の構成例と、下方向正方ＭＦＡ処理及び上方向正方ＭＦＡ処理の各処理のＰＥへのマッピング例を模式的に示した図である。なお、以下では、下方向正方ＭＦＡ処理を説明する部分では行列Ａ、Ｂをそのまま用い、上方向正方ＭＦＡ処理を説明する部分では、上方向正方ＭＦＡ処理における行列Ａ、ＢをＡ’、Ｂ’として表す。
【００６９】
行列Ａ、ＢのサイズがＡ（ｍｘ２）、Ｂ（ｍｘ１）の場合、ＭＦＡ処理は、図６に示すように、ＰＥ３個で実現できる。
【００７０】
図６を参照すると、一次元アレイへマッピングされる下方向正方ＭＦＡ処理において、アレイ上辺から１行目のバウンダリ（Ｂｏｕｎｄａｒｙ）処理ＤＢ１、遅延（Ｄｅｌａｙ）処理ＤＤ１、ＤＤ２に入力される信号をｄｓ１、ｄｓ２、ｄｓ３とする。バウンダリ処理ＤＢ１の出力信号ｄｓ４と遅延処理ＤＤ１の出力信号ｄｓ５は、遅延処理ＤＤ１の下の内部処理ＤＩ１に入力される。遅延処理ＤＤ２の出力信号ｄｓ６は、遅延処理ＤＤ２の下の遅延処理ＤＤ３に入力される。内部処理ＤＩ１の第１出力ｌｓ１（ｘｏｕｔ）は、左のバウンダリ処理ＤＢ２に入力される。内部処理ＤＩ１の第２の出力ｄｓ８と遅延処理ＤＤ３の出力ｄｓ９は、遅延処理ＤＤ３の下の内部処理ＤＩ３に入力される。バウンダリ処理ＤＢ２の出力ｄｓ７と内部処理ＤＩ３の出力ｌｓ２は、内部処理ＤＩ２に入力される。内部処理ＤＩ２の出力ｄｓ１０、ｄｓ１１と、内部処理ＤＩ３の出力ｄｓ１２がアレイ下辺から出力される。信号ｄｓ１、ｄｓ２には、Ａ（ｍｘ２）の各要素、信号ｄｓ３にはＢ（ｍｘ１）が順次供給される。なお、行列Ａ、Ｂの処理が終わり次第、下方向正方ＭＦＡ処理に対応する行列Ｃ、Ｄ（行列Ｃ、ＤのサイズはそれぞれＣ（ｎｘ２）、Ｄ（ｎｘ１）とする）の各要素が順次供給される。
【００７１】
一次元アレイへマッピングされる上方向正方ＭＦＡ処理において、アレイ下辺よりバウンダリ処理ＵＢ１、遅延処理ＵＤ１、ＵＤ２に入力される信号を、ｕｓ１、ｕｓ２、ｕｓ３とする。バウンダリ処理ＵＢ１の出力信号ｕｓ４と遅延処理ＵＤ１の出力信号ｕｓ５は、遅延処理ＵＤ１の上の内部処理ＵＩ１に入力される。遅延処理ＵＤ２の出力信号ｕｓ６は、遅延処理ＵＤ３に入力される。内部処理ＵＩ１の第１出力ｒｓ１は、右のバウンダリ処理ＵＢ２に入力される。内部処理ＵＩ１の第２の出力ｕｓ８と遅延処理ＵＤ３の出力ｕｓ９は、遅延処理ＵＤ３の上の内部処理ＵＩ３に入力される。バウンダリ処理ＵＢ２の出力ｕｓ７と内部処理ＵＩ３の出力ｒｓ２は内部処理ＵＩ２に入力される。内部処理ＵＩ２の出力ｕｓ１０、ｕｓ１１と、内部処理ＵＩ３の出力ｕｓ１２がアレイ上辺より出力される。信号ｕｓ１、ｕｓ２には、Ａ’（ｍｘ２）の各要素、信号ｕｓ３にはＢ’（ｍｘ１）が供給される。なお、行列Ａ’、Ｂ’の処理が終わり次第、上方向正方ＭＦＡ処理に対応する行列Ｃ’、Ｄ’（ここで行列Ｃ’、Ｄ’は、上述同様、下方向正方ＭＦＡ処理の行列Ｃ、Ｄに対応するものであって、そのサイズはそれぞれＣ’（ｎｘ２）、Ｄ’（ｎｘ１）とする）の各要素が順次供給される。
【００７２】
一次元アレイへマッピングされる下方向ＭＦＡシストリックアレイ、上方向ＭＦＡシストリックアレイの各アレイの要素の処理は、図１０の太破線の矢印のように、対応する行のＰＥに射影される。
【００７３】
図７は、図６に示した例において、各ＰＥが一次元アレイ（ＰＥ１、ＰＥ２、ＰＥ３）にマッピングされたＭＦＡ処理の処理タイミングと、データ入出力タイミングを示している。図７において、縦の同一列は、同一タイミングに行われることを表しており、横の列は、上から順に、図６のＰＥ１の下方向入力２０１、ＰＥ１の上方向出力２０２、ＰＥ１  ＣＯＲＤＩＣ−ＦＰＵ処理、ＰＥ１の下方向出力／ＰＥ２下方向入力２０３、ＰＥ１の上方向入力／ＰＥ２上方向出力２０４、ＰＥ２  ＣＯＲＤＩＣ−ＦＰＵ処理、ＰＥ２の下方向出力／ＰＥ３下方向入力２０５、ＰＥ２の上方向入力／ＰＥ３上方向出力２０６、ＰＥ３  ＣＯＲＤＩＣ−ＦＰＵ処理、ＰＥ３下方向出力２０７、ＰＥ３上方向入力２０８である。
【００７４】
ＰＥ１下方向入力としては、アレイ上辺からの信号ｄｓ３、ｄｓ２、ｄｓ１に入力する３つのデータと、ｄｕｍｍｙ（ダミーデータ）とが、タイミング１〜４において、この順（ｄｓ３、ｄｓ２、ｄｓ１、ｄｕｍｍｙ）に、シーケンシャルに入力される。
【００７５】
図１０に示した行列Ａ、Ｂの要素についてみると、ｄｓ１には、ａ１１、ａ２１、・・・、が順次入力され、ｄｓ２には、ａ１２、ａ２２、・・・、が順次入力され、ｄｓ３には、ｂ１１、ｂ２１、・・・が順次入力される。
【００７６】
ＰＥ１では、例えば、タイミング３に入力されたｄｓ１についてタイミング４でＣＯＲＤＩＣ−ＦＰＵによる、下方向正方ＭＦＡ処理のバウンダリ処理ＤＢ１が実行され、タイミング５では、タイミング４に入力されたダミーデータ（ｄｕｍｍｙ）により、ｎｏｐ（ｎｏ  ｏｐｅｒａｔｉｏｎ）とされる。また、ＰＥ１は、タイミング６と７では、上方向正方ＭＦＡ処理の内部処理ＵＩ３とＵＩ２をそれぞれ実行し、タイミング８で下方向正方ＭＦＡ処理のバウンダリ処理ＤＢ１を実行した後、タイミング９でｎｏｐとなる。このように、ＰＥ１での処理は、ＤＢ１、ｎｏｐ、ＵＩ３、ＵＩ２、ＤＢ１、ｎｏｐ、ＵＩ３，ＵＩ２、・・・の繰り返しとなる。
【００７７】
ＰＥ１の出力を受けるＰＥ２では、例えばタイミング５と６で、ＰＥ１からそれぞれ出力されるｄｓ５とｄｓ４を入力して、タイミング８で下方向正方ＭＦＡ処理の内部処理ＤＩ１を行い、内部処理ＤＩ１の出力ｌｓ１を受けて次のタイミングｔ９でバウンダリ処理ＤＢ２を実行し、またタイミング４と５でＰＥ３から出力されるｕｓ５とｕｓ４に対してタイミング６で、上方向正方ＭＦＡ処理の内部処理ＵＩ１を実行し、タイミング７でＵＢ２を実行する。このように、ＰＥ２での処理は、ＤＢ２、ＵＩ１、ＵＢ２、ＤＩ１、ＤＢ２、ＵＩ１、ＵＢ２、ＤＩ１・・・となり、ｎｏｐは入らない。
【００７８】
ＰＥ３では、例えばタイミング９、１０に入力されたｄｓ９、ｄｓ８のＣＯＲＤＩＣ−ＦＰＵ処理（下方向正方ＭＦＡ処理の内部処理ＤＩ３）がタイミング１１で実行され、タイミング１２では、下方向正方ＭＦＡ処理の内部処理ＤＩ３の処理結果と、タイミング１１で入力されたｄｓ７とから、下方向正方ＭＦＡ処理の内部処理ＤＩ２が実行され、タイミング１３では、タイミング１２にＰＥ３に入力されたダミーデータ（ｄｕｍｍｙ）によりｎｏｐが実行される。さらに、ＰＥ３では、上方向正方ＭＦＡ処理として、タイミング１に入力されたｕｓ１のバウンダリ処理ＵＢ１がタイミング２で実行される。このように、ＰＥ３での処理は、・・・ＵＢ１、ＤＩ３、ＤＩ２、ｎｏｐ、ＵＢ１、ＤＩ３、ＤＩ２、ｎｏｐ、・・・となる。
【００７９】
図７において、ＰＥ２に着目すると、下方向正方ＭＦＡ処理と上方向正方ＭＦＡ処理とを、時分割に処理することにより、ＰＥ内のＣＯＲＤＩＣ演算回路が１００％活用できていることが分かる。すなわち、ＰＥ２には、ｎｏｐは挿入されない。
【００８０】
図７の「ＰＥ２ＣＯＲＤＩＣ−ＦＰＵ処理」に示すように、ＰＥ２では、２つのバウンダリ処理（下方向正方ＭＦＡ処理のＤＢ２と上方向正方ＭＦＡ処理のＵＢ２）と、２つの内部処理（下方向正方ＭＦＡ処理のＤＩ１と上方向正方ＭＦＡ処理のＵＩ１）が４サイクルを単位に巡回して行われる。
【００８１】
これに対して、図７の「ＰＥ１ＣＯＲＤＩＣ−ＦＰＵ処理」、「ＰＥ３ＣＯＲＤＩＣ−ＦＰＵ処理」に示すように、一次元アレイの両端のＰＥ１とＰＥ３のＣＯＲＤＩＣ演算回路では、ＰＥ２と比較して、バウンダリ処理が一つ少ないため、４回（アレイサイズ＋１）に１回、ｎｏｐ（休み）が入っている。アレイサイズ＋１の割合でｎｏｐが挿入される。ただし、アレイサイズが大きい場合には、ｎｏｐが挿入される割合は、少なくなる。
【００８２】
上記した本実施例によれば、下記記載の作用効果を奏する。
【００８３】
(i)ＭＦＡアルゴリズムを適用する行列サイズを適応的に変化できる。図２に示したアレイの場合、式（１）の行列Ａ、ＢのサイズをＡ（ｍｘ２），Ｂ（ｍｘ６）からＡ（ｍｘ７），Ｂ（ｍｘ１）に変化できる。入力Ｉ／Ｆがアレイ上辺に、出力Ｉ／Ｆがアレイ下辺に集中しており、アレイ左右の辺に入出力Ｉ／Ｆが存在しない。
【００８４】
(ii)また、上下方向の正方ＭＦＡアレイ処理を一つの一次元アレイの各ＰＥに効率よくマッピング（投射）しているため、各ＰＥの負荷に均一であるため、演算効率が高い。
【００８５】
(iii)さらに、ＰＥ、出力Ｉ／Ｆ等の素子点数を縮減し、半導体集積化回路に実装して好適とされる。
【００８６】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施例の構成を示す図である。
【図２】本発明によるＭＦＡアルゴリズム処理の一次元シストリックアレイへのマッピングを説明する図である。
【図３】（Ａ）は一次元アレイ、（Ｂ）は下方向正方ＭＦＡアレイ処理を一次元アレイに水平方向に射影した場合の各ＰＥの処理負荷の一例（比較例）を示す図である。
【図４】（Ａ）は一次元アレイ、（Ｂ）は上方向正方ＭＦＡアレイ処理を一次元アレイに水平方向に射影した場合の各ＰＥの処理負荷を示す図である。
【図５】本発明の一実施例のＰＥの構成例を示す図である。
【図６】本発明の一実施例における一次元シストリックアレイの構成例（Ａ（ｍｘ２）、Ｂ（ｍｘ２））を説明する図である。
【図７】図６の動作タイミングを示す図である。
【図８】図５のＣＯＲＤＩＣ演算回路による処理を説明するための図である。
【図９】ＭＦＡアリゴリズムのシグナルフローグラフである。
【図１０】特許文献１の二次元ＭＦＡシストリックアレイを説明する図である。
【図１１】二次元ＭＦＡシストリックアレイを用いた行列演算器の全体構成を示す図である。
【図１２】一次元ＭＦＡシストリックアレイを用いた行列演算器の全体構成を示す図である。
【符号の説明】
【００８８】
１０１  レジスタファイル
１０２  クロスバー
１０３  ＣＯＲＤＩＣ演算回路
１０４  コントローラ
３０１  二次元ＭＦＡシストリックアレイ
２０１  ＰＥ１の下方向入力
２０２  ＰＥ１の上方向出力
２０３  ＰＥ１の下方向出力／ＰＥ２下方向入力
２０４  ＰＥ１の上方向入力／ＰＥ２上方向出力
２０５  ＰＥ２の下方向出力／ＰＥ３下方向入力
２０６  ＰＥ２の上方向入力／ＰＥ３上方向出力
２０７  ＰＥ３下方向出力、
２０８  ＰＥ３上方向入力
３０２、３０３、３０４  メモリ
【図１】
2008027234.tif 000008
【図２】
2008027234.tif 000009
【図３】
2008027234.tif 000010
【図４】
2008027234.tif 000011
【図５】
2008027234.tif 000012
【図６】
2008027234.tif 000013
【図７】
2008027234.tif 000014
【図８】
2008027234.tif 000015
【図９】
2008027234.tif 000016
【図１０】
2008027234.tif 000017
【図１１】
2008027234.tif 000018
【図１２】
2008027234.tif 000019