JPS63231620A - Data merging system - Google Patents

Data merging system

Info

Publication number
JPS63231620A
JPS63231620A JP6610487A JP6610487A JPS63231620A JP S63231620 A JPS63231620 A JP S63231620A JP 6610487 A JP6610487 A JP 6610487A JP 6610487 A JP6610487 A JP 6610487A JP S63231620 A JPS63231620 A JP S63231620A
Authority
JP
Japan
Prior art keywords
data
merging
records
storage areas
merge
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
JP6610487A
Other languages
Japanese (ja)
Inventor
Toshiro Nakazuru
敏朗 中水流
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6610487A priority Critical patent/JPS63231620A/en
Publication of JPS63231620A publication Critical patent/JPS63231620A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE:To increase the processing speed by executing the merging operation, where a storage area where plural data strings each of which includes p-number of records are arranged in the address order and a storage area where plural data strings each of which includes q-number of records are arranged in the address order are coupled, with one instruction from a processor. CONSTITUTION:With respect to the merging operation, records are read out from storage areas 5A and 5B one by one from their start addresses in accordance with the indication of a merge control circuit 3 by a data merging circuit 9. The data merging circuit 9 compares keywords and successively writes records in storage areas 6C and 6D in accordance with the keyword order designated by a data merging instruction 8. As the result, data strings 7 each of which includes (p+q)-number of records and which are arranged in the keyword order are completed in storage areas 6C and 6D. The output of the data merging circuit 9 is switched each time when merging of one data string is completed, and merged data strings are alternately stored in storage areas 6C and 6D.

Description

【発明の詳細な説明】 〔概要〕 本発明はデータのソート・マージ方式に関する。複数の
ソート済であるデータ列を結合し、ソートされた一つの
データ列に纏める、所謂マージ操作を実行するために使
用されるデータマージ装置に関し、特に多数のソート済
であるデータ列のマージを行う場合、→−ジ命令を繰り
返し発行することなく1命令で実行可能な方式に関する
DETAILED DESCRIPTION OF THE INVENTION [Summary] The present invention relates to a data sorting and merging method. Regarding a data merging device used to perform a so-called merging operation that combines multiple sorted data columns into one sorted data column, it is particularly applicable to merging a large number of sorted data columns. If this is the case, it relates to a system that can be executed with one instruction without repeatedly issuing →-ji instructions.

〔産業上の利用分野〕[Industrial application field]

同一属性のデータをレコードの形式に編集し、大量のレ
コードをそのキーワードにより定義される順序に並べる
、所謂”ソート”操作を行い、多数のソートされたデー
タ列を一本にまとめて同様のキーワード順に再配列する
所謂”マージ“操作は現在特に事務データ処理において
広く行われている。レコードが大量の場合は、一定数の
レコード毎に区切って、区切り毎にマージ操作を繰り返
して実行するが、これを簡略化してソフトウェアの効率
を高める手段が要求されている。
Editing data with the same attributes into record format, arranging a large number of records in the order defined by the keywords, a so-called "sort" operation, and combining many sorted data columns into one column using similar keywords. The so-called "merge" operation of sequential rearrangement is currently widely used, especially in business data processing. When there is a large number of records, it is necessary to divide the records into a certain number of records and repeat the merge operation for each division, but there is a need for a means to simplify this process and improve the efficiency of the software.

〔従来の技術〕[Conventional technology]

大量のデータをソート、マージする操作は特に事務デー
タの処理には多く用いられており、通常その操作はソフ
トウェアにより実行されている。また、これを高速で実
行する目的で回路をハードウェア化した方式も種々提案
されている。
Operations for sorting and merging large amounts of data are often used, especially in the processing of office data, and are usually performed by software. In addition, various methods have been proposed in which the circuit is made into hardware for the purpose of executing this at high speed.

ソート、マージの操作の内容については公知であり、多
くの方式が文献に紹介されているのでその詳細について
の説明は省略する。
The contents of the sorting and merging operations are well known, and many methods have been introduced in literature, so detailed explanations thereof will be omitted.

