(57)【要約】【課題】従来の並列処理装置は、当該演算要素と隣接演算要素間の通信／演算のみ可能で、例えば左右の演算要素のデータを用いる当該演算要素での高速演算は不可能で、画像処理等、広範囲の畳み込み演算は処理時間が膨大で、カメラからの画像データのリアルタイム処理ができない。【解決手段】複数の演算要素が一次元配置され、夫々の演算要素が相互接続された単一命令多重データ型の並列処理装置であり、各演算要素を距離に応じて接続され、一方向にデータ転送を行う複数のラインからなる第一の接続手段と、他方向にデータ転送を行う複数のラインからなる第二の接続手段と、第一の接続手段から任意のデータを選択する第一の選択手段と、第二の接続手段及び第一の選択手段から任意のデータを選択する第二の選択手段を備えることを特徴とする並列処理装置。【選択図】図１
2010108096.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算要素が一次元に配置され、それぞれの演算要素が相互に接続された単一命令多重データ型の並列処理装置において、
一次元に配置された複数の演算要素の一方向に所定距離離れた演算要素から当該演算要素にデータ転送する第一の接続ラインが演算要素を1つずつ他方向にずらし同じ距離離れた演算要素にデータ転送する構成にされたｎ＋１本のラインで形成される第一の接続手段と
第一の接続手段を構成するｎ＋１本の第一の接続ラインが所定の間隔で間引きされて接続され、接続されたラインのデータを選択する第一の選択手段と、
一次元に配置された複数の演算要素の他方向に所定距離離れた演算要素から当該演算要素にデータ転送する第二の接続ラインを演算要素が1つずつ一方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ本のラインと、第一の選択手段で選択されたラインのデータを一方向に所定距離離れた演算要素間に転送するラインのｎ＋１のラインで形成される第二の接続手段と、
第二の接続手段を構成するｎ本の第二の接続ラインが第一の選択手段へ接続される第一の接続ラインの間引き間隔で間引きされ、かつ第一の選択手段で選択されたデータのラインが接続され、接続されたラインのデータを選択し、当該演算要素へ出力する第二の選択手段を備えることを特徴とする並列処理装置。
【請求項２】
複数の演算要素が二次元に配置され、それぞれの演算要素が相互に接続された単一命令多重データ型の並列処理装置において、
横方向に配置された複数の演算要素の一方向に所定距離離れた演算要素から当該演算要素にデータ転送する第一の接続ラインが演算要素を1つずつ他方向にずらし同じ距離離れた演算要素にデータ転送する構成にされたｎ＋１本のラインで形成される第一の接続手段と
第一の接続手段を構成するｎ＋１本の第一の接続ラインが所定の間隔で間引きされて接続され、接続されたラインのデータを選択する第一の選択手段と、
横方向に配置された複数の演算要素の他方向に所定距離離れた演算要素から当該演算要素にデータ転送する第二の接続ラインを演算要素が1つずつ一方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ本のラインと、第一の選択手段で選択されたラインのデータを一方向に所定距離離れた演算要素間に転送するラインのｎ＋１のラインで形成される第二の接続手段と、
第二の接続手段を構成するｎ本の第二の接続ラインが所定の間隔で間引きされ、かつ第一の選択手段で選択されたデーのラインが接続され、接続されたラインのデータを選択する第二の選択手段と、
縦方向に配置された複数の演算要素の一方向に所定距離離れた演算要素間にデータ転送する第三の接続ラインが演算要素を1つずつ他方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ＋１本のラインで形成される第三の接続手段と
第三の接続手段を構成するｎ＋１本の第三の接続ラインが所定の間隔で間引きされて接続され、接続されたラインのデータを選択する第三の選択手段と、
縦方向に配置された複数の演算要素の他方向に所定距離離れた演算要素間にデータ転送する第四の接続ラインが演算要素を1つずつ一方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ本のラインと、第三の選択手段で選択されたラインのデータを一方向に所定距離離れた演算要素間に転送するラインのｎ＋１のラインで構成される第四の接続手段と、
第四の接続手段を構成するｎ本の第四の接続ラインが所定の間隔で間引きされ、かつ第三の選択手段で選択されたデーのラインが接続され、接続されたラインのデータを選択する第四の選択手段とを備え、第二の選択手段または第四の選択手段の何れか一方が他方の選択手段で選択されたデータのラインが接続されて選択される対象ラインとなり、このラインを含めたラインが選択されたデータが演算要素へ出力される構成にされたことを特徴とする並列処理装置。
【請求項３】
複数の演算要素が三次元に配置され、それぞれの演算要素が相互に接続された単一命令多重データ型の並列処理装置において、
横方向に配置された複数の演算要素の一方向に所定距離離れた演算要素間にデータ転送する第一の接続ラインが演算要素を1つずつ他方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ＋１本のラインで形成される第一の接続手段と
第一の接続手段を構成するｎ＋１本の第一の接続ラインが所定の間隔で間引きされて接続され、接続されたラインのデータを選択する第一の選択手段と、
横方向に配置された複数の演算要素の他方向に所定距離離れた演算要素間にデータ転送する第二の接続ラインを演算要素が1つずつ一方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ本のラインと、第一の選択手段で選択されたラインのデータを一方向に所定距離離れた演算要素間に転送するラインのｎ＋１のラインで構成される第二の接続手段と、
第二の接続手段を構成するｎ本の第二の接続ラインが所定の間隔で間引きされ、かつ第一の選択手段で選択されたデーのラインが接続され、接続されたラインのデータを選択する第二の選択手段と、
縦方向に配置された複数の演算要素の一方向に所定距離離れた演算要素間にデータ転送する第三の接続ラインを演算要素を1つずつ他方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ＋１本のラインで形成される第三の接続手段と
第三の接続手段を構成するｎ＋１本の第三の接続ラインが所定の間隔で間引きされて接続され、接続されたラインのデータを選択する第三の選択手段と、
縦方向に配置された複数の演算要素の他方向に所定距離離れた演算要素間にデータ転送する第四の接続ラインを演算要素が1つずつ一方向にずれ同じ距離離れた演算要素間にデータ転送する構成にされたｎ本のラインと、第三の選択手段で選択されたラインのデータを一方向に所定距離離れた演算要素間に転送するラインのｎ＋１のラインで構成される第四の接続手段と、
第四の接続手段を構成するｎ本の第四の接続ラインが所定の間隔で間引きされ、かつ第三の選択手段で選択されたデーのラインが接続され、接続されたラインのデータを選択する第四の選択手段と
奥行方向に配置された複数の演算要素の一方向に所定距離離れた演算要素間にデータ転送する第五の接続ラインを演算要素が1つずつ他方向にずれ同じ距離離れた演算要素間にデータ転送する構成にされたｎ＋１本のラインで構成される第五の接続手段と
第五の接続手段を構成するｎ＋１本の第五の接続ラインが所定の間隔で間引きされて接続され、接続されたラインのデータを選択する第五の選択手段と、
奥行方向に配置された複数の演算要素の他方向に所定距離離れた演算要素間にデータ転送する第六の接続ラインを演算要素が1つずつ一方向にずれ同じ距離離れた演算要素間にデータ転送する構成にされたｎ本のラインと、第五の選択手段で選択されたラインのデータを一方向に所定距離離れた演算要素間に転送するラインのｎ＋１のラインで構成される第六の接続手段と、
第六の接続手段を構成するｎ本の第六の接続ラインが所定の間隔で間引きされ、かつ第五の選択手段で選択されたデーのラインが接続され、接続されたラインのデータを選択する第六の選択手段と
を備え、第二の選択手段、第四の選択手段または第六の選択手段の何れか一つに他の選択手段で選択されたデータのラインが接続されて選択される対象ラインとなり、このラインを含めたラインが選択されたデータが演算要素へ出力される構成にされたことを特徴とする並列処理装置。
【請求項４】
前記各選択手段は前記各選択手段に接続される接続手段のうち、間引き間隔として一つおきに間引きされる構成とされることを特徴とする請求項１乃至３の何れか１項に記載の並列処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、高速通信機構を有する１チップ並列処理装置に関し、特に１つのLSI（large scale integrated circuit）上に多数のプロセッサ要素を結合して構成した単一命令多重データ（SIMD  single instruction multiple data）型の１チップ並列処理装置に用いて好適なものである。
【背景技術】
【０００２】
1つのLSI上に複数の演算要素を配置した並列処理装置において、配線面積をできるだけ小さくする技術が開示されている。
例えば特開平8-101822号公報では隣接する演算要素間を接続するデータバスを双方向バスで構成し、スイッチにより隣接した演算要素間通信を伴う演算と、通信を伴わない演算を切り替えることでそれぞれの処理時間を同じにし、回路面積と配線面積をできるだけ小さくすることを可能としている。
【０００３】
【特許文献１】特開平8-101822号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら上記構成の並列処理装置の場合、注目（当該）演算要素と隣接演算要素間の通信／演算のみが可能であり、隣接演算要素間同士、例えば左右の演算要素のデータを注目演算要素において高速に演算することは不可能となる。このため例えば画像処理などで使用する広範囲の畳み込み演算を行う場合は処理時間が膨大となるため、カメラからの画像データをリアルタイムに処理するなどの高速処理ができなくなる。
【０００５】
この発明は、上述のような課題を解決するためになされたもので、第１の目的は、任意の距離の演算要素間の通信及び演算を、回路面積を抑制して実現するものである。
また第２の目的は、任意の距離の演算要素間の通信及び演算を高速に処理することが可能で、かつ回路面積を抑制するものである。
また第３の目的は、二次元に配置された任意の距離の演算要素間の通信及び演算を高速に処理することが可能で、かつ回路面積を抑制するものである。
また第４の目的は、三次元に配置された任意の距離の演算要素間の通信及び演算を高速に処理することが可能で、かつ回路面積を抑制するものである。
【課題を解決するための手段】
【０００６】
この発明に係る、複数演算要素が一次元配置され、それぞれの演算要素が相互接続された単一命令多重データ型の並列処理装置置は、
一次元に配置された複数の演算要素の一方向に所定距離離れた演算要素から当該演算要素にデータ転送する第一の接続ラインが演算要素を1つずつ他方向にずらし同じ距離離れた演算要素にデータ転送する構成にされたｎ＋１本のラインで形成される第一の接続手段と
第一の接続手段を構成するｎ＋１本の第一の接続ラインが所定の間隔で間引きされて接続され、接続されたラインのデータを選択する第一の選択手段と、
一次元に配置された複数の演算要素の他方向に所定距離離れた演算要素から当該演算要素にデータ転送する第二の接続ラインが演算要素を1つずつ一方向にずらし同じ距離離れた演算要素間にデータ転送する構成にされたｎ本のラインと、第一の選択手段で選択されたラインのデータを一方向に所定距離離れた演算要素間に転送するラインのｎ＋１のラインで形成される第二の接続手段と、
第二の接続手段を構成するｎ本の第二の接続ラインが第一の選択手段へ接続される第一の接続ラインの間引き間隔で間引きされ、かつ第一の選択手段で選択されたデータのラインが接続され、接続されたラインのデータを選択し、当該演算要素へ出力する第二の選択手段を備える。
【発明の効果】
【０００７】
この発明の並列処理装置によれば、それぞれ複数本のデータラインで構成された第一の接続手段及び第二の接続手段のうち所定の間隔で間引きされたデータラインが、第一の選択手段および第二の選択手段に接続され、第一の選択手段で選択されたデータラインを第二の選択手段の構成要素として、第一の接続手段および第二の接続手段を組み合わせて制御することで、任意の距離の演算要素のデータを1サイクルで参照することが可能となる。
また、第一の接続手段及び第二の接続手段を構成するデータラインを所定の間隔で間引き選択する構成とすることで、選択すべきデータライン数を削減でき、第一の選択手段及び第二の選択手段の回路面積の削減が可能となる。さらに選択すべきデータライン数が削減されるため、第一の選択手段及び第二の選択手段の動作周波数向上も可能となる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
以下にこの発明の実施の形態1による並列処理装置について説明する。図１はこの実施の形態1における並列処理装置の全体構成を示すものである。1は様々な演算を実施する演算要素（Processor Element）である。演算要素1は一例として1ビットの演算器を搭載し、水平方向一列（即ち一次元的）に複数配置されているものとする。2はそれぞれの演算要素1に対して左側からの別の演算要素1の1ビットデータを転送する第一の接続手段としての左側データバスであり、それぞれの演算要素1について右側に最大15個離れた演算要素1のデータを注目演算要素１までの各演算要素に1サイクルで転送可能である。3はそれぞれの演算要素1に対して右側からの別の演算要素1の1ビットデータを転送する第二の接続手段としての右側データバスであり、それぞれの演算要素1について左側に最大15個離れた演算要素1のデータを注目演算要素１までの各演算要素に1サイクルで転送可能である。4は左側データバス2及び右側データバス3から1ビットのデータを選択し、演算要素1を相互に接続する相互接続機構である。5は相互接続機構4によって選択され演算要素1に出力される1ビットのデータ出力ラインである。6は演算要素1から相互接続機構4に入力する1ビットのデータ入力ラインである。
【０００９】
図２は相互接続機構4の詳細を示す図である。11は左側データバス2のうち、注目する演算要素（注目演算要素）1より左側に15個離れた演算要素1のデータを注目演算要素1に転送するPE[x-15]ラインである。12は注目演算要素1より左側に14個離れた演算要素1のデータを注目演算要素1より右側に1個離れた演算要素1に転送するPE[x-14]ラインである。13は注目演算要素1より左側に13個離れた演算要素1のデータを注目演算要素1より右側に2個離れた演算要素1に転送するPE[x-13]ラインである。14は注目演算要素1より左側に12個離れた演算要素1のデータを注目演算要素1より右側に3個離れた演算要素1に転送するPE[x-1２]ラインである。15は注目演算要素1より左側に11個離れた演算要素1のデータを注目演算要素1より右側に4個離れた演算要素1に転送するPE[x-11]ラインである。16は注目演算要素1より左側に10個離れた演算要素1のデータを注目演算要素1より右側に5個離れた演算要素1に転送するPE[x-10]ラインである。17は注目演算要素1より左側に9個離れた演算要素1のデータを注目演算要素1より右側に6個離れた演算要素1に転送するPE[x-09]ラインである。
【００１０】
18は注目演算要素1より左側に8個離れた演算要素1のデータを注目演算要素1より右側に7個離れた演算要素1に転送するPE[x-08]ラインである。19は注目演算要素1より左側に7個離れた演算要素1のデータを注目演算要素1より右側に8個離れた演算要素1に転送するPE[x-07]ラインである。20は注目演算要素1より左側に6個離れた演算要素1のデータを注目演算要素1より右側に9個離れた演算要素1に転送するPE[x-06]ラインである。21は注目演算要素1より左側に5個離れた演算要素1のデータを注目演算要素1より右側に10個離れた演算要素1に転送するPE[x-05]ラインである。22は注目演算要素1より左側に4個離れた演算要素1のデータを注目演算要素1より右側に11個離れた演算要素1に転送するPE[x-04]ラインである。23は注目演算要素1より左側に3個離れた演算要素1のデータを注目演算要素1より右側に12個離れた演算要素1に転送するPE[x-03]ラインである。24は注目演算要素1より左側に2個離れた演算要素1のデータを注目演算要素1より右側に13個離れた演算要素1に転送するPE[x-02]ラインである。25は注目演算要素1より左側に1個離れた演算要素1のデータを注目演算要素1より右側に14個離れた演算要素1に転送するPE[x-01]ラインである。26は注目演算要素1のデータを注目演算要素1より右側に15個離れた演算要素1に転送するPE[x-0]ラインである。
【００１１】
31は右側データバス3のうち、注目演算要素1より右側に15個離れた演算要素1のデータを注目演算要素1に転送するPE[x+15]ラインである。32は注目演算要素1より右側に14個離れた演算要素1のデータを注目演算要素1より左側に1個離れた演算要素1に転送するPE[x+14]ラインである。33は注目演算要素1より右側に13個離れた演算要素1のデータを注目演算要素1より左側に2個離れた演算要素1に転送するPE[x+13]ラインである。34は注目演算要素1より右側に12個離れた演算要素1のデータを注目演算要素1より左側に3個離れた演算要素1に転送するPE[x+1２]ラインである。35は注目演算要素1より右側に11個離れた演算要素1のデータを注目演算要素1より左側に4個離れた演算要素1に転送するPE[x+11]ラインである。36は注目演算要素1より右側に10個離れた演算要素1のデータを注目演算要素1より左側に5個離れた演算要素1に転送するPE[x+10]ラインである。37は注目演算要素1より右側に9個離れた演算要素1のデータを注目演算要素1より左側に6個離れた演算要素1に転送するPE[x+09]ラインである。
【００１２】
38は注目演算要素1より右側に8個離れた演算要素1のデータを注目演算要素1より左側に7個離れた演算要素1に転送するPE[x+08]ラインである。39は注目演算要素1より右側に7個離れた演算要素1のデータを注目演算要素1より左側に8個離れた演算要素1に転送するPE[x+07]ラインである。40は注目演算要素1より右側に6個離れた演算要素1のデータを注目演算要素1より左側に9個離れた演算要素1に転送するPE[x+06]ラインである。41は注目演算要素1より右側に5個離れた演算要素1のデータを注目演算要素1より左側に10個離れた演算要素1に転送するPE[x+05]ラインである。42は注目演算要素1より右側に4個離れた演算要素1のデータを注目演算要素1より左側に11個離れた演算要素1に転送するPE[x+04]ラインである。43は注目演算要素1より右側に3個離れた演算要素1のデータを注目演算要素1より左側に12個離れた演算要素1に転送するPE[x+03]ラインである。44は注目演算要素1より右側に2個離れた演算要素1のデータを注目演算要素1より左側に13個離れた演算要素1に転送するPE[x+02]ラインである。45は注目演算要素1より右側に1個離れた演算要素1のデータを注目演算要素1より左側に14個離れた演算要素1に転送するPE[x+01]ラインである。46は注目演算要素1より左側データバス2のうち選択されたデータラインのデータを注目演算要素1より左側に15個離れた演算要素1に転送するPE[x+0]ラインである。
【００１３】
50は16本のデータラインで構成された左側データバス2のうち、一つおきのPE[x-15]ライン11、PE[x-13]ライン13、PE[x-11]ライン15、PE[x-09]ライン17、PE[x-07]ライン19、PE[x-05]ライン21、PE[x-03]ライン23、PE[x-01]ライン25、PE[x-0]ライン26の9本のデータラインから、図示しない制御回路からの制御信号によって1本を選択し、右側データバス3に出力する第一の選択手段としての左側データセレクタである。51は16本のデータラインで構成された右側データバス3のうち、一つおきのPE[x+15]ライン31、PE[x+13]ライン33、PE[x+11]ライン35、PE[x+09]ライン37、PE[x+07]ライン39、PE[x+05]ライン41、PE[x+03]ライン43、PE[x+01]ライン45、および左側データセレクタ50の出力ラインPE[x+0]ライン46の9本のデータラインから、図示しない制御回路からの制御信号によって1本を選択し、演算要素1に出力する第二の選択手段としての右側データセレクタである。
【００１４】
図３は図２における左側データバス2に、複数の相互接続機構4を接続した状態を示すものである。PE[x-15]ライン11は注目演算要素1に対応する相互接続機構4の右隣りの相互接続機構4に接続されることなく、この相互接続機構4の左側データセレクタ50に接続され、代りにこの注目演算要素1から出力されるPE[x+0]ライン26が右隣りの相互接続機構4に接続される。
すぐ右隣りの演算要素に対応する相互接続機構4の左側データセレクタ50は、左隣りの相互接続機構4の左側データセレクタに接続されないデータラインとすぐ左隣りの演算要素1から出力されるPE[x+0]ライン26が接続され、図示しない制御回路からの制御信号によって1本を選択し、右側データバス3に出力する。
【００１５】
また、その右隣りの演算要素に対応する相互接続機構4の左側データセレクタ50も、同様な接続構成とされ、左側データバス２のラインは１つ置きの相互接続機構4の左側データセレクタ50に接続される。そして、図示しない制御回路からの制御信号によって左側データセレクタ50に接続されるラインの1本を選択し、右側データバス3に出力する。相互接続機構4の左側データセレクタ50は順次このような構成にされる。
また、相互接続機構4の右側データセレクタ51も、左側データセレクタ50と同様な接続構成にされる。すなわち、PE[x+15]ライン31は注目演算要素1に対応する相互接続機構4の左隣りの相互接続機構4に接続されることなく、この相互接続機構4の右側データセレクタ51に接続され、代りにこの注目演算要素1の左側データセレクタ50の出力ラインPE[x+0]ライン46が左隣りの相互接続機構4に接続される。
【００１６】
図４は左側及び右側に14個離れた演算要素1のデータを参照する例である。左側に14個離れた演算要素1のデータを参照する場合、左側に15個分離れた演算要素1のデータを転送した後、右側に1個分離れた演算要素1のデータを転送することで実現する。まず左側に15個離れた演算要素1のデータを転送するとき、左側データセレクタ50は、図示しない制御信号によって制御され、PE[x-15]ライン11のデータを選択して右側データバス3に出力する。このとき図３に示す通り、全ての相互接続機構4は常に左側に15個離れたPE[x-15]ライン11のデータを選択して右側データバス3に出力する。次に右側データセレクタ51は、図示しない制御信号によって制御され、PE[x+01]ライン45を選択して演算要素1に出力する。このとき全ての相互接続機構4は右側に1個離れたPE[x+01]ライン45を選択することになるため、最終的に全ての演算要素1は、左側に14個離れた演算要素1のデータを参照することが可能となる。
【００１７】
右側に14個離れた演算要素1のデータを参照する場合、左側に1個分転送した後右側に15個分離れた演算要素1のデータを転送することで実現する。まず右側に1個離れた演算要素1のデータを転送するとき、左側データセレクタ50は、図示しない制御信号によって制御され、PE[x-01]ライン25のデータを選択して右側データバス3に出力する。このとき図3に示す通り、全ての相互接続機構4は常に左側に1個離れたPE[x-01]ライン25のデータを選択して右側データバス3に出力する。次に右側データセレクタ51は、図示しない制御信号によって制御され、PE[x+15]ライン31を選択して演算要素1に出力する。このとき全ての相互接続機構4は右側に15個離れたPE[x+15]ライン31を選択することになるため、最終的に全ての演算要素1は、右側に14個離れた演算要素1のデータを参照することが可能となる。
【００１８】
上記のように、それぞれ16本のデータラインで構成された左側データバス2及び右側データバス3のうち、一つおきに9本のデータラインを選択し、左側データセレクタ50および右側データセレクタ51に接続し、左側データセレクタ50で選択したデータラインを右側データバス３の構成要素として、左側データバス2及び右側データバス3を組み合わせて制御することで、任意の距離の演算要素1のデータを1サイクルで参照することが可能となる。
このように一つおきにデータラインを選択する構成とすることで、選択すべきデータライン数を削減でき、左側データセレクタ50及び右側データセレクタ51の回路面積の削減が可能となる。さらに選択すべきデータライン数が削減されるため、左側データセレクタ50及び右側データセレクタ51の動作周波数向上も可能となる。
【００１９】
なお、本実施の形態では演算要素1間のデータ幅を1ビットとしたが、演算要素1の処理能力などに応じ、ビット幅を増やしてもよい。また本実施の形態では左右それぞれ15個までの相互接続を可能とする構成としたが、処理するアプリケーションなどに応じ、増減させてもよい。
また本実施の形態では左側データセレクタ50及び右側データセレクタ51は左側データバス2及び右側データバス3の構成データラインから、一つおきの中から1本を選択することにより、1サイクルで任意の距離の演算要素1のデータを参照可能としたが、処理サイクル数より回路規模を優先させたければ、2つおき、3つおきのように、左側データセレクタ50及び右側データセレクタ51で選択すべき信号線を削減して構成すればよい。
【００２０】
実施の形態２．
以下にこの発明の実施の形態２による並列処理装置について説明する。図５はこの実施の形態２における並列処理装置の全体構成を示すものである。1は様々な演算を実施する演算要素（Processor Element）である。演算要素1は一例として1ビットの演算器を搭載し、二次元に配置されているものとする。2はそれぞれの演算要素1に対して左側からの別の演算要素1の1ビットデータを転送する左側データバスであり、それぞれの演算要素1について右側に最大15個離れた演算要素1のデータを1サイクルで転送可能である。3はそれぞれの演算要素1に対して右側からの別の演算要素1の1ビットデータを転送する右側データバスであり、それぞれの演算要素1について左側に最大15個離れた演算要素1のデータを1サイクルで転送可能である。
【００２１】
7はそれぞれの演算要素1に対して上側からの別の演算要素1の1ビットデータを転送する第三の接続手段としての上側データバスであり、それぞれの演算要素1について下側に最大15個離れた演算要素1のデータを1サイクルで転送可能である。8はそれぞれの演算要素1に対して下側からの別の演算要素1の1ビットデータを転送する第四の接続手段としての下側データバスであり、それぞれの演算要素1について上側に最大15個離れた演算要素1のデータを1サイクルで転送可能である。4aは左側データバス2及び右側データバス3から1ビットのデータを選択し、演算要素1を相互に接続する左右相互接続機構である。4bは上側データバス7及び下側データバス8から1ビットのデータを選択し、演算要素1を相互に接続する上下相互接続機構である。なお、左右相互接続機構4a及び上下相互接続機構4bの詳細構成は、実施の形態１における図２、図３及び図４と同等であるためここでは割愛する。
【００２２】
5aは左右相互接続機構4aによって選択され、演算要素1に出力される1ビットの左右データ出力ラインであり、左右相互接続機構4aにおける右側データセレクタ51の選択結果と接続されている。5bは上下相互接続機構4bによって選択され、左右相互接続機構4aに出力される1ビットの上下データ出力ラインであり、左右相互接続機構4aにおけるPE[x-0]ライン26と上下相互接続機構4bにおける第四の選択手段としての右側データセレクタ51の選択結果が接続されている。6aは演算要素1から上下相互接続機構4bに入力する1ビットの上下データ入力ラインであり、上下相互接続機構4bにおけるPE[x-0]ライン26と接続されている。
【００２３】
上記のように構成し、まず上下方向に任意の距離の演算要素1のデータを転送する。具体的には上下データ入力ライン6aによって演算要素1のデータが上下相互接続機構4bにおけるPE[x-0]ライン26に転送され、転送されたデータは実施の形態1における図4の動作を行うことで、上下方向に任意の距離の転送が実施される。次に左右方向に任意の距離のデータを転送する。上下相互接続機構4bにおける第四の選択手段としての右側データセレクタ51の選択結果が、左右相互接続機構4aにおけるPE[x-0]ライン26に転送され、転送されたデータは実施の形態1における図4の動作を行うことで、左右方向に任意の距離の転送が実施される。このデータを左右データ出力ライン5aを経由して演算要素1に転送することで、上下左右任意の距離の演算要素1のデータを参照することが可能となる。
【００２４】
上記のように左側データバス2、右側データバス3、上側データバス7及び下側データバス8を組み合わせて構成することで、二次元に配置した上下左右任意の距離の演算要素1のデータを1サイクルで参照することが可能となる。
これにより上下左右の選択すべきデータライン数を削減できるため、上下相互接続機構4bにおける第三の選択手段としての左側データセレクタ50及び第四の選択手段としての右側データセレクタ51、及び左右相互接続機構4aにおける第一の選択手段としての左側データセレクタ50及び第二の選択手段としての右側データセレクタ51の回路規模の削減が可能となる。さらに選択すべきデータライン数が削減されるため、上下相互接続機構4b及び左右相互接続機構4aにおける左側データセレクタ50及び右側データセレクタ51の動作周波数向上も可能となる。
【００２５】
なお、本実施の形態では演算要素1間のデータ幅を1ビットとしたが、演算要素1の処理能力などに応じ、ビット幅を増やしてもよい。また本実施の形態では上下左右それぞれ15個までの相互接続を可能とする構成としたが、処理するアプリケーションなどに応じ、増減させてもよい。また本実施の形態では左側データバス2及び右側データバス3から、一つおきに左側データセレクタ50及び右側データセレクタ51で1本を選択することにより、1サイクルで任意の距離の演算要素1のデータを参照可能としたが、処理サイクル数より回路規模を優先させたければ、2つおき、3つおきのように、左側データセレクタ50及び右側データセレクタ51で選択すべき信号線を削減して構成すればよい。
【００２６】
実施の形態３．
実施の形態３は複数の演算要素が三次元に配置され、上記実施の形態２の構成に加え、それぞれの演算要素1に対して奥行き方向に奥側からの手前側の別の演算要素1に1ビットデータを転送する第五の接続手段としての奥側データバス、およびそれぞれの演算要素1に対して手前側からの奥側へ別の演算要素1に1ビットデータを転送する第六の接続手段としての手前側データバスを備え、それぞれの奥側データバスおよび手前側データバスは演算要素1について最大15個離れた演算要素1のデータを1サイクルで転送可能とし、奥側データバス及び手前側データバスから1ビットのデータを選択する第五の選択手段としての奥側データセレクタおよび第六の選択手段としての手前側データセレクタを有する奥行相互接続機構を備える。なお、奥行相互接続機構の詳細構成は、実施の形態１における図２、図３及び図４と同等であるためここでは割愛する。
【００２７】
奥側データセレクタが選択した奥側データバスのデータラインは手前側データセレクタに接続され、手前側データバスに加えて、手前側データセレクタでの選択対象ラインとされる。
また、手前側データセレクタで選択されたデータラインは上下相互接続機構の右側データセレクタに接続され、右側データセレクタでの選択対象ラインとされる。以降の動作は、実施の形態２と同様である。
【産業上の利用可能性】
【００２８】
この発明の並列処理装置は単一命令多重データ型の１チップ並列処理装置等に適用され、例えばカメラからの画像データをリアルタイムに処理する画像処理等で使用される広範囲の畳み込み演算を行う並列処理装置に用いられて好適なものである。
【図面の簡単な説明】
【００２９】
【図１】この発明の実施の形態1における並列処理装置を示す全体構成図である。
【図２】相互接続機構の詳細構成図である。
【図３】左側データバスに複数の相互接続機構を接続した状態図である。
【図４】左側及び右側にそれぞれ14個離れた演算要素のデータを参照する説明図である。
【図５】この発明の実施の形態2における並列処理装置を示す全体構成図である。
【符号の説明】
【００３０】
1；演算要素、2；左側データバス、3；右側データバス、4；相互接続機構、4a；左右相互接続機構、4b；上下相互接続機構、5；データ出力ライン、6；データ入力ライン、11〜26；PE[x-n]ライン、31〜46；PE[x+n]ライン、50；左側データセレクタ、51；右側データセレクタ。
【図１】
2010108096.tif 000003
【図２】
2010108096.tif 000004
【図３】
2010108096.tif 000005
【図４】
2010108096.tif 000006
【図５】
2010108096.tif 000007