JPH0926872A - パイプラインマージソータ - Google Patents

パイプラインマージソータ

Info

Publication number
JPH0926872A
JPH0926872A JP17596295A JP17596295A JPH0926872A JP H0926872 A JPH0926872 A JP H0926872A JP 17596295 A JP17596295 A JP 17596295A JP 17596295 A JP17596295 A JP 17596295A JP H0926872 A JPH0926872 A JP H0926872A
Authority
JP
Japan
Prior art keywords
comparison
register
record
sort
key
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
Application number
JP17596295A
Other languages
English (en)
Inventor
Takahiko Yamazaki
高日子 山崎
Yasutaka Takeda
保孝 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP17596295A priority Critical patent/JPH0926872A/ja
Publication of JPH0926872A publication Critical patent/JPH0926872A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 パイプラインマージソータの構成の簡略化及
び処理の高速化を図る。 【解決手段】 ソート処理装置がソートキー部のみを比
較し、ソートキー部が同値の場合は、比較器8がキー同
値信号15を同値処理制御器61に発する。同値処理制
御器61は入力レコード列に付加された初期化ワードに
格納された動作モードに従って、FIFO、LIFO、
重複キーを有するレコードの除去の処理を行う。また昇
降順チェック器51は初期化ワードで指定された場合、
比較レジスタ6、7へのレコードの格納順を監視し、ソ
ート済みレコード列の昇降順チェックを行う。昇降順チ
ェックはパイプラインマージソータ中の余ったソート処
理装置を初期化ワードにて指定して行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データレコードを
ソートキー部の大小関係に従って順番に並べ替えるパイ
プラインマージソータに関する。
【0002】
【従来の技術】図21、図22はそれぞれ、例えばProc
eedings of 5th International Workshop on Database
Machines(以下、文献1とする。)の152頁、145
頁に示された従来のソート処理装置、パイプラインマー
ジソータの構成を示す図である。
【0003】図21において、従来のソート処理装置の
構成及び概略動作を説明する。入力レコード80とし
て、2つのソート済みレコード列が順次入力される。第
1の入力レコード列が記憶装置81に格納され、続いて
第2の入力レコード列が記憶装置81に格納され始め
る。この段階で比較処理装置82はこれら2つの入力レ
コードのマージ処理を開始する。記憶装置81から第1
の入力レコード列を構成するレコードが1つ比較レジス
タ83(CR1 )に読み出され、同様に第2の入力レコ
ード列のレコードが1つ比較レジスタ84(CR2 )に
読み出される。レコードは複数の部分(フィールド)か
ら構成されており、その中のソートのため大小比較に使
用するフィールドをソートキー部、又は簡単にキー部と
呼ぶ。比較レジスタ83、84に格納されたレコードは
比較器87でソートキー部を例えば簡単な一例としては
先頭からビット比較されて、ソートキーの大小を判定さ
れる。この際、処理データ数カウンタ88、89はビッ
トをカウントし、処理の制御に利用される。昇順降順指
定信号90で昇順が指定された場合は比較器87からは
ソートキーの小さい方から順に出力レコード列91に出
力され、降順が指定された場合は、逆に大きい方から出
力される。
【0004】図22のパイプラインマージソータ100
は、図21の従来のソート処理装置95を複数段直列接
続(ここでは7段直列接続)したものである。
【0005】ソートすべきレコードは左端のソート処理
装置に入力される。ソート処理装置は入力レコード列を
2つずつマージし、出力するので、出力レコード列の長
さは入力レコード列の長さの倍となる。そしてこのマー
ジソート処理が各段のソート処理装置において行われる
ため、入力レコード列は図22で右側にある後段のソー
ト処理装置に進むに従って長くなる。したがって、期待
される入力レコード列のサイズを基に、後段のソート処
理装置ほど記憶装置81の容量を倍増していくように設
計される。図22はこの構成を採ったパイプラインマー
ジソータであり、記憶装置81の容量が倍増する様子
が、記憶装置81の矩形の大きさにより表現している。
【0006】このような構成を採った場合、入力レコー
ド列のサイズがソート処理装置の設計上想定したサイズ
より大きいときに、初めのいくつかのソート処理装置を
素通りすなわちバイパスさせ、記憶装置81がこの入力
レコード列を1つ格納できる容量を有する段からマージ
ソート処理を開始させることが行われる。バイパスさせ
る段を指定する初期化ワードが、最初の入力レコード列
の先頭に付加され、これが初期化ワード読取器92によ
り読み取られ、バイパスモードレジスタ93に保持さ
れ、バイパスするか否かの制御が行われる。初期化ワー
ドはソート処理装置全体の動作制御情報を有しているの
で、初期化ワード読取器92で読み取り後、初期化ワー
ド書込器94により、最初の出力レコード列の先頭に付
加される。
【0007】図23は図21の従来のソート処理装置の
利用形態を示す構成図である。図21のソート処理装置
では、入力レコード列80中のレコードのソートキー部
が同値の場合の動作が規定されていない。そこでマイク
ロプロセッサ110を用いて、(a)ソートキー部が同
値であるときは、ソート処理装置95に到着順を判別さ
せるため、レコードに連続番号を付加してソート処理装
置95の入力レコードとする前処理111と、(b)ソ
ート処理装置95の出力レコードに対して、ソートキー
部が同値で重複するレコードを削除する重複除去を行う
後処理112と、を同一キーモード指定信号113によ
る指定に応じて行い、また(c)ソート処理装置95の
出力の昇降順が昇順降順指定信号114の指定通りにな
っているかどうかを調べ、出力レコード列91として出
力する昇降順チェックを後処理115として行うことが
行われている。
【0008】図24は、文献1の146頁の図であり、
パイプラインマージソータ内でのレコードの移動を示す
図である。これを用いて、ソート処理の詳細動作を説明
する。図24ではレコードが“14,9,10,7,
3,2,6,11,1,13,4,9,12,5,1
5,8”の順でソート処理装置(SE1)に入力され
る。説明上、ここでは降順のソートが指定されている場
合を考える。
【0009】ソート処理装置(SE1)は上記レコード
の1つずつを長さ1のソート済みレコード列(以下、ソ
ート済みレコード列をストリングと呼ぶ。)とし、スト
リングを2つずつ入力レコード列として取り扱う。2つ
のストリング毎すなわちここでは2つのレコード毎に降
順にソートし、長さ2のストリングとして出力する。例
えば、最初に入力されたレコード“14”を記憶装置は
格納し、これと次に入力されたレコード“9”とが比較
器で比較され、“14”が先に出力され、“9”を後に
出力し、長さ2のストリング“(14,9)”が形成さ
れる。これを次々と繰り返すと、ソート処理装置(SE
1)からは“(14,9),(10,7),(3,
2),(11,6),(13,1),(9,4),(1
2,5),(15,8)”の順でレコードが2つずつソ
ートされる。これが次段のソート処理装置 (SE2)
の記憶装置に向けて出力される。この様子は図24のS
E2の部分に示されている。ここで、“14”と“9”
の比較により“14”が先に出力される期間には、同時
に次のストリングである入力レコード“10”が比較処
理装置(SE1)に読み込まれてくる。同様に、“1
4”に続いて“9”が出力される期間には次の入力レコ
ード“7”が読み込まれ、先に格納しておいたレコード
“10”との比較が行われる。
【0010】次段のソート処理装置(SE2)は、ソー
ト処理装置(SE1)から入力されてくる長さ2のスト
リングを2つずつマージソートして、長さ4のストリン
グとして次段のソート処理装置(SE3)の記憶装置に
向けて出力する。前記例によれば、ソート処理装置(S
E2)はソート処理装置(SE1)から入力されてくる
ストリング“(14,9)”を記憶装置に格納する。こ
の格納したストリングの先頭レコード“14”と、次に
入力されてくるストリング“(10,7)”の先頭レコ
ード“10”とを比較する。降順が指定されているため
“14”がまず出力される。続いて最初のストリングの
残りのレコード“9”と後のストリングの先頭レコード
“10”とが比較され、“10”が出力される。次に先
のストリングの残りのレコード“9”と後のストリング
のレコード“7”とが比較され、“9”、“7”の順に
レコードが出力される。この動作を繰り返すと、ソート
処理装置(SE2)からは“(14,10,9,7),
(11,6,3,2),(13,9,4,1),(1
5,12,8,5)”の順で長さ4のストリングが次段
のソート処理装置(SE3)の記憶装置に向けて出力さ
れる。この様子は図24のSE3の部分に示されてい
る。ここで、“14”と“10”の比較により“14”
が先に出力される期間には、同時に先のストリングの次
の入力レコード“9”が記憶装置から比較処理装置(S
E2)に読み出され、後のストリングの次のレコード
“7”が記憶装置に格納される。同様に、“14”に続
いて“10”が出力される期間には“7”が比較処理装
置に読み出され、次のストリングの先頭レコード“3”
が記憶装置に格納される。最後に、“9”と“7”の出
力の際には、“2”、“11”が記憶装置に格納され
る。
【0011】この動作を引き続くソート処理装置におい
ても同様に実行する。i番目のソート処理装置が2i
のレコードからなるストリングを出力するので、ソート
すべきレコードが2n 個のレコードであるならば、レコ
ード全体のソート列はn番目のソート処理装置の出力レ
コード列として得られる。
【0012】図25は昇順、降順の切り替えを行える従
来のパイプラインマージソータの構成図である。図に示
すように、従来は外部からソート処理装置に対し、昇順
降順指定信号114を入力して、昇順、降順の切り替え
を行っていた。
【0013】図26はレコードのイメージ図である。レ
コードを構成する複数のフィールドからソートキー部と
して使用されるフィールドが選択される。ソートキー部
をコピーしてレコードの先頭に付加する変換処理が、ソ
ート処理に先だって行われている。従来のソート処理装
置においては、レコード中のソートキー部と他の部分と
は区別されていない。そのため、ソートキー部が同値の
場合は、ソートキー部に続く他のフィールドの比較によ
り、出力レコード列への出力が決定される。上述の例で
は、ソート対象データは“14”、“9”等の簡単な整
数を用いて説明したが、実際のソート対象データは、例
えば人事データの場合は姓名、住所、年齢その他の内容
を有し、数百バイトから数Kバイトとなり得る。このよ
うに、レコードのサイズが大きく、比較処理装置による
一度の比較では順序を決定できない場合には、順序が決
定されるまで各レコードの比較の度に上記比較操作を繰
り返す必要がある。
【0014】
【発明が解決しようとする課題】上述のように従来のパ
イプラインマージソータでは、ソートキー部が同値の場
合には、比較の判定は、ソートキー部に続く他のデータ
の比較に持ち越される。一方、データベース処理では、
ソート処理においてソートキー部が同値の場合には先入
れ先出し(FIFO)手順を用いて出力するレコードを
選択したり、逆に後入れ先出し(LIFO)手順を用い
たり、また同値のソートキー部の重複を避けるレコード
の重複削除処理を行うなどの要求を満たす必要がある。
しかし、従来のパイプラインマージソータはこれらの要
求を満たせないため、FIFO動作、LIFO動作が指
定された場合は、ソートキー部に引き続いて連続番号を
割り当てる、また重複削除が指定された場合には、ソー
ト後に重複削除を行うといった処理を図23のようにマ
イクロプロセッサ上で別途行うことが必要であり、処理
全体の構成が複雑であり、処理時間もかかるという問題
があった。
【0015】昇降順チェックについてもソート後にマイ
クロプロセッサ上で別途行うことが必要であり、処理に
時間がかかるという問題があった。
【0016】昇順ソート、降順ソートの切り替えは図2
5のようにパイプラインマージソータを構成する全ソー
ト処理装置に一括して昇順降順指定信号を与えているた
め、各ソート処理装置を非同期で動作させることができ
ず、高速化のためバッファリングをするなどの動作がで
きないという問題があった。この対応策として、各ソー
ト処理装置に入力されるソートキー部に昇順降順の情報
を入れておくことも考えられるが比較器の動作をさらに
複雑にすることになる。
【0017】本発明は上記問題点を解消するためになさ
れたもので、第1の目的は、従来、マイクロプロセッサ
上で処理していたソートキー部同値時の処理、昇降順チ
ェック処理を、ソート処理時にパイプラインマージソー
タ自体により行うことにより、処理構成を簡単にすると
ともに、処理を高速化することにある。
【0018】第2の目的は、ソート処理装置の構成の簡
略化を図ることにある。
【0019】第3の目的は、各ソート処理装置の同期動
作を不要とし、記憶装置からのレコードのバースト転送
を可能とし処理の高速化を図ることにある。
【0020】
【課題を解決するための手段】請求項1乃至請求項5の
パイプラインマージソータにおいては、入力レコード列
の各レコードは所定長のソートキー部を有し、比較処理
装置が、第1の入力レコード列から順に読み出したレコ
ードを比較データとして格納する第1の比較レジスタ
と、第2の入力レコード列から順に読み出したレコード
を比較データとして格納する第2の比較レジスタと、両
比較データのソートキー部の大小比較に基づき、両比較
レジスタの1つを選択し、該1比較レジスタから比較デ
ータを出力レコード列に出力し、ソートキー部が同値の
ときはキー同値信号を発生する比較器と、前記両比較デ
ータの前記比較レジスタへの格納の先後関係を記憶する
格納順レジスタと、同値処理制御器と、を備えて構成さ
れており、請求項1の同値処理制御器は、キー同値信号
を受けたとき、格納順レジスタに基づき、比較レジスタ
に先に格納された比較データを出力レコード列に出力さ
せることを特徴とする。
【0021】請求項2の同値処理制御器は、キー同値信
号を受けたとき、格納順レジスタに基づき、比較レジス
タに後に格納された比較データを出力レコード列に出力
させることを特徴とする。
【0022】請求項3乃至請求項5のパイプラインマー
ジソータにおいては、上記構成に加えて、同値のソート
キー部を有する比較データである2つのキー同値レコー
ドの一方が前記比較レジスタから出力されたことを記憶
する重複除去レジスタを備えており、請求項3の同値処
理制御器は、キー同値信号を受けたとき、格納順レジス
タに基づき、比較レジスタに先に格納されたキー同値レ
コードを出力レコード列に出力させ、以降、重複除去レ
ジスタに基づき、他のキー同値レコードを比較レジスタ
から出力させ除去することを特徴とし、請求項4の同値
処理制御器は、キー同値信号を受けたとき、格納順レジ
スタに基づき、比較レジスタに後に格納されたキー同値
レコードを出力レコード列に出力させ、以降、重複除去
レジスタに基づき、他のキー同値レコードを比較レジス
タから出力させ除去することを特徴とする。
【0023】請求項5においては、同値処理制御器が、
キー同値信号を受けたとき、格納順レジスタに基づき両
比較レジスタのいずれを選択するかを格納順選択として
設定でき、格納順選択が指定する比較レジスタからキー
同値レコードを出力させ、全部の該キー同値レコード、
又は重複除去レジスタに基づいて判定される最先の該キ
ー同値レコード、のいずれを選択するかを重複処理選択
として設定でき、重複処理選択が指定するキー同値レコ
ードのみを出力レコード列に出力させることと、記憶装
置に先に記憶される入力レコード列が先頭に、比較処理
装置の動作を指定する初期化ワードを有し、初期化ワー
ドが前記同値処理制御器の格納順選択と重複処理選択と
を指定することと、を特徴とする。
【0024】請求項6のパイプラインマージソータにお
いては請求項1における比較処理装置が、1つのソート
列から順にレコードを読み出し、第1又は第2の比較レ
ジスタに比較データとして格納し、ソート列中の連続す
る2レコードが同一の比較レジスタから出力され格納順
レジスタの記憶内容が変化しないとき、昇降順エラー信
号を発生する昇降順チェック手段を有することを特徴と
する。
【0025】請求項7のパイプラインマージソータにお
いては請求項5における比較処理装置が、入力レコード
列をソート処理せずに素通りさせ、次段のソート処理装
置に出力するバイパス手段と、1つのソート済み入力レ
コード列から順にレコードを読み出し、第1又は第2の
レジスタに比較データとして格納し、初期化ワードの格
納順選択と重複処理選択との指定に係らず、先に比較レ
ジスタに格納されたキー同値レコードを比較レジスタか
ら出力レコード列に出力させ、前記入力レコード列中の
連続する2レコードが同一の比較レジスタから出力され
格納順レジスタの記憶内容が変化しないとき、昇降順エ
ラー信号を発生する昇降順チェック手段と、を有するこ
とと、初期化ワードが、前記バイパス手段を用いるソー
ト処理装置を指定し、前記昇降順チェック手段を用いる
ソート処理装置を指定することと、を特徴とする。
【0026】請求項8のパイプラインマージソータは請
求項1乃至請求項7のパイプラインマージソータにおい
て、入力レコード列の要素である2進数データのソート
キー部をビット反転するキー変換処理装置を有し、比較
器が、出力レコード列のソートキー部が昇順となる比較
器又は降順となる比較器のいずれかであり、ソートキー
部を該比較器で固有の順序と逆順にソートするときは、
最初のソート処理装置への入力に先立ち、前記キー変換
処理装置により入力レコード列のソートキー部を変換す
ること、を特徴とする。
【0027】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
【0028】[実施形態1]図1は本発明に係るパイプ
ラインマージソータの構成図である。このパイプライン
マージソータは7段のソート処理装置が直列に接続され
ている。ソートすべきレコードは左端のソート処理装置
に入力される。ソート処理装置は入力レコード列を2つ
ずつマージし、出力するので、出力レコード列の長さは
入力レコード列の長さの倍となる。そしてこのマージソ
ート処理が各段のソート処理装置において行われるた
め、入力レコード列は図1で右側にある後段のソート処
理装置に進むに従って長くなる。したがって、期待され
る入力レコード列のサイズを基に、後段のソート処理装
置ほど記憶装置1の容量を倍増していくように設計され
ている。図1はこの構成を採ったパイプラインマージソ
ータであり、記憶装置1の容量が倍増する様子が、記憶
装置1の矩形の大きさにより表現されている。この構成
は図22に示した従来のパイプラインマージソータと変
わるところがないが、各段を構成するソート処理装置の
構成が異なる。
【0029】図2は本発明に係るパイプラインマージソ
ータを構成するソート処理装置の構成図である。このソ
ート処理装置は大きくは記憶装置1と比較処理装置2の
2つの部分からなる。入力レコード列として、2つのソ
ート済みレコード列が順次入力される。第1の入力レコ
ード列が記憶装置1に格納され、続いて第2の入力レコ
ード列が記憶装置1に格納され始める。この段階で比較
処理装置2はこれら2つの入力レコードのマージ処理を
開始する。比較処理装置2は比較部3を有する。比較部
3は記憶装置1から第1の入力レコード列を構成するレ
コードを1つ比較レジスタ6(CR1 )に読み出し、同
様に第2の入力レコード列のレコードを1つ比較レジス
タ7(CR2 )に読み出す。レコードは複数の部分(フ
ィールド)から構成されており、その中のソートのため
大小比較に使用するフィールドをソートキー部と呼ぶ。
比較器8は比較レジスタ6、7に格納されたレコードの
ソートキー部を例えば簡単な一例としては先頭からビッ
ト比較し、ソートキー部の値の大小関係を比較して所定
条件を満たす1つのレコードを選択して、出力レコード
列に出力する。
【0030】比較部3の内部動作をより詳細に説明す
る。記憶装置1から比較部3に読み込まれたレコードは
入力バッファ4又は5を経由して、比較レジスタ6又は
比較レジスタ7に格納される。比較器8は両比較レジス
タに格納されたレコードのソートキー部を比較し、大き
い方を先に、すなわち降順に出力レコード列に出力す
る。出力された比較レジスタには新たなレコードが格納
され、比較器8は次にこの新しいレコードと他方の比較
レジスタに残っているレコードとの比較を行う。この動
作が繰り返される。処理キーカウンタ9、10及び処理
データ数カウンタ11、12はそれぞれ比較器8におけ
る比較・出力処理の制御に用いられるもので、その動作
は後に詳述する。
【0031】格納順レジスタ13はCR1 、CR2 への
レコードの格納順序を示し、CR1内のレコードがCR
2 内のレコードより先に格納されたときは、“0”が設
定され、逆にCR2 の方が先に格納されたときは、
“1”が設定される。
【0032】同値処理制御器14は、比較器8での比較
においてソートキー部が同値であるときにFIFO手順
に従ってCR1 、CR2 の一方を選択しそれが格納する
レコードを出力させる。すなわち比較器8はCR1 、C
2 内のレコードのソートキー部を比較して、これらが
同値であるとき、キー同値信号15を同値処理制御器1
4に送る。同値処理制御器14は格納順レジスタ13の
内容が“0”の場合、CR1 のレコードを出力するよう
比較器8を制御し、“1”の場合、CR2 のレコードを
出力するように比較器8を制御する。
【0033】初期化ワード読取器16は、最初の入力レ
コード列の先頭に付加された初期化ワードを読み取る。
初期化ワードにて、入力レコード列をソート処理せずに
素通り(バイパス)させることが指定されたソート処理
装置ではバイパスモードレジスタ17を設定して、ソー
ト処理装置をバイパスモードとする。初期化ワードは初
期化ワード書込器18により最初の出力レコード列の先
頭に付加され、次段のソート処理装置に送られる。バイ
パスモードのソート処理装置では入力レコード列は経路
19を通って出力される。
【0034】次に、初段のソート処理装置を例に詳細な
動作の説明を行う。
【0035】以後、レコードを“{ソートキー値+レコ
ード本体}”と表現する。
【0036】図3はソートすべきレコード列の初めの4
レコードのビットイメージを示した図であり、{9+
3}、{14+1}、{10+2}、{10+3}の順
に入力される。初段のソート処理装置においてはこのレ
コードの1つずつを長さ1のソート済みレコード列すな
わち長さ1のストリングとし、このストリングを2つず
つ入力レコード列として取り扱う。
【0037】記憶装置1にストリング〈1〉{9+3}
が完全に格納された後、ストリング〈2〉の先頭レコー
ド{14+1}が到着して格納されると、記憶装置1か
らストリング〈1〉とストリング〈2〉の各先頭レコー
ドがそれぞれ入力バッファ4、入力バッファ5に読み出
され、しかる後、比較レジスタCR1 とCR2 を経由し
て比較器8に転送される。このとき格納順レジスタは初
期値“0”を保持している。
【0038】比較器8はCR1 、CR2 内の{9+
3}、{14+1}の各ソートキー部“9”、“14”
を1bit ずつ比較する。図4は比較開始からストリング
〈1〉とストリング〈2〉の出力終了までの処理キーカ
ウンタ、処理データ数カウンタ及び格納順レジスタの値
の変化を示した図である。図中、keycount1 、keycount
2 、datacount1、datacount2及びmap はそれぞれ処理キ
ーカウンタ9、10、処理データ数カウンタ11、12
及び格納順レジスタの値を意味し、Str1、Str2はストリ
ング〈1〉、ストリング〈2〉を意味する。
【0039】処理データ数カウンタ11と処理データ数
カウンタ12には初期値としてレコードのビット長6が
設定されている。処理キーカウンタ9と処理キーカウン
タ10には初期値としてソートキー部のビット長4が設
定されている。比較器8でソートキー部の大小関係が決
定されるまで、1bit 比較される毎に上記4つのカウン
タ値は1ずつ減少(デクリメント)され、1bit ずつ出
力レコード列に出力される。この場合ビットデータはい
ずれの比較レジスタから出力してもよい。
【0040】2bit 目で大小関係が決定されると、ソー
トキー部が大きいCR2 側の処理データ数カウンタ12
と処理キーカウンタ10の値は0になるまでデクリメン
トされるとともに、CR2 から残りのビットデータが出
力レコード列に出力される。他方、CR1 側の処理デー
タ数カウンタ11、処理キーカウンタ9の値は初期値に
リセットされる。
【0041】CR2 は一般には同じストリングの次のレ
コードを格納するが、ここではストリング〈2〉は長さ
1で次のレコードはないので、次のストリングであるス
トリング〈3〉の先頭レコード{10+2}を格納す
る。
【0042】CR1 に残ったレコード{9+3}は一般
には、ストリング〈2〉の次のレコードと比較処理が行
われるが、ここではストリング〈2〉の次のレコードは
ないので、CR2 の{14+1}に続いて出力レコード
列に出力される。一般にはCR1 に格納されていたレコ
ードのみならず、同じストリングの残りのレコードを全
て出力レコード列に出力する。ストリング〈1〉が出力
レコード列に出力された後、CR1 は次のストリング
〈4〉の先頭レコード{10+3}を格納する。格納順
レジスタ13には“1”が設定されている。
【0043】比較器8はCR1 、CR2 内の{10+
3}、{10+2}の各ソートキー部の比較を開始す
る。図5は、図4同様に比較開始からストリング〈3〉
とストリング〈4〉の出力終了までの処理キーカウン
タ、処理データ数カウンタ及び格納順レジスタの値の変
化を示した図である。図中、Str3、Str4はストリング
〈3〉、ストリング〈4〉を意味する。
【0044】上記ストリング〈1〉とストリング〈2〉
との比較と同様の手順で比較が行われるが、この場合、
ソートキー部の最後尾である4bit 目になっても大小関
係は決定しない。このとき比較部3はキー同値信号15
を同値処理制御器14に発する。
【0045】同値処理制御器14はキー同値信号15を
受けると、格納順レジスタ13を参照してFIFO手順
に従ってCR1 、CR2 の一方を選択しそれが格納する
レコードを出力させる。ここでは格納順レジスタ13に
は“1”が設定されているので、同値処理制御器14は
CR2 の{10+2}を先に出力レコード列に出力さ
せ、引き続いてCR1 の{10+3}を出力レコード列
に出力させる。
【0046】ストリング〈4〉に続くストリング〈5〉
以降のストリングにおいても同様に処理が行われる。
【0047】ストリング〈1〉とストリング〈2〉、及
びストリング〈3〉とストリング〈4〉の比較、マージ
処理により、2つの長さ2のストリング“({14+
1},{9+3})”、“({10+2},{10+
3})”がこの順で出力レコード列として出力される。
【0048】2段目のソート処理装置においては、上記
初段のソート処理装置と同様の処理により、上記2つの
長さ2のストリングから長さ4のストリングが形成され
る。このようにして、ソート処理装置の段数を経るにつ
れて、長いストリングが形成され、本パイプラインマー
ジソータが備える7段のソート処理装置での処理によ
り、長さ27 のストリングすなわちソート済みレコード
列が得られる。
【0049】[実施形態2]本発明の第2の実施形態
は、図1において同値処理制御器14が、比較器8での
比較においてソートキー部が同値であるときにLIFO
手順に従ってCR1 、CR2 の一方を選択しそれが格納
するレコードを出力させるソート処理装置であって、こ
のソート処理装置を直列接続して構成されるパイプライ
ンマージソータである。
【0050】この同値処理制御器14は格納順レジスタ
13の内容が“1”の場合、CR1のレコードを出力す
るよう比較器8を制御し、“0”の場合、CR2 のレコ
ードを出力するように比較器8を制御する。
【0051】図3に示した実施形態1と同じソートすべ
きレコードを用いて、初段のソート処理装置の動作を説
明する。
【0052】ストリング〈1〉とストリング〈2〉の比
較処理は実施形態1で図4を用いて説明した動作と同じ
である。比較器8がCR1 、CR2 内のストリング
〈4〉{10+3}、ストリング〈3〉{10+2}の
各ソートキー部の比較を開始するところから、図6を用
いて説明する。図6は図5と同様の図である。
【0053】比較器8の比較処理は、ソートキー部の最
後尾である4bit 目になっても大小関係を決定できな
い。このとき比較部3はキー同値信号15を同値処理制
御器14に発する。
【0054】同値処理制御器14はキー同値信号15を
受けると、格納順レジスタ13を参照してLIFO手順
に従ってCR1 、CR2 の一方を選択しそれが格納する
レコードを出力させる。ここでは格納順レジスタ13に
は“1”が設定されているので、同値処理制御器14は
CR1 の{10+3}を先に出力レコード列に出力さ
せ、引き続いてCR2 の{10+2}を出力レコード列
に出力させる。
【0055】ストリング〈4〉に続くストリング〈5〉
以降のストリングにおいても同様に処理が行われる。
【0056】ストリング〈1〉とストリング〈2〉、及
びストリング〈3〉とストリング〈4〉の比較、マージ
処理により、2つの長さ2のストリング“({14+
1},{9+3})”、“({10+3},{10+
2})”がこの順で出力レコード列として出力される。
【0057】[実施形態3]図7は本発明の第3の実施
形態である、パイプラインマージソータを構成するソー
ト処理装置の構成図である。図7において、図1と同一
の機能を果たす構成要素は図2と同じ符号を用いて示し
ている。
【0058】本ソート処理装置は、比較処理装置2内に
重複除去レジスタ30を有している。重複除去レジスタ
30の初期値には“0”が設定されている。同値処理制
御器31が、キー同値信号15を受けて、両比較レジス
タに格納されている2つのキー同値レコードの一方を出
力後、重複除去レジスタ30を“1”に設定し、他方の
キー同値レコードの比較レジスタからの排出除去完了
後、“0”に戻す。
【0059】同値処理制御器31は、比較器8での比較
においてソートキー部が同値であるときにFIFO手順
に従ってCR1 、CR2 の一方を選択しそれが格納する
レコードを出力させる。すなわち比較器8はCR1 、C
2 内のレコードのソートキー部を比較して、これらが
同値であるとき、キー同値信号15を同値処理制御器3
1に送る。同値処理制御器31は格納順レジスタ13の
内容が“0”の場合、CR1 に格納されたレコードであ
るキー同値レコードを出力するよう比較器8を制御し、
“1”の場合、CR2 に格納されたレコードであるキー
同値レコードを出力するように比較器8を制御する。同
値処理制御器31は、重複除去レジスタ30の値が
“1”のとき、比較レジスタから出力されるレコードを
排出除去し出力レコード列への出力を抑止するように比
較器8を制御する。
【0060】図3に示した実施形態1と同じソートすべ
きレコードを用いて、初段のソート処理装置の動作を説
明する。
【0061】ストリング〈1〉とストリング〈2〉の比
較処理は実施形態1で図4を用いて説明した動作と同じ
である。比較器8がCR1 、CR2 内のストリング
〈4〉{10+3}、ストリング〈3〉{10+2}の
各ソートキー部の比較を開始するところから、図8を用
いて説明する。図8は図5同様の図であるが、重複除去
レジスタの値を表示する“odis”を付記している。
【0062】比較器8の比較処理は、ソートキー部の最
後尾である4bit 目になっても大小関係を決定できな
い。このとき比較部3はキー同値信号15を同値処理制
御器31に発する。
【0063】同値処理制御器31はキー同値信号15を
受けると、格納順レジスタ13を参照してFIFO手順
に従ってCR1 、CR2 の一方を選択しそれが格納する
レコードを出力させる。ここでは格納順レジスタ13に
は“1”が設定されているので、同値処理制御器31は
CR2 の{10+2}を出力レコード列に出力させる。
この出力が完了すると重複除去レジスタに“1”が設定
される。続いて、実施形態1同様、CR1 の{10+
3}が出力されるが、重複除去レジスタ30には“1”
が設定されているので、このレコードは出力レコード列
には出力されず排出除去される。
【0064】ストリング〈4〉に続くストリング〈5〉
以降のストリングにおいても同様に処理が行われる。
【0065】ストリング〈1〉とストリング〈2〉、及
びストリング〈3〉とストリング〈4〉の比較、マージ
処理により、2つのストリング“({14+1},{9
+3})”、“({10+2})”がこの順で出力レコ
ード列として出力される。
【0066】以上本実施形態では、同値処理制御器が、
キー同値信号を受けたとき、格納順レジスタに基づき、
比較レジスタに先に格納されたキー同値レコードを出力
レコード列に出力させ、以降、重複除去レジスタに基づ
き、他のキー同値レコードを比較レジスタから出力させ
除去する。
【0067】[実施形態4]本発明の第4の実施形態
は、図7において同値処理制御器31が、比較器8での
比較においてソートキー部が同値であるときにLIFO
手順に従ってCR1 、CR2 の一方を選択しそれが格納
するレコードを出力させ、かつ重複除去レジスタ30の
値が“1”のとき、比較レジスタから出力されるレコー
ドを排出除去し出力レコード列への出力を抑止するソー
ト処理装置であって、このソート処理装置を直列接続し
て構成されるパイプラインマージソータである。
【0068】図3に示した実施形態1と同じソートすべ
きレコードを用いて、初段のソート処理装置の動作を説
明する。
【0069】ストリング〈1〉とストリング〈2〉の比
較処理は実施形態1で図4を用いて説明した動作と同じ
である。比較器8がCR1 、CR2 内のストリング
〈4〉{10+3}、ストリング〈3〉{10+2}の
各ソートキー部の比較を開始するところから、図9を用
いて説明する。図9は図8と同様の図である。
【0070】比較器8の比較処理は、ソートキー部の最
後尾である4bit 目になっても大小関係を決定できな
い。このとき比較部3はキー同値信号15を同値処理制
御器31に発する。
【0071】同値処理制御器31はキー同値信号15を
受けると、格納順レジスタ13を参照してLIFO手順
に従ってCR1 、CR2 の一方を選択しそれが格納する
レコードを出力させる。ここでは格納順レジスタ13に
は“1”が設定されているので、同値処理制御器31は
CR1 の{10+3}を出力レコード列に出力させる。
この出力が完了すると重複除去レジスタに“1”が設定
される。続いて、実施形態2同様、CR2 の{10+
2}が出力されるが、重複除去レジスタ30には“1”
が設定されているので、このレコードは出力レコード列
には出力されず排出除去される。
【0072】ストリング〈4〉に続くストリング〈5〉
以降のストリングにおいても同様に処理が行われる。
【0073】ストリング〈1〉とストリング〈2〉、及
びストリング〈3〉とストリング〈4〉の比較、マージ
処理により、2つのストリング“({14+1},{9
+3})”、“({10+3})”がこの順で出力レコ
ード列として出力される。
【0074】[実施形態5]図10は本発明の第5の実
施形態である、パイプラインマージソータを構成するソ
ート処理装置の構成図である。図10において、図2、
図7と同一の機能を果たす構成要素は図2、図7と同じ
符号を用いて示している。
【0075】本実施形態における初期化ワードは、ソー
トキー部同値のとき同値処理制御器41の動作モードを
指定する2bit の情報を有している。図11はその2bi
t のパターンを示す。2bit の上位ビットの“0”/
“1”がそれぞれ重複除去処理を“行う”/“行わな
い”を表す。2bit の下位ビットの“0”/“1”がそ
れぞれ“FIFO動作”/“LIFO動作”を表す。
【0076】初期化ワード読取器16が初期化ワードか
ら読み取ったこれら2つの情報はそれぞれ格納順選択レ
ジスタ42及び重複処理選択レジスタ43に格納され
る。
【0077】同値処理制御器41は、格納順選択レジス
タ42及び重複処理選択レジスタ43の内容に基づきソ
ートキー部が同値の際の処理を行う。すなわち、同値処
理制御器41は、格納順選択レジスタ42、重複処理選
択レジスタ43の内容がそれぞれ“0”、“0”のとき
実施形態1の同値処理制御器14と同じ動作をし、
“0”、“1”のとき実施形態2の同値処理制御器14
と同じ動作をし、“1”、“0”のとき実施形態3の同
値処理制御器31と同じ動作をし、“1”、“1”のと
き実施形態4の同値処理制御器31と同じ動作をする。
【0078】以上本実施形態では、同値処理制御器が、
キー同値信号を受けたとき、格納順レジスタに基づき両
比較レジスタのいずれを選択するかを初期化ワードによ
り格納順選択として設定でき、格納順選択が指定する比
較レジスタからキー同値レコードを出力させ、全部の該
キー同値レコード、又は重複除去レジスタに基づいて判
定される最先の該キー同値レコード、のいずれを選択す
るかを初期化ワードにより重複処理選択として設定で
き、重複処理選択が指定するキー同値レコードのみを出
力レコード列に出力させる。
【0079】[実施形態6]図12は本発明の第6の実
施形態である、パイプラインマージソータを構成するソ
ート処理装置の構成図である。図12において、図2と
同一の機能を果たす構成要素は図2と同じ符号を用いて
示している。
【0080】本実施形態における初期化ワードで、昇降
順チェックモードが指定されると比較部3は1つのソー
ト済みレコード列から順にレコードを読み出し、CR1
又はCR2 に格納し、比較処理を行う。ここで入力レコ
ード列は降順ソートの実行後のレコード列であり、しか
もソートキー部が同値のとき同値処理制御器14はFI
FO動作を行うから、ペアのうち先に比較レジスタに格
納されたレコードが先に出力されることが期待され、よ
って格納順レジスタ13の値は“0”と“1”とを交互
に取るはずである。この点、格納順レジスタ13には実
施形態1乃至実施形態5と同じく、比較レジスタへのレ
コードの格納順序に応じて、“0”又は“1”が格納さ
れているが、本実施形態と上記他の実施形態とではその
値の用方に違いがある。つまり前記実施形態1乃至6で
は、2つの比較レジスタに格納されたレコードのソート
キー部が同値の場合に、どちらの比較レジスタ内容を出
力するか選択するために用いるが、本実施形態は上述の
ように比較レジスタからの出力順のチェックに用いる。
すなわち、昇降順チェック器51は、格納順レジスタ1
3の値の変化を監視し、入力レコード列中の連続する2
レコードの比較レジスタからの出力において格納順レジ
スタ13の内容が変化しないときは、入力レコード列の
昇降順が誤っているので昇降順エラー信号52を発生す
る。
【0081】実施形態1から実施形態5まで述べたソー
ト処理を通常動作モードとすると、通常動作モードと本
発明の昇降順チェックモードとの違いは以下の点であ
る。すなわち通常動作モードでは、ストリング〈1〉と
ストリング〈2〉の“ペア”の比較が終わると、次のス
トリング〈3〉とストリング〈4〉の“ペア”の比較と
いうように、“ペア”の組み替えは起こらないが、昇降
順チェックモードでは、図13のようにレコード〈1〉
{14+1}とレコード〈2〉{10+2}との比較が
終わると、レコード〈1〉が出力され、残ったレコード
〈2〉とレコード〈3〉{10+3}との比較が次に行
われる。このように、昇降順チェックモードではペアの
組み替えが順次行われながら比較処理が行われる点が通
常動作モードと異なる。
【0082】詳細な動作を説明する。初期化ワードの処
理は通常のソート処理と同様であるので、レコード本体
の比較以降を説明する。レコードが一旦、記憶装置に格
納されてから入力バッファ4、5に読み出される動作
は、通常ソート動作でのストリングが昇降順チェックモ
ードではレコードに相当する点を除いては同様である。
【0083】図14はレコード〈1〉とレコード〈2〉
の比較開始から一方の出力までの処理キーカウンタ、処
理データ数カウンタ及び格納順レジスタの値の変化を示
した図である。図中、Rec1、Rec2はレコード〈1〉、レ
コード〈2〉を意味する。格納順レジスタ13は初期値
“0”である。1bit 目までは大小関係が決定しないの
で、どちらの比較レジスタの値を出力してもよい。2bi
t 目でレコード〈1〉すなわちCR1 側が選択され、出
力が開始する。この出力後、CR1 には次のレコード
〈3〉が読み込まれ、格納順レジスタ13は“1”に変
化し、昇降順チェック器51は昇降順が正しいと判定
し、昇降順エラー信号52を発生しない。
【0084】図15はレコード〈2〉とレコード〈3〉
の比較開始から一方の出力までについての図14と同様
の図である。格納順レジスタ13は図14に示したよう
にレコード〈3〉を読み込んだ段階で“1”になってい
る。4bit 目になっても大小関係が決定しないので、比
較部3はキー同値信号15を発生する。キー同値信号1
5を受けて、同値処理制御器14は格納順レジスタ13
の値“1”を参照し、この値によりCR2 の内容がCR
1 の内容より先に格納されたものであることを認識し、
CR2 からレコード〈2〉を出力する。この出力後、C
2 には次のレコード〈4〉が読み込まれ、格納順レジ
スタ13は“0”に変化し、昇降順チェック器51は昇
降順が正しいと判定し、昇降順エラー信号52を発生し
ない。
【0085】以上本実施形態では、比較処理装置が1つ
のソート列から順にレコードを読み出し、2つの比較レ
ジスタに比較データとして格納し、ソート列中の連続す
る2レコードが同一の比較レジスタから出力され格納順
レジスタの記憶内容が変化しないとき、昇降順チェック
手段が昇降順エラー信号を発生する。
【0086】[実施形態7]図16は本発明の第7の実
施形態である、パイプラインマージソータを構成するソ
ート処理装置の構成図である。図16において、図2、
図7、図10と同一の機能を果たす構成要素は同じ符号
を用いて示している。
【0087】図17は本発明の第7の実施形態を動作の
説明図である。図18は本実施形態の初期化ワードのイ
メージ図である。
【0088】図18に示すように、本実施形態における
初期化ワードは、同一キーモード、バイパスワード及び
昇降順チェックワードを有している。同一キーモードは
実施形態5の初期化ワードが有するソートキー部同値時
の同値処理制御器41の動作モードを指定する2bit の
情報と同一である。
【0089】バイパス動作はバイパスワードを用いて、
以下のように実現される。
【0090】初期化ワード読取器16はバイパスワード
の最上位ビットが“1”である場合にバイパスモードレ
ジスタ17をON状態に設定して、そのソート処理装置
をバイパスモードにする。初期化ワード読取器16は、
バイパスワードを左に1bitシフトして、初期化ワード
を初期化ワード書込器18に渡し、初期化ワード書込器
18は次段に送出される。従って、初段のソート処理装
置への入力時のバイパスワードのビットパターンの“1
/0”はそのまま左から順に初段からのソート処理装置
のバイパスモードのON/OFFを示している。図17
に示すように、バイパスワードが“11000000”
であるとき上記動作により、入力レコード列は、パイプ
ラインマージソータ1巡目の初段と2段目がバイパスさ
れる。
【0091】同様にソート処理装置は初期化ワード読取
器16により読み取られた昇降順チェックワードの最上
位ビットが“1”である場合に昇降順チェック処理を行
う。初期化ワードは初期化ワード読取器16において、
昇降順チェックワードを左に1bit シフトされ次段に送
出される。図17に示すように、昇降順チェックワード
が“00000001”であるとき上記動作により、パ
イプラインマージソータ1巡目第7段の出力レコード列
は、初段に帰され、この2巡目の初段のソート処理装置
において昇降順チェックが行われる。
【0092】レコードのサイズが大きい場合には、初段
寄りのソート処理装置の記憶装置にストリングを格納で
きないことがある。このような場合、上記のようにバイ
パスワードを指定して、ソート処理装置をバイパスさせ
ることができる。
【0093】また、昇降順チェック動作は、実施形態6
で述べたように、通常動作モードと異なり、ストリング
のペアの比較ではないので、ソート処理装置の記憶装置
の容量は小さくてもよい。そこで、バイパスワード、昇
降順チェックワードによる指定により、本実施形態のよ
うに初段をバイパスし後方の段でソート処理を行いつ
つ、そこで得られた出力レコード列をバイパスされて余
っている初段のソート処理装置を昇降順チェック処理に
利用することができる。
【0094】昇降順チェックワードのビット数を増やす
ように仕様を変更すれば、初段以外でもバイパスにより
余った段で昇降順チェックを行うことができる。
【0095】[実施形態8]図19は実施形態7で説明
したバイパスワード、昇降順チェックワードを用いた本
発明の他の実施形態である。
【0096】バイパスワードは初段入力時“00001
100”であり、5段目と6段目がバイパスされる。昇
降順チェックワードは“00000010”であり、7
段目で昇降順チェックが行われる。
【0097】n段のソート処理装置により2n 個のレコ
ードがソートできる。そのためソートすべきレコード列
のレコード数が少ない場合には、途中の段でソート処理
は終了してしまい、後方の段が余る。そこで、バイパス
ワード、昇降順チェックワードによる指定により、本実
施形態のように後方の段をバイパスしたり、昇降順チェ
ック処理に利用することができる。
【0098】[実施形態9]図20は本発明の第9の実
施形態であるパイプラインマージソータの構成図であ
る。
【0099】ソート処理装置70は降順ソートのみ可能
とし、比較器の構成を容易とする。昇降順指定信号71
により昇順ソートが指定された場合は、入力レコード7
2中のソートキー部をキー変換処理装置73によりビッ
ト反転する。この変換後に降順ソートすると、もとのレ
コードを昇順した場合と同じ結果が出力レコード74と
して得られる。
【0100】
【発明の効果】本発明の請求項1から請求項5のパイプ
ラインマージソータによれば、ソートキー部が同値の場
合、比較の判定はソートキー部に続く他のデータの比較
に持ち越されることなく、またソート処理の前処理、後
処理をすることなく、FIFO又はLIFO手順により
出力したり、ソートキー部が重複するレコードを削除し
たりすることができる。よって1つには、ソートキー部
のみの比較で処理が進むので、ソート処理を高速化でき
るという効果がある。さらに、パイプラインマージソー
タを構成するソート処理装置がFIFO、LIFO処
理、重複削除処理を行うので、処理全体の構成を簡略化
できる。
【0101】本発明の請求項6のパイプラインマージソ
ータによれば、ソート処理装置が昇降順チェックを行う
ことができ、処理全体の構成を簡略化できる。
【0102】本発明の請求項7のパイプラインマージソ
ータによれば、ソート処理装置のバイパス動作、昇降順
チェック動作を指定でき、ソート処理に使用しないソー
ト処理装置において昇降順チェック処理を行うことがで
き、パイプラインマージソータを構成するソート処理装
置を効率的に利用できる効果がある。
【0103】本発明の請求項8のパイプラインマージソ
ータによれば、ソート処理装置を昇順、降順のいずれか
に固定でき、比較器の構成を簡略化できるという効果が
ある。また昇順ソート、降順ソートの切り替えはソート
処理装置に対して行われるのではなく、入力レコード列
のソートキー部を変換して行われるので、高速化のため
バッファリング動作が可能であるという効果がある。
【図面の簡単な説明】
【図1】 本発明に係るパイプラインマージソータの構
成図。
【図2】 第1実施形態に係るソート処理装置の構成
図。
【図3】 入力レコード列のビットイメージ図。
【図4】 第1実施形態におけるレジスタの動作を示す
図。
【図5】 第1実施形態におけるソートキー部同値時の
レジスタの動作を示す図。
【図6】 第2実施形態におけるソートキー部同値時の
レジスタの動作を示す図。
【図7】 第3実施形態に係るソート処理装置の構成
図。
【図8】 第3実施形態におけるソートキー部同値時の
レジスタの動作を示す図。
【図9】 第4実施形態におけるソートキー部同値時の
レジスタの動作を示す図。
【図10】 第5実施形態に係るソート処理装置の構成
図。
【図11】 同一キーモードを示す図。
【図12】 第6実施形態に係るソート処理装置の構成
図。
【図13】 入力レコード列のビットイメージ図。
【図14】 第6実施形態におけるレジスタの動作を示
す図。
【図15】 第6実施形態におけるレジスタの動作を示
す図。
【図16】 第7実施形態に係るソート処理装置の構成
図。
【図17】 第7実施形態の動作説明図。
【図18】 第7実施形態の初期化ワードのイメージ
図。
【図19】 第8実施形態の動作説明図。
【図20】 第9実施形態のパイプラインマージソータ
の構成図。
【図21】 従来のソート処理装置の構成図。
【図22】 従来のパイプラインマージソータの構成
図。
【図23】 従来のソート処理装置を使用したシステム
構成図。
【図24】 パイプラインマージソータ内でのレコード
の移動を説明する図。
【図25】 昇順、降順の切り替えを行える従来のパイ
プラインマージソータの構成図。
【図26】 レコードのイメージ図。
【符号の説明】
1 記憶装置、2 比較処理装置、3 比較部、6,7
比較レジスタ、8比較器、13 格納順レジスタ、1
4,31,41,61 同値処理制御器、15 キー同
値信号、30 重複除去レジスタ、51 昇降順チェッ
ク器、73キー変換処理装置。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 順次入力される2つのソート済みレコー
    ド列が待ち合わせる記憶装置と、記憶装置から該両入力
    レコード列のレコードを順次読み込み1つのソート済み
    レコード列を生成する比較処理装置とを有するソート処
    理装置を備え、該ソート処理装置が複数段直列接続され
    る、パイプラインマージソータにおいて、 入力レコード列の各レコードは所定長のソートキー部を
    有し、 比較処理装置が、 第1の入力レコード列から順に読み出したレコードを比
    較データとして格納する第1の比較レジスタと、 第2の入力レコード列から順に読み出したレコードを比
    較データとして格納する第2の比較レジスタと、 両比較データのソートキー部の大小比較に基づき、両比
    較レジスタの1つを選択し、該1比較レジスタから比較
    データを出力レコード列に出力し、ソートキー部が同値
    のときはキー同値信号を発生する比較器と、 前記両比較データの前記比較レジスタへの格納の先後関
    係を記憶する格納順レジスタと、 キー同値信号を受けたときは、格納順レジスタに基づ
    き、比較レジスタに先に格納された比較データを出力レ
    コード列に出力させる同値処理制御器と、 を有することを特徴とするパイプラインマージソータ。
  2. 【請求項2】 順次入力される2つのソート済みレコー
    ド列が待ち合わせる記憶装置と、記憶装置から該両入力
    レコード列のレコードを順次読み込み1つのソート済み
    レコード列を生成する比較処理装置とを有するソート処
    理装置を備え、該ソート処理装置が複数段直列接続され
    る、パイプラインマージソータにおいて、 入力レコード列の各レコードは所定長のソートキー部を
    有し、 比較処理装置が、 第1の入力レコード列から順に読み出したレコードを比
    較データとして格納する第1の比較レジスタと、 第2の入力レコード列から順に読み出したレコードを比
    較データとして格納する第2の比較レジスタと、 両比較データのソートキー部の大小比較に基づき、両比
    較レジスタの1つを選択し、該1比較レジスタから比較
    データを出力レコード列に出力し、ソートキー部が同値
    のときはキー同値信号を発生する比較器と、 前記両比較データの前記比較レジスタへの格納の先後関
    係を記憶する格納順レジスタと、 キー同値信号を受けたときは、格納順レジスタに基づ
    き、比較レジスタに後に格納された比較データを出力レ
    コード列に出力させる同値処理制御器と、 を有することを特徴とするパイプラインマージソータ。
  3. 【請求項3】 順次入力される2つのソート済みレコー
    ド列が待ち合わせる記憶装置と、記憶装置から該両入力
    レコード列のレコードを順次読み込み1つのソート済み
    レコード列を生成する比較処理装置とを有するソート処
    理装置を備え、該ソート処理装置が複数段直列接続され
    る、パイプラインマージソータにおいて、 入力レコード列の各レコードは所定長のソートキー部を
    有し、 比較処理装置が、 第1の入力レコード列から順に読み出したレコードを比
    較データとして格納する第1の比較レジスタと、 第2の入力レコード列から順に読み出したレコードを比
    較データとして格納する第2の比較レジスタと、 両比較データのソートキー部の大小比較に基づき、両比
    較レジスタの1つを選択し、該1比較レジスタから比較
    データを出力レコード列に出力し、ソートキー部が同値
    のときはキー同値信号を発生する比較器と、 前記両比較データの前記比較レジスタへの格納の先後関
    係を記憶する格納順レジスタと、 同値のソートキー部を有する比較データである2つのキ
    ー同値レコードの一方が前記比較レジスタから出力され
    たことを記憶する重複除去レジスタと、 キー同値信号を受けたときは、格納順レジスタに基づ
    き、比較レジスタに先に格納されたキー同値レコードを
    出力レコード列に出力させ、以降、重複除去レジスタに
    基づき、他のキー同値レコードを比較レジスタから出力
    させ除去する同値処理制御部と、 を有することを特徴とするパイプラインマージソータ。
  4. 【請求項4】 順次入力される2つのソート済みレコー
    ド列が待ち合わせる記憶装置と、記憶装置から該両入力
    レコード列のレコードを順次読み込み1つのソート済み
    レコード列を生成する比較処理装置とを有するソート処
    理装置を備え、該ソート処理装置が複数段直列接続され
    る、パイプラインマージソータにおいて、 入力レコード列の各レコードは所定長のソートキー部を
    有し、 比較処理装置が、 第1の入力レコード列から順に読み出したレコードを比
    較データとして格納する第1の比較レジスタと、 第2の入力レコード列から順に読み出したレコードを比
    較データとして格納する第2の比較レジスタと、 両比較データのソートキー部の大小比較に基づき、両比
    較レジスタの1つを選択し、該1比較レジスタから比較
    データを出力レコード列に出力し、ソートキー部が同値
    のときはキー同値信号を発生する比較器と、 前記両比較データの前記比較レジスタへの格納の先後関
    係を記憶する格納順レジスタと、 同値のソートキー部を有する比較データである2つのキ
    ー同値レコードの一方が前記比較レジスタから出力され
    たことを記憶する重複除去レジスタと、 キー同値信号を受けたときは、格納順レジスタに基づ
    き、比較レジスタに後に格納されたキー同値レコードを
    出力レコード列に出力させ、以降、重複除去レジスタに
    基づき、他のキー同値レコードを比較レジスタから出力
    させ除去する同値処理制御部と、 を有することを特徴とするパイプラインマージソータ。
  5. 【請求項5】 順次入力される2つのソート済みレコー
    ド列が待ち合わせる記憶装置と、記憶装置から該両入力
    レコード列のレコードを順次読み込み1つのソート済み
    レコード列を生成する比較処理装置とを有するソート処
    理装置を備え、該ソート処理装置が複数段直列接続され
    る、パイプラインマージソータにおいて、 入力レコード列の各レコードは所定長のソートキー部を
    有し、 比較処理装置が、 第1の入力レコード列から順に読み出したレコードを比
    較データとして格納する第1の比較レジスタと、 第2の入力レコード列から順に読み出したレコードを比
    較データとして格納する第2の比較レジスタと、 両比較データのソートキー部の大小比較に基づき、両比
    較レジスタの1つを選択し、該1比較レジスタから比較
    データを出力レコード列に出力し、ソートキー部が同値
    のときはキー同値信号を発生する比較器と、 前記両比較データの前記比較レジスタへの格納の先後関
    係を記憶する格納順レジスタと、 同値のソートキー部を有する比較データである2つのキ
    ー同値レコードの一方が前記比較レジスタから出力され
    たことを記憶する重複除去レジスタと、 キー同値信号を受けたときは、格納順レジスタに基づき
    両比較レジスタのいずれを選択するかを格納順選択とし
    て設定でき、格納順選択が指定する比較レジスタからキ
    ー同値レコードを出力させ、全部の該キー同値レコー
    ド、又は重複除去レジスタに基づいて判定される最先の
    該キー同値レコード、のいずれを選択するかを重複処理
    選択として設定でき、重複処理選択が指定するキー同値
    レコードのみを出力レコード列に出力させる同値処理制
    御部と、 を有し、 記憶装置に先に記憶される入力レコード列が先頭に、比
    較処理装置の動作を指定する初期化ワードを有し、初期
    化ワードが前記同値処理制御器の格納順選択と重複処理
    選択とを指定すること、 を特徴とするパイプラインマージソータ。
  6. 【請求項6】 請求項1において、 比較処理装置が、 1つのソート列から順にレコードを読み出し、第1又は
    第2の比較レジスタに比較データとして格納し、ソート
    列中の連続する2レコードが同一の比較レジスタから出
    力され格納順レジスタの記憶内容が変化しないとき、昇
    降順エラー信号を発生する昇降順チェック手段を有する
    ことを特徴とし、ソート列の昇降順チェックを可能とし
    たパイプラインマージソータ。
  7. 【請求項7】 請求項5において、 比較処理装置が、 入力レコード列をソート処理せずに素通りさせ、次段の
    ソート処理装置に出力するバイパス手段と、 1つのソート済み入力レコード列から順にレコードを読
    み出し、第1又は第2のレジスタに比較データとして格
    納し、初期化ワードの格納順選択と重複処理選択との指
    定に係らず、先に比較レジスタに格納されたキー同値レ
    コードを比較レジスタから出力レコード列に出力させ、
    前記入力レコード列中の連続する2レコードが同一の比
    較レジスタから出力され格納順レジスタの記憶内容が変
    化しないとき、昇降順エラー信号を発生する昇降順チェ
    ック手段と、 を有し、 初期化ワードが、前記バイパス手段を用いるソート処理
    装置を指定し、 前記昇降順チェック手段を用いるソート処理装置を指定
    すること、 を特徴とするパイプラインマージソータ。
  8. 【請求項8】 請求項1乃至請求項7において、 入力レコード列の要素である2進数データのソートキー
    部をビット反転するキー変換処理装置を有し、 比較器が、出力レコード列のソートキー部が昇順となる
    比較器又は降順となる比較器のいずれかであり、 ソートキー部を該比較器で固有の順序と逆順にソートす
    るときは、最初のソート処理装置への入力に先立ち、前
    記キー変換処理装置により入力レコード列のソートキー
    部を変換すること、 を特徴とするパイプラインマージソータ。
