JP5196946B2 - 並列処理装置 - Google Patents
並列処理装置 Download PDFInfo
- Publication number
- JP5196946B2 JP5196946B2 JP2007277631A JP2007277631A JP5196946B2 JP 5196946 B2 JP5196946 B2 JP 5196946B2 JP 2007277631 A JP2007277631 A JP 2007277631A JP 2007277631 A JP2007277631 A JP 2007277631A JP 5196946 B2 JP5196946 B2 JP 5196946B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- access permission
- parallel processing
- unit
- 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
Links
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
Description
例えば、画像処理を行う並列処理プロセッサの場合、PE(Processor Element)を一次元に数百から数千個配置したものがある。この場合、各PEを画像データの1画素に対応させることで、最も効率的な処理が可能となる。通常、外部メモリには、アドレス単位で順番に画素データが記録されているため、このデータ配列の状態で並列処理プロセッサに転送すると、1画素が複数のPEに跨ってしまう。例えば、8ビットといった複数ビットの画素データの場合、一番目のPEには第1の画素、隣のPEには第2の画素、更に隣のPEには第3の画素といったように、各PEに1画素を対応させることが必要であるが、データ配列の変換処理を行わないと、一番目のPEには第1の画素の0ビット目、隣のPEには第1の画素の1ビット目、更に隣のPEには第1の画素の2ビットといったように、1画素のデータが複数のPEに跨ってしまい、このような配列では並列処理の効率化の妨げになるという問題があった。
また、第2の目的は、書き込み対象の任意のデータのみを演算要素に書き込むことができる並列処理装置を得ることにある。
また第3の目的は、読み出し対象となる任意のデータのみを演算要素から読み出すことのできる並列処理装置を得ることにある。
また第4の目的は、入力データ一時記録手段における任意のデータを演算要素に書き込むことができる並列処理装置を得ることにある。
また第5の目的は、演算要素における任意のデータを出力データ一時記録手段に転送することができる並列処理装置を得ることにある。
図1は、この発明の実施の形態1による並列処理装置を示す構成図である。
図において、並列処理装置は、複数の演算要素(PE)1、プログラムコントローラ2、データ制御部3を備え、データ制御部3は、入出力データバッファ4、データ配列変換部(データ配列変換手段)5を有している。複数の演算要素1は、それぞれ演算器とメモリを備え、これら演算器とメモリとによって並列演算処理を行うよう構成されている。尚、演算器とメモリの詳細については、実施の形態2で説明する。演算要素1は、例えば、1ビットのALU(Arithmetic and Logic Unit)を搭載し、水平方向に1024個配置されている。プログラムコントローラ2は、各演算要素1の制御を行うコントローラである。入出力データバッファ4は、入力データ一時記録手段および出力データ一時記録手段を構成するもので、外部メモリである外部SDRAM6からの入力データおよび外部SDRAM6への出力データの一時記録を行うバッファである。また、外部SDRAM6は、例えば32ビットのデータ幅を備えているものとする。データ配列変換部5は、入出力データバッファ3で記録された一つのデータ単位が複数のビットにより構成されるデータに対して、一つのデータ単位がそれぞれの演算要素1で演算されるようデータの配列を変換する変換部である。即ち、データ配列変換部5は、各演算要素1を外部SDRAM6に格納されている画像データの1画素に対応させるための変換部である。
図2は、外部SDRAM6に記録されたK(word)×L(bit)のデータがデータ配列変換部5によってN×Mのデータ形式に変換されるイメージを示す説明図である。
また、図3は8ビットのデータがビットパックされた状態で記録された32ビットのデータ幅を備える外部SDRAMを示したものである。図3において、D1、D2、D3、・・・は8ビットの1画素データであり、ここではK=16、L=32の64画素分の画素データが記録されていることを示している。図4は図3のデータ変換後のデータ配列の一例を示したもので、N=8、M=64に変換されたものである。図5は図3のデータ変換後のデータ配列の一例を示したもので、N=16、M=32に変換されたものである。図6は図3のデータ変換後のデータ配列の一例を示したもので、N=32、M16に変換されたものである。
プログラムコントローラ2により、データ配列変換部5に対してデータ長と図2のK、L、N、Mが指定される。ここではデータ長は8となり、K及びLには16と32が指定され、512ビットが変換対象となる。N及びMに8と64を指定すると、8ビットのデータ単位でD1、D2、D3、・・・の順番で最終D64まで、トータル512ビットが図4に示すデータ配列に変換される。このように8ビットのデータが水平64個一列に変換されることにより、1024個ある演算要素1の任意の64個にデータを書き込むことが可能となる。尚、任意の演算要素1にデータを書き込む方法は実施の形態2で説明する。
N及びMに32と16を指定すると、8ビットのデータ単位で一列目がD1〜D16の順番で、二列目がD17〜D32の順番で、三列目がD33〜D48の順番で、四列目がD49〜D64の順番でトータル512ビットが図6に示すデータ配列に変換される。このように8ビットのデータが水平16個四列に変換されることにより、1024個ある演算要素1の任意の16個にデータを書き込むことが可能となる。尚、任意の演算要素1にデータを書き込む方法は実施の形態2で説明する。
プログラムコントローラ2により、データ配列変換部5に対してデータ長と図2のK、L、N、Mが指定される。ここではデータ長は12となり、K及びLには16と32が指定され512ビットが変換対象となるが、実際にはビットアライメントが一致しないD43を除く504ビットが変換対象となる。N及びMに12と42を指定すると、12ビットのデータ単位でD1、D2、D3、・・・の順番で最終D42まで、トータル504ビットが図8に示すデータ配列に変換される。このように12ビットのデータが水平42個一列に変換されることにより、1024個ある演算要素1の任意の42個にデータを書き込むことが可能となる。尚、任意の演算要素1にデータを書き込む方法は実施の形態2で説明する。
N及びMに48と11を指定すると、12ビットのデータ単位で一列目がD1〜D11の順番で、二列目がD12〜D22の順番で、三列目がD23〜D33の順番で、四列目がD34〜D42の順番でトータル504ビットが図10に示すデータ配列に変換される。このときN=48、M=11であるため変換後は528ビットとなるが、ビットアライメントが一致しないD43を含む24ビット(528−504)は無効データとなるので、四列目の最終2画素分は演算要素1への書き込みを禁止することとなる。このように12ビットのデータが水平11個四列に変換されることにより、1024個ある演算要素1の任意の11個にデータを書き込むことが可能となる。尚、任意の演算要素1にデータを書き込む方法は実施の形態2で説明する。
次に、この発明の並列処理装置の実施の形態2について説明する。
図11は、実施の形態2における並列処理回路の構成図である。
図11に示す通り、各演算要素(PE)は二つのメモリとALUを含む演算部で構成されるが、ハードウェア規模の観点からメモリには通常SRAM11が使用される。例えば32ビットのSRAM11を使用する場合、32個の演算部12を一つのPEアレイ10として構成し、外部SDRAM6とSRAM11間のアクセスは最低32ビット単位で実施する。
SDRAMコントローラ6aは、外部SDRAM6の制御を行うコントローラである。PEアレイ10は、様々な演算を実施する演算要素を32個単位にまとめたものであり、演算部12を水平方向に1024個搭載した場合、PEアレイ10の数は1024/32=32個となる。SRAM11は、ビットコントロール機能を持たない32ビットのメモリであり、各ビットが演算部12と接続されている。演算部12は、ALU13とアクセス許可フラグ14を有している。アクセス許可フラグ14は、はプログラムコントローラ2によって制御され、SRAM11のデータの書き込みまたは読み出しを許可するためのフラグである。
Step1は、SRAM11のデータを一時退避する動作となる。先ず、SRAM11の32ビットデータを一旦ALU13内部のレジスタ(図示せず)にコピーする。次にプログラムコントローラ2は、データ更新したいSRAM11のビットに接続されたアクセス許可フラグ14に1をセットする。
Step2は、ALU13内部のレジスタデータをSRAM11に書き戻す動作となる。外部SDRAM6のデータがデータ制御部3及びデータセレクタ7を介してALU13に転送される。このとき、FLG=1のALU13の内部レジスタにのみ外部SDRAM6のデータが記録され、FLG=0のALU13の内部レジスタはStep1で退避したSRAM11のデータを保持する。次に、ALU13の内部レジスタに記録された上記状態の32ビットデータをSRAM11に転送することで、SRAM11の任意のビットデータのみが更新されたことになる。
Step1は、外部SDRAM6のデータを一時退避する動作となる。先ず、外部SDRAM6の32ビットデータを一旦ALU13内部のレジスタにコピーする。次にプログラムコントローラ2は、転送したいSRAM11のビットに接続されたアクセス許可フラグ14(FLG)に1をセットする。
Step2は、ALU13内部のレジスタデータを外部SDRAM6に書き戻す動作となる。SRAM11のデータがALU13の内部レジスタに転送される。このとき、FLG=1のALU13の内部レジスタにのみSRAM11のデータが記録され、FLG=0のALU13の内部レジスタはStep1で退避した外部SDRAM6のデータを保持する。次にALU13の内部レジスタに記録された上記状態の32ビットデータを外部SDRAM6に転送することで、SRAM11の任意のビットデータのみが転送されたことになる。
図14は、実施の形態3における並列処理装置の全体構成を示すものである。
実施の形態3は、並列処理装置への入力データとして、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子(センサ)8からのデータとしたものである。ここで、撮像素子8は1ライン当たり1024画素、あるいはそれ以下の画素数を備えるものとする。データ制御部3は、入力データバッファ4aとデータ配列変換部5とを備えている。入力データバッファ4aは、撮像素子8から順次転送される画像データを一旦記録するためのバッファであり、少なくとも1ライン1024画素のデータを記録可能である。出力データバッファ4bは、演算要素1からの出力データを一旦記録するためのバッファであり、少なくとも1ライン1024画素のデータを記録可能である。また、データ配列変換部5、演算要素1及びプログラムコントローラ2は、実施の形態1,2と同様であるため、ここでの説明は省略する。
入力データバッファ4aは32画素単位に分割され、PEアレイ10に接続されている。また、入力データバッファ4aの各画素に対応して、入力データアクセス許可フラグ(FLG)41が備えられている。この入力データアクセス許可フラグ41は、プログラムコントローラ2によって制御され、入力データバッファ4aに記録されたデータのSRAM11への転送を許可するか否かを示すフラグである。尚、入力データアクセス許可フラグ41は、入力データバッファ4aの各画素に対応していれば、入力データバッファ4a以外の部分に設けられていてもよい。
Step1は、SRAM11のデータを一時退避する動作となる。先ず、プログラムコントローラ2は、更新したい画素データが存在する入力データアクセス許可フラグ41に“1”をセットする。次に、SRAM11の32ビットデータを一旦入力データバッファ4aにコピーする。このときFLG=0(アクセス禁止)の入力データバッファ4aにのみSRAM11の該当ビットのデータが記録され、FLG=1の入力データバッファ4aのデータは保持される。
Step2は、入力データバッファ4aのデータをSRAM11に書き戻す動作となる。入力データバッファ4aに記録されたStep1の状態の32ビットデータをSRAM11に転送することで、SRAM11の任意ビットデータのみが更新されたことになる。
次に、出力データバッファ4bの32ビットデータを一旦SRAM11にコピーする。このときFLG=0の出力データバッファ4bのデータのみがSRAM11の該当のビットに記録され、FLG=1に該当するSRAM11のビットデータは保持される。SRAM11に記録されたこの状態の32ビットデータを出力データバッファ4bに転送することで、SRAM11の任意のビットデータのみが読み出されたことになる。
Claims (4)
- 演算器とメモリにより構成される複数の演算要素と、
入力データを一時的に記録する入力データ一時記録手段と、
前記入力データ一時記録手段で記録されたデータの配列を変換するデータ配列変換手段であって、前記データの一つのデータ単位は複数のビットにより構成されるものであり、当該データ配列変換手段は、それぞれのデータ単位が、そのデータ単位に対応する一つの演算要素で演算されるように、データの配列を変換するものである、データ配列変換手段とを備え、
前記演算要素は、前記演算器にデータの書き込みを許可するアクセス許可フラグを備え、前記演算要素のメモリにデータを書き込む際に、一旦前記メモリのデータを前記演算器内のレジスタに退避し、前記アクセス許可フラグの内容がアクセス許可である前記レジスタにのみ、書き込み対象のデータを上書きした後、前記レジスタのデータを前記メモリに書き戻す並列処理装置。 - 演算要素は、演算器にデータの読み出しを許可するアクセス許可フラグを備え、演算要素のメモリからデータを読み出す際に、一旦、読み出し対象となるデータを演算器内のレジスタに退避し、前記アクセス許可フラグの内容がアクセス許可である前記レジスタにのみ、前記メモリのデータを上書きした後、前記レジスタのデータを前記読み出し対象のデータとして出力することを特徴とする請求項1記載の並列処理装置。
- 入力データ一時記録手段のデータを演算要素のメモリに書き込むことを許可する入力データアクセス許可フラグを備え、前記メモリにデータを書き込む際に、前記入力データアクセス許可フラグの内容がアクセス禁止である前記入力データ一時記録手段のデータに対してのみ、前記メモリのデータを一旦退避させた後、前記入力データ一時記録手段の全てのデータを前記メモリに書き戻すことを特徴とする請求項1または請求項2記載の並列処理装置。
- 演算要素で演算されたデータを一時記録する出力データ一時記録手段を設けると共に、演算要素のメモリから前記出力データ一時記録手段にデータの読み出しを許可する出力データアクセス許可フラグを備え、前記メモリからデータを読み出す際に、前記出力データアクセス許可フラグの内容がアクセス禁止である前記出力データ一時記録手段のデータに対応したデータのみを、前記メモリに一旦退避させた後、前記メモリの全てのデータを出力データ一時記録手段に書き戻すことを特徴とする請求項1から請求項3のうちのいずれか1項記載の並列処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007277631A JP5196946B2 (ja) | 2007-10-25 | 2007-10-25 | 並列処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007277631A JP5196946B2 (ja) | 2007-10-25 | 2007-10-25 | 並列処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009104521A JP2009104521A (ja) | 2009-05-14 |
JP5196946B2 true JP5196946B2 (ja) | 2013-05-15 |
Family
ID=40706110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007277631A Expired - Fee Related JP5196946B2 (ja) | 2007-10-25 | 2007-10-25 | 並列処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5196946B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244095A (ja) * | 2009-04-01 | 2010-10-28 | Seiko Epson Corp | データ処理装置、印刷システムおよびプログラム |
EP4268086A1 (en) * | 2020-12-23 | 2023-11-01 | Imsys AB | A novel data processing architecture and related procedures and hardware improvements |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3277377B2 (ja) * | 1991-06-21 | 2002-04-22 | ソニー株式会社 | ビデオ信号用プロセッサ |
JPH06274607A (ja) * | 1993-03-22 | 1994-09-30 | Toshiba Corp | 並列信号処理装置 |
JPH1074141A (ja) * | 1996-08-30 | 1998-03-17 | Matsushita Electric Ind Co Ltd | 信号処理装置 |
JPH11296498A (ja) * | 1998-04-13 | 1999-10-29 | Mitsubishi Electric Corp | 並列演算処理装置 |
JP2001092790A (ja) * | 1999-09-24 | 2001-04-06 | Sony Corp | 画像処理装置 |
JP2006127460A (ja) * | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
JP2006099232A (ja) * | 2004-09-28 | 2006-04-13 | Renesas Technology Corp | 半導体信号処理装置 |
JP2006164183A (ja) * | 2004-12-10 | 2006-06-22 | Renesas Technology Corp | 半導体信号処理装置 |
JP4916151B2 (ja) * | 2005-09-29 | 2012-04-11 | ルネサスエレクトロニクス株式会社 | 並列演算装置 |
JP4854277B2 (ja) * | 2005-11-16 | 2012-01-18 | ルネサスエレクトロニクス株式会社 | 直交変換回路 |
-
2007
- 2007-10-25 JP JP2007277631A patent/JP5196946B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009104521A (ja) | 2009-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7593016B2 (en) | Method and apparatus for high density storage and handling of bit-plane data | |
EP0539595A1 (en) | Data processor and data processing method | |
JP2011141823A (ja) | データ処理装置および並列演算装置 | |
JP5359569B2 (ja) | メモリのアクセス方法 | |
JP5196946B2 (ja) | 並列処理装置 | |
TWI634436B (zh) | 緩衝裝置及卷積運算裝置與方法 | |
JP2006350907A (ja) | Simd型マイクロプロセッサ、データ転送装置、及びデータ変換装置 | |
JP3277377B2 (ja) | ビデオ信号用プロセッサ | |
JP2007073010A (ja) | Simd方式プロセッサ、当該simd方式プロセッサを利用する画像処理方法、及び画像処理装置 | |
JP4408113B2 (ja) | 信号処理方法 | |
JP3821198B2 (ja) | 信号処理装置 | |
JP5889747B2 (ja) | 半導体装置 | |
JP4482356B2 (ja) | Simdプロセッサを用いた画像処理方法及び画像処理装置 | |
JP4554582B2 (ja) | 並列プロセッサ | |
JPH11338767A (ja) | 画像処理用機能メモリ装置 | |
US20130155082A1 (en) | Data stream processing architecture enabling extension of neighborhood mask | |
JP3837293B2 (ja) | 定数選択機能を有するsimd型マイクロプロセッサ | |
US20230409323A1 (en) | Signal processing apparatus and non-transitory computer-readable storage medium | |
JP6319420B2 (ja) | 情報処理装置、デジタルカメラおよびプロセッサ | |
JPH09231347A (ja) | 画像処理装置 | |
KR20110117582A (ko) | 연속적인 매트릭스 트랜스포즈 시스템 및 장치 | |
JP4244619B2 (ja) | 画像データ処理装置 | |
US20080158238A1 (en) | Format conversion apparatus from band interleave format to band separate format | |
JP2000020705A (ja) | 並列画像処理プロセッサ | |
JPH09305550A (ja) | 並列処理プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100903 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121218 |
|
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: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5196946 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |