JP2011065234A - 並列処理装置 - Google Patents
並列処理装置 Download PDFInfo
- Publication number
- JP2011065234A JP2011065234A JP2009213135A JP2009213135A JP2011065234A JP 2011065234 A JP2011065234 A JP 2011065234A JP 2009213135 A JP2009213135 A JP 2009213135A JP 2009213135 A JP2009213135 A JP 2009213135A JP 2011065234 A JP2011065234 A JP 2011065234A
- Authority
- JP
- Japan
- Prior art keywords
- data
- selection means
- arithmetic
- reference distance
- horizontal
- 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.)
- Granted
Links
Images
Landscapes
- Multi Processors (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
【解決手段】一次元に配置された複数個の演算要素がデータ線により相互に接続されたSIMD型の並列処理装置において、各演算要素内の記録手段の任意の領域に記録された、どの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、読み出された参照距離情報に基づいて、上記データ線を選択し参照データを保持する演算要素に接続する参照データ選択手段を備え、演算要素は、接続された演算要素が保持する参照データを参照し演算処理を実行する。
【選択図】図1
Description
なお、ALU7及びローカルメモリ8a、8bは夫々各演算要素1に備えられている。
このようにSIMD処理では、各演算要素1と各相互接続機構5が、共通の単一命令によって一斉に同じ動作をするため、反復性の高い処理を行うのに適している。
また、特表2007-503039号公報には、演算(処理)要素(PE)ごとに複数の格納要素を設け、データ依存の処理を支援するために、間接アドレッシングにより格納要素を参照するものが開示されているが、演算(処理)要素間で任意のビットを参照することはできない。
また第2の目的は、各演算要素共通の単一命令で、各演算要素が異なるアドレスに記録されたローカルメモリのデータを参照可能とし、処理の高速化を実現するものである。
また第3の目的は、各演算要素共通の単一命令で、各演算要素が二次元に配置された任意の位置の演算要素のデータ参照と、異なるアドレスに記録されたローカルメモリのデータ参照を可能とし、処理の高速化を実現するものである。
また第4の目的は、各演算要素共通の単一命令で、各演算要素が三次元に配置された任意の位置の演算要素のデータ参照と、異なるアドレスに記録されたローカルメモリのデータ参照を可能とし、処理の高速化を実現するものである。
内部に記録手段を備えた演算要素が複数個一次元に配置され、それぞれの演算要素がデータ線により相互に接続されたSIMD型の並列処理装置において、
各演算要素内の記録手段の任意の領域に記録された、どの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、 参照距離選択手段によって読み出された参照距離情報に基づいて、上記データ線を選択し参照データを保持する演算要素に接続する参照データ選択手段を備え、
上記接続する演算要素は、接続された演算要素が保持する参照データを参照し演算処理を実行する。
データ線によりそれぞれ相互に接続された演算要素が、その内部の記録手段の任意の領域にどの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を記録しておき、参照距離選択手段が参照距離情報を読み出し、参照距離情報に基づいて、参照データ選択手段が上記データ線を選択し参照データを保持する演算要素に接続することで、各演算要素PE共通の一回の命令ストリームで実行することが可能となる。
以下にこの発明の実施の形態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に夫々備えられている。
選択回路6は、参照距離セレクタ10、参照データセレクタ11、出力データセレクタ12及び入力データセレクタ13を備える。
ローカルメモリ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のデータの記録、演算が可能となる。
各演算要素PEのローカルメモリ8aのビット124〜127には、左から「0101」、「1000」、「0111」、「0110」の参照距離情報が記録されている。プログラムコントローラ2は、ビット124〜127の内容を選択するための各演算要素PE共通の単一命令を参照距離セレクタ10に与えるが、参照データセレクタ11は参照距離情報に基づいて、演算要素PE毎に個別の距離に存在する演算要素PEのデータの参照が可能となる。これにより、各演算要素PE共通の命令ストリームで異なる距離の演算要素PEのデータを参照することができ、処理時間の大幅な削減が可能となる。
また、参照距離情報を記録するメモリを別途設けず、処理データが記録されているローカルメモリ内に参照距離情報を記録することで、メモリ領域の効率的な活用が可能となる。さらに処理データの一部、または全てをそのまま参照距離情報として使用する場合でも、同一のローカルメモリ内に処理データと参照距離情報の両者を記録することで、データ転送のための処理時間を短縮できる。
図5は1次元DCTの処理対象となる8×8画素のブロックである。1次元DCTは各ライン8×1画素に対して以下の式を実施する。
演算要素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)のデータを参照
以下にこの発明の実施の形態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を備える。
メモリアドレスセレクタ20は、ビット117〜123の内容を選択するための各演算要素PE共通の命令をプログラムコントローラ2から受け、出力データセレクタ21に出力する。図7の場合、参照距離情報は「1010010」、即ち10進法の「82」となり、出力データセレクタ21はローカルメモリ8aのアドレス(ビット)「82」に記録された処理データを選択する。選択された処理データは、相互接続機構5に転送され、演算要素PE間データ参照に使用されるか、あるいはALU7に転送され、所望の演算処理が実行される。
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
ローカルメモリ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
以下にこの発明の実施の形態3による並列処理装置について説明する。実施の形態3は複数の演算要素PEを水平及び垂直方向の2次元に配置して相互に接続し、構成されたものである。図11はこの実施の形態3における選択回路6とローカルローカルメモリ8a及び相互接続機構5の一部を示す。
図11において、55aは各演算要素PEを水平方向に相互に接続する水平相互接続機構、55bは各演算要素PEを垂直方向に相互に接続する垂直相互接続機構である。
ローカルメモリ8aの任意の4ビットの領域には、水平な左右方向にいくつ離れた演算要素PE、または垂直な上下方向にいくつ離れた演算要素PEを参照するかの参照距離情報が演算要素PE毎に記録されている。10はプログラムコントローラ2からの命令ストリームにより、ローカルメモリ8aに記録された4ビットの参照距離情報を選択する参照距離セレクタである。
また、選択回路6は、参照距離セレクタ10、入力データセレクタ13、メモリアドレスセレクタ20、出力データセレクタ21、参照方向セレクタ50、水平参照データセレクタ51a、垂直参照データセレクタ51b、水平垂直データセレクタ52を備える。
本実施の形態2のように構成することで、各演算要素PE共通の一回の命令ストリームで、水平及び垂直方向の任意の位置に配置されているPEデータを参照することが可能となる。
実施の形態3では複数の演算要素PEが2次元に配置された例について述べたが、複数の演算要素PEが3次元に配置された構成とされることもできる。
実施の形態4は複数の演算要素PEが3次元に配置された例で、以下の構成を備える。
各演算要素PEは水平な左右方向、水平な前後方向及び垂直な上下方向の3次元に配置され、各演算要素PEを相互に接続する相互接続機構は、水平な左右方向に相互に接続する水平相互接続機構、垂直な上下方向に相互に接続する垂直相互接続機構及び水平な前後方向に相互に接続する前後相互接続機構を備える。
各演算要素PE内の記録手段の任意の領域に記録された参照距離情報を読み出す参照距離選択手段を備え、この参照距離選択手段で読み出された参照距離情報によって制御され、演算要素PEを相互に接続する水平相互接続機構のデータ線のうち、所望のデータ線を選択する水平参照データ選択手段と、参照距離情報によって制御され、演算要素PEを相互に接続する垂直相互接続機構のデータ線のうち、所望のデータ線を選択する垂直参照データ選択手段と、参照距離情報によって制御され、演算要素PEを相互に接続する前後相互接続機構のデータ線のうち、所望のデータ線を選択する前後参照データ選択手段を備える。
なお、他の構成については実施の形態1及び実施の形態2と同様であるため、詳細説明は割愛する。
Claims (4)
- 内部に記録手段を備えた演算要素が複数個一次元に配置され、それぞれの演算要素がデータ線により相互に接続されたSIMD型の並列処理装置において、
各演算要素内の記録手段の任意の領域に記録された、どの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、参照距離選択手段によって読み出された参照距離情報に基づいて、上記データ線を選択し参照データを保持する演算要素に接続する参照データ選択手段を備え、
上記接続する演算要素は、接続された演算要素が保持する参照データを参照し演算処理を実行することを特徴とする並列処理装置。 - 各演算要素内の記録手段の任意の領域に記録された自記録手段のアドレスを読み出すメモリアドレス選択手段と、メモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備え、接続する演算要素は、出力データ選択手段によって選択されたデータも参照し演算処理を実行することを特徴とする請求項1に記載の並列処理装置。
- 内部に記録手段を備えた演算要素が複数個ニ次元に配置され、それぞれの演算要素が水平方向データ線と垂直方向データ線により相互に接続されたSIMD型の並列処理装置において、
各演算要素内の記録手段の任意の領域に記録された、水平方向または垂直方向どの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、
参照距離選択手段によって読み出された参照距離情報が水平方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、水平方向データ線の所望のデータ線を選択する水平参照データ選択手段と、参照距離選択手段によって読み出された参照距離情報が垂直方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、垂直方向データ線の所望のデータ線を選択する垂直参照データ選択手段と、
各演算要素内の記録手段の任意の領域に記録された、水平参照データ選択手段の出力または垂直参照データ選択手段の出力の何れを選択するかの参照方向情報を読み出す参照方向選択手段と、参照方向選択手段によって制御され、水平参照データ選択手段と垂直参照データ選択手段の出力を選択する水平垂直データ選択手段と、
各演算要素内の記録手段の任意の領域に記録された自記録手段のアドレスを読み出すメモリアドレス選択手段と、 メモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備え、
上記接続する演算要素は、水平垂直データ選択手段と出力データ選択手段が出力するデータを参照し演算処理を実行することを特徴とする並列処理装置。 - 内部に記録手段を備えた演算要素が複数個三次元に配置され、それぞれの演算要素が水平方向データ線と垂直方向データ線と前後方向データ線により相互に接続されたSIMD型の並列処理装置において、
各演算要素内の記録手段の任意の領域に記録された、水平方向または垂直方向または前後方向のどの方向にいくつ離れた演算要素のデータを参照するかの参照距離情報を読み出す参照距離選択手段と、
参照距離選択手段によって読み出された参照距離情報が水平方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、水平方向データ線の所望のデータ線を選択する水平参照データ選択手段と、参照距離選択手段によって読み出された参照距離情報が垂直方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、垂直方向データ線の所望のデータ線を選択する垂直参照データ選択手段と、参照距離選択手段によって読み出された参照距離情報が前後方向のどの方向にいくつ離れた演算要素のデータを参照するかである時は、その参照距離情報に基づいて、前後方向データ線の所望のデータ線を選択する前後参照データ選択手段と、
各演算要素内の記録手段の任意の領域に記録された、水平参照データ選択手段の出力または垂直参照データ選択手段の出力、または前後参照データ選択手段の出力の何れを選択するかの参照方向情報を読み出す参照方向選択手段と、参照方向選択手段によって制御され、水平参照データ選択手段と垂直参照データ選択手段と前後参照データ選択手段の出力を選択する水平垂直前後データ選択手段と
各演算要素内の記録手段の任意の領域に記録された自記録手段のアドレスを読み出すメモリアドレス選択手段と、メモリアドレス選択手段によって読み出されたアドレスに記録されたデータを選択する出力データ選択手段を備え、
上記接続する演算要素は、水平垂直前後データ選択手段と出力データ選択手段が出力するデータを参照し演算処理を実行することを特徴とする並列処理装置。
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 true JP2011065234A (ja) | 2011-03-31 |
JP2011065234A5 JP2011065234A5 (ja) | 2012-09-13 |
JP5473507B2 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) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59154564A (ja) * | 1983-02-24 | 1984-09-03 | Hitachi Ltd | プログラマブルコントロ−ラ |
JP2005267615A (ja) * | 2004-02-16 | 2005-09-29 | Matsushita Electric Ind Co Ltd | 並列演算プロセッサ |
JP2007004542A (ja) * | 2005-06-24 | 2007-01-11 | Renesas Technology Corp | 半導体信号処理装置 |
JP2008146477A (ja) * | 2006-12-12 | 2008-06-26 | Mitsubishi Electric Corp | 並列処理装置 |
JP2009015555A (ja) * | 2007-07-04 | 2009-01-22 | Ricoh Co Ltd | Simd型マイクロプロセッサおよびsimd型マイクロプロセッサのデータ転送方法 |
JP2010108096A (ja) * | 2008-10-28 | 2010-05-13 | Mitsubishi Electric Corp | 並列処理装置 |
-
2009
- 2009-09-15 JP JP2009213135A patent/JP5473507B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59154564A (ja) * | 1983-02-24 | 1984-09-03 | Hitachi Ltd | プログラマブルコントロ−ラ |
JP2005267615A (ja) * | 2004-02-16 | 2005-09-29 | Matsushita Electric Ind Co Ltd | 並列演算プロセッサ |
JP2007004542A (ja) * | 2005-06-24 | 2007-01-11 | Renesas Technology Corp | 半導体信号処理装置 |
JP2008146477A (ja) * | 2006-12-12 | 2008-06-26 | Mitsubishi Electric Corp | 並列処理装置 |
JP2009015555A (ja) * | 2007-07-04 | 2009-01-22 | Ricoh Co Ltd | Simd型マイクロプロセッサおよびsimd型マイクロプロセッサのデータ転送方法 |
JP2010108096A (ja) * | 2008-10-28 | 2010-05-13 | Mitsubishi Electric Corp | 並列処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5473507B2 (ja) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210406010A1 (en) | Processor and control method for processor | |
EP3605544B1 (en) | Image processor comprising a shift register with reduced wiring complexity | |
JP2011141823A (ja) | データ処理装置および並列演算装置 | |
US8024549B2 (en) | Two-dimensional processor array of processing elements | |
JP4531398B2 (ja) | メモリアドレス技術に関する改良 | |
JP2009223758A (ja) | 画像処理装置 | |
JP2006260479A (ja) | Simd型マイクロプロセッサ及びデータ処理方法 | |
JP5473507B2 (ja) | 並列処理装置 | |
JPH04295953A (ja) | 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット | |
JP5889747B2 (ja) | 半導体装置 | |
JP4482356B2 (ja) | Simdプロセッサを用いた画像処理方法及び画像処理装置 | |
JP5608932B2 (ja) | 並列プロセッサ用のアドレス指定装置 | |
JP2011134085A (ja) | 画像処理装置 | |
JP4723334B2 (ja) | Dma転送システム | |
JP2006155637A (ja) | 信号処理装置 | |
WO2020059156A1 (en) | Data processing system, method, and program | |
JP4708387B2 (ja) | アドレスデータ生成装置及びメモリアドレッシング方法 | |
JP5369669B2 (ja) | Simd型マイクロプロセッサ | |
JP2010033426A (ja) | Simd型マイクロプロセッサおよび演算方法 | |
JP2007094754A (ja) | データ処理装置 | |
JP3970049B2 (ja) | アドレスデータ生成装置及びメモリアドレッシング方法 | |
JP4413905B2 (ja) | Simd型プロセッサ | |
JP5463799B2 (ja) | Simd型マイクロプロセッサ | |
JP2002049914A (ja) | 画像処理装置 | |
JP2005275679A (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 |