JPH04180124A - ソート処理装置 - Google Patents
ソート処理装置Info
- Publication number
- JPH04180124A JPH04180124A JP30936590A JP30936590A JPH04180124A JP H04180124 A JPH04180124 A JP H04180124A JP 30936590 A JP30936590 A JP 30936590A JP 30936590 A JP30936590 A JP 30936590A JP H04180124 A JPH04180124 A JP H04180124A
- Authority
- JP
- Japan
- Prior art keywords
- data
- merge
- sorted
- sort
- cell
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/36—Combined merging and sorting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Indexing scheme relating to groups G06F7/22 - G06F7/36
- G06F2207/222—Binary data tree
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明はデータのソート処理を高速に行なう処理装置に
関する。
関する。
(従来の技術)
従来、2ウエイマージソート(2way merges
ort)アルゴリズムを応用したソート処理セルを縦列
にに個接続することにより構成されるようなソート処理
装置に於いては、その原理より一度にソートできるデー
タの数は2のに乗となる。それ以上のデータをソートし
ようとする場合はデータを2のに東側づつソートし、そ
れらをマージすることにより行なう。この場合、ソート
時と同様に2ウエイマージ(2way taerge
)を行なっている。
ort)アルゴリズムを応用したソート処理セルを縦列
にに個接続することにより構成されるようなソート処理
装置に於いては、その原理より一度にソートできるデー
タの数は2のに乗となる。それ以上のデータをソートし
ようとする場合はデータを2のに東側づつソートし、そ
れらをマージすることにより行なう。この場合、ソート
時と同様に2ウエイマージ(2way taerge
)を行なっている。
これはソート処理セルと同様なハードウェアにより実現
が容易であることによる。
が容易であることによる。
ところが2ウエイマージではそれぞれソートされている
データの集まりm個があったとき、これらデータのマー
ジ処理をハードウェアで行なう場合は、中間結果を保持
するバッファが必要となり、更にはm−1回のマージが
逐次行なわれることにより処理に多くの時間を費やす等
の問題があった。
データの集まりm個があったとき、これらデータのマー
ジ処理をハードウェアで行なう場合は、中間結果を保持
するバッファが必要となり、更にはm−1回のマージが
逐次行なわれることにより処理に多くの時間を費やす等
の問題があった。
(発明が解決しようとする課題)
上記したように、既にソートされているデー夕を複数マ
ージソートする場合、従来では2ウエイマージアルゴリ
ズムを使用していたか、この処理手段い於いては中間結
果を保持するバッファが必要となり、更にm−1回のマ
ージか逐次的に行なわれることにより処理に多くの時間
を費やすなどの問題かあった。
ージソートする場合、従来では2ウエイマージアルゴリ
ズムを使用していたか、この処理手段い於いては中間結
果を保持するバッファが必要となり、更にm−1回のマ
ージか逐次的に行なわれることにより処理に多くの時間
を費やすなどの問題かあった。
本発明は上記実情に鑑みなされたもので、複数の既にそ
れぞれソートされたデータの集まりを全体がソートされ
たデータとするような高速マージンート処理機能を実現
したソート処理装置を提供することを目的とする。
れぞれソートされたデータの集まりを全体がソートされ
たデータとするような高速マージンート処理機能を実現
したソート処理装置を提供することを目的とする。
[発明の構成]
(課題を解決するための手段及び作用)本発明に係るソ
ート処理装置は、入力されたデータを一時的に保持する
バッファを2つ持ち、各々のデータを比較し条件に合う
(昇順のときは小さい、降順の時は大きい)データを次
段に出力するマージセルをn−1個(3以上の奇数個)
用意し、これら各マージセルを2進水の形に接続して、
n個の既にソートされたデータの集まりを入力し、その
n個のデータ全てをソートして1個のデータ(マージ処
理したデータ)を出力するnウェイマージ(n way
merge )を実現したもので、これにより、n個
の既にソートされたデータの集まりをn−1個のマージ
セルにより同時にマージソートすることができ、かつこ
の処理をパイプライン処理形式で連続して実行できるこ
とから、多量データのソート処理を高速に実行できる。
ート処理装置は、入力されたデータを一時的に保持する
バッファを2つ持ち、各々のデータを比較し条件に合う
(昇順のときは小さい、降順の時は大きい)データを次
段に出力するマージセルをn−1個(3以上の奇数個)
用意し、これら各マージセルを2進水の形に接続して、
n個の既にソートされたデータの集まりを入力し、その
n個のデータ全てをソートして1個のデータ(マージ処
理したデータ)を出力するnウェイマージ(n way
merge )を実現したもので、これにより、n個
の既にソートされたデータの集まりをn−1個のマージ
セルにより同時にマージソートすることができ、かつこ
の処理をパイプライン処理形式で連続して実行できるこ
とから、多量データのソート処理を高速に実行できる。
(実施例)
以下図面を参照して本発明の一実施例を説明する。
第1図は本発明の一実施例を示すブロック図であり、第
2図は第1図に示すマージセルの1つの内部構成要素を
示すブロック図である。この実施例では、同時に処理す
る入力データ(ソートされたデータの集まり)を8個(
n−8)とし、従って7個(n−1個)のマージセルを
2進木の形に接続した構成を例にとる。
2図は第1図に示すマージセルの1つの内部構成要素を
示すブロック図である。この実施例では、同時に処理す
る入力データ(ソートされたデータの集まり)を8個(
n−8)とし、従って7個(n−1個)のマージセルを
2進木の形に接続した構成を例にとる。
第1図に於いて、10はソート処理装置全体の制御を司
るコントローラである。11乃至I7はそれぞれコント
ローラ10の制御の下に、入力された一対のデータを比
較し、コントローラ10の指示に従う順序で、比較結果
に従い選択された一つのデータを出力制御するマージセ
ル(MS)であり、ここでは7個(n−1個)のマージ
セル11.12.−、17が2進木の形に接続され、マ
ージセル17か最終出力段となる。
るコントローラである。11乃至I7はそれぞれコント
ローラ10の制御の下に、入力された一対のデータを比
較し、コントローラ10の指示に従う順序で、比較結果
に従い選択された一つのデータを出力制御するマージセ
ル(MS)であり、ここでは7個(n−1個)のマージ
セル11.12.−、17が2進木の形に接続され、マ
ージセル17か最終出力段となる。
第2図は上記マージセル11乃至17の一つのセルの構
造を示すブロック図である。
造を示すブロック図である。
第2図に於いて、21.22はそれぞれマージセルに入
力されたデータを一時的に保持するデータバッファ(D
B)である。23はデータバッファ21.22に保持さ
れているデータを比較し大小関係を決定する比較器(C
OM)である。24はマージセル全体を制御する制御部
(CNT)である。25は制御部24の指示によりデー
タバッファ21.22の何れか一方を選択し、その選択
したデータを出力するセレクタ(SEL)である。
力されたデータを一時的に保持するデータバッファ(D
B)である。23はデータバッファ21.22に保持さ
れているデータを比較し大小関係を決定する比較器(C
OM)である。24はマージセル全体を制御する制御部
(CNT)である。25は制御部24の指示によりデー
タバッファ21.22の何れか一方を選択し、その選択
したデータを出力するセレクタ(SEL)である。
第3図は上記実施例の動作説明図であり、ここでは16
個の入力データ(1)〜(16)を昇順に(データ(1
)から順に)ソートする場合を例示している。
個の入力データ(1)〜(16)を昇順に(データ(1
)から順に)ソートする場合を例示している。
ここで第1図乃至第3図を参照して本発明の一実施例に
於けるソート処理装置の動作を説明する。
於けるソート処理装置の動作を説明する。
第1図に示す実施例は、n−f3、即ち7個のマージセ
ル11乃至17による構成を例示している。コントロー
ラ10はソート処理装置全体の制御を司る。
ル11乃至17による構成を例示している。コントロー
ラ10はソート処理装置全体の制御を司る。
マージセル11乃至17は、それぞれ入力されたデータ
を比較し、その結果をコントローラ10から予め指示さ
れていた順番に従い(昇順のときは小さい順に、降順の
時は大きい順に)出力する。比較の結果に従い選択され
たデータは、次段のマージセルに入力されて、そこで再
び比較され選択されて出力される。これを繰り返すこと
により全体をマージソートする。
を比較し、その結果をコントローラ10から予め指示さ
れていた順番に従い(昇順のときは小さい順に、降順の
時は大きい順に)出力する。比較の結果に従い選択され
たデータは、次段のマージセルに入力されて、そこで再
び比較され選択されて出力される。これを繰り返すこと
により全体をマージソートする。
この際の各マージセル(MS) 11.12.・・・、
17の構成を第2図に示す。
17の構成を第2図に示す。
第2図に於いて、21.22はそれぞれ入力されたデー
タを一時的に保持するデータバッファ、23はデータバ
ッファ21. ’22に保持されているデータを比較し
大小関係を決定する比較器、24はマージセル全体を制
御する制御部、25は制御部24の指示によりデータバ
ッファ21.22のいずれか一方のデータバッファのデ
ータを選択し出力するセレクタである。
タを一時的に保持するデータバッファ、23はデータバ
ッファ21. ’22に保持されているデータを比較し
大小関係を決定する比較器、24はマージセル全体を制
御する制御部、25は制御部24の指示によりデータバ
ッファ21.22のいずれか一方のデータバッファのデ
ータを選択し出力するセレクタである。
この第2図に示すマージセル(MS) 11.12.・
・・。
・・。
17の動作を説明すると、制御部24は最初にデータバ
ッファ21.22に比較データを入力する。次にデータ
バッファ21.22からそれぞれデータを読み出し、比
較器23により大小関係を比較し、その比較結果を受け
てデータバッファ21.22の何れのデータを出力する
かを決定しセレクタ25により選択出力する。この際、
選択されなかった側のデータはデータバッファ中にその
まま保持され、次の比較を待つ。更にこの際はその待ち
状態が対応する前段のマージセル(MS)の制御部24
に通知され、そのマージセル(MS)が待ち状態となる
。一方、選択出力された側のデータバッファは空となる
ので、制御部24は次のデータを入力する。このとき次
のデータが用意されていない場合は動作を中断し、デー
タか入力されるのを待つ。データか入力されると先程出
力されたデータとの比較及び選択出力を再び行なう。こ
の動作を比較対象の何れか一方のデータが無くなるまで
繰り返す。片方のデータがなくなると残った方のデータ
をそのまま出力し、入力データか無くなると演算を終了
する。以上により一つのマージセル(MS)iこ於ける
マージソートを終了する。
ッファ21.22に比較データを入力する。次にデータ
バッファ21.22からそれぞれデータを読み出し、比
較器23により大小関係を比較し、その比較結果を受け
てデータバッファ21.22の何れのデータを出力する
かを決定しセレクタ25により選択出力する。この際、
選択されなかった側のデータはデータバッファ中にその
まま保持され、次の比較を待つ。更にこの際はその待ち
状態が対応する前段のマージセル(MS)の制御部24
に通知され、そのマージセル(MS)が待ち状態となる
。一方、選択出力された側のデータバッファは空となる
ので、制御部24は次のデータを入力する。このとき次
のデータが用意されていない場合は動作を中断し、デー
タか入力されるのを待つ。データか入力されると先程出
力されたデータとの比較及び選択出力を再び行なう。こ
の動作を比較対象の何れか一方のデータが無くなるまで
繰り返す。片方のデータがなくなると残った方のデータ
をそのまま出力し、入力データか無くなると演算を終了
する。以上により一つのマージセル(MS)iこ於ける
マージソートを終了する。
次に第1図を参照して上記実施例に於ける装置全体の動
作を説明する。コントローラ10はマージセル11.1
2.・・・、17に対して必要な情報(昇、降順等)を
設定する。マージセル11.12.・・・、17はそれ
ぞれ既にソートされている入力データの集まりを2つず
つ入力に割り当てられており、各々のデータの集まりか
ら最初のデータを内部のデータバッファ21.22にそ
れぞれ入力する。
作を説明する。コントローラ10はマージセル11.1
2.・・・、17に対して必要な情報(昇、降順等)を
設定する。マージセル11.12.・・・、17はそれ
ぞれ既にソートされている入力データの集まりを2つず
つ入力に割り当てられており、各々のデータの集まりか
ら最初のデータを内部のデータバッファ21.22にそ
れぞれ入力する。
第3図は上記実施例の動作を説明するためのもので、1
6個の入力データを昇順にソートする場合を例示してい
る。
6個の入力データを昇順にソートする場合を例示してい
る。
この第3図に従って動作を説明すると、マージセル11
には(1)と(3)のデータか人力され、マージセル1
2には(4)と(2)、マージセル13には(6)と(
8)、マージセル14には(5)と(7)のデータかそ
れぞれ入力される。各々のマージセル11.12.・・
・、17は前述したように内部でマージソートを行ない
、結果データを出力する。
には(1)と(3)のデータか人力され、マージセル1
2には(4)と(2)、マージセル13には(6)と(
8)、マージセル14には(5)と(7)のデータかそ
れぞれ入力される。各々のマージセル11.12.・・
・、17は前述したように内部でマージソートを行ない
、結果データを出力する。
出力された結果データは次の(次段の)マージセル(M
S)の入力となり、上記同様の動作が繰り返される。つ
まり、マージセル15の入力は、マージセル11とマー
ジセル12の出力結果(1)と(2)、又、マージセル
16の入力は、マージセル13とマージセル14の出力
結果(6)と(5)となる。このようにして、最終段の
マージセル17からは、セル11、12.13.14の
最初の入力の中で一番小さい(降順時は逆に大きい)デ
ータ(1)が最初に出力されることになる。マージセル
11は最初の結果(1)を出力すると、次のデータ(9
)を入力し、再び上記同様にマージソートを行なう。今
度は(3)のデータが出力される。マージセル15も同
様に、マージセル11の出力である(3)のデータを人
力し、前回人力し内部バッファに保持されている(2)
のデータとマージソートを行なって(2)のデータを出
力し、それがマージセル17の入力となり、同様にして
次の結果として(2)のデータが出力される。以上の動
作を入力データかなくなるまで繰り返すことにより、1
6個のデータのマージソートか完了する。
S)の入力となり、上記同様の動作が繰り返される。つ
まり、マージセル15の入力は、マージセル11とマー
ジセル12の出力結果(1)と(2)、又、マージセル
16の入力は、マージセル13とマージセル14の出力
結果(6)と(5)となる。このようにして、最終段の
マージセル17からは、セル11、12.13.14の
最初の入力の中で一番小さい(降順時は逆に大きい)デ
ータ(1)が最初に出力されることになる。マージセル
11は最初の結果(1)を出力すると、次のデータ(9
)を入力し、再び上記同様にマージソートを行なう。今
度は(3)のデータが出力される。マージセル15も同
様に、マージセル11の出力である(3)のデータを人
力し、前回人力し内部バッファに保持されている(2)
のデータとマージソートを行なって(2)のデータを出
力し、それがマージセル17の入力となり、同様にして
次の結果として(2)のデータが出力される。以上の動
作を入力データかなくなるまで繰り返すことにより、1
6個のデータのマージソートか完了する。
このようにして、n個(ここでは8個)の既にソートさ
れたデータの集まりをn−1個(7個)のマージセル1
1.12.・・・、17により同時にマージソートする
ことができ、かつこの処理をパイプライン処理形式で連
続して実行できることから、多量データのソート処理を
高速に実行できる。
れたデータの集まりをn−1個(7個)のマージセル1
1.12.・・・、17により同時にマージソートする
ことができ、かつこの処理をパイプライン処理形式で連
続して実行できることから、多量データのソート処理を
高速に実行できる。
尚、上記実施例では、n個の既にソートされたデータの
集まりを入力し、そのn個のデータ全てをソートして1
個のデータ(マージ処理したデータ)を出力するnウェ
イマージ(n way IIerge )を例に動作を
説明したか、上記nウェイマージ機構はデータのソート
そのものの処理にも適用可能であることは勿論である。
集まりを入力し、そのn個のデータ全てをソートして1
個のデータ(マージ処理したデータ)を出力するnウェ
イマージ(n way IIerge )を例に動作を
説明したか、上記nウェイマージ機構はデータのソート
そのものの処理にも適用可能であることは勿論である。
[発明の効果]
以上詳記したように本発明のソート処理装置によれば、
入力データを保持する一対のバッファと、同一対のバッ
ファに貯えられたデータ相互を比較する比較器と、同比
較器の比較結果に従い上記一対のバッファのうち、いず
れか一方のバッファに貯えられたデータを選択するセレ
クタとを具備して、ソートされた一対のデータの集まり
をマージソートするn−1個(但しn−1−3以上の奇
数)のマージセルを2進木の形に接続し、n個の既にソ
ートされているデータの集まりを上記n−1個のマージ
セルによりマージソート処理する構成としたことにより
、n個の既にソートされたデータの集まりを0〜1個の
マージセルにより同時にマージソートすることができ、
かつこの処理をパイプライン処理形式で連続して実行で
きることから、多量データのソート処理を高速に実行で
きる。
入力データを保持する一対のバッファと、同一対のバッ
ファに貯えられたデータ相互を比較する比較器と、同比
較器の比較結果に従い上記一対のバッファのうち、いず
れか一方のバッファに貯えられたデータを選択するセレ
クタとを具備して、ソートされた一対のデータの集まり
をマージソートするn−1個(但しn−1−3以上の奇
数)のマージセルを2進木の形に接続し、n個の既にソ
ートされているデータの集まりを上記n−1個のマージ
セルによりマージソート処理する構成としたことにより
、n個の既にソートされたデータの集まりを0〜1個の
マージセルにより同時にマージソートすることができ、
かつこの処理をパイプライン処理形式で連続して実行で
きることから、多量データのソート処理を高速に実行で
きる。
第1図は本発明の一実施例を示すブロック図、第2図は
上記実施例に於けるマージセルの1つの内部構成要素を
示すブロック図、第3図は上記実施例の動作説明図であ
る。 IO・・・コントローラ、11.12. ・・・、 L
7・・マージセル(MS) 、21.22・・・データ
バッファ(DB)、23・・・比較器(CON ) 、
24・・・制御部(CNT ) 、25・・・セレクタ
(SEL)。 出願人代理人 弁理士 鈴江武彦 第2図 )−1び°ゝ 第3図
上記実施例に於けるマージセルの1つの内部構成要素を
示すブロック図、第3図は上記実施例の動作説明図であ
る。 IO・・・コントローラ、11.12. ・・・、 L
7・・マージセル(MS) 、21.22・・・データ
バッファ(DB)、23・・・比較器(CON ) 、
24・・・制御部(CNT ) 、25・・・セレクタ
(SEL)。 出願人代理人 弁理士 鈴江武彦 第2図 )−1び°ゝ 第3図
Claims (1)
- 入力データを保持する一対のバッファと、同一対のバッ
ファに貯えられたデータ相互を比較する比較器と、同比
較器の比較結果に従い上記一対のバッファのうち、いず
れか一方のバッファに貯えられたデータを選択するセレ
クタとを具備して、ソートされた一対のデータの集まり
をマージソートするn−1個(但しn−1=3以上の奇
数)のマージセルを2進木の形に接続し、n個の既にソ
ートされているデータの集まりを上記n−1個のマージ
セルによりマージソート処理することを特徴としたソー
ト処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30936590A JPH04180124A (ja) | 1990-11-15 | 1990-11-15 | ソート処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30936590A JPH04180124A (ja) | 1990-11-15 | 1990-11-15 | ソート処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04180124A true JPH04180124A (ja) | 1992-06-26 |
Family
ID=17992127
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30936590A Pending JPH04180124A (ja) | 1990-11-15 | 1990-11-15 | ソート処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04180124A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6330559B1 (en) | 1998-06-19 | 2001-12-11 | Mitsubishi Denki Kabushiki Kaisha | Merge sorting apparatus with comparison nodes connected in tournament tree shape |
| WO2001071483A3 (en) * | 2000-03-21 | 2002-03-14 | Texas Instr Santa Rosa Inc | Determinaton of a minimum or maximum value in a set of data |
| CN104932864A (zh) * | 2015-06-25 | 2015-09-23 | 许继电气股份有限公司 | 基于流水线进程的归并排序方法及使用该方法的阀控装置 |
-
1990
- 1990-11-15 JP JP30936590A patent/JPH04180124A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6330559B1 (en) | 1998-06-19 | 2001-12-11 | Mitsubishi Denki Kabushiki Kaisha | Merge sorting apparatus with comparison nodes connected in tournament tree shape |
| WO2001071483A3 (en) * | 2000-03-21 | 2002-03-14 | Texas Instr Santa Rosa Inc | Determinaton of a minimum or maximum value in a set of data |
| CN104932864A (zh) * | 2015-06-25 | 2015-09-23 | 许继电气股份有限公司 | 基于流水线进程的归并排序方法及使用该方法的阀控装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4628483A (en) | One level sorting network | |
| US5122979A (en) | Method and a digital electronic device for the evaluation of an extremum of a set of binary encoded data words | |
| US3863224A (en) | Selectively controllable shift register and counter divider network | |
| JPH04180124A (ja) | ソート処理装置 | |
| JP2002229772A (ja) | ソート処理方法およびソート処理装置 | |
| US4651301A (en) | Circuit arrangement for performing rapid sortation or selection according to rank | |
| CN118642680B (zh) | 一种基于fpga的堆排序系统及方法 | |
| JPH09128241A (ja) | ファジーロジックプロセッサの言語入力値の所属関数値に対する配列方法および装置 | |
| CN111427537A (zh) | 一种基于fpga的脉动阵列并行排序方法及装置 | |
| Cooper et al. | Efficient selection on a binary tree | |
| JPH01173230A (ja) | ソート処理装置 | |
| JPH0926872A (ja) | パイプラインマージソータ | |
| JPS60144830A (ja) | 情報処理装置 | |
| JP4158264B2 (ja) | ソート・マージ処理装置およびソート・マージ回路 | |
| JPS62182857A (ja) | 入出力制御装置 | |
| JPS61138333A (ja) | 演算モジユ−ル | |
| JP3347592B2 (ja) | マージソート処理装置 | |
| JPH01288920A (ja) | データソート装置 | |
| RU79692U1 (ru) | Устройство пирамидальной сортировки чисел | |
| JPS59229643A (ja) | ソ−ト演算回路 | |
| SU482751A1 (ru) | Устройство дл решени комбинаторнологических задач | |
| JPH08305678A (ja) | 並列ソート方式 | |
| JPH023225B2 (ja) | ||
| JPH03216730A (ja) | 電子計算機 | |
| JPS627578B2 (ja) |