JP5445469B2 - Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント - Google Patents
Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント Download PDFInfo
- Publication number
- JP5445469B2 JP5445469B2 JP2010546611A JP2010546611A JP5445469B2 JP 5445469 B2 JP5445469 B2 JP 5445469B2 JP 2010546611 A JP2010546611 A JP 2010546611A JP 2010546611 A JP2010546611 A JP 2010546611A JP 5445469 B2 JP5445469 B2 JP 5445469B2
- Authority
- JP
- Japan
- Prior art keywords
- control information
- data
- sort
- processing
- processing element
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
Description
次に、第2ステップでは、最左端となっている番号0のPEを除く各偶数番目のPE(i)がその左隣のPE(i-1)からx(i-1)を受け取り、x(i-1)>x(i) ならば、PE(i-1)及びPE(i)は保持している数値データx(i)とx(i-1)とを交換する。
図4に、奇偶変換ソート方式を適用したSIMD型並列計算装置でのソート例を示す。このソート例は、PE数を7とし、降順の数値データ7、6、5、4、3、2、1を昇順の数値データにソートする例で、そのソートは、上述した2つのステップを合わせたソート動作を1回の反復とみなした場合に、その反復を繰り返すことで昇順の数値データ1、2、3、4、5、6、7を得るようにしている。
すなわち、例えば、昇順にソートする場合には、第1ステップでは偶数PEが小さい値を受け取る一方、当該偶数PEとペアとなる右隣のPE(奇数PE)が大きい値を受け取り、そして第2ステップでは上記偶数PEが大きい値を受け取る一方、当該偶数PEとペアとなる左隣のPE(奇数PE)が大きい値を受け取る、というような動作を生じさせ、所定のソートを得ようとするものである。
すなわち、mrの値をPE毎にその都度変更し、かつ、動作Aと動作Bとに対応する命令コードをそれぞれCPから放送しなければならない。
その第1のシーケンス1)は、全PEが右隣PEの数値データを自PEへ転送する、第2のシーケンス2)は、1)での転送で獲得した数値データと自PE上の数値データとの大小比較(引き算)を行う、第3のシーケンス3)は、偶数PEのみを動作させるようにmrを1に設定する、第4のシーケンス4)は、mr=1のPE(偶数PE)は引き算結果のキャリフラグの値が1ならば、2)にて右隣PEから届いた数値データを自PEの数値データに代入する、第5のシーケンス5)は、全PEが「自PEの数値データ」及び「キャリフラグの値とmrとの論理積の値」を右隣PEへ転送する、第6のシーケンス6)は、全PEでmrを反転させて偶数PEを不動作、奇数PEを動作に設定する、第7のシーケンス7)は、動作の設定となった奇数PEは、今度は上記5)により自PEに転送されて来た論理積の値が1ならば、5)にて転送されて来た数値データを自PEの数値データに代入する。
これと同様に、奇偶変換ソート方式における第2ステップの処理も実現することができる。そのためには、上述した1)〜7)での「右隣」を「左隣」に、また、3)の「偶数PEのみ」を「最左端PEを除く偶数PEのみ」に読み替えた上で、1)〜7)のシーケンスを辿るように構成する必要がある。
しかしながら、1回の反復毎に多くの命令実行でそのソートを行えるに過ぎず、処理時間が長く、効率が悪いという技術的課題がある。
また、特許文献1は、複数のプロセッサエレメントをSIMD型マイクロプロセッサにおける各プロセッサエレメント毎でのソート処理を行う仕組みを取り入れており、複数のプロセッサエレメントの中の他のプロセッサエレメントとの関係については何ら触れるところはない。
したがって、ソート処理の効率化において、なお解決すべき問題がある。
この実施形態のSIMD型並列プロセッサ10は、奇偶変換ソート方式の第1ステップ及び第2ステップの各各を単一のマシンサイクルで実行し得る装置に係り、その主要部は、図1に示すように、複数のプロセッシングエレメントが一次元結合された(双方向にリング状に接続された)複数のプロセッシングエレメント(以下、PEと略記する)11i(i=0、1、2、…、Nのうちの1つ)で構成され、さらに、これらのPEからなるPEアレイに命令をPE間結合線30(図2)を介して放送する制御プロセッサ(CP)40(図2)を有し、制御プロセッサ40で実行される命令セット内に以下に説明する減算交換命令をプログラムしてその減算交換命令の実行でPEアレイを制御して所定のソート処理を達成し得るようにしてその全体が構成されている。
上記減算交換命令には、後述する動作指定情報I及び動作モードフラグflgが予め埋め込められている。
PE11iのいずれも、レジスタ(src)12i、セレクタ14i及びセレクタ16iを有して構成される。以下の説明では、iは偶数番目を表すものとする。
これに加えて、偶数番目のPE11iには、さらに、減算論理回路20i、動作モードフラグ(flg)レジスタ22i及びマスクレジスタ(mr)24iが設けられる一方、奇数番目のPE11i−1及びPE11i+1には、さらに、セレクタ18i−1及びセレクタ18i+1が設けられて構成されている。
ここで、レジスタ12i−1から出力される数値データをsrc-left12Lで表し、レジスタ12i+1から出力される数値データをsrc-right12Rで表すのに用いるが、また、src-left12L及びsrc-right12Rなる表記は、着目しているPEを基準として左側のPEのレジスタの数値データにもsrc-left12Lを、また、右側のPEのレジスタの数値データにもsrc-right12Rを用いることとする。
セレクタ14iは、例えば、動作指定ビットIの値が1ならば、src-right12Rを、また、動作指定ビットIの値が0ならば、src-left12Lを選択して出力する。
セレクタ16iは、例えば、選択制御信号21iの値が0ならば、セレクタ14iの数値データをレジスタ12iへ選択して出力してレジスタ12iの更新を行い、また、選択制御信号21iの値が1ならば、レジスタ12iの数値データをレジスタ12iへ選択出力する、つまり更新は行わない。
偶数番目のPE11iのセレクタ14i及びセレクタ16iの選択動作について説明したところは、奇数番目のセレクタ14i−1、セレクタ14i+1及びセレクタ16i−1、セレクタ16i+1にも同等に当て嵌まる。
セレクタ18i−1及びセレクタ18i+1には、両隣の偶数PEの減算論理回路、すなわち、減算論理回路20i−2及び減算論理回路20i+2の出力に接続され、動作指定ビットIの値に応じて上記2つの減算論理回路20i−2及び20i+2から出力される交換決定ビットxchg-left20L及びxchg-right20Rのいずれか一方を選択して選択制御信号19i−1及び選択制御信号19i+1として出力するように構成されている。セレクタ18i−1及びセレクタ18i+1は、例えば、動作指定ビットIの値が0ならば、xchg-right20Rを、また、動作指定ビットIの値が1ならば、xchg-left20Lを選択して出力する。
セレクタ18i−1及びセレクタ18i+1から選択して出力される信号は、各別に、当該奇数番目のPEに設けられるセレクタ16i−1及びセレクタ16i+1の選択制御入力に選択制御信号19i−1及び選択制御信号19i+1として供給される。
マスクレジスタ(mr)24iは、減算交換命令が制御プロセッサ40で実行されるときにPE間結合線30を介して偶数PEに放送される動作指定ビットIの値に応じて設定される。例えば、動作指定信号Iの値が1ならば、偶数PEのマスクレジスタ(mr)24iに1が自動的にセットされるのに対して、動作指定信号Iの値が0ならば、最左端のPE110のマスクレジスタ240に0が自動的にセットされ、また、そのほかの偶数PEのマスクレジスタ24iには1が自動的にセットされる。マスク値は、PEの動作不動作を指定する情報である。
SIMD型並列プロセッサ10は、そのPEの数が7で構成され、SIMD型並列プロセッサ10におけるデータ処理において、これらのPE11i(i=0,1,…,6のうちの1つ)のレジスタ(src)12iに図4に示すような降順の数値データ7、6、5、4、3、2、1が設定されるものとし、これらの数値データを昇順の数値データにソートする場合について説明する。以下においては、便宜上、PE110乃至PE116をPE0乃至PE6として表すことにする。
そして、上記データ処理を行うプログラムの中で上記ソート処理の第1ステップを行う第1の減算交換命令には、動作指定信号Iの値として1が、また、動作モードフラグflgの値として0が予め設定されている。また、上記ソート処理の第2ステップを行う第2の減算交換命令には、動作指定信号Iの値として0が、また、動作モードフラグflgの値として0が予め設定されている。
なお、この第1ステップでは、その第1の減算交換命令に動作指定信号Iの値として1を予め設定するとしているが、動作指定信号Iの値として0を予め設定しても、同様の結果が得られる。
そして、動作指定信号Iの値は1であるから、偶数PEのマスクレジスタ(mr)24iに1が自動的にセットされる。
このステップ1では、動作モードフラグレジスタ220には、既に、0の動作モードフラグflgtが設定されており、セレクタ2030は、1の動作指定信号Iにより1のキャリーフラグcfを選択して出力しているから、排他的論理和回路2040から1の信号が出力される。また、このステップ1では、マスクレジスタ240には、既に、1のマスク情報mrが設定されているから、論理積回路2050から1の交換決定信号xchgを出力する。
PE2のレジスタ122に設定されている数値データは5である一方、動作指定信号Iの値は1であるから、セレクタ142から出力される数値データは、PE3から出力されるsrc-right(=4)となる。したがって、減算論理回路202の減算回路2012から1のキャリーフラグcfが出力される。
このステップ1では、動作モードフラグレジスタ222には、既に、0の動作モードフラグflgtが設定されており、セレクタ2032は、動作指定信号Iが1であることにより、1のキャリーフラグcfを選択して出力しているから、排他的論理和回路2042から1の信号が出力される。このステップ1では、マスクレジスタ242には、既に、1のマスク情報mrが設定されているから、論理積回路2052から1の交換決定信号xchgを出力する。
また、PE6においては、交換決定信号xchgは、PE0及びPE2について説明したところに従うと1になり、したがって、セレクタ166への選択制御信号216は1になるから、セレクタ166でレジスタ126の数値データ、ここでは1が選択されてその数値データがレジスタ126に書き込まれる。レジスタ126の数値データは変更されない。
第1回目の反復におけるステップ1の処理が完了したときの状態を図4に示す。そのソート状態は、図4では、第1回目の反復(1st iteration)の中の第1のステップ(Step1)を示す横欄に示すようになる。すなわち、PE0、PE1、PE2、PE3、PE4、PE5及びPE6に保持される数値データは、それぞれ、6、7、4、5、2、3及び1となる。
この1の選択制御信号211がセレクタ161に供給されるから、セレクタ161は、セレクタ141からの数値データを選択して出力する。セレクタ141で選択される数値データは、ステップ1の処理でPE2のレジスタ162に設定された数値データ、ここでは4である。この数値データ4がレジスタ121に書き込まれる。
PE2のレジスタ122に設定されている数値データは4である一方、動作指定信号Iの値は0であるから、セレクタ142から出力される数値データは、PE1から出力されるsrc-left(=7)となる。したがって、減算論理回路202の減算回路2012から0のキャリーフラグcfが出力される。
このステップ2においても、動作モードフラグレジスタ222には、既に、0の動作モードフラグflgが設定されており、セレクタ2032が0のキャリーフラグcfを反転回路2022で反転した1の信号を選択して出力しているから、排他的論理和回路2042から1の信号が出力される。このステップ2でも、マスクレジスタ242には、既に、1のマスク情報mrが設定されているから、論理積回路2052から1の交換決定信号xchgを出力する。
したがって、セレクタ162はセレクタ142から出力されている数値データ(=7)を選択して出力する。この数値データ(=7)は、レジスタ122に書き込まれる。
PE3で用いられる選択制御信号としは、上述のようにして選択されたxchg-right、すなわち、上述のところに準じて処理されて出力される0の交換決定信号が用いられる。このとき、セレクタ143が選択するのは、src-rightである。そして、0の選択制御信号がセレクタ163に供給されるから、セレクタ163から選択出力する数値データは、セレクタ143から出力されるsrc-right、すなわち、レジスタ124に設定されている数値データ2である。この数値データ2がレジスタ123に書き込まれる。
したがって、PE1のレジスタ121の書き込み値は、数値データ(=4)となり、レジスタ121の数値データは、4に書き換わる。
第1回目の反復の中のステップ2の処理が完了したときの状態を図4に示す。そのソート状態は、図4では、第1回目の反復の中の第2のステップ(Step2)を示す横欄に示すようになる。すなわち、PE0、PE1、PE2、PE3、PE4、PE5及びPE6に保持される数値データは、それぞれ、6、4、7、2、5、1及び3となる。
同様の数値データの入れ替えが、第2回目の反復以降でも行われる。それらの反復により、上述した数値データ例の場合には、図4に示すように、4回の反復で昇順のソート処理が完了する、すなわち、それ以上の数値データの入れ替え動作は発生しないことが判る。
このソート状態、すなわち、全PEのレジスタ(src)の数値データが変化しなくなったことを、制御プロセッサ40が検知して減算交換命令の発行ループから抜け出して実行中のプログラムの次の処理に進むようにすればよい。
上述のSIMD型並列プロセッサ10で使用可能な命令セットには、減算交換命令以外に、PE上で第1オペランドが指定するレジスタ値を第2オペランドが指定するレジスタへ転送する命令MVと、PE上で第1オペランドが指定するレジスタ値と第2オペランドが指定するレジスタ値とを減算しその結果を第3オペランドが指定するレジスタに格納すると共に、減算結果が0ならゼロフラグに1を設定する命令SUBと、第1オペランドが指定する種類のPE上の条件フラグの値の全PEに渡る論理和として得られる1ビット情報を制御プロセッサ(CP)上のマスクレジスタに格納する動作を指定する命令STSと、制御プロセッサ上のマスクレジスタの値が1ならば分岐せず0ならば分岐する動作を指定する条件分岐命令BRNMとが存在することを必要とする。
また、src,origは、PE上でデータを格納するレジスタの識別子とし、ソート対象となるPE数に等しい個数のデータが1個ずつ各PEのレジスタ(src)に格納されており、かつ制御プロセッサPC上のマスクレジスタの値は前もって0にセットされているとする。その他、減算交換命令(SUBXCHG命令)に対する第1オペランドとして動作指定信号Iの値を、第2オペランドとしてソート対象データを格納するデータレジスタの識別子srcを指定するものとする。また、この例では、ソート対象データを昇順でソートすることを想定しているので、動作モードフラグ(flg)レジスタに0が設定されているとする。
AGAIN:
/*番地A+0*/SUBXCHG命令 1,src../*番地A+1*/MV src,orig//step1を実行すると共にsrcの元の値を退避する
/*番地A+2*/SUBXCHG命令 0,src//step2を実行する
/*番地A+3*/SUBXCHG命令 1,src../*番地A+4*/SUB src,orig//step1を実行すると共にsrcの値と元の値とを比較する
/*番地A+5*/SUBXCHG命令 0,src../*番地A+6*/STS %Z//step2を実行すると共に、比較結果のゼロフラグをCPへ送付する
/*番地A+7*/SUBXCHG命令 1,src//step1を実行する
/*番地A+8*/BRNM
AGAIN../*番地A+9*/SUBXCHG命令
0,src//step2を実行すると共に、比較結果のゼロフラグをCPへ送付する
/*番地A+10*/
このようにループ終了判定を行う間でも、毎サイクルで減算交換命令を発行することができるため、減算交換命令を繰り返すループを抜けるためのCPによる終了判定処理は、全体の処理サイクル数に最小限の影響のみしか与えないようにすることができる。
この実施形態の構成が、実施形態1のそれと大きく異なる点は、ソート対象となるデータ数がPE数よりも多くてもソート処理全体を高速化し得るようにした点である。
この実施形態のSIMD型並列プロセッサは、その各PEに2つ以上のソート対象データを割り当てた上で、それらソート対象データについてのソート処理を「PE内での」奇偶変換ソート処理と「PE間での」奇偶変換ソート処理とに分け、後者の奇偶変換ソート処理について実施形態1で説明した奇偶変換ソート処理を実施してソート処理全体の高速化を達成するようにして構成される。
例えば、実施形態1及び実施形態2では、ソート対象データとして、数値データを例にして説明したが、これに限らず、データの順序性を有するその他のデータについてのソートにも、この発明を適用し得る。
また、実施形態1及び実施形態2では、動作指定情報I及び動作モードフラグflgは、減算交換命令に予め埋め込められている例について説明したが、減算交換命令より前に実行される所要の命令の実行時に設定保持しておき、減算交換命令の実行時に保持されている各情報を対応する記憶保持手段、例えば、レジスタにセットしてこの発明のソート処理に用いるようにしてこの発明を実施することも可能である。
また、実施形態1及び実施形態2では、動作指定情報I、動作モードフラグflg及びマスク値mrの値を1又は0とする例について説明したが、その他の所定の値としてもよい。
110〜116 プロセッシングエレメント
140〜146 セレクタ(データ交換手段の一部、第1のデータ選択手段)
160〜166 セレクタ(データ交換手段の残部、第2のデータ選択手段)
200、202、…、206 減算論理回路(制御情報出力手段の一部、第2の制御情報供給手段)
30 PE間結合線(制御情報入力手段、第1の制御情報供給手段)
40 制御プロセッサ(制御情報出力手段の残部)
Claims (27)
- ソート対象データを記憶する記憶手段を有し、一次元結合された複数のプロセッシングエレメントと、
ソート制御情報を供給する制御情報出力手段と、
該制御情報出力手段から入力される前記ソート制御情報に基づいて、前記複数のプロセッシングエレメントのうちの、所定の1つの前記プロセッシングエレメントの前記記憶手段の前記ソート対象データと所定の他の前記プロセッシングエレメントの前記記憶手段の前記ソート対象データとを交換する前記プロセッシングエレメント毎のデータ交換手段とを備えることを特徴とするSIMD型並列データ処理装置。 - ソート対象データを記憶する記憶手段を有し、一次元結合された複数のプロセッシングエレメントと、
ソート制御情報を供給する制御情報出力手段と、
該制御情報出力手段から入力される前記ソート制御情報に基づいて、前記複数のプロセッシングエレメントのうちの、ペアとなる一方の前記プロセッシングエレメントの前記記憶手段の前記ソート対象データと前記ペアとなる他方の前記プロセッシングエレメントの前記記憶手段のソート対象データとを交換する前記プロセッシングエレメント毎のデータ交換手段とを備えることを特徴とするSIMD型並列データ処理装置。 - 前記制御情報出力手段は、第1のソート制御情報を供給する第1の制御情報出力手段及び第2のソート制御情報を供給する第2の制御情報出力手段を有し、前記データ交換手段は、第1のデータ選択手段及び第2のデータ選択手段を有し、前記第1のデータ選択手段は、前記第1のソート制御情報に基づいて前記ペアとなる前記プロセッシングエレメントの前記記憶手段のうちのいずれか一方の前記ソート対象データを選択して出力する手段であり、前記第2のデータ選択手段は、前記第2のソート制御情報に基づいて前記第1のデータ選択手段及び自己の前記プロセッシングエレメントの前記記憶手段ののうちのいずれか一方の前記ソート対象データを選択して自己の前記プロセッシングエレメントの前記記憶手段に供給する手段であることを特徴とする請求項2記載のSIMD型並列データ処理装置。
- 前記第1の制御情報出力手段は、前記複数のプロセッシングエレメントに接続される制御装置で実行される命令に基づいて前記第1のソート制御情報を生成して出力することを特徴とする請求項3記載のSIMD型並列データ処理装置。
- 前記複数のプロセッシングエレメントのうちの偶数プロセッシングエレメントの前記第2の制御情報出力手段は、自己の前記プロセッシングエレメントの前記記憶手段から出力される前記ソート対象データと、前記第1のデータ選択手段から出力される前記ソート対象データと、前記第1のソート制御情報と、前記第1のソート制御情報の生成と共に生成される第3のソート制御情報とに基づいて前記第2のソート制御情報を生成して出力することを特徴とする請求項3記載のSIMD型並列データ処理装置。
- 前記複数のプロセッシングエレメントのうちの奇数プロセッシングエレメントの前記第2の制御情報出力手段は、該奇数プロセッシングエレメントの両隣の前記プロセッシングエレメントで生成される前記第2のソート制御情報に基づいて第2のソート制御情報を生成して出力することを特徴とする請求項3記載のSIMD型並列データ処理装置。
- 前記第1のソート制御情報は、前記複数のプロセッシングエレメントを制御する制御プロセッサで実行される減算交換命令に予め埋め込められている動作指定情報であり、前記第3のソート制御情報は、前記減算交換命令に予め埋め込められている動作モードフラグ及び前記動作指定情報に基づいて設定されるマスク情報であることを特徴とする請求項5記載のSIMD型並列データ処理装置。
- 前記第2の制御情報出力手段は、減算論理回路と、動作モードフラグレジスタと、マスクレジスタとからなり、前記減算論理回路は、前記第1のデータ選択手段から出力される前記ソート対象データと、自己の前記プロセッシングエレメントの前記記憶手段の前記ソート対象データと、前記動作指定情報と、前記動作モードフラグレジスタの動作モードフラグと、前記マスクレジスタのマスク情報とに基づいて前記第2のソート制御情報を生成して出力する手段であることを特徴とする請求項7記載のSIMD型並列データ処理装置。
- 前記偶数プロセッシングエレメントのうちの、最初の偶数プロセッシングエレメントを除く前記偶数プロセッシングエレメントにおける前記マスク情報は、前記動作指定情報の如何に関係なしに第1の所定の情報として設定されるが、前記動作指定情報が予め決められる情報であるとき前記偶数プロセッシングエレメントのうちの、最初の偶数プロセッシングエレメントにおける前記マスク情報は、前記第1の所定の情報とは異なる情報として設定されることを特徴とする請求項8記載のSIMD型並列データ処理装置。
- 制御情報出力手段からソート制御情報の供給を受け、
供給される前記ソート制御情報に基づいて、ソート対象データを記憶する記憶手段を有し、一次元結合された複数のプロセッシングエレメントのうちの所定のプロセッシングエレメント間で両プロセッシングエレメントの前記記憶手段のソート対象データを交換することを特徴とするSIMD型並列データ処理装置におけるデータソート方法。 - 制御情報出力手段からソート制御情報の供給を受け、
供給される前記ソート制御情報に基づいて、ソート対象データを記憶する記憶手段を有し、一次元結合された複数のプロセッシングエレメントのうちのペアとなる一方のプロセッシングエレメントと前記ペアとなる他方のプロセッシングエレメントとの間で両プロセッシングエレメントの前記記憶手段の前記ソート対象データを交換することを特徴とするSIMD型並列データ処理装置におけるデータソート方法。 - 前記制御情報出力手段は、第1及び第2のソート制御情報を出力し、前記第1のソート制御情報に基づいて前記ペアとなる前記プロセッシングエレメントの前記記憶手段ののうちのいずれか一方の前記ソート対象データを選択して出力し、前記第2のソート制御情報に基づいて選択出力された前記一方のソート対象データ及び前記ペアのうちの、自己の前記プロセッシングエレメントの前記記憶手段の前記ソート対象データのいずれか一方を選択して自己の前記プロセッシングエレメントの前記記憶手段に供給することを特徴とする請求項11記載のSIMD型並列データ処理装置におけるデータソート方法。
- 前記第1のソート制御情報は、前記複数のプロセッシングエレメントに接続される制御装置で実行される命令に基づいて生成されることを特徴とする請求項11記載のSIMD型並列データ処理装置におけるデータソート方法。
- 前記複数のプロセッシングエレメントのうちの偶数プロセッシングエレメントのための前記第2のソート制御情報は、自己の前記プロセッシングエレメントの前記記憶手段から出力される前記ソート対象データと、前記第1のソート制御情報に基づいて出力される前記ソート対象データと、前記第1のソート制御情報と、前記第1のソート制御情報の生成と共に生成される第3のソート制御情報とに基づいて生成されることを特徴とする請求項12記載のSIMD型並列データ処理装置におけるデータソート方法。
- 前記複数のプロセッシングエレメントのうちの奇数プロセッシングエレメントのための前記第2のソート制御情報は、該奇数プロセッシングエレメントの両隣の前記プロセッシングエレメントで生成される前記第2のソート制御情報に基づいて生成されることを特徴とする請求項12記載のSIMD型並列データ処理装置におけるデータソート方法。
- 前記第1のソート制御情報は、前記複数のプロセッシングエレメントを制御する制御プロセッサで実行される減算交換命令に予め埋め込められている動作指定情報であり、前記第3のソート制御情報は、前記減算交換命令に予め埋め込められている動作モードフラグ及び前記動作指定情報に基づいて設定されるマスク情報であることを特徴とする請求項14記載のSIMD型並列データ処理装置におけるデータソート方法。
- 前記第2のソート制御情報は、前記第1のソート制御情報に基づいて出力される前記ソート対象データと、自己の前記プロセッシングエレメントの前記記憶手段の前記ソート対象データと、前記動作指定情報と、動作モードフラグと、マスク情報とに基づいて生成されることを特徴とする請求項16記載のSIMD型並列データ処理装置におけるデータソート方法。
- 前記偶数プロセッシングエレメントのうちの最初の偶数プロセッシングエレメントを除く前記偶数プロセッシングエレメントにおける前記マスク情報は、前記動作指定情報の如何に関係なく第1の所定の情報として設定されるが、前記動作指定情報が予め決められる情報であるとき前記偶数プロセッシングエレメントのうちの、最初の偶数プロセッシングエレメントにおける前記マスク情報は、前記第1の所定の情報とは異なる情報として設定されることを特徴とする請求項17記載のSIMD型並列データ処理装置におけるデータソート方法。
- ソート制御情報を受信する制御情報入力手段と、
該制御情報入力手段から出力される前記ソート制御情報に基づいて、一次元結合された複数のプロセッシングエレメントのうちの、所定の前記プロセッシングエレメントの記憶手段に設定されるソート対象データと自己の前記プロセッシングエレメントの前記記憶手段に設定されるソート対象データとを交換するデータ交換手段とを備えることを特徴とするプロセッシングエレメント。 - ソート制御情報を受信する制御情報入力手段と、
該制御情報入力手段から出力される前記ソート制御情報に基づいて、一次元結合された複数のプロセッシングエレメントのうちの、ペアとなる一方の前記プロセッシングエレメントの記憶手段に設定されるソート対象データと前記ペアとなる他方の前記プロセッシングエレメントの前記記憶手段に設定されるソート対象データとを交換するデータ交換手段とを備えることを特徴とするプロセッシングエレメント。 - 前記制御情報入力手段は、第1のソート制御情報を供給する第1の制御情報供給手段及び第2のソート制御情報を供給する第2の制御情報供給手段を有し、前記データ交換手段は、第1のデータ選択手段及び第2のデータ選択手段を有し、前記第1のデータ選択手段は、前記第1のソート制御情報に基づいて前記ペアとなる前記プロセッシングエレメントの前記記憶手段のうちの、いずれか一方の前記ソート対象データを選択して出力する手段であり、前記第2のデータ選択手段は、前記第2のソート制御情報に基づいて前記第1のデータ選択手段及び自己の前記プロセッシングエレメントの前記記憶手段のうちのいずれか一方の前記ソート対象データを選択して自己の前記プロセッシングエレメントの前記記憶手段に供給する手段であることを特徴とする請求項20記載のプロセッシングエレメント。
- 前記第1の制御情報入力手段は、前記複数のプロセッシングエレメントに接続される制御装置で実行される命令に基づいて生成される前記第1のソート制御情報を受信することを特徴とする請求項20記載のプロセッシングエレメント。
- 前記プロセッシングエレメントが、前記複数のプロセッシングエレメントのうちの偶数プロセッシングエレメントであるとき、該偶数プロセッシングエレメントの前記第2の制御情報供給手段は、自己の前記プロセッシングエレメントの前記記憶手段から出力される前記ソート対象データと、前記第1のデータ選択手段から出力される前記ソート対象データと、前記第1のソート制御情報と、前記第1のソート制御情報の生成と共に生成される第3のソート制御情報とに基づいて前記第2のソート制御情報を生成して出力することを特徴とする請求項21記載のプロセッシングエレメント。
- 前記プロセッシングエレメントが前記複数のプロセッシングエレメントのうちの、奇数プロセッシングエレメントであるとき、該奇数プロセッシングエレメントの前記第2の制御情報供給手段は、該奇数プロセッシングエレメントの両隣の前記プロセッシングエレメントで生成される前記第2のソート制御情報に基づいて第2のソート制御情報を生成して出力することを特徴とする請求項21記載のプロセッシングエレメント。
- 前記第1のソート制御情報は、前記複数のプロセッシングエレメントを制御する制御プロセッサで実行される減算交換命令に予め埋め込められている動作指定情報であり、前記第3のソート制御情報は、前記減算交換命令に予め埋め込められている動作モードフラグ及び前記動作指定情報に基づいて設定されるマスク情報であることを特徴とする請求項23記載のプロセッシングエレメント。
- 前記第2の制御情報供給手段は、減算論理回路と、動作モードフラグレジスタと、マスクレジスタとからなり、前記減算論理回路は、前記第1のデータ選択手段から出力される前記ソート対象データと、自己の前記プロセッシングエレメントの前記記憶手段の前記ソート対象データと、前記動作指定情報と、前記動作モードフラグレジスタの動作モードフラグと、前記マスクレジスタのマスク情報とに基づいて前記第2のソート制御情報を生成して出力する手段であることを特徴とする請求項25記載のプロセッシングエレメント。
- 前記偶数プロセッシングエレメントのうちの、最初の偶数プロセッシングエレメントを除く前記偶数プロセッシングエレメントにおける前記マスク情報は、前記動作指定情報の如何に関係なしに第1の所定の情報として設定されるが、前記動作指定情報が予め決められる情報であるとき前記偶数プロセッシングエレメントのうちの最初の偶数プロセッシングエレメントにおける前記マスク情報は、前記第1の所定の情報とは異なる情報として設定されることを特徴とする請求項26記載のプロセッシングエレメント。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010546611A JP5445469B2 (ja) | 2009-01-13 | 2010-01-07 | Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009004380 | 2009-01-13 | ||
JP2009004380 | 2009-01-13 | ||
JP2010546611A JP5445469B2 (ja) | 2009-01-13 | 2010-01-07 | Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント |
PCT/JP2010/050119 WO2010082529A1 (ja) | 2009-01-13 | 2010-01-07 | Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010082529A1 JPWO2010082529A1 (ja) | 2012-07-05 |
JP5445469B2 true JP5445469B2 (ja) | 2014-03-19 |
Family
ID=42339782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010546611A Active JP5445469B2 (ja) | 2009-01-13 | 2010-01-07 | Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5445469B2 (ja) |
WO (1) | WO2010082529A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372451B2 (en) | 2017-05-25 | 2019-08-06 | Samsung Electronics Co., Ltd. | Sequence alignment method of vector processor |
US10409593B2 (en) | 2017-03-31 | 2019-09-10 | Samsung Electronics Co., Ltd. | Semiconductor device |
US10649771B2 (en) | 2017-03-31 | 2020-05-12 | Samsung Electronics Co., Ltd. | Semiconductor device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH056261A (ja) * | 1991-04-04 | 1993-01-14 | Mitsubishi Electric Corp | データのためのソーテイング装置およびソーテイング方法 |
JPH10149276A (ja) * | 1996-11-21 | 1998-06-02 | Nippon Telegr & Teleph Corp <Ntt> | ソート回路およびソート方法 |
JP2007102799A (ja) * | 2006-10-30 | 2007-04-19 | Ricoh Co Ltd | ソート機能を有するsimd型マイクロプロセッサ |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05189202A (ja) * | 1992-01-10 | 1993-07-30 | Fujitsu Ltd | 並列ソート方式 |
JP3955741B2 (ja) * | 2001-04-02 | 2007-08-08 | 株式会社リコー | ソート機能を有するsimd型マイクロプロセッサ |
-
2010
- 2010-01-07 JP JP2010546611A patent/JP5445469B2/ja active Active
- 2010-01-07 WO PCT/JP2010/050119 patent/WO2010082529A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH056261A (ja) * | 1991-04-04 | 1993-01-14 | Mitsubishi Electric Corp | データのためのソーテイング装置およびソーテイング方法 |
JPH10149276A (ja) * | 1996-11-21 | 1998-06-02 | Nippon Telegr & Teleph Corp <Ntt> | ソート回路およびソート方法 |
JP2007102799A (ja) * | 2006-10-30 | 2007-04-19 | Ricoh Co Ltd | ソート機能を有するsimd型マイクロプロセッサ |
Non-Patent Citations (1)
Title |
---|
JPN6013058221; 京昭倫、外: '128個の4ウェイVLIW型RISCコアを集積した車載向け動画認識LSI' 電子情報通信学会技術研究報告 Vol.103, No.89, 2003, P.19-24 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10409593B2 (en) | 2017-03-31 | 2019-09-10 | Samsung Electronics Co., Ltd. | Semiconductor device |
US10649771B2 (en) | 2017-03-31 | 2020-05-12 | Samsung Electronics Co., Ltd. | Semiconductor device |
US10990388B2 (en) | 2017-03-31 | 2021-04-27 | Samsung Electronics Co., Ltd. | Semiconductor device |
US11645072B2 (en) | 2017-03-31 | 2023-05-09 | Samsung Electronics Co., Ltd. | Semiconductor device |
US10372451B2 (en) | 2017-05-25 | 2019-08-06 | Samsung Electronics Co., Ltd. | Sequence alignment method of vector processor |
US11068265B2 (en) | 2017-05-25 | 2021-07-20 | Samsung Electronics Co., Ltd. | Sequence alignment method of vector processor |
US11442728B2 (en) | 2017-05-25 | 2022-09-13 | Samsung Electronics Co., Ltd. | Sequence alignment method of vector processor |
Also Published As
Publication number | Publication date |
---|---|
WO2010082529A1 (ja) | 2010-07-22 |
JPWO2010082529A1 (ja) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2569694B1 (en) | Conditional compare instruction | |
EP0450658B1 (en) | Parallel pipelined instruction processing system for very long instruction word | |
JP5145809B2 (ja) | 分岐予測装置、ハイブリッド分岐予測装置、プロセッサ、分岐予測方法、及び分岐予測制御プログラム | |
US20190303149A1 (en) | Sequence alignment method of vector processor | |
EP3326060B1 (en) | Mixed-width simd operations having even-element and odd-element operations using register pair for wide data elements | |
WO2009131007A1 (ja) | Simd型並列計算機システム、simd型並列計算方法及び制御プログラム | |
EP2352082B1 (en) | Data processing device for performing a plurality of calculation processes in parallel | |
CN107851016B (zh) | 向量算术指令 | |
JP5445469B2 (ja) | Simd型並列データ処理装置及びデータソート方法並びにプロセッシングエレメント | |
JP5352780B2 (ja) | プロセッサ | |
US20110055647A1 (en) | Processor | |
JP2009230338A (ja) | プロセサおよび情報処理装置 | |
JP6428488B2 (ja) | 加減算器及び加減算器の制御方法 | |
JP2009037291A (ja) | 半導体装置 | |
JP2793342B2 (ja) | 演算処理装置 | |
JP4444305B2 (ja) | 半導体装置 | |
JP5889747B2 (ja) | 半導体装置 | |
Luk et al. | A systolic LRU processor and its top-down development | |
JP3707729B2 (ja) | アドレス生成インターロック検出方法およびシステム | |
US9250898B2 (en) | VLIW processor, instruction structure, and instruction execution method | |
US20240118891A1 (en) | Processor | |
JP4516495B2 (ja) | Simd型マイクロプロセッサにおけるデータ処理方法 | |
JP3895267B2 (ja) | Simdプロセッサ | |
JP3771682B2 (ja) | ベクトル処理装置 | |
WO2013137459A1 (ja) | データ供給装置及びデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121205 |
|
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: 20131126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131209 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5445469 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |