JPS58146935A - ソ−ト処理装置 - Google Patents

ソ−ト処理装置

Info

Publication number
JPS58146935A
JPS58146935A JP2994482A JP2994482A JPS58146935A JP S58146935 A JPS58146935 A JP S58146935A JP 2994482 A JP2994482 A JP 2994482A JP 2994482 A JP2994482 A JP 2994482A JP S58146935 A JPS58146935 A JP S58146935A
Authority
JP
Japan
Prior art keywords
data
words
sorting
memory
processing
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
JP2994482A
Other languages
English (en)
Inventor
Kazuhide Iwata
岩田 和秀
Shigeki Shibayama
柴山 茂樹
Yutaka Hitai
比田井 裕
Shigeru Koyanagi
滋 小柳
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Tokyo Shibaura Electric Co Ltd
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 Toshiba Corp, Tokyo Shibaura Electric Co Ltd filed Critical Toshiba Corp
Priority to JP2994482A priority Critical patent/JPS58146935A/ja
Publication of JPS58146935A publication Critical patent/JPS58146935A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はデータペース処理に必要となるデータのソート
処理を高速度に実行することのできるソート処理装置に
関する。
〔発明の技術的背景とその問題点〕
物の集まりを成る特定の順序で並べ直すソート処理は、
データ処理プロセスにおける非常(;菖要な基本作業で
ある。この為、そのアルゴリズムに関しては古くより多
くの研究が行われており、代表的なものとして、単純選
択法、単純交換法、ビープソート法、分割ソート法、そ
してマージソート法等が知られている。
ところで、データのソート処理は一般に上記アルゴリズ
ムをプログラムした計算機を用いて行われる。然し乍ら
、文献検索でみられるような大容量データを上記したソ
フトウェアによりソート処理する場合、その処巡時間が
非常に長くなって問題となる。この為、連想処遍を行い
得るプロセッサや、上述したアルゴリズムを専用に実行
するソートエンジンの開発が強く望まれている。またソ
ートエンジンを構成した場合には、その処理エレメント
数によってソート処理し得るデータ個数が限られる為、
大容量のデータを取扱う場合に問題が生じる等の不具合
があった。
〔発明の目的〕
本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、大容量のデータを高運に、且つ
効率良くソート処理することのできるソート魁通装置を
提供することにある。
〔発明の概要〕
本発明はデータの続出しと書込みの同時アク七ス可能な
履/2ワードの容量を持つ2つのメモリと、これらのメ
モリに格納されたデータをマージ処理するプロセッサと
、前記このメモリの読出しアドレスを比較してデータ残
数の少ないメモリを弁別するコンパレータとを用い、論
ワード単位でソート処理されたデータなm/ 2ワード
づつ上記2つのメモリに送ったのち、前記プロセッサに
よりマージ処理によってデータ残数の少なくなったメモ
リへm/4 ワード単位で前記ソート処理されたデータ
を繰返し供給することにより、mワード単位でソート処
理されたoXmワードのデータ全体を外部ソート処理す
るようにしたものである。
〔発明の効果〕
従って本発明によれば、ソートエンジンが有するmワー
ドのデータ処理能力を越えた大容量nXa&ワードのデ
ータを、上記ソートエンジンによりmワード単位でソー
ト処理されたデータ毎に効率良く、且つ高速にソート処
理することが可能となり、その実用的利点が非常に大き
い。
〔発明の実施例〕
以下、図面を参照して本発明の一実施例につき説明する
第1図は実施例装置の概略構成図であり、ソートエンジ
ン1.メそす2.コントローラS。
そして外部メモリであるディスク4により構成されてい
る。ソートエンジンノは周知のように、2 つ(D P
 IFO(First −jn First−Out 
) Jlll能を持つメモリと、これらのメモリに与え
られた入力データを比較してマージ処理するプロセッサ
とからなる処理エレメントを複数個縦続に接続して構成
され、マージソート法のアルゴリズAに従ってパイプラ
イン的にデータのソート処理を実行するものである。即
ち、ソートエンジンJは、例えば′s2図に示すように
3段構成された処理ニレメン) 1””、J −s s
 l−aからなり、8個のデータ(6= 2 * 4 
* 8−1 * 7−5 * 3 )がその順序で与え
られて、これを数値の小さいものから順にソーティング
する場合、次のように動作する。第1の処理ニレメン)
J=+では、上記入力データを順に2個づつ比較して、
値の小さいものから並び換えた(6=2)−(4,8L
(1=7)、(3,5)なる4組のデータを作り、これ
を次段の処理エレメント1−!に与えている。
この第2の処理エレメント1−2では、上記データを順
にマージ処理して4つのデータからなる2つの組(2,
4,6,8)#(1,3,5,7−)を作り、これを第
3の処理エレメントl +sに送る。
この第3の処理エレメント1−、こて、上記2組のデー
タが順にマージ・ソート処理され、値の小さいデータよ
り並べた(1,2,3.4,5,6゜7.8)なるソー
ト処理結果を得る。このようにして、3つの処理エレメ
ントJ −1* J−f雪1 +sにより8個のデータ
が所定の規則に従ってソート処理される。そして、一般
的に)−1個の縦統に接続された処理ニレメン)J−、
#l−、〜1−1により、2 個のデータのソート処理
が行われる。
ところがソート処理に供されるデータ量は千差万別であ
り、その最大のデータ量を取扱うべく多数の処理エレメ
ントを並べてソートエンジylを構成することは八−ド
クエア量が膨大となり極めて不経済である。
そこで本発明では、処理エレメントの数を例えば16個
と云うように成る個数に限定してソートエンジン1を構
成し、このソートエンジン1の処理能力以上の大容量デ
ータを扱う場合シーは、そのデータを上記ソートエンジ
ンlで処理可能なデータ量に分割してソート処理を行う
、所謂外部ソート処理を行うようにしている。特にこの
外部ソート処理にあってはソートエンジン1とメモリ2
との間で何度もデータ転送を行う必要があることから、
このデータ転送を最適化して高速処理を行い得るように
している。
先ず、この外部ソート処理の概念につき、第3図を#照
して説明する。
ソートエンジン1を番個の処理エレメントにより構成し
た場合、2 個、つまり単ワードのデータをソート処理
すること示可能となる。そこで今、上記mワードよりは
るかに大きい量のデータがある場合、外部ソート法では
これらのデータなmワードづつのブロックに分割し、こ
れらの各ブロック内でmワードのデータをそれぞれソー
ト処理し、しかるのちに上記各ブロックをマージ処理す
ることにより、データ全体のソーティングを実現する。
即ち、第3図に示すように、(1回目)にはmワードの
ブロック化されたデータ間でソート処理を実行し、次に
(2回目)として上記ソート処理されたmワードのデー
タからなる2つのブロック間でそれぞれマージ・ソート
処理を行わしめ、更に(3回目)には2mワードからな
る2つのブロックに対してマージ・ソート処理を行う。
これを順次行うことにより、最終的にデータ全体のソー
ト処理が完了することになる。従って、1個のデータが
与えられた場合、これをmワードづつブロック化したと
きのブロック数をn個としたとき、一般に(1+JOg
tm)ステップの外部ソ=::l:11 トにより、上記7個のデータ全体がソート処理されるこ
とになる。
さて、第4図は上述した外部ソート処理な実行する本発
明に係るソートエンジン1の構成と、その制御部の構成
を示したものである。ソートエンジン1を構成する各段
のlB1m1エレメント1−1 s ’−1〜1−1は
、それぞれ2つのメモリ11.11とプロセッサIJと
により構成される。上記メモリ11.11の容量は、1
段目にあっては1(−2)ワード、2段目にあっては2
(−2)ワード、モして轟段目にあって五−電 は2  ワードとなっている。つまり、鵬ワードのソー
ト処理能力を有するソートエンジン1の最終段処理エレ
メント1−1における2つのメモリ11.11はそれぞ
れ2−1(鴫−/2 )ワードの容量を有するものとな
っている。しか゛して、これらのメそ911.11のデ
ータ読出しアドレスをそれぞれ指定するアドレス力クン
タ14.15のアドレス値は、コンパレータ1gに与え
られて相互に比較されている。このコンパレータ1#は
、最終処理エレメ、ン’)JJ−14二てソート処理さ
れる鵬ワードのデータvm/2づつ格納する上記メモ9
44.11のデータ残数を上記読出しアドレスより検出
し、上記データ残数の少ない方のメモリを弁別するもの
である。そして、このコンパレータ1#により弁別され
たデータ残数の少ないメモリの情報が、外部ソート処理
制御情報として前記メモリ2に与えられるようになって
いる。尚、メモリ11゜12はデータの続出しと書込み
の同時アクセス可能な、所111FIFO5i能を有し
ていることは勿論のことである。
このような最終段処理ニレメン)I−1を利用して外部
ソート処理を行う場合、メモリ11゜12がそれぞれf
fl/2ワードの容量しか有さないことから、mワード
のデータからなるiつのブロック間でのソート処理を行
う場合には、m/2ワードづつ分割して上記ソート処理
を行うことが必要となる。従ってソートエンジン1の処
理能力の2倍のデータを処理する場合には、第5図に示
すように先ず2mワードのデータなmワードづつソート
エンジン1に送ってソート処理された21mのブロック
を得、これらの各プロッりをそれぞれ2分割して前記メ
モ!717.71に送ってマージ処理を行えばよい。即
ち、ソート処理された鳳ワードのブロックを第511−
示すように上位と下位とに分け、−/2ワードからなる
小ブロック■のデータをメモリー1直二送る。
しかるのち−/2ワードからなる小ブロック■のデータ
をメモリー2&;送ると同時鑑;、前記メモ911に送
られた小ブロック■のデータとの関のマージ処理を開示
する。マージ処理は、上記小ブロック■、0のデータを
比較し乍ら、これを順次出力することによって行われる
ので、その処理時間は最大で上記データ転送時間の2倍
となる。このとき、上記処理速度を高める菰;は、小ブ
ロック0のデータ転送に引続いて前記2分割された下位
側のデータである小ブロック■または■のデータを転送
して次の処理鑑二備えることが望ましい。然し乍ら、小
ブロック■のデータは小ブロック■のデータの後に送る
必要かあり また小ブロック■のデータは小ブロック■
のデータの後に送ること一1必要である。この為にはメ
そすil、isに先に転送された小ブロック■、■のい
ずれのデータが空になったかと云う状態を判断できなけ
れば、上記小ブロック■。
■のいずれのデータを転送して良いのか不明である。従
って、残された小ブロック■ωのデータ転送を行うには
、前記メモ911.11のいずれかが空になったことを
検出して非同期式に行うか、或いは第5図に示すように
、完全に処理の1周期を待ってから同期的にデータ転送
を行うことが必要となる。けれども、上記した非同期式
を採用するにしても、小ブロック■のデータ転送が終了
した時点で、上記メモリ11゜12のいずれか一方のデ
ータが空になっていると云う保証がないので、必ず待ち
時間が生じる。
そして、その最大の待ち時間は、小ブロック■。
■のデータが交互に出力される場合であって、はぼ1周
期時間にも達する。
そこで本装置にあっては メモリーJ、11のデータ続
出しアドレスを指定するアドレスカウンター4.15の
出力アドレス値をコンパレータ16により比較し、その
結果を利用してデゴタ転送を制御し、これによって上述
した待ち時間を除去して高逼処理を可能としている。即
ち第6図にそのタイムシーケンスを示すように、2mワ
ードのデータなmワードづつソート地理してなるデータ
なm/2ワードづつに分割し、先ず小ブロック■、#D
のデータを転送したのちには、前記コンパレータICの
出力結果に従って小ブロック■、頓データを更にブロッ
ク化してなる鵬/4ワードづつのデータを転送するよう
にしている。つまり、第6図に示すように、小ブロック
0のデータ転送が行われる周期T、の終りの時点で1次
にデータ転送を行わしめるべくブロックを決定する為に
、コンパレータICによりメモ911.11のデータ残
数の比較を行わしめる。この比較により、データ残数の
少ないメそヲを見出す、このときには、メモリ71゜1
2に転送された小ブロック■、0のマーC処理が半分終
了し、−/2個のデータが出力されているので、メモJ
JJ、JJに残っているデータの総和は一/2 ワード
となる。従って上記コンパレータ1#により弁別された
データ残数の少ない方のメモリに残っているデータ量は
m/ 4ワード以下となる。これ故、このメモリに対し
て”/4 ワードのデータよりなるブロックのデータ転
送を行うことが可能となる。この第6図に示される例で
は、メモリ11に残っているデータ量が少ないので、ブ
ロック0のm/4ワードのデータが前記ブロック■のデ
ータ転送に続いて転送される。その後、半周期毎に同様
な処理が繰返して行われる。
かくしてこのようなデータ転送制御を行うと、その半周
期毎に2つのメモリ77.71のデータ量の総和が閲/
2ワードとなり、且つ一方のメモリのデータ量が”/4
ワード以下となるので、前述したデータなm/ 4 ワ
ードづつ連続的にブロック転送することが可能となる。
故に、待時間を設けることなく効率良く、且つ4速にデ
ータ転送を行ってmXmワードのデータを外部ソート処
理することが可能となる。つまり、限られた処理能力を
有するソートエンジン1を有効に利用して大容量のデー
タを効率良くソート処理することが可能となり、その実
用的利点は絶大である。
尚、本発明は上記実施例に限定されるものではない。例
えば実施例ではソートエンジンの最終処理エレメントを
利用して外部ソート処理を行わしめたが、外部ソート処
理専用の八−ドウエアを構成してもよいことは弐うまで
もない。
要するに本発明はその要旨を逸脱しない範囲で種々変形
して実施することができる。
【図面の簡単な説明】
第1図は本発明の実施例を示す装置の全体的な概略構成
図、第2図はマージソート法のアルゴリズムを示す図、
第3図は外部ソート処理の概念を示す図、第4図は実施
例に係るソートエンジンと外部ソート処理の制御部の構
成を示す図、第5図は一般的な外部ソー)463Mのタ
イムレ−ケンスを示す図、第6#7Aは本発明に係る外
部ツー)M理のタイムレ−ケンスな示す図であ轡Q l…ソートエンシフ 、 1−1 、1−置〜1−1…
処理エレメント、2・・・メモリ、S・・・コントロー
ラ、11.11・・・メモリ、IJ・・・プロセッサ、
14.11−−−アドレスカクンタ、16・・・コンパ
レ1り。