第4図に従来のマージ方式の処理の概略を示し、その問
題点について説明する。図においてデータ列■〜■は、
全て同一属性の大量のレコードが同一のキーワードによ
りソートされたデータ列で、データ列■にはレコードA
OI−Apの9個のレコードが、データ列■にはレコー
ドBOI〜Bqのq個のレコードが、そのキーワードの
順に整列している。■〜■の列は全てこのように構成さ
れている。大量のデータをこのようにp、q個のレコー
ドにより構成される複数のグループに分割してソートす
るのは、記憶領域の単位、例えば1ページ等に収容可能
なサイズにまとめた方が処理に都合がよく、また、1回
で極めて大量のデータをソートすると、比較的短いグル
ープに分割してソートするよりも却って処理時間が大き
くなる等の理由による。また通常各データ列の大きさp
、qは等しいが、ここでは−膜性をもたせるためp、q
を等しくないようにしである。
FIG. 4 shows an outline of the conventional merge method processing, and its problems will be explained. In the figure, data columns ■~■ are
A data column in which a large number of records all with the same attribute are sorted by the same keyword, and record A is in the data column ■.
The nine records of OI-Ap are arranged in the order of their keywords, and the q records of records BOI to Bq are arranged in the data string ■. All the columns from ■ to ■ are structured like this. Dividing and sorting a large amount of data into multiple groups consisting of p and q records like this is easier to process if the data is organized into a size that can be accommodated in a unit of storage area, such as one page. This is convenient, and also because sorting an extremely large amount of data at one time takes more processing time than dividing it into relatively short groups and sorting. Also, usually the size of each data string is p
, q are equal, but in this case, p, q
so that they are not equal.

ソート済のデータ列は、キーワード順不同に並べてあっ
た大量のデータを適当なレコード数毎に分割し、キーワ
ード順に並べ換えたデータ列であるから、■〜■の各デ
ータ列の内部におけるレコード配列はキーワード順であ
るが、各データ列相互間にはキーワードの大小関係は存
在しない。
A sorted data string is a data string obtained by dividing a large amount of data arranged in random order of keywords into an appropriate number of records and rearranging them in order of keywords, so the record arrangement within each data string from ■ to ■ is based on keywords. However, there is no size relationship of keywords between each data string.

このような場合、マージ操作はデータ列を2列宛取り出
してマージし、図のように第1次のマージでデータ列の
数は1/2に、各データ列の長さは2倍になる0図にお
いては長さがpのデータ列■と長さがqのデータ列■が
マージされて、−長さがp+qのデータ列■が生成する
のが示されている。同様に■と■がマージされて@が生
成するる0次に第2次のマージとして■と[相]のデー
タ列がマージされ、長さが2 (p+q)である[相]
のデータ列が生成される。以下同様にマージを繰り返し
て、最終的にはキーワード順に配列された1本のデータ
列が完成してマージ操作が終了する。
In such a case, the merge operation extracts two data columns and merges them, and as shown in the figure, the number of data columns is halved and the length of each data column is doubled in the first merge. In Figure 0, a data string (2) with a length of p and a data string (2) with a length of q are merged to generate a data string (2) with a length of -p+q. Similarly, the data strings of ■ and [phase] are merged as a zero-order second merge that @ generates when ■ and ■ are merged, and the data string of ■ and [phase] are merged, and the length is 2 (p + q).
data strings are generated. After that, merging is repeated in the same manner, and finally one data string arranged in keyword order is completed and the merging operation is completed.

このようにして多数のデータ列のマージを実行する時、
マージ操作はプログラムにより実行する場合、或いはハ
ードウェア、例えばバイブライン方式により高速に実行
する場合もあるが、何れにせよマージ命令、或いは類し
たプログラムのルーチンを多数回繰り返して実行するの
が常である。
When performing a merge of many data columns in this way,
Merge operations may be executed by a program or by hardware, such as the Vibrine method, but in either case, merge instructions or similar program routines are usually executed many times. be.

命令の発行回数はトーナメント形式の試合と同様であり
、データ列の総数をnとすると命令発行回数はn−1回
になる。例えばデータ列が100本あると命令を99回
発行することになる。
The number of times a command is issued is the same as in a tournament-type game, and if the total number of data strings is n, the number of times a command is issued is n-1. For example, if there are 100 data strings, the command will be issued 99 times.

特に大量のデータをマージする際にはハードウェアによ
る高速マージ装置が必要でありマージ回路が高速化する
に従って、命令の発行回数が多いことによる時間の損失
が問題になり、これを少なくして処理速度を更に向上す
る要求が生じて来た。
In particular, when merging large amounts of data, a hardware-based high-speed merging device is required, and as the merging circuit speeds up, time loss due to the large number of instructions issued becomes a problem, so this can be reduced and processed. A demand has arisen for further increases in speed.

〔発明が解決しようとする問題点3 以上説明したように、マージ装置の処理速度が向上して
も、処理装置の側で命令アクセスの頻度が大きくなるこ
とにより能力向上が妨げられ、本発明はこれを極力少な
くする手段を実現可能とするものである。
[Problem to be Solved by the Invention 3] As explained above, even if the processing speed of the merging device is improved, the increase in the frequency of instruction access on the processing device side hinders the improvement in performance. It is possible to realize a means to reduce this as much as possible.

〔問題点を解決するための手段〕[Means for solving problems]

以上の目的の実現のために、本発明においては第1図に
その原理を示すデータマージ方式を使用する。
In order to achieve the above object, the present invention uses a data merging method whose principle is shown in FIG.