JP17596295A 1995-07-12 1995-07-12 パイプラインマージソータ Pending JPH0926872A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17596295A JPH0926872A (ja) 1995-07-12 1995-07-12 パイプラインマージソータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17596295A JPH0926872A (ja) 1995-07-12 1995-07-12 パイプラインマージソータ

Publications (1)

Publication Number Publication Date
JPH0926872A true JPH0926872A (ja) 1997-01-28

Family

ID=16005309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17596295A Pending JPH0926872A (ja) 1995-07-12 1995-07-12 パイプラインマージソータ

Country Status (1)

Country Link
JP (1) JPH0926872A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678887A (zh) * 2013-11-25 2014-03-26 中国西电电气股份有限公司 一种模块化多电平换流器子模块电压排序方法
WO2019156060A1 (ja) * 2018-02-08 2019-08-15 日本電気株式会社 並列ユニオン制御装置、並列ユニオン制御方法、および記憶媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678887A (zh) * 2013-11-25 2014-03-26 中国西电电气股份有限公司 一种模块化多电平换流器子模块电压排序方法
WO2019156060A1 (ja) * 2018-02-08 2019-08-15 日本電気株式会社 並列ユニオン制御装置、並列ユニオン制御方法、および記憶媒体
JPWO2019156060A1 (ja) * 2018-02-08 2021-01-14 日本電気株式会社 並列ユニオン制御装置、並列ユニオン制御方法、および並列ユニオン制御用プログラム
US11200056B2 (en) 2018-02-08 2021-12-14 Nec Corporation Parallel union control device, parallel union control method, and storage medium

