JPS62271014A - ソ−テイング装置 - Google Patents
ソ−テイング装置Info
- Publication number
- JPS62271014A JPS62271014A JP11537286A JP11537286A JPS62271014A JP S62271014 A JPS62271014 A JP S62271014A JP 11537286 A JP11537286 A JP 11537286A JP 11537286 A JP11537286 A JP 11537286A JP S62271014 A JPS62271014 A JP S62271014A
- Authority
- JP
- Japan
- Prior art keywords
- data
- registers
- comparators
- pieces
- register
- 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.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
3、発明の詳細な説明
〔概 要〕
ソーティングを高速に実行する装置。N個の被処理デー
タのレジスタ、隣接データの大小により2レジスタ間の
データ相互交換を制御する比較器、及びそれらで部分的
にソートされた2組のデータを交互に配置するように並
べ変えるデータ転送手段を設け、比較、交換動作を複数
の部分で並行に実行し、その結果を並べ変える動作を反
復することによりソーティングが実行される。この構成
により、処理実行の並行度を高めることによる、高速ソ
ーティングができる。
タのレジスタ、隣接データの大小により2レジスタ間の
データ相互交換を制御する比較器、及びそれらで部分的
にソートされた2組のデータを交互に配置するように並
べ変えるデータ転送手段を設け、比較、交換動作を複数
の部分で並行に実行し、その結果を並べ変える動作を反
復することによりソーティングが実行される。この構成
により、処理実行の並行度を高めることによる、高速ソ
ーティングができる。
本発明は、データのソーティングを実行する装置に関す
る。
る。
複数のデータを、そのデータ値の大きさによって、増加
又は減少順に整列する処理は、ソート処理あるいはソー
ティング等と呼ばれ、データ処理の各種の面で必要にな
る。
又は減少順に整列する処理は、ソート処理あるいはソー
ティング等と呼ばれ、データ処理の各種の面で必要にな
る。
第4図はソーティング装置の一構成例を示すブロック図
である。
である。
図の30a 、30b、31a、31b、32a、32
b等は、それぞれ1段、2段、4段等の先入先出型の行
列を構成するレジスタの対であり、30c、31c、3
2c等は、入力側に接続するレジスタの各先頭のデータ
を比較して、例えば値の大きくない側の1データを次段
のレジスタの一方へ出力するように構成したソーティン
グ回路である。
b等は、それぞれ1段、2段、4段等の先入先出型の行
列を構成するレジスタの対であり、30c、31c、3
2c等は、入力側に接続するレジスタの各先頭のデータ
を比較して、例えば値の大きくない側の1データを次段
のレジスタの一方へ出力するように構成したソーティン
グ回路である。
入力回路33は被処理データを順次受は入れて、レジス
タ30a 、30bに交互に分配する。
タ30a 、30bに交互に分配する。
ソーティング回路30cは、レジスタ30a 、30b
のデータを比較し、例えば小さい方又は同一の場合はそ
の一方を、例えばレジスタ31aに出力し、次いで残っ
たデータをレジスタ31aに出力することにより、レジ
スタ31a上に図の下から値の小さい順にデータがセッ
トされるようにする。
のデータを比較し、例えば小さい方又は同一の場合はそ
の一方を、例えばレジスタ31aに出力し、次いで残っ
たデータをレジスタ31aに出力することにより、レジ
スタ31a上に図の下から値の小さい順にデータがセッ
トされるようにする。
次にソーティング回路30cは、後続してレジスタ30
a 、30bにセットされるデータを、前と同様に比較
して、レジスタ31bへ出力し、このようにしてソーテ
ィング回路30cは入力データを2個づつ小さい順にな
らべてレジスタ31a 、31bへ交互に出力する。
a 、30bにセットされるデータを、前と同様に比較
して、レジスタ31bへ出力し、このようにしてソーテ
ィング回路30cは入力データを2個づつ小さい順にな
らべてレジスタ31a 、31bへ交互に出力する。
ソーティング回路31cは、レジスタ31a 、31b
にセットされたデータの各先頭のデータについて、ソー
ティング回路30cの場合と同様に比較してレジスタ3
2a又は32bへ出力する処理により、レジスタ31a
、31bにある4データを小さい順に先ずレジスタ3
2aに出力し、次にレジスタ31a 、31bにセント
されるデータを小さい順にレジスタ32bに出力する。
にセットされたデータの各先頭のデータについて、ソー
ティング回路30cの場合と同様に比較してレジスタ3
2a又は32bへ出力する処理により、レジスタ31a
、31bにある4データを小さい順に先ずレジスタ3
2aに出力し、次にレジスタ31a 、31bにセント
されるデータを小さい順にレジスタ32bに出力する。
このようにして各ソーティング回路30c 、31c、
32c等は入力側のレジスタの対に大きさの順に整列さ
れた2デ一タ列から、2倍の長さの整列されたデータ列
を構成し、このような構成のレジスタ対とソーティング
回路を直列に接続することによって所要の個数のデータ
のソーティングを行う装置を構成することができる。
32c等は入力側のレジスタの対に大きさの順に整列さ
れた2デ一タ列から、2倍の長さの整列されたデータ列
を構成し、このような構成のレジスタ対とソーティング
回路を直列に接続することによって所要の個数のデータ
のソーティングを行う装置を構成することができる。
前記の従来のソーティング装置の構成によれば、各ソー
トされた部分データ列から、2倍長のソートされたデー
タ列を生成する場合に、最大の場合には部分データ列の
全データについて逐次比較しなければならないので、直
列に処理時間が累積され、ソーティング処理の高速化が
難しいという問題がある。
トされた部分データ列から、2倍長のソートされたデー
タ列を生成する場合に、最大の場合には部分データ列の
全データについて逐次比較しなければならないので、直
列に処理時間が累積され、ソーティング処理の高速化が
難しいという問題がある。
第1図は、本発明の構成を示すブロック図である。
図はソーティング装置の構成を示し、1−0.1−5.
1−2、〜LH−+ は被処理データを保持するレジス
タ、2−1.2−z、〜2−N−1 は比較器、3は所
定のレジスタ間のデータ転送回路、4は制御バスである
。
1−2、〜LH−+ は被処理データを保持するレジス
タ、2−1.2−z、〜2−N−1 は比較器、3は所
定のレジスタ間のデータ転送回路、4は制御バスである
。
N個のレジスタ1−0.1−1.1−2.〜1−N−1
には、ソーティング対象のN個のデータが適当な手段で
入力されている。こ\でNは2の冨乗とする。
には、ソーティング対象のN個のデータが適当な手段で
入力されている。こ\でNは2の冨乗とする。
N−1個の比較2S2−+、2−z、〜2−N−1 は
、各隣接する2レジスタのデータを比較するように接続
されているが、初めに1個置きの比較器2−、.2−:
l、2−5、〜2−□3.2−N−1を有効化して比較
を実行し、例えばデータ値の小さい方が図の左側になる
ように、各2レジスタ間のデータ交換を制御する。
、各隣接する2レジスタのデータを比較するように接続
されているが、初めに1個置きの比較器2−、.2−:
l、2−5、〜2−□3.2−N−1を有効化して比較
を実行し、例えばデータ値の小さい方が図の左側になる
ように、各2レジスタ間のデータ交換を制御する。
データ交換が完了すると、データ転送回路3を経由して
、全レジスタ間のデータ転送を同時に並列に行って、デ
ータを並べ変える。
、全レジスタ間のデータ転送を同時に並列に行って、デ
ータを並べ変える。
データ並べ変えは、例えば左側半分のレジスタ1−0,
1−1、〜1−N7□1のデータと、右側のレジスタ1
−s/z〜1−N−1のデータとが、レジスタ1−0.
1−1.1−2、〜1−、4−+上に交互に前と同じj
1刊序で交互に並ぶようにする。
1−1、〜1−N7□1のデータと、右側のレジスタ1
−s/z〜1−N−1のデータとが、レジスタ1−0.
1−1.1−2、〜1−、4−+上に交互に前と同じj
1刊序で交互に並ぶようにする。
その結果、例えば4個のレジスタ1−0〜1−1のうち
のレジスタ1−0,1−2とレジスタ1−、.1−3に
それぞれ大小順に並べられたデータが配置されるように
なる。
のレジスタ1−0,1−2とレジスタ1−、.1−3に
それぞれ大小順に並べられたデータが配置されるように
なる。
そこで、比較器2−、.2−2.2−3 、比較器2−
3.2−6.2−7のように、4レジスタごとに区切っ
た範囲の比較器を有効化して比較を実行し、前記と同様
に所要の2レジスタ間のデータ交換を制御する。この場
合、各4レジスタごとにおいて、1又は2回の比較によ
って、0〜3組のデータ交換が起こり、各4レジスタご
とにデータが小さい順に整列される。
3.2−6.2−7のように、4レジスタごとに区切っ
た範囲の比較器を有効化して比較を実行し、前記と同様
に所要の2レジスタ間のデータ交換を制御する。この場
合、各4レジスタごとにおいて、1又は2回の比較によ
って、0〜3組のデータ交換が起こり、各4レジスタご
とにデータが小さい順に整列される。
次に前記と同様に、データ転送回路3によるデータの並
べ変えを行った後、8レジスタごとに区切って比較器に
よりデータ交換を制御して、8個ごとに整列したデータ
を得る。
べ変えを行った後、8レジスタごとに区切って比較器に
よりデータ交換を制御して、8個ごとに整列したデータ
を得る。
このような2動作ステップからなるサイクルを繰り返す
ことにより、各サイクルごとに整列されるデータ列の長
さが2倍になり、最後にN個の全データにわたって小さ
い順に並べられたデータ列を得る。
ことにより、各サイクルごとに整列されるデータ列の長
さが2倍になり、最後にN個の全データにわたって小さ
い順に並べられたデータ列を得る。
以上の構成により、ソーティング処理の並行実行度が高
められるので、ソーティング装置の処理速度を大幅に改
善することができる。
められるので、ソーティング装置の処理速度を大幅に改
善することができる。
第2図は、第1図のレジスタl−0,1−1〜LH−+
及び比較器2−、〜2−□1の実施例を示すブロック図
である。
及び比較器2−、〜2−□1の実施例を示すブロック図
である。
図は1組のレジスタ1 (第1図の左端のレジスタを0
番としてi番目のレジスタR,とする)及び比較器2(
C8とする)の構成を両側のレジスタ(Rt−、及びR
t−+)と比較器(C,−、及びCt、uとの関連を含
めて示す。
番としてi番目のレジスタR,とする)及び比較器2(
C8とする)の構成を両側のレジスタ(Rt−、及びR
t−+)と比較器(C,−、及びCt、uとの関連を含
めて示す。
比較器C3はR1,レジスタ及びR1−1レジスタのレ
ジスタ部14に保持するデータを、それぞれデータ線1
0及び11により比較部12へ人力して比較し、R,デ
ータがR4−1データより小さい場合に、制御線13を
オンにして、R、レジスタのゲート15及びR1−1レ
ジスタのゲート16を制御することにより、両レジスタ
のデータを相互に交換するように制御する。
ジスタ部14に保持するデータを、それぞれデータ線1
0及び11により比較部12へ人力して比較し、R,デ
ータがR4−1データより小さい場合に、制御線13を
オンにして、R、レジスタのゲート15及びR1−1レ
ジスタのゲート16を制御することにより、両レジスタ
のデータを相互に交換するように制御する。
又、すべての比較器2から制?I ′!a13の出力信
号と同一の状態を示す信号が、信号線19によって制御
バス4へ出力され、従って制御バス4がオン信号状態に
あることによって、何れかの比較器2でデータ交換制御
が実行されていることを表示する。
号と同一の状態を示す信号が、信号線19によって制御
バス4へ出力され、従って制御バス4がオン信号状態に
あることによって、何れかの比較器2でデータ交換制御
が実行されていることを表示する。
この制御バス4の信号はすべてのレジスタlのゲート1
7を制御■シて、データ交換動作が終了するまで、デー
タ転送回路3によるデータ並べ変えの実行を抑止する。
7を制御■シて、データ交換動作が終了するまで、デー
タ転送回路3によるデータ並べ変えの実行を抑止する。
ゲート18はデータ交換又は並べ変えによるレジスタ部
設定を制御するクロック信号を制御する。
設定を制御するクロック信号を制御する。
比較器2の比較部12は、制御部20によって制御され
、制?11線21がオンの場合のみ比較動作を有効化さ
れる。
、制?11線21がオンの場合のみ比較動作を有効化さ
れる。
各比較器2の制御部20は図示のようにlogzNビッ
トのシフトレジスタ22を有し、その1ビツトの出力を
制御線21に接続する。接続するビットは、図の右から
j+1番目のビットとし、jの値はC8比較器の場合に
、 i=に、2J (但し、kは奇数) をンm足するように選ぶ。
トのシフトレジスタ22を有し、その1ビツトの出力を
制御線21に接続する。接続するビットは、図の右から
j+1番目のビットとし、jの値はC8比較器の場合に
、 i=に、2J (但し、kは奇数) をンm足するように選ぶ。
このようにして、全制御部20のシフトレジスタ22を
すべて0゛にリセットして動作を開始し、制tBバス4
の信号がオフになるごとに信号線23から1”信号を人
力して、シフトレジスタ22をシフトさせる。その結果
、比較器2はj回目の動作サイクル以後制御線21がオ
ン(信号“1゛)になり、比較動作が有効化される。
すべて0゛にリセットして動作を開始し、制tBバス4
の信号がオフになるごとに信号線23から1”信号を人
力して、シフトレジスタ22をシフトさせる。その結果
、比較器2はj回目の動作サイクル以後制御線21がオ
ン(信号“1゛)になり、比較動作が有効化される。
即ち、有効化される比較器は、第1サイクルではC+
:Ci:Cs:C7:C9:C+ l :cl s:c
l s等のように1個置きの比較器であり、第2サイク
ルでは、C,、C2,C3:C,、CいC7;等のよう
に4個ごとに3個の比較器が有効化され、次はC,−C
,がすぺで有効化されてC@が抜けた状態になるという
ように、順次前の2倍の範囲で連続する比較器が有効化
されるように制御することができる。
:Ci:Cs:C7:C9:C+ l :cl s:c
l s等のように1個置きの比較器であり、第2サイク
ルでは、C,、C2,C3:C,、CいC7;等のよう
に4個ごとに3個の比較器が有効化され、次はC,−C
,がすぺで有効化されてC@が抜けた状態になるという
ように、順次前の2倍の範囲で連続する比較器が有効化
されるように制御することができる。
こ\で、例えば第2サイクルとして、第1図の比較器2
−1,2−2.2−3のように、隣接する比較器が有効
化されても、この場合にもし隣接する比較器、例えば比
較器2−1と2−2が同時にデータ交換を要する状態を
検出すると、レジスタ1−0と1−1の間のデータ交換
と、レジスタ1−1と1−2の間のデータ交換が同時に
起こり、不確定な制御を生じることになる。しかし、並
べ変えによってレジスタ1−〇、1−1.1−2.1−
3にセットされている1個置きのデータ列が、それぞれ
大きさの順に整列されたデータ列であることから、その
ような状況が起こり得ないことは明らかである。
−1,2−2.2−3のように、隣接する比較器が有効
化されても、この場合にもし隣接する比較器、例えば比
較器2−1と2−2が同時にデータ交換を要する状態を
検出すると、レジスタ1−0と1−1の間のデータ交換
と、レジスタ1−1と1−2の間のデータ交換が同時に
起こり、不確定な制御を生じることになる。しかし、並
べ変えによってレジスタ1−〇、1−1.1−2.1−
3にセットされている1個置きのデータ列が、それぞれ
大きさの順に整列されたデータ列であることから、その
ような状況が起こり得ないことは明らかである。
ある動作サイクルで、すべての比較器2のデータ交換制
御が終わることにより、制御バス4がオフになると、制
御バス4の信号でレジスタ1のゲート17が開かれ、全
レジスタ間でデータ転送回路3を経由するデータの並べ
変えが行われる。
御が終わることにより、制御バス4がオフになると、制
御バス4の信号でレジスタ1のゲート17が開かれ、全
レジスタ間でデータ転送回路3を経由するデータの並べ
変えが行われる。
この並べ変えにより、R0〜RN/□−1のデータ列と
、RN/Z −’ RN−1のデータ列が1つ置きに交
互に配置されるようにする。
、RN/Z −’ RN−1のデータ列が1つ置きに交
互に配置されるようにする。
そのためにデータ転送回路3は、レジスタR5の出力を
レジスタRイのゲート17へ接続するものとして、 m=2i modN−1(但しi<N−1)m=i
(但し1=N−1)とする。このようにす
ることにより、例えばN=16の場合について第3図に
示すような転送による、データの並べ変えが行われる。
レジスタRイのゲート17へ接続するものとして、 m=2i modN−1(但しi<N−1)m=i
(但し1=N−1)とする。このようにす
ることにより、例えばN=16の場合について第3図に
示すような転送による、データの並べ変えが行われる。
以上の説明から明らかなように、本発明によれば、従来
より並列実行度を高めて高速化したソーティング装置を
実現することができるという著しい工業的効果がある。
より並列実行度を高めて高速化したソーティング装置を
実現することができるという著しい工業的効果がある。
第1図は本発明の構成を示すブロック図、第2図は本発
明の実施例を示すブロック図、第3図は、データ並べ変
えの説明図、 第4図は従来の一構成例ブロック図 である。 図において、 1.1−0〜L、4−+ はレジスタ、2.2−、〜2
−N−1 は比較器、 3はデータ転送回路、 4は制御バス、12は比較部、
14はレジスタ部、20は制御部、
22はシフトレジスタ30a 、30b〜32a
、32bはレジスタ、33は入力回路、 30c〜32cはソーティング回路 を示す。
明の実施例を示すブロック図、第3図は、データ並べ変
えの説明図、 第4図は従来の一構成例ブロック図 である。 図において、 1.1−0〜L、4−+ はレジスタ、2.2−、〜2
−N−1 は比較器、 3はデータ転送回路、 4は制御バス、12は比較部、
14はレジスタ部、20は制御部、
22はシフトレジスタ30a 、30b〜32a
、32bはレジスタ、33は入力回路、 30c〜32cはソーティング回路 を示す。
Claims (1)
- 【特許請求の範囲】 N個のデータを、該データの値の大きさの順に整列する
に際し、 該データを保持し所定の順序に配列されたN個のレジス
タ(1−_0〜1−_N_−_1)、該レジスタの各隣
接する2レジスタに保持されるデータの値を比較し、 所定の比較結果により該2レジスタのデータを相互に交
換するN−1個の比較器(2−_1〜2−_N_−_1
)、及び、半数の該レジスタと他の半数の該レジスタと
のデータが同一の順序で交互に保持されるように並べ変
えて該レジスタに設定するデータ転送手段(3)を設け
、 前記該比較器の比較及びデータ交換動作を、所定のすべ
ての比較器について並行に実行し、該実行を該データ交
換が発生されなくなるまで反復する動作ステップと、 前記データ転送手段によるデータ並べ変えを実行する動
作ステップとを、交互に実行するように構成されている
ことを特徴とするソーティング装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11537286A JPS62271014A (ja) | 1986-05-19 | 1986-05-19 | ソ−テイング装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11537286A JPS62271014A (ja) | 1986-05-19 | 1986-05-19 | ソ−テイング装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62271014A true JPS62271014A (ja) | 1987-11-25 |
Family
ID=14660897
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11537286A Pending JPS62271014A (ja) | 1986-05-19 | 1986-05-19 | ソ−テイング装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62271014A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH056261A (ja) * | 1991-04-04 | 1993-01-14 | Mitsubishi Electric Corp | データのためのソーテイング装置およびソーテイング方法 |
| EP0636991A3 (en) * | 1993-07-29 | 1997-01-08 | Matsushita Electric Industrial Co Ltd | Information processing apparatus for implementing a neural network. |
-
1986
- 1986-05-19 JP JP11537286A patent/JPS62271014A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH056261A (ja) * | 1991-04-04 | 1993-01-14 | Mitsubishi Electric Corp | データのためのソーテイング装置およびソーテイング方法 |
| EP0636991A3 (en) * | 1993-07-29 | 1997-01-08 | Matsushita Electric Industrial Co Ltd | Information processing apparatus for implementing a neural network. |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0284689A (ja) | ビデオメモリ装置 | |
| JP3744285B2 (ja) | シフトレジスタ及びその制御方法 | |
| JPS62160564A (ja) | パイプライン制御方式 | |
| JPH0324615A (ja) | データ処理装置 | |
| EP4629092A1 (en) | Serdes lane control bonding systems and methods | |
| JP2976418B2 (ja) | パターンマッチング処理装置 | |
| JPH02181516A (ja) | カウンタのテスト回路 | |
| SU976442A1 (ru) | Устройство дл распределени заданий процессорам | |
| JPS60147836A (ja) | 演算処理装置 | |
| JPS5965352A (ja) | ソ−ト装置 | |
| JPH05143289A (ja) | 加算回路 | |
| JPS6237739A (ja) | ソ−ト処理装置 | |
| JPS63284638A (ja) | デ−タ整列装置 | |
| JPH05143288A (ja) | 加算回路 | |
| JPH0327436A (ja) | 全加算器 | |
| JPH0628151A (ja) | シリアルデータのパラレルラッチ回路 | |
| JPH06282563A (ja) | 高速フーリエ変換演算装置 | |
| JPS6084634A (ja) | デ−タ並び換え回路 | |
| JPS63198101A (ja) | 産業用ロボツトの軌跡制御方法 | |
| JPH04288695A (ja) | 同期式カウンタ | |
| JPH04250583A (ja) | 情報収集装置 | |
| JPS60171520A (ja) | 大規模集積回路 | |
| JPH01116822A (ja) | バレルシフタ | |
| JPS60256862A (ja) | マイクロコンピユ−タの出力ポ−ト制御方式 | |
| JPH01232421A (ja) | バス制御回路 |