ソート処理済であるレコード9個を含むデータ列4Aを
複数(r)個、連続するアドレス順に並べた記憶領域5
Aと、レコード9個を含むデータ列4Bを複数(s)個
、連続するアドレス順に並べた記憶領域5Bがマージの
対象になる。
A storage area 5 in which a plurality (r) of data strings 4A including nine sorted records are arranged in consecutive address order.
A and a storage area 5B in which a plurality (s) of data strings 4B including nine records are arranged in the order of consecutive addresses are to be merged.

マージ制御回路3は処理装置2よりデータマージ命令8
を受取りマージ命令の実行を制御する。
The merge control circuit 3 receives a data merge command 8 from the processing device 2.
control the execution of merge instructions.

データマージ命令8には、記憶領域5A、5Bの先頭の
アドレス、データ列4A、4Bに含まれるレコードの数
p、q、記1!領域5^、5Bに含まれるレコードの総
数m、nが、マージ指令と共に指示される。
The data merge instruction 8 includes the start addresses of the storage areas 5A and 5B, the numbers p and q of records included in the data strings 4A and 4B, and 1! The total numbers m and n of records included in areas 5^ and 5B are specified together with the merge command.

マージ操作はデータマージ回路9においてマージ制御回
路3の指示により、記憶領域5A。
The merge operation is performed in the data merge circuit 9 in accordance with instructions from the merge control circuit 3 in the storage area 5A.

5Bの先頭よりルコード宛読み出し、データマージ回路
9においてキーワードを比較し、データマージ命令8の
指定によるキーワードの順に従ってレコードを記憶領域
6C,60に順次書き込む。
5B, keywords are compared in the data merge circuit 9, and records are sequentially written into the storage areas 6C and 60 in the order of the keywords specified by the data merge command 8.

その結果として記憶領域6C,6D内にレコードp+q
個を含む、キーワード順に配列されたデータ列7が順次
完成し、1データ列のマージが完了する毎にデータマー
ジ回路9の出力を切り替え、マージされたデータ列は記
憶領域6C,6Dに交互に蓄積される。
As a result, records p+q are stored in storage areas 6C and 6D.
The data strings 7 arranged in the order of keywords are completed one after another, and each time the merging of one data string is completed, the output of the data merging circuit 9 is switched, and the merged data strings are stored alternately in the storage areas 6C and 6D. Accumulated.

〔作用〕[Effect]

p個のレコードを含むデータ列を複数個アドレス順に並
べて構成される記憶領域と、q個のレコードを含むデー
タ列を複数個アドレス順に並べて構成される記憶領域を
結合するマージ操作を処理装置よりの1命令で実行する
The processor performs a merge operation that combines a storage area configured by arranging a plurality of data strings containing p records in address order and a storage area formed by arranging a plurality of data strings including q records in address order. Execute with one instruction.

〔実施例〕〔Example〕

本発明によるデータマージ方式の実施例を第2図、第3
図により説明する。データマージ操作の内容に関しては
公知であるので、本項においては本発明によるデータマ
ージ装置の動作説明と、本発明の骨子となるデータマー
ジ命令の形式について説明する。
Examples of the data merging method according to the present invention are shown in FIGS. 2 and 3.
This will be explained using figures. Since the contents of the data merging operation are well known, this section will explain the operation of the data merging device according to the present invention and the format of the data merging command, which is the gist of the present invention.

第2図に本発明によるデータマージ装置の主要構成を示
す0本図において細線はアドレス指定、中太線は制御情
報、太線はマージされるデータの通路を示している。記
憶領域5A。
FIG. 2 shows the main configuration of a data merging device according to the present invention. In this figure, thin lines indicate address designations, medium thick lines indicate control information, and thick lines indicate paths for data to be merged. Storage area 5A.

5Bがマージ操作の対象になるデータ列の集合であり、
第1の記憶領域5AにはSAI〜SArで示す、ソート
されたp個のレコードを含むデータ列1個が、第2の記
憶領域5BにはSBI〜SBsで示す、ソートされたq
個のレコードを含むデータ列3個が蓄積しである。ここ
で記憶領域5A、5Bの終端に位置するデータ列にはp
、q個のレコードが含まれるとは限らず、半端な場合も
ある。また、前にも述べたように通常はp=qであるが
、一般的に説明を進める目的でpf−qとしである。
5B is a set of data columns to be merged,
The first storage area 5A contains one data string containing p sorted records, indicated by SAI to SAr, and the second storage area 5B contains sorted q records, indicated by SBI to SBs.
Three data strings containing records are stored. Here, the data string located at the end of the storage areas 5A and 5B has p
, it may not necessarily contain q records; it may be irregular. Further, as mentioned before, normally p=q, but for the purpose of general explanation it will be expressed as pf-q.

