JP4855234B2 - 並列処理装置 - Google Patents

並列処理装置 Download PDF

Info

Publication number
JP4855234B2
JP4855234B2 JP2006334797A JP2006334797A JP4855234B2 JP 4855234 B2 JP4855234 B2 JP 4855234B2 JP 2006334797 A JP2006334797 A JP 2006334797A JP 2006334797 A JP2006334797 A JP 2006334797A JP 4855234 B2 JP4855234 B2 JP 4855234B2
Authority
JP
Japan
Prior art keywords
data
data bus
output
input terminal
selection means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006334797A
Other languages
English (en)
Other versions
JP2008146477A (ja
Inventor
均 久保田
成浩 的場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006334797A priority Critical patent/JP4855234B2/ja
Publication of JP2008146477A publication Critical patent/JP2008146477A/ja
Application granted granted Critical
Publication of JP4855234B2 publication Critical patent/JP4855234B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Description

この発明は、複数の演算要素が相互に接続されたSIMD(Single Instruction Multiple Date:単一命令複数データ処理方式)型の並列処理装置に関し、特に、その接続構成に関するものである。
一つのLSI上に複数の演算要素を配置した単一命令複数データ処理方式の並列処理装置において、配線面積をできるだけ小さくする技術が用いられている。例えば、特許文献1では隣接する演算要素間を接続するデータバスを双方向バスで構成し、スイッチにより隣接した演算要素間通信を伴う演算と、通信を伴わない演算を切り替えることでそれぞれの処理時間を同じにし、回路面積と配線面積をできるだけ小さくすることを可能としている。
特開平8−101822号公報
しかしながら上記構成の並列処理装置の場合、注目演算要素と隣接演算要素間の通信/演算のみが可能であり、隣接演算要素間同士、例えば左右の演算要素のデータを注目演算要素において高速に演算することは不可能となる。このため例えば画像処理などで使用する広範囲の畳み込み演算を行う場合は処理時間が膨大となるため、カメラからの画像データをリアルタイムに処理するなどの高速処理が困難であるといった問題点があった。
この発明は上記のような課題を解決するためになされたもので、距離の離れた演算要素間の通信及び演算を高速に処理することが可能で、かつ配線容量を抑制することのできる並列処理装置を得ることを目的とする。
この発明に係る並列処理装置は、複数の出力端子のいずれかへデータを出力する選択手段、第1の入力端子および第2の入力端子を備えた複数の演算要素と、複数の演算要素の複数の出力端子及び第1の入力端子を一次元に接続し、一方の方向にデータを転送する複数のデータラインを備えた第1のデータバスと、複数の演算要素の複数の出力端子及び第2の入力端子を一次元に接続し、第1のデータバスと異なる方向にデータを転送する複数のデータラインを備えた第2のデータバスとを備えた並列処理装置であって、それぞれの演算要素は、選択手段で選択された出力端子へ出力したデータを、第1のデータバスを介して選択手段で選択された出力端子に対応した演算要素の第1の入力端子へ転送すると共に、選択手段で選択された出力端子へ出力したデータを、第2のデータバスを介して選択手段で選択された出力端子に対応した演算要素の第2の入力端子へ転送するよう構成したものである。
この発明の並列処理装置は、複数の演算要素を、選択手段で選択された出力端子へ出力したデータを、第1のデータバスを介して選択手段で選択された出力端子に対応した演算要素の第1の入力端子へ転送すると共に、選択手段で選択された出力端子へ出力したデータを、第2のデータバスを介して選択手段で選択された出力端子に対応した演算要素の第2の入力端子へ転送するよう構成したので、距離の離れた演算要素間の通信及び演算を高速に処理することが可能で、かつ配線容量を抑制することができる。
実施の形態1.
図1は、この発明の実施の形態1による通信システムを示す構成図である。
図において、並列処理装置は、一次元に配置された複数の演算要素(PE:Processor Element)1と、一方のデータバス(第1のデータバス)2と、他方のデータバス(第2のデータバス)3と、一方の最大距離データライン(第1の入力端子)4、他方の最大距離データライン(第2の入力端子)5と、セレクタ(選択手段)6からなる。尚、以下、一次元の配置を水平方向の配置とし、図面の右側に位置する演算要素1を右側演算要素、図面の左側に位置する演算要素1を左側演算要素として説明する。
演算要素1は、様々な演算を実施するプロセッサであり、これら演算要素1は一例として1ビットの演算器を搭載し、水平方向に1024個配置されているものとする。一方のデータバス2は、それぞれの演算要素1に対して右側からの別の演算要素1の1ビットデータを転送する右側データバスであり、それぞれの演算要素1について右側に最大15個離れた演算要素1のデータを転送可能である。他方のデータバス3は、それぞれの演算要素1に対して左側からの別の演算要素1の1ビットデータを転送する左側データバスであり、それぞれの演算要素1について左側に最大15個離れた演算要素1のデータを転送可能である。一方の最大距離データライン4及び他方の最大距離データライン5は、最も離れた演算要素間を接続するデータラインであり、一方の最大距離データライン4は、一方のデータバス2において、15個離れた演算要素1同士を接続する右側最大距離データラインである。他方の最大距離データライン5は、他方のデータバス3において、15個離れた演算要素1同士を接続する左側最大距離データラインである。セレクタ6は、演算要素1のデータを所望する距離の別の演算要素1に転送するために、一方のデータバス2及び他方のデータバス3のデータラインのうち、左右それぞれ一つのデータラインを選択する選択手段である。
図2は、図1における一方のデータバス2、他方のデータバス3、一方の最大距離データライン4、他方の最大距離データライン5及びセレクタ6の詳細を示す構成図である。
図中、OR回路7は、演算要素1からの出力とデータラインの論理和演算を行う論理和回路であり、一つの演算要素1について右側と左側でそれぞれ14個を備えている。
一方のデータバス2のうち、OR回路7を通過する前のデータラインを、上から順に“From PE[x+01]”、“From PE[x+02]”、“From PE[x+03]”・・・“From PE[x+015]”とする。即ち、一番上のデータラインは右隣の演算要素1、上から二番目のデータラインは2個離れた右側の演算要素1、更に一番下のデータラインは15個離れた右側の演算要素1と接続される。また、一方のデータバス2のうち、OR回路7を通過後のデータラインを、上から順に“To PE[x−15]”、“To PE[x−14]”、“To PE[x−13]”・・・“To PE[x−01]”とする。即ち、一番上のデータラインは15個離れた左側の演算要素1、上から二番目のデータラインは14個離れた左側の演算要素1、更に一番下のデータラインは左隣の演算要素1と接続される。
左側データバス3についても同様に、OR回路7を通過する前のデータラインを上から順に“From PE[x−01]”、“From PE[x−02]”、“From PE[x−03]”・・・“From PE[x−015]”とする。即ち、一番上のデータラインは左隣の演算要素1、上から二番目のデータラインは二つ離れた左側の演算要素1、更に一番下のデータラインは15個離れた左側の演算要素1と接続される。また他方のデータバス3のうち、OR回路7を通過後のデータラインを上から順に“To PE[x+15]”、“To PE[x+14]”、“To PE[x+13]”・・・“To PE[x+01]”とする。即ち、一番上のデータラインは15個離れた右側の演算要素1、上から二番目のデータラインは14個離れた右側の演算要素1、更に一番下のデータラインは右隣の演算要素1と接続される。
ここで左右それぞれ15個離れた演算要素1のデータを通信/演算する動作について、先ず一方のデータバス2を例に説明する。
セレクタ6は4ビットの制御信号により、演算要素1の出力データを“TO PE[x−15]”に出力し、他の14本のデータラインに対しては0を出力する。また、右側からのデータライン“From PE[x+15]”を経由して15個離れた演算要素1のデータを受け取る。同時に、14個離れた右側の演算要素1のデータは“From PE[x+14]”のデータライン上を転送されており、このときセレクタ6からOR回路7に対して0が出力されているため、“TO PE[x−01]”のデータライン、即ち、左隣への演算要素1に対して14個離れた右側の演算要素1のデータが転送されることになる。同様に、右側に13個離れた演算要素1のデータは左側に2個離れた演算要素1へ転送され、右側に12個離れた演算要素1のデータは左側に3個離れた演算要素1へ転送されることになり、最終的に15本のデータラインで1024個のそれぞれの演算要素1の全てが、右側に15個離れた演算要素1のデータを受け取ることになる。
他方のデータバス3についても同様に、セレクタ6は4ビットの制御信号により、演算要素1の出力データを“TO PE[x+15]”に出力し、他の14本のデータラインに対しては0を出力する。また、左側からのデータライン“From PE[x−15]”を経由して15個離れた演算要素1のデータを受け取る。同時に、14個離れた左側の演算要素1のデータは“From PE[x−14]”のデータライン上を転送されており、このときセレクタ6からOR回路7に対して0が出力されているため、“TO PE[x+01]”のデータライン、即ち、右隣への演算要素1に対して14個離れた左側の演算要素1のデータが転送されることになる。同様に、左側に13個離れた演算要素1のデータは右側に2個離れた演算要素1へ転送され、左側に12個離れた演算要素1のデータは右側に3個離れた演算要素1へ転送されることになり、最終的に15本のデータラインで1024個のそれぞれの演算要素1の全てが、左側に15個離れた演算要素1のデータを受け取ることになる。
次に、左右それぞれ3個離れた演算要素1のデータを通信/演算する動作について説明する。先ず、一方のデータバス2に着いて説明する。
セレクタ6は4ビットの制御信号により、演算要素1の出力データを“TO PE[x−03]”に出力し、他の15本のデータラインに対しては0を出力する。また、右側からの(最も遠い演算要素からのデータラインである)データライン“From PE[x+15]”を経由して3個離れた演算要素1のデータを受け取る。同時に、2個離れた右側の演算要素1のデータは“From PE[x+14]”のデータライン上を転送されており、このときセレクタ6からOR回路7に対して0が出力されているため、“TO PE[x−01]”のデータライン、即ち、左隣への演算要素1に対して2個離れた右側の演算要素1のデータが転送されることになる。同様に、右側に1個離れた演算要素1のデータは左側に2個離れた演算要素1へ転送されることになり、最終的に15本中3本のデータラインを使用して1024個のそれぞれの演算要素1の全てが、右側に3個離れた演算要素1のデータを受け取ることになる。
次に、他方のデータバス3に関する動作を説明する。
他方のデータバス3についても同様に、セレクタ6は4ビットの制御信号により、演算要素1の出力データを“TO PE[x+3]”に出力し、他の15本のデータラインに対しては0を出力する。また、左側からのデータライン“From PE[x−15]”を経由して3個離れた演算要素1のデータを受け取る。同時に2個離れた左側の演算要素1のデータは“From PE[x−14]”のデータライン上を転送されており、このときセレクタ6からOR回路7に対して0が出力されているため、“TO PE[x+01]”のデータライン、即ち、右隣への演算要素1に対して2個離れた左側の演算要素1のデータが転送されることになる。同様に、左側に1個離れた演算要素1のデータは右側に2個離れた演算要素1へ転送されることになり、最終的に15本中3本のデータラインを使用して1024個のそれぞれの演算要素1の全てが、左側に3個離れた演算要素1のデータを受け取ることになる。
上記のような構成と制御を行うことで、画像処理などで使用する畳み込み演算を任意の距離で高速に処理し、且つ配線容量を抑えることが可能となる。
尚、上記実施の形態では、演算要素1は1ビットの演算器を搭載し水平方向に1024個配置され、転送可能な距離を左右それぞれ最大15個としているが、これら演算ビット数や配置個数、最大転送距離は用途に応じて変更可能である。
また、上記実施の形態では、一方のデータバス2と他方のデータバス3とで共通のセレクタ6を使用しているが、左右それぞれにセレクタを備えることで異なる距離の演算要素間の転送も可能になる。
以上のように、実施の形態1の並列処理装置によれば、複数の出力端子のいずれかへデータを出力する選択手段、第1の入力端子および第2の入力端子を備えた複数の演算要素と、複数の演算要素の複数の出力端子及び第1の入力端子を一次元に接続し、一方の方向にデータを転送する複数のデータラインを備えた第1のデータバスと、複数の演算要素の複数の出力端子及び第2の入力端子を一次元に接続し、第1のデータバスと異なる方向にデータを転送する複数のデータラインを備えた第2のデータバスとを備えた並列処理装置であって、それぞれの演算要素は、選択手段で選択された出力端子へ出力したデータを、第1のデータバスを介して選択手段で選択された出力端子に対応した演算要素の第1の入力端子へ転送すると共に、選択手段で選択された出力端子へ出力したデータを、第2のデータバスを介して選択手段で選択された出力端子に対応した演算要素の第2の入力端子へ転送するよう構成したので、距離の離れた演算要素間の通信及び演算を高速に処理することが可能で、かつ配線容量を抑制することができる。
実施の形態2.
実施の形態2は、一方のデータバス2及び他方のデータバス3の終端に、任意の演算要素1を接続する接続変換器8を設けたものである。
図3は、実施の形態2の並列処理装置の構成図である。
図示例は、左右それぞれ3個離れた演算要素1同士の転送を行う場合の左終端の動作イメージであり、左端に、一方のデータバス2及び他方のデータバス3における左終端のデータライン接続を任意に変更する接続変換器8が接続されている。この接続変換器8は、内部接続を変更することで、任意の演算要素1同士の接続を可能とするものである。
図4は、左終端の折り返し処理の一例と、接続変換器8の接続例を示す説明図である。
これは、画像処理等で一般的に行われる終端処理を示したもので、左端(PE(1))を中心にミラーリング処理を実施する例である。図中、(a)は終端に位置する演算要素1(PE(1)〜PE(3))のデータの流れを示し、(b)は折り返し処理の説明図である。図中の(b)に示すように、存在しない画素データ(PE(2)(3))を左側に折り返すことで、PE(1)(2)(3)が参照すべき左側のデータを仮想的に生成することができる。
このように、左側に折り返したPE(2)とPE(3)を使用して終端処理を実施する場合、接続変換器8は(a)に示すような接続を行う。即ち、PE(2)はPE(5)(右側)とPE(3)(左側)の画像データを使用し、PE(3)は、PE(6)(右側)とPE(2)(左側)の画像データを使用して左終端処理を行う。
尚、上記例では、左端の終端処理のみを説明したが、左右の終端を接続するようにしてもよく、このように構成することで、1024個の演算要素1をリング状に構成することも可能である。
以上のように、実施の形態2の並列処理装置によれば、一方のデータバスから他方のデータバスを介して任意の演算要素を相互に接続する接続変換器を設けたので、この接続変換器の設定により様々な終端処理を実現することができる。
実施の形態3.
実施の形態3は、演算要素1を二次元に配置した並列処理装置に関するものである。
図5は、実施の形態3における並列処理装置を示す構成図である。
図示の並列処理装置は、複数の演算要素1、一方のデータバス(第1のデータバス)2a、他方のデータバス(第2のデータバス)3a、一方の最大距離データライン(第1の入力端子)4a、他方の最大距離データライン(第2の入力端子)5a、第1の出力セレクタ(第1の選択手段)6a、第2の出力セレクタ(第2の選択手段)6b、一方の二次元交差データバス(第3のデータバス)2b、他方の二次元交差データバス(第4のデータバス)3b、一方の二次元交差最大距離データライン(第3の入力端子)4b、他方の二次元交差最大距離データライン(第4の入力端子)5b、第1の入力セレクタ(第1の入力選択手段)9a、第2の入力セレクタ(第2の入力選択手段)9bを備えている。ここで、演算要素1、一方のデータバス2a、他方のデータバス3a、一方の最大距離データライン4a、他方の最大距離データライン5aは、実施の形態1における演算要素1〜他方の最大距離データライン5と同様であるため、ここでの説明は省略する。
一方の二次元交差データバス2b及び他方の二次元交差データバス3bは、一方のデータバス2a及び他方のデータバス3aに対して交差する方向に設けられたデータバスである。即ち、一方の二次元交差データバス2bは、それぞれの演算要素1に対して下側からの別の演算要素1の1ビットデータを転送する下側データバスであり、それぞれの演算要素1について下側に最大15個離れた演算要素1のデータを転送可能である。他方の二次元交差データバス3bは、それぞれの演算要素1に対して上側からの別の演算要素1の1ビットデータを転送する上側データバスであり、それぞれの演算要素1について上側に最大15個離れた演算要素1のデータを転送可能である。
一方の二次元交差最大距離データライン4b及び他方の二次元交差最大距離データライン5bは、一方の二次元交差データバス2b及び他方の二次元交差データバス3bにおいて、最も離れた演算要素1間を接続するためのデータラインである。即ち、一方の二次元交差最大距離データライン4bは、一方の二次元交差データバス2bにおいて15個離れた演算要素同士を接続する下側最大距離データラインであり、他方の二次元交差最大距離データライン5bは、他方の二次元交差データバス3bにおいて15個離れた演算要素同士を接続する上側最大距離データラインである。
第1の出力セレクタ6aは、演算要素1または一方の二次元交差最大距離データライン4bまたは他方の二次元交差最大距離データライン5bのデータを所望する距離の別の演算要素1に転送するために、一方のデータバス2a及び他方のデータバス3aのデータラインのうち、左右それぞれ一つのデータラインを選択するセレクタである。第2の出力セレクタ6bは、演算要素1のデータを所望する距離の別の演算要素1に転送するために、一方の二次元交差データバス2b及び他方の二次元交差データバス3bのデータラインのうち、上下それぞれ一つのデータラインを選択するセレクタである。
第1の入力セレクタ9aは、一方の最大距離データライン4aまたは一方の二次元交差最大距離データライン4bからの入力を演算要素1に選択出力するセレクタである。第2の入力セレクタ9bは、他方の最大距離データライン5aまたは他方の二次元交差最大距離データライン5bからの入力を演算要素1に選択出力するセレクタである。
このような構成により、一方のデータバス2a及び他方のデータバス3a方向のデータ転送が実施の形態1と同様に行えると共に、一方の二次元交差データバス2b及び他方の二次元交差データバス3b方向のデータ転送についても、第1の入力セレクタ9aが一方の二次元交差最大距離データライン4bを選択し、第2の入力セレクタ9bが他方の二次元交差最大距離データライン5bを選択し、かつ、第2の出力セレクタ6bが所定の選択動作を行うことにより、同様に行うことができる。更に、一方のデータバス2aと一方の二次元交差データバス2b、他方のデータバス3aと他方の二次元交差データバス3bといった交差する方向のデータ転送も、第1の出力セレクタ6a、第2の出力セレクタ6b、第1の入力セレクタ9a、第2の入力セレクタ9bそれぞれの選択動作により、同様に行うことができる。
尚、上記実施の形態3では、演算要素1は1ビットの演算器を搭載し、転送可能な距離を左右それぞれ最大15個としているが、これらは用途に応じて変更すればよい。また、一方のデータバス2aと他方のデータバス3aで共通の第1の出力セレクタ6aを、一方の二次元交差データバス2bと他方の二次元交差データバス3bで共通の第2の出力セレクタ6bを使用しているが、左右上下それぞれにセレクタを備えることで異なる距離の演算要素間の転送が可能になる。
また、上記実施の形態3では、説明の都合上、一方のデータバス2aと他方のデータバス3aの方向を左右方向、一方の二次元交差データバス2bと他方の二次元交差データバス3bの方向を上下方向としたが、並列処理装置として二次元配置であれば、特に左右上下の関係は存在しない。
以上のように、実施の形態3の並列処理装置によれば、複数の第1の出力端子のいずれかへデータを出力する第1の選択手段、第1の入力端子および第2の入力端子、並びに複数の第2の出力端子のいずれかへデータを出力する第2の選択手段、第3の入力端子および第4の入力端子を備えた複数の演算要素と、複数の演算要素の複数の第1の出力端子及び第1の入力端子を一次元に接続し、第1の方向にデータを転送する複数のデータラインを備えた第1のデータバスと、複数の演算要素の複数の第1の出力端子及び第2の入力端子を一次元に接続し、第1のデータバスとの第1の方向と異なる方向にデータを転送する複数のデータラインを備えた第2のデータバスと、複数の演算要素の複数の第2の出力端子及び第3の入力端子を、第1及び第2のデータバスと交差する第2の方向に一次元に接続し、一方の方向にデータを転送する複数のデータラインを備えた第3のデータバスと、複数の演算要素の複数の第2の出力端子及び第4の入力端子を一次元に接続し、第3のデータバスの第2の方向と異なる方向にデータを転送する複数のデータラインを備えた第4のデータバスとを備えた並列処理装置であって、それぞれの演算要素は、第1の選択手段で選択された第1の出力端子へ出力したデータを、第1のデータバスを介して第1の選択手段で選択された第1の出力端子に対応した演算要素の第1の入力端子へ転送すると共に、第1の選択手段で選択された第1の出力端子へ出力したデータを、第2のデータバスを介して第1の選択手段で選択された第1の出力端子に対応した演算要素の第2の入力端子へ転送すると共に、第2の選択手段で選択された第2の出力端子へ出力したデータを、第3のデータバスを介して第2の選択手段で選択された第2の出力端子に対応した演算要素の第3の入力端子へ転送すると共に、第2の選択手段で選択された第2の出力端子へ出力したデータを、第4のデータバスを介して第2の選択手段で選択された第2の出力端子に対応した演算要素の第4の入力端子へ転送するよう構成したので、上下左右斜めの任意の距離のデータを高速に転送し、且つ配線容量を抑えることが可能となる。
実施の形態4.
実施の形態4は、演算要素1を三次元に配置した並列処理装置に関するものである。
図6は、実施の形態4の並列処理装置を示す構成図である。
図示の並列処理装置は、一つの演算要素1と各データバスの構成を示しており、演算要素1、一方のデータバス(第1のデータバス)2a、他方のデータバス(第2のデータバス)3a、一方の最大距離データライン(第1の入力端子)4a、他方の最大距離データライン(第2の入力端子)5a、第1の出力セレクタ(第1の選択手段)6a、第2の出力セレクタ(第2の選択手段)6b、第3の出力セレクタ(第3の選択手段)6c、一方の二次元交差データバス(第3のデータバス)2b、他方の二次元交差データバス(第4のデータバス)3b、一方の二次元交差最大距離データライン(第3の入力端子)4b、他方の二次元交差最大距離データライン(第4の入力端子)5b、一方の三次元交差データバス(第5のデータバス)2c、他方の三次元交差データバス(第6のデータバス)3c、一方の三次元交差最大距離データライン(第5の入力端子)4c、他方の三次元交差最大距離データライン(第6の入力端子)5c、第1の入力セレクタ(第1の入力選択手段)10a、第2の入力セレクタ(第2の入力選択手段)10bを備えている。ここで、演算要素1、一方のデータバス2a、他方のデータバス3a、一方の最大距離データライン4a、他方の最大距離データライン5a、一方の二次元交差データバス2b、他方の二次元交差データバス3b、一方の二次元交差最大距離データライン4b、他方の二次元交差最大距離データライン5b、第1の出力セレクタ6a、第2の出力セレクタ6bは、実施の形態2と同様であるため、該当する部分に同一符号を付してその説明は省略する。
一方の三次元交差データバス2c及び他方の三次元交差データバス3cは、一方のデータバス2a、他方のデータバス3a、一方の二次元交差データバス2b、他方の二次元交差データバス3bが位置する平面に交差する方向を三次元方向とした場合、この三次元方向に演算要素1を接続するためのデータバスである(図面では、説明上、斜め方向に示している)。即ち、一方の三次元交差データバス2cは、それぞれの演算要素1に対して図面右上方向(これを奥側とする)からの別の演算要素1の1ビットデータを転送するデータバスであり、それぞれの演算要素1について奥側に最大15個離れた演算要素1のデータを転送可能である。他方の三次元交差データバス3cは、それぞれの演算要素1に対して図面左下方向(これを手前側とする)からの別の演算要素1の1ビットデータを転送するデータバスであり、それぞれの演算要素1について手前側に最大15個離れた演算要素1のデータを転送可能である。
一方の三次元交差最大距離データライン4cは、一方の三次元交差データバス2cにおいて15個離れた演算要素同士を接続する奥側最大距離データラインである。他方の三次元交差最大距離データライン5cは、他方の三次元交差データバス3cにおいて15個離れた演算要素同士を接続する手前側最大距離データラインである。
第3の出力セレクタ6cは、演算要素1または一方の最大距離データライン4aまたは他方の最大距離データライン5aのデータを所望する距離の別の演算要素1に転送するために、一方の三次元交差データバス2c及び他方の三次元交差データバス3cのうち、奥側または手前側のそれぞれ一つのデータラインを選択するセレクタである。
第1の入力セレクタ10aは、一方の最大距離データライン4aまたは一方の二次元交差最大距離データライン4bまたは一方の三次元交差最大距離データライン4cからの入力を演算要素1に選択出力するセレクタである。第2の入力セレクタ10bは、他方の最大距離データライン5aまたは他方の二次元交差最大距離データライン5bまたは他方の三次元交差最大距離データライン5cからの入力を演算要素1に選択出力するセレクタである。
このような構成により、実施の形態2におけるデータ転送に加えて、三次元方向のデータ転送が可能になると共に、一方の三次元交差データバス2cと一方のデータバス2aまたは一方の二次元交差データバス2b、他方の三次元交差データバス3cと他方のデータバス3aまたは他方の二次元交差データバス3bといったように、いずれの方向に対してもデータ転送が可能である。
以上のように、実施の形態4の並列処理装置によれば、複数の第1の出力端子のいずれかへデータを出力する第1の選択手段、第1の入力端子及び第2の入力端子、複数の第2の出力端子のいずれかへデータを出力する第2の選択手段、第3の入力端子及び第4の入力端子、並びに複数の第3の出力端子のいずれかへデータを出力する第3の選択手段、第5の入力端子及び第6の入力端子を備えた複数の演算要素と、複数の演算要素の複数の第1の出力端子及び第1の入力端子を一次元に接続し、第1の方向にデータを転送する複数のデータラインを備えた第1のデータバスと、複数の演算要素の複数の第1の出力端子及び第2の入力端子を一次元に接続し、第1のデータバスの第1の方向と異なる方向にデータを転送する複数のデータラインを備えた第2のデータバスと、複数の演算要素の複数の第2の出力端子及び第3の入力端子を、第1及び第2のデータバスと交差する方向に一次元に接続し、第2の方向にデータを転送する複数のデータラインを備えた第3のデータバスと、複数の演算要素の複数の第2の出力端子及び第4の入力端子を一次元に接続し、第3のデータバスの第2の方向と異なる方向にデータを転送する複数のデータラインを備えた第4のデータバスと、複数の演算要素の複数の第3の出力端子及び第5の入力端子を、第1及び第2のデータバスと第3及び第4のデータバスを含む平面と交差する方向に一次元に接続し、第3の方向にデータを転送する複数のデータラインを備えた第5のデータバスと、複数の演算要素の複数の第3の出力端子及び第6の入力端子を一次元に接続し、第5のデータバスの第3の方向と異なる方向にデータを転送する複数のデータラインを備えた第6のデータバスとを備えた並列処理装置であって、それぞれの演算要素は、第1の選択手段で選択された第1の出力端子へ出力したデータを、第1のデータバスを介して第1の選択手段で選択された第1の出力端子に対応した演算要素の第1の入力端子へ転送すると共に、第1の選択手段で選択された第1の出力端子へ出力したデータを、第2のデータバスを介して第1の選択手段で選択された第1の出力端子に対応した演算要素の第2の入力端子へ転送すると共に、第2の選択手段で選択された第2の出力端子へ出力したデータを、第3のデータバスを介して第2の選択手段で選択された第2の出力端子に対応した演算要素の第3の入力端子へ転送すると共に、第2の選択手段で選択された第2の出力端子へ出力したデータを、第4のデータバスを介して第2の選択手段で選択された第2の出力端子に対応した演算要素の第4の入力端子へ転送すると共に、第3の選択手段で選択された第3の出力端子へ出力したデータを、第5のデータバスを介して第3の選択手段で選択された第3の出力端子に対応した演算要素の第5の入力端子へ転送すると共に、第3の選択手段で選択された第3の出力端子へ出力したデータを、第6のデータバスを介して第3の選択手段で選択された第3の出力端子に対応した演算要素の第6の入力端子へ転送するよう構成したので、三次元配置された各演算要素の任意の方向と距離のデータを高速に転送し、且つ配線容量を抑えることが可能となる。
尚、上記実施の形態2における終端処理の構成は、実施の形態1の構成に対して適用したが、実施の形態3や実施の形態4に対して適用してもよい。即ち、一方のデータバスと他方のデータバスの端部または一方の二次元交差データバスと他方の二次元交差データバスの端部または一方の三次元交差データバスと他方の三次元交差データバスの端部のうち、少なくとも一箇所の端部に、これらデータバスを介して任意の演算要素を相互に接続する接続変換器を設けてもよい。このように構成することにより、任意の方向のデータバスの終端処理を実現することができる。
この発明の実施の形態1による並列処理装置を示す構成図である。 この発明の実施の形態1による並列処理装置の詳細を示す構成図である。 この発明の実施の形態2による並列処理装置の構成図である。 この発明の実施の形態2による並列処理装置の接続例を示す説明図である。 この発明の実施の形態3による並列処理装置の構成図である。 この発明の実施の形態4による並列処理装置の構成図である。
符号の説明
1 演算要素、2,2a 一方のデータバス表示部、3,3a 他方のデータバス、4,4a 一方の最大距離データライン、5,5a 他方の最大距離データライン、6 セレクタ、6a 第1の出力セレクタ、6b 第2の出力セレクタ、6c 第3の出力セレクタ、8 接続変換器、9a,10a 第1の入力セレクタ、9b,10b 第2の入力セレクタ。

Claims (4)

  1. 複数の出力端子のいずれかへデータを出力する選択手段、第1の入力端子および第2の入力端子を備えた複数の演算要素と、
    前記複数の演算要素の前記複数の出力端子及び前記第1の入力端子を一次元に接続し、一方の方向にデータを転送する複数のデータラインを備えた第1のデータバスと、
    前記複数の演算要素の前記複数の出力端子及び前記第2の入力端子を一次元に接続し、前記第1のデータバスと異なる方向にデータを転送する複数のデータラインを備えた第2のデータバスとを備えた並列処理装置であって、
    それぞれの演算要素は、前記選択手段で選択された出力端子へ出力したデータを、前記第1のデータバスを介して前記選択手段で選択された出力端子に対応した演算要素の第1の入力端子へ転送すると共に、
    前記選択手段で選択された出力端子へ出力したデータを、前記第2のデータバスを介して前記選択手段で選択された出力端子に対応した演算要素の第2の入力端子へ転送することを特徴とする並列処理装置。
  2. 複数の第1の出力端子のいずれかへデータを出力する第1の選択手段、第1の入力端子および第2の入力端子、並びに複数の第2の出力端子のいずれかへデータを出力する第2の選択手段、第3の入力端子および第4の入力端子を備えた複数の演算要素と、
    前記複数の演算要素の前記複数の第1の出力端子及び前記第1の入力端子を一次元に接続し、第1の方向にデータを転送する複数のデータラインを備えた第1のデータバスと、
    前記複数の演算要素の前記複数の第1の出力端子及び前記第2の入力端子を一次元に接続し、前記第1のデータバスとの第1の方向と異なる方向にデータを転送する複数のデータラインを備えた第2のデータバスと、
    前記複数の演算要素の前記複数の第2の出力端子及び前記第3の入力端子を、第1及び第2のデータバスと交差する第2の方向に一次元に接続し、一方の方向にデータを転送する複数のデータラインを備えた第3のデータバスと、
    前記複数の演算要素の前記複数の第2の出力端子及び前記第4の入力端子を一次元に接続し、前記第3のデータバスの第2の方向と異なる方向にデータを転送する複数のデータラインを備えた第4のデータバスとを備えた並列処理装置であって、
    それぞれの演算要素は、前記第1の選択手段で選択された第1の出力端子へ出力したデータを、前記第1のデータバスを介して前記第1の選択手段で選択された第1の出力端子に対応した演算要素の第1の入力端子へ転送すると共に、
    前記第1の選択手段で選択された第1の出力端子へ出力したデータを、前記第2のデータバスを介して前記第1の選択手段で選択された第1の出力端子に対応した演算要素の第2の入力端子へ転送すると共に、
    前記第2の選択手段で選択された第2の出力端子へ出力したデータを、前記第3のデータバスを介して前記第2の選択手段で選択された第2の出力端子に対応した演算要素の第3の入力端子へ転送すると共に、
    前記第2の選択手段で選択された第2の出力端子へ出力したデータを、前記第4のデータバスを介して前記第2の選択手段で選択された第2の出力端子に対応した演算要素の第4の入力端子へ転送することを特徴とする並列処理装置。
  3. 複数の第1の出力端子のいずれかへデータを出力する第1の選択手段、第1の入力端子及び第2の入力端子、複数の第2の出力端子のいずれかへデータを出力する第2の選択手段、第3の入力端子及び第4の入力端子、並びに複数の第3の出力端子のいずれかへデータを出力する第3の選択手段、第5の入力端子及び第6の入力端子を備えた複数の演算要素と、
    前記複数の演算要素の前記複数の第1の出力端子及び前記第1の入力端子を一次元に接続し、第1の方向にデータを転送する複数のデータラインを備えた第1のデータバスと、
    前記複数の演算要素の前記複数の第1の出力端子及び前記第2の入力端子を一次元に接続し、前記第1のデータバスの第1の方向と異なる方向にデータを転送する複数のデータラインを備えた第2のデータバスと、
    前記複数の演算要素の前記複数の第2の出力端子及び前記第3の入力端子を、第1及び第2のデータバスと交差する方向に一次元に接続し、第2の方向にデータを転送する複数のデータラインを備えた第3のデータバスと、
    前記複数の演算要素の前記複数の第2の出力端子及び前記第4の入力端子を一次元に接続し、前記第3のデータバスの第2の方向と異なる方向にデータを転送する複数のデータラインを備えた第4のデータバスと、
    前記複数の演算要素の前記複数の第3の出力端子及び前記第5の入力端子を、第1及び第2のデータバスと第3及び第4のデータバスを含む平面と交差する方向に一次元に接続し、第3の方向にデータを転送する複数のデータラインを備えた第5のデータバスと、
    前記複数の演算要素の前記複数の第3の出力端子及び前記第6の入力端子を一次元に接続し、前記第5のデータバスの第3の方向と異なる方向にデータを転送する複数のデータラインを備えた第6のデータバスとを備えた並列処理装置であって、
    それぞれの演算要素は、前記第1の選択手段で選択された第1の出力端子へ出力したデータを、前記第1のデータバスを介して前記第1の選択手段で選択された第1の出力端子に対応した演算要素の第1の入力端子へ転送すると共に、
    前記第1の選択手段で選択された第1の出力端子へ出力したデータを、前記第2のデータバスを介して前記第1の選択手段で選択された第1の出力端子に対応した演算要素の第2の入力端子へ転送すると共に、
    前記第2の選択手段で選択された第2の出力端子へ出力したデータを、前記第3のデータバスを介して前記第2の選択手段で選択された第2の出力端子に対応した演算要素の第3の入力端子へ転送すると共に、
    前記第2の選択手段で選択された第2の出力端子へ出力したデータを、前記第4のデータバスを介して前記第2の選択手段で選択された第2の出力端子に対応した演算要素の第4の入力端子へ転送すると共に、
    前記第3の選択手段で選択された第3の出力端子へ出力したデータを、前記第5のデータバスを介して前記第3の選択手段で選択された第3の出力端子に対応した演算要素の第5の入力端子へ転送すると共に、
    前記第3の選択手段で選択された第3の出力端子へ出力したデータを、前記第6のデータバスを介して前記第3の選択手段で選択された第3の出力端子に対応した演算要素の第6の入力端子へ転送することを特徴とする並列処理装置。
  4. 第1のデータバスと第2のデータバスの端部または第3のデータバスと第4のデータバスの端部または第5のデータバスと第6のデータバスの端部のうち、少なくとも一箇所の端部に、これらのデータバスを介して任意の演算要素を相互に接続する接続変換器を設けたことを特徴とする請求項1から請求項3のうちいずれか1項記載の並列処理装置。
JP2006334797A 2006-12-12 2006-12-12 並列処理装置 Expired - Fee Related JP4855234B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006334797A JP4855234B2 (ja) 2006-12-12 2006-12-12 並列処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006334797A JP4855234B2 (ja) 2006-12-12 2006-12-12 並列処理装置

Publications (2)

Publication Number Publication Date
JP2008146477A JP2008146477A (ja) 2008-06-26
JP4855234B2 true JP4855234B2 (ja) 2012-01-18

Family

ID=39606566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006334797A Expired - Fee Related JP4855234B2 (ja) 2006-12-12 2006-12-12 並列処理装置

Country Status (1)

Country Link
JP (1) JP4855234B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5473507B2 (ja) * 2009-09-15 2014-04-16 三菱電機株式会社 並列処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59218533A (ja) * 1983-05-27 1984-12-08 Fujitsu Ltd 共通バス転送制御方式
JPH08101822A (ja) * 1994-09-30 1996-04-16 Nippon Steel Corp 高速通信機構を有する1チップ並列計算機
GB2398651A (en) * 2003-02-21 2004-08-25 Picochip Designs Ltd Automatical task allocation in a processor array

Also Published As

Publication number Publication date
JP2008146477A (ja) 2008-06-26

Similar Documents

Publication Publication Date Title
JP5543894B2 (ja) NoCシステム及び入力切替装置
JP2647327B2 (ja) 大規模並列コンピューティング・システム装置
US8601423B1 (en) Asymmetric mesh NoC topologies
JP4818920B2 (ja) 複数のプログラム可能なプロセッサを有する集積データ処理回路
KR20010014381A (ko) 메니폴드 어레이 프로세서
US7568063B2 (en) System and method for a distributed crossbar network using a plurality of crossbars
US7889725B2 (en) Computer cluster
US20100070738A1 (en) Flexible results pipeline for processing element
JP5360194B2 (ja) 再構成可能な論理回路
JP4855234B2 (ja) 並列処理装置
JP5212469B2 (ja) コンピュータシステム及びコンピュータシステムの制御方法
US9606573B1 (en) Configurable clock grid structures
US8938133B2 (en) Image resizing apparatus and method that interpolates image blocks with abuttal regions
US11016822B1 (en) Cascade streaming between data processing engines in an array
JP2006323818A (ja) 非均一クロスバースイッチプレーントポロジのためのシステム及び方法
CN103914429A (zh) 用于粗粒度动态可重构阵列的多模式数据传输互连器
JPH0416996A (ja) ディスプレイ装置
JP2010108096A (ja) 並列処理装置
JPH07200508A (ja) ノード間結合方式
JP3375658B2 (ja) 並列計算機およびそのためのネットワーク
JP5601817B2 (ja) 並列演算処理装置
JP2004056590A (ja) 画像形成装置
JP3119130B2 (ja) ネットワーク構成
JP7087953B2 (ja) 情報処理システム及び情報処理システムの制御方法
JP5473507B2 (ja) 並列処理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080704

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees