JPH01177122A - Sort processor - Google Patents
Sort processorInfo
- Publication number
- JPH01177122A JPH01177122A JP161488A JP161488A JPH01177122A JP H01177122 A JPH01177122 A JP H01177122A JP 161488 A JP161488 A JP 161488A JP 161488 A JP161488 A JP 161488A JP H01177122 A JPH01177122 A JP H01177122A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- sorting
- address
- bank
- 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
Links
- 238000013500 data storage Methods 0.000 claims description 11
- 230000001174 ascending effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はソート処理装置に関し、特にメモリ上に配置さ
れる大量のデータを、高速にマージソートすることが可
能なソート処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a sort processing device, and more particularly to a sort processing device that can merge-sort a large amount of data arranged on a memory at high speed.
従来、ソート処理装置としては、例えば、特開昭61−
42031号公報に開示されている装置が知られている
。この装置は、k(k:1より大きな整数)個のデータ
のうち最大もしくは最小のデータを抽出するソート手段
と、予め昇順もしくは降順に並べ替えられたに個のデー
タ列を格納するデータ格納手段を有し、前記に個のデー
タ列の各々の先頭データを前記ソート手段に入力し、該
ソート手段からデータを出力する操作と、前記入力操作
とを交互に実行するマージ操作を繰り返すことによって
、前記データ格納手段に格納された複数のデータ列をマ
ージするソート処理装置において、上記データ格納手段
上に配置したに個のデータ列からソート手段に入力する
データのアドレスを、各データ列の残りデータ数を計数
するカウンタの値をシフトして生成するものであった。Conventionally, as a sorting processing device, for example, JP-A-61-
A device disclosed in Japanese Patent No. 42031 is known. This device includes a sorting means for extracting the maximum or minimum data from k (k: an integer greater than 1) pieces of data, and a data storage means for storing the data strings sorted in advance in ascending or descending order. inputting the first data of each of the data strings to the sorting means, and repeating a merge operation of alternately performing an operation of outputting data from the sorting means and the input operation, In the sort processing device for merging a plurality of data strings stored in the data storage means, the address of the data to be input to the sorting means from the data strings arranged on the data storage means is determined from the remaining data of each data string. It was generated by shifting the value of a counter that counted numbers.
上記従来技術は、メモリ上に格納するデータの格納効率
について配慮がなされておらず、データ列の先頭アドレ
スやデータ列の長さは少なくとも2のべき乗でしか可変
できないので、メモリ上に大量の空き領域ができ、ソー
ト件数が減ってしまうという問題があった。The above conventional technology does not take into consideration the storage efficiency of data stored in the memory, and the start address of the data string and the length of the data string can only be varied by at least a power of 2, so a large amount of free space is left in the memory. There was a problem that an area was created and the number of items to be sorted decreased.
本発明は上記事情に鑑みてなされたもので、その目的と
するところは、従来のソート処理装置における上述の如
き問題を解消し、メモリの空き領域を小さくし、大量の
データのソートを可能とするソート処理装置を提供する
ことにある。The present invention was made in view of the above circumstances, and its purpose is to solve the above-mentioned problems in conventional sorting processing devices, reduce the free memory area, and enable sorting of large amounts of data. The object of the present invention is to provide a sorting processing device that does the following.
〔課題を解決するための手段〕
本発明の上記目的は、k(k:1より大きな整数)個の
データのうち最大もしくは最小のデータを抽出するソー
ト手段と、予め昇順もしくは降順に並べ替えられたに個
のデータ列を格納するデータ格納手段を有し、前記に個
のデータ列の各々の先頭データを前記ソート手段に入力
し、該ソート手段からデータを出力する操作と、前記入
力操作とを交互に実行するマージ操作を繰り返すことに
より、前記データ格納手段に格納された複数のデータ列
をマージするソート処理装置において、前記に個のデー
タ列中の最大もしくは最小のデータのアドレスを保持す
るアドレステーブルを設けるとともに、前記データ格納
手段から前記ソート手段への入力データに、前記に個の
データ列のどのデータであるかを示す識別子を付加し、
前記ソート手段が出力するデータの前記識別子の値によ
って、前記アドレステーブルを索引して前記ソート手段
に入力するデータのアドレスを得る手段を設けたことを
特徴とするソート処理装置によって達成される。[Means for Solving the Problems] The above object of the present invention is to provide a sorting means for extracting the maximum or minimum data from k (k: an integer greater than 1) data, and a sorting means for extracting the maximum or minimum data from k (k: an integer greater than 1) data, data storage means for storing data strings; inputting leading data of each of the data strings to the sorting means; outputting the data from the sorting means; and the inputting operation. In a sorting processing device that merges a plurality of data strings stored in the data storage means by repeating a merging operation that alternately executes , the address of the largest or smallest data among the data strings is held. providing an address table, and adding an identifier to the input data from the data storage means to the sorting means, indicating which of the data strings the data is;
This is achieved by a sort processing apparatus characterized in that means is provided for indexing the address table based on the value of the identifier of the data output by the sorting means and obtaining the address of the data input to the sorting means.
本発明に係わるソート処理装置においては、前記ソート
手段から出力されたデータには前記識別子が付加されて
おり、該識別子は前記に個のデータ列をそれぞれ識別可
能な値1例えば、1,2.・・・・kをとっており、前
記アドレステーブルに保持するに個のアドレスは、前記
識別子の値にそれぞれ対応したデータ列の最大もしくは
最小のデータのアドレスである。In the sort processing device according to the present invention, the data output from the sorting means is appended with the identifier, and the identifier has a value 1, for example, 1, 2, . ... k, and the addresses held in the address table are the addresses of the maximum or minimum data of the data string corresponding to the value of the identifier, respectively.
前記ソート手段には、各データ列から一つずつに個のデ
ータが格納されており、その中から最大もしくは最小の
データを出力する。このとき、本発明に係わるソート処
理装置においては、出力されたデータが格納されていた
データ列から次のデータを読出すために、該データに付
加されている識別子の値に対応する前記アトレイテーブ
ル中のアドレスの示すデータを読出し、該アドレスを1
デ一タ分だけ進めるとともに、読出したデータを前記ソ
ート手段に格納する一連の動作をデータ列中のデータが
すべてなくなるまで繰り返す。The sorting means stores one piece of data from each data string, and outputs the largest or smallest data among them. At this time, in the sort processing device according to the present invention, in order to read the next data from the data string in which the output data was stored, the at-tray table corresponding to the value of the identifier added to the data is used. Read the data indicated by the address inside, and set the address to 1.
A series of operations of advancing by one data and storing the read data in the sorting means are repeated until all data in the data string is exhausted.
これにより、ソートが行われ、また、前記アドレステー
ブルに設定するアドレスをメモリの空き領域が最小とな
るように選ぶことができる。As a result, sorting is performed, and addresses to be set in the address table can be selected such that the free space in the memory is minimized.
以下、本発明の実施例を図面に基づいて詳細に説明する
。Embodiments of the present invention will be described in detail below with reference to the drawings.
第1図は、本発明の一実施例を示すソート処理装置の構
成図である。図において、1はワークメモリ、2はソー
ト回路、3はアドレステーブル、4は入力レジスタ、5
は出力レジスタ、6は入力バンクレジスタ、7は出力バ
ンクレジスタ、8は出力線、9は加算器を示している。FIG. 1 is a block diagram of a sort processing device showing an embodiment of the present invention. In the figure, 1 is a work memory, 2 is a sorting circuit, 3 is an address table, 4 is an input register, and 5 is a
is an output register, 6 is an input bank register, 7 is an output bank register, 8 is an output line, and 9 is an adder.
ワークメモリ1には、k個の予め昇順に並べ替えられた
データ列(バンク)が格納されており、本ワークメモリ
1のデータ出力は入力レジスタ4に転送され、入力バン
クレジスタ6の内容と合わせてソート回路2に格納され
る。The work memory 1 stores k data strings (banks) sorted in ascending order in advance, and the data output from the work memory 1 is transferred to the input register 4 and combined with the contents of the input bank register 6. and stored in the sorting circuit 2.
ソート回路2から取出されたデータは、出力レジスタ5
1こ転送され、データ部分は出力線8を介して出力され
る。出力バンクレジスタ7は、入力バンクレジスタ6の
入力およびアドレステーブル3のアドレスに接続されて
おり、アドレステーブル3の出力は、ワークメモリ1の
アドレスおよび加算器9に接続されている。加算器9の
出力は、アドレステーブル3の入力に接続されている。The data taken out from the sorting circuit 2 is sent to the output register 5.
1 is transferred, and the data portion is output via the output line 8. The output bank register 7 is connected to the input of the input bank register 6 and the address of the address table 3, and the output of the address table 3 is connected to the address of the work memory 1 and the adder 9. The output of adder 9 is connected to the input of address table 3.
以下、上述の如く構成された本実施例の動作を説明する
。The operation of this embodiment configured as described above will be explained below.
まず、ワークメモリ1内のに個のバンクがら一つずつ最
小のデータとそれぞれのバンクを識別するバンク番号を
、入力レジスタ4とその一部である入力バンクレジスタ
6を介してソート回路2に入力する。ソート回路2は入
力されたデータのうち、最小のものを出力する回路であ
り、入力されたに個のデータのうちの最小のデータが出
力レジスタ5に格納される。このとき、出力レジスタ5
の一部である出力バンクレジスタ7には、k個のデータ
のうち、最小のデータを保持していたバンクの番号が格
納されている。First, the minimum data for each bank in the work memory 1 and the bank number that identifies each bank are input to the sorting circuit 2 via the input register 4 and the input bank register 6 which is a part of the input register 4. do. The sorting circuit 2 is a circuit that outputs the smallest of the input data, and the smallest of the input data is stored in the output register 5. At this time, output register 5
The output bank register 7, which is a part of the k data, stores the number of the bank that held the smallest data among the k data.
次に、上述の最小のデータを保持していたバンクから、
次に小さいデータを取出すため、出力バンクレジスタ7
の値でアドレス付けられるアトレイテーブル3を読出す
。アドレステーブル3は、各々のバンクから次に読出す
べきアドレスを保持しており、出力バンクレジスタ7の
値で読出しを行った後、加算器9により前記アドレスが
ワークメモリ1の当該バンクの更に次のデータアドレス
を示すように更新され、格納される。Next, from the bank that held the minimum data mentioned above,
Next, in order to retrieve the smaller data, the output bank register 7
Read the atray table 3 addressed by the value of . The address table 3 holds the next address to be read from each bank, and after reading with the value of the output bank register 7, the adder 9 converts the address to the next address of the bank in the work memory 1. is updated and stored to indicate the data address of .
前記アドレスでワークメモリ1を読出し、出力バンクレ
ジスタ7の内容を入力バンクレジスタ6へ転送し、ソー
ト回路2へ入力することにより、ソート回路2には空で
ないバンクの各々の最小データを常に格納しておくこと
が可能となり、マージンートができる。このとき、各バ
ンクのあるデータのアドレスに加算器9によりある値、
例えば「データ長」を加えると、該バンクの次のデータ
のアドレスとなるように、各々のデータを配置しておく
。By reading the work memory 1 at the above address, transferring the contents of the output bank register 7 to the input bank register 6, and inputting it to the sorting circuit 2, the minimum data of each non-empty bank is always stored in the sorting circuit 2. It is now possible to keep it in place, and margins can be created. At this time, the adder 9 adds a certain value to the address of certain data in each bank.
For example, each piece of data is arranged so that adding the "data length" becomes the address of the next data in the bank.
本実施例によれば、ソート回路2にはバンクの番号だけ
を付加すれば良く、ソート回路2内でのデータ長が長く
ならず、性能向上効果がある。According to this embodiment, only the bank number needs to be added to the sorting circuit 2, the data length within the sorting circuit 2 does not become long, and performance is improved.
なお、本発明は、上記実施例に限られるべきものではな
く、例えば、昇順と降順のどちらでもソート可能である
ソータや、バンク識別子をワークメモリ中に格納するソ
ータ、出力データをワークメモリ内に格納し多段のマー
ジを行うソータ等を構成することも容易である。Note that the present invention is not limited to the above-mentioned embodiments, and includes, for example, a sorter that can sort in either ascending or descending order, a sorter that stores bank identifiers in a work memory, and a sorter that stores output data in a work memory. It is also easy to configure a sorter or the like that stores and performs multi-stage merging.
以上述べた如く、本発明によれば、k(k:1より大き
な整数)個のデータのうち最大もしくは最小のデータを
抽出するソート手段と、予め昇順もしくは降順に並べ替
えられたに個のデータ列を格納するデータ格納手段を有
し、前記に個のデータ列の各々の先頭データを前記ソー
ト手段に入力し、該ソート手段からデータを出力する操
作と、前記入力操作とを交互に実行するマージ操作を繰
り返すことにより、前記データ格納手段に格納された複
数のデータ列をマージするソート処理装置において、前
記に個のデータ列中の最大もしくは最小のデータのアド
レスを保持するアドレステーブルを設けるとともに、前
記データ格納手段から前記ソート手段への入力データに
、前記に個のデータ列のどのデータであるかを示す識別
子を付加し、前記ソート手段が出力するデータの前記識
別子の値により、前記アドレステーブルを索引して前記
ソート手段に入力するデータのアドレスを得る手段を設
けたので、メモリの空き領域を小さくし、大量のデータ
のソートを可能とするソート処理装置を実現できるとい
う顕著な効果−を奏するものである。As described above, according to the present invention, there is provided a sorting means for extracting the maximum or minimum data from k (k: an integer greater than 1) data, and a sorting means for extracting the maximum or minimum data from k (k: an integer larger than 1) data, and It has a data storage means for storing a column, inputs the leading data of each of the data columns to the sorting means, and alternately performs an operation of outputting data from the sorting means and the input operation. A sort processing device for merging a plurality of data strings stored in the data storage means by repeating a merging operation; , an identifier indicating which of the data strings the input data is from the data storage means to the sorting means is added, and the address is determined by the value of the identifier of the data output from the sorting means. Since a means for indexing the table and obtaining the address of the data to be input to the sorting means is provided, the remarkable effect is that it is possible to realize a sort processing device that can reduce the free memory area and sort a large amount of data. It is something that plays.
第1図は本発明の一実施例を示すソート処理装置の構成
図である。
1:ワークメモリ、2:ソート回路、3ニアドレステー
ブル、4:入力レジスタ、5:出力レジスタ、6:入力
バンクレジスタ、7:出力バンクレジスタ、8:出力線
、9:加算器。FIG. 1 is a block diagram of a sort processing device showing an embodiment of the present invention. 1: Work memory, 2: Sort circuit, 3 Near address table, 4: Input register, 5: Output register, 6: Input bank register, 7: Output bank register, 8: Output line, 9: Adder.
Claims (1)
もしくは最小のデータを抽出するソート手段と、予め昇
順もしくは降順に並べ替えられたk個のデータ列を格納
するデータ格納手段を有し、前記に個のデータ列の各々
の先頭データを前記ソート手段に入力し、該ソート手段
からデータを出力する操作と、前記入力操作とを交互に
実行するマージ操作を繰り返すことにより、前記データ
格納手段に格納された複数のデータ列をマージするソー
ト処理装置において、前記k個のデータ列中の最大もし
くは最小のデータのアドレスを保持するアドレステーブ
ルを設けるとともに、前記データ格納手段から前記ソー
ト手段への入力データに、前記に個のデータ列のどのデ
ータであるかを示す識別子を付加し、前記ソート手段が
出力するデータの前記識別子の値により、前記アドレス
テーブルを索引して前記ソート手段に入力するデータの
アドレスを得る手段を設けたことを特徴とするソート処
理装置。1. It has a sorting means for extracting the maximum or minimum data from k (k: an integer greater than 1) data, and a data storage means for storing k data strings sorted in advance in ascending or descending order. Then, by inputting the first data of each of the data strings to the sorting means, and repeating a merge operation in which the operation of outputting data from the sorting means and the input operation are performed alternately, the data is In a sort processing device for merging a plurality of data strings stored in a storage means, an address table is provided for holding the address of the maximum or minimum data among the k data strings, and the data storage means is connected to the sorting means. An identifier indicating which of the data strings the data is is added to input data to the input data, and the address table is indexed based on the value of the identifier of the data output by the sorting means, and the data is sent to the sorting means. A sorting processing device characterized in that it is provided with means for obtaining an address of input data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP161488A JPH01177122A (en) | 1988-01-07 | 1988-01-07 | Sort processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP161488A JPH01177122A (en) | 1988-01-07 | 1988-01-07 | Sort processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01177122A true JPH01177122A (en) | 1989-07-13 |
Family
ID=11506392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP161488A Pending JPH01177122A (en) | 1988-01-07 | 1988-01-07 | Sort processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01177122A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH056261A (en) * | 1991-04-04 | 1993-01-14 | Mitsubishi Electric Corp | Device and method for sorting data |
JP2007022661A (en) * | 2006-11-06 | 2007-02-01 | Dainippon Printing Co Ltd | Easily unsealable carton |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6142031A (en) * | 1984-08-03 | 1986-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Sorting processor |
JPS6172333A (en) * | 1984-09-15 | 1986-04-14 | Casio Comput Co Ltd | Merge processing system |
-
1988
- 1988-01-07 JP JP161488A patent/JPH01177122A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6142031A (en) * | 1984-08-03 | 1986-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Sorting processor |
JPS6172333A (en) * | 1984-09-15 | 1986-04-14 | Casio Comput Co Ltd | Merge processing system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH056261A (en) * | 1991-04-04 | 1993-01-14 | Mitsubishi Electric Corp | Device and method for sorting data |
JP2007022661A (en) * | 2006-11-06 | 2007-02-01 | Dainippon Printing Co Ltd | Easily unsealable carton |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0731669B2 (en) | Vector processor | |
JP2003256265A (en) | Search memory, controller for memory search, and memory search method | |
US5974411A (en) | N-way processing of bit strings in a dataflow architecture | |
KR920003176B1 (en) | Control data regenerating device for sort processor | |
JPS6142031A (en) | Sorting processor | |
JPH01177122A (en) | Sort processor | |
EP0029834A1 (en) | General purpose data buffer | |
Lee | ALTEP—A cellular processor for high-speed pattern matching | |
JPS6143338A (en) | Searching of thin data base using association technology | |
JPS58146935A (en) | Processor for sort | |
JPS60134938A (en) | Register file reading system | |
JPS5542308A (en) | Semiconductor memory unit | |
JP3264114B2 (en) | Sorting device | |
Arisland et al. | VLSI parallel shift sort algorithm and design | |
JPH01288920A (en) | Data sorting device | |
JP2674747B2 (en) | Signal processor | |
Parhami | The mixed serial/parallel approach to VLSI search processors | |
JPS63231526A (en) | Sort processor | |
JP3238939B2 (en) | Sorting device | |
JPH03216729A (en) | Elctronic computer | |
Herrmannsfeldt | A Highly Parallel Finite State Automaton Processor for Biological Pattern Matching. | |
Lun et al. | A pipeline design for the realization of the prime factor algorithm using the extended diagonal structure | |
JPH05143326A (en) | Bank processor | |
Lun et al. | 1232 zyxwvutsrqponmlkjihgfedcbaZY | |
JPH01189723A (en) | Merging sorter |