4A、4Bはデータ列内部のレコード配列の例で、本図
ではそれぞれデータ列SA3.SC2の内部を示しであ
る。ソートされたデータ列S^3内部にはp個のレコー
ドRA31〜RA3pがキーワード順にアドレスの増大
する方向に並べである。SC2も同様に構成されている
4A and 4B are examples of record arrays inside the data string, and in this figure, data string SA3. This shows the inside of SC2. Inside the sorted data string S^3, p records RA31 to RA3p are arranged in the order of keywords in the direction of increasing addresses. SC2 is similarly configured.

このようなデータ列SAI〜SAr各々は、従来例とし
て第4図に■〜■で示したデータ列と同様の性格を持つ
ものである。従ってSAI〜SAsの各々の内部ではレ
コードはキーワード順に配列されているが、各データ列
相互間にはキーワードの順序関係はない。例えばSAd
内のレコードのキーワードはS^3内のレコードのキー
ワードより大きいとは保証出来ない。
Each of these data strings SAI to SAr has the same characteristics as the data strings shown by ■ to ■ in FIG. 4 as a conventional example. Therefore, although records are arranged in the order of keywords within each of SAI to SAs, there is no order relationship of keywords between each data string. For example, SAd
It cannot be guaranteed that the keyword of the record within is greater than the keyword of the record within S^3.

また、各データ列SAI〜SArは連続するアドレスに
配列しであるが、これは別途にプログラム或いは機構に
より前段階で実行されるソート操作の際、ソート結果の
蓄積領域の間に空き部分の無いように配列しておく。こ
れは記憶領域の有効利用上からも必要であり、ここでは
説明しないソート操作の段階で、このような手順により
2列の記憶領域5A、5Bを生成しておく。
In addition, each data string SAI to SAr is arranged at consecutive addresses, but this is because there is no empty space between the storage areas of the sort results during the sort operation that is executed in the previous stage by a separate program or mechanism. Arrange it like this. This is necessary from the viewpoint of effective use of the storage area, and two columns of storage areas 5A and 5B are generated by such a procedure at the stage of the sorting operation, which will not be explained here.

データマージの動作は処理装置2より制御回路30にデ
ータマージ命令8が発行されることにより開始される。
The data merging operation is started when the processing device 2 issues a data merging command 8 to the control circuit 30.

第1図におけるマージ制御回路3には、第2図において
30番台の記号が付しである回路全部が対応する。
The merge control circuit 3 in FIG. 1 corresponds to all the circuits marked with numbers 30 in FIG. 2.

次に本発明の骨子である、処理装置2より発行されるデ
ータマージ命令8の形式を第3図に示す。処理装置2の
命令語は通常は16あるいは32ビット程度で構成され
る記憶装置の1語を使用するが、ここでは特に命令コー
ドの細部についての定義は行わず、−触性のある形式に
ついてその構成例を説明する。
Next, FIG. 3 shows the format of the data merge command 8 issued by the processing device 2, which is the gist of the present invention. The instruction word of the processing unit 2 normally uses one word in the storage device consisting of about 16 or 32 bits, but we will not specifically define the details of the instruction code here. A configuration example will be explained.

この命令はレジスタ指定による間接指定の形をとり、命
令語の第1のフィールドは命令コードでここには通常公
知の電算機の命令と同様データマージの指令が置かれる
。第2、第3のフィールドはレジスタ指定でR1、R2
の汎用レジスタを指定する。汎用レジスタには予めプロ
グラムがデータマージ操作に必要な指定内容を記入して
おくことは公知の方式と同様である。第2のフィールド
ではR1として図のように2個のレジスタを指定し、こ
こにはマージされたデータの蓄積される第3、第4の記
憶領域6C,60の先頭アドレスと、別に制御回路30
によりマージ実行結果として書き込まれる記憶領域6C
,6D内に蓄積されたレコードの数が記入しである。こ
れは以下に説明するデータ総数の指定と比較して命令が
確実に実行完了したことをを確認するのに使用される。
This instruction takes the form of indirect specification by register specification, and the first field of the instruction word is an instruction code, in which a data merging instruction is placed like a commonly known computer instruction. The second and third fields are specified by registers, R1 and R2.
Specify a general-purpose register. Similar to known methods, the program writes in advance the specified contents necessary for the data merging operation in the general-purpose register. In the second field, two registers are designated as R1 as shown in the figure, and here are the start addresses of the third and fourth storage areas 6C and 60 where the merged data is stored, and separately the control circuit 30.
Storage area 6C written as the merge execution result by
, 6D is filled in. This is used to confirm that the instruction has definitely completed execution by comparing it with the specification of the total number of data described below.

