JPH01293435A - データ整列処理方式 - Google Patents

データ整列処理方式

Info

Publication number
JPH01293435A
JPH01293435A JP12361688A JP12361688A JPH01293435A JP H01293435 A JPH01293435 A JP H01293435A JP 12361688 A JP12361688 A JP 12361688A JP 12361688 A JP12361688 A JP 12361688A JP H01293435 A JPH01293435 A JP H01293435A
Authority
JP
Japan
Prior art keywords
data
merging
subsequences
stage
subsequence
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
JP12361688A
Other languages
English (en)
Inventor
Hideaki Takeda
武田 英昭
Tetsuji Sato
哲司 佐藤
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 JP12361688A priority Critical patent/JPH01293435A/ja
Publication of JPH01293435A publication Critical patent/JPH01293435A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、多段階の併合処理によりデータ整列を行う
際に必要な作業メモリ量を削減するデータ整列処理方式
に関するものである。
「従来の技術」 複数のデータをそれらの値に従って整列する際、k本(
kは2以上の整数)の整列済みデータ部分列(以降、単
にデータ部分列と呼ぶ)の併合を繰り返し、順序よく並
んだデータ部分列の長さ(すなわち、データ部分列に含
まれるデータの個数)を1 (元のデータ) 、k、k
”、k” 、・・・と長くして行くことにより整列を行
う手法(kウェイマージソート法と呼ばれる)は一般に
よく知られている。第4図はにウェイマージソート法で
、k=2の場合の整列の様子を示す図である。ここでは
データを昇l1lIに整列する例を示しており、a、b
C1・・・、hは各々データ、下線でくくられたデー夕
の集まりは整列済みデータ部分列を示す、第4図の場合
、1段目の併合で長さ1のデータ(元のデータ)から長
さ2のデータ部分列を生成、2段目の併合で長さ2のデ
ータ部分列から長さ4(=kx)のデータ部分列を生成
、3段目の併合で長さ4のデータ部分列から長さ8(=
に’)のデータ部分列(=整列結果)を生成している。
すなわち、8個のデータ(あるいは、8本の長さlのデ
ータ部分列)を3段の併合で整列している。一般に、1
本のデータ部分列はrlog++n 1段の併合で整列
できる。ここでrxlはX以上の最小の整数を表す。
このようなにウェイマージソート法を専用のハードウェ
アを用いて実現する場合の一般的なハードウェア構成を
第5図に示す、ここで、101は最大に個のデータを格
納し、その内から最小あるいは最大のデータをすること
により、最大に本のデータ部分列を併合可能な併合回路
(周知の回路であり、例えば特開昭61−42031号
にある)、102は併合結果を一時的に格納するメモリ
、103はデータの入出力端子、104は併合回路10
1、メモリ102を制御する整列制御回路である。
次に第5図の動作を説明する。メモリ102には予め整
列対象となるデータ部分列が入力され、格納されている
とする。このとき、併合回路101により1段目の併合
を行い、併合結果をメモリ102に再び格納する。1段
目の併合が終了した時点で、2段目の併合を開始する。
以降、入力データ部分列かに本以下のデータ部分列にな
る((rlogknl −1)段目の併合)まで、同様
の併合と併合結果のメモリ102への格納を繰り返す。
データ部分列の併合結果かに本以下になった時点(r 
Iog、、n 1段目の併合)で、データ部分列を併合
回路101で併合し、併合結果を出力端子104から出
力する。
第6図は、第4図のデータを第5図の装置で併合したと
きのメモリ102におけるデータ格納の様子を示したも
のである。ここで、細線で囲まれたデータはデー多部分
列である。時刻Oは入力されたデータがすべてメモリ1
02内に格納された時点である。
併合回路101には最大に個のデータしか格納できない
ため、併合回路101での併合結果はその回路が入力し
たデータのデータ領域とは別の領域に格納する必要があ
る。このため、併合結果を格納する領域を予め作業領域
として確保し゛ておく。また、一連の併合は、併合結果
をメモリ内の連kjE SJf域に格納するようにする
ため、データ部分列の併合する順番を、段数により、前
後から交互に行うこととする。
時刻1は1段目の併合の1回目の併合(データaとeの
併合)結果である。以下、1段目の併合を続け、1段目
の併合終了時のメモリ内は時刻4のようになる0次に、
2段目の併合に入り、2段目の併合結果時点のメモリ内
は時刻6のようになる。併合結果をメモリに格納するの
は2段目の併合までである。
第6図において、併合結果を常に連続領域に格納するた
めには、併合順序を前後交互に行うばかりでなく、作業
領域として、各段、各回での併合結果を格納できるだけ
の大きさを予め確保しておく必要がある。1回あたりの
メモリに格納するデータ部分列の長さは段数が増すに連
れて、長くなり、(最終−1)段目(第6図では2段目
)における併合の結果の格納で最長となる。したがって
、(最終−1)段目での併合結果のうち、最大長のデー
タ部分列を格納できるだけの大きさの領域を予め作業領
域として確保しておく。第6図の例では、最終段−1=
2段目のデータ部分列の長さで最大のものはデータの個
数にして4であるから、時刻0において予めデータ4個
分の領域を作業領域として確保している。
作業領域の大きさは、それを小さくすることがデータ整
列装置全体のハードウェア量を削減するためには重要で
ある。作業領域の大きさは、各段、各回で併合するデー
タ部分列の数により変わってくるものである。作業領域
の大きさを小さくするための手法としては従来、(最終
−1)段目の併合開始時点において戦略をたてる方法が
提案されていたく特願昭63−1615)。この方法は
、(最終−1)段目の併合の結果できるデータ部分列の
数をに本、かつ、その段の各回の併合で併合するデータ
部分列の数の差が高々1となるように、その段の各回で
併合するデータ部分列の本数を制御するものである。
第7図は、従来方式における各段での併合の様子を示し
たものである。()内はデータ部分列に含まれるデータ
の個数を示す。A−H,O−Wは各々長さ4の(4個の
データからなる)整列済みデータ部分列、Xは長さ1の
データ部分列であり、併合回路101で最大併合可能な
データ部分列数は4としている。これらの入力データ部
分列は、例えば、長さ4まで整列可能な他の整列手段に
おいてデータを整列しながら、本装置に入力すれば、こ
のような形式のものとなる。入力終了後、1段目の併合
は入力データ部分列の後ろから順に4木ずつ行い、1段
目の最後は2本のデータ部分列の併合となる。1段目の
併合結果、5木のデータ部分列ができる。ここで、2段
目(=(最d−1)段目)の併合戦略をたてる。戦略は
以下のようなものである。
(最終−1)段目の併合におけるデータ部分列数をm、
併合回路101で併合可能な最大部分列数をkとし、 i=−1m/kJ、j=mmodk ただし、LXJはXを超えない最大の整数、m mod
 kはmをkで割った剰余 と表すとき、(i+1>本のデータ部分列の併合を3回
、1本のデータ部分列の併合を(k−j)回行う。
第7図の2段目の併合に上記戦略を適用すると、2段目
では2本のデータ部分列の併合を1回と1本のデータ部
分列の併合を3回行う。その結果、長さが各々24,1
6,16.13の4本のデータ部分列ができる。この内
、最大のデータ部分列の長さは24であるから、作業L
I¥域として用意すべき領域の大きさは24デ一タ分で
ある。なお、従来方式における戦略を用いずに(最終=
1)段で単純に前から4本ずつを併合すると、併合結果
できるデータ部分列の最大長は1回目の併合結果であり
、8+16+16+16=56となる。
第8図は、第7図の整列を行ったときの、メモリ102
におけるデータ格納の様子である。()内はデータ部分
列に含まれるデータの個数である。
作業領域として、24個分のデータ領域を確保しておけ
ば、整列が可能であることがわかる。
「発明が解決しようとする課題」 整列のために必要な装置内メモリ上の作業領域の大きさ
は、装置のハードウェア量に影響するものである。従来
方式においである程度の改善がなされているが、未だ十
分とはいえない。この発明の目的は、作業領域の大きさ
をさらに削減するデータ整列処理方式を提供することに
ある。
「課題を解決するための手段」 この発明は、1段目の併合に際し、その段での併合結果
できるデータ部分列の本数をkのべき乗にし、かつ、(
最終−1)段目の併合結果の各データ部分列に含まれる
入力データ部分列の数の差が高々1本になるように、い
ずれの入力データ部分列を併合するかについての戦略を
たてることを最も主要な特徴とする。従来の技術とは、
(最終−1)段目で併合の結果できるデータ部分列に含
まれる入力データ部分列の本数を見越して、1段目にお
いて併合戦略をたてることが最も異なる。
1段目において戦略をたてること、により、(最終−1
)段での併合の結果できる各データ部分列の長さが従来
よりも均等化され、このため、装置内メモリに予め用意
しておく作業領域を従来以上に削減できる。
「実施例」 この発明における、併合戦略は1段目の併合に対して適
用する。戦略の目的は、入力したデータ部分列を、併合
結果できるkのべき乗零のデータ部分列をに個のデータ
部分列集合に分割した場合に各データ部分列集合に含ま
れる入力データ部分列数の差が高々1本となるように、
kのべき乗木のデータ部分列に併合することである。さ
らに、この例では、1段目の併合処理を容易にするため
、併合するデータ部分列数の差が高々1本になるように
している。具体的には、入力データ部分列の本数をn+
4(n+ は2以上の整数)とするとき、1段目の併合
に以下の戦略を適用し、n2=kjLIogmn+ J
本のデータ部分列を作成する。ただし、k↑Xで、Xは
kの指数である。
ko  = Ln+  /nz  J 、kl  = 
rn+  /nt 1、mo =nt   (n、 +
mod nl ) Sと表すとき、 k0本のデータ部分列の併合をr me / k 1回
、k1本のデータ部分列の併合を((nx/k)−「m
0/k])回行うような併合を(mo n+od k)
凹繰り返し、さらに、k0本のデータ部分列の併合をL
mo /kJ回、k7本のデータ部分列の併合を((n
z /k)−Lmo /にコ)回行うような併合を(k
  (me IIIod k> )回繰り返す。
2段目以降の併合は、データ部分列の数が常にkのべき
乗になっているため、データ部分列をに木ずつ併合して
いけばよい。
第1図は、この発明における整列の様子を示したもので
ある。ここで、入力データは第7図と同様である。第1
図と上記戦略との対応関係は以下のとおりである。
n2−4↑Lloga18J = 16゜kO−L18
/16J  =  1.  k、  =  r18/1
61  = 2゜mo  =16  (18mad  
16)  =14.  momod  k = 2であ
るから、データ部分列の併合の順序は以下のとおりであ
る。
1本のデータ部分列の併合を4回、2本のデータ部分列
の併合を0回、 1本のデータ部分列の併合を4回、2本のデ・−夕部分
列の併合を0回、 1本のデータ部分列の併合を3回、2本のデータ部分列
の併合を1回、 1本のデータ部分列の併合を3回、2本のデータ部分列
の併合を1回 第2図は、第1図の整列を行ったときの、メモリ102
におけるデータ格納の様子である。作業領域として、2
段目の併合結果の最大長であるデータ20個分の領域を
確保しておけば、整列が可能である。この発明により、
作業領域の大きさは従来方式(データ24個分)に比べ
さらに削減している。′ 「発明の効果」 以上説明したように、この発明ではデータ部分列を入力
し終えた時点で、いずれのデータ部分列を併合するかに
ついて戦略をたてる。この龜略をたてる時期が、従来方
式に比べ早いので、(最終−1)段におけるデータ部分
列に含まれるデータ数が従来方式よりも均等化され、そ
の段でできるデータ部分列の最大長も小さくなり、その
結果、整列開始時に用意すべきメモリ上の作業領域の大
きさも小さくて済む。
第3図は、従来の整列制御をした場合の必要メモリ四と
この発明の整列制御を用いた場合の必要メモリ量とを比
較したものである。第3図は、最大4デ一タ部分列の併
合が可能な併合回路を用い、人力時のデータ部分列の長
さは4 (データ数に端数がある場合は、最終人力デー
タ部分列の長さは3以下)である。線401は入力デー
タ部分列の大きさ、線402は従来の整列制御をした場
合の必要メモリ量、線403はこの発明の整列制御を用
いた場合の必要メモリ量である。第3図から明らかなよ
うにこの発明により、装置内メモリ量は従来方式に比べ
削減されている。これにより、装置ハードウェア■も削
減されるという効果がある。
【図面の簡単な説明】
第1図はこの発明における併合の例を説明する図、第2
図は第1図の例におけるデータ整列装置内メモリでのデ
ータ格納の様子を説明する図、第3図はこの発明の効果
を示す図、第4図はにウェイマージソート法の例を説明
する図、第5図は一般的なデータ整列装置の装置構成図
、第6図は第4図の例におけるデータ整列装置内メモリ
でのデータ格納の様子を説明する図、第7図は従来方式
における併合の例を説明する図、第8図は第7図の例に
おけるデータ整列装置内メモリでのデータ格納の様子を
説明する図である。 特許出願人  日本電信電話株式会社 代 理′人 草 野   卓

Claims (1)

    【特許請求の範囲】
  1. (1)整列済みデータ部分列(以下、単にデータ部分列
    と呼ぶ)を最大k本まで併合可能な併合手段と、その併
    合手段を用いて併合中のデータ部分列を記憶する記憶手
    段と、前記併合手段及び記憶手段を制御する制御手段と
    からなり、複数のデータ部分列を入力し、それらの併合
    を段階的に繰り返し行うことにより、1本のデータ列に
    整列するデータ整列装置において、データ部分列入力終
    了後、以下の2条件全てを満たすような戦略で入力デー
    タ部分列を併合することにより、kのべき乗のデータ部
    分列にまとめ、以降k本のデータ部分列を併合して行く
    ことにより整列することを特徴とするデータ整列処理方
    式。 条件[1]1段目の併合結果できるデータ部分列の本数
    をkのべき乗にする、 条件[2](最終−1)段の併合結果の各データ部分列
    に含まれる入力データ部分列の数の差を高々1本にする
JP12361688A 1988-05-20 1988-05-20 データ整列処理方式 Pending JPH01293435A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12361688A JPH01293435A (ja) 1988-05-20 1988-05-20 データ整列処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12361688A JPH01293435A (ja) 1988-05-20 1988-05-20 データ整列処理方式

Publications (1)

Publication Number Publication Date
JPH01293435A true JPH01293435A (ja) 1989-11-27

Family

ID=14865002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12361688A Pending JPH01293435A (ja) 1988-05-20 1988-05-20 データ整列処理方式

Country Status (1)

Country Link
JP (1) JPH01293435A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02202630A (ja) * 1989-02-01 1990-08-10 Mitsubishi Electric Corp 階層構造データマージ方式

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251923A (ja) * 1986-04-25 1987-11-02 Toshiba Corp ソ−ト処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251923A (ja) * 1986-04-25 1987-11-02 Toshiba Corp ソ−ト処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02202630A (ja) * 1989-02-01 1990-08-10 Mitsubishi Electric Corp 階層構造データマージ方式

Similar Documents

Publication Publication Date Title
US4768159A (en) Squared-radix discrete Fourier transform
US5857186A (en) Parallel merge sorting apparatus with an accelerated section
JPH01293435A (ja) データ整列処理方式
US4754422A (en) Dividing apparatus
US5036483A (en) Binary adding apparatus
JPH07112146B2 (ja) 可変遅延回路
JPS62212726A (ja) インデツクスキー圧縮処理方法
JPH01102636A (ja) ソーティング回路
Fischler et al. Assumptions in the threshold synthesis of symmetric switching functions
JPH04180124A (ja) ソート処理装置
JPH0324629A (ja) タスク管理方法
JPH06276062A (ja) マスタ/スレーブ型dフリップフロップが複数段接続された論理回路
JPS60254373A (ja) 積和演算装置
US5644518A (en) Computing device for nth degree functions
EP0207462A2 (en) Comparator circuit
JPS6266315A (ja) 入力制御方式
JPH08328924A (ja) インデックス更新方式
JPH031227A (ja) ソート処理装置
JPS63298625A (ja) 比較装置
GB1323230A (en) Data processing apparatus
JPH03192437A (ja) ストリングディレクトリソート併合方式
JPH01177124A (ja) ソータ記憶管理方式
JPS63298624A (ja) 比較装置
JPS63149728A (ja) 索引生成方式
JPH02206830A (ja) マージ処理方法