JPS61255434A - Data aligning device - Google Patents

Data aligning device

Info

Publication number
JPS61255434A
JPS61255434A JP9639885A JP9639885A JPS61255434A JP S61255434 A JPS61255434 A JP S61255434A JP 9639885 A JP9639885 A JP 9639885A JP 9639885 A JP9639885 A JP 9639885A JP S61255434 A JPS61255434 A JP S61255434A
Authority
JP
Japan
Prior art keywords
data
memory
registers
byte
memories
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.)
Granted
Application number
JP9639885A
Other languages
Japanese (ja)
Other versions
JPH061432B2 (en
Inventor
Hideaki Takeda
武田 英昭
Tadashi Kitamura
正 北村
Toshio Nakamura
敏夫 中村
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 JP9639885A priority Critical patent/JPH061432B2/en
Publication of JPS61255434A publication Critical patent/JPS61255434A/en
Publication of JPH061432B2 publication Critical patent/JPH061432B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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/32Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging methods in general

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

PURPOSE:To perform easily the control of the memory and to shorten the data aligning time by providing two same constituted memories at one comparing unit. CONSTITUTION:A data aligning device 10 is constituted by connecting in cascade plural comparing units 40-I-40-U. Respective comparing units 40 are composed of a memory 103 to store one side aligned data partial set inputted from an input terminal 601, a memory 104 to store the other side aligned data partial set, reading/writing circuits 105-1 and 105-2 to read and write respectively the data to memories 103 and 104, registers 106 and 107 to store respectively one byte of the data of the memories 103 and 104, a comparator 108 to compare the value of the data stored at the registers 106 and 107, a multiplexer 109 to select the channel for transferring the data of either of the registers 106 and 107 to an output terminal 102, and a control circuit 110 to receive the compared result signal from the comparator 108 and to control respective parts of said comparing units based on it.

Description

【発明の詳細な説明】 〔発明の属する技術分野〕 本発明はデータ集合をデータ値の小さい順もしくは大き
い順に並べ換えるデータ整列装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Technical field to which the invention pertains] The present invention relates to a data sorting device that sorts a data set in ascending order of data values.

〔従来の技術〕[Conventional technology]

一般にデータ整列装置は、2つの整列済みデータ部分集
合を併合し、該整列済みデータ部分集合に含まれるデー
タ数を1,2,4.・・・・・・と倍々に大きくしてい
く比較ユニットを複数個、縦続に接続した構成となって
いる。従来のデータ整列装置は、比較ユニットめ構成に
より二種類に大別することができる。以下、A方式およ
びB方式と呼ぶことにする。
Generally, a data sorting device merges two sorted data subsets and increases the number of data included in the sorted data subsets to 1, 2, 4, etc. It has a configuration in which a plurality of comparison units that increase in size each time are connected in cascade. Conventional data alignment devices can be roughly divided into two types depending on the configuration of the comparison unit. Hereinafter, these will be referred to as the A method and the B method.

初め第6図乃至第8図によりA方式のデータ整列装置に
ついて説明する。
First, the A-type data alignment device will be explained with reference to FIGS. 6 to 8.