第3のフィールドではR2として図のように3個のレジ
スタを指定する。レジスタ0にはマージのために必要な
情報、ここでは各レコード内におけるキーワードの位置
、キーワードの長さ、レコードの全長等が記入されてい
る。 レジスタ1.2には第1、第2の記憶領域5A、
5Bの先頭アドレス、蓄積しであるレコードの総数m、
n、データ列4A、4Bを構成するレコードの数p、q
が記入されている。
In the third field, three registers are specified as R2 as shown in the figure. Register 0 contains information necessary for merging, including the position of the keyword within each record, the length of the keyword, and the total length of the record. The register 1.2 includes first and second storage areas 5A,
5B start address, total number of accumulated records m,
n, number of records composing data strings 4A and 4B p, q
is entered.

第2図において、処理装置2より第3図のようなデータ
マージ命令8が入力すると制御回路30は処理装置2の
汎用レジスタ(図示せず)よりデータマージ命令に伴う
、本発明実施に必要な情報を読出し、以下のように装置
内の各部に配分する。
In FIG. 2, when a data merge instruction 8 as shown in FIG. The information is read out and distributed to each part within the device as follows.

a、記憶領域5Aの先頭アドレス(R5A)→RSA 
(SAアドレスレジスタ) 、 35Ab、記憶領域5
Bの先頭アドレス(R2O)→RSB (SBアドレス
レジスタ) 、 35BC4記憶領域6Cの先頭アドレ
ス(R5O)→R5O(Soアドレスレジスタ) 、 
36Cd、記憶領域6Dの先頭アドレス(RSI) −
RSI (SLアドレスレジスタ)、36De、レコー
ド数p(RCA) −RCA(Aレコードカウンタ)、
34A f、レコード数q (RCB)→RCB (Bレコード
カウンタ)、34B g、上記レコード数p、qより求めたp+qのイ直 →
I?CC(Cレコードカウンタ)、37h、記憶領域5
A、5Bを構成するレコードの総数m、nは制御回路内
に保持し、マージ動作の終了の判定に使用する。
a. Start address of storage area 5A (R5A) → RSA
(SA address register), 35Ab, storage area 5
Start address of B (R2O) → RSB (SB address register), Start address of 35BC4 storage area 6C (R5O) → R5O (So address register),
36Cd, start address of storage area 6D (RSI) -
RSI (SL address register), 36De, number of records p (RCA) - RCA (A record counter),
34A f, number of records q (RCB) → RCB (B record counter), 34B g, p + q obtained from the above record numbers p and q →
I? CC (C record counter), 37h, storage area 5
The total numbers m and n of records constituting A and 5B are held in the control circuit and used to determine the end of the merge operation.

i、キーワードの位置、長さはキー比較回路10に送ら
れ、レコードよりキーワードを抽出するのに使用する。
i, the position and length of the keyword are sent to the key comparison circuit 10 and used to extract the keyword from the record.

以上、の数値設定が完了することによりデータマージ操
作が開始される。先ずRSA 35A。
The data merging operation starts upon completion of the above numerical settings. First, RSA 35A.

RSB 35Bにより指定される記憶領域5A、5Bの
先頭のレコード、即ちSAI、SBIの各データ列の先
頭のレコードを読み出し、そのキーワードをデータマー
ジ回路9内のキー比較回路10に入力し、大小の比較を
行う。比較の結果小さいと判定された方のレコードは切
替回路11を経由し、マージ結果を蓄積する第3の記憶
領域6C内の、R5O36Cの指示するアドレスに蓄積
される。起動時点において切替回路11は制御回路30
により6C側に設定しておく。
Read the first record of the storage areas 5A and 5B specified by the RSB 35B, that is, the first record of each data string of SAI and SBI, input the keyword to the key comparison circuit 10 in the data merging circuit 9, and compare the size. Make a comparison. The record determined to be smaller as a result of the comparison passes through the switching circuit 11 and is stored at the address designated by the R5O36C in the third storage area 6C for storing merge results. At the time of startup, the switching circuit 11 is connected to the control circuit 30.
Set it to the 6C side.

ルーコードの判定が以上のように完了すると、記憶領域
6Cに蓄積されたレコードを出力した側の、例えば図に
おいては記憶領域5Aよりのレコードが記憶HMi 6
 Cの第1のレコードアドレスに蓄積され、この場合は
RSA 35Aにレコード長を加算し、同時にデータ列
を構成するレコードの数を示すレコードカウンタRCA
 34Aを−1する。また第3の記憶領域6C内で、次
に蓄積されるレコードの位置を示すアドレスレジスタR
SO36Cにもレコード長を加算し、同時に蓄積された
レコードの数を示すレコードカウンタRCC37を−1
し、同時に制御回路30に保持しであるデータ総数mの
値より−1して次の比較に移る。
When the determination of the roux code is completed as described above, the records from the storage area 5A in the figure, for example, the side that outputs the records accumulated in the storage area 6C, are stored in the storage HMi 6.
A record counter RCA that is stored at the first record address of C, in this case RSA 35A plus the record length and at the same time indicates the number of records that make up the data string.
34A is -1. Also, in the third storage area 6C, an address register R indicating the position of the next record to be stored.
The record length is also added to SO36C, and the record counter RCC37, which indicates the number of records stored at the same time, is set to -1.
At the same time, the value of the total number m of data held in the control circuit 30 is subtracted by 1 and the process moves to the next comparison.

