JPH01189723A - マージ・ソータ - Google Patents
マージ・ソータInfo
- Publication number
- JPH01189723A JPH01189723A JP1270888A JP1270888A JPH01189723A JP H01189723 A JPH01189723 A JP H01189723A JP 1270888 A JP1270888 A JP 1270888A JP 1270888 A JP1270888 A JP 1270888A JP H01189723 A JPH01189723 A JP H01189723A
- Authority
- JP
- Japan
- Prior art keywords
- string
- strings
- input
- cell
- mode
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 abstract description 28
- 230000006870 function Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 241000009298 Trigla lyra Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明はデータベース処理に代表される非数値処理分
野における基本演算の1つであるソート処理を高速に効
率良く実行し得るようにしたマージ・ソータに関する。
野における基本演算の1つであるソート処理を高速に効
率良く実行し得るようにしたマージ・ソータに関する。
(従来の技術)
データを特定の順序に並び換えるソート処理は非数値処
理分野における基本演算の1つであり、古くから数多く
のソフトウェアのアルゴリズム(単純選択法、単純交換
法、ヒープソート法、分割ソート法、クイックソート法
、マージソート法等)か提案されて、目的に応じた使い
分けが行われてきた。
理分野における基本演算の1つであり、古くから数多く
のソフトウェアのアルゴリズム(単純選択法、単純交換
法、ヒープソート法、分割ソート法、クイックソート法
、マージソート法等)か提案されて、目的に応じた使い
分けが行われてきた。
1970年代に入ると、ホスト計算機のソート処理ルー
チンを付加プロセッサのファームウェアn個のレコード
をn個のセルを用いてソートするパイトニック・ソータ
や並列計数ソータ、log n個のセルを用いてn個数
のレコードをソートするパイプライン方式のソータ等が
ある。これらを現状の技術を用いて実現するという観点
からみると、ハードウェアの小型化が可能という利点か
ら、log n個のセルを用いてn個のレコードをソー
トするパイプライン方式のソータが実用的であるとされ
ている。
チンを付加プロセッサのファームウェアn個のレコード
をn個のセルを用いてソートするパイトニック・ソータ
や並列計数ソータ、log n個のセルを用いてn個数
のレコードをソートするパイプライン方式のソータ等が
ある。これらを現状の技術を用いて実現するという観点
からみると、ハードウェアの小型化が可能という利点か
ら、log n個のセルを用いてn個のレコードをソー
トするパイプライン方式のソータが実用的であるとされ
ている。
パイプライン方式のソータで実用化されたちの1つに2
ウエイ・マージ・ソータかある。このソータは、2つの
ソートされたレコード列(以下、ストリングと呼ぶ)を
突き合せて1つのソートされたストリングを生成するマ
ージ操作を、1次元に多数個配置したセルにより連続的
に行うものである。第5図に3段の2ウエイ・マージ・
ソータを用いて昇順に並んだ5個のレコード(1,2゜
・・・の順に入力されるとする)を降順に並び換える時
のこのソータの動作原理を示し、第6図にそのパイプラ
イン動作動作の様子を示す。ソータの各一’−:15<
U Mに、偶数番目の入力ストリングがLMに交互に
格納される。ソータは、入力レコード列(以下、ストリ
ームと呼ぶ)を長さ1のストリングが−”並んたものと
見なして、これを入力順に2個ずつマージし、各段でス
トリング長(ストリングのレコード数)を倍々にしてい
く。即ち、第5図に示されているように、セル21に入
力されるストリング長は1であるから、セル21は、長
さ1のストリング1,2,3,4.5を入力順にUMと
LMに交互に格納しつつUMとLMのレコードのマージ
操作を行い、長さが2のストリング[2,j]c4.、
3] [5,−]を生成し、セル22に出力する動作
を行う。セル2 は、セル21より送られてくる長さ2
のストリングを入力順にUMとLMに交互に格納しつつ
UMと’LMのレコードのマージ操作を行い、長さ4の
ストリング[4,3゜2.11 [5,−、−+−1
を生成し、セル23に出力する動作を行う。このように
セル2i (i−1,2,・)はセル21−1より送
られてくる長さ2 j−1のストリングを入力順にメモ
リー1のUMとLMに交互に格納しつつUMとLMのレ
コードのマージ操作を行い、長さ21のストリングを生
成し、セル2 i+1に出力する。この時、各段は偶数
番口のストリングの先頭データが入力される毎′贋に処
理を開始し、第6図に示すようなパイプライン動作を行
う。第6図より本ソータの処理時間T(1)を求めると
、 T (1) = t i + d L +d 2 +
t O・・・(1)となる。ここで、tlとtoはそれ
ぞれ5個のレコードからなるストリームを入力する時間
と出力する時間d1はストリームのレコード数が2の累
ノ 乗値からずれたために生じた遅れ時間を、d2はストリ
ームがセルを通過するための遅れ時間を示す。ストリー
ムのレコード数をC1セル数をN。
ウエイ・マージ・ソータかある。このソータは、2つの
ソートされたレコード列(以下、ストリングと呼ぶ)を
突き合せて1つのソートされたストリングを生成するマ
ージ操作を、1次元に多数個配置したセルにより連続的
に行うものである。第5図に3段の2ウエイ・マージ・
ソータを用いて昇順に並んだ5個のレコード(1,2゜
・・・の順に入力されるとする)を降順に並び換える時
のこのソータの動作原理を示し、第6図にそのパイプラ
イン動作動作の様子を示す。ソータの各一’−:15<
U Mに、偶数番目の入力ストリングがLMに交互に
格納される。ソータは、入力レコード列(以下、ストリ
ームと呼ぶ)を長さ1のストリングが−”並んたものと
見なして、これを入力順に2個ずつマージし、各段でス
トリング長(ストリングのレコード数)を倍々にしてい
く。即ち、第5図に示されているように、セル21に入
力されるストリング長は1であるから、セル21は、長
さ1のストリング1,2,3,4.5を入力順にUMと
LMに交互に格納しつつUMとLMのレコードのマージ
操作を行い、長さが2のストリング[2,j]c4.、
3] [5,−]を生成し、セル22に出力する動作
を行う。セル2 は、セル21より送られてくる長さ2
のストリングを入力順にUMとLMに交互に格納しつつ
UMと’LMのレコードのマージ操作を行い、長さ4の
ストリング[4,3゜2.11 [5,−、−+−1
を生成し、セル23に出力する動作を行う。このように
セル2i (i−1,2,・)はセル21−1より送
られてくる長さ2 j−1のストリングを入力順にメモ
リー1のUMとLMに交互に格納しつつUMとLMのレ
コードのマージ操作を行い、長さ21のストリングを生
成し、セル2 i+1に出力する。この時、各段は偶数
番口のストリングの先頭データが入力される毎′贋に処
理を開始し、第6図に示すようなパイプライン動作を行
う。第6図より本ソータの処理時間T(1)を求めると
、 T (1) = t i + d L +d 2 +
t O・・・(1)となる。ここで、tlとtoはそれ
ぞれ5個のレコードからなるストリームを入力する時間
と出力する時間d1はストリームのレコード数が2の累
ノ 乗値からずれたために生じた遅れ時間を、d2はストリ
ームがセルを通過するための遅れ時間を示す。ストリー
ムのレコード数をC1セル数をN。
1ステツプの処理時間をTとすると(1)式は次のよう
に表わされる。
に表わされる。
T(1)=CT+ (2a−C)T+ (N−1)T+
CT ・・・(2)ただし、a
=<10g2C> (< >□は小数点以下を切り上げ
た整数値) 、ti =tO=C’r、 di=(
2a−C)T、d2=(N−1)Tである。
CT ・・・(2)ただし、a
=<10g2C> (< >□は小数点以下を切り上げ
た整数値) 、ti =tO=C’r、 di=(
2a−C)T、d2=(N−1)Tである。
上述の例の場合、C=5、N=3であるからa=3とな
り、T(1)は15Tとなる。
り、T(1)は15Tとなる。
−、、=、、 (L )式において、ti、to、d2
はバードウ”::”lニアの仕様により定まる値である
が、dlはストリーj−ムのレコード数により決まる値
であるため1、制御方式を工夫することにより除去する
ことが可−6= 能である。
はバードウ”::”lニアの仕様により定まる値である
が、dlはストリーj−ムのレコード数により決まる値
であるため1、制御方式を工夫することにより除去する
ことが可−6= 能である。
、:そこで、従来より、」二記d1を取り除く方式とし
て、疑似レコード追加方式マージ・ソータ(Todd、
S、:Algorithm and Hardware
for a MergeSort Using Mu
ltiple Processors、lBM J、R
ES。
て、疑似レコード追加方式マージ・ソータ(Todd、
S、:Algorithm and Hardware
for a MergeSort Using Mu
ltiple Processors、lBM J、R
ES。
DEVELOP、、Vol、22.No、5.PP、5
09−517(1978))やダイナミック・マージ方
式マージ・ソータ(林、他;パイプラインマージンート
アルゴリズムの改良によるソート時間の短縮 情報処理
学会第29口金国大会PP−763−764(1984
))が提案されている。
09−517(1978))やダイナミック・マージ方
式マージ・ソータ(林、他;パイプラインマージンート
アルゴリズムの改良によるソート時間の短縮 情報処理
学会第29口金国大会PP−763−764(1984
))が提案されている。
疑似レコード追加方式マージ・ソータは、第7図に示す
ように、ストリームのレコード数が2の累乗値になるよ
うに、入力ストリームの先頭に疑似レコード(十)を追
加して仮想的な動作を考え、第8図に示すステップ4よ
り実際にソータを動作させることにより遅れ時間(dl
)を除去しようとするものである。しかし、ソータをス
テップ4より動作させるためには、ステップ1,2.3
の処理が終了したものとしてセル21〜23に制御パラ
メータの初期値をセットする必要があるので、−なる欠
点を有している。
ように、ストリームのレコード数が2の累乗値になるよ
うに、入力ストリームの先頭に疑似レコード(十)を追
加して仮想的な動作を考え、第8図に示すステップ4よ
り実際にソータを動作させることにより遅れ時間(dl
)を除去しようとするものである。しかし、ソータをス
テップ4より動作させるためには、ステップ1,2.3
の処理が終了したものとしてセル21〜23に制御パラ
メータの初期値をセットする必要があるので、−なる欠
点を有している。
′1
)一方、ダイナミック・マージ方式マージ・ソー〉は第
9図に示すように、ストリング数が奇数となるセルで最
後のストリングが入力されてきた時に、その時のマージ
動作を中断して最後にストリングが先にマージされるよ
うにストリームのダイナミックな切換を行うことにより
、遅れ時間(dl)を除去するものである。この方式の
処理例を第10図に示す。第10図ではステップ5と6
でダイナミック・マージ動作が行なわれている。
9図に示すように、ストリング数が奇数となるセルで最
後のストリングが入力されてきた時に、その時のマージ
動作を中断して最後にストリングが先にマージされるよ
うにストリームのダイナミックな切換を行うことにより
、遅れ時間(dl)を除去するものである。この方式の
処理例を第10図に示す。第10図ではステップ5と6
でダイナミック・マージ動作が行なわれている。
即ち、ステップ5において、セル41は[5コが最後の
ストリングで奇数番目であることを検出し、ストリング
[3]と[4]をマージしてストリング[4,,3]を
出力する動作を、[4]を出力した時点でストリング[
3]と[5]をマージする動作に切換える。また、セル
42は、ステップ6において、ストリング[2,1]
と[4]をマージしてストリング[4,2,1]を出力
する動作を、4を出力した時点でストリング[2,1]
と[5,3]をマージする動作に切換える。この方各
セルは処理ストリングのダイナミックな変更と糧々の長
さのストリングを扱う必要があるので制iが複雑になる
欠点を有している。
ストリングで奇数番目であることを検出し、ストリング
[3]と[4]をマージしてストリング[4,,3]を
出力する動作を、[4]を出力した時点でストリング[
3]と[5]をマージする動作に切換える。また、セル
42は、ステップ6において、ストリング[2,1]
と[4]をマージしてストリング[4,2,1]を出力
する動作を、4を出力した時点でストリング[2,1]
と[5,3]をマージする動作に切換える。この方各
セルは処理ストリングのダイナミックな変更と糧々の長
さのストリングを扱う必要があるので制iが複雑になる
欠点を有している。
(発明が解決しようとする問題点)
上述の如く、従来のパイプラ・fン方式マージ・ソート
は入力ストリングのレコード数が2の累乗でない場合、
遅れ時間(dl)が生ずる欠点を有していた。この原因
は、2ウエイ・マージ・ソータの場合、各セルが2つの
ストリングをマージして1つのストリングを出力する動
作を繰返すため、セルで扱うストリング数が偶数であれ
ば良いが奇数の場合にはマージする相手のストリングが
無くなる場合かあるためである。この対策として、スト
リームのレコード数が2の累乗になるように疑似レコー
ドを追加する方法やダイナミック・マージを行う方法が
提案されていた。しかし、これらの方法はアルゴリズム
としては正しいものの、実現性に欠ける欠点を有してい
た。
は入力ストリングのレコード数が2の累乗でない場合、
遅れ時間(dl)が生ずる欠点を有していた。この原因
は、2ウエイ・マージ・ソータの場合、各セルが2つの
ストリングをマージして1つのストリングを出力する動
作を繰返すため、セルで扱うストリング数が偶数であれ
ば良いが奇数の場合にはマージする相手のストリングが
無くなる場合かあるためである。この対策として、スト
リームのレコード数が2の累乗になるように疑似レコー
ドを追加する方法やダイナミック・マージを行う方法が
提案されていた。しかし、これらの方法はアルゴリズム
としては正しいものの、実現性に欠ける欠点を有してい
た。
本発明の目的は、複雑な制御を用いることなく、上記入
力ストリングのレコード数の2の累乗(問題点を解決す
るための手段) ゛ 本発明に係るマージ・ソータは、各段のセル選択す
る機能とを持たせ、これらの機能を組合わせることによ
り、各セルでマージ操作を行なうストリング数が常に偶
数になるようにしたものである。
力ストリングのレコード数の2の累乗(問題点を解決す
るための手段) ゛ 本発明に係るマージ・ソータは、各段のセル選択す
る機能とを持たせ、これらの機能を組合わせることによ
り、各セルでマージ操作を行なうストリング数が常に偶
数になるようにしたものである。
ソート・モードは、前段から連続的に入力される2つの
人力ストリングをメモリに格納しつつ、後の上記入力ス
トリングの先頭のレコードか入力−1〇 − される毎に、前記両ストリングを構成するレコードの大
小関係を比較しその比較結果から決定される順序に並び
変えつつ前記両ストリングをマージして新たな1つのス
トリングとして次段に出力するモードである。
人力ストリングをメモリに格納しつつ、後の上記入力ス
トリングの先頭のレコードか入力−1〇 − される毎に、前記両ストリングを構成するレコードの大
小関係を比較しその比較結果から決定される順序に並び
変えつつ前記両ストリングをマージして新たな1つのス
トリングとして次段に出力するモードである。
パス・モードは、前記入力ストリングを前記メモリを介
さずにそのまま次段に転送するモードである。
さずにそのまま次段に転送するモードである。
各セルは、当該セルで処理するストリング数が1 (作
用) 1 本発明によれば、入力ストリング数が奇数の場合に
は、最初のストリングを直ちに次段に転送するので、通
常のマージ操作を行なう場合に比べて処理ステップ数を
削減する作用を呈する。また、各セルでは、マージ操作
を行なうストリング数が常に偶数となるため無駄のない
処理が行われ、入カレコード数の2の累乗値からのすれ
に起因する遅れ時間(dl)を除去することができる。
用) 1 本発明によれば、入力ストリング数が奇数の場合に
は、最初のストリングを直ちに次段に転送するので、通
常のマージ操作を行なう場合に比べて処理ステップ数を
削減する作用を呈する。また、各セルでは、マージ操作
を行なうストリング数が常に偶数となるため無駄のない
処理が行われ、入カレコード数の2の累乗値からのすれ
に起因する遅れ時間(dl)を除去することができる。
(実施例)
本発明の一実施例に係るマージ・ソータの動作原理図を
第1図に、そのパイプライン処理動作の様子を第2図に
示す。
第1図に、そのパイプライン処理動作の様子を第2図に
示す。
このマージ・ソータは、3つの処理ユニット5.5.5
3を縦続接続して構成され、各処理ユニット5i(i=
1〜3)は、メモリ11とセル61とで構成されたもの
となっている。各セル61は、ソート・モードとパス・
モードとを持ち、自身が処理するストリング数が奇数の
時に最初のストリングだけをパス・モードで処理し残り
へ 1−・倉遅れ時間(dl)が生じない。以下、第1図と
第2図を用いてその理由を説明する。
3を縦続接続して構成され、各処理ユニット5i(i=
1〜3)は、メモリ11とセル61とで構成されたもの
となっている。各セル61は、ソート・モードとパス・
モードとを持ち、自身が処理するストリング数が奇数の
時に最初のストリングだけをパス・モードで処理し残り
へ 1−・倉遅れ時間(dl)が生じない。以下、第1図と
第2図を用いてその理由を説明する。
ユ、1セル61は長さ1のストリングを5個、即ち、奇
数個のストリングを処理しなければならないので、まず
パス・モードで最初のストリング[1]をメモリを介さ
ずにそのままセル62に転送し、以後ソート・モードで
ストリング[2]をUMに、[3]をLMに格納しつつ
これら2つのストリングのマージ操作を行い、長さ2の
ストリング[3゜2]を、同様にして[5,4]をセル
6゜に出力する。次に、セル62は長さ2のストリング
を3個処理しなければならないので、セル1と同様に最
初のストリング[1,−]をパス・モードでセル63に
転送し、以後ソート・モードでストリング[3,2コを
UMに、[5,4]をLMに格納しつつこれら2つのス
トリングのマージ操作を行い、長さ4のストリング[5
,4,3,2]をセル6 に出力する。セル63は長さ
4のストリングを2個処理すればよいので、2番目のス
トリングの最初のレコードが入力されると直ちにマージ
、”めデータ若しくは入力レコード3を格納する入カシ レジスタ11とメモリ11のUM部とLM部から読み出
されたデータを格納するUレジスタ12及びLレジスタ
13と、Uレジスタ12とLレジスタ13の内容を比較
する比較器14と、この比較器14の比較結果によりU
レジスタ12又はLレジスタ13のデータを選択するセ
レクタ15と、選択されたデータを最終結果として、又
は次段のセルに出力するため一時保持する出力レジスタ
16と、メモリ11のリードアドレス及びライトアドレ
スを生成するアドレス制御回路17と、外部から制御情
報を保持する制御情報保持レジスタ18と、制御情報保
持レジスタ18の値により動作モードの切換信号を生成
する動作モード制御回路19と、モードの切換を行う切
換器20と、ソート・モード動作のシーフェンス発生器
21およびパス・モード動作シーフェンス発生器22と
より構成される。
数個のストリングを処理しなければならないので、まず
パス・モードで最初のストリング[1]をメモリを介さ
ずにそのままセル62に転送し、以後ソート・モードで
ストリング[2]をUMに、[3]をLMに格納しつつ
これら2つのストリングのマージ操作を行い、長さ2の
ストリング[3゜2]を、同様にして[5,4]をセル
6゜に出力する。次に、セル62は長さ2のストリング
を3個処理しなければならないので、セル1と同様に最
初のストリング[1,−]をパス・モードでセル63に
転送し、以後ソート・モードでストリング[3,2コを
UMに、[5,4]をLMに格納しつつこれら2つのス
トリングのマージ操作を行い、長さ4のストリング[5
,4,3,2]をセル6 に出力する。セル63は長さ
4のストリングを2個処理すればよいので、2番目のス
トリングの最初のレコードが入力されると直ちにマージ
、”めデータ若しくは入力レコード3を格納する入カシ レジスタ11とメモリ11のUM部とLM部から読み出
されたデータを格納するUレジスタ12及びLレジスタ
13と、Uレジスタ12とLレジスタ13の内容を比較
する比較器14と、この比較器14の比較結果によりU
レジスタ12又はLレジスタ13のデータを選択するセ
レクタ15と、選択されたデータを最終結果として、又
は次段のセルに出力するため一時保持する出力レジスタ
16と、メモリ11のリードアドレス及びライトアドレ
スを生成するアドレス制御回路17と、外部から制御情
報を保持する制御情報保持レジスタ18と、制御情報保
持レジスタ18の値により動作モードの切換信号を生成
する動作モード制御回路19と、モードの切換を行う切
換器20と、ソート・モード動作のシーフェンス発生器
21およびパス・モード動作シーフェンス発生器22と
より構成される。
セル61は3サイクルで第4図に示すようなソート・モ
ード動作またはパス・モード動作の1処′即ち、ソート
・モードでは、最初のストリングをUM部に格納して次
のストリングをLM部に格納しはじめると、第4図に示
すように、サイクル1で入力データの入力レジスタ11
へのセットとメモリ11のUM部のデータのUレジスタ
12への読み出し動作を、サイクル2でメモリ11のL
M部のデータのしレジスタ13への読み出し動作を、サ
イクル3で両者の比較を行って所定のデータを出力レジ
スタにセットする動作と入力レジスタ11の内容をメモ
リ11に格納する動作とを行う。
ード動作またはパス・モード動作の1処′即ち、ソート
・モードでは、最初のストリングをUM部に格納して次
のストリングをLM部に格納しはじめると、第4図に示
すように、サイクル1で入力データの入力レジスタ11
へのセットとメモリ11のUM部のデータのUレジスタ
12への読み出し動作を、サイクル2でメモリ11のL
M部のデータのしレジスタ13への読み出し動作を、サ
イクル3で両者の比較を行って所定のデータを出力レジ
スタにセットする動作と入力レジスタ11の内容をメモ
リ11に格納する動作とを行う。
一方、パス・モードでは、入力データをサイクル1で入
力レジスタ11に受は取り、サイクル2でそれをUレジ
スタ12に転送し、サイクル3でそれを出力レジスタ1
6に転送する動作を行う。
力レジスタ11に受は取り、サイクル2でそれをUレジ
スタ12に転送し、サイクル3でそれを出力レジスタ1
6に転送する動作を行う。
これらの動作モードは、動作モード制御回路19で、制
御情報として与えられるストリームのレコード数と当該
セルで処理できるストリング長(ストリングのレコード
数)から当該セルが実際に処理するストリング数を求め
ることにより次の、路19は、求めたストリング数の値
が奇数の時は、゛1人力されてくる最初のストリングだ
けをノくス・モ1:it “′ニドで、残りのストリングをソート・モードで処、
門し、偶数の時はパス・モードだけで処理するよ゛うに
切換器20を制御する。
御情報として与えられるストリームのレコード数と当該
セルで処理できるストリング長(ストリングのレコード
数)から当該セルが実際に処理するストリング数を求め
ることにより次の、路19は、求めたストリング数の値
が奇数の時は、゛1人力されてくる最初のストリングだ
けをノくス・モ1:it “′ニドで、残りのストリングをソート・モードで処、
門し、偶数の時はパス・モードだけで処理するよ゛うに
切換器20を制御する。
このように、当該セルで処理すべきストリング数が奇数
の時は最初のストリングをメモリに格納しないで直接次
段のセルに転送するパス・モード機能を導入することに
より、遅れ時間(dl)を除去してソート処理時間を短
縮することができる。
の時は最初のストリングをメモリに格納しないで直接次
段のセルに転送するパス・モード機能を導入することに
より、遅れ時間(dl)を除去してソート処理時間を短
縮することができる。
なお、上記実施例では2ウエイ・マージ・ソータについ
て述べたが、本発明は2ウエイ・マージ・ソータに限定
されるものではなくマルチウェイ・マージ・ソータにも
適用可能である。
て述べたが、本発明は2ウエイ・マージ・ソータに限定
されるものではなくマルチウェイ・マージ・ソータにも
適用可能である。
[発明の効果]
本発明によれば、マージ・ソータの各セルは、ソート・
モード動作とパス・モード動作を行う2処理し残りをソ
ート・モードで処理するという極めで簡単な制御によっ
て、各セルでの操作を行う・ストリング数をいつも偶数
にすることができるので、」二記入カストリングのレコ
ード数の2の累乗値からのずれに起因する遅れ時間(d
l)を簡単1゜ な制御回路で除去することかできる。
モード動作とパス・モード動作を行う2処理し残りをソ
ート・モードで処理するという極めで簡単な制御によっ
て、各セルでの操作を行う・ストリング数をいつも偶数
にすることができるので、」二記入カストリングのレコ
ード数の2の累乗値からのずれに起因する遅れ時間(d
l)を簡単1゜ な制御回路で除去することかできる。
1 第1図は本発明の一実施例に係るマージ・ソ−タの
動作原理図、第2図は同マージ・ソータのパイプライン
処理動作の様子を示す図、第3図は同マージ・ソータを
構成するセルの更に詳細な構成図、第4図は同マージ・
ソータの各セルにおけるソート・モード動作とパス・モ
ード動作の説明図、第5図は従来方式のマージ・ソータ
の動作原理図、第6図は同マージ・ソータのパイプライ
ン処理動作の様子を示す図、第7図は擬似レコード追加
方式マージ・ソータの動作原理図、第8図は同マージ・
ソータのパイプライン処理動作の様子を示す図、第9図
はダイナミック・マージ方式のマージ・ソータの動作原
理図、第10図は同マー= 17− ジ・ソータのパイプライン処理動作の様子を示す図であ
る。 1〜1 ・・・メモリ、2〜2.3〜3 。 4〜4.6〜6 ・・・セル、51〜53・・・処理ユ
ニット、211・・・入力レジスタ、12・・・Uレジ
ースタ\ 13・・・Lレジスタ、14・・・比較器、
15・・・・、゛ □′女レしタ、16・・・出力レジスタ、17・・・ア
ドレス制御回路、18・・・制御情報保持レジスタ、1
9・・・“・動作モード制御回路、20・・・切換器、
21・・ソー3]i: = 10図
動作原理図、第2図は同マージ・ソータのパイプライン
処理動作の様子を示す図、第3図は同マージ・ソータを
構成するセルの更に詳細な構成図、第4図は同マージ・
ソータの各セルにおけるソート・モード動作とパス・モ
ード動作の説明図、第5図は従来方式のマージ・ソータ
の動作原理図、第6図は同マージ・ソータのパイプライ
ン処理動作の様子を示す図、第7図は擬似レコード追加
方式マージ・ソータの動作原理図、第8図は同マージ・
ソータのパイプライン処理動作の様子を示す図、第9図
はダイナミック・マージ方式のマージ・ソータの動作原
理図、第10図は同マー= 17− ジ・ソータのパイプライン処理動作の様子を示す図であ
る。 1〜1 ・・・メモリ、2〜2.3〜3 。 4〜4.6〜6 ・・・セル、51〜53・・・処理ユ
ニット、211・・・入力レジスタ、12・・・Uレジ
ースタ\ 13・・・Lレジスタ、14・・・比較器、
15・・・・、゛ □′女レしタ、16・・・出力レジスタ、17・・・ア
ドレス制御回路、18・・・制御情報保持レジスタ、1
9・・・“・動作モード制御回路、20・・・切換器、
21・・ソー3]i: = 10図
Claims (1)
- 【特許請求の範囲】 複数のストリングからなるレコード列を格納するメモリ
と、連続的に入力される前記複数のストリングを所定の
順序で前期メモリに格納するとともに、所定の規定に従
ってマージして出力するセルとからなる処理ユニットを
複数段接続して構成され、これら処理ユニットによるパ
イプライン処理によって入力レコード列をソーティング
するマージ・ソータにおいて、 前記各セルは、前段から連続的に入力される2つの入力
ストリングを前記メモリに格納しつつ、後の上記入力ス
トリングの先頭のレコードが入力される毎に、前記両ス
トリングを構成するレコードの大小関係を比較しその比
較結果から決定される順序に並び変えながら前記両スト
リングをマージして新たな1つのストリングとして次段
に出力するソート・モードと、前記入力ストリングを前
記メモリを介さずにそのまま次段に転送するパス・モー
ドとを有し、当該セルで処理するストリング数が奇数の
時は、最初のストリングが入力されたら直ちに該ストリ
ングだけを前期パス・モードで処理し、その他のストリ
ングについては前期ソート・モードで処理するものであ
ることを特徴とするマージ・ソータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1270888A JPH01189723A (ja) | 1988-01-25 | 1988-01-25 | マージ・ソータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1270888A JPH01189723A (ja) | 1988-01-25 | 1988-01-25 | マージ・ソータ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01189723A true JPH01189723A (ja) | 1989-07-28 |
| JPH0437455B2 JPH0437455B2 (ja) | 1992-06-19 |
Family
ID=11812913
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1270888A Granted JPH01189723A (ja) | 1988-01-25 | 1988-01-25 | マージ・ソータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01189723A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05274117A (ja) * | 1992-03-25 | 1993-10-22 | Masaru Kiregawa | ソート処理方式 |
-
1988
- 1988-01-25 JP JP1270888A patent/JPH01189723A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05274117A (ja) * | 1992-03-25 | 1993-10-22 | Masaru Kiregawa | ソート処理方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0437455B2 (ja) | 1992-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Kumar et al. | An efficient implementation of Batcher's odd-even merge algorithm and its application in parallel sorting schemes | |
| WO2003091872A1 (en) | Parallel merge/sort processing device, method, and program | |
| CN114780151A (zh) | 一种基于归并排序算法实现可变规模数量的数据排序系统 | |
| CN112015366A (zh) | 数据排序方法、数据排序装置及数据库系统 | |
| JPH01189723A (ja) | マージ・ソータ | |
| US5542080A (en) | Method for controlling execution of data driven type information processor | |
| JPH01173230A (ja) | ソート処理装置 | |
| JP3525960B2 (ja) | 並列ソート方式 | |
| JP3264114B2 (ja) | ソート装置 | |
| JPS6057436A (ja) | 演算処理装置 | |
| JP3447180B2 (ja) | データ演算回路 | |
| JPH02162419A (ja) | データ検索回路 | |
| JPS63172335A (ja) | ソ−ト処理装置 | |
| JPH01177122A (ja) | ソート処理装置 | |
| JPH01288920A (ja) | データソート装置 | |
| JPS62154140A (ja) | マ−ジ処理装置 | |
| JPH01188933A (ja) | データ処理装置 | |
| JPS59123048A (ja) | ソ−ト処理装置 | |
| JPH0926872A (ja) | パイプラインマージソータ | |
| JPS62154139A (ja) | デ−タ選別装置 | |
| JPS6324324A (ja) | ソ−ト処理装置 | |
| JPH0334015A (ja) | クイックソート技法における入出力の並行処理方法 | |
| JPH0378827A (ja) | ベクトル処理装置及びマージ処理方法 | |
| JPS61131136A (ja) | 履歴蓄積方式 | |
| JPS58146935A (ja) | ソ−ト処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |