JPH0625964B2 - デ−タ整列方法 - Google Patents

デ−タ整列方法

Info

Publication number
JPH0625964B2
JPH0625964B2 JP8429785A JP8429785A JPH0625964B2 JP H0625964 B2 JPH0625964 B2 JP H0625964B2 JP 8429785 A JP8429785 A JP 8429785A JP 8429785 A JP8429785 A JP 8429785A JP H0625964 B2 JPH0625964 B2 JP H0625964B2
Authority
JP
Japan
Prior art keywords
data
output
merger
subsequence
subsequences
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.)
Expired - Lifetime
Application number
JP8429785A
Other languages
English (en)
Other versions
JPS61243530A (ja
Inventor
英昭 武田
正 北村
敏夫 中村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP8429785A priority Critical patent/JPH0625964B2/ja
Publication of JPS61243530A publication Critical patent/JPS61243530A/ja
Publication of JPH0625964B2 publication Critical patent/JPH0625964B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Radar Systems Or Details Thereof (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ整列方法に係り、詳しくは複数の併合器
とメモリとの対を縦続接続し、パイプライン処理により
データを整列する方法の改良に関する。
〔従来の技術〕
入力データを昇順あるいは降順に整列する方法の一つ
に、複数の併合器とメモリとの対を縦続接続し、整列済
みデータ部分列の併合を繰り返す操作をパイプライン処
理することによりデータを整列するパイプラインマージ
ソート方式がある。第6図はその基本構成例であって、
1−I(I=1,2,3,…)は併合器、2−Iはメモ
リである。メモリ2−Iは2I-1個のデータを格納でき
る大きさを持っている。併合器1−Iはメモリ2−Iの
上と下に格納されるデータを整列して整列済みデータ部
分列を生成し、次段のメモリ2−(I+1)に格納する
処理を行う。
第7図は第6図の構成によるデータ整列の基本的動作を
説明する図であって、10はデータ、11は整列済みデ
ータ部分列である。いま、入力データg,f,h,i,
e,…,aが入力単100から入ってきたとする。該入
力データは1個ずつメモリ2−1の上と下に交互に格納
される。併合器1−1はメモリ2−1の上と下にデータ
が格納されると、両データを整列し、整列済みデータ部
分列“fg”,“hi”,…を順次出力する。該整列済
みデータ部分列は、部分列単位にメモリ2−2の上と下
に交互に順次格納される。併合器1−2はメモリ2−2
の上と下に格納される2個のデータ部分列を順次整列
し、整列済みデータ部分列“fghi”,“bcd
e”,…を出力する。以下、併合器1−3,1−4,1
−5で整列済みデータ部分列の併合を繰り返し、出力端
200から所望の整列データ“abcd…pq”が出力
される。
ここで、併合器1−1〜5はそれぞれオーバラップして
動作し、パイプライン制御により整列処理の高速化を達
成されるが、第7図に示すように、データの入力完了
後、整列されたデータが出力開始されるまでにt時間
の遅延が生じる。
従来、上記データの入力完了後、整列されたデータが出
力されるまでの遅延時間を短縮する方法としてダイナミ
ックマージ法が提案されている(情報処理学会第29回
全国大会、林隆夫他“パイプラインマージソートアルゴ
リズムの改良によるソート時間の短縮”)。これは奇数
個のデータ部分列を併合する併合器において、前段から
整列済みデータ部分列の最後のものが入力された時点
で、併合ペアを動的に変化させて出力データ部分列を生
成するというものである。
第8図はダイナミックマージ法の原理を説明する図であ
る。いま、併合器1−Iが11−1と11−2の整列済
みデータ部分列“qtuy”,“rvwz”を順次出力
して、これを受け取って併合器1−(I+1)は“qr
tu”まで整列済みデータを出力した時点で、併合器1
−Iは最後のデータ部分列11−3の最初のデータ
“s”を出力し、変更通知12が出されたとする。この
時、データ部分列11−1と11−2に注目するに、1
1−1では“y”が、11−2では“vwz”が併合器
1−(I+1)から未だ出力されないで残っている。変
更通知12が出力されると、併合器1−(I+1)は、
まず、上記データ部分列11−1と11−2の未だ残っ
ているデータの内、少ない方のデータ集合、即ち“y”
を“qrtu”に併合し、“qrtuy”を整列済みデ
ータ部分列11−4として出力する。次に、併合器1−
(I+1)は、多い方のデータ集合、即ち“vwz”を
最後のデータ部分列11−3に併合し、整列済みデータ
部分列11−5として“svwxz”を生成して出力す
る。
第9図は第7図と同じデータに対し、ダイナミックマー
ジ法を適用した場合のデータ整列例を示したものであ
り、データの入力完了後、整列されたデータが出力開始
されるまでの時間遅れはtとなる。第10図は第7図
とは別のデータに対し、通常のパイプラインマージソー
ト法を適用した場合のデータ整列例、第11図は第10
図と同じデータに対し、ダイナミックマージ法を適用し
た場合のデータ整列例を示したものである。
〔発明が解決しようとする課題〕
第7図と第9図を比較して明らかな如く、ダイナミック
マージ法では、データの入力完了後、出力開始までの時
間遅れが短縮されるものの、データ部分列を変更するタ
イミングが、該タイミングを出す側の併合器の最終出力
データ部分列の最初のデータ出力時点としているため、
変更直後に出力するデータ部分列が長くなり、十分な時
間遅れの短縮が図れない欠点がある。また、第10図と
第11図を比較すると明らかな如く、ダイナミックマー
ジ法の場合、データ数によっては、変更が最終的に、最
終併合器で併合するデータ部分列対の内、後に入力され
るデータ部分列の方に行われてしまい、変更の効果がで
ない欠点がある。第10図と第11図のデータ整列例の
場合、時間遅れはt=tである。
本発明の目的は、複数の併合器とメモリとの対を縦続接
続し、上記ダイナミックマージ法を適用してパイプライ
ン処理によりデータを整列する方法において、データの
入力完了後、整列済みデータの出力開始までの時間遅れ
をさらに短縮することにある。
〔問題点を解決するための手段および作用〕
変更処理自体は第8図で説明した原理を適用する。即
ち、変更処理を行う併合器では、変更処理の実施を指示
された時点で、該併合器が整列併合対象としているデー
タ部分列の組のうち整列併合対象として保持しているデ
ータ数が少ない方のデータ部分列に属するデータを、変
更処理の指示を受ける直前に出力していたデータ部分列
に連結されるように出力する。データ数が多い方のデー
タ部分列は、変更処理後、前段の併合器から出力される
新たなデータ部分列あるいは、次の整列併合対象として
入力されているデータ部分列と組にされて整列併合処理
する。
本発明は、この変更処理のタイミングを改善するもの
で、併合するデータ部分列対の変更通知を整列するデー
タの入力完了時点で各併合器に一斉に通知し、該変更通
知を受けた併合器の内、変更対象併合器(奇数個の入力
データ部分列を併合する併合器)では、出力するデータ
部分列の数によって各々次の時点で実際の変更処理を行
う。なお、以下の説明において、xを実数とする時、
[x]はxに等しいかより大きい最小の整数を表わし、
Nは整列するデータの個数を表わす。
(1)変更対象併合器1−I(I=1,2,3,…)の
内、出力するデータ部分列の数[N/2]が奇数とな
る併合器は、変更通知を受領後、該併合器が次段の併合
器に最終または最終の一つ前のデータ部分列として出力
するためのデータを整列併合する時点で変更処理を行
う。以下、ケース(1)という。
(2)変更対象併合器1−Iの内、出力するデータ部分列
の数[N/2]が偶数となる併合器は、変更通知の受
領した時点変更処理を行う。以下、ケース(2)とい
う。
このようにすることにより、変更は最終的に、最終併合
器に入力されるデータ部分列の内、先に入力されるもの
に対して従来のダイナミックマージ法よりも早い時点で
行われるため、結果的に最終併合器に先に入力されるデ
ータ部分列に含まれるデータ数が短かくなり、整列する
データの入力完了後、整列済みデータの出力開始までの
時間が短縮される。
〔実施例〕
第1図は第7図と同じデータに対し、本発明を適用した
場合のデータ整列例を示したものであり、第2図は第1
0図を同じデータに対し、同じく本発明を適用した場合
のデータ整列例を示したものである。両図において、1
9は変更通知のタイミング、20は実際に変更処理を行
うタイミングを示している。なお、整列装置は第6図の
構成をとるとしている。
第1図ではデータの入力完了後、整列済みデータの出力
開始までの時間遅れtは4クロックであり、第9図に
比べてさらに7クロック短縮される。また、第2図で
は、時間遅れtは10クロックであり、第11図の時
間遅れt=11クロックに比べて1クロック短縮され
る。
第1図のデータ整列例の場合の、第6図における各併合
器1−Iとメモリ対2−I内のデータの遷移を第3図
(A)〜(H)に示す。第3図の各併合器1−Iについ
て、「∨」はメモリ対2−Iの下側のデータを出力し、
「∧」は上側のデータを出力し、「×」は残りのデータ
を無条件に出力することを示している。また、黒矢印は
変更通知タイミング、白矢印は実際の変更処理タイミン
グを示す。
ステップ1では、整列するデータの最初のデータ“g”
がメモリ2−1の上側に入り、ステップ2では次のデー
タ“f”がメモリ2−1の下側に入る。併合器1−1は
該メモリ対2−1のデータを整列し、ステップ3でデー
タ“f”を出力してその後にデータ“h”を入れ、ステ
ップ4でデータ“g”を無条件に出力してその後にデー
タ“i”を入れる。
以下同様にしてデータを整列する処理が進められる。ス
テップ17(第3図(D))で整列すべき全データの入
力が完了し、各併合器1−1〜1−4に対して変更通知
が一斉に送出される。各併合器は、変更通知を受領する
と変更処理の要否及び変更処理のタイミングを判定して
変更処理/整列処理を進める。以下に、変更通知を受領
した各併合器での処理内容を説明する。
併合器1−1は、データ部分列“p”とデータ部分列
“q”を整列併合している途中で変更通知を受ける。併
合器1−1へのデータ部分列の数は奇数(17個)であ
り、変更処理を実施する条件を満たしている。また、併
合器1−1が出力するデータ部分列の数は奇数(9個)
であり、変更処理時点はケース(1)である。
変更通知を受けた時点で併合器1−1は最終から1つ前
のデータ部分列として出力するデータの処理中であり、
併合器1−1は変更通知を受けた時点で変更処理を実施
する。この変更処理時点で、併合器1−1が整列併合対
象としているデータ部分列は“q”と“空”のデータで
ある(データ“p”は出力済み)。そこで、“空”デー
タを直前に出力したデータ部分列“p”に連結させる。
この場合、“少ない方のデータ部分列”を出力する操作
は不要なので、新たな整列併合対象のデータ部分列につ
いて処理を継続する。即ち、併合器1−1は新たにデー
タ部分列“q”と“a”を整列併合対象のデータ部分列
とし、通常の整列併合処理を継続する。
併合器1−2は、入力データ部分列“no”と入力デー
タ部分列“pq”(ただし、“q”は未入力の状態)を
整列併合する時点で変更通知を受ける。併合器1−2へ
の入力データ部分列の数は奇数(9個)であり、変更処
理を実施する条件を満たしている。また、併合器1−2
が出力するデータ部分列の数は奇数(5個)であり、変
更処理時点は、これもケース(1)である。
変更通知を受けた時点で併合器1−2は出力すべきデー
タ部分列の最終から1つ前の部分列の処理中であり、変
更通知を受けた時点で変更処理を実施する。この変更処
理時点で、整列併合対象として前段の併合器1−1から
出力済みの入力データ列は、“no”と“p”であり、
併合器1−2では変更処理の規則により、短い方のデー
タ列、即ち“p”を出力中のデータ部分列に連結させ
る。しかし、併合器1−2では、この時点で、データ部
分列“jklm”(次段の併合器が整列併合するデータ
部分列対の一方の組)の出力を完了しているので、該併
合器1−2は“p”を新たなデータ部分列として出力す
る。そして、この変更処理時点での短い方のデータ部分
列“p”の出力を終了した次のサイクルから、併合器1
−2では、入力データ部分列として残されているデータ
部分列“no”と新たに前段の併合器1−1から出力さ
れてくるデータ部分列“aq”の併合処理を行う。
併合器1−3は、データ“i”を出力する直前の時点で
変更通知を受ける。即ち、入力データ部分列“bcd
e”と入力データ部分列“fghi”を整列併合してい
る途中時点で変更通知を受ける。
併合器1−3への入力データ部分列の数は奇数(5個)
であり、変更処理を実施する条件を満たしている。ま
た、併合器1−3が出力するデータ部分列の数は奇数
(3個)であり、変更処理時点は、これもケース(1)
である。
併合器1−3は、データ“i”をデータ部分列“bcd
efghi”の最終データとして出力すると、次のサイ
クルで、該併合器1−3から出力されるデータ部分列
(データ部分列“p”と“jklm”とを併合したデー
タ部分列)は、該併合器1−3が出力すべきデータ部分
列の最終から1つ前のデータ部分列となるので、併合器
1−3では、この時点で変更処理を実施する。即ち、整
列併合対象として前段の併合器から出力済みのデータ部
分列のうち短い方のデータ部分列“p”を新たなデータ
部分列として出力する。このデータ部分列“p”の出力
を完了すると、併合器1−3は、データ部分列“jkl
m”と前段の併合器1−2から出力されるデータ部分列
“anoq”を対象に通常の併合処理を継続する。
併合器1−4は、入力データ部分列の一部としてデータ
“h”を前段の併合器1−3から受領した時点で変更通
知を受ける。併合器1−3への入力データ部分列の数は
奇数(3個)であり変更処理を実施する条件を満たして
いる。併合器1−4が出力するデータ部分列の数は偶数
(2個)であり、変更処理時点はケース(2)である。
併合器1−4は直ちに変更処理を行うモードに設定され
る。しかし、変更通知を受領した時点では、整列併合対
象とするデータ部分列は、一方のデータが“bcdef
gh”までで最後の“i”が未だ入力されておらず、他
方のデータは未だ1つも入力されていないので、整列併
合処理、変更処理は行われない。
変更処理は、前段の併合器1−3から併合対象の一方の
データ部分列“bcdefghi”がすべて入力され、
続いて他方のデータ部分である“p”が入力された時点
で直ちに行われる。即ち、この時点で併合器1−4は、
併合対象として前段の併合器から出力済みのデータ部分
列“bcdefghi”と“p”のうち、短い方のデー
タ部分列“p”を新たなデータ部分列として出力する。
このデータ部分列“p”の出力を完了すると、併合器1
−4はデータ部分列“bcdefghi”と前段の併合
器1−3から出力されて来る新たなデータ部分列“aj
klmnoq”を対象に通常の整列併合処理を継続す
る。
併合器1−5では、入力されるデータ部分列の数が偶数
(2個)なので、変更処理は行われない。
このようにして、ステップ22からは整列済みデータの
出力が開始される。これの説明は省略する。
次に、第2図のデータ整列例の場合の、変更通知を受領
した各併合器1−1〜1−4での処理内容を説明する。
併合器1−1は、データ部分列“d”とデータ部分列
“e”を整列併合している途中で変更通知を受ける。併
合器1−1へのデータ部分列の数は奇数(25個)であ
り、変更処理を実施する条件を満たしている。また、併
合器1−1が出力するデータ部分列の数は奇数(13
個)であり、変更処理時点はケース(1)である。
変更通知を受けた時点で併合器1−1は出力すべき部分
列の最終から1つ前の部分列の処理中であり、併合器1
−1は変更通知を受けた時点で変更処理を実施する。こ
の変更処理時点で、併合器1−1が併合対象としている
データ部分列は“e”と“空”のデータである(データ
“d”は出力済み)。第1図の場合と同様に、見掛上、
併合器1−1は“空”データを直前に出力したデータ部
分列“d”に連結させる。そして、併合器1−1は、新
たにデータ部分列“e”と“a”を整列併合対象のデー
タ部分列とし、通常の併合処理を継続する。
併合器1−2は、入力データ部分列“bc”と入力デー
タ部分列“d”を整列併合する時点で変更通知を受け
る。併合器1−2への入力データ部分列の数は奇数(1
3個)であり、変更処理を実施する条件を満たしてい
る。また、併合器1−2が出力するデータ部分列の数は
奇数(7個)であり、変更処理時点は、やはりケース
(1)である。
変更通知を受けた時点で併合器1−2は出力すべき部分
列の最終から1つ前の部分列の処理中であり、変更通知
を受けた時点で変更処理を行う。この時点で、併合対象
としての入力データ列は、“bc”と“d”であり、処
理規則により、短い方のデータ列、即ち“d”を出力中
のデータ部分列に連結させる。しかし、第1図の場合と
同様に、併合器1−2では、この時点で、データ部分列
“fghi”の出力を完了しているので、見掛上、デー
タ“d”は“空”のデータと連結され、新たなデータ部
分列として併合器1−2から出力される。そして、併合
器1−2では、この短い方のデータ部分列“d”の出力
を終了した次のサイクルから、入力データ部分列として
残されている長い方のデータ部分列“bc”と新たに前
段の併合器1−1から出力されてくるデータ部分列“a
e”の併合処理を行う。
併合器1−3は、データ“q”を出力する直前の時点で
変更通知を受ける。即ち、入力データ部分列“nop
q”と入力データ部分列“jklm”を整列併合してい
る途中時点で変更通知(jklmnopまで整列併合済
みデータが出力された時点)を受ける。併合器1−3へ
の入力データ部分列の数は奇数(5個)であり、変更処
理を実施する条件を満たしている。また、併合器1−3
が出力するデータ部分列の数は偶数(2個)であり、変
更処理時点はケース(2)である。
併合器1−3は、変更通知を受けると直ちに変更処理を
行う。この時点で、一方のデータ部分列“jklm”の
データは全て出力済みであり、もう一方のデータ部分
“nopq”については“nop”まで出力済みで、デ
ータ“q”が残っている。従って、“空”のデータが出
力済みデータ“p”に連結される。この処理の後、併合
器1−3は変更処理で残ったデータ部分列“q”とデー
タ部分列“fghi”を新たな併合対象として処理を継
続する。
併合器1−4及び1−5では、入力されるデータ部分列
の数が偶数(4個及び2個)なので、変更処理は行われ
ない。
第4図は本発明を適用したデータ整列装置の全体構成図
である。データ整列装置は複数の併合器1−1,1−
2,…とメモリ対2−1,2−2,…、及び各併合器の
動作を制御するソータ制御回路3よりなる。ソータ制御
回路3は最終データ判定回路301を具備しており、入
力端100のデータ列をクロックに同期してカウント
し、最終データの入力が完了すると、変更通知信号19
を各併合器1−Iに送出する。併合器1−Iは制御部3
0、比較器50、マルチプレクサ60、及び、各メモリ
AとBに対する書込み回路70、読出し回路80、ラッ
チ回路90で構成される。比較器50はメモリAとBか
ら各ラッチ90に読み出されたデータを比較し、比較結
果を制御部30に通知する。制御部30は、通常は比較
結果によりマルチプレクサ60を制御し、ラッチ90の
いずれかのデータを次段へ出力すると共に、メモリA,
B、書込み回路70、読出し回路80を制御して、次の
データのメモリA,Bに対する読み書きを制御する。一
方、最終データ判定回路301より変更通知信号19を
受け取ると、制御部30は、自併合器が変更対象併合器
の場合、前記ケース(1)あるいはケース(2)の時点
にマルチプレクサ60の切換制御を変え、併合するデー
タ部分列対の変更を行う。
第5図は制御部30の具体的構成例を示したものであ
る。全データ数カウント部31は初期値が1で、クロッ
クごとに1ずつカウントアップし、入力されたデータ数
を数え上げる。併合器番号格納レジスタ32は該当併合
器の番号I(I=1,2,3,…)を格納している。処
理開始/完了制御部33は該当併合器1−Iの処理開
始、完了を指示するもので、全データ数カウント部31
の値が2I-1+I−1(Iは32からの併合器番号)に
なったところでメモリポインタ管理部34、メモリリー
ド/ライト制御部42にメモリ対2−Iへの入力開始
を、2+Iになるとデータカウント部35に出力開始
を通知する。
メモリポインタ管理部34はメモリ対2−Iに格納され
るデータのアドレスを管理し、メモリリードライト制御
部42はメモリ対2−Iの各書込み回路70、読出し回
路80を制御する。
データ数カウント部35は初期値が1で処理開始/終了
制御部33からの処理開始指令後、クロックごとにメモ
リ対2−Iに入力されるデータ数を数え上げ、その値を
データ部分列数カウント部36に送る。この値は現在出
力したデータ個数+1を示している。データ部分列数カ
ウント部36はデータ数カウント部35からの値(N
とする)とレジスタ32からの併合器番号Iをもとに
[N/2I-1]により次に出力するデータのデータ部
分列番号を求める。つまり、データ部分列数カウント部
36は、処理開始指令後、メモリ対2−Iに入力される
テータ部分列数を数え上げる。
入力データ部分列数計算部37はメモリ対2−Iに入力
する全データ部分列数を計算し、出力データ部分列数計
算部38は当該併合器1−Iより出力する全データ部分
列数を計算するものである。レジスタ39はメモリAの
内の現在併合対象となっているデータ部分列の内、未だ
出力されていないデータの個数を格納し、レジスタ40
はメモリB内の現在併合対象となっているデータ部分列
の内、未だ出力されていないデータの個数を格納してい
る。
データ整列装置の最終データ判定回路301で最終デー
タを入力完了した時点で、制御部30は変更通知信号1
9を受け取る。処理開始/完了制御部33は、変更通知
信号19を受け取ると、その時点での全データ数カウン
ト部31の値(全データ数N)を取り込み記憶してお
く。入力データ部分列数計算部37は変更通知信号19
を受け取ると、その時点でのカウント部31の値(N)
を取り込み、これとレジスタ32からの値Iよりメモリ
対2−1に入力する全データ部分列数[N/2I-1]を
計算し、出力切換制御部41に通知する。同様に、出力
データ部分列数計算部38は変更通知信号19を受け取
ると、その時点でのカウント部31の値(N)を取り込
み、これとレジスタ32からの値(I)より当該併合器
1−Iから出力する全データ部分列数[n/2]を計
算し、出力切換制御部41に通知する。
出力切換制御部41は、変更通知信号19を受け取る
と、入力データ部分列数計算部37の値の奇偶を判定す
る。奇数であるとデータ部分列の変更対象併合器である
から、出力データ部分列数計算部38からの値を基に変
更タイミングを生成する。すなわち、出力データ部分列
数計算部38からの値が奇数の場合は、データ部分列数
カウント部36から次に出力するデータのデータ部分列
番号を取り込み、該カウント部36からの値と出力デー
タ部分列数計算部38からの値の差が1以下になった時
点で、レジスタ39と40の値の少ない方のメモリ側の
データを出力する様にマルチプレクサ60に切換信号を
送る。この場合、出力切換制御部41は、該メモリ側の
データ数格納レジスタ39あるいは40の値が0になる
まで、該当メモリ内のデータを出力し続けるように、切
換信号を送る。該当レジスタ39あるいは40の値が0
になったところで、通常の併合処理に戻る。一方、出力
データ部分列数計算部38からの値が偶数の場合は、出
力切換制御部41はその時点でレジスタ39と40の値
の少ない方のメモリ側のデータを出力する様にマルチプ
レクサ60に切換信号を送る。その後、出力切換制御部
41は、該当メモリ側のデータ数格納レジスタの値が0
になるまで、該当メモリのデータを出力し続ける様に切
換信号を送り、0になったところで通常の併合処理に戻
る。なお、変更処理時に、変更対象となるデータ部分列
がメモリに格納されていない場合には、格納されるまで
処理を待つ。処理開始/終了制御部33は全データ数カ
ウント部31より受け取る値が2+N+1になったと
ころで、各部に処理完了を通知し、当該併合器の処理を
終了する。
〔発明の効果〕
以上説明したように、本発明では、データ部分列対の変
更時期を2種類用いることにより、最終併合器に入力す
るデータ部分列の内、先に入力されるデータ部分列に含
まれるデータ数が少なくなるため、最終併合器からのデ
ータ出力時期が早くなり、従来方式に比べ、データ整列
時間をさらに短縮できるという利点がある。
【図面の簡単な説明】
第1図及び第2図は本発明によるデータ整列例を示す
図、第3図は第1図のデータ整列例の処理遷移を示す
図、第4図は本発明を適用したデータ整列装置の一実施
例の全体構成図、第5図は第4図の併合器内の制御部の
具体的構成例を示す図、第6図はパイプラインマージソ
ートの基本構成図、第7図は通常のパイプライン処理に
よるデータ整列例を示す図、第8図はダイナミックマー
ジ法の原理説明図、第9図は第7図に対応するダイナミ
ックマージ法によるデータ整列例を示す図、第10図は
通常のパイプライン処理による別のデータ整列例を示す
図、第11図は第10図に対応するダイナミックマージ
法によるデータ整列例を示す図である。 1−I…併合器、2−I…メモリ、10…データ、11
…整列済みデータ部分列、19…変更通知時点、20…
実際の変更時点。
フロントページの続き (56)参考文献 情報処理学会第29回全国大会講演論文集 (II)、84[9](1984)、林隆史他、 パイプラインマージソートアルゴリズムの 改良によるソート時間の短縮、P.763− 764

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】入力された2組の整列済みデータ部分列の
    データを整列併合して1組のデータ部分列として出力す
    る機能と、外部からの指示により、整列併合対象として
    いるデータ部分列の組のうち、整列併合対象として保持
    されているデータ数が少ない方のデータ部分列に属する
    データを、該外部からの指示を受ける直前に出力してい
    たデータ部分列に連結されるように出力するとともに、
    データ数が多い方のデータ部分列は、前記整列併合対象
    とされたデータ部分列の次の組として整列併合されるべ
    く入力されているデータ部分列あるいは前記外部からの
    指示があった後に最初に入力されたデータ部分列と組に
    して整列併合する変更処理機能と、を有する併合器を複
    数段、縦続に接続してデータを整列する方法において、 整列すべき全データの入力完了時点で、前記各併合器に
    対して、整列併合するデータ部分列対の変更通知を一斉
    に送出し、 前記変更通知を受けた併合器のうち、整列すべき全デー
    タに対応するデータ部分列の数が奇数となり、且つ、出
    力するデータ部分列の数が奇数となる併合器では、該併
    合器が次段の併合器に最終または最終の一つ前のデータ
    部分列として出力するためのデータを整列併合する時点
    で前記変更処理機能を有効とし、 前記変更通知を受けた併合器のうち、整列すべき全デー
    タに対応するデータ部分列の数が奇数となり、且つ、出
    力するデータ部分列の数が偶数となる併合器では、変更
    通知を受領してから最初にデータを整列併合する時点で
    前記変更処理機能を有効として、 データを整列することを特徴とするデータ整列方法。
JP8429785A 1985-04-19 1985-04-19 デ−タ整列方法 Expired - Lifetime JPH0625964B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8429785A JPH0625964B2 (ja) 1985-04-19 1985-04-19 デ−タ整列方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8429785A JPH0625964B2 (ja) 1985-04-19 1985-04-19 デ−タ整列方法

Publications (2)

Publication Number Publication Date
JPS61243530A JPS61243530A (ja) 1986-10-29
JPH0625964B2 true JPH0625964B2 (ja) 1994-04-06

Family

ID=13826535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8429785A Expired - Lifetime JPH0625964B2 (ja) 1985-04-19 1985-04-19 デ−タ整列方法

Country Status (1)

Country Link
JP (1) JPH0625964B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728624A (ja) * 1993-07-13 1995-01-31 Mitsubishi Electric Corp ソート装置及びソート方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会第29回全国大会講演論文集(II)、84[9(1984)、林隆史他、パイプラインマージソートアルゴリズムの改良によるソート時間の短縮、P.763−764

Also Published As

Publication number Publication date
JPS61243530A (ja) 1986-10-29

Similar Documents

Publication Publication Date Title
US4734850A (en) Data process system including plural storage means each capable of concurrent and intermediate reading and writing of a set of data signals
US4593393A (en) Quasi parallel cyclic redundancy checker
EP0155211B1 (en) System for by-pass control in pipeline operation of computer
US6055629A (en) Predicting for all branch instructions in a bunch based on history register updated once for all of any taken branches in a bunch
JPH08274649A (ja) Lempel−Zivタイプ・アルゴリズムを用いたデータ圧縮装置
CN102004711B (zh) 一种基于fpga的单中断实时数据传输方法
US20080133779A1 (en) Device and method for access time reduction by speculatively decoding non-memory read commands on a serial interface
JPS60173930A (ja) パイプライン処理ビタビ復号器
JPH01177127A (ja) 情報処理装置
CN111103959B (zh) 寄存器复位系统及芯片
JPH0625964B2 (ja) デ−タ整列方法
CN102855120B (zh) 超长指令字vliw的处理器和处理方法
JP4138180B2 (ja) プロセッサ
JPS6142031A (ja) ソ−ト処理装置
JP2516611B2 (ja) 並列デ−タ処理装置
US6314156B1 (en) Space-efficient multi-cycle barrel shifter circuit
RU2319192C2 (ru) Устройство для построения программируемых цифровых микропроцессорных систем
JP2998647B2 (ja) データ順次セレクト方式
JP2617591B2 (ja) シリアル演算回路
JP3054787B2 (ja) 可変長符号の復号装置
JPH05143287A (ja) ハードウエアソート処理装置
JPS63284638A (ja) デ−タ整列装置
CN113010749A (zh) 正则表达式匹配系统
RU1793438C (ru) Устройство дл сортировки чисел
JPS6037037A (ja) データ処理装置