前の比較で大きいと判定された方のレコードはそのまま
キー比較回路10に残っており、第3の記憶領域6Cに
蓄積されたレコードを出力した側の記憶領域5A、5B
のアドレスレジスタ RS^35A、RSB 35Bの
何れかは既に次のレコードの先頭アドレスを指示する如
く更新されているので、更新された側のアドレスレジス
タにより次のレコードを読み出し、キー比較回路10に
入力して前記同様に比較、レジスタ、カウンタの更新を
行う。 こうして次々と記憶領域5A 、 5Bよりレ
コードを読み出して比較し記憶領域6Cに順次蓄積する
。第2図にはデータ列SA3とSR3をマージして、そ
の結果であるデータ列が803に蓄積されている場面が
示しである。この結果のデータ列は第3のデータ列7に
示すように、レコードがキーワード順に例えばRA31
−RB31−−−−−RA3pと並んでいる。このよう
にな操作の結果アドレスレジスタR3A 35^、RS
B 35Bは第1、第2の記憶領域5A、 5Bより第
3の記憶領域6Cに送られたレコードの数に応じて加算
され、同時にレコードカウンタRCA 34A、RCB
 34Bは減算されてゆく。また制御回路30内に保持
されているレコード総数m、nも減算されて行く。
The record determined to be larger in the previous comparison remains in the key comparison circuit 10 as it is, and the record accumulated in the third storage area 6C is output to the storage areas 5A and 5B.
Since either address register RS^35A or RSB35B has already been updated to indicate the start address of the next record, the next record is read using the updated address register and input to the key comparison circuit 10. The comparison, register, and counter are updated in the same manner as above. In this way, records are read one after another from the storage areas 5A and 5B, compared, and sequentially stored in the storage area 6C. FIG. 2 shows a scene where data strings SA3 and SR3 are merged and the resulting data string is stored in 803. As shown in the third data string 7, the resulting data string is such that the records are sorted in keyword order, for example RA31.
-RB31-----Aligned with RA3p. As a result of this operation, address register R3A 35^, RS
B 35B is added according to the number of records sent from the first and second storage areas 5A and 5B to the third storage area 6C, and at the same time record counters RCA 34A and RCB are added.
34B is subtracted. The total number of records m and n held in the control circuit 30 is also subtracted.

マージを続けて行くと、やがてレコードカウンタRCA
 34A、RCB 34Bの何れかが0を示すようにな
る。これはそのカウンタが計数している側のレコード列
が終端まで出力したことを示しており、これより以後は
反対側のレコード列の終端まで、無条件で第3の記憶領
域6Cに蓄積すればよい。
As you continue merging, eventually the record counter RCA
34A and RCB 34B will now indicate 0. This indicates that the record string on the side counted by the counter has been output to the end, and from now on, the record string on the opposite side will be stored unconditionally in the third storage area 6C until the end. good.

レコードカウンタRCA 34A、RCB 34Bの双
方共Oになると、ここでデータ列S^1.SB 1のマ
ージが完了したと判定し、その結果は第3の記憶領域6
Cのデータ列501に、p+q個のレコードを含むデー
タ列として蓄積され、次の・データ列SA 2.SR2
のマージに移る。この時制御回路30は切替回路■1を
6C側から60側に切り替える操作を行うことにより、
マージ結果のデータ列の蓄積光を第3の記憶領域6Cか
ら、第4の記憶領域6Dに切替える。
When both the record counters RCA 34A and RCB 34B reach O, the data string S^1. It is determined that the merge of SB 1 is completed, and the result is stored in the third storage area 6.
It is stored in the data string 501 of C as a data string including p+q records, and the next data string SA2. SR2
Move on to merging. At this time, the control circuit 30 switches the switching circuit 1 from the 6C side to the 60 side.
The accumulated light of the data string of the merge result is switched from the third storage area 6C to the fourth storage area 6D.

上記と同様順序によりデータ列SA 2.SB 2がマ
ージされ、第4の記憶領域6Dに、データ列Sllとし
て蓄積される。この時はアドレスレジスタI?S136
Dを使用し、R3O36Cは休止する。
Data string SA in the same order as above 2. SB 2 is merged and stored in the fourth storage area 6D as a data string Sll. At this time, is the address register I? S136
D is used and R3O36C is paused.

