JPS6162138A - Data processing device - Google Patents
Data processing deviceInfo
- Publication number
- JPS6162138A JPS6162138A JP59183740A JP18374084A JPS6162138A JP S6162138 A JPS6162138 A JP S6162138A JP 59183740 A JP59183740 A JP 59183740A JP 18374084 A JP18374084 A JP 18374084A JP S6162138 A JPS6162138 A JP S6162138A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- buffer
- record
- output
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は、特に関係データベース処理で必要となる関
係演算に好適するデータ処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a data processing device particularly suitable for relational operations required in relational database processing.
[発明の技術的背景とその問題点]
関係データベースにおける主たる処理の1つに、2つの
リレーション間の関係演算がある。関係演算としては、
結合LJoin ) 、制約(RestrictiOn
)、射影(p rojection )などが知られて
いる・。[Technical background of the invention and its problems] One of the main processes in a relational database is a relational operation between two relations. As a relational operation,
join LJoin ), constraint (RestrictiOn
), projection, etc. are known.
この種の関係演算は、一般にソフトウェアにより処理さ
れていた。このため、関係演算に多大の処理時間を要し
ていた。そこで、上記した関係演算の高速化が図れる専
用のハードウェア装置の実現が要望されていた。This type of relational calculation has generally been handled by software. Therefore, a large amount of processing time is required for relational calculations. Therefore, there has been a demand for a dedicated hardware device that can speed up the above-mentioned relational calculations.
[発明の目的]
この発明は上記事情に鑑みてなされたものでその目的は
、関係演算が効率よく行なえる専用ハードウェアとして
のデータ処理装置を提供することにある。[Object of the Invention] The present invention has been made in view of the above circumstances, and its object is to provide a data processing device as dedicated hardware that can efficiently perform relational calculations.
[発明の概要]
この発明では、第1のリレーションを格納する第1バッ
ファと、第2のリレーションを格納する第2バッファと
が設けられる。また、この発明では、演算種別を示すオ
ペレーションコード、および上記第1または第2バッフ
ァのいずれか一方を指定するバッフ1指定ビツトを保持
する第1レジスタと、上記第1または第2バッファに格
納されるリレーションのレコード数を示すレコード数情
報を保持する第2レジスタと、同じくレコード長を示す
レコード長情報を保持する第3レジスタと、上記リレー
ションのキーフィールド長を示すキーフィールド長情報
を保持する第4レジスタとが設けられる。[Summary of the Invention] In the present invention, a first buffer that stores a first relation and a second buffer that stores a second relation are provided. Further, in the present invention, there is provided a first register that holds an operation code indicating the operation type and a buffer 1 designation bit that designates either the first or second buffer; a second register that holds record number information indicating the number of records of the relation; a third register that also holds record length information indicating the record length; and a third register that holds key field length information indicating the key field length of the relation. 4 registers are provided.
゛また、この発明では、上記第1レジスタに保持アのう
ち第1レジスタ内のバッフ7指定ビツトで指定されたバ
ッファに、第2レジスタで指定されるレコード数、およ
び第3レジスタで指定されるレコード長で示されるデー
タ日のリレーションが書込まれる。また、上記第1レジ
スタに保持されたオペレーションコードにより関係演算
が指定さ、 れている場合、上記したロード処理の場合
と同様に、第1または第2バツフ?のうち上記第1レジ
スタ内のバッファ指定ビットで指定されたバッファに、
第2レジスタで指定されるレコード数、および第3レジ
スタで指定されるレコード長で示されるデータ量のリレ
ーションが書込まれる。そして、この書込みと並行して
、第1および第2バツ・ファからそれぞれ1レコードず
つデータを読出すレコード読出し動作が行なわれる。こ
のレコード読出し動作により第1、第2バッファから読
出されるそれぞれ1レコード分のデータは、第3、第4
バッファに一時格納される。゛Furthermore, in the present invention, the number of records specified by the second register and the number of records specified by the third register are stored in the buffer specified by the buffer 7 specification bit in the first register among the held aa in the first register. The relation of the data date indicated by the record length is written. Also, if a relational operation is specified by the operation code held in the first register, the first or second buffer? Of these, the buffer specified by the buffer specification bit in the first register is
A relation of the amount of data indicated by the number of records specified in the second register and the record length specified in the third register is written. In parallel with this writing, a record read operation is performed to read data one record from each of the first and second buffers. By this record read operation, data for one record read from the first and second buffers is read from the third and fourth buffers.
Temporarily stored in a buffer.
また、この発明では、上記第1、第2バツフ1から読出
されるそれぞれ1レコード分のデータを、上記第4レジ
スタで指定されるキーフィールド間で比較する比較回路
が設けられる。そして、比較回路の比較結果、および第
1レジスタに保持されたオペレーションコードに応じ、
第1および第2バッファに対する読出しアドレスの更新
制御、更には第3および第4バッファに一時格納された
レコードの外部への出力制御が行なわれる。Further, in the present invention, a comparison circuit is provided for comparing data for one record each read from the first and second buffers 1 between the key fields designated by the fourth register. Then, according to the comparison result of the comparison circuit and the operation code held in the first register,
Update control of read addresses for the first and second buffers and further output control of records temporarily stored in the third and fourth buffers to the outside are performed.
[発明の実施例]
第1図はこの発明の一実施例に係るマーシャ10の構成
を示し、第2図は第1図のマーシャ10を適用する関係
データベースエンジン(以下、RDBEと称する)の構
成を示す。第2図のRDBEにおいて、11はRDBE
全体を制御するCPU、12は2ウエイ・マージソート
方式を適用するソータ(ソート処理装置)である。ソー
タ12は12段のソート・セル12−0〜12−11か
らなり、最大4にレコードのソート処理が行なえるよう
になっている。[Embodiment of the Invention] FIG. 1 shows the configuration of a marsher 10 according to an embodiment of the present invention, and FIG. 2 shows the configuration of a relational database engine (hereinafter referred to as RDBE) to which the marsher 10 of FIG. 1 is applied. shows. In the RDBE in Figure 2, 11 is the RDBE
A CPU 12 which controls the entire system is a sorter (sort processing device) which applies a two-way merge sort method. The sorter 12 consists of 12 stages of sort cells 12-0 to 12-11, and is capable of sorting records into a maximum of four.
13はソータ12の入力側に設けられ、ソート処理にお
いて比較対象となるキーフィールドをレコードの先頭に
移動するなどのソート前処理を行なうINアライナ(ソ
ート前処理装置)、14はINアライナ−3のソート結
果が正しいか否かを監視するソート・チェッカである。13 is an IN aligner (sort pre-processing device) provided on the input side of the sorter 12 and performs pre-sort processing such as moving key fields to be compared to the beginning of records in sort processing; 14 is an IN aligner 3; This is a sort checker that monitors whether the sort results are correct.
マーシャ10は、ソート・チェッカー4に接続され、ソ
ータ12によりソート処理されている、1つ乃至2つの
リレーション間で、関係演算を高速に実行するように構
成されている。Marsha 10 is connected to sort checker 4 and is configured to perform relational operations at high speed between one or two relations that are being sorted by sorter 12 .
INアライナ−3、ソータ12、ソート・チェッカー4
、およびマーシャ10は、ソート処理と、関係演算処理
を連動して、入力データに同期したパイプライン処理を
行なう専用ハードウェアであるエンジン・コア15を構
成する。16.17はRDBEと図示せぬ階層構造メモ
リサブシステム(以下、HMと称する)とのインタフェ
ースを制御するHMアダプタ(以下、HMAと称する)
である。HM A 1Bは、エンジン・コア15へのデ
ータの入力ボート、HMA17はエンジン・コア15か
らのデータの出力ボートとして動作する。18はCPU
11の入出力バス、1つはDMAバスである。入出力バ
ス18には、マージ710を始めとするエンジン・コア
15の各(14成要素、CP U 11、および1(l
VIA16.17が接続され、DMAバス19には、C
PU11およびHMA16.17が接続される。IN aligner 3, sorter 12, sort checker 4
, and marsha 10 constitute an engine core 15, which is dedicated hardware that performs pipeline processing synchronized with input data by interlocking sorting processing and relational calculation processing. 16.17 is an HM adapter (hereinafter referred to as HMA) that controls the interface between the RDBE and a hierarchical memory subsystem (hereinafter referred to as HM) not shown.
It is. HMA 1B operates as an input port for data to the engine core 15, and HMA 17 operates as an output port for data from the engine core 15. 18 is CPU
There are 11 input/output buses, one of which is a DMA bus. The input/output bus 18 includes each of the engine cores 15 (14 components, including the merge 710, the CPU 11, and the
VIA16.17 is connected, and DMA bus 19 has C
PU11 and HMA16.17 are connected.
マーシャ10は、第1図に示すように、演算部0“PP
と、出力選択部O8Pと、これら演算部OPPおよび出
力選択部O8Pを制御する制御部0NTPとからなる。As shown in FIG.
, an output selection section O8P, and a control section 0NTP that controls these calculation section OPP and output selection section O8P.
演算部○PPにおいて、20Uは第1のリレーションを
格納するU (tJpper)バッファ(以下、Uる入
力レジスタ(INUレジスタ)、21LはL820Lに
書込むデータを保持する入力レジスタ(INLレジスタ
)である。22UはUB20Uからの読出しデータを保
持するレジスタ(tJPRレジスタ)、11.22Lは
LB20Lからの読出しデータを保持するレジスタ(L
OWレジスタ)である。23はUPRレジスタ22Uお
よびLOWレジスタ22[の各内容を比較する比較器(
以下、CMPと称する)、24UはUPRレジスタ22
Uの内容を出力選択部O19側へ伝達する出力レジスタ
(OTUレジスタ)、24シはしOWレジスタ22シの
内容を出力選択部O19側へ伝達する出力レジスタ(O
TLレジスタ)である。251JはUB20Uに対する
書込みポインタとしての書込みアドレスレジスタ(WA
tJレジスタ)、2SLはLB2OLに対する書込みポ
インタとしての書込みアドレスレジスタ(WALレジス
タ)である。26UはUB20Uに対する読出しポイン
タしての読出しアドレスレジスタ(RAtJレジスタ)
、26LはLB2OLに対する読出しポインタとしての
読出しアドレスレジスタ(’RALレジスタ)である。In the arithmetic unit PP, 20U is a U (tJpper) buffer (hereinafter referred to as an input register (INU register)) that stores the first relation, and 21L is an input register (INL register) that holds data to be written to L820L. .22U is a register (tJPR register) that holds the read data from UB20U, and 11.22L is a register (L) that holds the read data from LB20L.
OW register). 23 is a comparator (
(hereinafter referred to as CMP), 24U is the UPR register 22
An output register (OTU register) transmits the contents of U to the output selection unit O19 side, and an output register (OTU register) transmits the contents of the OW register 22 to the output selection unit O19 side.
TL register). 251J is a write address register (WA) as a write pointer for UB20U.
tJ register), 2SL is a write address register (WAL register) as a write pointer to LB2OL. 26U is a read address register (RAtJ register) as a read pointer for UB20U
, 26L is a read address register ('RAL register) as a read pointer for LB2OL.
WAUレジスタ25tJ%WALレジスタ25L1(B
tJUレジスタ) 、271はRALレジスタ26Lの
内容を保持するバックアップレジスタ(BULレジスタ
)である。28tJはWAUレジスタ25UおよびRA
Uレジスタ26tJの各内容を比較する比較器(CMP
)、28LはWALレジスタ25LおよびRALレジス
タ26Lの各内容を比較する比較器(CMP)である。WAU register 25tJ% WAL register 25L1 (B
tJU register), 271 is a backup register (BUL register) that holds the contents of the RAL register 26L. 28tJ is WAU register 25U and RA
A comparator (CMP
), 28L is a comparator (CMP) that compares the contents of the WAL register 25L and the RAL register 26L.
29UはWAUレジスタ25UまたはRAUレジスタ2
6LIの内容を1J8201Jに対するメモリアドレス
として選択するマルチプレクサ、29mはWALレジス
タ25LまたはRALレジスタ26Lの内容をLB2O
Lに対するメモリアドレスとして選択するマルチプレク
サである。29U is WAU register 25U or RAU register 2
A multiplexer 29m selects the contents of 6LI as the memory address for 1J8201J, and 29m selects the contents of WAL register 25L or RAL register 26L as LB2O.
This is a multiplexer that selects the memory address for L.
第1図の出力選択部O8Pにおいて、30UはUB2(
HJからの1レコード分のデータを格納するりレコード
バッファ (LIRB30) 、 30LはLB2OL
からの1レコード分のデータを格納するしレコードバッ
ファ(LRB30)である。31UハO丁LIL/ジス
タ24Uの内容をLIR830Uに対する書込みデータ
として保持する入力レジスタ(INURレジスタ)、3
1LはOTLレジスタ24Lの内容をLR,830Lに
対する書込みデータとして保持する入力レジスタ(IN
LRレジスタ)である。32はURB301JまたはL
RB3oLからの読出しデータを還択するマルチプレク
サ、33はマルチプレクサ32がらの選択出力データを
ラッチする出力レジスタ(800丁レジスタ)である。In the output selection section O8P in FIG. 1, 30U is UB2(
Record buffer (LIRB30) stores data for one record from HJ, 30L is LB2OL
This is a record buffer (LRB 30) that stores data for one record from . Input register (INUR register) that holds the contents of register 24U as write data to LIR830U, 3
1L is an input register (IN) that holds the contents of OTL register 24L as write data for LR and 830L.
LR register). 32 is URB301J or L
The multiplexer 33 returns the read data from the RB3oL, and the reference numeral 33 is an output register (800 register) that latches the selected output data from the multiplexer 32.
34U G、t IJ RB 30Uに対する書込みポ
インタとしての書込みアドレスレジスタ(WAURレジ
スタ) 、34Llt L RB 3OLに対する書込
みポインタとしての書込みアドレスレジスタ(WALR
レジスタ)である。35UはLJRB30tJに対する
読出しポインタとしての読出しアドレスレジスタ(RA
URレジスタ)、35LはLR830Lに対する読出し
ポインタとしての読出しアドレスレジスタ(RALRレ
ジスタ)である。WAURレジ゛スタ34USwALR
レジスタ34L1RAtJRレジスタ35U1およびR
ALRレジスタ35Lは、カウンタ機能を有する。36
UはWAURレジスタ34UまたはRAURレジスタ3
5Uの一内容をIJ RB 30Uに対するメモリアド
レスとして選択するマルチプレクサ0.361はWAL
Rレジスタ34LまたはRALRレジスタ35Lの内容
をLRB30Lに対するメモリアドレスとして選択する
マルチプレクサである。34U G,t IJ RB Write address register (WAUR register) as a write pointer for 30U, 34Llt L RB Write address register (WALR) as a write pointer for 3OL
register). 35U is a read address register (RA) as a read pointer for LJRB30tJ.
UR register), 35L is a read address register (RALR register) as a read pointer for LR830L. WAUR register 34USwALR
Register 34L1RAtJR Register 35U1 and R
ALR register 35L has a counter function. 36
U is WAUR register 34U or RAUR register 3
Multiplexer 0.361 which selects one content of 5U as the memory address for IJ RB 30U is WAL
This is a multiplexer that selects the contents of the R register 34L or the RALR register 35L as the memory address for the LRB 30L.
゛(MOPレジスタ)である。MOPレジスタ39には
、第3図に示すように、マージ演算の指定を行なう5ビ
ツトのマージ演算指定コード(MRG−;′:。、っ−
1)、ツーF、□指定t8ツー、順指定ビット(AS1
0Sビット)、およびUB20tJまたはLB20Lを
指定するバッファ指定ビット(U/Lビット)を含むマ
ージ演算指定情報が設定される。この例では、AS/D
S−0で昇順が、AS/DS−1で降順が指定される。(MOP register). As shown in FIG. 3, the MOP register 39 contains a 5-bit merge operation designation code (MRG-;':.,
1), two F, □ designation t8 two, order designation bit (AS1
0S bit) and a buffer designation bit (U/L bit) that designates UB20tJ or LB20L. In this example, AS/D
Ascending order is specified by S-0, and descending order is specified by AS/DS-1.
また、U/L−〇でLJB201.Iが、U/L−1で
LB20Lが指定される。Also, U/L-〇 is LJB201. I is U/L-1 and LB20L is specified.
40はc p u iiに対するインタフェースである
入出力インタフェース、41は入出力インタフェース4
0に設けられたコマンドレジスタ(CMDレジスタ)で
ある。CMDレジスタ41には、CP U 11からの
指定により、8ビツトのコマンドデータが設定される。40 is an input/output interface which is an interface to c p u ii, 41 is an input/output interface 4
This is a command register (CMD register) provided at 0. 8-bit command data is set in the CMD register 41 according to a designation from the CPU 11.
このコマンドデータの第0ビツトは、第4図に示すよう
に、レジスタ指定ビット(REG、INOビット)であ
る。REG、INDビットは、コマンドデータの第0〜
第7ビツトが、マーシャ10内のレジスタ(のレジスタ
番号)を指定するデータとして用いられる(REG、I
ND=・・:
1.の場合)か、或はコマンドデータ本来の動作指゛定
データとして用いられる(REG、IND−0−の場合
)かを指定する。REG、lN0−○の場合、第4図に
示すように、コマンドデータの第2ピツトはエンジン・
コア15のリセットを指定するリセット指定ビット(R
3Tビット)、第3ビツトはエンジン・コア15の起動
を指定するエンジン起動指定ビット(ENG、Goビッ
ト)、第4とットはマーシャ10のみの起動を指定する
マーシャ起動指定ビット(MRG、Goビット)、第6
ビツトはRAUレジスタ26Uおよび後述するFUEM
P52LIのクリアを指定するUリトライ指定ビット(
LIRTRYビット)、第7ビツトはRALレジスタ2
61および後述するFLEMP52Lのクリアを指定す
るしりトライ指定ビット(LRTRYピット)として用
いられる。なお、上記した各ビットの動作指定は、論理
“1′′で有効である。The 0th bit of this command data is a register designation bit (REG, INO bit), as shown in FIG. The REG and IND bits are the 0th to IND bits of the command data.
The 7th bit is used as data that specifies (the register number of) the register in marsher 10 (REG, I
ND=...: 1. (in the case of REG, IND-0-) or used as the original operation instruction data of the command data (in the case of REG, IND-0-). In the case of REG, lN0-○, as shown in Figure 4, the second pit of the command data is the engine
Reset designation bit (R
3T bit), the third bit is an engine start designation bit (ENG, Go bit) that specifies startup of the engine core 15, and the fourth bit is a marshaller startup designation bit (MRG, Go bit) that designates startup of only the marsher 10. bit), 6th
The bit is the RAU register 26U and the FUEM described later.
U retry specification bit that specifies clearing of P52LI (
LIRTRY bit), the 7th bit is RAL register 2
61 and is used as a last try designation bit (LRTRY pit) that designates clearing of FLEMP52L, which will be described later. Note that the operation designation of each bit described above is valid at logic "1''.
再び第1図を参照すると、42はUB20UまたはLB
20Lに格納されるリレーション(ストリーム)の総レ
コード数TRNを示すトータルレコード数レジスタ(T
RNレジスタ) 、43UはUB20Uに格納されるリ
レーションのレコード長R8Uを示すレコードサイズレ
ジスタ(R3Uレジスタ)、・°チブレクサ、45はマ
ルチプレクサ44からの選択出力データを初期値として
ロードし、UB20UまたはLB2OLへの書込み時に
カウントダウンされるライトカウンタ(WRCカウンタ
)、46はTRNレジスタ42の内容を初期値としてロ
ードし、W R。Referring to FIG. 1 again, 42 is UB20U or LB
The total record number register (T
RN register), 43U is a record size register (R3U register) indicating the record length R8U of the relation stored in UB20U, ・°Cibrexa, 45 loads the selected output data from multiplexer 44 as an initial value, and loads it to UB20U or LB2OL. A write counter (WRC counter) 46, which counts down when writing WR, loads the contents of the TRN register 42 as an initial value, and loads the contents of the TRN register 42 as an initial value.
Cカウンタ45からのボロー信号に応じてカウントダウ
ンされるレコード数カウンタ(STCカウンタ)である
。47はマージ演算において比較対象となる、レコード
内キーフィールド長(有効データ長VDL)を示す有効
データ長レジスタ(VDLレジスタ)、48はVDLレ
ジスタ47の内容を初期値としてロードし、LB20U
(およびLB20七)からのデータ読出し時にカウント
ダウンされる有効データ長カウンタ(VCTカウンタ)
である。This is a record number counter (STC counter) that counts down in response to a borrow signal from the C counter 45. 47 is a valid data length register (VDL register) indicating the key field length (effective data length VDL) in the record, which is to be compared in the merge operation; 48 is a register that loads the contents of the VDL register 47 as an initial value;
Valid data length counter (VCT counter) that counts down when reading data from (and LB207)
It is.
MOPレジスタ39、CMDレジスタ41、TRNレジ
スタ42、RSUレジスタ43U、R8Lレジスタ43
LSおよびV’DLレジスタ47は、第2図のCPU1
1により、予めセットアツプ可能である。MOP register 39, CMD register 41, TRN register 42, RSU register 43U, R8L register 43
The LS and V'DL registers 47 are the CPU 1 in FIG.
1, it can be set up in advance.
49UはR8Uレジスタ43Uの内容を初期値してカウ
ントダウンされるリードカウンタ(RCL力−ウンタ)
である。50UはRCUカウンタ49Uからのボロー信
号に応じてセットされ、U320LIからの読出しデー
タが1レコードの最後のデータであることを示すレコー
ドエンドフラグ(FUEフラ゛(
1−夕が1レコードの最後のデータであることを示すレ
コードエンドフラグ(FLEフラグ)である651Uは
UB20Uへの書込みが完了したことを示す書込み完了
フラグ(FUWEDフラグ)、51LはLB2OLへの
書込みが完了したことを示す書込み完了フラグ(FLW
EDフラグ)である。52UはUB20Uが空状態とな
ったことを示すエンプティフラグ(FUEMPフラグ)
、52LはLB20Lが空状態となったことを示すエン
プティフラグ(FLEMPフラグ)である。53UはU
320LIからのデータの外部出力を指示する出力指示
フラグ(FUoフラグ) 、53LはLB20Lからの
データの外部出力を指示する出力指示フラグ(PLOフ
ラグ)してのレジスタ(O3UAレジスタ)、54Lは
LRB3OLからの読出しレコードに対する第1の切出
し位置を指定する切出しポインタとしてのレジ・i
ネタ(oSLAレジスタ)、55UはURB30Uかb
の読出しレコードに対する第2の切出し位置を指定する
切出しポインタとしてのレジスタ(O8:UBレジスタ
)、55LはLRB30Lからの読出し1レコードに対
する第2の切出し位置を指定する切I出しポインタとし
てのレジスタ(O8LBレジスタ)である。56はU
RB 30LIまたはLRB30Lからのデータ読出し
時にカウントアツプされるカウンタ(CTRカウンタ)
、57UはCTRカウンタ56および○SUAレジス
タ54Uの各内容を比較する比較器(CMP)、57L
はCTRカウンタ56および08LAレジスタ541の
各内容を比較する比較器(CMP)である。58LJは
CTRカウンタ56およびosusレジスタ55Uの各
内容を比較する・比較器(CMP)、58LはCTRカ
ウンタ56および08LBレジスタ55Lの各内容を比
較する比較器(CMP)、59UはCTRカウンタ56
およびR8Uレジスタ43tJの各内容を比較する比較
器(CMPン、59シはCTRカウンタ56およびR3
Lレジスタ43Lの各内容を比較する比較器(CMP)
テアル。oSUAレジスタ54U1oSUBレジスタ5
5LI、08LAレジスタ54L、031Bレジスタ5
5Lは、第2図のCP U 11により、予めセット−
フラグ50UおよびFLEフラグ50シ、更にはCMl
、61はMOPレジスタ39およびCMDレジスタ41
の内容に応じ、制御タイミング発生回路60からのスタ
ート指示のタイミングで各部をクリアするクリア回路で
ある。62はCMP23の比較結果およびVCTCTR
ウンタからの出力により、LIB20UおよびLB2O
Lからの各1レコードのキーフィールドの比較結果を確
定する比較制御部、63は第2図のCP U 11に対
する割込みを発生する割込み制御部である。64は外部
へのデータの出力制御を行なう出力iti!I ’10
部、65はMOPレジスタ39の内容および比較制御部
62の比較確定結果に応じ、制御タイミング発生回路6
0からの指示に従ったタイミングで、UB20Uの読出
し制御、LB20Lの読出し制御、割込み制御、および
出力制御などのための各種制御信号を発生する制御信号
発生回路である。49U is a read counter (RCL counter) that counts down by initializing the contents of the R8U register 43U.
It is. 50U is set in response to a borrow signal from RCU counter 49U, and is a record end flag (FUE flag) indicating that the data read from U320LI is the last data of one record. The record end flag (FLE flag) 651U indicates that writing to UB20U has been completed (FUWED flag), and 51L is a write completion flag (FUWED flag) indicating that writing to LB2OL has been completed. FLW
ED flag). 52U is an empty flag (FUEMP flag) indicating that UB20U is empty.
, 52L is an empty flag (FLEMP flag) indicating that LB20L is in an empty state. 53U is U
320LI is an output instruction flag (FUo flag) that instructs external output of data, 53L is a register (O3UA register) as an output instruction flag (PLO flag) that instructs external output of data from LB20L, 54L is from LRB3OL. Register i neta (oSLA register) as an extraction pointer that specifies the first extraction position for the read record of
55L is a register (O8: UB register) as a cutout pointer that specifies the second cutout position for one record read from LRB 30L. register). 56 is U
Counter (CTR counter) that counts up when reading data from RB30LI or LRB30L
, 57U is a comparator (CMP) that compares the contents of the CTR counter 56 and the SUA register 54U, 57L
is a comparator (CMP) that compares the contents of the CTR counter 56 and the 08LA register 541. 58LJ is a comparator (CMP) that compares the contents of the CTR counter 56 and the osus register 55U, 58L is a comparator (CMP) that compares the contents of the CTR counter 56 and the 08LB register 55L, and 59U is the CTR counter 56.
and a comparator that compares the contents of the R8U register 43tJ (CMP, 59 is the CTR counter 56 and R3
Comparator (CMP) that compares each content of the L register 43L
Teal. oSUA register 54U1 oSUB register 5
5LI, 08LA register 54L, 031B register 5
5L is set in advance by the CPU 11 in FIG.
Flag 50U and FLE flag 50S, as well as CMl
, 61 are MOP register 39 and CMD register 41
This is a clearing circuit that clears each section at the timing of a start instruction from the control timing generation circuit 60 according to the contents of. 62 is the comparison result of CMP23 and VCTCTR
By the output from the counter, LIB20U and LB2O
A comparison control section 63 determines the comparison result of the key field of each record from L. Reference numeral 63 is an interrupt control section that generates an interrupt to the CPU 11 in FIG. 64 is an output iti! that controls the output of data to the outside. I'10
A control timing generation circuit 65 operates according to the content of the MOP register 39 and the comparison result of the comparison control unit 62.
This is a control signal generation circuit that generates various control signals for UB20U readout control, LB20L readout control, interrupt control, output control, etc. at timings according to instructions from 0.
次に、第5図の割込み制御部63周辺の構成を、第6図
を参照して説明する。第6図において、66はMOPレ
ジスタ39からのU/Lビットが入力さ1、らのU/L
ビットとSTCカウンタ46からのボロi゛
;−信号とが入力されるアンドゲート(A)である。Next, the configuration around the interrupt control section 63 in FIG. 5 will be explained with reference to FIG. 6. In FIG. 6, 66 indicates the U/L bit from the MOP register 39 is input.
This is an AND gate (A) into which the bit and the BORO i';- signal from the STC counter 46 are input.
FUWEDフラグ51UはA671J、FLWEDフラ
グ51LはA67Lからの出力信号に応じ・、セラ1−
される。68UはCMP28(Jの比較結果(一致検出
信号)およびFUWEDフラグ51Uからの出力信号が
入力されるアンドゲート(A)、68mはCMP28L
の比較結果(一致検出信号)およびF LWEDフラグ
51Lからの出力信号が入力されるアンドゲート(A)
である。691JはA68Uからの出力信号を制御タイ
ミング発生回路60からの指定タイミングでゲートする
ゲート、69LはA68Lからの出力信号を制御タイミ
ング発生回路60からの指定タイミングでゲートするゲ
ートである。FUEMPフラグ52Uはゲート69U、
FLEMPフラグ52Lはゲート69Lからの出力信号
に応じ、セットされる。70はMOPレジスタ39の内
容(マージ演算指定情報)をデコードするデコーダであ
る。デコーダ70は、マージ演算指定情報がUB20U
への第1のリレーションのO−ドを指定している場合に
、WEDフラグ51Uからの出力信号が入力されるアン
ドゲート(A)、72Lはデコーダ70からのローj゛
°ド信号71mとFLWEDフラグ51Lからの出力信
゛漬が入力されるアンドゲート(A)である。73Uは
制御信号発生回路65からの割込み許可信号741Jと
FLJEMPフラグ521Jからの出力信号とが入力−
されるアンドゲート(A)、73Lは制御信号発生°回
路65からの割込み許可信号74LとFLEMPフ、:
?グ52Lからの出力信号とが入力されるアントゲ−ニ
ド(A)である。割込み許可信号74U、74Lは、M
OPレジスタ39の内容に応じて制御信号発生回路65
から発生される。例えば、5ORT (ソート)系演算
やRESTRICT (制約)系演算が指定されている
場合には、割込み許可信号74U、74Lが出力され、
JOIN(結合)系演算が指定されている場合には割込
み許可信号74Uだけが指定される。また、PASS
(パス)系演算が指定されている場合には、U/L=O
(即ちtJB20tJ指定)であれば割込み許可信号7
4Uが、U/L=1 (即ちLB20L指定)であれば
割込み許可信号74Lが。The FUWED flag 51U corresponds to the output signal from A671J, and the FLWED flag 51L corresponds to the output signal from A67L.
be done. 68U is an AND gate (A) into which the comparison result (coincidence detection signal) of CMP28 (J and the output signal from the FUWED flag 51U is input), 68m is CMP28L
AND gate (A) into which the comparison result (coincidence detection signal) and the output signal from the F LWED flag 51L are input.
It is. 691J is a gate that gates the output signal from A68U at a specified timing from the control timing generation circuit 60, and 69L is a gate that gates the output signal from A68L at a specified timing from the control timing generation circuit 60. FUEMP flag 52U is gate 69U,
FLEMP flag 52L is set in response to the output signal from gate 69L. A decoder 70 decodes the contents of the MOP register 39 (merge operation designation information). The decoder 70 has merge operation specification information UB20U.
AND gate (A) to which the output signal from the WED flag 51U is input when the O-mode of the first relation is specified, and the output signal from the WED flag 51U is input. This is an AND gate (A) into which the output signal from the flag 51L is input. 73U receives the interrupt enable signal 741J from the control signal generation circuit 65 and the output signal from the FLJEMP flag 521J.
The AND gate (A) 73L is the interrupt enable signal 74L from the control signal generation circuit 65 and the FLEMP gate:
? This is an antogenide (A) to which the output signal from the plug 52L is input. The interrupt permission signals 74U and 74L are M
Control signal generation circuit 65 according to the contents of OP register 39
generated from. For example, if 5ORT (sort) type operations or RESTRICT (constraint) type operations are specified, interrupt permission signals 74U and 74L are output,
If a JOIN type operation is specified, only the interrupt permission signal 74U is specified. Also, PASS
(Path) If system operation is specified, U/L=O
(i.e. tJB20tJ specified), interrupt enable signal 7
If 4U is U/L=1 (that is, LB20L is specified), the interrupt enable signal 74L is output.
出力される。75はA72U、A72L、A73U、お
よ−びA73Lからの各出力信号が入力されるオアゲー
’ト(OR)、76は0R75からの出力信号に応じて
割込みを発生する割込み発生回路である。Output. 75 is an OR gate (OR) into which each output signal from A72U, A72L, A73U, and A73L is input, and 76 is an interrupt generation circuit that generates an interrupt in response to the output signal from 0R75.
次に、第5図のクリア回路61周辺の構成を、第7図を
参照して説明する。第7図において、77はゲート(A
)、78LはMoPレジスタ39からのU/LピッI・
と上記ENG、Goビットとが入力されるアンドゲート
(A)である。79UはA78Uからの出力信号とCM
Dレジスタ41からのR3Tビットとが入力されるオア
ゲート(OR)、79LはA78Lからの出力信号と上
記R8Tビットとが入力されるオアゲート(OR)であ
る。80Uは0R79Uからの出力信号とCMDレジス
タ41からのURTRYビットとが入力されるオアゲー
ト(OR)、80Lは0R79Lからの出力信号とCM
Dレジスタ41からのLRTRYピットとが入力される
オアゲート(OR)である。81Uは、0R79Uから
の。Next, the configuration around the clear circuit 61 in FIG. 5 will be explained with reference to FIG. 7. In FIG. 7, 77 is a gate (A
), 78L is the U/L pin I from the MoP register 39.
This is an AND gate (A) to which the above ENG and Go bits are input. 79U is the output signal from A78U and CM
An OR gate (OR) 79L receives the R3T bit from the D register 41 and an OR gate (OR) receives the output signal from the A78L and the R8T bit. 80U is an OR gate (OR) into which the output signal from 0R79U and the URTRY bit from the CMD register 41 are input, and 80L is the output signal from 0R79L and the CM
This is an OR gate (OR) into which the LRTRY pit from the D register 41 is input. 81U is from 0R79U.
出力信号を、WAUレジスタ25UおよびFUWEDフ
ラグ51tJに対するクリア信号として、制御タイミン
グ発生回路60からの指定タイミングでゲートするゲー
ト、81Lは、0R79Lからの出力信号を、WALレ
ジスタ251およびFLWEDフラグ51Lに対するク
リア信号として、制御タイミング発生回路60からの指
定タイミングでゲートするゲートである。82Uは、0
R80Uからの出力信号を、“RAUレジスタ26Uお
よびFUEMPフラグ52Uに対するクリア信号として
、制御タイミング発生回路60からの指定タイミングで
ゲートするゲート、82Lは、OR’80Lからの出力
信号を、RALレジ、二゛詠夕2GlおよびFLEMP
フラグ52Lに対するり1j;
iシア信号として、制御タイミング発生回路60から°
、の指定タイミングでゲートするゲートである。A gate 81L gates the output signal as a clear signal for the WAU register 25U and the FUWED flag 51tJ at a specified timing from the control timing generation circuit 60, and uses the output signal from the 0R79L as a clear signal for the WAL register 251 and the FLWED flag 51L. This is a gate that is gated at a specified timing from the control timing generation circuit 60. 82U is 0
Gate 82L gates the output signal from R80U as a clear signal for the RAU register 26U and FUEMP flag 52U at the specified timing from the control timing generation circuit 60.゛Eiyu 2Gl and FLEMP
1j for flag 52L;
This is a gate that gates at the specified timing of .
次に、第5図の出力制御部64周辺の構成を、第8図を
参照して説明する。第8図において、83はFUOフラ
グ53U、53Lの状態に応じてU RB 30U、3
0Lからのデータの出力順を制御する出力シーケンス制
御部、841JはU RB 30tJからのデータ読出
しを制御するURB読出し制御部、84LはLRB30
Lからのデータ読出しを制御するLRB読出し制御部で
ある。URB読出し制御部84U、84Lは、出力シー
ケンス制御部83からの読出し開始指示に応じてレコー
ド読出し制御動作を開始し、第1図のCMP59U、5
9mの比較結果(一致検出信号)に応じて読出し制御動
作を停止する。また、FUOフラグ53U、 53Lは
、制御信号発生回路65からの出力指示信号85U、8
5Lに応じてセットする。86はtJRB読出し制御部
84U、84Lからの(ROUTレジスタ33用の)ス
トローブ信号87U。Next, the configuration around the output control section 64 in FIG. 5 will be explained with reference to FIG. 8. In FIG. 8, 83 indicates U RB 30U, 3 according to the states of FUO flags 53U, 53L.
841J is an output sequence control unit that controls the output order of data from 0L, 841J is a URB read control unit that controls data read from URB 30tJ, and 84L is LRB 30.
This is an LRB read control unit that controls data read from L. The URB readout control units 84U and 84L start record readout control operations in response to a readout start instruction from the output sequence control unit 83, and the CMPs 59U and 5 in FIG.
The read control operation is stopped according to the comparison result (coincidence detection signal) of 9m. Further, the FUO flags 53U and 53L are output instruction signals 85U and 85 from the control signal generation circuit 65.
Set according to 5L. 86 is a strobe signal 87U (for the ROUT register 33) from the tJRB read control units 84U and 84L.
871が入力されるオアゲート、88はOR8Bからの
1+
・出力信号をゲートしてROLITレジスタ33に出力
、iるゲート、89は切出し制御部である。切出し制御
部品89は、出力シーケンス制御部83からの指示に従
い、CMP57U、58UまたはCMP57L、58L
の比較結果を監視し、その監視結果に応じてゲート88
を制御する。871 is an input OR gate, 88 is a gate that gates the 1+ output signal from OR8B and outputs it to the ROLIT register 33, and 89 is an extraction control section. According to instructions from the output sequence control section 83, the cutting control component 89 selects CMP57U, 58U or CMP57L, 58L.
gate 88 according to the monitoring result.
control.
次に、上記した構成の動作を、第2図に示すソータ12
の容量を越えるソート処理(これを外部ソー、□8)、
)。□、9、□9゜□ ′□”13図を参照して説
明する。Next, the operation of the above configuration will be explained using the sorter 12 shown in FIG.
Sorting processing that exceeds the capacity of (this is an external sort, □8),
). □、9、□9゜□ ′□” This will be explained with reference to FIG.
まず、外部ソートの概念について説明する。第2図のR
DBEでは、ソータ12の容量を越えるリレーション(
ストリーム、ファイル)のソートは、外部ソート曙能を
利用して行なわれる。この際、ソート対象となるリレー
ションは、図示せぬHMから読出され、HM A 16
、INアライナ13を介してソータ12に導かれる。そ
して、ソータ12により、そのバッファサイズ単位にソ
ートされた後、ソート・チェッカ14を介してマーシャ
10に導かれ、同マーシャ10により、更に大きな単位
でソートされる。上記した外部ソートの手順の概略を第
9図に示す。即ち、ソート対象となる原リレーションを
A1とすると、外部ソートの手順の概略は、以下に分割
し、A11〜A1n(この例ではn−4)を得る。First, the concept of external sorting will be explained. R in Figure 2
In DBE, relations exceeding the capacity of the sorter 12 (
Streams, files) are sorted using an external sort function. At this time, the relations to be sorted are read from the HM (not shown), and the relations to be sorted are read from the HM (not shown).
, are guided to the sorter 12 via the IN aligner 13. After being sorted by the sorter 12 into buffer size units, the data are led to the marsher 10 via the sort checker 14, where they are sorted into larger units. FIG. 9 shows an outline of the above-described external sorting procedure. That is, assuming that the original relation to be sorted is A1, the outline of the external sort procedure is divided as follows to obtain A11 to A1n (n-4 in this example).
■A11〜A14を、ソータ12によりそれぞれソート
し、A21〜A24を得る。(2) Sort A11 to A14 by the sorter 12 to obtain A21 to A24.
■A21. A22をマーシャ10によりソートし、A
31、32を得る。同様に、A23. A24からA3
3.A34を得る。■A21. Sort A22 by Marsha 10, and
Obtain 31 and 32. Similarly, A23. A24 to A3
3. Get A34.
■(A31. A32)と(A33. A34)とを2
組のリレーションとしてマーシャ10によりソートし、
最終的に原リレーションA1がソートされたリレーショ
ンA4を得る。■ (A31. A32) and (A33. A34) are 2
Sorted by Marcia 10 as a pair relation,
Finally, a relation A4 obtained by sorting the original relation A1 is obtained.
このように、ソータ12の容量を越えるリレーションの
ソートは、まずソート対象リレーションを、ソータ12
の容量の単位に分割し、マーシャ10を用いて2組の分
割リレーションごとの外部ソートを行なうことから始め
られる。この動作が繰返されると、最終的に、サブリレ
ーション811. S12゜・・・31nからなる第1
のリレーションS1’(第9図の例では、A31. A
32からなるリレーション)とサブリレーションS21
.822.・・・32mからなる第レーションS1およ
び第2のリレーションS2を、る第2のリレーションS
2に対する外部ソートの場合を例にとり、第11図乃至
第13図を参照して説明する。なお、第1・1図は上記
した外部ソートを実行するためのコマンドの列と、これ
ら各コマンドによる起動時および終了時におけるFUW
EDフラグ51U、WAUレジスタ25U、RAUし・
ラスタ26U、FLWEDフラグ51L、WALレジス
タ25L、RALレジスタ26Lの各内容(状態)との
対応関係を示す。第11図において■〜のはコマンドの
実行順を示す。また、第12図は第11図に示す各コマ
ンドの実行終了時のUB20UおよびLB20Lへの書
込み位置(実線)並びに工売出し位置く破線)の変化を
説明する図、第13図は外部ソート(SORT−EX演
算)が指定されている場合の制御信号発生回路65の入
出力論理を示す図である。まず、811に対するセット
アツプが、−夕は、マーシャ10内の入出力インタフェ
ース40に設けられたCMDレジスタ41に保持される
。この場合のコマンドデータは、その第0ビツト、即ち
REG、INDビットが論理It 111に設定されて
おり、マーシャ10内のレジスタ(レジスタ番号)を指
定している。CPU11は、上記したコマンドデータに
より、レジスタ指定を行なうと、該当レジスタにセット
すべきデータ(セットアツプデータ)をライト信号と共
に入出力バス18上に送出する。しかして、入出力バス
18上のデータは、CMDレジスタ41に保持されてい
るコマンドデータで指定された、マーシャ10内の対応
するレジスタに、ライト信号に応じてセットされる。In this way, when sorting relations that exceed the capacity of the sorter 12, first the relations to be sorted are
The process starts by dividing the data into units of capacity, and using the marsher 10 to perform external sorting for each of the two sets of divided relations. When this operation is repeated, finally sub-relations 811. The first consisting of S12゜...31n
relation S1' (in the example in Figure 9, A31.A
relation consisting of 32) and sub-relation S21
.. 822. . . . A second relation S consisting of the second relation S1 and the second relation S2 consisting of 32 m
Taking as an example the case of external sorting for 2, a description will be given with reference to FIGS. 11 to 13. In addition, Figure 1.1 shows the sequence of commands for executing the above-mentioned external sort, and the FUW at startup and termination by each of these commands.
ED flag 51U, WAU register 25U, RAU
The correspondence relationship with each content (state) of the raster 26U, FLWED flag 51L, WAL register 25L, and RAL register 26L is shown. In FIG. 11, ``■'' to ``1'' indicate the order of execution of commands. Furthermore, FIG. 12 is a diagram explaining changes in the write position (solid line) and output position (broken line) to UB20U and LB20L at the end of execution of each command shown in FIG. 11, and FIG. -EX operation) is specified, the input/output logic of the control signal generation circuit 65 is shown. First, the setup for 811 is held in the CMD register 41 provided in the input/output interface 40 in the marsher 10. In this case, the command data has its 0th bit, ie, the REG and IND bits, set to logic It 111, and specifies a register (register number) within the marsher 10. When the CPU 11 specifies a register using the above-mentioned command data, it sends data to be set in the corresponding register (setup data) onto the input/output bus 18 along with a write signal. Thus, the data on the input/output bus 18 is set in the corresponding register in the marsher 10 specified by the command data held in the CMD register 41 in response to the write signal.
この例では、CMDレジスタ41は、REG、INDビ
ットが論理+1111の場合、CP U 11からのラ
イト信号に応じてカウントアツプされるようになってい
る。したがって、セットアツプ対象となるレジスタのレ
ジスタ番号が連続している場合には、一旦マージャ10
の機器指定を行なってコマンドデータを転送した後は、
単に所望のデータ(七Uを指定する論理“0″のU/L
ビットを含むマージ演算指定情報(LOAD (U)コ
マンド)がセットされ、03tJAレジスタ54Uにレ
コードの先頭フィールド位置を示す情報がセットされ、
08UBレジスタ551Jにレコードの最終フィールド
位置を示す情報(即ち、レコード長RS U )’がセ
ットされる。また、R8Uレジスタ43Uにレコード長
R8U (第1のリレーションS1内の各レコードのレ
コード長)がセットされ、VDLレジスタ47にレコー
ド内キーフィールド長を示す有効データ長VDLがセッ
トされ、TRNレジスタ42に811の総レコード数T
RNがセットされる。なお、R8LI、VDL、TRN
としては、実際には(真値−1)が採用されている。In this example, the CMD register 41 is configured to count up in response to a write signal from the CPU 11 when the REG and IND bits are logic +1111. Therefore, if the register numbers of the registers to be set up are consecutive,
After specifying the device and transferring the command data,
Just the desired data (U/L of logic “0” specifying 7U)
Merge operation specification information (LOAD (U) command) including bits is set, information indicating the first field position of the record is set in the 03tJA register 54U,
Information indicating the last field position of the record (ie, record length RSU)' is set in the 08UB register 551J. In addition, the record length R8U (record length of each record in the first relation S1) is set in the R8U register 43U, the effective data length VDL indicating the key field length in the record is set in the VDL register 47, and the TRN register 42 is set in the R8U register 43U. Total number of records T of 811
RN is set. In addition, R8LI, VDL, TRN
, (true value - 1) is actually adopted.
次に、c p u iiは、再びマーシャ10を機器指
定して、今度はREG、INDビットが論理“OIIの
コマンドデータを、マーシャ10の入出力インタフェー
ス40内のCMDレジスタ41にセットせしめる。この
コマンドデータは、その第3ビツト、即ちENG、Go
ビットが論理゛1″に設定されたするGOコマンドであ
り、HM A 16からのリレーション(ストリームデ
ータ)をINアライナ13、。Next, c p u ii specifies the marsher 10 as a device again, and this time sets command data with the REG and IND bits being logic "OII" to the CMD register 41 in the input/output interface 40 of the marsher 10. The command data has its third bit, ENG, Go.
This is a GO command with the bit set to logic ``1'' and the relation (stream data) from HMA 16 to IN aligner 13.
ソータ12、ソート・チェッカ14を介してマージャ1
0に入力し、マージ演算を施してHM A 17へ出力
するときに使用される。この場合、マーシャ10は、L
JB20UまたはLB20Lに新たに格納されるデータ
を用いてデータ処理を行なうことになる。これに対し、
マーシャ10だけに対するGoコマンドとして、MRG
、Goコマンドが用意されている。Merger 1 via sorter 12 and sort checker 14
It is used when inputting 0, performing a merge operation, and outputting to HMA 17. In this case, Marsha 10 is L
Data processing will be performed using data newly stored in JB20U or LB20L. In contrast,
As a Go command for Marsha 10 only, MRG
, Go commands are provided.
このMRG、GOコマンドでは、UB20UまたはLB
20Lに既に格納されている有意データに対して処理が
行なわれる。In this MRG, GO command, UB20U or LB
Processing is performed on significant data already stored in 20L.
マーシャ10は、CMDレジスタ41にセットされたE
NG、Goコマンドにより起動される。このとき、クリ
ア回路61により、WAtJレジスタ25tJ、RAI
Jレジスタ261J、FUWEDフラグ51U1および
FUEMPフラグ52tJがクリア(リセット)される
。即ち、MOPレジスタ39にセットされた。Marsha 10 receives the E set in CMD register 41.
It is activated by the NG and Go commands. At this time, the clear circuit 61 causes the WAtJ register 25tJ, RAI
The J register 261J, FUWED flag 51U1, and FUEMP flag 52tJ are cleared (reset). That is, it is set in the MOP register 39.
マージ演算指定情報のU/Lビットが論理“O″、CM
Dレジスタ41にセットされたコマンドデータ(但しR
EG、IND−0)内のENG、Goビットが論理“1
″の場合、クリア回路61内のA78Uのアンド条件が
成立し、A78Uから論理111 IIの信号が出力さ
れる。A78Uからの論理II 1 ITの信号は、O
R79tJを介してゲート81Uに導かれると共に、0
R79U、 80Uヲ介シテケート82Uニ導かれる。U/L bit of merge operation specification information is logic “O”, CM
Command data set in D register 41 (however, R
ENG, Go bit in EG, IND-0) is logic “1”
'', the AND condition of A78U in the clear circuit 61 is satisfied, and the logic 111 II signal is output from A78U. The logic II 1 IT signal from A78U is O
It is guided to the gate 81U via R79tJ, and 0
R79U and 80U are connected to 82U.
ゲート81tJ、82Uは1.制御タイミング発生回路
60のスタートタイミング発生前能によるクリアタイミ
ングで、上記論理゛1″の信号をゲートする。ゲート8
1tJからの論理11111の信号はWAIJレジスタ
25UおよびFUWEDフラグ51Uに導かれ、ゲート
82Uからの論理゛1”の信号はRAUレジスタ26U
およびFUEMPフラグ52Uに導かれる。これにより
、WAUレジスタ25U1RAUレジスタ26U、FL
IWEDフラグ51U1およびFIJEMPフラグ52
Uがクリアされる。この状態で、マーシャ10は、MO
Pレジスタ39内のLOAD(U)コマンドで指定され
たデータ処理を、エンジン・コア15への入力に同期し
た速度で行な5・′)″−″1′″9°゛T″11j1
〜・ II +1マーシヤ10では、LOAD
(U)コマンドに応じ、主制御部38の制御により、U
B20Uヘデータ(この例では511)を格納する動作
が行なわれる。Gates 81tJ and 82U are 1. The logic "1" signal is gated at the clear timing by the start timing pre-occurrence function of the control timing generation circuit 60. Gate 8
The logic 11111 signal from 1tJ is led to the WAIJ register 25U and the FUWED flag 51U, and the logic "1" signal from the gate 82U is routed to the RAU register 26U.
and is guided by the FUEMP flag 52U. As a result, WAU register 25U1 RAU register 26U, FL
IWED flag 51U1 and FIJEMP flag 52
U is cleared. In this state, Marsha 10
Data processing specified by the LOAD (U) command in the P register 39 is performed at a speed synchronized with the input to the engine core 15.
~・ In II +1 Marcia 10, LOAD
(U) In response to the command, U
An operation is performed to store data (511 in this example) into B20U.
所定バイト単位で一定周期で供給される。ソート・チェ
ッカ14からのデータは、ソート・チェッカ14からの
出力周期に同期してINUレジスタ21Uに保持され、
U B 20tJに導かれる。LOAD (Ll)コマ
ンドの場合、主制御部38は、WAUレジスタ25LI
を用いてU B 20Uに対するデータ書込みを行なう
。即ち、主制御部38内の図示せぬ書込み制御部は、I
NUレジスタ21Uに保持されるデータを、マルチプレ
クサ29tJにより選択されたWAUレジスタ25Uで
指定されている、UB20Uのそのアドレスに書込み、
WALJレジスタ25tJを+1する書込み制御を繰返
し行なう。WAUレジスタ25Uは、上記したように起
動時にリセットされており(第。It is supplied at regular intervals in units of predetermined bytes. The data from the sort checker 14 is held in the INU register 21U in synchronization with the output cycle from the sort checker 14,
Guided by U B 20tJ. In the case of the LOAD (Ll) command, the main control unit 38 outputs the WAU register 25LI
Data is written to U B 20U using. That is, a write control section (not shown) in the main control section 38 controls the I
Writes the data held in the NU register 21U to the address of the UB 20U specified by the WAU register 25U selected by the multiplexer 29tJ,
Write control to increment the WALJ register 25tJ by 1 is repeatedly performed. The WAU register 25U is reset at startup as described above (No.
11図参照)、シたがってS11はUB20Uの0番地
から順に書込まれる。11), therefore, S11 is written in order from address 0 of the UB 20U.
U320Uへのデータ書込みの場合、主制御部38はそ
の動作開始時に、R8Uレジスタ43Uの内容(レコー
ド長R3U)をマルチプレクサ44を介してWRCカウ
ンタ45にセットし、TRNレジスタ42の内容(総レ
コード数TRN)をSTCカウンごだの最終データの書
込み時にアンダフロー状態と1°ご
、なり、ボロー信号を出力する。WRCカウンタ45ド
jからのボロー信号はSTCカウンタ46に導かれ、′
これによりSTCカウンタ46は−1される。このため
、STCカウンタ46は、S11の最終レコードの最終
データの書込み時にアンダフロー状態となり、ボロー信
号を出力する。STCカウンタ46からのボロー信号は
A67U、87Lの一端に共通に導かれる。A67Uの
他端には、MOPレジスタ39内のU/Lビットがイン
バータ66を介して導かれ、A67Lの他端には、上記
U/Lビットがそのまま導かれる。したがって、U/L
=Oであるこの例では、A 137Uのアンド条件が成
立し、A 67UからFUWEDフラグsiuに対し、
論理゛1″の信号が出力される。これにより、FUWE
Dフラグ51Uはセットされる(第11図の■LOAD
(U)、ENG、Goコマンドの欄参照)。主制御部
38内の書込み制御部は、STCカウンタ46からのボ
ロー信号により、書込み制御動作を停止する。この結果
、WAUレジスタ25Uは、311の(R終しコ当レジ
スタの内容が、サブリレーションの(最終−こ
i”、Vコードの)最終データの格納アドレスとなるこ
l−+、t
2.件を、「endJで示している。When writing data to the U320U, the main control unit 38 sets the contents of the R8U register 43U (record length R3U) to the WRC counter 45 via the multiplexer 44 at the start of its operation, and writes the contents of the TRN register 42 (total number of records) to the WRC counter 45 via the multiplexer 44. TRN) becomes an underflow state by 1° when writing the final data of the STC counter, and outputs a borrow signal. The borrow signal from the WRC counter 45 is led to the STC counter 46,
As a result, the STC counter 46 is decremented by one. Therefore, the STC counter 46 enters an underflow state when writing the final data of the final record in S11, and outputs a borrow signal. The borrow signal from the STC counter 46 is commonly led to one end of A67U and 87L. The U/L bit in the MOP register 39 is led to the other end of A67U via the inverter 66, and the U/L bit is led as is to the other end of A67L. Therefore, U/L
In this example where =O, the AND condition of A 137U is satisfied, and from A 67U to the FUWED flag siu,
A logic “1” signal is output. This causes the FUWE
The D flag 51U is set (■LOAD in Fig. 11).
(See the columns for the (U), ENG, and Go commands). The write control section in the main control section 38 stops the write control operation in response to the borrow signal from the STC counter 46. As a result, the contents of the WAU register 25U (311) become the storage address of the final data of the sub-relation (last - koi'', V code).1-+, t2. The matter is indicated by "endJ".
”7FUWEDフラグ51Uからのセット出力信号は、
A72Uの一端に導かれる。A72Uの他端には、デコ
ーダ70からのロード信号71Uが導かれる。デコーダ
70は、MOPレジスタ39M0Pレジスタ39の内容
をデコードしており、この例のようにLOAD(U)コ
マンドの場合、論理II 1 IIのロード信号711
Jを出力する。したがって、この例では、FUWEDフ
ラグ51Uのセットにより、A72Uのアンド条件が成
立し、A72Uカら(LOAD (U)コマンドの実行
によるUB20Uへの書込み完了を示す)論理u 1
ITの信号が出力される。A72Uからの論理“1°°
の信号は、OR75を介して割込み発生回路7Gに導か
れ、これにより割込み発生回路76はc p u it
に対する割込みを発生する。CPU11は、マーシャ1
0(内の割込み発生回路76)からの割込みを受付ける
と、マーシャ10内の図示せぬステータスレジスタ(こ
のレジスタはFUWEDフラグ51U、FLWEDフラ
グりIL1FUEMPフラグ52U、FLEMPフラグ
52シなどからなる)の内容の読出しを行ない、割込み
要因の判別を行なう。"7The set output signal from the FUWED flag 51U is
You will be guided to one end of A72U. A load signal 71U from the decoder 70 is guided to the other end of A72U. The decoder 70 decodes the contents of the MOP register 39M0P register 39, and in the case of a LOAD (U) command as in this example, the load signal 711 of logic II 1 II
Output J. Therefore, in this example, by setting the FUWED flag 51U, the AND condition of A72U is satisfied, and from A72U (indicating completion of writing to UB20U by executing the LOAD (U) command) logic u 1
The IT signal is output. Logic “1°° from A72U
The signal is led to the interrupt generation circuit 7G via the OR 75, thereby causing the interrupt generation circuit 76 to
Generates an interrupt. The CPU 11 is Marsha 1
When an interrupt from 0 (internal interrupt generation circuit 76) is accepted, the contents of a status register (not shown) in marsha 10 (this register consists of FUWED flag 51U, FLWED flag, IL1FUEMP flag 52U, FLEMP flag 52, etc.) is read and the cause of the interrupt is determined.
CPU11は、マーシャ10からのステータスの読取り
により、UB20Uへのサブリレーション(S11)の
書込みの完了を判断すると、次のサブリレーション、即
ち第2のリレーション内の821に関するセットアツプ
を行なう。この場合のセットアツプは、前記したS11
に関するセットアツプと略同様である。なお、有効デー
タ長VDLは、第1のリレーション$1および第2のリ
レーションS2の各レコードにおいて共通であるため、
S11の場合を除いてセットアツプは不要である。した
がって、321の場合のセットアツプ対象レジスタは、
MoPレジスタ39、oSLAレジスタ54L10SL
Bレジスタ55L、R3Lレジスタ43シ、およびTR
Nレジスタ42となる。但し、MOPレジスタ39には
、外部ソートを指定するMRG−OPコード、ソート類
を指定するAs10Sピツト、LB20Lを指定する論
理″“1″のU/Lビットを含むマージ演算指定情報(
SORT−EX (L)コマンド)がセットされる。そ
して、マーシャ10内のCMDレジスタ41に、3ii
の場合と同様に、ENG、Goコマンドがセットされる
ことにより、マーシャ10が再び起動される。このとき
、クリア回路61により、WALレジスタ25L、RA
Lレジスタ26L、FLWEDフラグ51L1およびF
LEMPフラグ52シがクリア(リセット〉される。即
ち、MOPレジスタ39にセットされたマージ演算指定
情報のU/Lビットが論理゛1”、CMDレジスタ41
にセットされたコマンドデータ(但しREG。When the CPU 11 determines that writing of the sub-relation (S11) to the UB 20U is completed by reading the status from the Marsha 10, it performs setup regarding the next sub-relation, that is, 821 in the second relation. The setup in this case is S11 described above.
This is almost the same as the setup for Note that since the effective data length VDL is common to each record of the first relation $1 and the second relation S2,
No setup is required except in the case of S11. Therefore, in the case of 321, the registers to be set up are:
MoP register 39, oSLA register 54L10SL
B register 55L, R3L register 43, and TR
This becomes the N register 42. However, the MOP register 39 contains merge operation specification information (
SORT-EX (L) command) is set. Then, 3ii
Similarly to the above case, the Marsha 10 is started again by setting the ENG and Go commands. At this time, the clear circuit 61 clears the WAL register 25L, RA
L register 26L, FLWED flag 51L1 and F
The LEMP flag 52 is cleared (reset). That is, the U/L bit of the merge operation designation information set in the MOP register 39 is logic "1", and the CMD register 41
Command data set in (REG).
IND−0)内のENG、Goビットが論理11111
の場合、クリア回路61内のA78Lのアンド条件が成
立し、A78Lから論理111 IIの信号が出力され
る。A78Lからの論理″゛1″の信号は、0R79L
を介してゲート81Lに導かれると共に、0R791゜
80Lを介してゲート821に導かれる。ゲート81L
。ENG, Go bit in IND-0) is logic 11111
In this case, the AND condition of A78L in the clear circuit 61 is satisfied, and a logic 111 II signal is output from A78L. The logic “1” signal from A78L is 0R79L.
It is led to the gate 81L through 0R791°80L, and to the gate 821 through 0R791°80L. Gate 81L
.
82Lは、制御タイミング発生回路60のスタートタイ
ミング発生1m能によるクリアタイミングで、上記論理
II 1 IIの信号をゲートする。ゲート81Lから
の論理“1″の信号はWALレジスタ25LおよびFL
WEDフラグ51mに導かれ、ゲート82Lからの論理
゛1″の信号はRALレジスタ26シおよびFLEMP
フラグ52Lに導かれる。これにより。82L gates the logic II 1 II signal at the clear timing by the start timing generation 1m function of the control timing generation circuit 60. The logic “1” signal from gate 81L is sent to WAL register 25L and FL.
The logic "1" signal from the gate 82L is guided by the WED flag 51m and is sent to the RAL register 26 and FLEMP.
It is guided by flag 52L. Due to this.
WALレジスタ25L1RALレジスタ26L、FLW
EDフラグ51L、およびFLEMPフラグ52Lがク
リアされる。この状態で、マーシャ10は、M0Pレジ
スタ39内の5ORT−EX (L)コマンドで指定さ
れたデータ処理を行なう。このデータV−タ(この例で
は521)を格納する動作が行なわれる。、この際、対
応するデータ(321)は、ソーータ12からソート・
チェッカ14を経由して、マーシャ10に所定バイト単
位で一定周期で供給され、この供給周期に同期してIN
Lレジスタ21Lに保持される。5ORT−EX (L
)コマンドの場合、マージt10の主制御部38内の図
示せぬ書込み制御部は、WALレジスタ25Lを用いて
IJ B 20LIに対するデータ書込みを行なう。即
ち、主制御部38内の書込み制御部は、INUレジスタ
21Lに保持されるデータを、WALレジスタ2SLで
指定されるLB2OLのそのアドレスに書込み、WAL
レジスタ25Lを+1する書込み制御を繰返し行なう。WAL register 25L1 RAL register 26L, FLW
The ED flag 51L and FLEMP flag 52L are cleared. In this state, marsha 10 performs data processing specified by the 5ORT-EX (L) command in M0P register 39. An operation is performed to store this data V-data (521 in this example). , At this time, the corresponding data (321) is sorted from the sorter 12.
A predetermined byte unit is supplied to the marsher 10 at a constant cycle via the checker 14, and IN is synchronized with this supply cycle.
It is held in the L register 21L. 5ORT-EX (L
) command, a write control unit (not shown) in the main control unit 38 of the merge t10 writes data to the IJ B 20LI using the WAL register 25L. That is, the write control unit in the main control unit 38 writes the data held in the INU register 21L to the address of LB2OL specified by the WAL register 2SL, and
Write control to increment the register 25L by 1 is repeatedly performed.
WALレジスタ25Lは、起動時にリセットされており
(第11図の■5ORT−EX、εNG、G。The WAL register 25L is reset at startup (■5ORT-EX, εNG, G in FIG. 11).
コマンドの欄参照)、シたがって321はLB20Lの
O番地から類に書込まれる。(See command column), therefore 321 is written to the class from address O of LB20L.
LB2OLへのデータ書込みの場合、主制御部38はそ
の動作開始時に、R3Lレジスタ43シの内容−ドの最
終データの書込み時にアンダフロー状態となり、ボロー
信号を出力する。WRCカウンタ45からのボロー信号
はSTCカウンタ46に導かれ、これによりSTCカウ
ンタ46は−1される。このため、STCカウンタ46
は、321の最終レコードの最終データの書込み時にア
ンダフロー状態となり、ボロー信号を出力する。STC
カウンタ46からのボロー信号はA67U、67Lの一
端に共通に導かれる。A67Uの他端には、MOPレジ
スタ39内 (ltのU/Lビットがインバータ6
6を介して導かれ、A67Lの他端には、上記U/Lビ
ットがそのまま導かれる。したがって、U/L−1であ
るこの例では、A67Lのアンド条件が成立し、A67
LからFLWEDフラグ51Lに対し、論理111 I
Iの信号が出力される。これにより、FLWEDフラグ
51しはセットされる(第11図の■5ORT−EX(
L’) 、ENG、Goコマンドの欄参照)。主制示し
た状態(end)でカウントアツプ動作を停止すること
になる。In the case of writing data to LB2OL, the main control unit 38 enters an underflow state when writing the final data of the contents of the R3L register 43 at the start of its operation, and outputs a borrow signal. The borrow signal from the WRC counter 45 is guided to the STC counter 46, and the STC counter 46 is thereby decremented by -1. For this reason, the STC counter 46
becomes an underflow state when writing the final data of the final record of 321, and outputs a borrow signal. STC
The borrow signal from the counter 46 is commonly led to one end of A67U and 67L. At the other end of A67U, the U/L bit in the MOP register 39 (lt) is connected to the inverter 6
The U/L bit is directly connected to the other end of A67L. Therefore, in this example, which is U/L-1, the AND condition of A67L is satisfied, and A67
L to FLWED flag 51L, logic 111 I
I signal is output. As a result, the FLWED flag 51 is set (■5ORT-EX in Fig. 11).
L'), ENG, see the Go command column). The count-up operation will be stopped when the main control is indicated (end).
この例では、tJ B20LI (L 820Lンに対
するリード/ライト動作は、時分割で行なわれる。即ち
、マーシャ10における1動作サイクルは、リードサイ
クルと、ライトサイクルとに2分されて使用される。5
ORT−EX (L)コマンドの場合、主制御部38内
の図示せぬ読出し制御部は、WALレジスタ25Lの内
容WALおよびRALレジスタ26Lの内容RALを比
較するCMP28L、並びにWAUレジスタ25LIの
内容WALI、8よびRALIレジスタ26tJの内容
RALJを比較するCMP28Uの比較結果を監視して
いる。そして、RAL<WAL。In this example, read/write operations for tJ B20LI (L 820L) are performed in a time-division manner. That is, one operation cycle in marsha 10 is divided into a read cycle and a write cycle.5
In the case of the ORT-EX (L) command, a read control unit (not shown) in the main control unit 38 executes a CMP 28L that compares the content WAL of the WAL register 25L and the content RAL of the RAL register 26L, and the content WALI of the WAU register 25LI, 8 and the contents RALJ of the RALI register 26tJ are monitored. And RAL<WAL.
RAU<WAUであれば、読出し制御部はL82OLか
らのデータ読出しが可能であるものと判断し、リードサ
イクルにおいて、RALレジスタ26Lを用いたL82
OLからのデータ読出し、およびRAUレジスタ26U
を用いたUB20LJからのデータ読出しを同時に行な
い、しかる後RAUレジスタ26U、RALレジスタ2
6Lの内容を+1する。この−20Lへのデータ■込み
を行なう。そして、上記した動作が繰返される。RAU
レジスタ26U、RALレジスタ2GLは、前記したよ
うに起動時にリセットされており(第11図参照)、シ
たがってUB20USLB20Lからのデータ読出しは
○番地から行なわれる。If RAU<WAU, the read control unit determines that data can be read from L82OL, and in the read cycle, reads data from L82OL using RAL register 26L.
Data read from OL and RAU register 26U
Data is read from the UB20LJ using the RAU register 26U and RAL register 2 simultaneously.
Add 1 to the contents of 6L. Data is loaded into this -20L. Then, the above operation is repeated. RAU
As described above, the register 26U and the RAL register 2GL are reset at startup (see FIG. 11), so data is read from the UB20USLB20L starting from address ○.
UB20U、LB2OLからのデータ読出しにおいては
、1レコードの先頭データの読出しに際し、RAUレジ
スタ26U、RALレジスタ26Lの内容がBUUレジ
スタ27U、BULレジスタ27Lに、R8LIレジス
タ431J1R8Lレジスタ43Lの内容がRCUカウ
ンタ49U、RCLカウンタ49Lに、そしてVDLレ
ジスタ47の内容がVCTカウンタ48に、主制御部3
8内の制御タイミング発生回路60からの1レコード処
理開始の指定タイミングでロードされる。RCtJカウ
ンタ49LJ1RCLカウンタ49L1およびVCTカ
ウンタ48は、UB20U、L820Lからのデータ読
出し毎に−1される。この例では、マーシャ10に供給
されるレコードは、INアライナ13により、比較対象
となるキーフィールドがその先頭となるように前処理を
施されて信号を出力する。VCTカウンタ48からのボ
ロー信号は、比較制御部62に導かれる。また、RCU
カウンタ49U、RCLカウンタ49Lは、レコード長
がR3UのU側しコード、レコード長がR8LのL側し
コードの最終データの読出し時にアンダフロー状態とな
り、レコードエンドを示すボロー5:!信号を出力する
。RCUカウンタ49U、RCL力゛ウンタ49Lから
のボロー信号はFUEフラグ50U、’jFc+=フラ
グ50Lに導かれる。これにより同フラグ50U、50
Lがレットし、1レコードの最終データの読出しである
ことが示される。When reading data from UB20U and LB2OL, when reading the first data of one record, the contents of RAU register 26U and RAL register 26L are stored in BUU register 27U and BUL register 27L, and the contents of R8LI register 431J1R8L register 43L are stored in RCU counter 49U, The contents of the VDL register 47 are sent to the RCL counter 49L, and the contents of the VDL register 47 are sent to the VCT counter 48.
The data is loaded at the specified timing from the control timing generation circuit 60 in 8 to start processing one record. RCtJ counter 49LJ1 RCL counter 49L1 and VCT counter 48 are decremented by 1 every time data is read from UB20U and L820L. In this example, the records supplied to the marsher 10 are preprocessed by the IN aligner 13 so that the key field to be compared is at the beginning, and a signal is output. A borrow signal from the VCT counter 48 is guided to a comparison control section 62. Also, R.C.U.
The counter 49U and RCL counter 49L go into an underflow state when reading the final data of the U-side code with a record length of R3U and the L-side code with a record length of R8L, and the borrow 5:! indicates the end of the record. Output a signal. Borrow signals from the RCU counter 49U and RCL power counter 49L are guided to the FUE flag 50U and 'jFc+=flag 50L. As a result, the same flag 50U, 50
L is let, indicating that the final data of one record is to be read.
UB20U、LB20Lから読出されたデータは、UP
Rレジスタ22U、LOWレジスタ22シに保持される
。IJPRレジスタ22U、LOWレジスタ22Lの保
持データはCMP23に導かれる。また、UPRレジス
タ22U、LOWレジスタ22Lの保持データはOTU
レジスタ24U、oTLレジスタ24Lを介してI N
URレジスタ31U、INLRレジスタ31Lにも導か
れ、同レジスタ31U、31Lに保持される。The data read from UB20U and LB20L is
It is held in the R register 22U and the LOW register 22S. The data held in the IJPR register 22U and LOW register 22L is led to the CMP 23. In addition, the data held in the UPR register 22U and LOW register 22L is OTU
I N via register 24U and oTL register 24L
It is also guided to the UR register 31U and INLR register 31L, and held in the same registers 31U and 31L.
CMP23は、UPRレジスタ22U、LOWレジスタ
22Lからの両データの大小を比較する。CMP23の
比較結果は、主制御部38内の比較制御部62に導かれ
る。比較制御部62には、■CTカウンタ48からのキ
ーフィールドエンドを示すボロー信号2、ド)との指定
キーフィールド間での比較結果を確定し、CMP23の
比較結果を制御信号発生回路・、65に伝える。これに
対し、tJ−Lの場合には、比ニー゛結果を確定するこ
とはできないため、次のデータに対する比較結果が与え
られるまで、比較結果の確定を控える。但し、VCTカ
ウンタ48からのボロー信号により、キーフィールドの
終了(キーフィールドエンド)を検出した場合には、U
=Lを確定し、CMP23からの一致検出結果を制御信
号発生回路65に伝える。なお、上記の説明で、UはU
B20Uからの読出しデータを示し、LはLB2OLか
らの読出しデータを示す。The CMP 23 compares the magnitude of both data from the UPR register 22U and the LOW register 22L. The comparison result of CMP 23 is led to comparison control section 62 within main control section 38 . The comparison control unit 62 determines the comparison result between the specified key fields with the borrow signal 2 indicating the end of the key field from the CT counter 48, and sends the comparison result of the CMP 23 to the control signal generation circuit 65. tell to. On the other hand, in the case of tJ-L, since the comparison result cannot be determined, the determination of the comparison result is refrained from being determined until the comparison result for the next data is given. However, if the end of the key field (key field end) is detected by the borrow signal from the VCT counter 48, the U
=L, and transmits the match detection result from the CMP 23 to the control signal generation circuit 65. In addition, in the above explanation, U is U
Indicates read data from B20U, and L indicates read data from LB2OL.
一方、INURレジスタ31tJ、INLRレジスタ3
1Lに保持されたUB20U、LB20Lからの読出し
データは、CMP23による比較動作と並行して、IJ
R830U、LRB30L1.:書込まれる。このU
RB50U SL RB50Lに対する書込みアドレス
は、RAURレジスタ35U、35mによって1旨定さ
れる。RAURレジスタ35USRALRレジスタ35
シは、1レコード分の書込みに際しクリアされるように
なっており、したがってUB20U、LB20Lからの
読出しデータは、URB30USLRB〜、301.L
のO番地から書込まれる。On the other hand, INUR register 31tJ, INLR register 3
The read data from UB20U and LB20L held in 1L is transferred to IJ in parallel with the comparison operation by CMP23.
R830U, LRB30L1. : Written. This U
RB50U SL The write address for RB50L is set to 1 by the RAUR registers 35U and 35m. RAUR register 35 USRALR register 35
is cleared when one record is written, so the data read from UB20U and LB20L is URB30USLRB~, 301. L
is written from address O.
;主制御部38内の制御タイミング発生回路60は、F
tJEフラグ50UおよびFLEフラグ50Lの状態を
監視している。そして、制御タイミング発生回路60は
、FUEフラグ50UおよびFLEフラグ50Lが共に
セット状態となったことを検出すると、即ちU側しコー
ド、L側しコードのうちレコード長の長い方のレコード
の最終データの読出しを検出すると、(U RB 30
UまたはLRB30Lからの1レコードの読出し出力が
可能となったとして)制御信号発生回路65に各種制御
信号の出力のタイミング指示を与える。制御信号発生回
路65は、制御タイミング発生回路60からの指定タイ
ミングで、MOPレジスタ39に保持されているマージ
演算指定情報中のMRG−OPコードおよびAs/DS
ビット、および比較制御部62からの比較確定結果に応
じ、UB201J1LB20Lに対する読出しアドレス
、割込み制御部63、および出力制御部64などを制御
する各種制御信号を発生する。好適な実施例において、
制御信号発生回路65はROMである。;The control timing generation circuit 60 in the main control section 38 is
The states of the tJE flag 50U and FLE flag 50L are monitored. When the control timing generation circuit 60 detects that both the FUE flag 50U and the FLE flag 50L are set, that is, the final data of the record with the longer record length of the U-side code and the L-side code is detected. When detecting the reading of (U RB 30
(assuming that reading and outputting one record from the U or LRB 30L is possible) gives timing instructions for outputting various control signals to the control signal generating circuit 65. The control signal generation circuit 65 generates the MRG-OP code and As/DS in the merge operation specification information held in the MOP register 39 at the specified timing from the control timing generation circuit 60.
Depending on the bit and the comparison result from the comparison control section 62, various control signals are generated to control the read address for the UB201J1LB20L, the interrupt control section 63, the output control section 64, and the like. In a preferred embodiment,
Control signal generation circuit 65 is a ROM.
制御信号発生回路65は1、MRG−OPコードによっ
て外部ソートが指定されている場合(即ち、ち昇順ソー
トが指定されているものとすると、制御信号発生回路6
5は、比較結果がU=LまたはUj< Lの場合には、
UB20Uから次のレコードが読出され、LB20Lか
ら現レコードが再度読出されるように指示する制御信号
を出力する。この制御信号は、例えば、RAUレジスタ
26U1RALレジスタ26Lへのロード信号であり、
この場合には、RALレジスク26Lへのロード信号が
出力される。The control signal generation circuit 65 is set to 1 when external sorting is specified by the MRG-OP code (that is, assuming that ascending order sorting is specified), the control signal generation circuit 65 is set to 1.
5, if the comparison result is U=L or Uj<L,
The next record is read from the UB 20U, and a control signal is output from the LB 20L instructing the current record to be read again. This control signal is, for example, a load signal to the RAU register 26U1RAL register 26L,
In this case, a load signal to the RAL register 26L is output.
RALレジスタ26Lへのロード信号が出力された場合
、(レコード処理開始時にRALレジスタ26Lから)
BULレジスタ27Lにロードされた現レコードの先頭
アドレスが、RALレジスタ26L・にロードされる。When the load signal to the RAL register 26L is output (from the RAL register 26L at the start of record processing)
The start address of the current record loaded into the BUL register 27L is loaded into the RAL register 26L.
これにより、前記したLI820Lからのデータ読出し
と同様にして、現レコードを先頭データより順に再び読
出すことが可能となる。This makes it possible to read out the current record again in order from the first data in the same way as reading data from the LI 820L described above.
一方、RAtJレジスタ26Uについては、次のデータ
のアドレス(この場合には、次のレコードの先頭アドレ
ス)を示しており、同等変化はない。この場合、前記し
たUB20Uからのデータ読出しと同様にして、次のレ
コードを先頭データより順に読出すことが可能となる。On the other hand, the RAtJ register 26U indicates the address of the next data (in this case, the start address of the next record), and there is no equivalent change. In this case, the next record can be sequentially read from the first data in the same manner as the data reading from the UB 20U described above.
また、制御信号発生回路65は、URB301Jに書込
まれたレコードの出力を指示する有効な(論理゛1″の
)出力指示信号85Uを出力する。これに対し、比較結
果がu >L l’、 +□1の場合には、tJ
B20Uから現レコードが再度続出され、LB20Lか
ら次のレコードが読出されるように指示する制御信号を
出力し、更にLRB301に書込まれたレコードの出力
を指示する有効な(論理゛1″の)出力指示信号85m
を出力する。Further, the control signal generation circuit 65 outputs a valid (logical 1'') output instruction signal 85U that instructs the output of the record written in the URB 301J.On the other hand, if the comparison result is u > L l' , in the case of +□1, tJ
The current record is output from B20U again, the next record is read from LB20L, and a valid (logical 1) signal is output that instructs the output of the record written to LRB301. Output instruction signal 85m
Output.
また、制御信号発生回路65は、比較結果およびAS/
DSS/上の状態に無関係に、有効な割込み許可信号7
4U、74Lを出力する。Further, the control signal generation circuit 65 outputs the comparison result and the AS/
Interrupt enable signal 7 valid regardless of state on DSS/
Outputs 4U and 74L.
今、制御信号発生回路65からの制御信号により、LJ
B20Uからの次のレコードの読出しおよびLa2O2
からの現レコードの読出しが指示されると共に、論理I
I I ITの出力指示信号85LIが出力されたもの
とする。制御信号発生回路65からの論理+11 II
の出力指示信号85Uは、FUOフラグ53Uに導かれ
、これによりFLIOフラグ53LIはセットする。Now, by the control signal from the control signal generation circuit 65, LJ
Read next record from B20U and La2O2
reading of the current record from the logical I
It is assumed that the output instruction signal 85LI of I I IT is output. Logic from control signal generation circuit 65 +11 II
The output instruction signal 85U is guided to the FUO flag 53U, thereby setting the FLIO flag 53LI.
出力シーケンス制御部83は、FU○フラグ53Uおよ
びFLOフラグ53Lの状態を監視しており、この例の
ようにFUOフラグ53Uがセットした場合、URB読
出し制御部84Uに対しU RB 30Uからのレコー
ドの読出し出力を指示する。URB読出し制御部84U
は、出力シーケンス制御部83からの指示に応じてRA
URレジスタ35UおよUCTRCTRカウンタ56ア
し、しかるIURAURレジスタ35Uを用いてU R
B 30Uからのデータ読出しを行なう。U RB 3
0Llからの読出しデータは、(IJR830Uからの
読出しが指定されている場合にURB30U側を這択す
る)マルチプレクサ32を介してROUTレジスタ33
に導かれる。URBI出し制御211部84LIは、U
RB 30Uから所定バイトのデータを読出す毎に、
RAIJRレジスタ35UおよびCTRカウンタ56の
内容を+1すると共に、出力ストローブ信号87Uを出
力する。この出力ストローブ信号87Uは、OR86を
介してゲート88に導かれる。The output sequence control unit 83 monitors the states of the FU○ flag 53U and the FLO flag 53L, and when the FUO flag 53U is set as in this example, the output sequence control unit 83 instructs the URB readout control unit 84U to read the record from the URB 30U. Instruct read output. URB read control unit 84U
RA according to instructions from the output sequence control section 83
UR register 35U and UCTRCTR counter 56, and corresponding IURAUR register 35U
B Read data from 30U. URB 3
The read data from 0Ll is sent to the ROUT register 33 via the multiplexer 32 (which selects the URB30U side when reading from the IJR830U is specified).
guided by. The URBI output control unit 211 section 84LI is
Every time a predetermined byte of data is read from RB 30U,
The contents of the RAIJR register 35U and CTR counter 56 are incremented by 1, and an output strobe signal 87U is output. This output strobe signal 87U is guided to gate 88 via OR86.
ゲート88は、OR86からの出力信号(この例では出
力ストローブ信号87U)を、切出し制御部89からの
出力許可に応じてROtJTレジスタ33に出力する。Gate 88 outputs the output signal from OR 86 (output strobe signal 87U in this example) to ROtJT register 33 in response to output permission from extraction control section 89.
この切出し制御部89の制tile作については、JO
IN系演暮を例にとって詳述する予定であり、ここでは
U RB 30Uに書込まれた1レコードの先頭データ
から最終データの読出し期間中、ゲート88に対し出力
許可が与えられるものとし、説明を省略する。切出し制
御部89からの出力許可により、ゲート88からの出力
信号である出カストロープ信UTレジスタ33にラッチ
されたデータは、HMA17を介して図示せぬHMに転
送される。なお、URB30Uからのデータ読出し期間
中、UB20U、LB20Lから次のレコードを読出し
、同レコードを所走ハイド単位テURB301J、 L
RB30Lf7)0番地から書込むことも可能である。Regarding the tile production of this cutting control section 89, please refer to the JO
We are planning to explain in detail using an IN-type performance as an example, and here it is assumed that output permission is given to the gate 88 during the reading period from the first data to the last data of one record written in the U RB 30U. omitted. Upon output permission from the extraction control section 89, the data latched in the output castrope signal UT register 33, which is the output signal from the gate 88, is transferred to an HM (not shown) via the HMA 17. In addition, during the period of reading data from URB30U, the next record is read from UB20U and LB20L, and the same record is read in units of hides URB301J, L.
It is also possible to write from address 0 (RB30Lf7).
この場合、URB50LJ 、 L RB50Lに対す
るリード/ライト動作は、tJ820LI、 L820
Lに対するそれと同様に、時分割で行なう必要がある。In this case, read/write operations for URB50LJ, LRB50L are performed by tJ820LI, L820
Similar to that for L, it is necessary to perform this in a time-sharing manner.
上記した動作が繰返され、WALレジスタ25Lおよび
RALレジスタ26Lの各内容を比較するCMP28L
が一致を検出したものとする。この場合CMP28Lは
、論理11111の一致検出信号を出力する。この一致
検出信号はA68Lの一端に導がれる。A68Lの他端
にはFLWEDフラグ51mがらの論理II 1 IJ
の出力信号が導かれている。これは、F L w E
Dフラグ51Lが前記したようにセット状態にあること
による。この場合、A68Lのアンド条件が成立し、A
68Lから論理11111の信号が出力される。このA
68Lからの論理“1′′の信号は、B20Lが空状態
となったことを示す。A68Lからの論理II 1 T
+の信号はゲニト69Lに導かれる。ゲニト69Lは、
A68Lからの論理at 1 T1の信号を、制御タイ
ミング発生回路60からの指定タイミング(レコードエ
ンド検出タイミング)でゲートする。The above operation is repeated and the CMP 28L compares the contents of the WAL register 25L and the RAL register 26L.
It is assumed that a match has been detected. In this case, the CMP 28L outputs a match detection signal of logic 11111. This coincidence detection signal is led to one end of A68L. The other end of A68L has a logic II 1 IJ with FLWED flag 51m.
The output signal of is guided. This is F L w E
This is because the D flag 51L is in the set state as described above. In this case, the AND condition of A68L is satisfied, and A
A signal of logic 11111 is output from 68L. This A
A logic "1'' signal from 68L indicates that B20L is empty. Logic II 1 T from A68L
The + signal is guided to Genit 69L. Genit 69L is
The logic at 1 T1 signal from A68L is gated at the specified timing (record end detection timing) from the control timing generation circuit 60.
この結果、A68Lからの論理ii 1 nの信号はF
LEMPフラグ52Lに出力され、同フラグ52Lはセ
ットする。FLEMPフラグ52Lからの論理+11
IJのくセット)出力信号はA73Lの一端に導かれる
。As a result, the logic ii 1 n signal from A68L is F
It is output to the LEMP flag 52L, and the flag 52L is set. Logic +11 from FLEMP flag 52L
The IJ output signal is routed to one end of A73L.
A73Lの他端には制御信号発生回路65からの割込み
許可信号74Lが導かれる。この場合、割込み許可信号
741は前記したように論理゛1゛(第13図参照)で
あり、したがってA73Lは論理111 IJの信号を
出力する。A73Lからの論理″“1′′の信号は、O
R75を介して割込み発生回路76に導かれ、これによ
り割込み発生回路76はCP LJ 11に対する割込
みを発生する。c p u iiは、マーシャ10(内
の割込み発生回路76)からの割込みを受付けると、マ
ーシャ10内の図示せぬステータスレジスタの内リレー
ション内の322に関するセットアツプを行なう。この
場合のセットアツプは、前記したS21に関するセット
アツプと略同様であり、MOPレジスタ39には、外部
ソートを指定するMRG−OPコード、ソート類を指定
するAs/D8ビット、L820Lを指定する論理II
111のU/Lビットを含むマージ演算指定情報(S
ORT−EX (L)コマンド)がセットされる。そし
て、マージ171゜内のCMDレジスタ41に1.52
1の場合と同様に、ENG、Goコマンドがセットされ
ることにより、マーシャ10が再び起動される。このと
き、クリア回路61によりS21の場合と同様に、WA
Lレジスタ25L、RALレジスタ26L、FLWED
フラグ51L(およびFLEMPフラグ52L)がクリ
ア(リセット)される(第11図の■5ORT−EX
(L) 、ENG、GOコ7ンド(DlllII参照)
。一方、WAUレジスタ25U、RAUレジスタ26U
、FUWEDフラグ51U(およびFUEMPフラグ5
2U)は、CP IJ 11への割込み時(即ち、動作
終了時)の状態を保持する。したがって、RAUし、ジ
スタ26Uは、次のレコードの先頭アドレスを示してい
る。この状態、即ちサブリレーション(この例では51
1)内の成るレコードの先頭アドレスを指定している状
態は、第11図において「any」で示される。An interrupt enable signal 74L from the control signal generation circuit 65 is led to the other end of A73L. In this case, the interrupt enable signal 741 is at logic "1" (see FIG. 13) as described above, and therefore A73L outputs a signal at logic 111IJ. The logic "1" signal from A73L is O
It is led to the interrupt generation circuit 76 via R75, and thereby the interrupt generation circuit 76 generates an interrupt to CP LJ 11. When cpu ii receives an interrupt from the marsher 10 (interrupt generation circuit 76 therein), it performs setup regarding relation 322 in the status register (not shown) in the marsher 10. The setup in this case is almost the same as the setup for S21 described above, and the MOP register 39 contains the MRG-OP code that specifies external sorting, the As/D8 bit that specifies sorting, and the logic that specifies L820L. II
Merge operation specification information (S
ORT-EX (L) command) is set. Then, set 1.52 to CMD register 41 within merge 171°.
As in case 1, marsha 10 is started again by setting the ENG and Go commands. At this time, the clear circuit 61 causes the WA
L register 25L, RAL register 26L, FLWED
The flag 51L (and FLEMP flag 52L) is cleared (reset) (■5ORT-EX in Figure 11).
(L), ENG, GO co-7nd (see DllllII)
. On the other hand, WAU register 25U, RAU register 26U
, FUWED flag 51U (and FUEMP flag 5
2U) holds the state at the time of interruption to the CP IJ 11 (ie, at the end of the operation). Therefore, the register 26U indicates the start address of the next record. This state, i.e. the sub-relation (51 in this example)
1) is indicated by "any" in FIG. 11.
クリア回路G1によるクリア動作が行なわれると、マー
シャ10は、MOPレジスタ39内の5ORT−EX(
L)コマンドで指定されたデータ処1!!(外20Uに
残っているサブリレーション(この例では511)の未
処理レコード中の先頭レコード、L側では(RALレジ
スタ26Lがクリアされていることから)LB201に
新たに書込まれたサブリレーション(この例では522
)の先頭レコードから、外部ソートが行なわれる。この
外部ソートの結果、LB2OLが再び空状態となると、
CP U 11は再び5ORT−Ex(L)、ENG、
GOコマンドを用い、823→UB20Uを指定し、外
部ソートを指示する。これにより、811の残り部分の
先頭レコードおよびS23の先頭レコードからの外部ソ
ートが開始される。そして、今度はUB20Uが空状態
となると、CP U 11は5ORT−EX (U)、
ENG、Goコマンド(第11図の■)を用い、S12
→UB20Uを指定し、外部ソートを指示する。When the clear circuit G1 performs a clear operation, the marsher 10 clears 5ORT-EX(
L) Data processing specified by command 1! ! (The first record among the unprocessed records of the sub-relation (511 in this example) remaining in the outer 20U, and on the L side (since the RAL register 26L is cleared) the sub-relation newly written to the LB 201 ( In this example 522
) External sorting is performed from the first record. As a result of this external sort, when LB2OL becomes empty again,
CPU 11 again uses 5ORT-Ex(L), ENG,
Using the GO command, specify 823→UB20U and instruct external sort. As a result, external sorting is started from the first record of the remaining portion of 811 and the first record of S23. Then, when UB20U becomes empty this time, CPU 11 uses 5ORT-EX (U),
Using ENG, Go command (■ in Figure 11), S12
→Specify UB20U and instruct external sort.
この場合、クリア回路61は、論理111 IIのU/
LビットおよびENG、Goビットに応じ、5ORT−
EX (L)、ENG、GOコマンドの場合と逆に、U
B20Uに関するレジスタ、フラグ類、即ちWAUレジ
スク25U、RAUレジスタ26U、Fよび323の残
り部分の先頭レコードからの外部ソ□−トが開始される
。In this case, the clear circuit 61 clears the logic 111 II of U/
5ORT- according to L bit and ENG, Go bit
Contrary to the EX (L), ENG, and GO commands, the U
External sorting is started from the first record of the remaining registers and flags related to B20U, ie, WAU register 25U, RAU registers 26U, F, and 323.
このようにして、マーシャ10においてマージソートが
行なわれ、第1のリレーションS1の最終リレーション
323が全て外部に出力されたものと。In this way, the merge sort is performed in the marsha 10, and all the final relations 323 of the first relation S1 are output to the outside.
する。この場合、LB20Lが空状態となったことから
、FLEMPフラグ52Lがセットし、マーシャ10(
内の割込み発生回路76)からCP U 11に割込み
がかかる。CP tJ 11はマーシャ10からの割込
みを受付けると、割込み要因の判別を行なう。そして、
CPU11は、LB20Lが空状態となり、第午 1
2のリレーションS2が全て出力されたことを判断する
と、LI820Uに残されたデータ(S12の残り部分
)の吐出しを指示するPASS−1(U)、MRG、G
oコマンドをマーシャ10に与える。この場合のMRG
、Goコマンドは、MRG、G。do. In this case, since LB20L is empty, the FLEMP flag 52L is set, and Marsha 10(
An interrupt is applied to the CPU 11 from an interrupt generating circuit 76) in the CPU 11. When the CP tJ 11 receives an interrupt from the Marsha 10, it determines the cause of the interrupt. and,
When the CPU 11 determines that the LB 20L is empty and all relation S2 of the 1st and 2nd has been output, the CPU 11 issues a PASS-1 (U) that instructs the LI 820U to output the remaining data (remaining part of S12). , M.R.G., G.
Give the o command to Marsha 10. MRG in this case
, Go command is MRG, G.
−1、REG、IND=R8T−ENG、GO−tJR
TRY=LRTRY−0である。マーシャ10はMRG
、Goコマンドにより起動され、PASS−1(U)コ
マンドで指定された処理、即ちRRY−LRTRY−0
であることから、クリア回路61によるクリア動作は禁
止される。このため、tJB20Uに関するレジスタ、
フラグ類、即ちWAUレジスタ25U、RAUレジスタ
26U、FUWEDララグ51U(およびFUEMPフ
ラグ52U)は、前の状態、即ち第11図の■に示す5
ORT−EX (U)、ENG、Goコマンドの実行終
了時の状態を保持する。明らかなように、RAUレジス
タ26Uは、UB20Uに残されたレコード群の先頭レ
コードを指定している。したがって、マーシャ10の主
制郊部38内の図示せぬ読出し制御部は、S12の残り
部分を所定バイト単位で順に読出すことができる。そし
て、312の残り部分が吐出されると、即ちUB20U
が空状態となると、FUEMPフラグ52Uがセットし
、マージtloに割込みがかかる。-1, REG, IND=R8T-ENG, GO-tJR
TRY=LRTRY-0. Marsha 10 is MRG
, the process started by the Go command and specified by the PASS-1 (U) command, that is, RRY-LRTRY-0
Therefore, the clear operation by the clear circuit 61 is prohibited. Therefore, the register related to tJB20U,
The flags, namely, the WAU register 25U, the RAU register 26U, and the FUWED register 51U (and the FUEMP flag 52U) are in the previous state, that is, 5 shown in (■) in FIG.
ORT-EX (U), ENG, holds the state at the end of execution of the Go command. As is clear, the RAU register 26U specifies the first record of the record group left in the UB 20U. Therefore, the read control section (not shown) in the main control section 38 of the marsha 10 can sequentially read out the remaining portion of S12 in predetermined byte units. Then, when the remaining portion of 312 is discharged, that is, UB20U
When tlo becomes empty, the FUEMP flag 52U is set and an interrupt is placed on merge tlo.
c p u 1iは、マージ−rPloからの割込みニ
ヨリ、LB20Lが空状態となり812の残りが全て吐
出されたことを判断すると、マーシャ10への未入力デ
ータ(この例では第1のリレーションS1の最後REG
、IND−R3T=MRG、GO=URTRY−LRT
RY−0である。マーシャ10はENG、GOコマンド
により起動され、HM A 16、INアライナ13、
ソータ12、ソート・チェッカ14を介して入力される
S13のUB20Uへの書込みと、UB20Uに書込ま
れたS13の読出し出力とを行なう。この読出し、書込
み動作は、前記した5ORT−EX (L) 、ENG
、Goコマンドの場合と基本的に同じである。また、上
記ENG、Goコマンドによる起動に際しては、ENG
、GO=1(且つPASS−1(U)コマンドによるU
側指定)であることから、5ORT−EX (L)、E
NG、Goコマンドの場合と同様に、UB20Uに関す
るレジスタ、フラグ類だけがクリア回路G1によりクリ
アされる。したがって、マーシャ10に入力されるS1
3は、U320LIのO番地から書込まれ、同じくO番
地から読出される。c p u 1i receives an interrupt from Merge-rPlo and determines that LB20L is empty and all the remaining 812 has been ejected, and then inputs the uninput data to Marsha 10 (in this example, the end of the first relation S1). REG
, IND-R3T=MRG, GO=URTRY-LRT
It is RY-0. Marsha 10 is activated by ENG and GO commands, and HM A 16, IN aligner 13,
Writing S13 input via the sorter 12 and sort checker 14 to the UB 20U and reading and outputting S13 written to the UB 20U are performed. These read and write operations are carried out by the above-mentioned 5ORT-EX (L), ENG
, is basically the same as the Go command. Also, when starting with the ENG and Go commands above, the ENG
, GO=1 (and U by PASS-1(U) command
5ORT-EX (L), E
As in the case of the NG and Go commands, only the registers and flags related to UB20U are cleared by the clear circuit G1. Therefore, S1 input to marsha 10
3 is written from address O of U320LI and read from address O as well.
以上が、マーシャ10による外部ソート処理である。The above is the external sorting process performed by marsha 10.
16図は第13図に対応する。、RESTRI CT系
演算は、1つの対象リレーションの内から、条件に合う
レコードのみを出力する演算である。マートジャ10に
よるRESTRICT系演算では、条、−1件データを
第1のストリームとしてUB20Uに予め格納しておき
、対象リレーションを第2のストリームとしてLB2O
Lに格納しつつ、演算が開始、−される。この点は、前
記した外部ソート(SORT系演算)の場合と同様であ
る。そして、条件データの指定キーフィールドと、対象
リレーションのそれとの比較を行ない、演算条件が成立
したとき、L側レコードが出力対象として出力選択部O
8Pに送られる。なお、U側レコードをし側レコードと
共に出ノj対象とすることも可能である。FIG. 16 corresponds to FIG. 13. , RESTRI CT-based operations are operations that output only records that meet the conditions from one target relation. In the RESTRICT type calculation by the martja 10, the item data of item -1 is stored in advance in the UB20U as the first stream, and the target relation is stored in the LB20U as the second stream.
While storing in L, calculation is started and - is performed. This point is similar to the case of the external sort (SORT type operation) described above. Then, the specified key field of the condition data is compared with that of the target relation, and when the calculation condition is satisfied, the L side record is selected as the output target in the output selection section O.
Sent to 8P. Note that it is also possible to set the U-side record as an output target together with the side-side record.
今、条件データとしての第1のリレーションを81、対
象リレーション(第2のリレーション)を82とすると
、CP U 11はマーシャ10に対し、まずLOAD
(Ll)コマンドにより、S1→US20Uを指定し
、ENG、GOコマンドによりマーシャ10(を含むエ
ンジン・コア15)を起動する。Now, assuming that the first relation as condition data is 81 and the target relation (second relation) is 82, the CPU 11 first sends LOAD to Marsha 10.
(Ll) command specifies S1→US20U, and ENG and GO commands start Marsha 10 (including engine core 15).
これにより、外部ソートの場合と同様に、SlがUB2
0UのO番地から所定バイト単位で順に書込まれる。そ
して、R3UxTRNだけのデータの書込みにより、S
TCカウンタ46からボロー信号、が出力され、FUW
EDフラグ511Jがセットすると、マーシャ10から
CP IJ 11に割込みがかかる。This causes Sl to be UB2, similar to the case of external sorting.
The data is sequentially written in predetermined byte units starting from address O of 0U. Then, by writing data only to R3UxTRN, S
A borrow signal is output from the TC counter 46, and FUW
When the ED flag 511J is set, an interrupt is generated from the marsher 10 to the CP IJ 11.
次にCP U 11は、REST−EQ (L)コマン
ドニー、屹より、S2→LB20Lを指定し、REST
−EQを指示する。このREST−EQは、条件データ
のキーフィールドと対象リレーションのそれとが等しい
とき、対象リレーションを出力することを示す。そして
、CPU11は、ENG、Goコマンドによりマーシャ
10(を含むエンジン・コア15)を起動する。以降の
動作は、上記した外部ソート(即ち5ORT−EXコマ
ンド)の場合と略同様である。即ち、マーシャ10では
、まずLB2OLに関するレジスタ、フラグ類がクリア
され、次にS21をLB20Lの0番地から始まる領域
に書込む動作が開始される。LB20Lへのデータ書込
みが開始されると、U3201JおよびLB20Lがら
のデータ読出しが開始される。UB20UおよびLB2
0Lからの読出しデータはCMP23に導がれ、CMP
23および比較制御部62により、VDLレジスタ47
で指定されたキーフィールドの比較確定がなされると共
に、URB30U、LRB30Lに導かれて同URB3
01J、LRB30Lに書込まれる。しかして、UB2
0U1LB20Lからのデータ読出しが該当レコードの
最終データとなると、外部ソートの動作で述べたように
FUEフラグ50U、FLEフラグ50Lがセットする
(どちらが先にセットするかは、レコード長によって異
なる)、制御タイミング発生回路60は、両フラグ50
U、50jが共にセット状態となると、制御信号発生回
路65に対して各種制御信号の出力のタイミング指示を
与える。これにより、制御信号発生回路65は、MOP
レジスタ39に保持されているマージ演算指定情報中の
MRG。Next, the CPU 11 specifies S2→LB20L from the REST-EQ (L) command knee, and executes the REST-EQ (L) command.
- Indicate EQ. This REST-EQ indicates that the target relation is output when the key field of the condition data is equal to that of the target relation. Then, the CPU 11 starts up the Marsha 10 (including the engine core 15) using the ENG and Go commands. The subsequent operation is substantially the same as in the case of the above-mentioned external sort (ie, 5ORT-EX command). That is, in marsha 10, the registers and flags related to LB2OL are first cleared, and then the operation of writing S21 to the area starting from address 0 of LB20L is started. When data writing to LB20L is started, data reading from U3201J and LB20L is started. UB20U and LB2
The read data from 0L is led to CMP23,
23 and the comparison control unit 62, the VDL register 47
The comparison of the key field specified by is confirmed, and the same URB3 is guided by URB30U and LRB30L.
01J, written to LRB30L. However, UB2
When the data read from 0U1LB20L becomes the final data of the corresponding record, the FUE flag 50U and FLE flag 50L are set as described in the external sort operation (Which one is set first depends on the record length), control timing The generation circuit 60 generates both flags 50
When both U and 50j are set, timing instructions for outputting various control signals are given to the control signal generation circuit 65. As a result, the control signal generation circuit 65 controls the MOP
MRG in the merge operation designation information held in the register 39.
GoコマンドおよびAS/DSS/上、および比較制御
部62からの比較確定結果に応じ、u s 20U 1
LB20Lのレコード更新の制御、UB20U、LB2
OLに書込まれたレコードの出力指示等を行なう。In response to the Go command, AS/DSS/up, and the comparison confirmation result from the comparison control unit 62, u s 20U 1
LB20L record update control, UB20U, LB2
Instructs to output records written to the OL.
そして、FUEフラグ50U、FLEフラグ50Lがリ
セットされ、次のレコード処理が行なわれる。Then, the FUE flag 50U and FLE flag 50L are reset, and the next record process is performed.
なお、この例のようにREST−EQ演算が指定されて
いる場合の制御信号発生回路65の入出力論理は、第1
6図に示す通りである。但し、第16図の入出力論理は
、マーシャ10への入力リレーションが昇順でソートさ
れていること(AS/DS=O)を前提としている。Note that when the REST-EQ operation is specified as in this example, the input/output logic of the control signal generation circuit 65 is the first one.
As shown in Figure 6. However, the input/output logic in FIG. 16 is based on the assumption that the input relations to the marsher 10 are sorted in ascending order (AS/DS=O).
このようにして、REST−EQ (L)、ENG、G
oコマンドで指定された演算が実行され、例えば第15
図の■に示すように、RALレジスタ26シの内容が〜
VALレジスタ25Lのそれに一致し、CMP281か
ら一致検出信号が出力されたものとする。この場合、前
記した外部ソートの場合と同様に、FLEMPフラグ5
2Lがセットし、CPU11に対し割込みがかかる。こ
れによりCPU11は、マーシャ10での演算終了を判
断する。これは、CMP281Jから一致検出信号が出
力され、F。In this way, REST-EQ (L), ENG, G
The operation specified by the o command is executed, for example, the 15th
As shown in the figure, the contents of the RAL register 26 are ~
It is assumed that the value matches that of the VAL register 25L and a match detection signal is output from the CMP 281. In this case, as in the case of the external sort described above, the FLEMP flag 5
2L is set and an interrupt is issued to the CPU 11. Thereby, the CPU 11 determines whether or not the marshaller 10 has completed the calculation. This is because a coincidence detection signal is output from CMP281J, and F.
UEMPフラグ52Uがセットした場合も同様である。The same applies when the UEMP flag 52U is set.
このような状態で、UB20U、LB2OLに格納され
ているデータに対し、別の演算を行ないたい場合がある
。この場合、マーシャ10のみを起動することになるた
め、基本的にはMRG、Goコマンドが使用される。し
かし、これまでに示したMRG、Goコマンドでは、前
記したように1J320U或は1B2OLに関するレジ
スタ、フラグ類はクリアされない。これでは、UB20
U、LB20L内のデータの先頭から所望の演算を行な
うことはできない。そこで、この実施例では、第14図
の■に示すように、所望のマージ演算コマンド(この例
ではREST−NE<L)コマンド)と共に、URTR
Y並びにLRTRYが指定されたMRG。In such a state, there may be cases where it is desired to perform another calculation on the data stored in UB20U and LB2OL. In this case, only the Marsha 10 is activated, so basically the MRG and Go commands are used. However, the MRG and Go commands shown so far do not clear the registers and flags related to 1J320U or 1B2OL, as described above. In this case, UB20
It is not possible to perform a desired operation from the beginning of the data in U and LB20L. Therefore, in this embodiment, as shown in (■) in FIG. 14, the URTR
MRG with Y and LRTRY specified.
Goコマンド、即ちMRG、Go−URTRY=LRT
RY=1、REG、IND−R8T=ENG、Go−0
のMRG、Goコマンドが適用される。第7図のクリア
回路81に示すように、URTRYビットは、0R80
Uの一端に導かれ、LRTRYビットは0R80Lの一
端に導かれる。したがって、URTRY−LRTRY=
1のこの例では、 i冒OR80tJ 、 80L
の出力レベルは論理“1″となる。Go command, i.e. MRG, Go-URTRY=LRT
RY=1, REG, IND-R8T=ENG, Go-0
MRG and Go commands are applied. As shown in the clear circuit 81 in FIG. 7, the URTRY bit is set to 0R80.
The LRTRY bit is led to one end of 0R80L. Therefore, URTRY−LRTRY=
In this example of 1, i EFOR80tJ, 80L
The output level of is logic "1".
このため、制御タイミング発生回路60からのスタート
タイミングで、URTRYピットに対応してRAUレジ
スタ26UおよびFUEMPフラグ520がクリアされ
、LRTRYビットに対応してRALレジスタ26Lお
よびFLEMPフラグ52Lがクリアされる。一方、W
’AtJレジスタ25tJ1WALレジスタ25L、F
UWEDフラグ51U、FLWEDフラグ51Lについ
ては、前の状態、即ち第14図の■に示すREST−E
Q (L)、ENG、Goコマンドの実行終了時の状態
を保持する。したがって、UB20USLB20Lに格
納されているデータに対し、その先頭データから所望の
演算〈この例ではREST−NE (L)演算)を行な
うことができる。なお、REST−NEコマンドでは、
条件データのキーフィールドと、対象リレーションのそ
れとが等しくなく、且つLB2OLに対するレコード更
新が行なわれるときのり側データ(レコード)が出力対
象となる。Therefore, at the start timing from the control timing generation circuit 60, the RAU register 26U and FUEMP flag 520 are cleared in response to the URTRY pit, and the RAL register 26L and FLEMP flag 52L are cleared in response to the LRTRY bit. On the other hand, W
'AtJ register 25tJ1WAL register 25L, F
Regarding the UWED flag 51U and the FLWED flag 51L, the previous state, that is, the REST-E shown in ■ in FIG.
Holds the state at the end of execution of the Q (L), ENG, and Go commands. Therefore, a desired operation (REST-NE (L) operation in this example) can be performed on the data stored in the UB20USLB20L starting from the first data. In addition, in the REST-NE command,
When the key field of the condition data is not equal to that of the target relation and a record update for LB2OL is performed, the forward side data (record) becomes the output target.
次に、LB2OLの容量を越える対象リレーションに対
するRESTRICT系演算(REST−EQ演算)に
ついて、第17図および第18図を参照して説明する。Next, RESTRICT operations (REST-EQ operations) for target relations exceeding the capacity of LB2OL will be explained with reference to FIGS. 17 and 18.
なお、第17因は第11図に、第18図は第12図に対
応する。今、条件データとしての第1のリレーションを
81、対象リレーション(第2のリレーション)を82
とする。また、S2は、RALレジスタ28Lの容量単
位に応じて321〜S23に分割されるものとする。な
お、条件データであるSlは、RAtJレジスタ2GU
の容量を越えないことを前提とする。この場合、CP
U 11からマーシャ10に対し、まずLOAD (U
)、ENG、Goコマンドが与えられる。これによ゛す
CMP28Uに関するレジスタ、フラグ類がクリアされ
(第17図の■しOAD (LJ)、ENG。Note that the 17th factor corresponds to FIG. 11, and FIG. 18 corresponds to FIG. 12. Now, the first relation as condition data is 81, and the target relation (second relation) is 82.
shall be. Further, it is assumed that S2 is divided into 321 to S23 according to the capacity unit of the RAL register 28L. Note that the condition data Sl is the RAtJ register 2GU
It is assumed that the capacity will not be exceeded. In this case, C.P.
First, from U 11 to Marsha 10, LOAD (U
), ENG, and Go commands are given. As a result, the registers and flags related to the CMP28U are cleared (OAD (LJ) and ENG in Figure 17).
Goコマンドの欄参照)、SlがUB、20Uの0番地
から所定バイト単位で書込まれる。Slの書込みが完了
すると、CPU11からマーシャ10に対し、RE、5
T−EQ (L) 、ENG、Goコマンドが与えられ
る。これにより、LB20Lに関するレジスタ、フラグ
類がクリアされ(第17図の■REST−EQ (L)
、ENG、Goコマンドの瀾参照)、321をL820
Lの0番地から始まる領域に書込む動作が開始される。(See Go command column), Sl is written in predetermined byte units from address 0 of UB, 20U. When the writing of Sl is completed, the CPU 11 sends RE, 5 to the Marsha 10.
T-EQ (L), ENG, and Go commands are given. As a result, the registers and flags related to LB20L are cleared (■REST-EQ (L) in Figure 17).
, ENG, Go command), 321 to L820
The operation of writing to the area starting from address 0 of L is started.
LB2OLへのデータ書込みが開始されると、前記した
ようにU B 20UおよびLB20Lからのデータ読
出しが開始され、■DLレジスタ47で指定されたキー
フィールド部分の比較が行なわれる。そして、FUE7
ラグ50U市よびFLEフラグ50Lが共にセット状態
となると、レコード間の比較結果、MRG、Goコマン
ド、およびAs10Sビツトにより、U B 20U
。When data writing to LB2OL is started, data reading from U B 20U and LB20L is started as described above, and the key field portions specified by the DL register 47 are compared. And FUE7
When both the lag 50U city and the FLE flag 50L are set, the U B 20U
.
L82OLに書込まれたレコードに対する出力指示、お
よびレコード更新が制御され、次のレコード処理に進む
。Output instructions and record updates for the record written to L82OL are controlled, and processing proceeds to the next record.
このようにして、REST−EQ (L)、ENG、G
oコマンドで指定された演算が実行され、例えば第17
図および第18図の■に示すように、RALレジスタ2
6Lの内容がWALレジスタ25Lのそれに一致し、C
MP28Lから一致検出信号が出力されたものとする。In this way, REST-EQ (L), ENG, G
The operation specified by the o command is executed, for example, the 17th
As shown in the figure and ■ in Fig. 18, the RAL register 2
The contents of 6L match that of WAL register 25L, and C
It is assumed that a coincidence detection signal is output from the MP28L.
この場合、前記した外部ソートの場合と同様に、FLE
MPフラグ52シがセットし、c p u ilに対し
割込みがかかる。これによりc p u ilは、Sl
とS21との間の演算終了を判断する。CP Ll 1
1は、次の822とUB2OU内のSlとの間のRES
T−EQ演算のために、マーシャ10に対し、REST
−EQ (L)、ENG。In this case, as in the case of the external sort described above, FLE
The MP flag 52 is set and an interrupt is issued to CPU. As a result, c p u il becomes Sl
The end of the calculation between and S21 is determined. CP Ll 1
1 is the RES between the next 822 and Sl in UB2OU
For T-EQ operation, REST
-EQ (L), ENG.
G○コマンドを与える。但し、Slについては、再度先
頭レコードから読出す必要があるため、第17図の■に
示ずように、URTRYが指定されたENG、GOコマ
ンド、即ちENG、GO=URTRY=1 、REG、
I ND=R8T=MRG。Give the G○ command. However, as for Sl, it is necessary to read from the first record again, so as shown in ■ in FIG.
IND=R8T=MRG.
GO=LRTRY=OのMRG、Goコマンドが適用さ
れる。URTRY指定のENG、Goコマンドが適用さ
れる。この場合、マーシャ10の起動に際し、第7図の
クリア回路61辷より、論理“1″のIJRTRYビッ
トに応じてRAUレジスタ26UおよびFUEMPフラ
グ52Uがクリアされ、論理111 ITのENG、G
oピット(およびU/LビットによるLB2OL指定)
に応じてWALレジスタ25L、FLWEDフラグ51
L、RALレジスタ26L、FLEMPフラグ52シが
クリアされる。また、WAUレジスタ25USFUWE
Dフラグ51Uについては、前の状態を保持する。した
がって、UB20Uに既に書込まれているSlについて
は、その先頭レコードからの読出しが可能となる。また
、Slが全て読出され、tJB20tJが空状態となる
場合の正しい検出も可能となる。一方、S22について
は、その先頭レコードからLB20Lに書込まれ、同先
頭レコードから読出されることは、明らかである。MRG and Go commands with GO=LRTRY=O are applied. The ENG and Go commands specified by URTRY are applied. In this case, when starting up the marsha 10, the RAU register 26U and the FUEMP flag 52U are cleared by the clear circuit 61 in FIG. 7 according to the IJRTRY bit of logic "1", and the ENG, G
o pit (and LB2OL specification by U/L bit)
WAL register 25L, FLWED flag 51 according to
L, RAL register 26L, and FLEMP flag 52 are cleared. In addition, WAU register 25USFUWE
The D flag 51U retains its previous state. Therefore, it becomes possible to read Sl already written in the UB 20U from its first record. In addition, correct detection is also possible when all of Sl is read and tJB20tJ becomes empty. On the other hand, it is clear that S22 is written to LB20L from the first record and read from the same first record.
このようにして、REST−EQ (L) 、並びにU
RTRY指定のENG、Goコマンドで指定された演算
が実行され、例えば第17図および第18図の■に示す
ように、RAUレジスタ26Uの内容がWAtJレジス
タ25Uのそれに一致し、CMP28LIから一致検出
信号が出力されたものとする。In this way, REST-EQ (L) as well as U
The operation specified by the ENG and Go commands specified by RTRY is executed, and the contents of the RAU register 26U match those of the WAtJ register 25U, for example, as shown in Figures 17 and 18, and a match detection signal is sent from the CMP 28LI. Assume that is output.
この場合、FUEMPフラグ52Uがセットし、CPU
11に対し割込みがかかる。これによりCPLlllは
、$1と822との間の演算終了を判断する。In this case, the FUEMP flag 52U is set and the CPU
11 is interrupted. As a result, CPLlll determines that the calculation between $1 and 822 has ended.
CP U 11は、次の823とUB20U内の81と
の間のREST−EQ演算のために、マーシャ10に対
し、REST−EQ (L) 、並びにURTRY指定
のENG、Goコマンドを与える。これにより、UB2
0Uに既に書込まれているSlと、LB20Lに新たに
書込まれるS23との間のREST−EQ演算が、その
先頭レコードから行なわれる。The CPU 11 provides REST-EQ (L) and ENG and Go commands specified by URTRY to the marsher 10 for the next REST-EQ operation between 823 and 81 in the UB 20U. This allows UB2
The REST-EQ operation between Sl already written in 0U and S23 newly written in LB20L is performed from the first record.
次に、マージw10による関係演算処理について、JO
IN系演算の場合を例にとり説明する。JOIN系演算
は、2つのリレーションの指定キーフィールドの比較を
行ない、条件が成立した組で新たなリレーションを作り
出す、いわゆる2ストリ一ム入力合成出力型の演算であ
る。例えば、JOIN系演算の1つであるJOIN−E
Q演算では、指定キーフィールドが一致した2レコード
が1つのレコードに合成出力される。マージtloによ
るJOIN系演算では、LOAD (U)演算指定によ
り、第1のストリームをUB20Uに格納した後、JO
IN (L)系演算指定により第2のリレーションをL
B2OLに格納しつつ、JOIN演算が行なわれる。そ
して、U B 20Uからの読出しレコード(U側しコ
ード)の指定キーフィールドと、LB2OLからの読出
しレコード(L側しコード)のそれとの比較を行ない、
演算条件が成立したとき、U側およびL側しコードの出
力指示が制御信号発主回路65から与えられる。JOI
N−EQ演算における制御信号発生回路65の入出力論
理を、第19図に示す。但し、第19図の入出力論理は
、マーシャ10への入力リレーションが昇順でソートさ
れていることを前提としている。なお、JOIN系演算
では、第1およびM2のリレーションは、UB20U、
LB201Lの容量を越えず、そのソート類も同じ必要
がある。ソート類が同じであることは、前記した5OR
T系演算、RESTRICT系演算演算合にも同様であ
る。Next, regarding relational calculation processing by merge w10, JO
The case of IN type calculation will be explained as an example. A JOIN type operation is a so-called two-stream input synthesis output type operation in which specified key fields of two relations are compared and a new relation is created using a set where a condition is met. For example, JOIN-E, which is one of the JOIN-based operations,
In the Q operation, two records whose specified key fields match are combined and output as one record. In JOIN operations using merge tlo, after storing the first stream in UB20U by specifying the LOAD (U) operation,
IN (L) The second relation is set to L by specifying the system operation.
A JOIN operation is performed while storing in B2OL. Then, the designated key field of the read record from U B 20U (U side code) is compared with that of the read record from LB2OL (L side code),
When the calculation conditions are satisfied, an instruction to output the U-side and L-side codes is given from the control signal generator circuit 65. JOI
FIG. 19 shows the input/output logic of the control signal generation circuit 65 in the N-EQ calculation. However, the input/output logic in FIG. 19 is based on the premise that the input relations to the marsher 10 are sorted in ascending order. Note that in JOIN-based operations, the first and M2 relations are UB20U,
The capacity of LB201L must not be exceeded, and the sorting must be the same. The same sort type means that the above 5OR
The same applies to T-based operations and RESTRICT-based operations.
さて、UB20U、LB20Lからの読出しレコードは
、CMP23による比較動作と並行して、URB30U
、LRB30Lに書込まれる。そして、FtJEフラグ
50UおよびFLEフラグ50Lが共にセット状態とな
ると、即ち、U側しコードおよびL側しコードの最終デ
ータの読出しが共に検出されると、制御信号発生回路6
5は前記した外部ソートの場合と同様に、LIB20U
、LB2OLに書込まれたレコードの出力指示、および
レコード更新の制御を行なう。JOIN−EQ演算のこ
の例において、比較制御部62ににすU=Lが確定して
いるものとすると、制御信号発生回路65は、第19図
の入出力論理に示づ゛ように、論理11111の出力指
示信号85U、85Lを出力する。この論理11111
の信号85U、85Lは、FUOフラグ53U、FLO
フラグ53Lに導かれ、これにより同フラグ53(J、
53mはせツトする。出力シーケンス制御部83は、
FUOフラグ53UおよびFLOフラグ53Lを監視し
ている。Now, the read records from UB20U and LB20L are read from URB30U in parallel with the comparison operation by CMP23.
, written to LRB30L. Then, when the FtJE flag 50U and the FLE flag 50L are both set, that is, when the reading of the final data of the U-side code and the L-side code are both detected, the control signal generation circuit 6
5 is LIB20U as in the case of external sorting described above.
, instructs to output records written to LB2OL, and controls record updating. In this example of the JOIN-EQ operation, assuming that U=L is determined in the comparison control section 62, the control signal generation circuit 65 performs the logic as shown in the input/output logic in FIG. Output instruction signals 85U and 85L of 11111 are output. This logic 11111
The signals 85U and 85L are the FUO flag 53U and FLO
It is guided by the flag 53L, which causes the same flag 53 (J,
It climbs 53m. The output sequence control section 83
The FUO flag 53U and FLO flag 53L are monitored.
この例のように、FUOフラグ53U、FLOフラグ5
3Lが共にゼットした場合、出力シーケンス制御部83
は、まずURB読出し制御部84Uに対してUB20U
からのレコードの読出し出力を指示する・と共に、切出
し制御部89にU側しコードに対する切出し制御を指示
する。uRsi出し制御部84Uは、出力シーケンス制
御部83からの指示に応じてRAURレジスタ35Uお
よUCTRカウンタ56をクリアし、しかる後RAUR
レジスタ35Uを用いてLI R830LIからのデー
タ読出しを行なう。UR”830Uからの読出しデータ
は、マルチプレクサ32を介してROUTレジスタ33
に導かれる。URB読出し制御部84Uは、U RB
30LIから所定バイト〜59Lに導かれ、○SUAレ
ジスタ54tJ、○SUBレジスタ55U1R3Uレジ
スタ43LI、08LAレジスタ541,03LBレジ
スタ55L、R8Lレジスタ43Lと比較される。CM
P57tJ、 58UおよびCMP57L、58Lの比
較結果は切出し制御部89に導かれる。As in this example, FUO flag 53U, FLO flag 5
When both 3L are set to Z, the output sequence control unit 83
First, the UB20U is sent to the URB readout control unit 84U.
It instructs the readout and output of records from the U-side code, and also instructs the extraction control section 89 to perform extraction control for the U-side code. The uRsi output control unit 84U clears the RAUR register 35U and UCTR counter 56 in response to instructions from the output sequence control unit 83, and then clears the RAUR register 35U and UCTR counter 56.
Data is read from LI R830LI using register 35U. The read data from UR"830U is sent to the ROUT register 33 via the multiplexer 32.
guided by. The URB read control unit 84U
It is led from 30LI to a predetermined byte to 59L and compared with SUA register 54tJ, SUB register 55U1R3U register 43LI, 08LA register 541, 03LB register 55L, and R8L register 43L. CM
The comparison results of P57tJ, 58U and CMP57L, 58L are led to the cutting control section 89.
切出し制御部89は、割込み制御部63からU側しコー
ドの切出し制御を指示された場合、CMP57Uおよび
CM P 58Uを開始する。そして、切出し制御部8
9は、現読出し中のデータのレコード内位置、を示すC
TRカウンタ56の内容(この例では、RAIJRレジ
スタ35Uの内容、即ちU RB 30Uに対する読出
しアドレスに一致)をXとすると、CM P 571J
、 57U ニヨi) OS U A ≦X≦08U
Bが検出されている期間は、ゲート88に対して出ツノ
許可を与える。この結果、切出し制御部89がら出力許
可が与えられている期間だけ、URB読出し制御部84
Uからの出力ストローブ信号87UがROLI下レジス
タ33に導かれ、URB30Uがらの読出しデータがR
OtJTレジスタ33にラッチされる。したがって、0
8UA (第1の切出し位置)およびosus <第2
の切出し位置)を適切な値に設定することにより、出力
対象となるU側しコードから所望の素性だけを選択的に
切出し出力することができる。これは、L側しコードに
ついても同様テアル。h 83.03UA (O3LA
)=O1osUS (O3LB)−R8UI7)場合ニ
ハ、1レコード分のデータがそのまま出力される。When the cutout control unit 89 is instructed to control the cutout of the U-side code from the interrupt control unit 63, it starts CMP 57U and CMP 58U. Then, the cutting control section 8
9 indicates the position within the record of the data currently being read.
If the contents of the TR counter 56 (in this example, match the contents of the RAIJR register 35U, that is, the read address for the URB 30U) are X, then CM P 571J
, 57U Niyoi) OS U A ≦X≦08U
During the period when B is detected, exit permission is given to the gate 88. As a result, the URB readout control unit 84 is
The output strobe signal 87U from URB is led to the ROLI lower register 33, and the read data from URB 30U is sent to R.
It is latched into the OtJT register 33. Therefore, 0
8UA (first cutting position) and osus <second
By setting the cutout position) to an appropriate value, it is possible to selectively cut out and output only a desired feature from the U-side code to be output. This also applies to the L side cord. h 83.03UA (O3LA
) = O1osUS (O3LB) - R8UI7) In the case niha, one record's worth of data is output as is.
U RB 30Uからの読出しデータが該当レコードの
最終データとなると、CMP59LJはオーバフロ二状
態どなり、CMP59LIがらボロー信号が出力される
。URB読出し制御部84Uハ、CM P 59Uから
ボロー信号が出力されると、レコード読出し終了を判断
し、その旨を出力シーケンス制御部83に通知する。出
力シーケンス制御部83は、LJR8読出し制御部84
Uから終了が通知され、この例のようにFLOフラグ5
3Lがセットされていると、LRB続出し制御部84L
に対してLB20Lからのレコードの読出し出力を指示
すると共に、切出し制御部89にL側しコードに対する
切出し制御を指示する。これにより、上記した場合と同
様にして、L側しコードのうち08LA≦X≦08LB
を満足するフィールド部分のデータが切出し出力される
。When the data read from the URB 30U becomes the final data of the corresponding record, the CMP 59LJ goes into an overflow state and a borrow signal is output from the CMP 59LI. When the URB read control unit 84U c receives a borrow signal from the CMP 59U, it determines that record reading has ended and notifies the output sequence control unit 83 to that effect. The output sequence control section 83 is an LJR8 readout control section 84.
The end is notified from U, and FLO flag 5 is set as in this example.
When 3L is set, the LRB continuous output control unit 84L
It instructs the LB 20L to read and output records, and also instructs the extraction control section 89 to perform extraction control for the L-side code. As a result, in the same way as in the above case, 08LA≦X≦08LB of the L side code
The data of the field portion that satisfies the above is extracted and output.
なお、前記実施例では、出力対象レコードのうち、第1
および第2の切出し位置で挟まれたフィールド部分を切
出すセンタ切出しの場合について説明したが、その外側
部分を切出すサイド切出しも可能である。また、センタ
切出し/サイド切出しを指定するフラグを設けることに
より、センタおよびサイドの両切出しに対処することも
可能である。Note that in the above embodiment, the first record among the records to be output is
Although the case of center cutting in which the field portion sandwiched between the first and second cutting positions is cut out has been described, side cutting in which the outside portion thereof is cut out is also possible. Further, by providing a flag specifying center cutting/side cutting, it is also possible to deal with both center cutting and side cutting.
[発明の効果]
以上詳述したようにこの発明によれば、演算指定情報の
指定により、各種の関係演算が効率よく行なえる。[Effects of the Invention] As described in detail above, according to the present invention, various relational operations can be performed efficiently by specifying the operation specification information.
【図面の簡単な説明】
第1図はこの発明の一実施例に係るマーシャのブロック
構成図、第2図は第1図のマーシャを適用する関係デー
タベースエンジン(RDBE)の全体構成図、第3図は
マージ演算指定情報のフォーマット図、第4図はコマン
ドデータのフォーマット図、第5図は第1図に示す主制
御部の別能構成を示すブロック図、第6図は第5図に示
す割込み制御部周辺のブロック構成図、第7図は第5図
に示すクリア回路周辺の回路構成図、第8図は第5図に
示す出力制御部周辺のブロック構成図、第9図は外部ソ
ートの手順を示す概略図、第1o図は外部ソートの概念
口、第11図は外部ソートを実行するためのコマンド列
と、各コマンドによる起動時および終了時における各種
レジスタ、フラグ類の内容との対応関係を示す図、第1
2図は第11図に示す各コマンドの実行終了時のU/L
バッファへの書込み並びに読出し位置の変化を説明する
図、第13図は外部ソートが指定されている場合の制御
信号発生回路の入出力論理の一例を示す図、第14図乃
至第16図は第11図乃至第13図に対応するもので、
RESTRICT (制約)系演算を説明するための図
、第17図および第18図は第11図および第12図に
対応するもので、対象リレーションがマーシャのバッフ
ァ容量を越える場合のRESTRICT (制約)系演
算を説明するための図、第19図はJOIN系演算(J
OIN−EQ)が指定されている場合の制御信号発生回
路の入出力論理の一例を示す図である。
10・・・マーシャ、11・・・CPLJ120LJ・
・・Uバッファ、20L・・・しバッファ、23.28
U、 28L、 57U〜59U。
57L〜59L・・・比較器(CMP)、27U・・・
BUUレジスタ、27L・・・BULレジスタ、38・
・・主制御部、39・・・MOPレジスタ、41・・・
CMDレジスタ、42 、・・TRNレジスタ、43U
・・・R8Uレジスタ、43L・・・R8Lレジスタ、
47・・・VDLレジスタ、50U・・・FUEフラグ
、50L・・・F’LEフラグ、51U・−・FUWE
Dフラグ、51L・・・FLWEDフラグ、52U・・
・FUEMPフラグ、52L・・・F L E M P
フラグ、53U・・・FUOフラグ、53m・・・FL
Oフラグ、54U・・・08UAレジスタ、54L・・
・oSLAレジスタ、55LJ・・・03LJBレジス
タ、55L・・・03LBレジスタ、61・・・クリア
回路、62・・・比較制御部、63・・・割込み制御部
、64・・・出力制御部、65・・・制御信号発生回路
、”89・・・切出し制御部。
出願人 工業技術院長 川田裕部
第3図 第4図
主tA’J #mυ” 5s
第6図
第7図
第9図
第10図
第11図
第η図
UB LB
■
第13図
第14図
第16図
第17図
第19図[BRIEF DESCRIPTION OF THE DRAWINGS] FIG. 1 is a block configuration diagram of a marsha according to an embodiment of the present invention, FIG. 2 is an overall configuration diagram of a relational database engine (RDBE) to which the marsha of FIG. 1 is applied, and FIG. Figure 4 is a format diagram of merge operation specification information, Figure 4 is a format diagram of command data, Figure 5 is a block diagram showing the different function configuration of the main control section shown in Figure 1, and Figure 6 is shown in Figure 5. Figure 7 is a block diagram of the area surrounding the interrupt control unit, Figure 7 is a circuit diagram of the area around the clear circuit shown in Figure 5, Figure 8 is a block diagram of the area around the output control unit shown in Figure 5, and Figure 9 is a diagram of the external sort. Figure 1o is a schematic diagram showing the procedure of external sorting, and Figure 11 is a diagram showing the command sequence for executing external sorting, and the contents of various registers and flags at the time of startup and termination by each command. Diagram showing correspondence, 1st
Figure 2 shows the U/L at the end of execution of each command shown in Figure 11.
13 is a diagram illustrating an example of the input/output logic of the control signal generation circuit when external sorting is specified. FIGS. It corresponds to Figures 11 to 13,
Figures 17 and 18, which are diagrams for explaining RESTRICT system operations, correspond to Figures 11 and 12. Figure 19, which is a diagram for explaining operations, shows JOIN operations (J
3 is a diagram illustrating an example of input/output logic of the control signal generation circuit when the control signal generation circuit (OIN-EQ) is specified; FIG. 10...Marsha, 11...CPLJ120LJ・
...U buffer, 20L...shi buffer, 23.28
U, 28L, 57U-59U. 57L to 59L... Comparator (CMP), 27U...
BUU register, 27L...BUL register, 38.
...Main control unit, 39...MOP register, 41...
CMD register, 42,...TRN register, 43U
...R8U register, 43L...R8L register,
47...VDL register, 50U...FUE flag, 50L...F'LE flag, 51U...FUWE
D flag, 51L...FLWED flag, 52U...
・FUEMP flag, 52L...FLEMP
Flag, 53U...FUO flag, 53m...FL
O flag, 54U...08UA register, 54L...
・oSLA register, 55LJ...03LJB register, 55L...03LB register, 61...Clear circuit, 62...Comparison control unit, 63...Interrupt control unit, 64...Output control unit, 65 ...Control signal generation circuit, "89... Cut-out control section. Applicant: Director of the Agency of Industrial Science and Technology Hirobe Kawada Figure 3 Figure 4 Main tA'J #mυ" 5s Figure 6 Figure 7 Figure 9 Figure 10 Figure 11 Figure η Figure UB LB ■ Figure 13 Figure 14 Figure 16 Figure 17 Figure 19
Claims (1)
リレーションを格納する第2バッファと、演算種別を示
すオペレーションコード、および上記第1または第2バ
ッファのいずれか一方を指定するバッファ指定ビットを
保持する第1レジスタと、上記第1または第2バッファ
に格納されるリレーションのレコード数を示すレコード
数情報を保持する第2レジスタと、上記第1または第2
バッファに格納されるリレーションのレコード長を示す
レコード情報を保持する第3レジスタと、上記リレーシ
ョンのキーフィールド長を示すキーフィールド長情報を
保持する第4レジスタと、上記第1レジスタに保持され
た上記オペレーションコードによりロード処理が指定さ
れている場合、上記第1または第2バッファのうち上記
バッファ指定ビットで指定されたバッファに、上記第2
レジスタで指定されるレコード数、および上記第3レジ
スタで指定されるレコード長で示されるデータ量の上記
リレーションを書込む手段と、上記第1レジスタに保持
された上記オペレーションコードにより関係演算が指定
されている場合、上記第1または第2バッファのうち上
記バッファ指定ビットで指定されたバッファに、上記第
2レジスタで指定されるレコード数、および上記第3レ
ジスタで指定されるレコード長で示されるデータ量の上
記リレーションを書込む一方、上記第1および第2バッ
ファからそれぞれ1レコードずつデータを読出す手段と
、上記第1バッファから読出された1レコード分のデー
タを一時格納する第3バッファと、上記第2バッファか
ら読出された1レコード分のデータを一時格納する第4
バッファと、上記第1および第2バッファから読出され
た上記両レコードを上記第4レジスタで指定されている
上記キーフィールド間で比較する比較回路と、上記比較
回路の比較結果および上記第1レジスタに保持された上
記オペレーションコードに応じ、上記第1および第2バ
ッファに対する読出しアドレスの更新制御を行なうと共
に、上記第3および第4バッファに一時格納された上記
レコードの外部への出力制御を行なう手段とを具備する
ことを特徴とするデータ処理装置。A first buffer that stores the first relation, a second buffer that stores the second relation, an operation code that indicates the operation type, and a buffer designation bit that designates either the first or second buffer. a first register to hold; a second register to hold record number information indicating the number of records of the relation stored in the first or second buffer;
a third register that holds record information indicating the record length of the relation stored in the buffer; a fourth register that holds key field length information indicating the key field length of the relation; and the above-mentioned information held in the first register. If load processing is specified by the operation code, the second buffer is stored in the buffer specified by the buffer specification bit among the first or second buffer.
A relational operation is specified by the means for writing the relation of the amount of data indicated by the number of records specified by the register and the record length specified by the third register, and the operation code held in the first register. If so, the data indicated by the number of records specified by the second register and the record length specified by the third register is stored in the first or second buffer specified by the buffer specification bit. a third buffer for temporarily storing data for one record read from the first buffer; and a third buffer for temporarily storing data for one record read from the first buffer. A fourth buffer temporarily stores data for one record read from the second buffer.
a buffer, a comparison circuit that compares both records read from the first and second buffers between the key fields specified in the fourth register, and a comparison result of the comparison circuit and the first register. means for controlling the updating of read addresses for the first and second buffers and controlling the output of the records temporarily stored in the third and fourth buffers to the outside according to the held operation code; A data processing device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59183740A JPS6162138A (en) | 1984-09-04 | 1984-09-04 | Data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59183740A JPS6162138A (en) | 1984-09-04 | 1984-09-04 | Data processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6162138A true JPS6162138A (en) | 1986-03-31 |
JPH0370822B2 JPH0370822B2 (en) | 1991-11-11 |
Family
ID=16141143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59183740A Granted JPS6162138A (en) | 1984-09-04 | 1984-09-04 | Data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6162138A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05128164A (en) * | 1990-03-27 | 1993-05-25 | Internatl Business Mach Corp <Ibm> | Data base processing device |
US5692746A (en) * | 1995-08-08 | 1997-12-02 | Roll Systems, Inc. | Sheet rotator and justifier |
-
1984
- 1984-09-04 JP JP59183740A patent/JPS6162138A/en active Granted
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05128164A (en) * | 1990-03-27 | 1993-05-25 | Internatl Business Mach Corp <Ibm> | Data base processing device |
US5692746A (en) * | 1995-08-08 | 1997-12-02 | Roll Systems, Inc. | Sheet rotator and justifier |
Also Published As
Publication number | Publication date |
---|---|
JPH0370822B2 (en) | 1991-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6367705B2 (en) | ||
JPS6162138A (en) | Data processing device | |
JPS63279328A (en) | Control system for guest execution of virtual computer system | |
JPS5824954A (en) | Address controlling system | |
JPS5826584B2 (en) | data processing equipment | |
JPH0370825B2 (en) | ||
JPH0370823B2 (en) | ||
JPS61166625A (en) | Related arithmetic processor | |
JPS61166626A (en) | Related arithmetic processor | |
JPS61279929A (en) | Relation arithmetic processor | |
JPH0370820B2 (en) | ||
JPS6162136A (en) | Data processing device | |
JPS6162139A (en) | Data processing device | |
JPH01201751A (en) | Memory protecting device | |
JPH03103924A (en) | Data processor | |
JPS623320A (en) | Disk controller | |
JPH0683640A (en) | Interruption response processing system | |
JP2504535B2 (en) | Bus unit configuration method | |
JPS63103312A (en) | Timer control system | |
JPS63155330A (en) | Microprogram controller | |
JPH0496801A (en) | Programmable controller | |
JPS635433A (en) | Branch control system | |
JPS61260340A (en) | Block transfer control part | |
JPH0224756A (en) | Data transfer system | |
JPH0439732A (en) | Variable length data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |