JP5473507B2 - 並列処理装置 - Google Patents

並列処理装置 Download PDF

Info

Publication number
JP5473507B2
JP5473507B2 JP2009213135A JP2009213135A JP5473507B2 JP 5473507 B2 JP5473507 B2 JP 5473507B2 JP 2009213135 A JP2009213135 A JP 2009213135A JP 2009213135 A JP2009213135 A JP 2009213135A JP 5473507 B2 JP5473507 B2 JP 5473507B2
Authority
JP
Japan
Prior art keywords
data
selection means
reference distance
horizontal
output
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
JP2009213135A
Other languages
English (en)
Other versions
JP2011065234A5 (ja
JP2011065234A (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 JP2009213135A priority Critical patent/JP5473507B2/ja
Publication of JP2011065234A publication Critical patent/JP2011065234A/ja
Publication of JP2011065234A5 publication Critical patent/JP2011065234A5/ja
Application granted granted Critical
Publication of JP5473507B2 publication Critical patent/JP5473507B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

この発明は相互に接続された複数の演算要素が処理を行うSIMD(Single Instruction Multiple Data stream)型のプロセッサに関するものである。
従来の並列処理装置の全体構成例を図13に示す。図13において、1は様々な演算を実施する演算要素(Processor Element)であり、水平方向に複数個配置されている。2は各演算要素1に対して共通の命令ストリームを転送し制御するプログラムコントローラである。3は処理するデータを一旦記録し、各演算要素1に転送する入力データメモリである。4は演算要素1で処理したデータを一旦記録し、外部に転送する出力データメモリである。5は各演算要素1を相互に接続し、プログラムコントローラ2の命令ストリームによって任意の距離離れた演算要素1のデータを転送する相互接続機構である。7はプログラムコントローラ2からの命令ストリームにより、所望の演算を実施するALU(Arithmetic Logic Unit)である。8a及び8bは演算要素1のローカルメモリであり、これらのローカルメモリ8a、8bから読み出されたデータに対してALU7が演算を実施する。
なお、ALU7及びローカルメモリ8a、8bは夫々各演算要素1に備えられている。
入力データメモリ3は、プログラムコントローラ2の命令を受信し、ローカルメモリ8aとローカルメモリ8bにデータの転送を行う。各演算要素1は、プログラムコントローラ2の命令ストリームに従い、ローカルメモリ8aとローカルメモリ8bのデータに対し、ALU7で所望の演算を実施する。また相互接続機構5は、同様にプログラムコントローラ2の命令ストリームに従い、所望の距離離れた演算要素1のローカルメモリ8a、8b、あるいはALU7のデータを転送する。
このようにSIMD処理では、各演算要素1と各相互接続機構5が、共通の単一命令によって一斉に同じ動作をするため、反復性の高い処理を行うのに適している。
また、特表2007-503039号公報には、演算(処理)要素(PE)ごとに複数の格納要素を設け、データ依存の処理を支援するために、間接アドレッシングにより格納要素を参照するものが開示されているが、演算(処理)要素間で任意のビットを参照することはできない。
特表2007-503039号公報
しかしながら、データの配置などを考慮して演算を実施する場合、例えば各演算要素が異なる距離の演算要素を参照して処理を実施する場合、距離に応じた命令を逐次実施する必要が生じ、処理時間の面で大幅なロスを生じていた。
この発明は、上述のような課題を解決するためになされたもので、第1の目的は、各演算要素共通の単一命令で、各演算要素が異なる距離の演算要素のデータを参照可能とし、処理の高速化を実現するものである、
また第2の目的は、各演算要素共通の単一命令で、各演算要素が異なるアドレスに記録されたローカルメモリのデータを参照可能とし、処理の高速化を実現するものである。
また第3の目的は、各演算要素共通の単一命令で、各演算要素が二次元に配置された任意の位置の演算要素のデータ参照と、異なるアドレスに記録されたローカルメモリのデータ参照を可能とし、処理の高速化を実現するものである。
また第4の目的は、各演算要素共通の単一命令で、各演算要素が三次元に配置された任意の位置の演算要素のデータ参照と、異なるアドレスに記録されたローカルメモリのデータ参照を可能とし、処理の高速化を実現するものである。
この発明に係る並列処理装置は、
内部に記録手段を備えた演算要素が複数個一次元に配置され、それぞれの演算要素がデータ線により相互に接続されたSIMD型の並列処理装置において、
各演算要素内の記録手段の任意の領域に記録された、どの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、
参照距離選択手段によって読み出された参照距離情報に基づいて、上記データ線を選択し、選択したデータ線のデータを、対応する演算要素に出力する参照データ選択手段と、
各演算要素内の記録手段の任意の領域に記録された自記録手段のアドレスを読み出すメモリアドレス選択手段と、
メモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備え、
演算要素は、自らに対応する参照データ選択手段が出力するデータと、出力データ選択手段が出力するデータを参照し演算処理を実行し、
参照データと参照距離情報を同一の記録手段に記録することで各演算要素に共通する一回の命令で自らと異なる演算要素の記録手段を参照する演算処理を行う。
この発明に係る並列処理装置によれば、
データ線によりそれぞれ相互に接続された演算要素が、その演算要素内部の記録手段の任意の領域にどの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を記録しておき、参照距離選択手段が参照距離情報を読み出し、参照距離情報に基づいて、参照データ選択手段が上記データ線を選択し参照データを保持する演算要素に接続し、また、自記録手段のアドレスを読み出すメモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備えることで、他の演算要素のデータと自記録手段のデータを各演算要素PE共通の一回の命令ストリームで参照し演算を実行することが可能となる。
この発明の実施の形態1における並列処理装置の全体構成図である。 選択回路とローカルメモリ及び相互接続機構の一部を示す構成図である。 参照距離情報を元に、左方向の演算要素のデータ参照例の説明図である。 複数の演算要素を水平方向に接続した構成図である。 1次元DCT処理対象の8×8画素ブロックの説明図である。 変換式X0〜X7を各演算要素PE0〜PE7に対応させた説明図である。 この発明の実施の形態2における選択回路とローカルメモリ及び相互接続機構の一部を示した構成図である。 8×8画素ブロックの各列に対応させた各演算要素PE0〜PE7の処理例の説明図である。 図8の処理を実施する一例の説明図である。 8×8画素ブロックの矢印で結ばれた斜線の画素同士の処理例の説明図である。 この発明の実施の形態3における選択回路とローカルメモリ及び相互接続機構の一部を示す構成図である。 実施の形態3の構成を2次元に配列した構成図である。 従来の並列処理装置の全体構成図である。
実施の形態1.
以下にこの発明の実施の形態1による並列処理装置について説明する。図1はこの実施の形態1における並列処理装置の全体構成を示すものである。1は様々な演算を実施する演算要素(Processor Element)である。演算要素PE1は一例として1ビットの演算器を搭載し、水平方向に複数配置されているものとする。2は各演算要素PE1に対して共通の命令ストリームを転送し制御するプログラムコントローラである。3は処理するデータを一旦記録し、各演算要素PE1に転送する入力データメモリである。4は演算要素PE1で処理したデータを一旦記録し、外部に転送する出力データメモリである。5は各演算要素PE1を相互に接続し、プログラムコントローラ2の命令ストリームによって任意の距離の演算要素PE1のデータを転送する相互接続機構である。6は演算要素PE1毎に異なる距離の離れた演算要素PE1を参照させるための選択回路である。この選択回路6については図2において詳細に説明する。7はプログラムコントローラ2からの命令ストリームにより、所望の演算を実施するALU(Arithmetic Logic Unit)である。8a及び8bは演算要素PE1のローカルメモリであり、これらのローカルメモリ8a、8bから読み出されたデータに対してALU7が演算を実施する。
なお、選択回路6とALU7及びローカルメモリ8a、8bは各演算要素PE1に夫々備えられている。
図2は選択回路6とローカルメモリ8a及び相互接続機構5の一部を示したもので、各演算要素PE1が左方向の演算要素PEのデータを参照するための構成である。相互接続機構5は近接する演算要素PE同士を接続する機構であり、「From PE[x-01]」は1つ離れた左方向の演算要素PEと、「From PE[x-02]」は2つ離れた左方向の演算要素PEと接続していることを示しており、最大9個離れた左側演算要素PEのデータの参照を可能としている。一方、「To PE[x+01]」は1つ離れた右方向の演算要素PEと、「To PE[x+02]」は2つ離れた右方向の演算要素PEと接続されていることを示しており、最大9個離れた右側演算要素PEへのデータ転送を可能としている。なお各演算要素PEは右方向の演算要素PEのデータについても参照する必要があるが、図2のデータ転送方向を左右反対にした同様の構成で実現できるため、ここでは割愛する。
ローカルメモリ8aの任意の4ビットの領域には、左方向にいくつ離れた演算要素PEを参照するかの参照距離情報が、演算要素PE毎に記録されている。10はプログラムコントローラ2からの命令ストリームにより、ローカルメモリ8aに記録された4ビットの参照距離情報を選択する参照距離選択手段としての参照距離セレクタである。11は参照距離セレクタ10によって選択された4ビットの参照距離情報を元に、「From PE[x-01]」から「From PE[x-09]」のうち、いずれか一つのデータパスを選択する参照データ選択としての手段参照データセレクタである。12はプログラムコントローラ2からの命令ストリームにより、ローカルメモリ8aの任意の領域に記録された処理データを、相互接続機構5に転送する出力データセレクタである。13は入力データメモリ3または参照データセレクタ11の出力データをローカルメモリ8aに記録する際、プログラムコントローラ2からの命令ストリームにより、どのビットに記録するかを選択する入力データセレクタである。
選択回路6は、参照距離セレクタ10、参照データセレクタ11、出力データセレクタ12及び入力データセレクタ13を備える。
図3はローカルメモリ8aに記録された参照距離情報を元に、左方向に離れた演算要素PEのデータを参照する例である。
ローカルメモリ8aのビット124〜127には「0101」の4ビットの参照距離情報が記録され、他のビットには実際に処理するデータが記録されているものとする。なお参照距離情報は、入力データセレクタ13を経由して外部の入力データメモリ3の内容を転送したものでも、ALU7によって演算した結果をそのまま使用したものでもよく、処理するアプリケーションに応じて最適な方を採用すればよい。
参照距離セレクタ10は、ビット124〜127の内容を選択するための各演算要素PE共通の命令をプログラムコントローラ2から受け、参照データセレクタ11に出力する。図3の場合、参照距離情報は「0101」、即ち10進法の「5」となり、参照データセレクタ11は「5」に割り当てられた「From PE[x-04]」のデータパス、即ち左方向に4つ離れた演算要素PEのデータを選択する。選択された演算要素PEのデータが、ローカルメモリ8a、8bまたはALU7に転送され、図3の演算要素PEは左方向に4つ離れた演算要素PEのデータの記録、演算が可能となる。
図4に複数の演算要素PEを水平方向に接続した構成図を示す。
各演算要素PEのローカルメモリ8aのビット124〜127には、左から「0101」、「1000」、「0111」、「0110」の参照距離情報が記録されている。プログラムコントローラ2は、ビット124〜127の内容を選択するための各演算要素PE共通の単一命令を参照距離セレクタ10に与えるが、参照データセレクタ11は参照距離情報に基づいて、演算要素PE毎に個別の距離に存在する演算要素PEのデータの参照が可能となる。これにより、各演算要素PE共通の命令ストリームで異なる距離の演算要素PEのデータを参照することができ、処理時間の大幅な削減が可能となる。
また、参照距離情報を記録するメモリを別途設けず、処理データが記録されているローカルメモリ内に参照距離情報を記録することで、メモリ領域の効率的な活用が可能となる。さらに処理データの一部、または全てをそのまま参照距離情報として使用する場合でも、同一のローカルメモリ内に処理データと参照距離情報の両者を記録することで、データ転送のための処理時間を短縮できる。
以下に本構成を適用した1次元DCT(Discrete Cosine Transform ;離散コサイン変換)の処理例を示す。
図5は1次元DCTの処理対象となる8×8画素のブロックである。1次元DCTは各ライン8×1画素に対して以下の式を実施する。
Figure 0005473507
ここでXは変換対象、即ち各ライン8×1画素を表し、Yは1次元DCTによって得られる8×1画素である。このときの変換式は以下となる。
Figure 0005473507
上記変換式を8ライン分実施することで、8×8画素ブロックの1次元DCT結果を得ることができる。
図6は変換式のX0〜X7を各演算要素PE0〜PE7に対応させた例である。例えばa0〜a7の変換式を実施する場合、各演算要素PEは以下の参照が必要となる。
演算要素PE0:X0に対応させ、右方向に7つ離れたPE4(X7)のデータを参照
演算要素PE1:X1に対応させ、右方向に5つ離れたPE5(X6)のデータを参照
演算要素PE2:X2に対応させ、右方向に3つ離れたPE6(X5)のデータを参照
演算要素PE3:X3に対応させ、右方向に1つ離れたPE7(X4)のデータを参照
演算要素PE4:X7に対応させ、左方向に7つ離れたPE0(X0)のデータを参照
演算要素PE5:X6に対応させ、左方向に5つ離れたPE1(X1)のデータを参照
演算要素PE6:X5に対応させ、左方向に3つ離れたPE2(X2)のデータを参照
演算要素PE7:X4に対応させ、左方向に1つ離れたPE3(X3)のデータを参照
上記のように、各演算要素PEが異なる距離の演算要素PEを参照する1次元DCTの場合でも、あらかじめ各演算要素PEのローカルメモリに、必要な参照距離情報を記録しておくことで、各演算要素PE共通の一回の命令ストリームで実行することが可能となる。
本実施の形態では、最大左右9つ離れた演算要素PEを参照可能としたが、これに限定されるものではなく、ハードウェア規模や適用するアプリケーションに応じて、参照距離セレクタ10で選択するビット数と参照データセレクタ11で選択するデータパス数と共にこれを増減させても構わない。
また、本実施の形態では相互接続機構5で転送するデータ幅は1ビットとしているがこれに限定されるものではなく、必要に応じて拡張しても構わない。
また、本実施の形態ではローカルメモリのビット数を128としたがこれに限定されるものではなく、必要に応じて拡張しても構わない。
また、本実施の形態では各演算要素PEの二つのローカルメモリのうち、ローカルメモリ8aを中心に説明を実施しているが、ローカルメモリ8bの周辺回路も同様の構成で構築可能である。この場合、例えば参照データセレクタ11の制御信号線上に、プログラムコントローラ2によって制御され、ローカルメモリ8aとローカルメモリ8bのいずれかの参照距離セレクタ10の出力を選択するセレクタを設け、さらに参照データセレクタ11と入力データセレクタ13の出力信号線上についても、ローカルメモリ8aとローカルメモリ8bのいずれに転送するかのセレクタを設けることで、ローカルメモリ8aとローカルメモリ8bが相互接続機構5を共有することも可能となる。
実施の形態2.
以下にこの発明の実施の形態2による並列処理装置について説明する。図7はこの実施の形態2における選択回路6とローカルローカルメモリ8a及び相互接続機構5の一部を示したものである。
ローカルメモリ8aの任意の7ビットの領域には、ローカルメモリ8a自身のどのビットを読み出すかのメモリアドレス情報が、演算要素PE毎に記録されている。20はプログラムコントローラ2からの命令ストリームにより、ローカルメモリ8aに記録された7ビットのメモリアドレス(ビット)情報を選択するメモリアドレス選択手段としてのメモリアドレスセレクタである。21はメモリアドレスセレクタ20によって選択された7ビットのメモリアドレス情報を元に、ローカルメモリ8aの該当アドレスから処理するデータを選択する出力データ選択手段としての出力データセレクタである。
なお、他の構成については実施の形態1と同様であるため、詳細説明は割愛する。
また、選択回路6は、参照距離セレクタ10、参照データセレクタ11、入力データセレクタ13、メモリアドレスセレクタ20及び出力データセレクタ21を備える。
ローカルメモリ8aのビット117〜123には「1010010」の7ビットのメモリアドレス情報が記録され、他のビットには実際に処理するデータが記録されているものとする。なおメモリアドレス情報は、入力データセレクタ13を経由して外部の入力データメモリ3の内容を転送したものでも、ALU7によって演算した結果をそのまま使用したものでもよく、処理するアプリケーションに応じて最適な方を採用すればよい。
メモリアドレスセレクタ20は、ビット117〜123の内容を選択するための各演算要素PE共通の命令をプログラムコントローラ2から受け、出力データセレクタ21に出力する。図7の場合、参照距離情報は「1010010」、即ち10進法の「82」となり、出力データセレクタ21はローカルメモリ8aのアドレス(ビット)「82」に記録された処理データを選択する。選択された処理データは、相互接続機構5に転送され、演算要素PE間データ参照に使用されるか、あるいはALU7に転送され、所望の演算処理が実行される。
このように各演算要素PEのローカルメモリ8aのビット117〜123に、各演算要素PEが必要とするメモリアドレスを個別に記録することで、プログラムコントローラ2は、ビット117〜123の内容を選択するための各演算要素PE共通の単一命令をメモリアドレスセレクタ20に与えるが、出力データセレクタ21はメモリアドレス情報に基づいて、演算要素PE毎に個別のメモリアドレスに存在する処理データの参照が可能となる。これにより、各演算要素PE同一の命令ストリームで異なるメモリアドレスの処理データを参照することができ、処理時間の大幅な削減が可能となる。
図8は8×8画素ブロックの各列に対して各演算要素PE0〜PE7を対応させ、各演算要素PE0〜PE7が斜線を施した画素同士を処理する例で、1画素が8ビットで構成されたものとする。図9は図8の処理を実施する一例で、各演算要素PE0〜PE7のローカルメモリ8a及び8bに、Y0〜Y7データが以下のように記録されているものとする。
Y0データ:各演算要素PEのローカルメモリ8a ビット0〜7
Y1データ:各演算要素PEのローカルメモリ8a ビット8〜15
Y2データ:各演算要素PEのローカルメモリ8a ビット16〜23
Y3データ:各演算要素PEのローカルメモリ8a ビット24〜31
Y4データ:各演算要素PEのローカルメモリ8b ビット0〜7
Y5データ:各演算要素PEのローカルメモリ8b ビット8〜15
Y6データ:各演算要素PEのローカルメモリ8b ビット16〜23
Y7データ:各演算要素PEのローカルメモリ8b ビット24〜31
この場合、各演算要素PE0〜PE7は以下のアドレス(ビット)を参照することで、斜線を施した画素同士の処理が可能となる。
演算要素PE0:ローカルメモリ8a アドレス(ビット)8〜15と
ローカルメモリ8b アドレス(ビット)8〜15
演算要素PE1:ローカルメモリ8a アドレス(ビット)16〜23と
ローカルメモリ8b アドレス(ビット)24〜31
演算要素PE2:ローカルメモリ8a アドレス(ビット)8〜15と
ローカルメモリ8b アドレス(ビット)0〜7
演算要素PE3:ローカルメモリ8a アドレス(ビット)0〜7と
ローカルメモリ8b アドレス(ビット)24〜31
演算要素PE4:ローカルメモリ8a アドレス(ビット)16〜23と
ローカルメモリ8b アドレス(ビット)16〜23
演算要素PE5:ローカルメモリ8a アドレス(ビット)24〜31と
ローカルメモリ8b アドレス(ビット)0〜7
演算要素PE6:ローカルメモリ8a アドレス(ビット)24〜31と
ローカルメモリ8b アドレス(ビット)8〜15
演算要素PE7:ローカルメモリ8a アドレス(ビット)0〜7と
ローカルメモリ8b アドレス(ビット)16〜23
上記のように、各演算要素PEがローカルメモリの異なるアドレスを参照する場合でも、あらかじめ各演算要素PEのローカルメモリに、必要なメモリアドレス情報を記録しておくことで、各演算要素PE共通の一回の命令ストリームで実行することが可能となる。
図10は8×8画素ブロックのうち、矢印で結ばれた斜線の画素同士を処理する例である。本実施の形態及び実施の形態1に示した通り、ローカルメモリ8aと8bに参照距離情報及びメモリアドレス情報を記録し、プログラムコントローラ2の命令ストリームによって、参照距離セレクタ10とメモリアドレスセレクタ20がそれぞれの情報を選択することで、水平垂直方向の任意の画素の参照が可能となる。
本実施の形態では、ローカルメモリのビット数を128としたがこれに限定されるものではなく、ハードウェア規模や適用するアプリケーションに応じて、メモリアドレスセレクタ20で選択するビット数と、参照距離セレクタ10で選択するビット数と、出力データセレクタ21で選択するビット数と共に、これを増減させても構わない。
また、本実施の形態では、最大左右9つ離れた演算要素PEを参照可能としたが、これに限定されるものではなく、ハードウェア規模や適用するアプリケーションに応じて、参照距離セレクタ10で選択するビット数と参照データセレクタ11で選択するデータパス数と共にこれを増減させても構わない。
また、本実施の形態では相互接続機構5で転送するデータ幅は1ビットとしているがこれに限定されるものではなく、必要に応じて拡張しても構わない。
また、本実施の形態では各演算要素PEの二つのローカルメモリのうち、ローカルメモリ8aを中心に説明を実施しているが、ローカルメモリ8bの周辺回路も同様の構成で構築可能である。この場合、例えば参照データセレクタ11の制御信号線上に、プログラムコントローラ2によって制御され、ローカルメモリ8aとローカルメモリ8bのいずれかの参照距離セレクタ10の出力を選択するセレクタを設け、さらに参照データセレクタ11と入力データセレクタ13の出力信号線上についても、ローカルメモリ8aとローカルメモリ8bのいずれに転送するかのセレクタを設けることで、ローカルメモリ8aとローカルメモリ8bが相互接続機構5を共有することも可能となる。
実施の形態3.
以下にこの発明の実施の形態3による並列処理装置について説明する。実施の形態3は複数の演算要素PEを水平及び垂直方向の2次元に配置して相互に接続し、構成されたものである。図11はこの実施の形態3における選択回路6とローカルローカルメモリ8a及び相互接続機構5の一部を示す。
図11において、55aは各演算要素PEを水平方向に相互に接続する水平相互接続機構、55bは各演算要素PEを垂直方向に相互に接続する垂直相互接続機構である。
ローカルメモリ8aの任意の4ビットの領域には、水平な左右方向にいくつ離れた演算要素PE、または垂直な上下方向にいくつ離れた演算要素PEを参照するかの参照距離情報が演算要素PE毎に記録されている。10はプログラムコントローラ2からの命令ストリームにより、ローカルメモリ8aに記録された4ビットの参照距離情報を選択する参照距離セレクタである。
51aは参照距離セレクタ10によって選択された4ビットの参照距離情報が左右方向にいくつ離れた演算要素PEのデータを参照するかである場合、この参照距離情報を元に、「From PE[x-01]」から「From PE[x-09]」のうち、いずれか一つのデータパスを選択する水平参照データ選択手段としての水平参照データセレクタである。51bは参照距離セレクタ10によって選択された4ビットの参照距離情報が上下方向にいくつ離れた演算要素PEのデータを参照するかである場合、この参照距離情報を元に、「From PE[y-01]」から「From PE[y-09]」のうち、いずれか一つのデータパスを選択する垂直参照データ選択手段としての垂直参照データセレクタである。
また、ローカルメモリ8aの任意の1ビットの領域には、参照距離情報を元に、水平相互接続機構あるいは垂直相互接続機構のどちらのデータを選択するかの参照方向情報が、演算要素PE毎に記録されている。50はプログラムコントローラ2からの命令ストリームにより、ローカルメモリ8aに記録された1ビットの参照方向情報を選択する参照方向選択手段としての参照方向セレクタである。52は参照方向セレクタ50によって選択された1ビットの参照方向情報を元に、データを選択する水平垂直データ選択手段としての水平垂直データセレクタである。
さらに、ローカルメモリ8aの任意の7ビットの領域には、ローカルメモリ8a自身のどのビットを読み出すかのメモリアドレス情報が、演算要素PE毎に記録されている。20はプログラムコントローラ2からの命令ストリームにより、ローカルメモリ8aに記録された7ビットのメモリアドレス(ビット)情報を選択するメモリアドレスセレクタである。21はメモリアドレスセレクタ20によって選択された7ビットのメモリアドレス情報を元に、ローカルメモリ8aの該当アドレスから処理するデータを選択する、出力データセレクタである。
なお、他の構成については実施の形態1及び実施の形態2と同様であるため、詳細説明は割愛する。
また、選択回路6は、参照距離セレクタ10、入力データセレクタ13、メモリアドレスセレクタ20、出力データセレクタ21、参照方向セレクタ50、水平参照データセレクタ51a、垂直参照データセレクタ51b、水平垂直データセレクタ52を備える。
図12は各演算要素PEを2次元に配列した本実施の形態の構成を示すものである。
本実施の形態2のように構成することで、各演算要素PE共通の一回の命令ストリームで、水平及び垂直方向の任意の位置に配置されているPEデータを参照することが可能となる。
実施の形態4.
実施の形態3では複数の演算要素PEが2次元に配置された例について述べたが、複数の演算要素PEが3次元に配置された構成とされることもできる。
実施の形態4は複数の演算要素PEが3次元に配置された例で、以下の構成を備える。
各演算要素PEは水平な左右方向、水平な前後方向及び垂直な上下方向の3次元に配置され、各演算要素PEを相互に接続する相互接続機構は、水平な左右方向に相互に接続する水平相互接続機構、垂直な上下方向に相互に接続する垂直相互接続機構及び水平な前後方向に相互に接続する前後相互接続機構を備える。
ローカルメモリの任意の4ビットの領域には、水平な左右方向にいくつ離れた演算要素PE、または垂直な上下方向にいくつ離れた演算要素PE、及び水平な前後方向にいくつ離れた演算要素PEの何れを参照するかの参照距離情報が演算要素PE毎に記録される。
各演算要素PE内の記録手段の任意の領域に記録された参照距離情報を読み出す参照距離選択手段を備え、この参照距離選択手段で読み出された参照距離情報によって制御され、演算要素PEを相互に接続する水平相互接続機構のデータ線のうち、所望のデータ線を選択する水平参照データ選択手段と、参照距離情報によって制御され、演算要素PEを相互に接続する垂直相互接続機構のデータ線のうち、所望のデータ線を選択する垂直参照データ選択手段と、参照距離情報によって制御され、演算要素PEを相互に接続する前後相互接続機構のデータ線のうち、所望のデータ線を選択する前後参照データ選択手段を備える。
また、ローカルメモリの任意の1ビットの領域には、参照距離情報を元に、水平相互接続機構、垂直相互接続機構、前後相互接続機構の何れのデータを選択するかの参照方向情報が演算要素PE毎に記録され、さらに記録した参照方向情報を読み出す参照方向選択手段と、読み出された参照方向情報によって制御され、水平参照データ選択手段と垂直参照データ選択手段と前後参照データ選択手段の何れかの出力を選択する水平垂直前後データ選択手段を備えている。
さらに、ローカルメモリの任意の7ビットの領域には、ローカルメモリ自身のどのビットを読み出すかのメモリアドレス情報が、演算要素PE毎に記録されており、プログラムコントローラからの命令ストリームにより、ローカルメモリに記録された7ビットのメモリアドレス(ビット)情報を選択するメモリアドレスセレクタと、メモリアドレスセレクタによって選択された7ビットのメモリアドレス情報を元に、ローカルメモリの該当アドレスから処理するデータを選択する出力データセレクタが備えられる。
なお、他の構成については実施の形態1及び実施の形態2と同様であるため、詳細説明は割愛する。
この発明は、特に画像信号データを並列処理するSIMD型の並列処理装置に利用される可能性がある。
1;演算要素、2;プログラムコントローラ、3;入力データメモリ、4;出力データメモリ、5;相互接続機構、6;選択回路、7;ALU、8a、8b;ローカルメモリ、10;参照距離セレクタ、11;参照データセレクタ、12;出力データセレクタ、13;入力データセレクタ、20;メモリアドレスセレクタ、21;出力データセレクタ、50;参照方向セレクタ、51a;水平参照データセレクタ、51b;垂直参照データセレクタ、52;水平垂直データセレクタ、55a;水平相互接続機構、55b;垂直相互接続機構。

Claims (3)

  1. 内部に記録手段を備えた演算要素が複数個一次元に配置され、それぞれの演算要素がデータ線により相互に接続されたSIMD型の並列処理装置において、
    各演算要素内の記録手段の任意の領域に記録された、どの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、
    参照距離選択手段によって読み出された参照距離情報に基づいて、上記データ線を選択し、選択したデータ線のデータを、対応する演算要素に出力する参照データ選択手段と、
    各演算要素内の記録手段の任意の領域に記録された自記録手段のアドレスを読み出すメモリアドレス選択手段と、
    メモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備え、
    演算要素は、自らに対応する参照データ選択手段が出力するデータと、出力データ選択手段が出力するデータを参照し演算処理を実行し、
    参照データと参照距離情報を同一の記録手段に記録することで各演算要素に共通する一回の命令で自らと異なる演算要素の記録手段を参照する演算処理を行う
    ことを特徴とする並列処理装置。
  2. 内部に記録手段を備えた演算要素が複数個二次元に配置され、それぞれの演算要素が水平方向データ線と垂直方向データ線により相互に接続されたSIMD型の並列処理装置において、
    各演算要素内の記録手段の任意の領域に記録された、水平方向または垂直方向どの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、
    参照距離選択手段によって読み出された参照距離情報が水平方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、水平方向データ線の所望のデータ線を選択し、選択したデータ線のデータを、対応する演算要素に出力する水平参照データ選択手段と、
    参照距離選択手段によって読み出された参照距離情報が垂直方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、垂直方向データ線の所望のデータ線を選択し、選択したデータ線のデータを、対応する演算要素に出力する垂直参照データ選択手段と、
    各演算要素内の記録手段の任意の領域に記録された、水平参照データ選択手段の出力または垂直参照データ選択手段の出力の何れを選択するかの参照方向情報を読み出す参照方向選択手段と、
    参照方向選択手段によって制御され、水平参照データ選択手段と垂直参照データ選択手段の出力を選択し、選択した出力のデータを、対応する演算要素に出力する水平垂直データ選択手段と、
    各演算要素内の記録手段の任意の領域に記録された自記録手段のアドレスを読み出すメモリアドレス選択手段と、
    メモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備え、
    演算要素は、自らに対応する水平垂直データ選択手段と出力データ選択手段が出力するデータを参照し演算処理を実行することを特徴とする並列処理装置。
  3. 内部に記録手段を備えた演算要素が複数個三次元に配置され、それぞれの演算要素が水平方向データ線と垂直方向データ線と前後方向データ線により相互に接続されたSIMD型の並列処理装置において、
    各演算要素内の記録手段の任意の領域に記録された、水平方向または垂直方向または前後方向のどの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、
    参照距離選択手段によって読み出された参照距離情報が水平方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、水平方向データ線の所望のデータ線を選択し、選択したデータ線のデータを、対応する演算要素に出力する水平参照データ選択手段と、
    参照距離選択手段によって読み出された参照距離情報が垂直方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、垂直方向データ線の所望のデータ線を選択し、選択したデータ線のデータを、対応する演算要素に出力する垂直参照データ選択手段と、
    参照距離選択手段によって読み出された参照距離情報が前後方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、前後方向データ線の所望のデータ線を選択し、選択したデータ線のデータを、対応する演算要素に出力する前後参照データ選択手段と、
    各演算要素内の記録手段の任意の領域に記録された、水平参照データ選択手段の出力または垂直参照データ選択手段の出力、または前後参照データ選択手段の出力の何れを選択するかの参照方向情報を読み出す参照方向選択手段と、
    参照方向選択手段によって制御され、水平参照データ選択手段と垂直参照データ選択手段と前後参照データ選択手段の出力を選択し、選択した出力のデータを、対応する演算要素に出力する水平垂直前後データ選択手段と
    各演算要素内の記録手段の任意の領域に記録された自記録手段のアドレスを読み出すメモリアドレス選択手段と、
    メモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備え、
    演算要素は、自らに対応する水平垂直前後データ選択手段と出力データ選択手段が出力するデータを参照し演算処理を実行することを特徴とする並列処理装置。
JP2009213135A 2009-09-15 2009-09-15 並列処理装置 Expired - Fee Related JP5473507B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009213135A JP5473507B2 (ja) 2009-09-15 2009-09-15 並列処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009213135A JP5473507B2 (ja) 2009-09-15 2009-09-15 並列処理装置

Publications (3)

Publication Number Publication Date
JP2011065234A JP2011065234A (ja) 2011-03-31
JP2011065234A5 JP2011065234A5 (ja) 2012-09-13
JP5473507B2 true JP5473507B2 (ja) 2014-04-16

Family

ID=43951444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009213135A Expired - Fee Related JP5473507B2 (ja) 2009-09-15 2009-09-15 並列処理装置

Country Status (1)

Country Link
JP (1) JP5473507B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59154564A (ja) * 1983-02-24 1984-09-03 Hitachi Ltd プログラマブルコントロ−ラ
JP4698242B2 (ja) * 2004-02-16 2011-06-08 パナソニック株式会社 並列演算プロセッサ、並列演算プロセッサの動作を制御する制御プログラム及び制御方法、並びに並列演算プロセッサを搭載した画像処理装置
JP2007004542A (ja) * 2005-06-24 2007-01-11 Renesas Technology Corp 半導体信号処理装置
JP4855234B2 (ja) * 2006-12-12 2012-01-18 三菱電機株式会社 並列処理装置
JP4690362B2 (ja) * 2007-07-04 2011-06-01 株式会社リコー Simd型マイクロプロセッサおよびsimd型マイクロプロセッサのデータ転送方法
JP2010108096A (ja) * 2008-10-28 2010-05-13 Mitsubishi Electric Corp 並列処理装置

Also Published As

Publication number Publication date
JP2011065234A (ja) 2011-03-31

Similar Documents

Publication Publication Date Title
US20210406010A1 (en) Processor and control method for processor
EP1927949A1 (en) Array of processing elements with local registers
JPH0425586B2 (ja)
JPH0642237B2 (ja) 並列処理装置
JP2011141823A (ja) データ処理装置および並列演算装置
JP2015529363A5 (ja)
US8024549B2 (en) Two-dimensional processor array of processing elements
JP2009223758A (ja) 画像処理装置
JP2006260479A (ja) Simd型マイクロプロセッサ及びデータ処理方法
US7512290B2 (en) Image processing apparatus with SIMD-type microprocessor to perform labeling
JP5473507B2 (ja) 並列処理装置
JPH04295953A (ja) 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット
JP4482356B2 (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置
JP5889747B2 (ja) 半導体装置
JP4723334B2 (ja) Dma転送システム
JP5369669B2 (ja) Simd型マイクロプロセッサ
JPS62205452A (ja) 記憶制御方式
JP2007094754A (ja) データ処理装置
JP4855234B2 (ja) 並列処理装置
JP2010033426A (ja) Simd型マイクロプロセッサおよび演算方法
JP2011134085A (ja) 画像処理装置
JP4413905B2 (ja) Simd型プロセッサ
JP3970049B2 (ja) アドレスデータ生成装置及びメモリアドレッシング方法
US20080158238A1 (en) Format conversion apparatus from band interleave format to band separate format
JP2007200360A (ja) アドレスデータ生成装置及びメモリアドレッシング方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120801

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131217

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: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140204

R150 Certificate of patent or registration of utility model

Ref document number: 5473507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees