JPH09305379A - Sorting device - Google Patents
Sorting deviceInfo
- Publication number
- JPH09305379A JPH09305379A JP11762496A JP11762496A JPH09305379A JP H09305379 A JPH09305379 A JP H09305379A JP 11762496 A JP11762496 A JP 11762496A JP 11762496 A JP11762496 A JP 11762496A JP H09305379 A JPH09305379 A JP H09305379A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- value
- storage means
- pieces
- 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
Landscapes
- Electronic Switches (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はデータを昇順あるい
は降順に並び替えるソーティング装置に関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a sorting device that sorts data in ascending order or descending order.
【0002】[0002]
【従来の技術】従来のソーティング装置においては、デ
ータを2つずつ順次比較していく方法が用いられてい
る。2. Description of the Related Art A conventional sorting apparatus uses a method of sequentially comparing two data at a time.
【0003】ここでは、データを降順に上位n個選出す
る場合について説明する。例えば、図5に示した構成
で、501はレジスタ、502は2つのデータを比較し
て比較結果を出力する比較器、503はマルチプレク
サ、INは入力データ、CLKはクロック信号、RST
はリセット信号、OUTは出力である。Here, a case will be described in which the upper n data are selected in descending order. For example, in the configuration shown in FIG. 5, 501 is a register, 502 is a comparator that compares two data and outputs a comparison result, 503 is a multiplexer, IN is input data, CLK is a clock signal, and RST.
Is a reset signal and OUT is an output.
【0004】1回の比較に要する時間を1サイクルとし
て、N個のデータの中から上位4個のデータを選出する
場合の動作を説明する。N個のデータから最大値を選出
する場合、まず、リセット信号でレジスタ501を初期
化し最小値を記憶する。次に、INからN個のデータを
順次入力する。比較器502は、INに入力されたデー
タとレジスタ501の値を比較する。マルチプレクサ5
03は、比較器502から出力される比較結果を用い
て、INとレジスタ501の値のうち大きい方の値を選
択し、クロック信号CLKを書き込み信号として、レジ
スタ501に書き込む。N個のデータをクロック信号C
LKに同期させて順次INより入力し、N個のデータを
すべて入力し終わった次のサイクルにOUTから最大値
が出力される。The operation for selecting the upper 4 data from the N data will be described with the time required for one comparison as one cycle. When selecting the maximum value from the N pieces of data, first, the register 501 is initialized by the reset signal and the minimum value is stored. Next, N pieces of data are sequentially input from IN. The comparator 502 compares the data input to IN with the value of the register 501. Multiplexer 5
03 uses the comparison result output from the comparator 502 to select the larger value of IN and the value of the register 501, and writes it in the register 501 using the clock signal CLK as a write signal. Clock signal C for N data
The maximum value is output from OUT in the next cycle after inputting all the N data in synchronization with LK.
【0005】N個のデータから2番目に大きい値を選出
する場合も、最大値を除く(N−1)個のデータをIN
に入力することにより、上記と同様の方法で行うことが
可能である。Even when the second largest value is selected from the N pieces of data, the (N-1) pieces of data excluding the maximum value are set to IN.
It is possible to perform in the same manner as above by inputting into.
【0006】最大値を持つデータを求めるのにNサイク
ル、その次に大きな値を持つデータを求めるのに最大値
以外の(N−1)個のデータを入力するので(N−1)
サイクルを必要とする。以下同様にして、3、4番目に
大きいデータを選出するのに、それぞれ、(N−2)サ
イクル、(N−3)サイクル必要であり、全体として
(数1)の時間が必要である。N cycles are used to obtain the data having the maximum value, and (N-1) pieces of data other than the maximum value are input to obtain the data having the next largest value, so (N-1).
Need a cycle. Similarly, in order to select the 3rd and 4th largest data, (N-2) cycles and (N-3) cycles are required, respectively, and the time of (Equation 1) is required as a whole.
【0007】[0007]
【数1】 [Equation 1]
【0008】N=100のときには、上位4個のデータ
すべてを選出するために394サイクルの時間を要する
ことになる。When N = 100, it takes 394 cycles to select all the upper four data.
【0009】[0009]
【発明が解決しようとする課題】このように、従来のソ
ーティング装置では、入力するデータ数や選出するデー
タ数が多くなればなるほど、選出に要するサイクル数が
それらに比例して多くなるので全体の処理時間も長くな
ってしまう。また、選出されたデータを除いたデータを
繰り返し入力する必要がある。As described above, in the conventional sorting apparatus, the larger the number of input data or the number of data to be selected, the more the number of cycles required for selection increases in proportion to the number of data. Processing time also becomes long. In addition, it is necessary to repeatedly input the data excluding the selected data.
【0010】本発明は上記従来の問題点を解決するもの
で、入力データを1度だけ入力し、データの並び替え速
度を向上させるソーティング装置を提供することを目的
とする。The present invention solves the above-mentioned conventional problems, and an object of the present invention is to provide a sorting apparatus which inputs input data only once to improve the data rearrangement speed.
【0011】[0011]
【課題を解決するための手段】上記の目的を達成するた
めに、本発明が講じた第1の解決手段は、N個の入力デ
ータのうちn個のデータを選出するソーティング装置で
あって、1つのデータを記憶する第1の記憶手段と、n
個のデータを記憶する第2の記憶手段と、新しいデータ
の入力を要求する信号を受けて前記第2の記憶手段に記
憶されている前記n個のデータのうちの1つを指定する
指定手段と、前記第1の記憶手段の値と前記第2の記憶
手段の値を比較する比較手段と、前記指定手段の出力と
前記比較手段の結果を用いて前記第1の記憶手段の入力
を前記入力データか前記第2の記憶手段の値のどちらか
に選択する第1の選択手段と、前記比較手段の結果を用
いて前記第2の記憶手段の入力を前記第1の記憶手段の
値か前記第2の記憶手段の値のどちらかに選択する第2
の選択手段と、前記指定手段の出力と前記比較手段の結
果を用いて前記新しいデータの入力を要求する信号を出
力する入力要求発生手段とを備える構成をとるものであ
る。In order to achieve the above-mentioned object, a first solving means of the present invention is a sorting apparatus for selecting n data from N input data, First storage means for storing one data; n
Second storage means for storing a plurality of pieces of data, and designation means for receiving one of the signals requesting input of new data and designating one of the n pieces of data stored in the second storage means. A comparison means for comparing the value of the first storage means with the value of the second storage means; and the input of the first storage means using the output of the designation means and the result of the comparison means. First input means for selecting either input data or the value of the second storage means and the result of the comparison means are used to determine whether the input of the second storage means is the value of the first storage means. A second one of the values stored in the second storage means
The selection means, and the input request generation means for outputting a signal requesting the input of the new data by using the output of the designation means and the result of the comparison means.
【0012】また、本発明が講じた第2の解決手段は、
N個の入力データのうちn個のデータを選出するソーテ
ィング装置であって、1つのデータを記憶する第1の記
憶手段と、n個のデータを記憶する第2の記憶手段と、
新しいデータの入力を要求する信号を受けて前記第2の
記憶手段に記憶されている前記n個のデータのうちの1
つを指定する指定手段と、前記第1の記憶手段の値と前
記第2の記憶手段の値を比較する比較手段と、前記指定
手段の出力と前記比較手段の結果を用いて前記第1の記
憶手段の入力を前記入力データか前記第2の記憶手段の
値のどちらかに選択する第1の選択手段と、前記比較手
段の結果を用いて前記第2の記憶手段の入力を前記第1
の記憶手段の値か前記第2の記憶手段の値のどちらかに
選択する第2の選択手段と、前記指定手段の出力と前記
第1の記憶手段の値と前記第2の選択手段の出力を用い
て判定信号を発生する判定手段と、前記指定手段の出力
と前記判定信号を用いて前記新しいデータの入力を要求
する信号を出力する入力要求発生手段とを備える構成を
とるものである。The second means for solving the problems of the present invention is as follows.
A sorting device for selecting n data out of N input data, the first storage means for storing one data, and the second storage means for storing n data,
One of the n data stored in the second storage means in response to a signal requesting input of new data
Specifying means for specifying one, a comparing means for comparing the value of the first storing means with the value of the second storing means, and the first using the output of the specifying means and the result of the comparing means. The first selection means for selecting either the input data of the storage means or the value of the second storage means, and the input of the second storage means by using the result of the comparison means.
Second selection means for selecting either the value of the storage means or the value of the second storage means, the output of the designation means, the value of the first storage means, and the output of the second selection means. Is used to generate a determination signal, and an input request generating means for outputting a signal requesting the input of new data using the output of the designating means and the determination signal.
【0013】また、本発明が講じた第3の解決手段は、
前記第1の選択手段は、前記比較手段の結果を用いて前
記入力データと前記第2の記憶手段の出力のうちのどち
らかを選択する第1のマルチプレクサと、前記指定手段
の出力を受けて選択信号を発生する選択制御回路と、前
記選択制御回路の出力を用いて前記入力データと前記第
1のマルチプレクサの出力のどちらかを選択する第2の
マルチプレクサから構成されるものである。The third means for solving the problems of the present invention is as follows.
The first selecting means receives the output of the designating means and the first multiplexer that selects either the input data or the output of the second storing means using the result of the comparing means. It comprises a selection control circuit for generating a selection signal and a second multiplexer for selecting either the input data or the output of the first multiplexer by using the output of the selection control circuit.
【0014】また、本発明が講じた第4の解決手段は、
前記指定手段は、前記第2の記憶手段に記憶されている
前記n個のデータうちの最下位のデータのアドレスを発
生し、その後、最上位のデータから最下位のデータまで
のアドレスを順次発生可能なアドレス発生回路である構
成をとるものである。The fourth means for solving the problems of the present invention is as follows.
The designation means generates an address of the lowest data of the n pieces of data stored in the second storage means, and then sequentially generates addresses from the highest data to the lowest data. It has a configuration that is a possible address generation circuit.
【0015】また、本発明が講じた第5の解決手段は、
前記判定手段は、前記指定手段が前記第2の記憶手段に
記憶されている前記n個のデータのうちの最下位のデー
タを指定しているときにのみ前記第2の選択手段の出力
を書き込み可能な第3の記憶手段と、前記第1の記憶手
段の値と前記第3の記憶手段の値を比較して前記判定信
号を出力する第3の比較手段から構成されるものであ
る。The fifth means for solving the problems of the present invention is as follows.
The judging means writes the output of the second selecting means only when the specifying means specifies the lowest data of the n data stored in the second storage means. It comprises a possible third storage means and a third comparison means for comparing the value of the first storage means with the value of the third storage means and outputting the determination signal.
【0016】また、本発明が講じた第6の解決手段は、
N個のデータのうち、n個だけ降順に並び替える構成を
とるものである。The sixth means for solving the problems of the present invention is as follows.
Of the N pieces of data, only n pieces of data are rearranged in descending order.
【0017】また、本発明が講じた第7の解決手段は、
N個のデータのうち、n個だけ昇順に並び替える構成を
とるものである。The seventh means for solving the problems of the present invention is as follows.
Only N pieces of N pieces of data are rearranged in ascending order.
【0018】本発明のソーティング装置では、選出する
n個のデータを記憶する手段を持ち、順次入力されるN
個のデータは、まず、記憶しているn個の選出データの
うちの最下位のデータと比較される。入力データが最下
位のデータよりも下位であればそれより上位のデータと
の比較は行わずに、次の対象データを入力させる。入力
データが最下位のデータよりも上位である場合は、上位
のデータとの比較とソーティングを行う。The sorting apparatus of the present invention has means for storing n pieces of data to be selected, and N pieces which are sequentially input.
This data is first compared with the lowest data among the stored n selection data. If the input data is lower than the lowest data, the next target data is input without performing comparison with higher data. When the input data is higher than the lowest data, comparison with the higher data and sorting are performed.
【0019】従って、選出するn個のデータより下位の
データが入力されたときには比較演算を省略することが
でき、データを並び替える処理時間の短縮が可能とな
る。Therefore, when the data lower than the n selected data are input, the comparison operation can be omitted and the processing time for rearranging the data can be shortened.
【0020】[0020]
(実施の形態1)図1は本発明の実施の形態1に係るソ
ーティング装置の構成の一部を示す回路図である。ここ
では、説明を簡単にするため、選出されるデータの個数
を4個とし、データは降順に並び替えるものとする。(Embodiment 1) FIG. 1 is a circuit diagram showing a part of the configuration of a sorting apparatus according to Embodiment 1 of the present invention. Here, in order to simplify the explanation, it is assumed that the number of selected data items is four and the data items are sorted in descending order.
【0021】図1において、INは入力データ、101
は比較器、102はレジスタ、103はレジスタファイ
ルでF1、F2、F3、F4はそれぞれ1番目、2番
目、3番目、4番目に大きい値を記憶するレジスタ、1
04は選択回路、105はマルチプレクサ、107はレ
ジスタファイル103のデータの読み込みと書き込みを
行うアドレスを発生するアドレス発生回路、108は次
の入力データを要求する入力要求信号を発生する入力要
求発生回路、OUTは出力データ、NXTは入力要求信
号である。In FIG. 1, IN is input data, 101
Is a comparator, 102 is a register, 103 is a register file, and F1, F2, F3, and F4 are registers for storing the first, second, third, and fourth largest values, respectively.
Reference numeral 04 is a selection circuit, 105 is a multiplexer, 107 is an address generation circuit that generates an address for reading and writing data in the register file 103, 108 is an input request generation circuit that generates an input request signal for requesting the next input data, OUT is output data and NXT is an input request signal.
【0022】ここで、比較器101は減算器で構成され
る。比較器101はレジスタ102の値をA、アドレス
発生回路107に指定されたレジスタファイル103の
レジスタの値をBとして、(A−B)を計算する。その
結果のMSBをCとすると、C=0の場合、Aの方が大
きく、C=1の場合、Bの方が大きい。マルチプレクサ
105は、C=0の場合、Aを、C=1の場合、Bを選
択する。アドレス発生回路107はレジスタファイル1
03の読み出しと書き込みを行うアドレスを、クロック
に同期して、0、1、2、3、4、0、1、…のように
発生する。NXT=1のときは、アドレスの発生をリセ
ットして、再び、0、1、2、3、4、0、1、…の順
に発生する。アドレス発生回路107から発生されるア
ドレスをADRSとする。レジスタファイル103は、
ADRS=0のときはF4のレジスタの読み出しのみを
行い、ADRS=1、2、3、4のときは、それぞれ、
F1、F2、F3、F4の読み出しと書き込みを行う。
選択回路104は、図2に示すようにINかBのうちの
どちらかを選択する。入力要求発生回路108はADR
S=0でC=1の場合、あるいは、ADRS=4の場
合、のいずれかの場合に入力要求信号NXT=1を出力
する。NXT=1のときは次の入力データがINから入
力される。Here, the comparator 101 is composed of a subtractor. The comparator 101 calculates (A−B), where A is the value of the register 102 and B is the value of the register of the register file 103 designated by the address generation circuit 107. Assuming that the resulting MSB is C, A is larger when C = 0, and B is larger when C = 1. The multiplexer 105 selects A when C = 0 and B when C = 1. Address generation circuit 107 uses register file 1
Addresses for reading and writing 03 are generated as 0, 1, 2, 3, 4, 0, 1, ... In synchronization with the clock. When NXT = 1, the address generation is reset, and the addresses are generated again in the order of 0, 1, 2, 3, 4, 0, 1, ... The address generated by the address generation circuit 107 is ADRS. The register file 103 is
When ADRS = 0, only the register of F4 is read, and when ADRS = 1, 2, 3, 4 respectively,
Reading and writing of F1, F2, F3, and F4 are performed.
The selection circuit 104 selects either IN or B as shown in FIG. The input request generation circuit 108 is ADR
When either S = 0 and C = 1 or ADRS = 4, the input request signal NXT = 1 is output. When NXT = 1, the next input data is input from IN.
【0023】図3に次のクロックに同期してレジスタ1
02、レジスタファイル103へ書き込むデータを示
す。In FIG. 3, the register 1 is synchronized with the next clock.
02, data to be written in the register file 103.
【0024】ソーティングを行う初期状態では、レジス
タファイルの各レジスタの値は入力データが取りうる最
小の値とする。また、比較演算の処理は1クロック以内
に終わるものとし、レジスタ102、およびレジスタフ
ァイル103はクロックに同期してデータを書き込むも
のとする。In the initial state of sorting, the value of each register of the register file is set to the minimum value that the input data can take. Further, it is assumed that the processing of the comparison operation is completed within one clock, and the register 102 and the register file 103 write data in synchronization with the clock.
【0025】入力データINは、まず、レジスタファイ
ル103のうちの最も小さいデータが記憶されているレ
ジスタF4と比較される。INの方がF4より小さけれ
ばF1〜F3よりも小さいことは明らかなのでこれらの
値との比較は行わない。INがF4より大きければ、F
1〜F4と順次比較を行う。5回の比較処理の後、F1
〜F4と入力データの5つの値のうち大きい4つの値
が、大きい順にF1〜F4に記憶されている。The input data IN is first compared with the register F4 in which the smallest data in the register file 103 is stored. Since IN is smaller than F4 and smaller than F1 to F3, it is not compared with these values. If IN is greater than F4, then F
1 to F4 are sequentially compared. After five comparisons, F1
~ F4 and four larger values out of the five values of the input data are stored in F1 to F4 in descending order.
【0026】図4に具体的な数値を挙げて本実施の形態
のソーティング装置の動作を説明する。The operation of the sorting apparatus according to this embodiment will be described with reference to FIG.
【0027】ファイルレジスタ103に、F1=20
0、F2=150、F3=100、F4=50が記憶さ
れているとして、入力データIN=20、120が順に
入力されるとする。マルチプレクサ106は入力データ
INを選択し、第1クロックに同期してIN=20がレ
ジスタ102に記憶される。In the file register 103, F1 = 20
Assume that 0, F2 = 150, F3 = 100, and F4 = 50 are stored, and input data IN = 20 and 120 are sequentially input. The multiplexer 106 selects the input data IN, and IN = 20 is stored in the register 102 in synchronization with the first clock.
【0028】第1クロック:ADRS=0であるので、
B=F4=50となる。A=20であるので、A−B=
−30<0、C=1となる。レジスタファイル103で
は第2クロックに同期した書き込みは行われない。入力
要求発生回路108はNXT=1を出力する。従って、
INには次の入力データが入力される。選択回路104
はINを選択し、次の入力データが第2クロックに同期
してレジスタ102に書き込まれる。また、アドレス発
生回路107はアドレスの発生をリセットする。First clock: Since ADRS = 0,
B = F4 = 50. Since A = 20, AB =
-30 <0 and C = 1. The register file 103 does not perform writing in synchronization with the second clock. The input request generation circuit 108 outputs NXT = 1. Therefore,
The following input data is input to IN. Selection circuit 104
Selects IN and the next input data is written to the register 102 in synchronization with the second clock. Further, the address generation circuit 107 resets the address generation.
【0029】次に、入力要求信号を受けてIN=120
が入力されたときの動作について説明する。Next, receiving the input request signal, IN = 120
The operation when is input will be described.
【0030】第2クロック:ADRS=0であるので、
B=F4=50となる。A=120であるので、A−B
=70>0、C=0となる。レジスタファイル103で
は、第3クロックに同期した書き込みは行われない。入
力要求発生回路108はNXT=0を出力するので、新
しい入力データはINには入力されない。選択回路10
4はINを選択して、今の入力データが第3クロックに
同期してレジスタ102に書き込まれる。Second clock: Since ADRS = 0,
B = F4 = 50. Since A = 120, AB
= 70> 0 and C = 0. In the register file 103, writing in synchronization with the third clock is not performed. Since the input request generation circuit 108 outputs NXT = 0, new input data is not input to IN. Selection circuit 10
4 selects IN, and the current input data is written in the register 102 in synchronization with the third clock.
【0031】第3クロック:ADRS=1であるので、
B=F1=200となる。A=120であるので、A−
B=−80<0、C=1となる。マルチプレクサ105
はF1を選択して、第4クロックに同期してF1に書き
込まれる。また、選択回路104はINを選択し、第4
クロックに同期してレジスタ102に書き込まれる。Third clock: Since ADRS = 1,
B = F1 = 200. Since A = 120, A-
B = -80 <0 and C = 1. Multiplexer 105
Selects F1 and is written to F1 in synchronization with the fourth clock. Further, the selection circuit 104 selects IN and
It is written in the register 102 in synchronization with the clock.
【0032】第4クロック:ADRS=2であるので、
B=F2=150となる。A=120であるので、A−
B=−30<0、C=1となる。マルチプレクサ105
はF2を選択して、第5クロックに同期してF2に書き
込まれる。また、選択回路104はINを選択し、第5
クロックに同期してレジスタ102に書き込まれる。Fourth clock: Since ADRS = 2,
B = F2 = 150. Since A = 120, A-
B = -30 <0 and C = 1. Multiplexer 105
Selects F2 and is written to F2 in synchronization with the fifth clock. Further, the selection circuit 104 selects IN and
It is written in the register 102 in synchronization with the clock.
【0033】第5クロック:ADRS=3であるので、
B=F3=100となる。A=120であるので、A−
B=20>0、C=0となる。この場合、マルチプレク
サ105はAを選択して、第6クロックに同期してF3
に書き込まれる。また、選択回路104はF3を選択
し、F3が第6クロックに同期してレジスタ102に書
き込まれる。Fifth clock: Since ADRS = 3,
B = F3 = 100. Since A = 120, A-
B = 20> 0 and C = 0. In this case, the multiplexer 105 selects A and synchronizes with F6 in synchronization with the sixth clock.
Is written to. Further, the selection circuit 104 selects F3, and F3 is written in the register 102 in synchronization with the sixth clock.
【0034】第6クロック:ADRS=4であるので、
B=F4=50となる。A=100であるので、A−B
=50>0、C=0となる。この場合、マルチプレクサ
105はAを選択して、第7クロックに同期してF4に
書き込まれる。また、入力要求発生回路108はNXT
=1を出力する。従って、INには次の入力データが入
力され、選択回路104はINを選択して、次の入力デ
ータが第7クロックに同期してレジスタ102に書き込
まれる。また、アドレス発生回路107はアドレスの発
生順をリセットする。6th clock: Since ADRS = 4,
B = F4 = 50. Since A = 100, AB
= 50> 0 and C = 0. In this case, the multiplexer 105 selects A and is written in F4 in synchronization with the seventh clock. Further, the input request generation circuit 108 is an NXT.
= 1 is output. Therefore, the next input data is input to IN, the selection circuit 104 selects IN, and the next input data is written to the register 102 in synchronization with the seventh clock. Further, the address generation circuit 107 resets the generation order of addresses.
【0035】以上により、第1〜第6クロックでの処理
により、 F1、F2、F3、F4=200、150、100、5
0 というデータの並びが、 F1、F2、F3、F4=200、150、120、1
00 とソーティングされることがわかる。From the above, by the processing in the first to sixth clocks, F1, F2, F3, F4 = 200, 150, 100, 5
The sequence of data 0 is F1, F2, F3, F4 = 200, 150, 120, 1
You can see that it is sorted as 00.
【0036】IN=20、120という2つの入力に対
する処理は、1+5=6サイクルで終了している。The processing for two inputs of IN = 20 and 120 is completed in 1 + 5 = 6 cycles.
【0037】従来例と同様にN=100として、半分の
50個の入力データは、F4に記憶されているデータよ
りも小さいとすると、ソーティングを行うために必要と
する時間は、(数2)となり、従来例の394サイクル
と比較して速度向上が実現できることがわかる。また、
入力データの入力は一度だけですむ。As in the conventional example, assuming that N = 100 and half the 50 input data are smaller than the data stored in F4, the time required for sorting is (Equation 2). Therefore, it can be seen that speed improvement can be realized as compared with the 394 cycle of the conventional example. Also,
You only have to enter the input data once.
【0038】[0038]
【数2】 [Equation 2]
【0039】(実施の形態2)図5は本発明の実施の形
態2に係るソーティング装置の構成の一部を示す回路図
である。実施の形態1の場合と同様に、選出されるデー
タの個数を4個とし、データは降順に並び替えるものと
する。(Second Embodiment) FIG. 5 is a circuit diagram showing a part of the configuration of a sorting apparatus according to the second embodiment of the present invention. As in the case of the first embodiment, the number of selected data is 4, and the data is sorted in descending order.
【0040】図5において、INは入力データ、101
は比較器、102はレジスタ、113はレジスタファイ
ルでF1、F2、F3、F4はそれぞれ1番目、2番
目、3番目、4番目に大きい値を記憶するレジスタ、1
14は選択回路、105はマルチプレクサ、119は入
力データがレジスタファイル113の最下位のデータよ
りも小さいかどうかを判定する判定回路、117はレジ
スタファイル113のデータの読み書きを行うアドレス
を発生するアドレス発生回路、118は次の入力データ
を要求する入力要求信号を発生する入力要求発生回路、
OUTは出力データ、NXTは入力要求信号である。In FIG. 5, IN is input data, 101
Is a comparator, 102 is a register, 113 is a register file, and F1, F2, F3, and F4 are registers for storing the first, second, third, and fourth largest values, respectively.
Reference numeral 14 is a selection circuit, 105 is a multiplexer, 119 is a determination circuit for determining whether the input data is smaller than the least significant data of the register file 113, and 117 is an address generator for generating an address for reading and writing data in the register file 113. A circuit, 118 is an input request generation circuit for generating an input request signal requesting the next input data,
OUT is output data and NXT is an input request signal.
【0041】比較器101、レジスタ102、マルチプ
レクサ105の動作は実施の形態1の場合と同様であ
る。The operations of the comparator 101, the register 102, and the multiplexer 105 are the same as those in the first embodiment.
【0042】アドレス発生回路117は、レジスタファ
イル113に読み書きを行うアドレスを、クロックに同
期して、1、2、3、4、1、2、…の順に発生する。
NXT=1のときは、アドレスの発生をリセットさせ
る。ADRS=1、2、3、4を発生しているときは、
レジスタファイル113は、それぞれ、F1、F2、F
3、F4に読み込みと書き込みを行うものとする。選択
回路114は図6に示すようにINかBのうちのどちら
かを選択する。判定回路119の出力をFとすると、入
力要求発生回路118は、ADRS=1でF=1の場
合、あるいは、ADRS=4の場合のいずれかの場合
に、入力要求信号NXT=1を出力する。NXT=1の
ときは次の入力データがINから入力される。The address generation circuit 117 generates addresses for reading and writing to the register file 113 in the order of 1, 2, 3, 4, 1, 2, ... In synchronization with the clock.
When NXT = 1, the address generation is reset. When ADRS = 1, 2, 3, 4 is generated,
The register file 113 has F1, F2, and F, respectively.
3 and F4 are read and written. The selection circuit 114 selects either IN or B as shown in FIG. When the output of the determination circuit 119 is F, the input request generation circuit 118 outputs the input request signal NXT = 1 when ADRS = 1 and F = 1 or when ADRS = 4. . When NXT = 1, the next input data is input from IN.
【0043】判定回路119は具体的には図7のような
回路で構成される。図7において、121は比較器、1
22はレジスタである。レジスタ122はADRS=4
のときのみDを書き込む。すなわち、レジスタ122に
はレジスタファイル113のF4と同じ値が記憶されて
いる。比較器121は、レジスタ122の値をEとし
て、(A−E)を計算する。その結果のMSBをFとす
ると、F=0の場合、Aの方が大きく、F=1の場合、
Eの方が大きい。The determination circuit 119 is specifically composed of a circuit as shown in FIG. In FIG. 7, 121 is a comparator, 1
22 is a register. Register 122 has ADRS = 4
Write D only when. That is, the same value as F4 of the register file 113 is stored in the register 122. The comparator 121 sets the value of the register 122 to E and calculates (AE). When the resulting MSB is F, A is larger when F = 0, and when F = 1,
E is larger.
【0044】図8に次のクロックに同期してレジスタ1
02、112、レジスタファイル113へ書き込むデー
タを示す。In FIG. 8, the register 1 is synchronized with the next clock.
02, 112 and data to be written in the register file 113.
【0045】入力データINはレジスタファイル113
のF1〜F4と順次比較を行う。F1と比較を行うとき
に、同時に、レジスタ122の値とも比較を行い、F4
に記憶されているデータよりも小さいデータが入力され
たときには、F2〜F4との比較処理を行わない。The input data IN is the register file 113.
F1 to F4 are sequentially compared. At the same time when comparing with F1, the value of the register 122 is also compared, and F4
When the data smaller than the data stored in is input, the comparison processing with F2 to F4 is not performed.
【0046】図9に実施の形態1と同じ数値が入力され
たときの、実施の形態2のソーティング装置の動作を説
明する。The operation of the sorting apparatus of the second embodiment when the same numerical value as that of the first embodiment is input in FIG. 9 will be described.
【0047】ファイルレジスタ113に、F1=20
0、F2=150、F3=100、F4=50が記憶さ
れているとする。また、レジスタ122にはF4と同じ
値が記憶されている。入力データIN=20、120が
順に入力されるとする。選択回路114は入力データI
Nを選択し、第1クロックに同期してIN=20がレジ
スタ102に記憶される。In the file register 113, F1 = 20
It is assumed that 0, F2 = 150, F3 = 100, and F4 = 50 are stored. Further, the same value as F4 is stored in the register 122. It is assumed that the input data IN = 20 and 120 are sequentially input. The selection circuit 114 receives the input data I
N is selected and IN = 20 is stored in the register 102 in synchronization with the first clock.
【0048】第1クロック:ADRS=1であるので、
B=F1=200となる。A=20であるので、A−B
=−180<0、C=1となる。このとき、マルチプレ
クサ105はF1を選択して、第2クロックに同期して
F1に書き込まれる。また、E=50であるので、A−
E=−30>0、F=1となり、入力要求発生回路11
8はNXT=1を出力する。従って、INには次の入力
データが入力される。選択回路114はINを選択し、
次の入力データが第2クロックに同期してレジスタ10
2に書き込まれる。アドレス発生回路107はアドレス
の発生順をリセットする。First clock: Since ADRS = 1,
B = F1 = 200. Since A = 20, AB
= -180 <0, C = 1. At this time, the multiplexer 105 selects F1 and is written in F1 in synchronization with the second clock. Also, since E = 50, A−
Since E = -30> 0 and F = 1, the input request generation circuit 11
8 outputs NXT = 1. Therefore, the following input data is input to IN. The selection circuit 114 selects IN,
The next input data is synchronized with the second clock and the register 10
2 is written. The address generation circuit 107 resets the address generation order.
【0049】次に入力要求信号を受けてIN=120が
入力された場合の動作について説明する。Next, the operation when IN = 120 is input in response to the input request signal will be described.
【0050】第2クロック:ADRS=1であるので、
B=F1=200となる。A=120であるので、A−
B=−80<0、C=1となる。このとき、マルチプレ
クサ105はF1を選択して、第3クロックに同期して
F1に書き込まれる。選択回路114はINを選択し、
第3クロックに同期してレジスタ102に書き込まれ
る。Second clock: Since ADRS = 1,
B = F1 = 200. Since A = 120, A-
B = -80 <0 and C = 1. At this time, the multiplexer 105 selects F1 and is written in F1 in synchronization with the third clock. The selection circuit 114 selects IN,
It is written in the register 102 in synchronization with the third clock.
【0051】第3クロック:ADRS=2であるので、
B=F2=150となる。A=120であるので、A−
B=−30<0、C=1となる。このとき、マルチプレ
クサ105はF2を選択して、第4クロックに同期して
F2に書き込まれる。選択回路114はINを選択し、
第4クロックに同期してレジスタ102に書き込まれ
る。Third clock: Since ADRS = 2,
B = F2 = 150. Since A = 120, A-
B = -30 <0 and C = 1. At this time, the multiplexer 105 selects F2 and is written in F2 in synchronization with the fourth clock. The selection circuit 114 selects IN,
It is written in the register 102 in synchronization with the fourth clock.
【0052】第4クロック:ADRS=3であるので、
B=F3=100となる。A=120であるので、A−
B=20>0、C=0となる。このとき、マルチプレク
サ105はAを選択して、第5クロックに同期してF3
に書き込まれる。選択回路114はF3を選択し、第5
クロックに同期してレジスタ102に書き込まれる。Fourth clock: Since ADRS = 3,
B = F3 = 100. Since A = 120, A-
B = 20> 0 and C = 0. At this time, the multiplexer 105 selects A and synchronizes with F5 in synchronization with the fifth clock.
Is written to. The selection circuit 114 selects F3, and the fifth
It is written in the register 102 in synchronization with the clock.
【0053】第5クロック:ADRS=4であるので、
B=F4=50となる。A=100であるので、A−B
=50>0、C=0となる。このとき、マルチプレクサ
105はAを選択して、第6クロックに同期してF4に
書き込まれる。同時に、Aは第6クロックに同期してレ
ジスタ122へも書き込まれる。また、入力要求発生回
路118は、NXT=1を出力する。従って、INには
次の入力データが入力される。選択回路114はINを
選択し、次の入力データが第6クロックに同期してレジ
スタ102に書き込まれる。アドレス発生回路107は
アドレスの発生順をリセットする。Fifth clock: Since ADRS = 4,
B = F4 = 50. Since A = 100, AB
= 50> 0 and C = 0. At this time, the multiplexer 105 selects A and is written in F4 in synchronization with the sixth clock. At the same time, A is also written in the register 122 in synchronization with the sixth clock. Further, the input request generation circuit 118 outputs NXT = 1. Therefore, the following input data is input to IN. The selection circuit 114 selects IN and the next input data is written in the register 102 in synchronization with the sixth clock. The address generation circuit 107 resets the address generation order.
【0054】以上、第1〜第5クロックでの処理によ
り、 F1、F2、F3、F4=200、150、100、5
0 というデータの並びが、 F1、F2、F3、F4=200、150、120、1
00 とソーティングされることがわかる。As described above, by the processing in the first to fifth clocks, F1, F2, F3, F4 = 200, 150, 100, 5
The sequence of data 0 is F1, F2, F3, F4 = 200, 150, 120, 1
You can see that it is sorted as 00.
【0055】IN=20、120という2つの入力に対
する処理は、1+4=5サイクルで終了している。The processing for two inputs of IN = 20 and 120 is completed in 1 + 4 = 5 cycles.
【0056】実施の形態1と同様に、N=100とし
て、半分の50個の入力データは、F4に記憶されてい
るデータよりも小さいとすると、ソーティングを行うた
めに必要とする時間は、(数3)となり、実施の形態1
の場合よりもさらに速度向上が実現できることがわか
る。As in the first embodiment, assuming that N = 100 and half the 50 input data are smaller than the data stored in F4, the time required for sorting is ( Equation 3), and the first embodiment
It can be seen that the speed can be further improved than in the case of.
【0057】[0057]
【数3】 (Equation 3)
【0058】[0058]
【発明の効果】以上説明したように、本発明に係るソー
ティング装置によると、対象となるデータを1回与える
だけで所望の個数のデータの並び替えを、高速に行うこ
とができる。As described above, according to the sorting apparatus of the present invention, a desired number of data can be rearranged at a high speed by giving the target data only once.
【図1】本発明の実施の形態1に係るソーティング装置
の回路図FIG. 1 is a circuit diagram of a sorting device according to a first embodiment of the present invention.
【図2】本実施の形態に係るソーティング装置の選択回
路の出力を示す図FIG. 2 is a diagram showing an output of a selection circuit of the sorting apparatus according to the present embodiment.
【図3】本実施の形態に係るソーティング装置のレジス
タに書き込む値を示す図FIG. 3 is a diagram showing values to be written in a register of the sorting device according to the present embodiment.
【図4】本実施の形態に係るソーティング装置のタイミ
ング図FIG. 4 is a timing diagram of the sorting apparatus according to the present embodiment.
【図5】本発明の実施の形態2に係るソーティング装置
の回路図FIG. 5 is a circuit diagram of a sorting device according to a second embodiment of the present invention.
【図6】本実施の形態に係るソーティング装置の選択回
路の出力を示す図FIG. 6 is a diagram showing an output of a selection circuit of the sorting device according to the present embodiment.
【図7】本実施の形態に係るソーティング装置の判定回
路の構成図FIG. 7 is a configuration diagram of a determination circuit of the sorting device according to the present embodiment.
【図8】本実施の形態に係るソーティング装置のレジス
タに書き込む値を示す図FIG. 8 is a diagram showing values written in a register of the sorting device according to the present embodiment.
【図9】本実施の形態に係るソーティング装置のタイミ
ング図FIG. 9 is a timing diagram of the sorting apparatus according to the present embodiment.
【図10】従来のソーティング装置の例を示す図FIG. 10 is a diagram showing an example of a conventional sorting device.
101,121 比較器 102,122 レジスタ 103,113 レジスタファイル 104,114 選択回路 105 マルチプレクサ 107,117 アドレス発生回路 108,118 入力要求発生回路 119 判定回路 IN 入力データ OUT 出力データ NXT 入力要求信号 101, 121 Comparator 102, 122 Register 103, 113 Register File 104, 114 Selection Circuit 105 Multiplexer 107, 117 Address Generation Circuit 108, 118 Input Request Generation Circuit 119 Judgment Circuit IN Input Data OUT Output Data NXT Input Request Signal
Claims (7)
選出するソーティング装置であって、 1つのデータを記憶する第1の記憶手段と、 n個のデータを記憶する第2の記憶手段と、 新しいデータの入力を要求する信号を受けて前記第2の
記憶手段に記憶されている前記n個のデータのうちの1
つを指定する指定手段と、 前記第1の記憶手段の値と前記第2の記憶手段の値を比
較する比較手段と、 前記指定手段の出力と前記比較手段の結果を用いて前記
第1の記憶手段の入力を前記入力データか前記第2の記
憶手段の値のどちらかに選択する第1の選択手段と、 前記比較手段の結果を用いて前記第2の記憶手段の入力
を前記第1の記憶手段の値か前記第2の記憶手段の値の
どちらかに選択する第2の選択手段と、 前記指定手段の出力と前記比較手段の結果を用いて前記
新しいデータの入力を要求する信号を出力する入力要求
発生手段とを備えたソーティング装置。1. A sorting device for selecting n pieces of data out of N pieces of input data, the first storage means storing one piece of data, and the second storage means storing n pieces of data. And one of the n data stored in the second storage means in response to a signal requesting input of new data.
Specifying means for specifying one, a comparing means for comparing the value of the first storing means with the value of the second storing means, the first using the output of the specifying means and the result of the comparing means. First selecting means for selecting either the input data or the value of the second storing means for the input of the storing means, and the input of the second storing means for the first using the result of the comparing means. Second selection means for selecting either the value of the storage means or the value of the second storage means, and a signal for requesting input of the new data using the output of the designation means and the result of the comparison means. And a sorting device having an input request generating means for outputting.
選出するソーティング装置であって、 1つのデータを記憶する第1の記憶手段と、 n個のデータを記憶する第2の記憶手段と、 新しいデータの入力を要求する信号を受けて前記第2の
記憶手段に記憶されている前記n個のデータのうちの1
つを指定する指定手段と、 前記第1の記憶手段の値と前記第2の記憶手段の値を比
較する比較手段と、 前記指定手段の出力と前記比較手段の結果を用いて前記
第1の記憶手段の入力を前記入力データか前記第2の記
憶手段の値のどちらかに選択する第1の選択手段と、 前記比較手段の結果を用いて前記第2の記憶手段の入力
を前記第1の記憶手段の値か前記第2の記憶手段の値の
どちらかに選択する第2の選択手段と、 前記指定手段の出力と前記第1の記憶手段の値と前記第
2の選択手段の出力を用いて判定信号を発生する判定手
段と、 前記指定手段の出力と前記判定信号を用いて前記新しい
データの入力を要求する信号を出力する入力要求発生手
段とを備えたソーティング装置。2. A sorting apparatus for selecting n pieces of data from N pieces of input data, the first storage means storing one data, and the second storage means storing n pieces of data. And one of the n data stored in the second storage means in response to a signal requesting input of new data.
Specifying means for specifying one, a comparing means for comparing the value of the first storing means with the value of the second storing means, the first using the output of the specifying means and the result of the comparing means. First selecting means for selecting either the input data or the value of the second storing means for the input of the storing means, and the input of the second storing means for the first using the result of the comparing means. Second selection means for selecting either the value of the storage means or the value of the second storage means, the output of the designation means, the value of the first storage means, and the output of the second selection means. A sorting device comprising: a determination unit that generates a determination signal by using the input unit; and an input request generation unit that outputs a signal requesting input of the new data by using the output of the designation unit and the determination signal.
の記憶手段の出力のうちのどちらかを選択する第1のマ
ルチプレクサと、 前記指定手段の出力を受けて選択信号を発生する選択制
御回路と、 前記選択制御回路の出力を用いて前記入力データと前記
第1のマルチプレクサの出力のどちらかを選択する第2
のマルチプレクサから構成されることを特徴とする請求
項1または請求項2記載のソーティング装置。3. The first selecting means uses the result of the comparing means to compare the input data and the second data.
A first multiplexer that selects one of the outputs of the storage means, a selection control circuit that receives the output of the designating means and generates a selection signal, and the input data using the output of the selection control circuit. A second selecting one of the outputs of the first multiplexer
The sorting device according to claim 1 or 2, wherein the sorting device comprises a multiplexer.
うちの最下位のデータのアドレスを発生し、その後、最
上位のデータから最下位のデータまでのアドレスを順次
発生可能なアドレス発生回路であることを特徴とする請
求項1記載のソーティング装置。4. The specifying means generates an address of the lowest data of the n pieces of data stored in the second storage means, and thereafter, from the highest data to the lowest data. 2. The sorting device according to claim 1, wherein the sorting device is an address generating circuit capable of sequentially generating the addresses.
記n個のデータのうちの最下位のデータを指定している
ときにのみ前記第2の選択手段の出力を書き込み可能な
第3の記憶手段と、 前記第1の記憶手段の値と前記第3の記憶手段の値を比
較して前記判定信号を出力する第3の比較手段から構成
されることを特徴とする請求項2記載のソーティング装
置。5. The second selection is made only when the specifying means specifies the lowest data of the n pieces of data stored in the second storage means. It comprises a third storage means capable of writing the output of the means, and a third comparison means for comparing the value of the first storage means with the value of the third storage means and outputting the determination signal. The sorting device according to claim 2, wherein
び替えることを特徴とする請求項1、2、3、4、5の
何れかに記載のソーティング装置。6. The sorting apparatus according to claim 1, wherein n pieces of N pieces of data are sorted in descending order.
び替えることを特徴とする請求項1、2、3、4、5の
何れかに記載のソーティング装置。7. The sorting device according to claim 1, wherein n pieces of N pieces of data are rearranged in ascending order.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11762496A JPH09305379A (en) | 1996-05-13 | 1996-05-13 | Sorting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11762496A JPH09305379A (en) | 1996-05-13 | 1996-05-13 | Sorting device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09305379A true JPH09305379A (en) | 1997-11-28 |
Family
ID=14716354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11762496A Pending JPH09305379A (en) | 1996-05-13 | 1996-05-13 | Sorting device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09305379A (en) |
-
1996
- 1996-05-13 JP JP11762496A patent/JPH09305379A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0208870B1 (en) | Vector data processor | |
JPWO2005121827A1 (en) | Timing generator and semiconductor test equipment | |
CA2070035C (en) | Arrangement and method of ascertaining data word number of maximum or minimum in a plurality of data words | |
JP3292584B2 (en) | Timing generator | |
JPH10111346A (en) | Scanning test method for semiconductor integrated circuit | |
US5629946A (en) | High speed test pattern generator | |
US6587942B1 (en) | Circuit for converting input serial data in a plurality of possible formats into output data in parallel format by interpreting input data format indication information | |
JPH09305379A (en) | Sorting device | |
JP3087928B2 (en) | Testing equipment | |
JPH08286891A (en) | Sorting device | |
JPH09128241A (en) | Method and apparatus for arrangement with reference to belonging function value of language input value of fuzzy logic processor | |
JP2614342B2 (en) | Insert sorter | |
JPH0926466A (en) | Pattern generation circuit of semiconductor inspection device | |
JPH09114779A (en) | Wait control system for information processor | |
JPS63136814A (en) | Digital delay circuit | |
JP2595998B2 (en) | Electronic musical instrument | |
JP4385398B2 (en) | Real-time addition circuit and measurement waveform averaging device | |
JP2685012B2 (en) | Digital integrated circuit and digital filter | |
JP2019149070A (en) | Serial interface circuit, semiconductor device, and serial-parallel conversion method | |
JPH0756507B2 (en) | Sequencer circuit | |
JPH0799545B2 (en) | Pipeline histogram calculation circuit | |
JPH01137489A (en) | Semiconductor memory | |
JPH04360217A (en) | Method for reading counter | |
JPS63172335A (en) | Sorting processor | |
JPS60247324A (en) | Binary code generator |