以上のような動作をくりかえしてデータマージ命令が実
行され、その結果として第3、第4の記憶領域6C,6
Dにそれぞれマージされたデータ列Sol〜SOK、 
Sll−S1Kが蓄積される。ここで、データ列S01
はデータ列SAIとSBIをマージしたものであり、デ
ータ列Sllはデータ列SA2とSB2をマージしたも
のであることは以上の説明により明らかである。
The data merge command is executed by repeating the above operations, and as a result, the third and fourth storage areas 6C, 6
Data strings Sol to SOK, each merged into D,
Sll-S1K is accumulated. Here, data string S01
It is clear from the above explanation that data string SAI and SBI are merged, and data string Sll is obtained by merging data strings SA2 and SB2.

別途制御回路30に保持しであるレコード総数m、nは
、上記の説明のようにルコード比較が終了する毎に減算
されるのm = n = Qになった時点でマージが終
了したことが判定出来る。且つ、このマージ操作は1命
令で実行出来る。
The total number of records m and n, which are separately held in the control circuit 30, are subtracted every time the code comparison is completed as explained above. It is determined that the merging is completed when m = n = Q. I can do it. Moreover, this merge operation can be executed with one instruction.

また結果として得られた第3、第4の記憶領域6C、6
Dは上記において説明したと同様な手順により、第3図
に示すデータマージ命令の1命令によりマージが実行可
能である。
Furthermore, the resulting third and fourth storage areas 6C and 6
D can be merged by one data merging instruction shown in FIG. 3 using the same procedure as explained above.

以上のように繰り返してゆくと、例えばデータ列が12
8個ある時、従来方式では127命令必要で有ったのが
僅か7命令で完了する。
By repeating the above steps, for example, the data string becomes 12
When there are 8 instructions, the conventional method required 127 instructions, but it can be completed with only 7 instructions.

以上の説明においては記憶領域を4組使用しているが、
これは1個の記憶装置内の別個の4個の領域を使用して
もよく、より高速で有効なデータマージ装置としてはパ
イプライン方式により、4個のバイブラインレジスタを
使用すると極めて有効な手段となる。またm、nとして
レコードの総数を指定したが、全てのデータ列がp、q
個のレコードを収容している保証のある場合はm、  
nの値としてレコードの総数と限らず、データ列の数、
第2図におけるr、  sを指定する方式も本発明の適
用の範囲として容易に想到可能である。
In the above explanation, four sets of storage areas are used.
This may use four separate areas within one storage device, and as a faster and more effective data merging device, a pipeline method using four vibe line registers is an extremely effective method. becomes. Also, the total number of records is specified as m and n, but all data columns are p and q.
m if there is a guarantee that it contains records of
The value of n is not limited to the total number of records, but also the number of data columns,
A method of specifying r and s in FIG. 2 can also be easily conceived within the scope of application of the present invention.

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

本発明の実施により同数のレコードよりなるデータ列を
多数マージする時、全データ列の1段のマージ操作を1
命令により処理することが出来、データマージ命令の発
行回数を顕著に減少することにより、データマージ処理
能力の大幅な向上が実現出来る。
By implementing the present invention, when merging many data strings consisting of the same number of records, one stage of merging operations for all data strings can be performed in one stage.
The data merging processing capability can be significantly improved by significantly reducing the number of times data merging commands are issued.

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

第1図は本発明によるデータマージ方式の原理図、 第2図は本発明によるデータマージ方式の実施例、 第3図は本発明によるデータマージ命令の実施例、 第4図は従来例によるデータマージ方式の例を示す。 第1〜4図において、 1はデータマージ装置、 2は処理装置、 3はマージ制御回路、 4A、4Bは第1、第2のデータ列、 5A、5B、6C,6Dは第1〜第4の記憶領域、7は
第3のデータ列、 8はデータマージ命令、 9はデータマージ回路、 10はキー比較回路、 11は切替回路、 30は制御回路、 34A、34B、37はレコードカウンタ、35A、 
35B、 36C、 36Dはアドレスレジスタを示す
Fig. 1 is a principle diagram of the data merging method according to the present invention, Fig. 2 is an embodiment of the data merging method according to the present invention, Fig. 3 is an embodiment of the data merging instruction according to the present invention, and Fig. 4 is data according to the conventional example. An example of the merge method is shown below. 1 to 4, 1 is a data merging device, 2 is a processing device, 3 is a merge control circuit, 4A, 4B are first and second data strings, 5A, 5B, 6C, and 6D are first to fourth data strings. , 7 is the third data string, 8 is the data merge command, 9 is the data merge circuit, 10 is the key comparison circuit, 11 is the switching circuit, 30 is the control circuit, 34A, 34B, 37 is the record counter, 35A ,
35B, 36C, and 36D indicate address registers.

Claims (1)