Claims (2)

    【特許請求の範囲】
  1. (1)データ書込みとデータ読出しの同時アクセス可能
    なm / 2ワードの容量を持つ2つのメモリと、これ
    らのメモリに格納されたデータをマージ処理するプロセ
    ッサと、1記メモリのデータ続出しアドレスを相互に比
    較してデータ残数の少ないメモリを弁別するコンパレー
    タと、mワード単位でソート処理されたデータなm/2
    ワードづつ上記2つのメモリに送ったのち、前記プロセ
    ッサによるマージ処理によってデータ残数の少なくなっ
    たメモリへ前記コンパレータの弁別結果に従ってm/4
    ワ一ド単位で前記ソート処理されたデータを繰返し供給
    する制御手段とを具備し、mワード単位でソート処理さ
    れたnXmワードのデータ全体を外部ソート処理してな
    ることを特徴とするソート処理装置。
  2. (2)  go/2ワードの容量を持つ2つのメモリお
    よびそのデータをマージ処理するプロセッサは、mワー
    ドのデータをソート処理するソートエンジンの最終段処
    理エレメントからなるものである特許請求の範囲第1項
    記載のソート処理装置。
JP2994482A 1982-02-26 1982-02-26 ソ−ト処理装置 Pending JPS58146935A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2994482A JPS58146935A (ja) 1982-02-26 1982-02-26 ソ−ト処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2994482A JPS58146935A (ja) 1982-02-26 1982-02-26 ソ−ト処理装置