第6図はA方式の装置構成例を示す図であり、10はデ
ータ整列装置、20は装置1のデータ入力端子、30は
装[1のデータ出力端子、4〇−1〜40−Uは比較ユ
ニットである。各比較ユニットは、入力端子601から
入力される整列済みデータ部分集合の一方を格納するメ
モリ603、該メモリ603と同じ大きさを持ち、入力
端子601からの整列済みデータ部分集合の他方を格納
するメモリ604、メモリ603.604へのデータの
読み書きを行う読出し/書込み回路605゜メモリ60
3のデータの1バイトを格納するレジスタ606.メモ
リ604のデータの1バイトを格納するレジスタ607
.レジスタ606と607に格納されているデータの値
を比較する比較器608、比較結果によりレジスタ60
6,607のいずれか一方に格納されているデータを出
力端子602に転送する経路を確立するマルチプレクサ
609からなる。こNで、メモリ603と604の大き
さは、比較ユニット40−1では1個のデータ、40−
2では2個のデータ、40−3では4個のデータ、40
−Uでは2U−1個のデータを格納できる大きさを有し
ている。
FIG. 6 is a diagram showing an example of the device configuration of method A, in which 10 is a data alignment device, 20 is a data input terminal of device 1, 30 is a data output terminal of device 1, and 40-1 to 40-U are It is a comparison unit. Each comparison unit has a memory 603 that stores one of the sorted data subsets inputted from the input terminal 601, has the same size as the memory 603, and stores the other sorted data subset inputted from the input terminal 601. Memory 604, read/write circuit 605 for reading and writing data to and from memories 603 and 604; memory 60;
Register 606.3 stores 1 byte of data of No.3. Register 607 that stores 1 byte of data in memory 604
.. A comparator 608 compares the data values stored in registers 606 and 607, and register 60 according to the comparison result.
The multiplexer 609 establishes a path for transferring data stored in either one of the terminals 6 and 607 to the output terminal 602. In this case, the sizes of the memories 603 and 604 are 1 data in the comparison unit 40-1, 40-
2 has 2 data, 40-3 has 4 data, 40
-U has a size that can store 2U-1 pieces of data.

第6図の比較ユニット40−3におけるデータ部分集合
対の併合処理例のタイムチャートを第7図に示す。第7
図は、各々1バイトのデータが4個から成るデータ部分
集合対2組の併合処理を示したものである。第7図にお
いて、700はデータ対の比較処理、701はメモリ6
03から1バイト読み出してレジスタ606に格納する
処理、702はメモリ604から1バイト読み出してレ
ジスタ607に格納する処理、703はレジスタ606
と607に格納されているデータの値を比較して、比較
結果に従い、一方のレジスタ内のデータをマルチプレク
サ609で選択して出力端子602から比較ユニット4
0−4に転送すると同時に、比較ユニット40−2から
入力端子601を経由して、データの1バイトをメモリ
603あるいは604に書き込む処理を示している。7
04は1バイトの大きさを持つデータである。705−
1と706−1は入力端子601から順次入力される1
組目の整列済みデータ部分集合対であす、707−1は
該データ部分集合対に対する併合後の整列済み出力デー
タ部分集合である。同様に、705−2と706−2は
2組目の整列済み入力データ部分集合対、707−2は
該データ部分集合対に対する併合後の整列済み出力デー
タ部分集合である。
FIG. 7 shows a time chart of an example of merging processing of data subset pairs in the comparison unit 40-3 of FIG. 6. 7th
The figure shows the process of merging two pairs of data subsets each consisting of four data sets of 1 byte. In FIG. 7, 700 is a data pair comparison process, and 701 is a memory 6.
702 is the process of reading 1 byte from the memory 604 and storing it in the register 607. 703 is the process of reading 1 byte from the memory 604 and storing it in the register 606.
and 607, and according to the comparison result, the data in one register is selected by the multiplexer 609 and sent from the output terminal 602 to the comparison unit 4.
0-4, and at the same time, one byte of data is written from the comparison unit 40-2 to the memory 603 or 604 via the input terminal 601. 7
04 is data having a size of 1 byte. 705-
1 and 706-1 are 1 input sequentially from the input terminal 601.
The second sorted data subset pair 707-1 is the sorted output data subset after merging with respect to the data subset pair. Similarly, 705-2 and 706-2 are the second sorted input data subset pair, and 707-2 is the sorted output data subset after merging the data subset pair.

第7図の例について、比較ユニット40−3における処
理の様子を示すと第8図の通りである。
Regarding the example of FIG. 7, the state of processing in the comparison unit 40-3 is shown in FIG. 8.

第8図において、「八」、rVjは各々レジスタ606
.607のデータの方が小さいことを示し、「×」は比
較しないことを示している。800はメモリ603,6
04中のデータ部分集合の区切りを示し、800−1は
データ部分集合705−1と705−2の区切り、80
0−2はデータ部分集合706−1と706−2の区切
りを示す。
In FIG. 8, "8" and rVj are each registered in the register 606.
.. It shows that the data of 607 is smaller, and "x" shows that it is not compared. 800 is memory 603,6
04, 800-1 is the delimiter between data subsets 705-1 and 705-2, 80
0-2 indicates a delimiter between data subsets 706-1 and 706-2.

時刻は第7図の時刻及び処理701,702,703に
対応している。
The times correspond to the times and processes 701, 702, and 703 in FIG.

ところで、A方式のデータ整列装置では、第6図に示す
様に、メモリ603,604へのデータの読出し/書込
み回路が1つしかないため、読み・書きが逐次的にしか
できない。このため、第7図に示すように、1バイトの
処理についてメモリへの読み・書きで3処理が必要とな
る。また、メモリ603,604のいずれかのデータ部
分集合が全て出力し終えないと、次のデータ部分集合の
入力を行うことができない。第7図の例では、データ部
分集合705−1と706−1を各々メモリ603,6
04に入力後、そのうちのデータ部分集合705−1が
出力し終える時点で1次のデータ部分集合705−2の
入力を開始している。
By the way, in the A-type data alignment device, as shown in FIG. 6, since there is only one circuit for reading/writing data to the memories 603 and 604, reading and writing can only be performed sequentially. Therefore, as shown in FIG. 7, three processes are required for reading and writing to the memory for processing one byte. Furthermore, the next data subset cannot be input until all of the data subsets in either memory 603 or 604 have been output. In the example of FIG. 7, data subsets 705-1 and 706-1 are stored in memories 603 and 606, respectively.
04, and at the time when data subset 705-1 has finished outputting, input of primary data subset 705-2 is started.

このため、データの値によっては、第7図に示すように
、データ部分集合の入力に時間の空きができる。これら
2つの理由から、A方式は処理時間が遅いという欠点が
あった。
For this reason, depending on the data value, there is time available for inputting a data subset, as shown in FIG. For these two reasons, method A has the disadvantage of slow processing time.

次に第9図乃至第11図によりB方式のデータ整列装置
について説明する。
Next, the B-type data alignment device will be explained with reference to FIGS. 9 to 11.

第9図はB方式の装置構成例を示す図であり、データ整
列装置10が比較ユニット40−1〜40−Uを縦続接
続した構成をとることは第6図と同様である。各比較ユ
ニットは、入力端子901から入力される整列済みデー
タ部分集合を格納するメモリ903.1デ一タ分の大き
さを持つメモリ904、メモリ903の読出し/書込み
回路905.1バイトの大きさを持つレジスタ906゜
907.910、レジスタ906と907に格納さ九て
いるデータの値を比較する比較器908゜レジスタ90
6と907のいずれか一方のデータをデータ出力端子9
02に転送する経路を選択するマルチプレクサ909か
らなる。メモリ903の大きさは、第6図の場合と同様
に、比較ユニット40−1では1個のデータ、40−2
では2個のデータ、40−3では4個のデータ、40−
Uでは2 ”1個のデータを格納できる大きさを有して
いる。
FIG. 9 is a diagram showing an example of the device configuration of the B method, and the data sorting device 10 has a configuration in which comparison units 40-1 to 40-U are connected in cascade, which is similar to FIG. 6. Each comparison unit includes a memory 903 which stores a sorted data subset input from an input terminal 901, a memory 904 having a size of one data, a read/write circuit of the memory 903, and a memory 905 having a size of one byte. registers 906, 907, and 910, and a comparator 908 to compare the values of the data stored in registers 906 and 907; register 90;
6 or 907 to the data output terminal 9
It consists of a multiplexer 909 that selects the route to be transferred to 02. As in the case of FIG.
So 2 data, 40-3 4 data, 40-
U has a size that can store 2'' pieces of data.

第10図は第9図の比較ユニット40−3におけるデー
タ部分集合対の併合処理例を示すタイムチャートである
。第10図において、1000はデータ対の比較処理で
あり、1001と1002の2つの処理に分けられる。
FIG. 10 is a time chart showing an example of merging processing of data subset pairs in the comparison unit 40-3 of FIG. 9. In FIG. 10, 1000 is a data pair comparison process, which is divided into two processes 1001 and 1002.

処理1001は次の■〜■のいずれかの動作とレジスタ
906.907のいずれか一方のデータを比較結果より
マルチプレクサ909で選択してデータ出力端子902
へ出力する動作を同時に行う処理であって、■がら■の
動作は次の通りである。
Process 1001 selects one of the following operations from ■ to ■ and the data of one of the registers 906 and 907 using the multiplexer 909 based on the comparison result, and outputs the data to the data output terminal 902.
This is a process that simultaneously performs the operation of outputting data to the PC, and the operations of (1) and (2) are as follows.

■ データ入力端子901からデータを入力し。■ Input data from the data input terminal 901.

メモリ904経由でレジスタ907に格納する。It is stored in the register 907 via the memory 904.

■ データ入力端子901からデータを入力し、レジス
タ910に格納する。
(2) Input data from the data input terminal 901 and store it in the register 910.

■ ■の動作に加え、メモリ903からデータの1バイ
トを読み出し、レジスタ906に格納する。
(2) In addition to the operation (2), one byte of data is read from the memory 903 and stored in the register 906.

■ ■の動作に加え、レジスタ906のデータをレジス
タ907に格納する。
(2) In addition to the operation (2), the data in register 906 is stored in register 907.

処理1002は、レジスタ910のデータをメモリ90
3に格納すると同時に、レジスタ906と907のデー
タの値を比較器908で比較し、比較結果を得る処理で
ある。1003は1バイトの大きさを持つデータを示す
、1004は一方の整列済み入力データ部分集合、10
05は他方の整列済み入力データ部分集合、1006は
併合後の出力データ部分集合で、1004−1と100
5−1を併合した結果が1006−1であり、1004
−2と1005−2を併合した結果が1006−2であ
る。
Processing 1002 stores the data in the register 910 in the memory 90.
At the same time, data values in registers 906 and 907 are compared by a comparator 908 to obtain a comparison result. 1003 indicates data with a size of 1 byte, 1004 indicates one sorted input data subset, 10
05 is the other sorted input data subset, 1006 is the output data subset after merging, and 1004-1 and 100
The result of merging 5-1 is 1006-1, which is 1004
The result of merging -2 and 1005-2 is 1006-2.

第10図の例について、比較ユニット40−3における
処理の様子を詳細に示したのが第11図である。第11
図では、データの大きさが1バイトのため、使用しない
メモリ904は省いである。
FIG. 11 shows in detail the processing in the comparison unit 40-3 for the example of FIG. 10. 11th
In the figure, since the data size is 1 byte, the unused memory 904 is omitted.

1100はメモリ903中のデータ部分集合の区切りで
あって、1100−1はデータ部分集合1004−1と
1005−1の区切り、1100−2はデータ部分集合
1004−1と1004−2の区切り、1100−3は
データ部分集合1005−1と1004−2.1100
−4はデータ部分集合1004−2と1005−2の区
切りを示す、1101はメモリ903内で1つのデータ
部分集合に含まれるデータをつなぐポインタを示す。
1100 is a delimiter between data subsets in the memory 903; 1100-1 is a delimiter between data subsets 1004-1 and 1005-1; 1100-2 is a delimiter between data subsets 1004-1 and 1004-2; -3 is data subset 1005-1 and 1004-2.1100
-4 indicates a break between data subsets 1004-2 and 1005-2, and 1101 indicates a pointer that connects data included in one data subset within memory 903.

時刻は、第10図の時刻及び処理1001,1002に
対応している。
The time corresponds to the time and processes 1001 and 1002 in FIG.

第10図に示すように、B方式のデータ整列装置では、
データ部分集合の入出力に時間の空きが生じないため、
処理時間の高速化が達成できるが、制御が非常に複雑で
ある欠点を有している6すなわち、第10図における処
理1001の場合、処理の分けが多い。また、メモリ9
03内には最大3つのデータ部分集合が格納され、デー
タ管理が繁雑である。第10rXIの例では、時刻9の
データ入力時点では、メモリ903にデータ部分集合1
004−1.1004−2.1004−3のデータが格
納されている。
As shown in FIG. 10, in the B-type data alignment device,
Since there is no time gap between input and output of data subsets,
Although it is possible to speed up the processing time, it has the disadvantage that the control is very complicated.6 In other words, in the case of process 1001 in FIG. 10, there are many separate processes. Also, memory 9
Up to three data subsets are stored in 03, making data management complicated. In the 10th rXI example, at the time of data input at time 9, the data subset 1 is stored in the memory 903.
Data of 004-1.1004-2.1004-3 is stored.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、制御が容易で、しかもデータ整列時間
の短縮を図ることができるデータ整列装置を提供するこ
とにある。
An object of the present invention is to provide a data alignment device that is easy to control and can reduce data alignment time.

〔発明の特徴〕[Features of the invention]

本発明は、データ整列装置の各比較ユニットに各々2つ
のメモリを設け、比較ユニットに入力されるデータを2
つのメモリに同時に複写して格納し、これらメモリのデ
ータを用いて併合処理を行うことを特徴とするものであ
る。
In the present invention, each comparison unit of the data sorting device is provided with two memories, and data input to the comparison unit is stored in two memories.
The data is copied and stored in two memories at the same time, and the data in these memories is used to perform a merging process.

〔発明の実施例〕[Embodiments of the invention]

第1図は本発明によるデータ整列装置の構成例を示す図
である。第1図において、データ整列装[10は複数の
比較ユニット40−1〜40−Uを縦続接続した構成を
とる。20は装置10の1バイト幅データ入力端子、3
0は同じく装[10の1バイト幅データ出力端子であり
、101は比較ユニットの1バイト幅データ入力端子、
102は同じく比較ユニットの1バイト幅データ出力端
子である。各比較ユニット40−1〜40−Uは、入力
端子601から入力される一方の整列済みデータ部分集
合を格納するメモリ103、他方の整列済みデータ部分
集合を格納するメモリ104、メモリ103,104へ
のデータの読み書きを各々行う読出し/書込み回路10
5−1,105−2、メモリ103のデータの1バイト
を格納するレジスタ106.メモリ104のデータの1
バイトを格納するレジスタ107、レジスタ106と1
07に格納されているデータの値を比較する比較器10
8、レジスタ106と107のいずれか一方のデータを
出力端子102に転送する経路を選択するマルチプレク
サ109、比較器108から比較結果信号を受は取り、
それに基いて当該比較ユニットの各部を制御する制御回
路110からなる。メモリ103と104の大きさは、
比較ユニット40−1では1個のデータ、40−2では
2@(Dデータ、40−31’は4個のデータ、40−
Uでは2 C1−1個のデータを格納できる大きさを有
している。
FIG. 1 is a diagram showing an example of the configuration of a data alignment device according to the present invention. In FIG. 1, the data sorting device 10 has a configuration in which a plurality of comparison units 40-1 to 40-U are connected in cascade. 20 is a 1-byte wide data input terminal of the device 10, 3
0 is the 1-byte wide data output terminal of the same device [10, 101 is the 1-byte wide data input terminal of the comparison unit,
102 is a 1-byte wide data output terminal of the comparison unit. Each comparison unit 40-1 to 40-U is connected to a memory 103 that stores one sorted data subset input from an input terminal 601, a memory 104 that stores the other sorted data subset, and memories 103 and 104. A read/write circuit 10 that reads and writes data respectively.
5-1, 105-2, a register 106 for storing one byte of data in the memory 103; 1 of data in memory 104
Register 107 that stores bytes, registers 106 and 1
Comparator 10 that compares the values of data stored in 07
8. A multiplexer 109 that selects a route for transferring data from one of the registers 106 and 107 to the output terminal 102, and receives a comparison result signal from the comparator 108;
It consists of a control circuit 110 that controls each part of the comparison unit based on this. The size of memories 103 and 104 is
Comparison unit 40-1 has 1 data, 40-2 has 2@(D data, 40-31' has 4 data, 40-
U has a size that can store 2 C1-1 pieces of data.

第2図は、第1図における各比較ユニットでの処理状態
の遷移を示した図であって、200から205は状態、
206は遷移の方向を示している。
FIG. 2 is a diagram showing the transition of processing states in each comparison unit in FIG. 1, and 200 to 205 are states,
206 indicates the direction of transition.

各状態200〜205は書込み処理と読出し処理とから
なる。
Each state 200-205 consists of a write process and a read process.

今、併合する2つの整列済みデータ部分集合を。Now merge the two sorted data subsets.

比較ユニット40−i  (i=1.2.・・・U)に
入力される順に各々R,Sとし、Sに続いて入力される
整列済みデータ部分集合をTとする。200の状態Aは
次の処理より成る。
Let R and S be the order in which they are input to the comparison unit 40-i (i=1.2...U), and T be the sorted data subset that is input following S. State A of 200 consists of the following processing.

■ 書込み処理:データ入力端子101よりRのデータ
を1バイト入力し、メモリ103と104に複写して格
納する。
(2) Write processing: One byte of R data is input from the data input terminal 101, and is copied and stored in the memories 103 and 104.

■ 読出し処理:何もしない。■ Read processing: Do nothing.

Rの全データを入力し終えるまで状sAを繰り返し、そ
の後、201の状態Bに遷移する。状態Bは次の処理か
ら成る。
State sA is repeated until all data of R has been inputted, and then the state transitions to state B of 201. State B consists of the following processing.

■ 書込み処理:データ入力端子101よりSのデータ
を1バイト入力し、メモリ103あるいは104のどち
らか一方に格納する。
(2) Write processing: One byte of S data is input from the data input terminal 101 and stored in either memory 103 or 104.

■ 読出し処理:メモリ103からRまたはSのデータ
の1バイトを読み出してレジスタ106に。
■ Read processing: Read one byte of R or S data from the memory 103 and store it in the register 106.

メモリ104からSまたはRのデータの1バイトを読み
出してレジスタ107に各々同時に格納し、レジスタ1
06と107に格納されているデータの値を比較器10
8で比較して、比較結果を制御回路110に通知する。
One byte of S or R data is read from the memory 104 and stored simultaneously in the register 107.
The comparator 10 compares the data values stored in 06 and 107.
8 and notifies the control circuit 110 of the comparison result.

Sの先頭の1バイト目についてのみ状態Bを処理する。State B is processed only for the first byte of S.

Sに残りのデータがある場合は状態Cに。If S has remaining data, go to state C.

ない場合は状態Eに遷移する。203の状態Cは次の処
理から成る。
If there is no state, the state transitions to state E. State C of 203 consists of the following processing.

■ 書込み処理:データ入力端子101よりSのデータ
を1バイト入力し、全Rが格納されていない方のメモリ
に格納する。同時にレジスタ106と107のいずれか
一方を制御回路110からの指示に従い、マルチプレク
サ109で選択し、該データをデータ出力端子102に
出力する。
- Write processing: Input 1 byte of S data from the data input terminal 101 and store it in the memory where all R is not stored. At the same time, one of registers 106 and 107 is selected by multiplexer 109 according to instructions from control circuit 110, and the selected data is output to data output terminal 102.

■ 読出し処理:状態Bの読出し処理と同様である。■ Read processing: Same as the read processing in state B.

Sの全データを入力し終えるまで状@Cを繰り返す。メ
モリ103とメモリ104に格納されているRとSのい
ずれか一方の最終データの最終バイトが次処理で出力さ
れるならば状態Eへ、そうでなければ状態りへ遷移する
。204の状態りは次の処理から成る。
Repeat state @C until all data in S has been input. If the final byte of the final data of either R or S stored in the memory 103 or memory 104 is output in the next process, the state changes to E, and if not, the state changes to O. State 204 consists of the following processing.

■ 書込み処理:データ入力端子101よりTのデータ
を1バイト入力し、メモリ103と104に複写して格
納する。同時に、レジスタ106と107のいずれか一
方を制御回路110からの指示に従い、マルチプレクサ
109で選択し、該データをデータ出力端子102に出
力する。
(2) Write processing: One byte of data of T is input from the data input terminal 101, and is copied and stored in the memories 103 and 104. At the same time, one of registers 106 and 107 is selected by multiplexer 109 according to instructions from control circuit 110, and the selected data is output to data output terminal 102.

■ 読出し処理:状態Bの読出し処理と同様である。■ Read processing: Same as the read processing in state B.

メモリ103とメモリ104に格納されているRとSの
いずれか一方の最終データの最終バイトが次の処理で出
力される状態まで状態りを繰り返し、その後、状態Eに
遷移する。205の状態Eは次の処理から成る。
The state is repeated until the last byte of the final data of either R or S stored in the memory 103 or memory 104 is output in the next process, and then the state changes to state E. State E of 205 consists of the following processing.

■ 書込み処理:データ入力端子101よりTのデータ
を1バイト入力し、メモリ103あるいはメモリ104
のうち、RまたはSが全て出力されている側のメモリか
、この処理で出力される側のメモリとは反対のメモリに
格納する。同時にレジスタ106と107のいずれか一
方を制御回路110からの指示に従い、マルチプレクサ
109で選択し、該データをデータ出力端子102に出
力する。
■ Write processing: Input 1 byte of T data from the data input terminal 101 and write it to the memory 103 or memory 104.
Of these, the memory is stored in the memory where all R or S is output, or in the memory opposite to the memory where all R or S are output in this process. At the same time, one of registers 106 and 107 is selected by multiplexer 109 according to instructions from control circuit 110, and the selected data is output to data output terminal 102.

■ 読出し処理:メモリ102からRまたはSが残って
いれば、RまたはSのデータの1バイト。
■ Read processing: If R or S remains from the memory 102, 1 byte of R or S data.

残っていなければTのデータの1バイトを読み出し、レ
ジスタ106に格納すると同時にメモリ104からメモ
リ103と同様にデータの1バイトを読み出しレジスタ
107に格納する(こNで。
If there is no remaining data, read 1 byte of data from T and store it in register 106. At the same time, read 1 byte of data from memory 104 and store it in register 107 in the same way as in memory 103 (this N).

比較は行わず、制御回路110は次処理でRまたはSの
データの格納されているレジスタからデータを出力する
ように指示する)。
No comparison is performed, and the control circuit 110 instructs to output data from the register storing the R or S data in the next process).

残っているRまたはSの最終データの最終バイトが次処
理で出力される状態、すなわち、Tのすべのデータを入
力し終えるまで状態Eを繰り返し、その後、状態Cに遷
移する。こ−で、Tは次の併合されるデータ部分集合対
のRに等しい。
State E is repeated until the final byte of the remaining final data of R or S is output in the next process, that is, all data of T has been input, and then state C is entered. Here, T is equal to R of the next pair of data subsets to be merged.

第2図の状態遷移処理は各比較ユニットで同時に行われ
る。なお、各比較ユニットの制御回路110に例えばマ
イクロプロセッサを用いることにより、上記処理は容易
に実現可能である。
The state transition process shown in FIG. 2 is performed simultaneously in each comparison unit. Note that the above processing can be easily realized by using, for example, a microprocessor in the control circuit 110 of each comparison unit.

第3図は本発明による処理例を示すタイムチャートであ
り、この例では、比較ユニット40−1゜40−2.4
0−3により、1バイトの大きさのデータ8個の整列を
行っている。第3図において、300は1バイトの処理
、301は書込み処理。
FIG. 3 is a time chart showing a processing example according to the present invention. In this example, the comparison unit 40-1°40-2.4
0-3, 8 pieces of 1-byte data are aligned. In FIG. 3, 300 indicates 1-byte processing, and 301 indicates write processing.

302は読出し処理、303は1バイトデータ。302 is read processing, and 303 is 1-byte data.

304は整列済みデータ部分集合、305は第2図の状
態を示している。また、処理300に要する時間を1時
刻としている。
304 is a sorted data subset, and 305 is the state shown in FIG. Further, the time required for the process 300 is assumed to be one hour.

第3図の例について、第1図の比較ユニット40−1.
40−2.40−3内でのデータの動きを詳細に示すと
、第4図のようになる。第4図において、400はデー
タの流れ、401は第2図で示した状態、402は比較
結果、403はデータ部分集合の区切りを示すものであ
る。比較結果は、「V」がレジスタ106に格納されて
いるデータの値がレジスタ107に格納されているデー
タの値よりも大きいことを、「△」が小さい。
Regarding the example of FIG. 3, comparison unit 40-1 of FIG.
The movement of data within 40-2 and 40-3 is shown in detail in FIG. In FIG. 4, reference numeral 400 indicates the flow of data, 401 indicates the state shown in FIG. 2, 402 indicates the comparison result, and 403 indicates the division of data subsets. As a result of the comparison, "V" indicates that the value of the data stored in the register 106 is greater than the value of the data stored in the register 107, and "Δ" indicates that the value of the data stored in the register 107 is smaller.

「11」は等しい、「×」は比較しないことを意味して
いる。
"11" means equal, and "x" means no comparison.

第3図はデータの大きさが1バイトの例であるが、本発
明はデータの大きさが任意の場合について容易に拡張で
きる。データの大きさをLバイトとする時、比較ユニッ
ト40  i  (t==1.2゜3、・・・U)の処
理開始時刻を(21−”−1)L+i時刻とし、2デー
タの比較は次のようにすればよい。すなわち、大きさL
バイトの2データかにバイトまで同じ値を持っている時
、Kバイトまでの出力はレジスタ106,107の任意
の一方とし、次比較バイトは各データの次バイトとする
Although FIG. 3 shows an example in which the data size is 1 byte, the present invention can be easily expanded to cases where the data size is arbitrary. When the data size is L bytes, the processing start time of the comparison unit 40 i (t==1.2°3,...U) is set to (21-"-1)L+i time, and the two data are compared. can be done as follows. That is, the size L
When two bytes of data have the same value, the output up to K bytes will be any one of registers 106 and 107, and the next comparison byte will be the next byte of each data.

K+1バイト目で2データの大小が判定すると、K+1
バイトからLバイトまでは、データ全体の値の大小によ
り出力する。次に比較するデータは、その前で最後まで
出力したデータの次のデータと。
If the size of 2 data is determined at the K+1st byte, then K+1
Bytes to L bytes are output depending on the value of the entire data. The next data to be compared is the data following the previous data that was output to the end.

途中までしか出力しなかったデータであり、各々データ
の先頭バイトから比較を開始する。
This is data that has only been output halfway, and the comparison starts from the first byte of each data.

第5図は、大きさ4バイトの2個のデータの比較ユニッ
ト40−1での整列処理例を示すタイムチャートであっ
て、501は書込み処理、502は読出し処理、503
は4バイトのデータ、504は整列済みデータ部分集合
、505は第2図の状態を示している。
FIG. 5 is a time chart showing an example of the alignment process in the comparison unit 40-1 for two pieces of data each having a size of 4 bytes, in which 501 is a write process, 502 is a read process, and 503 is a read process.
indicates 4-byte data, 504 indicates a sorted data subset, and 505 indicates the state shown in FIG.

一般にN個のデータの整列は「log、N1台の比較ユ
ニットを用いることにより、LN+L・2rJJ11”
 +rlogz N”1−L時刻テ処ytiテtル。
Generally, N pieces of data can be arranged using "log, LN+L・2rJJ11" by using N1 comparison units.
+rlogz N"1-L time processing yti text.

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

以上説明したように本発明では、1つの比較ユニットに
同一構成のメモリを2つ備えることにより、1つのメモ
リには最大2つのデータ部分集合しか存在せず、かつ、
メモリ内のデータは入力順に順番に並べることができる
ため、メモリ管理が容易になり、また、状態遷移の枝分
れが最大2つしかないので、制御も容易になる利点があ
る。さらに、2メモリへのデータの複写及び2メモリか
らの同時データ読出しにより、1バイトの比較処理をメ
モリへの書込み、読出しの2処理で行え、かつ、データ
間の処理の中断がないため、整列時間が短かいという利
点がある。
As explained above, in the present invention, by providing one comparison unit with two memories of the same configuration, one memory can contain only two data subsets at most, and
Since the data in the memory can be arranged in the order of input, memory management is easy, and since there are only two state transition branches at most, control is also easy. Furthermore, by copying data to two memories and reading data from two memories at the same time, comparison processing of one byte can be performed in two processes, writing and reading from memory, and there is no interruption in processing between data, so alignment is possible. It has the advantage of being short in time.

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

第1図は本発明によるデータ整列装置の一実施例の構成
図、第2図は第1図における比較ユニットの処理状態の
遷移を示す図、第3図は本発明による処理例を示すタイ
ミング図、第4図は第3図の処理例の詳細な動作を示す
図、第5図は本発明による別の処理例を示すタイミング
図、第6図は従来のデータ整列装置の第1の構成例を示
す図、第7回は第6図の処理例を示すタイミング図、第
8図は第7図の処理例の詳細な動作を示す図、第9図は
従来のデータ整列装置の第2の構成例を示す図、第10
図は第9図の処理例を示すタイミング図、第11図は第
10図の処理例の詳細な動作を示す図である。 10・・・データ整列装置、  40−1〜40−U・
・・比較ユニット、  101・・・データ入力端子、
102・・・データ出力端子、   103,104・
・・ツー11−リ、  105−1,105−2・・・
読出し/書込み回路、   106,107・・・レジ
スタ、108・・・比較器、  109・・・マルチプ
レクサ、110・・・制御回路。 ”             ti− を         を 帆                      へ電
゛                  tt    
       ) t           ÷ 看         )
FIG. 1 is a block diagram of an embodiment of a data sorting device according to the present invention, FIG. 2 is a diagram showing transition of processing states of a comparison unit in FIG. 1, and FIG. 3 is a timing diagram showing an example of processing according to the present invention. , FIG. 4 is a diagram showing detailed operation of the processing example in FIG. 3, FIG. 5 is a timing diagram showing another processing example according to the present invention, and FIG. 6 is a first configuration example of a conventional data alignment device. Figure 7 is a timing diagram showing the processing example in Figure 6, Figure 8 is a diagram showing the detailed operation of the processing example in Figure 7, and Figure 9 is a timing diagram showing the processing example in Figure 7. Diagram showing a configuration example, No. 10
This figure is a timing diagram showing the processing example of FIG. 9, and FIG. 11 is a diagram showing the detailed operation of the processing example of FIG. 10. 10... Data alignment device, 40-1 to 40-U.
...Comparison unit, 101...Data input terminal,
102...Data output terminal, 103, 104.
...Two 11-ri, 105-1, 105-2...
Read/write circuit, 106, 107... register, 108... comparator, 109... multiplexer, 110... control circuit. ” ti- to the sail
) t ÷ view )

Claims (1)

【特許請求の範囲】[Claims] (1)複数の比較ユニットを縦続接続し、各比較ユニッ
トで並列的に、前段から入力される整列済みデータ部分
集合を2組ずつ整列して併合し、該併合結果の整列済み
データ部分集合を後段に出力して、データ集合をデータ
値の小さい順もしくは大きい順に並べ換えるデータ整列
装置において、各比較ユニットは、前段から入力される
整列済みデータ部分集合を格納する1対のメモリと、各
メモリから読み出されたデータを格納する1対のレジス
タと、前記レジスタのデータ値を比較する比較器と、前
記レジスタのいずれか一方のデータを後段に出力するマ
ルチプレクサと、前記比較器の比較結果にもとづいて前
記マルチプレクサを制御するとゝもに、前記メモリの読
み書きを制御し、前段から入力されるデータを2つのメ
モリへ複写して格納し、一方のメモリ内のデータの併合
中、データ部分集合がなくなると他方のメモリ内の複写
データを破棄する制御回路とを具備してなるデータ整列
装置。
(1) Multiple comparison units are connected in cascade, each comparison unit sorts and merges two sets of sorted data subsets input from the previous stage in parallel, and the sorted data subsets resulting from the merging are In a data sorting device that outputs data to a subsequent stage and rearranges the data set in descending order of data value or in descending order of data values, each comparison unit includes a pair of memories for storing sorted data subsets input from the preceding stage, and each memory. a pair of registers that store data read from the registers, a comparator that compares the data values of the registers, a multiplexer that outputs the data of either one of the registers to a subsequent stage, and a Based on this, the multiplexer is controlled, and the reading and writing of the memory is controlled, and the data input from the previous stage is copied and stored in the two memories, and while the data in one memory is being merged, a data subset is A data sorting device comprising: a control circuit that discards the copied data in the other memory when it runs out.
JP9639885A 1985-05-07 1985-05-07 Data alignment device Expired - Lifetime JPH061432B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9639885A JPH061432B2 (en) 1985-05-07 1985-05-07 Data alignment device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9639885A JPH061432B2 (en) 1985-05-07 1985-05-07 Data alignment device

Publications (2)

Publication Number Publication Date
JPS61255434A true JPS61255434A (en) 1986-11-13
JPH061432B2 JPH061432B2 (en) 1994-01-05

Family

ID=14163854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9639885A Expired - Lifetime JPH061432B2 (en) 1985-05-07 1985-05-07 Data alignment device

Country Status (1)

Country Link
JP (1) JPH061432B2 (en)

Also Published As

Publication number Publication date
JPH061432B2 (en) 1994-01-05

Similar Documents

Publication Publication Date Title
US4314356A (en) High-speed term searcher
JPH0728624A (en) Device and method for sorting
GB2110507A (en) Time division switching matrix
US6070203A (en) Circuit for generating almost full and almost empty flags in response to sum and carry outputs in asynchronous and synchronous FIFOS
US5125011A (en) Apparatus for masking data bits
CN113360444B (en) Data synchronous generation method based on daisy chain cascade data generation system
JP3380329B2 (en) Digital data arbitration device
US6493794B1 (en) Large scale FIFO circuit
JPS58124325A (en) Shift register with variable number of delay stages
JPS61255434A (en) Data aligning device
CN215642687U (en) Daisy chain type data synchronous generating system
US4009471A (en) Information transfer system
JPS62182857A (en) Input and output controller
JPS63149726A (en) Comparing unit skip system for data aligning device
JP2999020B2 (en) Grouping processing method in audio mixing section
JPS62154140A (en) Merge processor
JPS62154136A (en) Data arranging device
JPS63240648A (en) Data compressing/storing system
JPS63284638A (en) Data arraying device
JPS6160456B2 (en)
JP2669028B2 (en) Command register circuit
JPH01277936A (en) Data synchronizing system and its device
JPS627579B2 (en)
JPH076021A (en) Data rearranging device
JPS61243530A (en) Data aligning method