【特許請求の範囲】 それぞれソート処理された、p個のレコー ドよりなる第1のデータ列(4A)を複数個、連続する
アドレス順に並べて蓄積する第1の記憶領域(5A)、
q個のレコードよりなる第2のデータ列(4B)を複数
個、連続するアドレス順に並べて蓄積する第2の記憶領
域(5B)と、該第1、第2の記憶領域(5A)(5B
)の先頭より1データ列宛マージ操作により結合し、 上記マージ結果である(p+q)個のレコ ードよりなる第3のデータ列(7)を第3、第4の記憶
領域(6C)(6D)に配分して蓄積するデータマージ
回路(9)と、 処理装置(2)よりのデータマージ命令(8)を受信し
上記のマージ操作を制御するマージ制御回路(3)より
なるデータマージ装置(1)において、 該処理装置(2)が該マージ制御回路(3)に対し発行
するデータマージ命令(8)には、マージ動作に関する
詳細の指令と、 該第1、第2の記憶領域(5A)(5B)の先頭アドレ
スと、 該データ列(4A)(4B)を構成するレコードの数p
、qと、 該第1、第2の記憶領域(5A)(5B)を構成するレ
コードの総数m、nと、 該第3、第4の記憶領域(6C)(6D)の先頭アドレ
スが指示され、 該データマージ回路(9)は、マージ制御回路(3)の
指示により、該第1、第2の記憶領域(5A)(5B)
の先頭より1データ列宛マージ操作を実行し、 マージ結果である該第3のデータ列(7)を該第3、第
4の記憶領域(6C)(6D)の先頭より交互に蓄積し
、 該第1、第2の記憶領域(5A)(5B)に蓄積されて
いる複数のデータ列のマージを1命令により実行するこ
とを特徴とするデータマージ方式。
[Scope of Claims] A first storage area (5A) for storing a plurality of first data strings (4A) each consisting of p records, each sorted and arranged in the order of consecutive addresses;
A second storage area (5B) that stores a plurality of second data strings (4B) consisting of q records arranged in consecutive address order, and the first and second storage areas (5A) (5B).
) from the beginning by merging one data string, and the third data string (7) consisting of (p+q) records, which is the result of the above merging, is transferred to the third and fourth storage areas (6C) (6D). A data merging device (1) consisting of a data merging circuit (9) that allocates and accumulates data in a data merging circuit (9), and a merging control circuit (3) that receives a data merging command (8) from a processing device (2) and controls the above merging operation. ), the data merge command (8) issued by the processing device (2) to the merge control circuit (3) includes a detailed command regarding the merge operation, and the first and second storage areas (5A). The start address of (5B) and the number p of records that make up the data string (4A) (4B)
, q, the total number of records m and n constituting the first and second storage areas (5A) (5B), and the starting addresses of the third and fourth storage areas (6C) (6D) are indicated. According to instructions from the merge control circuit (3), the data merge circuit (9) merges the first and second storage areas (5A) (5B).
Execute a merge operation for one data string from the beginning of , and store the third data string (7), which is the merge result, alternately from the beginning of the third and fourth storage areas (6C) (6D), A data merging method characterized in that a plurality of data strings stored in the first and second storage areas (5A) and (5B) are merged by one instruction.
JP6610487A 1987-03-20 1987-03-20 Data merging system Pending JPS63231620A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6610487A JPS63231620A (en) 1987-03-20 1987-03-20 Data merging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6610487A JPS63231620A (en) 1987-03-20 1987-03-20 Data merging system

Publications (1)

Publication Number Publication Date
JPS63231620A true JPS63231620A (en) 1988-09-27

Family

ID=13306245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6610487A Pending JPS63231620A (en) 1987-03-20 1987-03-20 Data merging system

Country Status (1)

Country Link
JP (1) JPS63231620A (en)

Similar Documents

Publication Publication Date Title
EP0180237B1 (en) Data processor system having look-ahead control
JPH0363096B2 (en)
US3394354A (en) Multiple word random access memory
JPH0576650B2 (en)
JPH0340868B2 (en)
US3964028A (en) System and method for evaluating paging behavior
JPS6122817B2 (en)
JPS63231620A (en) Data merging system
US7069418B2 (en) Method and arrangement for instruction word generation in the controlling of functional units in a processor
GB1073800A (en) Improvements relating to digital data storage systems
JP2595992B2 (en) Electronic musical instrument
JP2531822B2 (en) Instruction read-ahead device
JP2615046B2 (en) Record addition processing method
JPH0254346A (en) File switching processing method
JP2630258B2 (en) Delay optimization method and logic synthesizer
JPS6180447A (en) Store control system of memory
KR830000821B1 (en) Data processing systems
SU1702367A1 (en) Instructions unpacking device
SU525092A1 (en) Control device in multiprocessor computing system
SU864336A1 (en) Logic storage
JPH04190290A (en) Display device for information equipment
JPH02214099A (en) Pointer resetting system
JP2576589B2 (en) Virtual storage access control method
JPS62260242A (en) Large capacity memory device for continuous data
JPS6269321A (en) Process switching system