(57)【要約】【課題】  並列計算機システム全体としてのシステムの拡張性に優れるとともに、システムの拡張に対応させて性能の高速化を実現することが容易な演算処理ユニットを提供すること。【解決手段】  本発明に係る演算処理ユニット１は、結合網３を介して受信した情報の演算処理を行う演算手段２が結合網３によって互いに等間隔を保ちつつ連結されてトーラス状の結合網３を形成する。結合網３には、隣設された他の演算処理ユニットの結合網と連結してトーラス状の大型結合網を構成することが可能な結合手段４が設けられている。結合手段４は、大型結合網においても演算手段２の間隔を等距離に保つことが可能な位置に配設される。【選択図】  図１
2007249744.tif 000002
【特許請求の範囲】
【請求項１】
結合網を介して受信した情報の演算処理を行う演算手段が前記結合網によって互いに等間隔を保ちつつ連結されてトーラス状の結合網を形成する演算処理ユニットであって、
前記結合網には、隣設された他の演算処理ユニットの結合網と連結してトーラス状の大型結合網を構成することが可能な結合手段が設けられ、
該結合手段は、前記大型結合網においても前記演算手段の間隔を等距離に保つことが可能な位置に配設されること
を特徴とする演算処理ユニット。
【請求項２】
前記演算手段は、受信した前記情報を用いて演算した演算結果を前記結合網によって連結された他の演算手段に送出する処理を行い、
受信される前記情報と送出される前記演算結果とは、結合網の周回方向へと１サイクル毎に１つずつ転送されて前記演算手段における処理が実行されることを特徴とする請求項１に記載の演算処理ユニット。
【請求項３】
前記結合網は一つの演算処理ユニットに複数次元形成され、
前記演算手段は、複数の結合網を介して受信した前記情報を用いて前記演算処理を行うこと
を特徴とする請求項２に記載の演算処理ユニット。
【請求項４】
前記結合網が二次元状に形成される場合には、４個の前記演算手段が平面上にそれぞれ配設されるとともに、当該演算手段が２個ずつ連結されたトーラス状の前記結合網が各次元において２組ずつ形成され、
前記結合網が三次元状に形成された場合には、８個の前記演算手段が空間上にそれぞれ配設されるとともに、当該演算手段が２個ずつ連結されたトーラス状の前記結合網が各次元において２組ずつ形成される
ことを特徴とする請求項３に記載の演算処理ユニット。
【請求項５】
前記演算手段は、
受信した前記情報を用いて論理演算を行う論理演算手段と、
該論理演算に利用する情報を記録するレジスタと、
複数次元形成された前記結合網の中から前記情報を受信する結合網の選択切替を行う入力切替手段と、
前記論理演算手段により演算された演算結果または前記レジスタに記録された前記情報を、複数次元形成された前記結合網の中のどの結合網に連結された他の演算手段へ送出するか選択切替する出力切替手段と
を備えることを特徴とする請求項３または請求項４に記載の演算処理ユニット。
【請求項６】
前記演算手段は、
前記入力切替手段における前記結合網への選択切替制御と前記出力切替手段における前記結合網への選択切替制御とを行う制御手段
を備えることを特徴とする請求項５に記載の演算処理ユニット。
【請求項７】
前記レジスタは、当該レジスタに記録される前記情報の属性を示す属性情報を記録することが可能であり、
前記制御手段は、前記属性情報に応じて前記入力切替手段および前記出力切替手段の選択切替制御を行うこと
を特徴とする請求項６に記載の演算処理ユニット。
【請求項８】
前記論理演算手段は、少なくとも３つの情報ａ、ｂ、ｃに基づいて１つの演算結果ｄを算出する論理演算を行うことができ、
該論理演算は、ｄ＝±ａ（×）ｂ（±）ｃで示す第１の論理演算か、
ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）で示す第２の論理演算か、
ｄ＝ｍａｘ（ｍｉｎ（ａ,ｂ）,ｃ）で示す第３の論理演算か、
ｄ＝ｍａｘ（（ａ＋ｂ）,ｃ）で示す第４の論理演算か、
ｄ＝ｍｉｎ（ｍｉｎ（ａ,ｂ）,ｃ）で示す第５の論理演算か、
ｄ＝ａ  ＡＮＤ  ｂ  ＯＲ  ｃで示す第６の論理演算か
の少なくとも１つの演算処理であること
を特徴とする請求項５に記載の演算処理ユニット。
但し、ｍａｘ（ｘ、ｙ）はｘ、ｙのうち大きい方を出力する演算を示し、ｍｉｎ（ｘ，ｙ）はｘ、ｙのうち小さい方を出力する演算を示し、ＡＮＤは論理積を示し、ＯＲは論理和を示す。
【請求項９】
前記演算手段は、
前記入力切替手段における前記結合網への選択切替制御と前記出力切替手段における前記結合網への選択切替制御とを行う制御手段を備え、
該制御手段は、
前記論理演算手段が、前記第１の論理演算か、前記第２の論理演算か、前記第３の論理演算か、前記第４の論理演算か、前記第５の論理演算か、前記第６の論理演算かのうち２以上の演算処理を行うことが可能な場合に、いずれの論理演算により演算を行うかを選択すること
を特徴とする請求項８に記載の演算処理ユニット。
【請求項１０】
前記レジスタは、当該レジスタに記録される情報の属性を示す属性情報を記録することが可能であり、
前記制御手段は、前記属性情報に応じて
前記入力切替手段および前記出力切替手段の選択切替制御と、
前記論理演算手段においていずれの論理演算により演算を行わせるかを選択する演算選択制御と
を行うことを特徴とする請求項９に記載の演算処理ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、結合網を介して受信した情報の演算を行う演算手段が前記結合網によって連結されてトーラス状の結合網を形成する演算処理ユニットに関する。
【背景技術】
【０００２】
今日では、生物学や物理学等の学問において、コンピュータ等の演算処理装置を用いた大規模な演算処理が不可欠なものとなっており、特に、行列演算等を行う積和演算（Fused Multiply ?Add:ＦＭＡ）用の演算処理装置に対する需要は日々増大する傾向にあった。
【０００３】
このような大規模な演算処理を行う場合、単一の演算処理部（プロセッシングエレメント（以下、「ＰＥ」という））を用いた計算機では要求される処理速度を満たすことが困難な傾向にあった。そのため今日では、多数の演算処理部を用いて大規模な演算処理を行う並列計算機を用いることが多い。
【０００４】
並列計算機において用いられる並列処理方式では、データやプログラムを小分けにし、複数の演算処理部で分担して演算処理を行うによって、計算時間の短縮化を実現している。最もポピュラーな並列処理方式はＭＩＭＤ（Multiple Instruction stream Multiple Data stream）とよばれ、独立した演算処理部が相互に通信を行いながら処理を進めている。
【０００５】
ＭＩＭＤ方式を用いた処理方法は、メモリの共有の仕方によって、さらにＵＭＡ（(Uniform Memory Access Model）やＮＵＭＡ（Non-Uniform Memory Access Model）やＮＯＲＡ（No Remote Memory Access Model）等に分類される。このなかで、ＮＯＲＡ方式を用いる並列計算機は、共有メモリを備えておらず、各演算処理部が専用のローカルメモリを有することを特徴とするものである。
【０００６】
ＮＯＲＡ方式の並列計算機は、他の演算処理部と結合網を介して情報の交信を行うことにより高速演算処理を行う。ＮＯＲＡ方式の並列計算機では、高性能な演算処理部を大転送容量の結合網で接続することにより簡易に最大性能の高いシステムを構成することができるので、大規模な科学技術計算用のシステムとして古くから商業化が進められている（例えば、非特許文献１参照）。
【非特許文献１】天野英晴著、「情報系教科書シリーズ第１８巻  並列コンピュータ」、初版、昭晃堂、１９９６年６月５日、ｐ．２−３、ｐ．１４０−１４１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
多くの演算処理部を用いて計算機システムとして機能させるためには、上述したように、結合網によって演算処理部を互いに接続する必要がある。しかしながら、実際に結合網によって演算処理部が連結された計算機システムでは、その物理的な制約からシステムを構成する演算処理部の個数に演算処理部単体の性能を乗じた論理的ピーク性能を実現することが困難であった。この論理的ピーク性能と現実の演算処理性能との乖離を生じ得る問題は、演算処理部間の情報（データ）転送速度に起因するものであった。
【０００８】
このため、従来の計算機システムでは、性能向上を図るべく演算処理部間の接続に工夫を凝らしすぎる傾向にあったが、かえって拡張性に乏しい構成となってしまい、結果的に全体としての性能向上を妨げる結果に至っていた。
【０００９】
本発明は上記課題に鑑みてなされたものであり、並列計算機システム全体としてのシステムの拡張性に優れるとともに、システムの拡張に対応させて性能の高速化を実現することが容易な演算処理ユニットを提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係る演算処理ユニットは、結合網を介して受信した情報の演算処理を行う演算手段が前記結合網によって互いに等間隔を保ちつつ連結されてトーラス状の結合網を形成する演算処理ユニットであって、前記結合網には、隣設された他の演算処理ユニットの結合網と連結してトーラス状の大型結合網を構成することが可能な結合手段が設けれ、該結合手段は、前記大型結合網においても前記演算手段の間隔を等距離に保つことが可能な位置に配設されることを特徴とする。
【００１１】
また、前記演算手段は、受信した前記情報を用いて演算した演算結果を前記結合網によって連結された他の演算手段に送出する処理を行い、受信される前記情報と送出される前記演算結果とは、結合網の周回方向へと１サイクル毎に１つずつ転送されて前記演算手段における処理が実行されるものであってもよい。
【００１２】
さらに、前記結合網は一つの演算処理ユニットに複数次元形成され、前記演算手段が、複数の結合網を介して受信した前記情報を用いて前記演算処理を行うものであってもよい。
【００１３】
また、前記結合網が二次元状に形成される場合には、４個の前記演算手段が矩形頂点位置にそれぞれ配設されるとともに、当該演算手段が２個ずつ連結されたトーラス状の前記結合網が各次元において２組ずつ形成されるものであってもよく、さらに、前記結合網が三次元状に形成された場合には、８個の前記演算手段が立方体の各頂点位置にそれぞれ配設されるとともに、当該演算手段が２個ずつ連結されたトーラス状の前記結合網が各次元において２組ずつ形成されるものであってもよい。
【００１４】
また、前記演算手段は、受信した前記情報を用いて論理演算を行う論理演算手段と、該論理演算に利用する情報を記録するレジスタと、複数次元形成された前記結合網の中から前記情報を受信する結合網の選択切替を行う入力切替手段と、前記論理演算手段により演算された演算結果または前記レジスタに記録された前記情報を、複数次元形成された前記結合網の中のどの結合網に連結された他の演算手段へ送出するか選択切替する出力切替手段とを備えるものであってもよい。
【００１５】
さらに、前記演算手段が、前記入力切替手段における前記結合網への選択切替制御と前記出力切替手段における前記結合網への選択切替制御とを行う制御手段を備えていてもよい。
【００１６】
また、前記レジスタは、当該レジスタに記録される前記情報の属性を示す属性情報を記録することが可能であり、前記制御手段が、前記属性情報に応じて前記入力切替手段および前記出力切替手段の選択切替制御を行うものであってもよい。
【００１７】
さらに、前記論理演算手段は、少なくとも３つの情報ａ、ｂ、ｃに基づいて１つの演算結果ｄを算出する論理演算を行うことができ、該論理演算が、ｄ＝±ａ（×）ｂ（±）ｃで示す第１の論理演算か、ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）で示す第２の論理演算か、ｄ＝ｍａｘ（ｍｉｎ（ａ,ｂ）,ｃ）で示す第３の論理演算か、ｄ＝ｍａｘ（（ａ＋ｂ）,ｃ）で示す第４の論理演算か、ｄ＝ｍｉｎ（ｍｉｎ（ａ,ｂ）,ｃ）で示す第５の論理演算か、ｄ＝ａ  ＡＮＤ  ｂ  ＯＲ  ｃで示す第６の論理演算かの少なくとも１つの演算処理であるものであってもよい。但し、ｍａｘ（ｘ、ｙ）はｘ、ｙのうち大きい方を出力する演算を示し、ｍｉｎ（ｘ，ｙ）はｘ、ｙのうち小さい方を出力する演算を示し、ＡＮＤは論理積を示し、ＯＲは論理和を示すものとする。
【００１８】
また、前記演算手段が、前記入力切替手段における前記結合網への選択切替制御と前記出力切替手段における前記結合網への選択切替制御とを行う制御手段を備えるものであって、該制御手段は、前記論理演算手段が、前記第１の論理演算か、前記第２の論理演算か、前記第３の論理演算か、前記第４の論理演算か、前記第５の論理演算か、前記第６の論理演算かのうち２以上の演算処理を行うことが可能な場合に、いずれの論理演算により演算を行うかを選択するものであってもよい。
【００１９】
さらに、前記レジスタは、当該レジスタに記録される情報の属性を示す属性情報を記録することが可能であり、前記制御手段は、前記属性情報に応じて前記入力切替手段および前記出力切替手段の選択切替制御と、前記論理演算手段においていずれの論理演算により演算を行わせるかを選択する演算選択制御とを行うができるものであってもよい。
【発明の効果】
【００２０】
本発明に係る演算処理ユニットによれば、演算手段が前記結合網によって互いに等間隔を保ちつつ連結されるので、結合網を介して転送される情報の転送時間差を少なくすることが可能となる。
【００２１】
特に、結合網がトーラス状に形成されるので、情報が周方向に沿って転送される場合には、どの結合網を介して情報が転送された場合であっても転送時間差の低減を図ることが可能となる。
【００２２】
さらに、隣設された他の演算処理ユニットの結合網と連結してトーラス状の大型結合網を構成することが可能な結合手段が、結合網に設けられているので、複数の演算処理ユニットを連結させることにより容易にシステムの拡張を行うことが可能となる。
【００２３】
また、結合手段により大型結合網が形成された場合であっても演算手段の間隔を等距離に保つことが可能であるため、システムが拡張された場合であっても、結合網を介して転送される情報の転送時間差を少なくすることが可能となる。
【００２４】
また、演算手段により演算された演算結果を、結合網を介して連結された他の演算手段に送出し、さらに受信した情報と送出される演算結果とを、１サイクル毎に１つずつ転送する構成とすることによって、複数の演算処理手段により演算を行う場合に、システム全体の情報転送時間を短縮化することができ、結果としてシステム全体の処理速度を容易に向上させることが可能となる。
【００２５】
さらに、結合網が一つの演算処理ユニットに複数次元形成されるので、連結手段を介して複数次元方向に演算処理ユニットを連結することができる。このため、演算手段は、連結された複数の結合網を介して受信した前記情報を用いて演算処理を行うことができるので、システム全体として複雑な演算処理を行うことが可能となる。
【００２６】
特に、結合網が二次元状に形成される場合には、４個の前記演算手段が矩形頂点位置にそれぞれ配設されるとともに、当該演算手段が２個ずつ連結されたトーラス状の前記結合網が各次元において２組ずつ形成することによって、このように構成される演算処理ユニットを二次元方向に連結させてシステムを拡張する場合の最小限演算処理ユニットとして構成することが可能となり、システムの拡張性に最も適した演算処理ユニットを構成することが可能となる。
【００２７】
また、結合網が三次元状に形成された場合には、８個の前記演算手段が立方体の各頂点位置にそれぞれ配設されるとともに、当該演算手段が２個ずつ連結されたトーラス状の前記結合網が各次元において２組ずつ形成することによって、このように構成される演算処理ユニットを三次元方向に連結させてシステムを拡張する場合の最小限演算処理ユニットとして構成することが可能となり、システムの拡張性に最も適した演算処理ユニットを構成することが可能となる。
【００２８】
さらに、前記演算手段が、論理演算を行う論理演算手段と、論理演算に利用する情報を記録するレジスタと、情報を受信する結合網の選択切替を行う入力切替手段と、演算結果またはレジスタに記録された情報をどの結合網に連結された他の演算手段へ送出するか選択切替する出力切替手段とを備えているので、入力切替手段により論理演算に利用する情報の選択を行うことが可能になるとともに、演算において必要な情報や演算結果等をレジスタに記録して演算処理に利用することができ、さらに演算結果等の送出先をシステムの演算処理の目的等に応じて選択することが可能となる。
【００２９】
特に、前記論理演算手段は、少なくとも３つの情報ａ、ｂ、ｃに基づいて１つの演算結果ｄを算出する論理演算を行うことができ、この論理演算が、第１〜第５の論理演算のうち少なくとも１つの演算処理である場合には、その演算処理目的に応じて同一の演算処理を行う演算処理ユニットを連結させることによって、同一の大規模演算処理をシステム全体として実行することが可能となる。
【００３０】
さらに、論理演算が、第１〜第５の論理演算のうち２種類以上の演算処理を行うことができる場合には、同一の演算処理ユニットを用いて複数の演算処理を行うことができ、本発明に係る演算処理ユニットの汎用性を高めることが可能となる。さらに複数の演算処理を行うことが可能な演算処理ユニットを連結させて演算処理システムを構成することによって、より複雑な演算処理を行うことが可能となる。
【００３１】
また、演算手段が、入力切替手段および出力切替手段の選択切替の制御を行ったり、論理演算手段においていずれの論理演算により演算を行うかを選択したりする制御手段を備えている場合には、演算処理ユニットの演算処理目的に応じた演算処理方法の選択処理、その演算に必要な情報の受信処理、演算結果の送出処理等を円滑に行うことができる。
【００３２】
さらに、制御手段が属性情報に応じて入力切替手段および出力切替手段の選択切替制御や、論理演算手段における論理演算方法選択を行う場合には、送信および受信される情報の属性情報に対応させて制御を行うことができるので、論理演算手段において演算を行う情報に応じた演算処理を行わせることができ、システム全体として複雑な演算処理を迅速かつ適切に行わせることが可能となる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明に係る演算処理ユニットについて、図面を用いて詳細に説明を行う。
【００３４】
図１は、本発明に係る演算処理ユニットの最小構成単位を示すマイクロセル１を示した図である。マイクロセル１には縦横２個ずつ合計４個のＰＥ（プロセッシングエレメント：演算処理部、演算手段）２が平面状基盤１３の上に配設されており、各ＰＥ２は互いの間隔が等しくなるように結合網（データバス）３で連結されている。さらに、結合網３は円環状に閉環したトーラス形状を呈している。
【００３５】
結合網３は、図１に示すように縦方向および横方向との２次元構造を形成しており、各結合網３には、１つの結合網３内に２つのＰＥ２が配設されている。各結合網３に配設されたＰＥ２は、それぞれの結合網３を介して情報（データ）を取得することが可能な構造となっている。
【００３６】
ＰＥ２が縦横２個ずつ配設され、それぞれの結合網３に２つのＰＥ２が配設されることとなることから、マイクロセル１には縦横２行２列のトーラス状の結合網３が設けられている。
【００３７】
基盤１３の端部に位置する結合網３には、隣設された他のマイクロセル１の結合網３と連結することが可能な連結部４が形成されている。連結部４は、図４に示すように、他のマイクロセル１の連結部４と協働して、それぞれの連結部４の一端の結合網３同士をそれぞれ連結し、さらにそれぞれの連結部４の他端の結合網３同士をそれぞれ連結することで大型のトーラス状結合網（大型結合網）３ａを構成することが可能となっている。
【００３８】
また、連結部４は、他の連結部４と連結していない場合に、連結部４の両端の結合網３を閉じるようにして連結することによって、結合網３のトーラス形状を維持することが可能な構造となっている。
【００３９】
さらに連結部４は、隣設された他のマイクロセル１の結合網３と連結して大型のトーラス状結合網３ａを形成した場合であっても、大型のトーラス状結合網３ａにより接続されるＰＥ間の距離を等しく保つことが可能な位置に配設される。
【００４０】
マイクロセル１には、セル制御部５が設けられている。セル制御部５は、連結部４において他の連結部４と連結を行うか否かを決定する連結制御およびＰＥ２における演算処理方法等を決定する演算処理制御を行う役割を有している。セル制御部５は、複数のマイクロセル１を統括制御する外部制御部１５より、連結部４の連結情報およびＰＥの演算制御情報を受信し、各情報をそれぞれ対応する連結部４およびＰＥ２に配信する。連結部４およびＰＥ２では、受信した情報に応じてそれぞれの処理を実行する。
【００４１】
図２は、ＰＥ２の概略構成を示したブロック図である。ＰＥ２は、図２に示すように、積和演算（ＦＭＡ）等の演算（論理演算）処理を実行するＡＬＵ（演算論理部：Arithmetic Logic Unit、論理演算手段）６と、２つの定数用レジスタ（レジスタ）７、８と、複数の処理用レジスタ（レジスタ）９と、演算処理を行った情報（データ）を隣設するどのＰＥ２へ送出するかを切替制御する出力スイッチ（出力切替手段）１０と、隣設するどのＰＥ２から情報を受信するかを切替制御する入力スイッチ１１（入力切替手段）と、ＰＥ制御部１２（制御手段）とを備えている。
【００４２】
ＡＬＵ６は、既述した積和演算を実行する論理回路である。さらにＡＬＵ６は、積和演算だけでなく変数の最大・最小、論理積・論理和の演算を実行する機能を備えている。
【００４３】
図３は、ＡＬＵ６の概略構成を示したブロック図である。ＡＬＵ６には、積和演算であるｄ＝ａ・ｂ＋ｃの演算（第１の論理演算）を行う第１論理演算処理部２１と、ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）の演算（第２の論理演算）を行う第２論理演算処理部２２と、ｄ＝ｍａｘ（ｍｉｎ（ａ、ｂ），ｃ）の演算（第３の論理演算）を行う第３論理演算処理部２３と、ｄ＝ｍａｘ（（ａ＋ｂ），ｃ）の演算（第４の論理演算）を行う第４論理演算処理部２４と、ｄ＝ｍｉｎ（ｍｉｎ（ａ＋ｂ），ｃ）の演算（第５の論理演算）を行う第５論理演算処理部２５と、ｄ＝ａ ＡＮＤ ｂ ＯＲ ｃの演算（第６の論理演算）を行う第６論理演算処理部２６とが設けられている。
【００４４】
ＡＬＵ６は、ＡＬＵ６に伝達される３ビットのｓｅｌ信号に基づいて、どの論理演算処理部２１〜２６により処理を行うかの選択を行う。例えば、ｓｅｌ信号が“００１”であれば第１論理演算処理部２１が選択され、ｓｅｌ信号が“０１０”であれば第２論理演算処理部２２が選択され、ｓｅｌ信号が“０１１”であれば第３論理演算処理部２３が選択され、ｓｅｌ信号が“１００”であれば第４論理演算処理部２４が選択され、ｓｅｌ信号が“１０１”であれば第５論理演算処理部２５が選択され、ｓｅｌ信号が“１１０”であれば第６論理演算処理部２６が選択される。ＡＬＵ６は選択された論理演算処理部２１〜２６を用いて変数ａ、ｂ、ｃの演算処理を行い、演算処理結果ｄを算出する。
【００４５】
このように複数の論理演算処理部２１〜２６を備えることによって、同一のハードウェア構成を用いて積和演算だけでなく各変数の最大・最小値演算、論理積・論理和演算を行うことができ、多くの数理的問題を解くことが可能となる。
【００４６】
例えば、重み付きグラフの全てのノードペアの最小経路の解を導く場合には、ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）の演算を行う第２論理演算処理部２２が利用され、最小コストスパンニングツリー問題の解を求める場合には、ｄ＝ｍａｘ（ｍｉｎ（ａ、ｂ），ｃ）の演算を行う第３論理演算処理部２３が利用され、ネットワーク容量(トンネル）問題の解を導く場合には、ｄ＝ｍｉｎ（ｍｉｎ（ａ＋ｂ），ｃ）の演算を行う第５論理演算処理部２５が利用される。
【００４７】
また、最大コストパスの解を導く場合には、ｄ＝ｍａｘ（（ａ＋ｂ），ｃ）の演算を行う第４論理演算処理部２４が利用され、推移開包（transitive closure）および反射開包（reflexive closure）の解を導く場合には、ｄ＝ａ ＡＮＤ ｂ ＯＲ ｃの演算を行う第６論理演算処理部２６が利用される。
【００４８】
なお、各問題を解くためのアルゴリズムに関する説明は、「M. Gondran and M. Minoux, “Graphs and Algorithms,” John Wiley & Sons Inc, 1984. ISBN 0471103748」に詳細に記載されているため、ここでの説明は省略する。
【００４９】
ＰＥ制御部１２は、セル制御部５より演算制御情報を受信し、受信した演算制御情報に基づいて、ＡＬＵ６、出力スイッチ１０、入力スイッチ１１等の制御を行う。例えば、前述したｓｅｌ信号は、セル制御部５が外部制御部１５より受信した演算制御情報に基づいて、ＰＥ制御部１２に配信する情報の一部であり、ＰＥ制御部１２は、受信した情報に基づいて、ＡＬＵ６の論理演算処理部２１〜２６に対応するｓｅｌ信号をＡＬＵ６へ伝達する。
【００５０】
また、ＰＥ制御部１２は、ＰＥ２に接続される各結合網に対してＥ，Ｗ、Ｎ，Ｓとの識別番号を付与し、入力スイッチ１１に対して、入力スイッチ１１の接続設定をＥ，Ｗ，Ｎ，Ｓのいずれかに連結させるかの制御信号を送出するとともに、出力スイッチ１０に対して、出力スイッチ１０の接続設定をＥ，Ｗ，Ｎ，Ｓのいずれかに連結させるかの制御信号を送出する。
【００５１】
２つの定数用レジスタ７、８には、それぞれ定数“０”と定数“１”とが記録されている。定数用レジスタ８に記録される定数“１”は、演算処理時に定数“１”を用いる計算、例えば、上述した式１の計算
ｆｍａ（ａ，ｂ，ｃ）：ｄ＝  ±ａ（×）ｂ（±）ｃ
・・・・・・・式１
において、変数ｂに定数“１”を代入することによって
ｆｍａ（ａ，ｂ，ｃ）：ｄ＝  ±ａ（×）１（±）ｃ ・・・・・・・式３
に示す式３の積和演算を行う場合に使用される。
【００５２】
また、定数用レジスタ７に記録される定数“０”は、演算処理時に定数“０”を用いる計算、例えば、上述した式１の計算
ｆｍａ（ａ，ｂ，ｃ）：ｄ＝  ±ａ（×）ｂ（±）ｃ
・・・・・・・式１
において、変数ｃに定数“０”を代入することによって
ｆｍａ（ａ，ｂ，ｃ）：ｄ＝±ａ（×）ｂ（±）０・・・・・・・式４
に示す式４の積和演算を行う場合に使用される。
【００５３】
処理用レジスタ９は、ＡＬＵ６に対して供給されるデータを記録したり、ＡＬＵ６において演算された結果を記録するために用いられる。このため、本実施形態では、複数の処理用レジスタ９が設けられているが、この処理用レジスタ９の数はＰＥ２の処理内容によって必要な数が異なるものであり、その処理内容によっては処理用レジスタ９を備える必要がない場合もあり得る。
【００５４】
出力スイッチ１０は、ＰＥ制御部１２より受信する制御信号に基づいて、Ｅ，Ｗ，Ｎ，Ｓのいずれかの結合網３に対してデータを出力するか否かを判断する。出力スイッチ１０は、指定された結合網３に対してＡＬＵ６の演算結果ｄや、処理用レジスタ９に記録されるデータ等を送出することができるようにスイッチの切替を行う。
【００５５】
また、入力スイッチ１１も、ＰＥ制御部１２より受信する制御信号に基づいて、Ｅ，Ｗ，Ｎ，Ｓのいずれかの結合網３よりデータを受信するか否かを判断する。入力スイッチ１１は、指定された結合網３へと接続を切り替えることによって、受信したデータを、ＡＬＵ６の演算に用いる変数ａ，ｂ，ｃとして利用したり、処理用レジスタ９に記録したりすることができるようにスイッチの切替を行う。
【００５６】
次に、このようにして構成される複数のマイクロセルが連結部４で連結された並列計算機システムの説明を行う。
【００５７】
図４は、縦横に２個ずつマイクロセル１が配設され、マイクロセル１の端部に位置する連結部４により隣設されたマイクロセル１同士が連結された並列計算機システムを示している。図４に示すマイクロセル１の各結合網３は、連結部４に隣設する結合網３と連結されて大型結合網３ａを形成している。
【００５８】
結合網３同士が連結部４により連結されて大型結合網３ａとなった場合であっても、図４と図１とを比較して明らかなように、結合網３ａによって連結されるＰＥ２の隣設間距離には変化がなく、常に一定の距離Ｌを保っている。このため、各ＰＥ２から隣設されるＰＥ２までの距離は、隣設するマイクロセル１が連結部４により連結された場合であってもされていない場合であっても、さらには縦横２個以上のマイクロセル１が連結された場合であっても、常に一定の距離Ｌを保つことが可能となる。
【００５９】
図５（ａ）は、従来の並列計算機システムにおける結合網とＰＥとの接続状態を模式的に示した図であり、図５（ｂ）は、図４に示したように、本実施形態に係るマイクロセル１を連結させた並列計算機システムの結合網３とＰＥ２との接続状態を模式的に示した図である。
【００６０】
図５（ａ）に示す従来の並列計算機システム２９では、上端部に位置するＰＥ（図５（ａ）におけるＰＥ“０,０”、“０,１”、“０,２”、“０,３”）と下端部に位置するＰＥ（図５（ａ）におけるＰＥ“３,０”、“３,１”、“３,２”、“３,３”）との距離ＬＡが、その中間に位置するＰＥ間の距離ＬＢよりも長いという特徴がある。
【００６１】
また同様に、図５（ａ）に示す従来の並列計算機システム２９では、左端部に位置するＰＥ（図５（ａ）におけるＰＥ“０,０”、“１,０”、“２,０”、“３,０”）と、右端部に位置するＰＥ（図５（ａ）におけるＰＥ“０,３”、“１,３”、“２,３”、“３,３”）との距離ＬＡがその中間に位置するＰＥ間の距離ＬＢよりも長いという特徴がある。
【００６２】
一方で、図５（ｂ）に示す本実施形態の並列計算機システム３０では、隣設するＰＥの距離が常に一定距離Ｌになるという特徴を有している。
【００６３】
これらの並列計算機システム２９、３０を用いて行列演算を行う場合、各ＰＥで演算された結果は隣設するＰＥへ送出され、隣設されるＰＥでは受信した演算結果を利用して演算を行うので、結合網３を介して演算結果を隣接するＰＥへ転送（シフト）する処理が必要となる。
【００６４】
しかしながら、図５（ａ）に示す従来の並列計算機システム２９では、距離ＬＡの結合網を介して演算結果が転送される時間と、距離ＬＢの結合網を介して演算結果が転送される時間とに転送時間差が生じて遅延（転送遅延）が発生してしまう。このため、距離ＬＡを介して転送が行われる時間が全体の処理におけるボトルネックとなってしまい、従来の並列計算機システム２９では、距離ＬＡの転送時間を実行サイクルの処理基準時間としたうえで処理が進められることとなる。
【００６５】
一方で、図５（ｂ）に示す並列計算機システム３０では、ＰＥ間の距離がすべて距離Ｌとなるため、結合網３を介して演算結果が転送される時間がどの結合網３を利用しても均等となり、演算結果の転送においてボトルネックが発生しない。このため、距離Ｌを介して演算結果が転送される時間を実行サイクルの処理基準時間としたうえで処理が進められることとなり、従来の並列計算機システムに比べて全体の処理速度の高速化を図ることが容易となる。
【００６６】
図６は、図１に示したマイクロセル１を用いて行列演算Ｃ＝Ｃ＋Ａ・Ｂ（行列Ａ，Ｂ，Ｃは、２行２列の行列とする）を行う場合における各行列要素の計算と隣設されたＰＥ２へのデータ転送の様子とを示した図である。
【００６７】
図６に示すマイクロセル１に含まれるＰＥ２はそれぞれ（ＰＥ００、ＰＥ０１、ＰＥ１０、ＰＥ１１）の４つとし、各ＰＥ２の演算に使用される行列の行列要素（２行２列）を行列Ａの場合には（Ａ００、Ａ０１、Ａ１０、Ａ１１）、行列Ｂの場合には（Ｂ００、Ｂ０１、Ｂ１０、Ｂ１１）、行列Ｃの場合には（Ｃ００、Ｃ０１、Ｃ１０、Ｃ１１）とする。
【００６８】
また、図６に示すマイクロセル１では、１サイクルで各ＰＥの積和演算とＰＥ間のデータ転送とを行う場合を図示しており、その処理サイクルにより転送される演算結果を参照し易いように、図６では、１サイクル目と次のサイクル（２サイクル）目との各行列要素とデータの転送状態とを左右に対比して示している。
【００６９】
さらに、図６の（ａ）〜（ｃ）は、それぞれ行列Ａ、Ｂ、Ｃの要素データを隣接ＰＥに転送することなく初期値としてＰＥに留める場合を表している。例えば（ａ）では、行列Ａの値は転送せずに行列Ｂの要素は縦方向に転送し、行列Ｃの要素を横方向転送させる場合を示しており、（ｂ）では、行列Ｂの値は転送せずに行列Ｃの要素は縦方向に転送し、行列Ａの要素を横方向転送させる場合を示しており、（ｃ）では、行列Ｃの値は転送せずに行列Ｂの要素は縦方向に転送し、行列Ａの要素を横方向転送させる場合を示している。
【００７０】
図６（ａ）〜（ｃ）から明らかなように、どの行列の要素をどの方向に転送させるかにかかわらず、演算処理の進捗に従って移動するデータの動きは、隣設するＰＥへの移動のみである。このことは、問題の規模（計算対象の行列の大きさ）に応じてマイクロセルを２次元方向に多数接続した場合であっても、隣設されたＰＥへのデータ転送タイミングが一定となることを示しており、大規模な問題に対しても実行サイクルの絶対的時間を変更することなく行列計算を行うことが可能なことを意味している。
【００７１】
また、このような構成を採用することによって、マイクロセル１の構造を変更することなくマイクロセル１を連結させることにより、並列計算機システムの規模を容易に拡張することが可能となる。
【００７２】
なお、本発明に係るマイクロセル１の特徴は、結合網３が２次元に形成されるものに限定されるものではなく、ＰＥ２に連結される結合網３を３次元に形成した場合であっても、同様にデータ転送速度を一定にすることができる。
【００７３】
図７は、図１に示したマイクロセル１の結合網３を３次元構造とし、隣設されたマイクロセルを連結部４で連結させて結合網３を３次元トーラス構造に形成した並列計算機システム３０ａを示した概念図である。
【００７４】
マイクロセル１ａの結合網３に形成される連結部（図７においては図示省略）は、既述したように隣設されたＰＥ２の間隔が等間隔Ｌを保つ位置に設置されるため、結合網３が３次元トーラス形状をなす場合であっても、隣設されたＰＥ２間でのデータ転送速度は一定となる。
【００７５】
図７に示す立方体において、ＰＥ２は各交点に１つずつ存在している。また、立方体の各面の端に位置するＰＥ２は、結合網３により反対面の対応するＰＥ２と接続され、結合網３がトーラス状に接続されている（図７においてはトーラス状となる結合網３の図示を省略している）。
【００７６】
また，結合網３の交点の一部に丸印で示したＰＥ２は、同種の演算を同時に行う（発火（使用）される）ＰＥ２を示している。丸印の中の３つの数字は、左からそれぞれ図７のｉ、ｋ、ｊ方向を示すｉ，ｊ，ｋ∈［０，ｎ−１］の番号（但し、図７においてはｎ＝４の場合を表している）を示している。
【００７７】
図７を用いて、Ｃ＝Ｃ＋Ａ・Ａ’を計算する例を具体的に示して説明を行う。なおＣ、Ａ、Ａ’はそれぞれ４行４列の正方行列である。
【００７８】
各ＰＥ２における演算処理の実行サイクルをｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）で表すと、
ｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）＝（−ｉ−ｊ−ｋ）ｍｏｄ ｎ
・ ・・・・・式５
となり、この計算式により求められる番号のＰＥ２が、その実行サイクルにおいて実際に行列計算を行うこととなる。ここで、ｍｏｄは剰余計算を示している。
【００７９】
図７に示すｎ＝４の場合には、ｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）として、０，１，２，３の値をとる。初期値はｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）＝０の位置に設置されるＰＥ（図７において丸印で示されたＰＥ）に対して設定される。
【００８０】
実行サイクル（ｓｔｅｐ）毎に、演算が行われるＰＥ２において部分計算が行われ、計算結果または初期データは予め決められた方向に隣設されるＰＥ２へと転送される。次の実行サイクル（ｓｔｅｐ）では、データを受信したＰＥ２において演算処理が行われることから、演算を行うＰＥ２は図７の交点に存在する次のＰＥ２へと１つずつ移動することとなる。
【００８１】
このとき、図７に示すように、ｉ，ｊ，ｋの各軸状で同時に演算を行うＰＥ２は１つであるため、独立して演算処理の途中結果を記録・保存することが可能な記憶手段（レジスタ等）を各ＰＥに設けることによって、同種類の別の演算を同時に行うことが可能となる。つまり、複数の問題に対する演算処理を同時に処理することが可能となる。
【００８２】
例えば、図７ではｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）＝０の位置に存在するＰＥ２に初期値を設定することとしたが、ｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）＝１、ｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）＝２、ｓｔｅｐ（Ｃ[ｉ，ｊ，ｋ]）＝３の位置に存在するＰＥ２に対して別の初期値を与えることによって、同時に４つの同種類の問題を一連の処理により演算することが可能となる。
【００８３】
以上、本発明に係る演算処理ユニットを、マイクロセル１を用いて説明したが、本発明に係る演算処理ユニットは上述した実施形態に限定されるものではない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００８４】
例えば、上述したＡＬＵ６の構成として、図３に示す構成とは別に、図８に示すような構成を用いてもよい。図８に示すＡＬＵ６ａは、２入力１出力の演算器３１１，３１２・・・３１ｎと演算器切替部（スイッチブロック）４０とを備えている。各演算器３１１，３１２・・・３１ｎは演算器切替部４０に接続されており、さらに、入力データａ，ｂ，ｃ用の３つの入力端子および出力データｄ用の出力端子も演算切替部４０に接続されている。
【００８５】
演算器切替部４０は、上述するｓｅｌ信号を受信し、受信したｓｅｌ信号の情報に応じて入出力端子と各演算器３１１〜３１ｎの２入出力端子とを予め決められた形態で接続する。
【００８６】
例えば、ｓｅｌ信号が“００１”の場合、演算器切替部４０は、乗算用の演算器３１２の左入力端子を入力データa用の入力端子に接続し、乗算用の演算器３１２の右入力端子を入力データｂ用の入力端子に接続し、乗算用の演算器３１２の出力端子を加算用の演算器３１１の左入力端子に接続し、加算用の演算器３１１の右入力端子を入力データｃ用の入力端子に接続し、加算用の演出力データｄ用の出力信号に接続する。このように、演算器切替部４０によって入出力端子と各演算器３１１〜３１ｎとの接続を切り替えることによって、ｄ＝ａ×ｂ＋ｃの演算を行うことが可能となる。
【００８７】
なお、同時に同種の演算を行う必要がある場合には、同種の演算器を複数個演算器切替部４０に接続させることによって同時に演算処理を行うことが可能となる。例えば、ｄ＝ｍｉｎ（ｍｉｎ（ａ，ｂ），ｃ）の演算を行う場合には、２つの入力信号より小さい方の値を出力する演算器を２つ用意し、演算器切替部４０に接続する。このように複数の演算器を用いることによって、同時に同種の演算処理を行う場合には同種の演算器を使用し、同時に同種の演算を行う必要がない場合には、接続される演算器のうちの１つだけを使用すればよい。
【００８８】
さらに、本構成で示した演算器以外でも２入力１出力の演算器を用いることによって、任意の演算器を接続して演算処理に用いることが可能となる。
【００８９】
また、レジスタ７〜９に記録された情報のデータ属性を示す属性ビット情報が、レジスタ７〜９に記録される構成としてもよい。図９は、各レジスタ７〜９に、２ビットの属性ビット情報４１が記録される構成を示している。なお、記録される属性ビット情報４１は必ずしも２ビットに限定されるものではなく、２ビット以外（１ビットまたは３ビット以上）であってもよい。
【００９０】
属性ビット情報４１は、対応するレジスタ７〜９に記録されたデータが隣設されたＰＥ２に転送される場合に一緒に転送されるものとする。本実施形態に係るＰＥ２では、実行サイクルに同期して他のＰＥ２等と同様の演算処理を各ＰＥが実行する場合を説明したが、転送された属性ビット情報４１に応じてそれぞれ異なる処理を行うようにしてもよい。
【００９１】
例えば、ＡＬＵ６に入力される入力データａ，ｂ，ｃのうち、データａおよびデータｂの１つ目の属性ビット情報４１が“０”である場合には、データａ，ｂ，ｃの値によらずにＡＬＵ６の出力データを一律に“０“にする等の特別な処理を、ＰＥ２毎に個別に与えることが可能となる。このような処理判断は、属性ビット情報４１をＰＥ制御部１２が判断して、ＡＬＵ６に支持する構成とすることで実現することができる。
【００９２】
なお、属性ビット情報４１は、対応するデータが初期設定されるときに同時に設定される構成としてもよいし、演算実行途中においてＰＥ２に対してセル制御部５やＰＥ制御部１２より与えられる制御命令に応じて設定される構成としてもよい。
【図面の簡単な説明】
【００９３】
【図１】本実施形態に係るマイクロセルの概略構成を示した図である。
【図２】本実施形態に係るＰＥの概略構成を示した図である。
【図３】本実施形態に係るＡＬＵの概略構成を示した図である。
【図４】図１に示すマイクロセルを４個配設して連結部で連結させた状態を示した図である。
【図５】（ａ）は、従来の並列計算機システムの結合網とＰＥとの接続状態を示した模式図であり、（ｂ）は、本実施形態に係る並列計算機システムの結合網とＰＥとの接続状態を示した模式図である。
【図６】本実施形態に係るマイクロセルを用いて行列演算を行う場合の行列要素およびデータ転送状態を実行サイクル毎に示した図である。
【図７】図１に示すマイクロセルの結合網を３次元構造とし、隣設されたマイクロセルを連結部で連結させて結合網を３次元トーラス構造に形成した並列計算機システムを示した概念図である。
【図８】本実施形態に係るＡＬＵの他の概略構成を示した図である。
【図９】本実施形態に係るＰＥの他の概略構成を示した図である。
【符号の説明】
【００９４】
１、１ａ     …マイクロセル（演算処理ユニット）
２     …ＰＥ（演算手段）
３     …結合網
３ａ   …大型結合網
４     …連結部
５     …セル制御部
６     …ＡＬＵ（論理演算手段）
７、８     …定数用レジスタ
９     …処理用レジスタ
１０   …出力スイッチ（出力切替手段）
１１   …入力スイッチ（入力切替手段）
１２   …ＰＥ制御部（制御手段）
１３   …基盤
１５   …外部制御部
２１   …（ＡＬＵの）第１論理演算処理部
２２   …（ＡＬＵの）第２論理演算処理部
２３   …（ＡＬＵの）第３論理演算処理部
２４   …（ＡＬＵの）第４論理演算処理部
２５   …（ＡＬＵの）第５論理演算処理部
２６   …（ＡＬＵの）第６論理演算処理部
２９   …（従来の）並列計算機システム
３０、３０ａ   …（実施形態に係る）並列計算機システム
３１〜３ｎ   …２入力１出力の演算器
４０   …演算器切替部
４１   …属性ビット情報
【図１】
2007249744.tif 000003
【図２】
2007249744.tif 000004
【図３】
2007249744.tif 000005
【図４】
2007249744.tif 000006
【図５】
2007249744.tif 000007
【図６】
2007249744.tif 000008
【図７】
2007249744.tif 000009
【図８】
2007249744.tif 000010
【図９】
2007249744.tif 000011
【手続補正書】
【提出日】平成18年3月29日(2006.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
前記論理演算手段は、少なくとも３つの情報ａ、ｂ、ｃに基づいて１つの演算結果ｄを算出する論理演算を行うことができ、
該論理演算は、ｄ＝±ａ（×）ｂ（±）ｃで示す第１の論理演算か、
ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）で示す第２の論理演算か、
ｄ＝ｍｉｎ（ｍａｘ（ａ,ｂ）,ｃ）で示す第３の論理演算か、
ｄ＝ｍａｘ（（ａ＋ｂ）,ｃ）で示す第４の論理演算か、
ｄ＝ｍａｘ（ｍｉｎ（ａ,ｂ）,ｃ）で示す第５の論理演算か、
ｄ＝ａ  ＡＮＤ  ｂ  ＯＲ  ｃで示す第６の論理演算か、
ｄ＝ｍａｘ（（ａ×ｂ）,ｃ）で示す第7の論理演算か
の少なくとも１つの演算処理であること
を特徴とする請求項５に記載の演算処理ユニット。
但し、ｍａｘ（ｘ、ｙ）はｘ、ｙのうち大きい方を出力する演算を示し、ｍｉｎ（ｘ，ｙ）はｘ、ｙのうち小さい方を出力する演算を示し、ＡＮＤは論理積を示し、ＯＲは論理和を示す。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
今日では、生物学や物理学等の学問において、コンピュータ等の演算処理装置を用いた大規模な演算処理が不可欠なものとなっており、特に、行列演算等を行う積和演算（Fused Multiply −Add:ＦＭＡ）用の演算処理装置に対する需要は日々増大する傾向にあった。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
さらに、前記論理演算手段は、少なくとも３つの情報ａ、ｂ、ｃに基づいて１つの演算結果ｄを算出する論理演算を行うことができ、該論理演算が、ｄ＝±ａ（×）ｂ（±）ｃで示す第１の論理演算か、ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）で示す第２の論理演算か、ｄ＝ｍｉｎ（ｍａｘ（ａ,ｂ）,ｃ）で示す第３の論理演算か、ｄ＝ｍａｘ（（ａ＋ｂ）,ｃ）で示す第４の論理演算か、ｄ＝ｍａｘ（ｍｉｎ（ａ,ｂ）,ｃ）で示す第５の論理演算か、ｄ＝ａ  ＡＮＤ  ｂ  ＯＲ  ｃで示す第６の論理演算か、ｄ＝ｍａｘ（（ａ×ｂ）,ｃ）で示す第７の論理演算かの少なくとも１つの演算処理であるものであってもよい。但し、ｍａｘ（ｘ、ｙ）はｘ、ｙのうち大きい方を出力する演算を示し、ｍｉｎ（ｘ，ｙ）はｘ、ｙのうち小さい方を出力する演算を示し、ＡＮＤは論理積を示し、ＯＲは論理和を示すものとする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
また、前記演算手段が、前記入力切替手段における前記結合網への選択切替制御と前記出力切替手段における前記結合網への選択切替制御とを行う制御手段を備えるものであって、該制御手段は、前記論理演算手段が、前記第１の論理演算か、前記第２の論理演算か、前記第３の論理演算か、前記第４の論理演算か、前記第５の論理演算か、前記第６の論理演算か、前記第７の論理演算かのうち２以上の演算処理を行うことが可能な場合に、いずれの論理演算により演算を行うかを選択するものであってもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
特に、前記論理演算手段は、少なくとも３つの情報ａ、ｂ、ｃに基づいて１つの演算結果ｄを算出する論理演算を行うことができ、この論理演算が、第１〜第７の論理演算のうち少なくとも１つの演算処理である場合には、その演算処理目的に応じて同一の演算処理を行う演算処理ユニットを連結させることによって、同一の大規模演算処理をシステム全体として実行することが可能となる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
さらに、論理演算が、第１〜第７の論理演算のうち２種類以上の演算処理を行うことができる場合には、同一の演算処理ユニットを用いて複数の演算処理を行うことができ、本発明に係る演算処理ユニットの汎用性を高めることが可能となる。さらに複数の演算処理を行うことが可能な演算処理ユニットを連結させて演算処理システムを構成することによって、より複雑な演算処理を行うことが可能となる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
図３は、ＡＬＵ６の概略構成を示したブロック図である。ＡＬＵ６には、積和演算であるｄ＝ａ×ｂ＋ｃの演算（第１の論理演算）を行う第１論理演算処理部２１と、ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）の演算（第２の論理演算）を行う第２論理演算処理部２２と、ｄ＝ｍｉｎ（ｍａｘ（ａ、ｂ），ｃ）の演算（第３の論理演算）を行う第３論理演算処理部２３と、ｄ＝ｍａｘ（（ａ＋ｂ），ｃ）の演算（第４の論理演算）を行う第４論理演算処理部２４と、ｄ＝ｍａｘ（ｍｉｎ（ａ＋ｂ），ｃ）の演算（第５の論理演算）を行う第５論理演算処理部２５と、ｄ＝ａ ＡＮＤ ｂ ＯＲ ｃの演算（第６の論理演算）を行う第６論理演算処理部２６と、ｄ＝ｍａｘ（（ａ×ｂ），ｃ）の演算（第７の論理演算）を行う第７論理演算処理部２７とが設けられている。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
ＡＬＵ６は、ＡＬＵ６に伝達される３ビットのｓｅｌ信号に基づいて、どの論理演算処理部２１〜２７により処理を行うかの選択を行う。例えば、ｓｅｌ信号が“００１”であれば第１論理演算処理部２１が選択され、ｓｅｌ信号が“０１０”であれば第２論理演算処理部２２が選択され、ｓｅｌ信号が“０１１”であれば第３論理演算処理部２３が選択され、ｓｅｌ信号が“１００”であれば第４論理演算処理部２４が選択され、ｓｅｌ信号が“１０１”であれば第５論理演算処理部２５が選択され、ｓｅｌ信号が“１１０”であれば第６論理演算処理部２６が選択され、ｓｅｌ信号が“１１１”であれば第７論理演算処理部２７が選択される。ＡＬＵ６は選択された論理演算処理部２１〜２７を用いて変数ａ、ｂ、ｃの演算処理を行い、演算処理結果ｄを算出する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
このように複数の論理演算処理部２１〜２７を備えることによって、同一のハードウェア構成を用いて積和演算だけでなく各変数の最大・最小値演算、論理積・論理和演算を行うことができ、多くの数理的問題を解くことが可能となる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
例えば、重み付きグラフの全てのノードペアの最小経路の解を導く場合には、ｄ＝ｍｉｎ（（ａ＋ｂ），ｃ）の演算を行う第２論理演算処理部２２が利用され、最小コストスパンニングツリー問題の解を求める場合には、ｄ＝ｍｉｎ（ｍａｘ（（ａ、ｂ），ｃ）の演算を行う第３論理演算処理部２３が利用されネットワーク容量(トンネル）問題の解を導く場合には、ｄ＝ｍａｘ（ｍｉｎ（ａ＋ｂ），ｃ）の演算を行う第５論理演算処理部２５が利用される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
また、最大コストパスの解を導く場合には、ｄ＝ｍａｘ（（ａ＋ｂ），ｃ）の演算を行う第４論理演算処理部２４が利用され、推移開包（transitive closure）および反射開包（reflexive closure）の解を導く場合には、ｄ＝ａ ＡＮＤ ｂ ＯＲ ｃの演算を行う第６論理演算処理部２６が利用され、最大信頼パス（maximum reliability path）の解を導く場合には、ｄ＝ｍａｘ（（ａ×ｂ），ｃ）の演算を行う第７論理演算処理部２７が利用される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
例えば、ＡＬＵ６に入力される入力データａ，ｂ，ｃのうち、データａおよびデータｂの１つ目の属性ビット情報４１が“０”である場合には、データａ，ｂ，ｃの値によらずにＡＬＵ６の出力データを一律に“０“にする等の特別な処理を、ＰＥ２毎に個別に与えることが可能となる。このような処理判断は、属性ビット情報４１をＰＥ制御部１２が判断して、ＡＬＵ６に指示する構成とすることで実現することができる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
１、１ａ     …マイクロセル（演算処理ユニット）
２     …ＰＥ（演算手段）
３     …結合網
３ａ   …大型結合網
４     …連結部
５     …セル制御部
６     …ＡＬＵ（論理演算手段）
７、８     …定数用レジスタ
９     …処理用レジスタ
１０   …出力スイッチ（出力切替手段）
１１   …入力スイッチ（入力切替手段）
１２   …ＰＥ制御部（制御手段）
１３   …基盤
１５   …外部制御部
２１   …（ＡＬＵの）第１論理演算処理部
２２   …（ＡＬＵの）第２論理演算処理部
２３   …（ＡＬＵの）第３論理演算処理部
２４   …（ＡＬＵの）第４論理演算処理部
２５   …（ＡＬＵの）第５論理演算処理部
２６   …（ＡＬＵの）第６論理演算処理部
２７   …（ＡＬＵの）第７論理演算処理部
２９   …（従来の）並列計算機システム
３０、３０ａ   …（実施形態に係る）並列計算機システム
３１〜３ｎ   …２入力１出力の演算器
４０   …演算器切替部
４１   …属性ビット情報
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2007249744.tif 000012
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2007249744.tif 000013