Similar Documents

Publication Publication Date Title
US5349684A (en) Sort and merge system using tags associated with the current records being sorted to lookahead and determine the next record to be sorted
JPH0728624A (ja) ソート装置及びソート方法
US5319651A (en) Data integrity features for a sort accelerator
EP0405759B1 (en) Sort accelerator using rebound sorter as merger
US5185886A (en) Multiple record group rebound sorter
JP3515810B2 (ja) ソート処理方法および装置
JPS6142031A (ja) ソ−ト処理装置
US5206947A (en) Stable sorting for a sort accelerator
JPH0926872A (ja) パイプラインマージソータ
JP2001014139A (ja) ワークファイルを使用するマルチスレッドソート処理方式及び処理方法
JP2923952B2 (ja) マージ処理方法
JPH048816B2 (ja)
JP2587447B2 (ja) ソート処理装置
JP3264114B2 (ja) ソート装置
JPS61110233A (ja) デ−タ処理装置
JPS61278933A (ja) デ−タのソ−ト方式
JPH0833812B2 (ja) ソート処理装置
JPH0437455B2 (ja)
JPH0519736B2 (ja)
JPH047758A (ja) ファイル処理装置
JPH0352108B2 (ja)
JPH03147036A (ja) 可変長データ処理装置
JPS6116327A (ja) デ−タ処理装置
JPH0774988B2 (ja) ート処理装置
JPH01188933A (ja) データ処理装置