Publications (1)

Publication Number Publication Date
JPS58146935A true JPS58146935A (ja) 1983-09-01

Family

ID=12290094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2994482A Pending JPS58146935A (ja) 1982-02-26 1982-02-26 ソ−ト処理装置

Country Status (1)

Country Link
JP (1) JPS58146935A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6139141A (ja) * 1984-07-30 1986-02-25 Noboru Denki Seisakusho:Kk Ramの制御方式
US4977536A (en) * 1984-12-10 1990-12-11 Canon Kabushiki Kaisha Document processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6139141A (ja) * 1984-07-30 1986-02-25 Noboru Denki Seisakusho:Kk Ramの制御方式
US4977536A (en) * 1984-12-10 1990-12-11 Canon Kabushiki Kaisha Document processor

Similar Documents

Publication Publication Date Title
US5051947A (en) High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream
US5535384A (en) Method and apparatus for controlling a hardware merge sorter to sort a plurality of records greater than 2n
JPH02178730A (ja) 分割法を用いた内部ソート方式
EP0245029A2 (en) High speed memory systems
CN105830160A (zh) 用于将经屏蔽数据写入到缓冲器的设备及方法
US5511189A (en) Data sorting apparatus capable of detecting completion of data sorting early and sorting method therefor
JPS58146935A (ja) ソ−ト処理装置
TWI773051B (zh) 資料處理裝置、積體電路及人工智能加速器
JPH0581337A (ja) データ処理装置
JPS6285343A (ja) メモリ読み出し回路
JP2587447B2 (ja) ソート処理装置
JPS59148943A (ja) メモリ回路
JPH0317780A (ja) 記号列検索方法および装置
JPS62186328A (ja) ソ−ト処理方式
JPH01177122A (ja) ソート処理装置
JPH0580977A (ja) データ処理装置
JPS6116328A (ja) デ−タ処理装置
JPH01173230A (ja) ソート処理装置
JPH0315772B2 (ja)
CN115719617A (zh) 一种用于加速基因测序的可重构处理器芯片架构及应用
JPS6243219B2 (ja)
JPH0521262B2 (ja)
JP2001051827A (ja) ソートプロセッサ及びソート処理回路
JPH0437455B2 (ja)
JPH0797311B2 (ja) データソート装置