"リング状に接続され、順次番号が付与されたN個N:2以上の整数のプロセッサ要素と、前記N個のプロセッサ要素を制御するコントロールプロセッサとを有し、横幅がNより大きいWW:Nの整数倍である2次元データを幅がNであり、行数がMM:1以上の整数であるブロックに分割し、上に位置するブロックほど優先的に転送され、同一のブロック内の同一行のN個のデータが前記N個のプロセッサ要素のローカルメモリの同一のローカルアドレスに夫々格納されるように前記2次元データを外部メモリから前記ローカルメモリに転送するSIMDSingleInstructioNMultipleDataプロセッサであって、前記コントロールプロセッサは、前記ローカルメモリに格納された、前記2次元データにおける座標値がX,Yである先頭データから行方向に並ぶN個のデータのローカルアドレスのなり得るローカルアドレスA1と、ローカルアドレスA2と、該2つのローカルアドレスのうちのいずれか1つを選択するための基準となるプロセッサ要素の番号の閾値である閾値番号Zとを、X、Y、M、W、Nに基づいて算出するアドレス算出部を備え、前記N個のデータのローカルアドレスを前記N個のプロセッサ要素に対して指定する際に、前記アドレス算出部により得られた、前記ローカルアドレスA1と、前記ローカルアドレスA2と、前記閾値番号Zとを前記N個のプロセッサ要素に放送し、前記N個のプロセッサ要素は、前記閾値番号Zと、自身の番号との大小関係を比較すると共に、比較結果に応じて前記ローカルアドレスA1とローカルアドレスA2のいずれかを選択するアドレス選択部を有することを特徴とするSIMDプロセッサ。前記アドレス算出部は、前記2次元データの左上端のデータの座標値を0,0とした場合に、式1~式3に従って、前記ローカルアドレスA1、前記ローカルアドレスA2、前記閾値番号Zを夫々算出することを特徴とする請求項1に記載のSIMDプロセッサ。A1=BASEADDRESSfloor×floor×MYM1A2=BASEADDRESSfloor×floor×MYMM2Z=XN但し,X:先頭データのX方向座標値Y:先頭データのY方向座標値N:プロセッサ要素の数W:2次元データの横幅M:ブロックの行数前記プロセッサ要素の数Nと前記ブロックの行数Mは、2のべき乗であり、前記アドレス算出部は、前記Mと、M-1であるM1と、log2Mと、W>>log2N<<log2MであるQと、N-1であるN1と、log2Nとを記憶するパラメータ記憶部と、前記パラメータ記憶部に記憶された各パラメータを用いて、式4~式6が示す演算を行って前記ローカルアドレスA1、前記ローカルアドレスA2、前記閾値番号Zを得る演算回路とを備えることを特徴とする請求項2に記載のSIMDプロセッサ。A1=BASEADDRESS×QYM1log2M×QYM1log2M×QYM11log2M×QYM1log2M×QYM1log2M×QYM1log2M×QYM1log2M×QYM1log2M×QYM11log2M×QYM1log2M×QYM1log2M×QYM1log2M前記演算回路は、外部から前記閾値番号Zが入力され、前記パラメータ記憶部は、M-1であるM1と、log2Mと、W>>log2N<<log2MであるQと、前記先頭データが位置するブロックの番号BIDとを記憶するものであり、前記演算回路は、入力された前記閾値番号Zと、前記パラメータ記憶部に記憶された各パラメータを用いて、式20と式22に従ってローカルアドレスA1とローカルアドレスA2を算出することを特徴とする請求項15に記載のコントロールプロセッサ。リング状に接続され、順次番号が付与されたN個N:2以上の整数のプロセッサ要素と、前記N個のプロセッサ要素を制御するコントロールプロセッサとを有し、横幅がNより大きいWW:Nの整数倍である2次元データを幅がNであり、行数がMM:1以上の整数であるブロックに分割し、上に位置するブロックほど優先的に転送され、同一のブロック内の同一行のN個のデータが前記N個のプロセッサ要素のローカルメモリの同一のローカルアドレスに夫々格納されるように前記2次元データを外部メモリから前記ローカルメモリに転送するSIMDSingleInstructioNMultipleDataプロセッサにおける前記プロセッサ要素であって、各前記プロセッサ要素は、前記コントロールプロセッサから放送されたローカルアドレスA1と、ローカルアドレスA2と、閾値番号Zとを受信した際に、前記閾値番号Zと、自身の番号との大小関係を比較すると共に、比較結果に応じて前記ローカルアドレスA1とローカルアドレスA2のいずれかを選択するアドレス選択部を有することを特徴とするプロセッサ要素。ここで、横方向優先方式で画素データがPEアレイ30のローカルメモリに格納されている場合に、CP20がPEアレイ30に処理を行わせる場合のローカルアドレスの指定について考える。画像データの例としては、図13に示すものを用いる。例えば、図14に示すように、ブロック1の1行目の各画素図中太線で示すをPEアレイ30に処理させる場合に、CP20は、処理対象の画素のローカルアドレスとして、PEアレイ30に0を放送する。これにより、1度の命令により全てのPEがアクセス対象の画素を特定することができる。同様に、例えば、図15に示すように、ブロック6のM行目の各画素をPEアレイ30に処理させる場合に、CP20は、処理対象の画素のローカルアドレスとして、PEアレイ30に6×M-1を放送する。これにより、1度の命令により全てのPEがアクセス対象の画素を取得することができる。上述した2つの例では、処理対象のN個の画素は、同一のブロック内の1行の画素である。言い換えれば、これらの画素は、画像の左上端の画素の座標値を0,0とした場合に、X方向の座標値がNの整数倍である画素から始まるN個の画素である。ところで、処理対象のN個の画素は、X方向の座標値がNの整数倍である画素ブロックの1列目の画素から始まるとは限らず、ブロックの2列目以降の画素から始まるN個の画素である可能性がある。この場合、これらのN個の画素は、ブロックを跨ぐことになる。例えば、図16に示すように、座標値が2,4である画素、すなわちブロック5の1行目における3列目の画素画素53,1を起点とするN個の画素の場合、これらのN個の画素は、ブロック5の1行目のN-2個の画素画素53,1、54,1、、5N,1と、ブロック6の1行目の先頭の2つの画素画素61,1、62,1となる。この場合、ブロック5のN-2個の画素のローカルアドレスは、4Mになるが、ブロック6の2つの画素のローカルアドレスは、5Mになる。そのため、CP20は、PE1~PENに画素53,1~画素62,1のN個の画素を夫々参照させるために、まず、図17に示すように、PE3~PENに対して、ローカルアドレス4Mを指定して、これらのPEのローカルメモリの4Mに格納された画素を夫々該PE内の一時記憶装置42にロードさせる。そして、CP20は、図18に示すように、PE1~PE2に対して、ローカルアドレス5Mを指定して、これらのPEのローカルメモリの5Mに格納された画素を夫々該PE内の一時記憶装置42にロードさせる。そして、CP20は、PE間リング結合を利用したデータ交換をPEアレイ30に指示する。図19に示すように、その結果、PE1~PENは、画素53,1~画素62,1のN個の画素を夫々取得する。以上の説明から分かるように、画像データを幅がPE数Nであるブロックに分割して横方向優先方式でPEのローカルメモリに格納するSIMDプロセッサにおいて、所定の画素から始まるN個の画素をN個のPEに夫々参照させる際に、該所定の画素のX方向の座標値がNの整数倍ではない場合に、上記N個の画素のローカルアドレスが異なるため、処理が煩雑になり、効率が良くないという問題がある。本発明の1つの態様は、SIMDプロセッサにおけるコントロールプロセッサである。該SIMDプロセッサは、リング状に接続され、順次番号が付与されたN個N:2以上の整数のプロセッサ要素と、該N個のプロセッサ要素を制御する前記コントロールプロセッサとを有し、横幅がNより大きいWW:Nの整数倍である2次元データを幅がNであり、行数がMM:1以上の整数であるブロックに分割し、上に位置するブロックほど優先的に転送され、同一のブロック内の同一行のN個のデータが前記N個のプロセッサ要素のローカルメモリの同一のローカルアドレスに夫々格納されるように前記2次元データを外部メモリから前記ローカルメモリに転送する。前記コントロールプロセッサは、アドレス算出部を備え、前記ローカルメモリに格納された、前記2次元データにおける座標値がX,Yである先頭データから行方向に並ぶN個のデータのローカルアドレスを前記N個のプロセッサ要素に対して指定する際に、前記アドレス算出部が算出した、ローカルアドレスA1と、ローカルアドレスA2と、閾値番号Zとを前記N個のプロセッサ要素に放送する。前記ローカルアドレスA1とローカルアドレスA2は、前記N個のデータのローカルアドレスのなり得るものであり、前記閾値番号Zは、該2つのローカルアドレスのうちのいずれか1つを選択するための基準となるプロセッサ要素の番号の閾値である。前記アドレス算出部は、X、Y、M、W、Nに基づいてローカルアドレスA1、A2、閾値番号Zを算出する。本発明の別の態様は、上記SIMDプロセッサにおけるプロセッサ要素である。該プロセッサ要素は、前記SIMDプロセッサにおけるコントロールプロセッサから放送されたローカルアドレスA1と、ローカルアドレスA2と、閾値番号Zとを受信した際に、前記閾値番号Zと、自身の番号との大小関係を比較すると共に、比較結果に応じて前記ローカルアドレスA1とローカルアドレスA2のいずれかを選択するアドレス選択部を有する。本発明の更なる別の態様は、SIMDプロセッサである。該SIMDプロセッサにおけるコントロールプロセッサとプロセッサ要素は、本発明の態様として説明した上記のコントロールプロセッサとプロセッサ要素である。なお、上記態様のコントロールプロセッサ、プロセッサ要素、SIMDプロセッサを方法や装置、システムなどに置換えて表示したものや、これらの方法をコンピュータに実行せしめるプログラムなども、本発明の態様としては有効である。本発明にかかる技術によれば、画像データを幅がPE数Nであるブロックに分割して横方向優先方式でPEのローカルメモリに格納するSIMDプロセッサの処理効率を向上させることができる。以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェアとソフトウェアプログラムの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、ハードウェアとソフトウェアのいずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体non-transitorycomputerreadablemediumを用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体tangiblestoragemediumを含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ、光磁気記録媒体例えば光磁気ディスク、CD-ROMReadOnlyMemoryCD-R、CD-R/W、半導体メモリ例えば、マスクROM、PROMProgrammableROM、EPROMErasablePROM、フラッシュROM、RAMRandomAccessMemoryを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体transitorycomputerreadablemediumによってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。<第1の実施の形態>図1は、本発明の第1の実施の形態にかかるSIMDプロセッサ100を示す。SIMDプロセッサ100は、PEアレイ110、制御ユニット130を備える。PEアレイ110は、N個N:2以上の整数のプロセッサ要素PEを有する。これらのPEは、リング状に接続され、順次番号が付与されている。図1に示す例では、これらのPEに対して、1~Nの番号が付与されている。以下、各PEに付与された番号をPE番号という。なお、各PEは、同一の構成を有するため、ここで、PE1を代表にして説明する。PE1は、外部メモリとの間で交換されるデータを一時的に格納するバッファ112と、ローカルメモリ114、メモリコントローラMEMCTL116、演算部118を備える。MEMCTL116は、この種のPEに通常備えられるメモリコントローラの機能を有する。例えば、外部メモリとのデータ交換に際して、MEMCTL116は、制御ユニット130における後述するコントロールプロセッサCP150からのリード命令に応じて、該当するデータをローカルメモリ114から読み出してバッファ112に格納し、また、CP150からのライト命令に応じて、バッファ112に格納されたデータを読み出して、ローカルメモリ114の該当する番地に書き込む。本実施の形態において、MEMCTL116は、アドレス選択機能をさらに備える。これについては、後述する。演算部118は、このPEに通常備えられる演算部と同様の機能を有し、ここで、詳細な説明を省略する。制御ユニット130は、DMADirectMemoryAccessコントローラ140と、CP150を備える。CP150は、PEアレイ110と、DMAコントローラ140の制御を行う。DMAコントローラ140は、データ転送の指示以下、単に転送指示というをCP150から受けると、PEアレイ110の各PEと、外部メモリとの間で交換されるデータのDMA転送を行う。具体的には、外部メモリから各PEのローカルメモリ114への転送指示の場合には、DMAコントローラ140は、外部メモリから該当する各データを夫々のPEのバッファ112に転送し、ローカルメモリ114から外部メモリへの転送指示の場合には、夫々のバッファ112に格納されたデータを外部メモリに転送する。本実施の形態にかかるSIMDプロセッサ100は、横方向優先方式で、外部メモリに格納された2次元データ以下画像データを例とするをローカルメモリ114へ転送することができる。横方向優先方式は、前述したように、画像データを幅がNPEの数であり、行数がMM:1以上の整数であるブロックに分割し、上に位置するブロックほど優先的に転送され、同一のブロック内の同一行のN個のデータがN個のプロセッサ要素のローカルメモリの同一のローカルアドレスに夫々格納されるように該画像データを外部メモリからローカルメモリバッファ112に転送する方式である。このような転送とローカルメモリへの格納は、CP150の指示に従って、CP150と各PEのMEMCTL116により行われる。また、本実施の形態において、外部メモリからバッファ112に転送される画像データの横幅1行の画素数がNより大きいWW:Nの整数倍であるとする。以下において、外部メモリに記憶された画像データ一部が、既にDMAコントローラ140と各PEのMEMCTL116により、バッファ112を介して横方向優先方式でPEアレイ110に転送され、夫々のローカルメモリ114に格納されているとして説明する。図2は、CP150を示す図である。図示のように、CP150は、アドレス算出部160を有する。アドレス算出部160は、ローカルメモリ114上のアドレスローカルアドレスであるローカルアドレスA1、ローカルアドレスA2、閾値番号Zを得るものである。CP150は、各PEのローカルメモリ114に夫々格納された、画像データにおける座標値がX,Yである先頭データから行方向に並ぶN個のデータのローカルアドレスをPEアレイ110に対して指定する際に、アドレス算出部160が得られた、ローカルアドレスA1と、ローカルアドレスA2と、閾値番号ZとをPEアレイ110の各PEに一斉放送する。ローカルアドレスA1とローカルアドレスA2は、上記N個のデータのローカルアドレスのなり得るものであり、閾値番号Zは、該2つのローカルアドレスのうちのいずれか1つを選択するための基準となるプロセッサ要素の番号の閾値である。アドレス算出部160は、X、Y、M、W、Nに基づいてローカルアドレスA1、A2、閾値番号Zを算出する。具体的には、例えば、上記画像データの左上端の画素の座標値を0,0とした場合に、アドレス算出部160は、した式1~3に従ってローカルアドレスA1、ローカルアドレスA2、閾値番号Zを算出する。A1=BASEADDRESSfloor×floor×MYM1A2=BASEADDRESSfloor×floor×MYMM2Z=XN但し,X:先頭データのX方向座標値Y:先頭データのY方向座標値N:プロセッサ要素の数W:2次元データの横幅M:ブロックの行数ここで、式1、式2、及び以降の説明の中で用いる関数や、演算記号をまとめて説明する。floorは、括弧内の値の整数部分を求める床関数である。/は、左側の値と右側の値の割り算を示す。例えば、Y/Mは、YとMの割り算を示す。また、×は、左側の値と右側の値の乗算を示す。は、左側の値を右側の値で割った余りを示す。例えば、YMは、YをMで割った余りを示す。>>は、左側の値を右の値が示す桁の分だけ右に算術シフトするビット演算を示す。例えば、A>>Bは、AをB桁右に算術シフトするビット演算を示す。<<は、左側の値を右の値が示す桁の分だけ左に算術シフトするビット演算を示す。例えば、A<<Bは、AをB桁左に算術シフトするビット演算を示す。ここで、まず、各PEのアドレス選択機能を説明してから、ローカルアドレスA1、ローカルアドレスA2、閾値番号Zの意義を説明する。図3は、MEMCTL116を示す。図示のように、MEMCTL116は、アドレス選択部120を有する。アドレス選択部120は、CP150が放送したローカルアドレスA1、ローカルアドレスA2から自身が設けられたPEで使うべきローカルアドレスAを選択するものであり、この選択は、CP150が放送した閾値番号Zに基づいて行われる。図示のように、アドレス選択部120は、比較器122とデマルチプレクサ124を備える。比較器122は、PE番号図中PEIDと閾値番号Zが入力され、PEIDと閾値番号Zとを比較して、比較結果をデマルチプレクサ124に出力する。デマルチプレクサ124は、2入力1出力デマルチプレクサであり、比較器122からの比較結果に応じて、2つの入力ローカルアドレスA1、ローカルアドレスA2のいずれかを出力となるローカルアドレスA1に選択する。上記構成により、アドレス選択部120は、自身が設けられたPEの番号が閾値番号Zより大きいときにローカルアドレスA1をローカルアドレスAに選択し、上記PEの番号が閾値番号Z以下であるときにローカルアドレスA2をローカルアドレスAに選択する。図14~図16に示す具体例を用いて、SIMDプロセッサ100において、座標値がX,Yである先頭データから始まるN個の画素のローカルアドレスをPEアレイ110に対して指定する際の関連する機能ブロックの動作を説明する。なお、W/Nが4であるとする。図14~図16は、ベースアドレスBASEADDRESSが0であるとして各ローカルアドレスを示しているため、ベースアドレスBASEADDRESSが0ではない場合には、図示の各ローカルアドレスは、図示の値にベースアドレスBASEADDRESSを加算した値になる。以下の説明において、BASEADDRESSを略してBASEとも表記する。図14の例は、ブロック1の1行目のN個の画素のローカルアドレスをPEアレイ110に対して指定する場合である。この場合、式1~式3におけるXとYすなわち先頭データの座標値は、共に0であるため、SIMDプロセッサ100のCP150におけるアドレス算出部160が算出したローカルアドレスA1、ローカルアドレスA2、閾値番号Zは、BASE、BASEM、0である。PEアレイ110の各PEのMEMCTL116におけるアドレス選択部120は、一斉放送されたA1、A2、Zを受信すると、自身が設けられたPEのPE番号とZとを比較をする。例えば、PE1のPE番号が1であり、閾値番号Zが0より大きいため、PE1のアドレス選択部120は、PE1が使うローカルアドレスAとしてローカルアドレスA1ベースアドレスBASEを選択する。PE2~PENの各アドレス選択部120も、同様に、ローカルアドレスAとしてローカルアドレスA1ベースアドレスBASEを選択する。その結果、PE1~PENのローカルメモリのベースアドレスBASEに格納されたデータ、すなわちブロック1の1行目のデータが特定される。図15の例は、ブロック6のM行目のN個の画素のローカルアドレスをPEアレイ110に対して指定する場合である。この場合、式1~式3におけるXとYは、夫々Nと2M-1である。そのため、SIMDプロセッサ100のCP150におけるアドレス算出部160が算出したローカルアドレスA1、ローカルアドレスA2、閾値番号Zは、ベースアドレスBASE6M-1、ベースアドレスBASE7M-1、0である。PE1~PENのいずれのPE番号も0である閾値番号Zより大きいため、PEアレイ110の各PEのMEMCTL116におけるアドレス選択部120は、一斉放送されたA1、A2、Zを受信すると、ローカルアドレスAとしてローカルアドレスA1を選択する。その結果、PE1~PENのローカルメモリのベースアドレスBASE6M-1に格納されたデータ、すなわちブロック6のM行目のデータが特定される。すなわち、本実施の形態のSIMDプロセッサ100によれば、X方向の座標値がNの整数倍である先頭データから始まるN個のデータをPEアレイ110に対して指定ことを、ローカルアドレスA1、ローカルアドレスA2、閾値番号Zの一度の一斉放送で実現することができる。図16を参照して、X方向の座標値がNの整数倍ではない先頭データから始まるN個のデータをPEアレイ110に対して指定する場合を説明する。図16の例は、ブロック5の1行目における3列目の画素画素53,1を起点とするN個の画素画素53,1、54,1、、5N,1、61,1、62,1のローカルアドレスをPEアレイ110に対して指定する場合である。この場合、式1~式3におけるXとYは、夫々2とMである。そのため、SIMDプロセッサ100のCP150におけるアドレス算出部160が算出したローカルアドレスA1、ローカルアドレスA2、閾値番号Zは、ベースアドレスBASE4M、ベースアドレスBASE5M、2である。PE1とPE2のPE番号が閾値番号Z2以下であるため、該2つのPEにおけるアドレス選択部120は、ローカルアドレスAとしてローカルアドレスA2を選択する。一方、PE3~PENのPE番号が閾値番号Zより大きいため、これらのPEにおけるアドレス選択部120は、ローカルアドレスAとしてローカルアドレスA1を選択する。その結果、PE1~PE2のローカルメモリのベースアドレスBASE5Mに格納されたデータ、すなわちブロック6の1行目の1列目と2列目のデータと、PE3~PENのローカルメモリのベースアドレスBASE4Mに格納された、すなわちブロック5の1行目の3列目~N列目のデータとが特定される。すなわち、本実施の形態のSIMDプロセッサ100によれば、X方向の座標値がNの整数倍ではない先頭データから始まるN個のデータをPEアレイ110に対して指定ことも、ローカルアドレスA1、ローカルアドレスA2、閾値番号Zの一度の一斉放送で実現することができる。このように、画像データをブロック分けして横方向優先方式でPEのローカルメモリに格納するSIMDプロセッサ100において、CP150は、各PEのアドレス選択部120が算出したローカルアドレスA1、ローカルアドレスA2、閾値番号Zを一斉放送し、各PEにおけるアドレス選択部120は、閾値番号Zと自身のPE番号とを比較した結果に応じてローカルアドレスA1とローカルアドレスA2のいずれかをローカルアドレスAとして選択する。これにより、先頭データのX方向の座標値がNの整数場合であるか否かに関わらず、1つの命令で、先頭データから始まるN個のデータをPEアレイ110に対して指定することができ、ひいては、SIMDプロセッサ100全体の処理効率を向上させることができる。なお、SIMDプロセッサ100において、PEアレイ110内のPEに対して1~NのPE番号を付与し、アドレス選択部120は、PE番号が閾値番号Zより大きいときにローカルアドレスA1を選択し、PE番号が閾値番号Z以下であるときにローカルアドレスA2を選択するようになっている。例えば、PEアレイ110のPEに対して0~N-1のPE番号を付与している場合には、アドレス選択部120は、PE番号が閾値番号Z以上であるときにローカルアドレスA1を選択し、PE番号が閾値番号Zより小さいときにローカルアドレスA2を選択するようにすればよい。<第2の実施の形態>第1の実施の形態にかかるSIMDプロセッサ100におけるCP150は、式1~式3の演算を行うことによりローカルアドレスA1、ローカルアドレスA2、通常の閾値番号Zを得ている。コントロールプロセッサは、通常、汎用的なプロセッサが持つものと類似した命令セットしか持たないため、式1と式2の演算を実行するためには、多くの処理サイクルを必要とし、結果的には、大きなオーバーヘッドが発生してしまう恐れがある。CP150におけるアドレス算出部160を工夫して、上記オーバーヘッドを抑制する技術に関して、第2の実施の形態を用いて説明する。本発明の第2の実施の形態も、SIMDプロセッサである。このSIMDプロセッサは、下記の2点を除き、SIMDプロセッサ100と同一である。そのため、第2の実施の形態のSIMDプロセッサについて、SIMDプロセッサ100と異なる点のみを説明する。1該SIMDプロセッサにおけるPE数Nと、ブロックの行数Mに対して、2のべき乗である制限が加えられている。2CP150において、アドレス算出部160の代わりに、図4に示すアドレス算出部200が設けられている。図4に示すように、アドレス算出部200は、演算回路201と、演算回路201以外の、太線枠で示す複数の記憶部を含むパラメータ記憶部とを備える。パラメータ記憶部は、具体的には、W>>log2N<<log2MであるQを記憶した記憶部211と、ブロックの行数Mから1を減算して得たM1=M-1を記憶した記憶部212と、log2Mを記憶した記憶部213と、log2Nを記憶した記憶部214と、Mを記憶した記憶部215と、N-1であるN1を記憶した記憶部216を含む。なお、MとNが共に2のべき乗であるため、log2Mとlog2Nは、整数である。演算回路201は、上記各記憶部に格納されたパラメータを用いて、ローカルアドレスA1、ローカルアドレスA2、閾値番号Zを算出する。図示のように、演算回路201は、算術シフト回路221、論理積回路222、乗算器223、加算器224、加算器225、加算器226、算術シフト回路231、算術シフト回路232、加算器233、加算器234、論理積回路240を備える。算術シフト回路221は、Y先頭データのY座標値と、記憶部213からのlog2Mとが入力され、Yをlog2M桁右に算術シフトすると共に、結果を乗算器223に出力する。乗算器223は、算術シフト回路221の出力と、記憶部211からのQとを乗算して、結果を加算器224に出力する。論理積回路222は、Yと、記憶部212からのM1とが入力され、YとM1をビットに対してビット毎の論理積演算を行って、結果を加算器224に出力する。論理積回路222が行う演算は、YMと等価である。加算器224は、乗算器223と論理積回路222の出力を加算して、加算器225に出力する。算術シフト回路231は、X先頭データのX座標値と、記憶部214からのlog2Nとが入力され、Xをlog2N桁右に算術シフトすると共に、結果を算術シフト回路232に出力する。算術シフト回路232は、記憶部213からのlog2Mと、算術シフト回路231の出力とが入力され、算術シフト回路231の出力をlog2M桁左に算術シフトすると共に、結果を加算器225に出力する。加算器225は、加算器224の出力と、算術シフト回路232の出力とを加算して加算器226と加算器233に出力する。加算器226は、ベースアドレスBASEと、加算器225の出力とを加算して結果を出力する。加算器226の出力は、ローカルアドレスA1になる。加算器233は、加算器225の出力と、記憶部215からのMとを加算して結果を加算器234に出力する。加算器234は、ベースアドレスBASEと、加算器233の出力とを加算して結果を出力する。加算器234の出力は、ローカルアドレスA2になる。論理積回路240は、Xと、記憶部216からのN1とが入力され、XとN1をビットに対してビット毎の論理積演算を行って結果を出力する。論理積回路240が行う演算は、XNと等価である。すなわち、論理積回路240の出力は、閾値番号Zになる。演算回路201が行う演算は、下記の式4~式6で示すことができる。A1=BASEADDRESS×QYM1log2M×QYM1log2M×QYM1log2M×QYM11log2M×QYM1log2M×QYM1log2M×QYM1log2M×QYM1log2Mこれらの式が示す演算も、式1~式3が示す演算と等価である。<第7の実施の形態>本発明の第7の実施の形態は、図7に示すアドレス算出部500と、図8に示すアドレス算出部600とを組み合わせたアドレス算出回路700が設けられたSIMDプロセッサである。図9に示すように、アドレス算出部700は、演算回路701と、演算回路701以外のパラメータ記憶部を有する。該アドレス算出回路700は、アドレス算出部500と同様に、閾値番号Z、Y、ベースアドレスBASEが入力される。また、アドレス算出部500のパラメータ記憶部と同様に、アドレス算出回路700のパラメータ記憶部には、N1を記憶する記憶部216と、log2Nを記憶する記憶部214が無く、ブロック番号BIDを記憶する記憶部414が設けられている。さらに、アドレス算出部600のパラメータ記憶部と同様に、アドレス算出回路700のパラメータ記憶部には、Mを記憶する記憶部215が無い。すなわち、アドレス算出回路700において、パラメータ記憶部は、Q、M1、log2M、ブロック番号BIDのみを記憶している。また、演算回路701に関しては、XとN1から閾値番号Zを算出する論理積回路240が無い点を除き、アドレス算出回路600の演算回路601と同様である。すなわち、演算回路701は、上記式9と式11が示す演算を実行してローカルアドレスA1とローカルアドレスA2を得る。以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは、当業者に理解されるところである。例えば、上述した各実施の形態を説明する際に画像を例にしたが、本発明にかかる技術は、画像以外の2次元データを処理するSIMDプロセッサにも適用することができる。"