JPH01177122A - Sort processor - Google Patents

Sort processor

Info

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
Application number
JP161488A
Other languages
Japanese (ja)
Inventor
Naohiko Shimizu
尚彦 清水
Kiyoshi Yada
矢田 潔
Yuuji Gendai
裕治 源代
Hideaki Takeda
武田 英昭
Tetsuji Sato
哲司 佐藤
Hideki Fukuoka
福岡 秀樹
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.)
Hitachi Ltd
Nippon Telegraph and Telephone Corp
Original Assignee
Hitachi Ltd
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 Hitachi Ltd, Nippon Telegraph and Telephone Corp filed Critical Hitachi Ltd
Priority to JP161488A priority Critical patent/JPH01177122A/en
Publication of JPH01177122A publication Critical patent/JPH01177122A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To reduce the idle area of a memory and to sort a large quantity of data by always storing the minimum data on each non-idle bank in a sorting circuit. CONSTITUTION:A sort processor consists of a work memory 1, a sorting circuit 2, an address table 3, an input register 4, an output register 5, an input bank register 6, an output bank register 7, an output line 8, and an adder 8. Then a bank number (identifier) is added to the input data of the circuit 2 from the memory 1 to show the specific data out of an array of (k) pieces of data (k; an integer larger than 1). An address table 3 holding the maximum and minimum ones out of those (k) pieces of data is retrieved based on the value of the identifier of the data received from the circuit 2. Thus an address for the data given to the circuit 2 is obtained. As a result, the idle area of the memory 1 is reduced and a large quantity of data can be sorted.

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.

〔従来の技術〕[Conventional technology]

従来、ソート処理装置としては、例えば、特開昭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.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来技術は、メモリ上に格納するデータの格納効率
について配慮がなされておらず、データ列の先頭アドレ
スやデータ列の長さは少なくとも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.

〔作用〕[Effect]

本発明に係わるソート処理装置においては、前記ソート
手段から出力されたデータには前記識別子が付加されて
おり、該識別子は前記に個のデータ列をそれぞれ識別可
能な値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.

〔実施例〕〔Example〕

以下、本発明の実施例を図面に基づいて詳細に説明する
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.

〔発明の効果〕〔Effect of the invention〕

以上述べた如く、本発明によれば、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.

【図面の簡単な説明】[Brief explanation of the drawing]

第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)

【特許請求の範囲】[Claims] 1、k(k: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.
JP161488A 1988-01-07 1988-01-07 Sort processor Pending JPH01177122A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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