JPS6162139A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS6162139A
JPS6162139A JP59183742A JP18374284A JPS6162139A JP S6162139 A JPS6162139 A JP S6162139A JP 59183742 A JP59183742 A JP 59183742A JP 18374284 A JP18374284 A JP 18374284A JP S6162139 A JPS6162139 A JP S6162139A
Authority
JP
Japan
Prior art keywords
register
output
record
data
flag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP59183742A
Other languages
English (en)
Other versions
JPH0370824B2 (ja
Inventor
Susumu Matsuda
進 松田
Hiroshi Sakai
浩 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP59183742A priority Critical patent/JPS6162139A/ja
Publication of JPS6162139A publication Critical patent/JPS6162139A/ja
Publication of JPH0370824B2 publication Critical patent/JPH0370824B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、特に関係データベース処理で必要となる関
係演算に好適するデータ処理装置に関する。
[発明の技術的背景とその問題点] 関係データベースにおける主たる処理の1つに、2つの
りレーション間の関係演算がある。関係演算として番よ
、結合(Join)、制約(Restrtction)
、射影(P rojection )などが知られてい
る。
この種の関係演算では、その出力は必ずしも元のリレー
ションのレコードの全ての属性を必要とせず、その1部
のみでよい場合が多い。そこで、レト 、ソこの発明は上記事情に鑑みてなされたものでそフの
目的は、待に関係演算で扱われるレコード中の11S望
のフィールドだけを高速で選択出力できるデ゛4; 1:−9処理装置を提供することにある。
[発明の概要] この発明では、1レコード分のデータを格納するレコー
ドバッファが設けられる。このレコードバッファに格納
されている1レコード分のデータの外部への出力は、読
出し制御部によって行なわれる。また、この発明では、
外部出力対象レコードの第1の切出し位置を指定する第
1切出しポインタと、上記外部出力対象レコードの第2
の切出し位置を指定する第2切出しポインタとが設けら
れる。第1切出しポインタの内容は、第2切出しポイン
タにより、読出し制御部からレコードバッファに提示さ
れる読出しアドレスと比較される。一方、第2切出しポ
インタの内容は、第2比較器により、上記読出しアドレ
スと比較される。第1および第2比較器の比較結果は、
切出し制御部に導かれる。
切出し制御部は、第1および第2比較器の比較結果に応
じ、読出し制御部の動作を制御する。これにより、ルー
コード中の指定されたフィールドのみが外部に選択出力
される。
[発明の実施例] 第1図はこの発明の一実施例に係るマーシャ10の構成
を示し、第2図は第1図のマーシャ10を適用する関係
データベースエンジン(以下、RDB・6Eと称する)
の構成を示ず。第2図のRDBEにおいて、11はRD
BE全体を制御するCPIJ、12は2−クエイ・マー
ジソート方式を適用するソータ(ソート処]!I!装置
)である。ソータ12は12段のソート・セル12−O
〜12−11からなり、最大4にレコードのソー1−処
理が行なえるようになっている。
13はソータ12の入力側に設けられ、ソート処理にお
いて比較対象となるキーフィールドをレコードの先頭に
移動するなどのソート前処理を行なうINアライナくソ
ート前処理装置)、14はINアライナ13のソート結
果が正しいか否かを監視するソート・チェッカである。
マーシャ10は、ソート・チェッカ14に接続され、ソ
ータ12によりソート処理されている、1つ乃至2つの
りレーション間で、関係演算を高速に実行するように構
成されていφ。
INアライブづ3、ソータ12、ソート・チェッカ14
、およびマーシャ10は、ソート処理と、関係演算処理
を連動して、入力データに同期したバイブライン処理を
行なう専用ハードウェアであるエンジンする)とのイン
タフェースを制御するHMアダブ)り(以下、HMAと
称する)である。HM A 16は、トとして動作する
。18はCPU11の入出力バス、19はDMAバスで
ある。入出力バス18には、マーシャ10を始めとする
エンジン・コア15の各構成要素、CP U 11、お
よび8MA16.17が接続され、DMAバス19には
、CP U 11および8MA16.17が接続される
マーシャ10は、第1図に示すように、演算部OPPと
、出力選択部oSPと、これら演算部OPPおよび出力
選択部oSPを制御する制御部CNTPとからなる。
演算部OPPにおいて、201Jは第1のりレーション
を格納するU(Upper)バッファ(以下、UBと称
する)、20Lは第2のりレーションを格納するL (
L ower)バッファ(以下、LBと称する)である
。21UはUB20Uに書込むデータを保持する入力レ
ジスタ(INUレジスタ)、21LはLB20Lに嘉込
むデータを保持する入力レジスタ(Iレジスタ(LOW
レジスタ)である。23はUPR「置 ・:?、ジスタ22UおよびLOWレジスタ22Lの各
内容、111 ニーを比較する比較器(以下、CMPと称する)、24
UはIJPRレジスタ22Uの内容を出力選択部○SP
 fillへ伝達する出力レジスタ(OTtJレジスタ
)、241はLOWレジスタ22Lの内容を出力選択部
O8P側へ伝達する出力レジスタ(○TLレジスタ)で
ある。25UはUB20Uに対する書込みポインタとし
ての書込みアドレスレジスタ(WAUレジスタ)、25
LはLB20Lに対する書込みポインタとしての書込み
アドレスレジスタ(WALレジスタ)である。26Uは
U3201Jに対する読出しポインタしての読出しアド
レスレジスタ(RAUレジスタ)、26LはLB20L
に対する読出しポインタとじての読出しアドレスレジス
タ(RALレジスタ)である。WAUレジスタ25U、
WALレジスタ25L。
RAUレジスタ26U1およびRALレジスタ261は
、カウンタ機能を有す・る。27UはRAUレジスタ2
6Uの内容を保持するバックアップレジスタ(BUUレ
ジスタ)、27LはRALレジスタ2(31の内容を保
持するバックアップレジスタ(BULレジスタ)である
。28UはWAUレジスタ25UおよびRAUレジスタ
26Uの各内容を比較する比較器(CMP) 、28L
はWALレジスタ25LおよびRALレジスタ26Lの
各内容を比較する比較器(゛ i(CMP)である。29UはWAUレジスタ25Uま
1、 °たはRAUレジスタ26Uの内容をUB20Uに対す
“るメモリアドレスとして選択するマルチプレクサ、2
9LはWALレジスタ2SLまたはRALレジスタ。
26Lの内容をLB20Lに対するメモリアドレスとし
て選択するマルチプレクサである。
第1図の出力選択部O8Pにおいて、30UはUB20
Uからの1レコード分のデータを格納するUレコードバ
ッファ(U R830) 、30LはLB20Lからの
1レコード分のデータを格納するLレコードバッファ(
LRB30)である。31UはOTUレジスタ24Uの
内容をU RB 30Uに対する書込みデータとして保
持する入力レジスタ(INURレジスク)、31LはO
TLレジスタ24Lの内容をLR830Lに対する書込
みデータとして保持する入力レジスタ(INLRレジス
タ)である。32はURB30UまたはLRB30Lか
らの読出しデータを選択するマルチプレクサ、33はマ
ルチプレクサ32からの選択出力データをラッチする出
力レジスタスレジスタ(WALRレジスタ)である、3
5UはU RB 30Uに対する読出しポインタとして
の読出しアト″′ジ2り(RAURL′92り)・35
L     。
はLRB30Lに対する読出しポインタとしての読出し
アドレスレジスタ(RALRレジスタ)である。WAU
Rレジスタ34U、WALRレジスタ34L、RAUR
レジスタ35U、およびRALRレジスタ35Lは、カ
ウンタ機能を有する。36tJはWAURレジスタ34
UまたはRAURレジスタ35Uの内容をU RB 3
0Uに対するメモリアドレスとして選択するマルチプレ
クサ、36LはWALRレジスタ34LまたはRALR
レジスタ35Lの内容をLRB30Lに対するメモリア
ドレスとして選択するマルチプレクサである。
第1図の制御部CNTPにおいて、38は制御部CNT
Pの中心をなす主制御部、39は主制御部38内に設け
られた8ビツトのマージ演算レジスタ(MOPレジスタ
)である。MOPレジスタ39には、第3図に示すよう
に、マージ演算の指定を行なう5ビツトのマージ演算指
定コード(MRG−れる。この例では、AS/DS=O
で昇順が、AS/DS=1で降順が指定される。また、
U/L40はc p u ilに対するインタフェース
である入−1カインタフエース、41は入出力インタフ
ェース40に設けられたコマンドレジスタ(CMDレジ
スノi?夕)である、CMDレジスタ41には、CP 
U 11か−らの指定により、8ビツトのコマンドデー
タが設定される。このコマンドデータの第Oビットは、
第4図に示すように、レジスタ指定ビット(REG、I
NDビット)である。REG、INDビットは、コマン
ドデータの第O〜第7ビツトが、マーシャ10内のレジ
スタ(のレジスタ番号)を指定するデータとして用いら
れる(REG、IND−1の場合)か、或はコマンドデ
ータ本来の動作指定データとして用いられる(REG、
IND=0の場合)かを指定する。REG、IND=O
の場合、第4図に示すように、コマンドデータの第2ビ
ツトはエンジン・コア15のリセットを指定するリセッ
ト指定ビット(R8Tビット)、第3ビツトはエンジン
・コア15の起動を指定するエンジン起動指定ビット(
ENG、Goビット)、第4ビツトはマーシャ10のみ
の起動を指定するマージャジスタ261および後述する
FLEMP52Lのクリアを指定するしりトライ指定ビ
ット(LRTRYビット)として用いられる。なお、上
記した各ビットの動作指定は、論理II 111で有効
である。
再び第1図を参照すると、42はUB20UまたはLB
2OLに格納されるリレーション(ストリーム)の総レ
コード@TRNを示すトータルレコード数レジスタ(T
RNレジスタ)1,43LIはUB20Uに格納される
リレーションのレコード長R8Uを承すレコードサイズ
レジスタ(R8Uレジスタ)、43LはLB2OLに格
納されるリレーションのレコード長R8Lを示すレコー
ドサイズレジスタ゛(R3Lレジスタ)である。44は
R8Uレジスタ43UまたはR8Lレジスタ43Lの内
容を選択するマルチプレクサ、45はマルチプレクサ4
4からの選択出力データを初期値としてロードし、UB
20UまたはLB2OLへの書込み時にカウントダウン
されるライトカウンタ(WRCカウンタ)、46はTR
Nレジスタ42の内容を初期値としてロードし、WRC
カウンタ45からのボロー信号に応じ゛てカウントレジ
スタ)、48はVDLレジスタ47の内容を初期値とし
てロードし、LB20U(およびLB2OL)からのデ
ータ読出し時にカウントダウンされる有効データ長カウ
ンタ(VCTカウンタ)である。
MoPレジスタ39、CMDレジスタ41、TRNL/
ジスタ42、R8Uレジスタ43tJ、R3Lレジスタ
43L1およびVDLレジスタ47は、第2図のCPU
11により、予めセットアツプ可能である。  ″49
U1.tR3Uレジスタ43Uの内容を初期値してロー
ドし、UB20Uからのデータ読出し時にカウントダウ
ンされるリードカウンタ(RCUカウンタ)、49Lは
R8Lレジスタ43Lの内容を初期値しでロードし、L
B20Lからのデータ読出し時にカウントダウンされる
リードカウンタ(RCLカウンタ)である。50UはR
CUカウンタ49tJからのボロー信号に応じてセット
され、u s 20U’からの読出しデータがルーコー
ドの最後のデータであることを示すレコードエンドフラ
グ(FUEフラグ) 、50LはRCLカウンタ49L
からのボロー信号に応じてセットされ、LB20Lから
の読出しデ書込み完了フラグ(FUWEDフラグ)、5
1Lは1Ls2oLへの書込みが完了したことを示す書
込み涜了フラグ(FLWEDフラグ)である。52Uは
!UB201Jが空状態となったことを示すエンプティ
フラグ(FUEMPフラグ) 、52LはLB20Lが
空状態となったことを示すエンプティフラグ(FLEM
Pフラグ)である。53UはtJB20Uがらのデータ
の外部出力を指示する出力指示フラグ(FUoフラグ)
、53LはLB20Lからのデータの外部出力を指示す
る出力指示フラグ(PLOフラグ)である。
54UはU RB 30Uからの読出しレコードに対す
る第1の切出し位置を指定する切出しポインタとしての
レジスタ(O8UAレジスタ) 、54LはLRB30
Lからの読出しレコードに対する第1の切出し位置を指
定する切出しポインタとしてのレジスタ(oSLAレジ
スタ)、55UはURB30Uh1らの読出しレコード
に対する第2の切出し位置を指定する切出しポインタと
してのレジスタ(O8UBレジスタ) 、55LはLR
B30Lからの読出しンタ(CTRカウンタ) 、57
UはCTRカウンタ56および03UAレジスタ54U
の各内容を比較する比較器(cM P ) 、57Lは
CTRカウンタ56おおよび08UBレジスタ55Uの
各内容を比較するii比較器(CMP)、58LはCT
Rカウンタ56およ・び08LBレジスタ55Lの各内
容を比較する比較器(CMP)、59UはCTRカウン
タ56およびR8Uレジスタ43Uの各内容を比較する
比較器(CMP)、591はCTRカウンタ56および
R8Lレジスタ431の各内容を比較する比較器(CM
P)である。○SUAレジスタ54U、05UBレジス
タ55U1oSLAレジスタ54L、08LBレジスタ
55Lは、第2図のc p u ilにより、予めセッ
トアツプ可能である。
次に、第1図の主制御部38の構成を、第5図を参照し
て説明する。第5図において、60はFUEフラグ50
tJおよびFLEフラグ50L、更にはCMDレジスタ
41などに応じて各種制御信号を発生するタイミングを
決定する制御タイミング発生回路、61はMOPレジス
タ39オよびCMDレジスタ41の内容に応じ、制御タ
イミング発生回路60からのスタート指示のタイミング
で各部をクリアするクリア回路である。62はCMP2
3の比較結果およびVCTカウンタ48からの出力によ
り、U B 201J eよ′下崇力制御部・65はM
OPレジスタ39の内容およびパ比較制御部62の比較
確定結果に応じ、制御タイミ割込み制御、および出力制
御などのための各種別・御信号を発生する制御信号発生
回路である。
次に、第5図の割込み制御部63周辺の構成を、第6図
を参照して説明する。第6図において、66はMOPレ
ジスタ39からのtJ/Lビットが入力されるインバー
タ・67tJはイン″−夕66の出力とS    9.
1TCカウンタ46からのボロー信号とが入力されるア
ンドゲート(A)、67LはMOPレジスタ39からの
U/LビットとSTCカウンタ46からのボロー信号と
が入力されるアンドゲート(A)である。
FUWEDフラグ51UはA67U、FLWEDフラグ
51LはA67Lからの出力信号に応じ、セットされる
。68UはCM P 28Uの比較結果(一致検出信号
)およびFIJWEDフラグ51Uからの出力信号が入
力されるアンドゲート(A)、68LはCMP28Lの
比較結果(一致検出信号)およびF LWE襖信号を制
御タイミング発生回路60からの指定タイミングでゲー
トするゲートである。FUEMPララグ52Uはゲート
69U、FLEMPフラグ52LO0t −はゲート69Lからの出力信号に応じ、セットされ。
る。70はMOPレジスタ39の内容(マージ演算指定
情報)をデコードするデコーダである。デコーダ70は
、マージ演算指定情報がUB20Uへの第1のりレーシ
ョンのロードを指定している場合に、ロード信号71t
Jを、L82OLへの第2のリレーションのロードを指
定している場合に、ロード信号711を出力する。
72tJはデコーダ70からのロード信号7NJとFt
JWEDフラグ51Uからの出力信号が入力されるアン
ドゲート(A)、72Lはデコーダ70からのロード信
号71LとFLWEDフラグ51Lからの出力信号が入
力されるアンドゲート(A)である。731Jは制御信
号発生回路65からの割込み許可信号74UとFUEM
Pフラグ52Uからの出力信号とが入力されるアンドゲ
ート(A)、73Lは制御信号発生路65から発生され
る。例えば、5ORT (ソート)系演算やRESTR
ICT (制約)系演算が指定されている場合には、?
J込み許可信号74U、74Lが出力され、JOIN(
結合)系演算が指定されている場合には割込み許可信号
74tJだけが指定される。また、PASS (パス)
系演算が指定されている場合には、U/L=O(即ちt
JB20U指定)!あれば割込み許可信号74Uが、U
/L=1 (即〜ちLB20L指定)であれば割込み許
可信号74シがヵ) °1山力される。75はA72U、A72L、A73U
、およ−1+ びA73Lからの各出力信号が入力されるオアゲート(
OR)、76はOR75からの出力信号に応じて割込み
を発生する割込み発生回路である。
次に、第5図のクリア回路61周辺の構成を、第7図を
参照して説明する。第7図において、77はMOPレジ
スタ39からのU/Lビットが入力されるインバータ、
78Uはインバータ77からの出力信号とCMDレジス
タ41に保持されたコマンドデータ中のENG、Goビ
ットとが入力されるアンドゲート(A)、78LはMO
Pレジスタ39からのUA78Lからの出力信号と上記
R8Tビットとが入力されるオアゲート(OR)である
。80Uは0R79Uからの出力信号とCMDレジスタ
41からのU出力信号を、WAUレジスタ25Uおよび
F U ’VV E″″−bフラグ51Uに対するクリ
ア信号として、制御りイ1ミング発生回路60からの指
定タイミングでゲー511に対するクリア信号として、
制御タイミング発生回路60からの指定タイミングでゲ
ートするゲートである。821Jは、0R80Uからの
出力信号を、RAUレジスタ26UおよびFUEMPフ
ラグ52Uに対するクリア信号として、制御タイミング
発生回路60からの指定タイミングでゲートするゲート
、82Lは、0R80Lからの出力信号を、RALレジ
スタ26LF3よびFLEMPフラグ52Lに対するク
リア信号として、制御タイミング発生回路60からの指
定タイミングでゲートするゲートである。
次に、第5図の出力制御部64周辺の構成を、第8図を
参照して説明する。第8図において、83はFLJOフ
ラグ53U、 53Lの状態に応じてURB30U、3
0Lからのデータの出力順を制御する出力シーケンス制
御部、84jJはU RB 30Uからのデータ読出し
を制御するtJRB読出し制御部、84LはL指示に応
じてレコード読出し制御動作を開始し、からの出力指示
信号85U、85Lに応じてセットする。86はtJR
B読出し制御部84U、84Lからの(ROUTLzジ
スタ33用(7)) スト0−7(8号87U。
87Lが入力されるオアゲート、88はOR8Gからの
出力信号をゲートしてROUTレジスタ33に出力する
ゲート、89は切出し制御部である。切出し制御部89
は、出力シーケンス制御部83からの指示に従い、CM
 P 57LI 、 58(JまたはCMP57L、 
58Lの比較結果を原祝し、その監視結果に応じてゲー
ト88を制御づ°る。
次に、上記した構成の動作を、第2図に示すソータ12
の容量を越えるソート処理(これを外部ソートと称する
)の場合を例にとり、第9図乃至第13図を参照して説
明する。
まず、外部ソートの概念について説明する。第2図のR
DBEでは、ソータ12の容量を越えるりでソータ12
に導かれる。そして、ソータ12により、ニア( ′・、、そのバッファナイズ単位にソートされた後、ソ
ート・チェッカ14を介してマーシャ10に導かれ、同
・’%−ジャ10により、更に大きな単位でソートされ
一′ る。上記した外部ソートの手順の概略を第9図に示す。
即ち、ソート対象となる原リレーションをA1とすると
、外部ソートの手順の概略は、以下””′(ソータ12
の容量)とマーシャ10内のU B 20U 。
2OLのバッファサイズは等しいものとする。
■原すレーションA1を、ソータ12の容量単位に分割
し、A11〜A1n(この例ではn−4)を得る。
■A11〜A14を、ソータ12によりそれぞれソート
し、A21〜A24を得る。
■A21. A22をマーシャ10によりソートシ、A
31、32を得る。同様に、A23. A24からA3
3.A34を得る。
■(A31. A32)と(A33. A34)とを2
組のりレーションとしてマーシャ10によりソートし、
ソータ12の容量の単位に分割し、マーシャ10を用い
て2組の分割りレーションごとの外部ソートを行なうこ
とから始められる。この動作が繰返されの例では、 A
31. A32からなるリレーション)とサブリレーシ
ョンS21.322.・・・32mからなる第2のリレ
ーション82  (第9図の例では、A33゜A34か
らなるリレーション)とが得られる。明らかなように、
リレーション31.32内では、それぞれソートが完了
している。そして、第1のりレーション$1および第2
のりレーションS2を、マーシャ10の外部ソート機能
によってマージすることにより、第10図に示すように
、サブリレーション831.832・831(I−n+
m)からなる出力(ソート済み)リレーションS3が得
られる。
次に、上記した外部ソートの具体的動作について、n−
m−3の場合、即ちサブリレーションS11、812.
 S13からなる第1のりレーションS1、およびサブ
リレーション321. S22.323からなる第2の
りレーションS2に対する外部ソートの     5゛
;よ、 トを実行するためのコマンドの列と、これら各コマンド
による起動時および終了時におけるFIJWEDフラグ
51U、WAUレジスタ25U、RAUレジスタ26t
JSFLWEDフラグ51m、WALレジスタ25L、
RALレジスタ26Lの各内容(状態)との対応関係を
示す。第11図において■〜■はコマンドの実行順を示
す。また、第12図は第11図に示す各コマンドの実行
終了時のUB20Uお一コよび1820Lへの書込み位
置(実線)並びに読出へ; 一シ位置(破線)の変化を説明する図、第13図は也;
;。
いる場合の制御信号発生回路65の入出力論理を示す図
である。まず、S11に対するセットアツプが、c p
 u iiからの指示により行なわれる。即ち、CPU
11により、マーシャ10が義器指定され、しかる後コ
マンドデータが入出力バス18を介してマージ1?10
に転送される。CP U 11からのコマンドデータは
、マーシャ10内の入出力インタフェース40ちREG
、INDビットが論理″°1″に設定されており、マー
シャ10内のレジスタ(レジスタ番号)を指定している
。CPU11は、上記したコマンドデータにより、レジ
スタ指定を行なうと、該当レジスタにセラ1−すべきデ
ータ(セットアツプデータ)をライト信号と共に入出力
バス18上に送出する。しかして、入出力バス18上の
データは、CMDレジスタ41に保持されているコマン
ドデータで111、ノこの例では、CMDレジスタ41
は、REG、INDビットが論理II 1 I+の場合
、CPU11からのライト信号に応じてカウントアツプ
されるように、′腕っている。したがって、セットアツ
プ対象となi、るレジスタのレジスタ番号が連続してい
る場合に′“は、一旦マージ、・10の機器指定を行な
・てコマンドデータを転送した後は、単に所望のデータ
(セットアツプデータ)と共にライト信号を入出力バス
18上に繰返し出力するだけでよい。このようにして、
MOPレジスタ39に、例えばりレーションのロードを
指定するMRG−OPコード、UB20−’ ;;: (を先−頭フイールド位置を示す情報がセットされ、0
8UBレジスタ55Uにレコードの最終フィールド位置
を示す情報(即ち、レコード長R8U)がセットされる
。また、R8Uレジスタ43Uにレコード長RSU (
第1のりレーションS1内の各レコードのレコード長)
がセットされ、VDLレジスタ47にレコード内キーフ
ィールド長を示す有効データ長VDLがセットされ、T
RNレジスタ42に811の総レコード数TRNがセッ
トされる。なお、のコマンドデータを、マーシャ10の
入出力インタフェース40内のCMDレジスタ41にセ
ットせしめる。このコマンドデータは、その第3ビツト
、即ちENG、Goビットが論理111 I+に設定さ
れたするときに使用される。この場合、マーシャ10は
、UB20UまたはLB2OLに新たに格納されるデー
タを用いてデータ処理を行なうことになる。これに対し
、マーシャ10だけに対するGoコマンドとして、MR
G、Goコマンドが用意されている。
このMRG、GOコマンドでは、IJB201Jまたは
LB20Lに既に格納されている有意データに対して処
理が行なわれる。
マーシャ10は、CMDレジスタ41にセットされたE
NG、Goコマンドにより起動される。このとき、クリ
ア回路G1により、WAUレジスタ25U1RAtJレ
ジスタ26USFLIWEDフラグ51U1およびFU
EMPフラグ52LIがクリア(リセット)される。即
ち、MOPレジスタ39にセットされたマージ演算指定
情報のU/Lビットが論理″“O11、CMDレジスタ
41にセットされたコマンドデータ信号は、0R79U
を介してゲート81Uに導かれる、1 主回路60のスタートタイミング発生橢能によるりり、
5ア、イ、ア、j工、上記論理・・1・・。信号、ケー
トする。ゲート81Uからの論理II 111の信号は
W。
AUレジスタ251JおよびFUWEDフラグ51Uに
導かれ、ゲート82LJからの論理111 I+の信号
はRAUレジスタ26UおよびFUEMPフラグ52U
に導かれる。これにより、WAtJレジスタ25U、R
AUレジスタ26U、FUWEDフラグ51U、およ″
iFuEMpフラグ52t、Iがクリアされる。この状
sr、マージ鬼?10ハ、MOPレジスタ39内のり。
、′i大o < u >コマンドで指定されたデータ処
理を、エンジン・コア15への入力に同期した速度で行
なう。このデータ処理について以下に述べる。
マーシャ10では、LOAD (U)コマンドに応じ、
主制御部38の制御により、UB20Uヘデータ(この
例では511)を格納する動作が行なわれる。
この際、対応するデータ<811)は、ソータ12から
ソート・チェッカ14を経由して、マーシャ10に所定
バイト単位で一定周期で供給される。ソート25Uを用
いてUB20L+に対するデータ書込みを行なう。即ち
、主制御部38内の図示せめ書込み制i2U部は、IN
Uレジスタ21Uに保持されるデータを、マルチプレク
サ29Uにより運択されたWAUレジスタ25Uで指定
されている、UB20Uのそのアド−111図参照)、
シたがってS11はUB20Uの0番「、1 □゛地から順に書込まれる。
“’:us2ouへのデータ書込みの場合、主制御部3
8:゛: 〜はその動作開始時に、R3Uレジスタ43Uの内容(
レコード長R8U)をマルチプレクサ44を介してWR
Cカウンタ45にセットし、TRNレジスタ42の内容
(総レコード数TRN)をSTCカウンタ46にセット
せしめる。WRCカウンタ45は、WAUレジスタ25
tJ (L B 2OLへの書込みの場合にはWALレ
ジスタ25L)が+1される毎に−1される。この結果
、WRCカウンタ45は、ルーコードの最終データの書
込み時にアップフロー状態どなり、ボロー信号を出力す
る。WRCカウンタ45からのボロー信号はSTCカウ
ンタ46に導かれ、これによりSTCカウンタ46は−
1される。このため、STCカウンタ46は、311の
最終レコードの最終データの書込み時にアップフロー状
態となり、ボロー信号を出力する。STCカウンタ46
からのボロー信号はA67U、 67Lの一端に共通に
導かれる。A67Uの他端には、MOPレジスタ3つ内
FUWEDフラグ51Uに対し、論理゛1″の信号が出
力される。これにより、FUWEDフラグ51=7.U
、はセットされる(第11図の■LOAD (U)、 
−’l山iNG、GOコマンドの欄参照)。主制御部3
8内結果、WAUレジスタ25tJは、811の(最終
レコードの)R線データの格納アドレスを示した状態で
、カウントアツプ動作を停止することになる。
第11図では、上記したWAUレジスタ25Uの内容の
ように、該当コマンドの実行終了時おける該     
□当しジスタの内容が、サブリレーションの(R終しコ
ードの)@線データの格納アドレスとなることを、l”
endJで示して(Xる。
FUW、EDフラグ51Uからのセット出力信号は、A
72Uの一端に導かれる。A72Uの他端には、デコー
ダ70からのロード信号71Uが導かれる。デコーダ7
0は、MOPレジスタ39M OPレジスタ39の内容
をデコードしており、この例のようにし0AD(U、)
コマンドの場合、論理II 1 uのロード信号7HJ
を出力する。したがって、この例では、Fらの論理” 
1 ”の信号は、OR75を介して割込み、、! 亡1
111は、マージt 10 (内の割込み発生回路76
)からの割込みを受付けると、マーシャ10内の図示せ
ぬステータスレジスタ(このレジスタはFtJWEDフ
ラグ51U、FLWEDフラグ51L、FUEMPフラ
グ52U、FLEMPフラグ52Lなどからなる)の内
容の胱出しを行ない、割込み要因の判別を行なう。
CPU11は、マーシャ10からのステータスの読取り
により、UB20tJへのサブリレーション(S11)
の書込みの完了を判断すると、次のサブリレーション、
即ら第2のりレーション内の821に関するセットアツ
プを行なう。この場合のセットアツプは、前記した81
1に関するセットアツプと略同様である。なお、有効デ
ータ長VDLは、第1のりレーションS1および第2の
りレーションS2の各レコードにおいて共通であるため
、311の場合を除いてレットアップは不要である。し
たがって、S21の場合のセットアツプ対象レジスタは
、・112; ニャージ演陣指定情報(SORT−EX (L)コマ−
ジャ10が再び起動される。このとき、クリア回路61
により、WALレジスタ25L、RALレジスタ26L
、FLWEDフラグ51L、およびFLEMPフラグ5
2Lがクリア(リセット)される。即ち、MOPレジス
タ39にセットされたマージ演算指定情報のU/Lビッ
トが論理”1”、CMDレジスタ41にセットされたコ
マンドデータく但しREG。
lN0−〇)内のENG、Goビットが論理“1″の場
合、クリア回路61内のA78Lのアンド条件が成立し
、A2Bしから論理“1゛°の信号が出力される。A7
8Lからの論理″l゛111の信号は、0R79Lを介
してゲート81Lに導かれると共に、0R79L、。
80Lを介してゲート82Lに導かれる。ゲート81シ
二へEDフラグ51L、およびFLEMPフラグ52L
;1序クリアされる。この状態で、マーシャ101.t
、M’、’O,,PLzシスタ39内の5ORT−EX
 (L) コマンパ喰で指定されたデータ処理を行なう
。このデータ処理について以下に述べる。
マーシャ10では、5ORT−EX (L)コマンドに
応じ、主制御部38の制御により、L320Lへデータ
(この例では521)を格納する動作が行なわれる。こ
の際、対応するデータ(321>は、ソータ12からソ
ート・チェッカ14を経由して、マージ1710に所定
バイト単位で一定周期で供給され、この供給周期に同期
してINLレジスタ21Lに保持される。5ORT−E
X (L)コマンドの場合、マーシャ10の主副(I(
1部38内の図示せぬ書込み制御部は、WALレジスタ
251を用いてUB20Uに対するデータ書込みを行な
う。即ち、主制御部38内の書込み制御部は、INtJ
レジスタ21Lに保持されるデータを、WALレジスタ
25Lで指定されるLB2OLのそのアドレスに書込み
、WALレジスの0番地から順に書込まれる。
てWRCカウンタ45にセットし、TRNレジスタ42
の内容(総しコード敗TRN)をSTCカウンタ46に
セットせしめる。WRCカウンタ45は°、WALレジ
スタ25L (tJ B、20LIへの書込みの場合に
はWAUレジスタ25U)が+1される毎に−1される
。この結果、WRCカウンタ45は、ルーコードの最終
データの書込み時にアッダフロー状態となり、ボロー信
号を出力する。WRCカウンタ45からのボロー信号は
STCカウンタ46に導かれ、これによりSTCカウン
タ46は−1される。このため、STCカウンタ46は
、321の最終レコードの最終データの書込み時にアッ
ダフロー状態となり、ボロー信号を出力する。STCカ
ウンタ46からのボロー信号はA67U、67Lの一端
に共通に導かれる。A 671JのI!端には、MOP
レジスタ39内のU/Lピッ1−がインバータ66を介
して導かれ、A67Lの他端には、上記U/Lビットが
そのままLはセットされる(第11図の■5ORT−E
X′−)。この結果、WALレジスタ2SLは、321
の(最終レコードの)最終データの格納アドレスな示し
た状1m(end)でカウントアツプ動作を停止するこ
とになる。
この例では、UB20U (LB20L>に対するリー
ド/ライト動作は、時分割で行なわれる。即ち、マーシ
ャ10に6ける1動作サイクルは、リードサイクルと、
ライトサイクルとに2分されて使用される。5ORT−
EX (L)コマンドの場合、主制御部38内の図示せ
ぬ読出し制御部は、WALレジスタ25Lの内容WAL
およびRALレジスタ26Lの内容RALを比較するC
MP28L、並びにWAUレジスタ25Uの内容WAU
およびRAUレジスタ26Uの内容RAUを比較するG
MP28Uの比較結果を監視している。そして、RAL
<WAL、RAU<WAIJであれば、読出し制御部は
LB20出しを同時に行ない、しかる後RAUレジスタ
26す、RALレジスタ26Lの内容を+1する。この
ば、書込み制御部は次のライトサイクルにおいて、前記
したようにWALレジスタ25Lを用いたLB20Lへ
のデータ書込みを行なう。そして、上記した動作が繰返
される。RAIJレジスタ26U、RA’Lレジスタ2
f3Lは、前記したように起動時にリセットされており
(第11図参照)、シたがってUB20USLB2OL
からのデータ読出しはO番地から行なわれる。
U320tJ、LB2OLからのデータ読出しにおいて
は、ルーコードの先頭データの読出しに際し、RAUレ
ジスタ26tJ、RALレジスタ26Lの内容がBUU
レジスタ27U、BtJLレジスタ27Lに、R3LI
レジスタ43LJ、R8Lレジスタ431の内容がRC
Uカウンタ49U、RCLカウンタ49Lに、そしてV
DLレジスタ47の内容がVCTカウンタ48に、主制
御部38内の制御タイミング発生回路60からのルーコ
ード処理開始の指定タイミングで口INアライナ13に
より、比較対象となるキーフイ信号を出力する。VCT
カウンタ48からのボロー信号は、比較制御部62に導
かれる。また、RCUカウンタ49U、RCLカウンタ
49Lは、レコード長がR8UのUlllレコード、レ
コード長がR8LのL側しコードの最終データの読出し
時にアッダフロー状態となり、レコードエンドを示すボ
ロー信号を出力する。RCUカウンタ49U、RCLカ
ウンタ49Lからのボロー信号はFUEフラグ50U1
FLEフラグ50Lに導かれる。これにより同フラグ5
0U、 SQLがセットし、ルーコードの最終データの
読出しであることが示される。
UB20U、LB20Lから読出されたデータは、UP
RLzジスタ22LJ、LOWL/ジスタ22Lに保持
される。UPRレジスタ22tJ、LOWレジスタ22
しの保持データはCMP23に導かれる。また、Uに導
かれる。比較制御部62には、VCTカウンタ48から
のキーフィールドエンドを示すボロー信号も導かれる。
比較制御部62は、CMP23からの比較結果が、U>
LまたはU<Lの場合は、その時点でU側しコード(こ
の例ではS11内のルーコード)とL側しコード(この
例ではS21内のルーコード)との指定キーフィールド
間での比較結果を確定し、CMP23の・比較結果を制
御信号発生回路65に伝える。これに対し、U−Lの場
合には、比較結果を確定することはできないため、次の
データに対する比較結果が与えられるまで、比較結果の
確定を控える。但し、VCTカウンタ48からのボロー
信号により、キーフィールドの終了(キーフィールドエ
ンド)を検出した場合には、U−Lを確定し、CMP2
3からの一致検出結果を制御信号発生回路65に伝える
。なお、上記の説明で、UはUB20Uからの読出しデ
ータを示し、LはLBて、U RB50U 、 L R
B50Lに書込まれる。この−ス1 Uパ@B50U、LRB30Lに対する書込みアドレス
は、:、RAuRレジスタ35U、35Lによって指定
される。RAURレジスタ35tJ、RALRレジスタ
35Lは、1レコード分の書込みに際しクリアされるよ
うになっており、したがってUB20U、LB201か
らの読出しデータは、IJRB30U、LRB30Lの
0番地から書込まれる。
主制御部38内の制御タイミング発生回路60は、FU
Eフラグ50UおよびFLEフラグ50mの状態を監視
している。そして、制御タイミング発生回路60は、F
UEフラグ50UおよびFLEフラグ50Lが共にセラ
1〜状態となったことを検出すると、即ちU側°レコー
ド、L側しコードのうちレコード長の長い方のレコード
のR終データの読出しを検出すると、(URB30Uま
たはLRB30Lからのルーコードの読出し出力が可能
となったとして)制御信号発生回路65に各種制御信号
の出力のタイミング指示を与える。制御信号発生回路6
5は、制御タイミング発生回路60からの指定タイミン
グで、7−レス、割込み制御部63、および出力制御部
64など・を制御する各種制御信号を発生する。好適な
実施′−制御信号発生回路65は1、MRG−OPコー
ドによって外部ソートが指定されている場合(即ち、こ
の例のように5ORT−EX演算の場合)第13図に示
す入出力論理に従って各種制御信号を出力する。例えば
、サブリレーション811,821・・・が昇順でソー
トされており、ASloS−1,即ち昇順ソートが指定
されているものとすると、制御信号発生回路65は、比
較結果がU=LまたはUくLの場合には、UB20.U
から次のレコードが読出され、LB20Lから現レコー
ドが再度読出され一′−,”φように指示する制御信号
を出力する。この制御RALレジスタ26Lへのロード
信号が出力された場合、(レコード処理開始時にRAL
レジスタ26Lから)BULレジスタ27Lにロードさ
れた現しラし方、RAUレジスタ26Uについては、次
のデータのアドレス(この場合には、次のレコードの先
朋アドレス)を示しており、回答変化はない。この場合
、前記したLIB201Jからのデータ読出しと同様に
して、次のレコードを先頭データより順に読出すことが
可能となる。また、制御信号発生回路65は、tJ R
B 30Uに書込まれたレコードの出力を指示する有効
な(論理11111−の)出力指示信号85Uを出力す
る。これに対し、比較結果がU>L(論理゛1°゛の)
出力指示信号85Lを出力する。
また、制御信号発生回路65は、比較結果およびAS1
0Sピッ1−の、状態に無関係に、有効な割込み一許可
信号741J、741を出力する。
; ′今、制御信号発生回路65からの制皿信号により
、註。
弓、U、 s 2OL+からの次のレコードの読出しお
よび1B=2OLからの現レコードの読出しが指示され
ると共に、論理111 ITの出力指示信号85Uが出
力された■j)、これによりFU○フラグ53Uはセッ
トする。
出力シーケンス制御部83は、FUOフラグ53Uおよ
びFLOフラグ531の状態を監視しており、この例の
ようにFUOフラグ53Uがセットした場合、LJRB
読出し制御部84Uに対しU RB 30Uからのレコ
ードの読出し出力を指示する。LJRB読出し制御部8
4Uは、出力シーケンス制御部83からの指示に応じて
RAURレジスタ35UおよびCTRカウンタ56をク
リアし、しかる後RAURレジスタ35Uを用いてU 
RB 30Uからのデータ読出しを行なう。U R83
0Llからの読出しデータは、(LIR830Uからの
読出しが指定されている場合にURRカウンタ56の内
容を+1すると共に、出力ストローブ信号871Jを出
力する。この出力ストローブ信号87Uは、OR86を
介してゲート88に導かれる。
ゲート88は、OR86からの出力信号(この例では1
41力ストロープ信号87U)を、切出し制御部89か
らの出力許可に応じてROUTレジスタ33に出力−″
”′:”′τ− ・!−(する。この切出し制御部89の制御動作につい
ては、゛:^J、OIN系演算を例にとって詳述する予
定であ?、こ1こではURB30Uに書込まれたルーコ
ードの先頭データから最終データの読出し期間中、ゲー
ト88に対し出力許可が与えられるものとし、説明を省
略する。切出し制御部89からの出力許可により、ゲー
ト88からの出力信号である出力ストローブ信号87U
がROUTレジスタ33に導かれると、(マルチプレク
サ32経出でROLJTレジスタ33に導かれている)
URB30Uからの読出しデータは、R01JTレジス
タ33にラッチされる。そして、ROIJTレジスタ3
3にラッチされたデータは、HMA17を介して図示せ
ぬHMに転送される。なお、URB 30Uからのデー
タ読出し期間中、U B 20U 。
LB2OLから次のレコードを読出し、同レコードを所
定バイト単位でU RB50U 、 L R830Lの
0    ′□番地から書込むことも可能である。この
場合、URB30U、LRB30Lに対するリード/ラ
イト勅作は、U320L11L82OLに対するそれと
同様に、時分割で行なう必要がある。
QMP28Lは、論理“′1′′の一致検出信号を出力
、す′る。この一致検出信号はA68Lの一端に導かれ
ンる。。A68Lの他端にはFLWEDフラグ51Lか
ら、j 9.j論理“1”の出力信号が導かれている。これは、
FLWEDフラグ51Lが前記したようにセット状態に
あることによる。この場合、A68Lのアンド条件が成
立し、A68Lから論理111 I+の信号が出力され
る。このA68Lからの論理“1″の信号は、LB2O
Lに対するサブリレーションの書込み(この例では52
1)が完了している状態で、RALレジスタ26Lの示
す読出しアドレスがWALレジスタ25Lの書込みアド
レスに一致したこと、即ちL820Lが空状態となった
ことを示す。A68Lからの論理“1″の信号はゲート
69Lに導かれる。ゲート691は、A68Lからの論
理“°1′′の信号を、制御タイミング発生回路60か
らの指定タイミング(レコードエンド検出タイミング)
でゲートする。
この結果、AGIIILからの論理゛1”の信号はFL
EMPフラグ52Lに出力され、同フラグ52Lはセッ
トする。FLEMPフラグ52Lからの論理II I 
11の(セット)出力信号はA73Lの一端に導かれる
IFρ、信号を出力する。A73Lからの論理II 1
11の信の割込み発生回路16)からのv1込みを受付
けると、マーシャ10内の図示せぬステータスレジスタ
の内容の読出しを行ない、割込み要因の判別を行なう。
c p u iiは、マーシャ10からのステータスの
読取りにより、LB20Lが空状態となりたことをを判
断すると、次のサブリレーション、即ち第2のリレーシ
ョン内の822に関するセットアツプを行なう。この場
合のセットアツプは、前記した321に関するセットア
ツプと略同様であり、MOPレジスタ39には、外部ソ
ートを指定するMRG−OPコード、ソート類を指定す
るAS/DSS/上、LB20Lを指定する論理゛1”
のtJ/Lピッ1〜を含むマージ演算指定情報(SOR
T−EX (L)コマンド)がセットされる。そして、
マーシャ10内のCMDレジスタ41に、S21の場合
と同様に、51L(およびFLEMPフラグ52L)が
クリアマ11 ′j方、WAtJレジスタ25tJ、RAUレジスタ2
61,1、FtJWEDフラグ51U(およびFLIE
MPフラグ52U)は、c p u iiへの割込み時
(即ち、動作終了時)の状態を保持する。したがって、
RAUしy」で示される。
クリア回路61によるクリア動作が行なわれると、マー
シャ10は、MOPレジスタ39内の5ORT−EX 
(L)コマンドで指定されたデータ処理(外部ソート)
を行なう。この場合、L側では(RAUレジスタ26L
Iの内容から明らかなように)IJB20tJに残って
いるサブリレーション(この例では511)の未処理レ
コード中の先頭レコード、L側では(RALレジスタ2
6Lがクリアされていることから)La2O2に新たに
書込まれたサブリレー用い、S23→UB20tJを指
定し、外部ソートを指示する。これにより、S11の残
り部分の先頭レコNG、Goコマンド(M11図の■)
を用い、5=iIl−q、→UB20LIを指定し、外
部ソートを指示する。
逆に、UB20tJに関するレジスタ、フラグ類、即ち
WAUレジスタ25LJ、RAtJレジスタ26LI、
FUWEDフラグ51U(およびFLIEMPフラグ5
2U)をクリアする(第11図の■の5ORT−EX 
(u)、ENG、Goコマンドの欄参照)。したがって
、この場合には、S12の先頭レコードおよび823の
残り部分の先頭レコードからの外部ソートが開始される
このようにして、マーシャ10においてマージソートが
行なわれ、第1のりレーションS1の一最終りレーショ
ン323が全て外部に出力されたものとする。この場合
、LB2OLが空状態となったことから、FLEMPフ
ラグ52Lがセットし、マーシャ10(内の割込み発生
回路7B)からCP U 11に割込みがかかる。CP
U11はマーシャ10からの割込みを受付けると、割込
み要因の判別を行なう。そして、CPU11は、LB2
0Lが空状態となり、第1;t、MRG、Goコマンド
により起動され、PASS−1(Ll)コマンドで指定
された処理、即ちRAUレジスタ2GUを用いたLIB
20Uからのデータ読出しと、UB20Uからの読出し
データの外部出力とを行なう。このMRG、GOコマン
ドによる起動に際t、 r ハ、R8T=ENG、Go
−URT;RY−LRTRY−0であることから、クリ
ア回路61によるクリア動作は禁止される。このため、
LIB20Uに関するレジスタ、フラグ類、即ちWAU
レジスタ25U、RALIレジスタ26tJ、FUWE
Dフラグ51U(およびFtJEMPフラグ52U)は
、前の状態、即ち第11図の■に示すS ORT −E
X (tJ) 、ENG、Goコマンドの実行終了時の
状態を保持する。明らかなように、RAUレジスタ26
tJは、UB20Uに残されたレコード群の先頭レコー
ドを指定している。したがって、マーシャ・かる。
CPU11は、マーシャ10からの割込みにより、。
LB20Lが空状態となりS12の残りが全て吐出され
たことを判断すると、マーシャ10への未入力データ(
この例では第1のりレーションS1の最後のサブリレー
ション$13)をマーシャ10経出で出力することを指
示するPASS−1(U)、EN’iiニーG 、 G
Oコマンドをマージ1710に与える。この場合のEN
G、GO=+vンドは、ENG、Go−1、G 、 G
 Oml v ントI、:、、 に V)起動サレ、H
M A 16、INアライナ13、ソータ12、ソート
・チェッカ14を介して入力される313のUB20L
Jへの書込みと、UB20Uに包込まれた313の読出
し出力とを行なう。この読出し、書込み動作は、前記し
た5ORT−EX (L) 、ENG、GO=+v:z
ド(7)141合と基本的に同じである。また、上記E
NG、Goコ関するレジスタ、フラグ類だけがクリア回
路61によりクリアされる。したがって、マーシャ10
に入力される513は、tJB20tJの0番地から書
込まれ、同じくO番地から読出される。
以上が、マーシャ10による外部ソート処理であ′4図
乃至第16図を参照して説明する。なお、第14図は第
11図に、第15図は第12図に、第トリ算は、1つの
対象りレーションの内から、条し件に合うレコードのみ
を出力する演算である。マーシャ10によるRESTR
ICT系演算では、条件データを第1のストリームとし
てUB20Uに予め格納しておき、対象りレーションを
第2のストリームとしてLB20Lに格納しつつ、演算
が開始される。この点は、前記した外部ソート(SOR
T系演算)の場合と同様である。そして、条件データの
指定キーフィールドと、対象りレーションのそれとの比
較を行ない、演算条件が成立したとき、L側しコードが
出力対象として出力選択部O8Pに送ちれる。なお、U
側しコードをL側しコードと共に出力対象とすることも
可能である。
今、条件データとしての第1のりレーションをSl、対
象りレーション(第2のりレーション)を82とすると
、CPU11はマージ1710に対し、まずLOAD(
Ll)’コマンドにより、S1→UB20Uを指定し、
ENG、Goコマンドによりマー11書込みにより、S
TCカウンタ46からボロー信号法にCP U 11は
、REST−EQ (L)コマンドにより、S2→LB
20Lを指定し、REST−EQを指示する。このRE
ST−EQは、条件データのキーフィールドと対象りレ
ーションのそれとが等しいとき、対象りレーションを出
力することヲ示ス。ソシテ、CPU11は、ENG、G
Oコvンドによりマーシャ10(を含むエンジン・コア
15)を起動する。以降の動作は、上記した外部ソート
(即ち5ORT−EXコマンド)の場合と略同様である
。即ち、マーシャ10では、まずLB20Lに関するレ
ジスタ、フラグ類がクリアされ、次にS21をLB20
LのO番地から始まるwA域に書込む動作が開始される
。LB20Lへのデータ書込みが開始されると、UB2
0UおよびLB20Lからのデータ読出しが開始される
。UB20UおよびLB20Lからの読出しデータはC
MP23に導かれ、CMP討LIB−20tJ 、 L
 B 2OLからのデータ読出しが該当し1.9 1、。
:1コードの最終データとなると、外部ソートの動作″
″5’Olがセットする(どちらが先にセットするかは
0、レコード長によって異なる)。制御タイミング発生
回路60は、両フラグ50LJ、50Lが共にセット状
態となると、制御信号発生回路65に対して各種制御信
号の出力のタイミング指示を与える。これにより、制御
信号発生回路65は、MOPレジスタ39に保持されて
いるマージ演算指定情報中のMRG。
GoコマンドおよびAs/DSビット、および比較制御
部62からの比較確定結果に応じ、U B 20U 。
LB20Lのレコード更新の制御、UB20U、LB2
OLに書込まれたレコードの出力指示笠を行なう。
そして、FUEフラグ50U、FLEフラグ50Lがリ
セットされ、次のレコード処理が行なわれる。
なお、この例のようにREST−EQ演算が指定されて
いる場合の制御信号発生回路65の入出力論理は、第1
6図に示す通りである。但し、第16図の入出力論理は
、マーシャ10への入カリレージし、CMP28Lから
一致検出信号が出力されたちの:とする。この場合、前
記した外部ソートの場合と同様に、FLEMPフラグ5
2Lがセットし、CPU11に対し割込みがかかる。こ
れによりCPU11は、マーシャ10での演算終了を判
断する。これは、CMP28Uから一致検出信号が出力
され、FUEMPフラグ52Uがセットした場合も同様
である。
このような状態で、IJB20LI、 LB20Lに格
納されているデータに対し、別の演算を行ないたい場合
がある。この場合、マーシャ10のみを起動することに
、なるため、基本的にはMRG、Goコマンドが使用さ
れる。しかし、これまでに示したMRG、GOコマンド
では、前記したようにUB20U或はLB2OLに関す
るレジスタ、フラグ類はクリアされない。これでは、U
320U1LB20L内のデータの先頭から所望の演算
を行なうことはできない。そこで、この実施例では、第
14図の■G、”Go−0(7)MRG、GC)=+v
ンドがl用される。・第7図のクリア回路61に示すよ
うに、URT−1−′4゜ RYビットは、OR80Llの一端に導かれ、LRTR
Yビットは0R80Lの一端に導かれる。したがって、
LJRTRY−LRTRY−1のこの例では、OR80
U 、 80Lの出力レベルは論理“1″となる。
このため、制御タイミング発生回路60からのスタート
タイミングで、URTRYビットに対応してRAUレジ
スタ26LJおよびFLJEMPフラグ52Uがクリア
され、LRTRYビットに対応してRALL/ジスタ2
eILおよびFLEMPフラグ52Lがクリアされる。
一方、WAUレジスタ25tJ、WALレジスタ25L
、FLIWEDフラグ51U、FLWEDフラグ51L
については、前の状態、即ち第14図の■に示すRES
T−EQ (L)、ENG、Goコマンドの実行終了時
の状態を保持する。したがって、UB20tJ、LB2
OLに格納されているデータに対し、その先頭データか
ら所望の演算(こンに対するRESTRICT系演算(
REST−E、o’演算)について、第17図および第
18図を参照して説明する。なお、第17図は第11図
に、第18図は第12図に対応する。今、条件データと
しての第1のりレーションを81、対象りレーション(
第2のりレーション)を82とする。また、S2は、R
ALレジスタ26Lの容量単位に応じて321〜S23
に分割されるものとする。なお、条件データであるSl
は、RAUレジスタ26LJの容量を越えないことを前
提とする。この場合、C1PU11からマーシャ10に
対し、まずLOAD (U)、ENG、Goコマンドが
与えられる。これによりCMP28Uに関するレジスタ
、フラグ類がクリアサレ(第17図の■LOAD (U
)、ENG。
Goコマンドの欄参照)、SlがUB20UのO番地か
ら所定バイト単位で書込まれる。Slの書込みが完了す
ると、CPU11からマーシャ10に対し、REST−
EQ (L) 、ENG、Goコマンドが照)、S21
をLB20Lの○番地から始まる領域に7’−”’1 4、.1込む動作が開始される。LB2OLへのデータ
占・7.込みが開始されると、前記したようにUB20
Uお1’、’・ 、;4よびL82OLからのデータ読出しが開始され、
■OLレジスタ41で指定されたキーフィールド部分の
比較が行なわれる。そして、FUEフラグ50Uおよび
FLEフラグ50Lが共にセット状態となると、レコー
ド聞の比較結果、MRG、Goコマンド、およびAs/
DSビットにより、U B 20U。
LB20Lに書込まれたレコードに対する出力指示、お
よびレコード更新が制御され、次のレコード処理に進む
。                   −f・′1
このようにして、REST−EQ (L) 、ENG、
Goコマンドで指定された演算が実行され、例えば第1
7図および第18図の■に示すように、RALレジスタ
261の内容がWALレジスタ25Lのそれに一致し、
CMP28Lから一致検出信号が出力されたものとする
。この場合、前記した外部ソートの場合と同様に、FL
EMPフラグ52Lがセットし、CP IJ 11に対
し割込みがかかる。これによりCP U 11は、Sl
と821との間の演算終了Goコマンドを与える。但し
、Slについては、+11− −・たENG、Goコマンド、即ちENG、Go−Uj
s、−rRy−1、REG、IND−R3T−MRG、
Go−LRTRY−0のMRG、GO’l:I’?ンド
が適用される。URTRY指定のENG、Goコマンド
が適用される。この場合、マーシャ10の起動に際し、
第7図のクリア回路61により、論理゛1”のURTR
Yビットに応じてRAUレジスタ26UおよびFUEM
Pフラグ521Jがクリアされ、論理”1 ” (7)
ENG、Goビット(お、、J=びU/Lビットによる
LB2OL指定)に応じてWALレジスタ25LSFL
WEDフラグ51m、RALレジスタ2G  ゝ−り、
FLEMPフラグ52Lがクリアされる。また、WAt
Jレジスタ25LI、FUWEDフラグ5HJについて
は、前の状態を保持する。したがって、US20LIに
既に書込まれている$1については、その先頭レコード
からの読出しが可能となる。また、Slが全て読出され
、LIB20Uが空状態となる場合の正しい検出も可能
となる。一方、S22についに、U RT RY指定の
ENG、Goコマンドで指定さられた演算が実行され、
例えば第17図および第、、、、1・;8.。。、1、
よう2.8.。ウッユ、26.。
内容がWAUレジスタ25Uのそれに一致し、CMP2
8Uから一致検出信号が出力されたものとする。
この場合、FUEMPフラグ52Uがセットし、Cp 
u iiに対し割込みがかかる。これによりCPU11
は、SlとS22との間の演算終了を判断する。
CP U 11は、次の823とUB20U内の81と
の間のREST−EQ演算のために、マーシャ10に対
し、REST−EQ (L) 、並びにLIRTRY指
定のENG、Goコマンドを与える。これにより、U3
20tJに既に書込まれているSlと、LB201に新
たに書込まれるS23との間のREST−EQ演算が、
その先頭レコードから行なわれる。
次に、マーシャ10による関係演算処理について、JO
IN系演算の場合を例にとり説明する。JOIN系演算
は、2つのりレーションの指定キーフィールドの比較を
行ない、条件が成立した組で新・1 のレコードに合成出力される。マーシャ10によるJQ
IN系演算では、LOAD (Ll)演算指定により、
第1のストリームをUB20Uに格納した後1.90I
N(L)系演算指定により第2のりレーションをLB2
0Lに格納しつつ、JOIN演算が行なわれる。そして
、UB20Uからの読出しレコード(U側しコード)の
指定キーフィールドと、LB20Lからの読出しレコー
ド(L側しコード)のそれとの比較を行ない、演算条件
が成立したとき、U側およびL側しコードの出力指示が
制御信号発生回路65から与えられる。JOIN−EQ
演算における制御信号発生回路65の入出力論理を、第
19図に示す。但し、第19図の入出力論理は、マーシ
ャ10への入力リレーションが昇順でソートされている
ことを前提としている。なお、JOIN系演算では、第
1および第2のりレーションは、tJ820LJ、LB
2OL(7)Ifflを越、t−f、そノソート順も同
じ必要がある。ソート類が同じであることは、前記した
5ORT系演算、RESTRICT系演算の場合にも同
様である。
さて、UB20U、LB20Lからの読出しレコードは
、CMP23による比較動作と並行して、UR゛′ト状
態となると、即ち、U側しコードおよびL側しコードの
最終データの読出しが共に検出されると、゛1制御信号
発生回路65は前記した外部ソートの場合°と同様に、
U320tJ、LB20Lに書込まれたレコードの出力
指示、およびレコード更新の制御を行なう。JOIN−
EQ演算のこの例において、比較制御部62によりIJ
−Lが確定しているものとすると、制御信号発生回路6
5は、第19図の入出力論理に示すように、論理“1″
の出力指示信号85U、85Lを出力する。この論理I
I 111の信号85Ll、85Lは、FUOフラグ5
3tJ、FLOフラグ53Lに導かれ、これにより同フ
ラグ53tJ、53Lはセットする。出力シーケンス制
御部83は、FUOフラグ53UおよびFLOフラグ5
3Lを監視している。
この例のように、FUOフラグ53U、FLOフラグ5
3Lが共にセットした場合、出力シーケンス制御部83
は、まずtJRB読出し制御部84LIに対してU32
0tJからのレコードの読出し出力を指示すると共に、
切出し制御部89にU側しコードに対する切出し制御を
指示する。URB続出し制御部841Jを介′してRO
UTレジスタ33に導かれる。UR8牌串し制御部81
1tJは、U RB 30tJから所定バイト=’o、
f≠−夕を読出す毎に、RAURレジスタ35LIおよ
びCTRカウンタ56の内容を+1すると共に、出力ス
トローブ信号87Uを出力する。CTRカウンタ56の
内容は、CMP57U〜59U、 CMP57L〜59
Lニ導カレ、oSUAレジスタ54U、oSUBLzジ
スタ55U、R5Uレジスタ43U%03LAレジスタ
54L10SLBレジスタ551%R3Lレジスタ43
Lと比較される。CM P57tJ、 5f3LIおよ
びCMP57L、58Lの比較結果は切出し制御部89
に導かれる。
切出し制御部139は、割込み制御部63からU側しコ
ードの切出し制御を指示された場合、CMP57Uおよ
びCM P 58Uを開始する。そして、切出し制御部
89は、現読出し中のデータのレコード内位置を示すC
TRカウンタ5Gの内容(この例では、RAURレジス
タ35Uの内容、即ちU RB 30tJに対する読出
しアドレスに一致)をXとすると、CTルジスタ33に
導かれ、U RB 30Uからの読出しデータがROU
Tレジスタ33にラッチされる。し1゜ パたが゛って、08IJA (第1の切出し位置)およ
び03UB (第2の切出し位@)を適切な値に設定す
ることにより、出力対象となるU側しコードから所望の
成性だけを選択的に切出し出力することができる。これ
は、L側しコードについても同様である。なお、08U
A (O8LA)−0SO8UB (O8LB)−R8
tJ(7)場合ニハ、1レコード分のデータがそのまま
出力される。
U R830Uからの読出しデータが該当レコードの最
終データどなると、CM P 59Uはオーバフロー状
態となり、CMP59Uからボロー信号が、出力される
。URB読出し制御部84Uは、CM P 59Uから
ボロー信号が出力されると、レコード読出し終了を判断
し、その旨を出力シーケンス制御部83に通知する。出
力シーケンス制御部83は、1JR8読出し制御部84
Uから終了が通知され、この例のようにFLOフラグ5
3Lがセットされていると、−、、l側レコードのうち
03LA≦X≦08LBを満・ 1グ。
足するフィールド部分のデータが切出し出力される! ・ 弓・ /([:l″1なお、前記実施例では、出力対象レコー
ドのう    1′ち、第1および第2の切出し位置で
挟まれたフィールド部分を切出すセンタ切出しの場合に
ついて”A゛−L/だが、その外側部分を切出すサイド
切出し・・・i およびサイドの両切出しに対処することも可能である。
[発明の効果] 以上詳述したようにこの発明によれば、特に関係演算で
扱われるレコード中の所望のフィールドだけを高速で選
択出力することができる。
【図面の簡単な説明】
゛ 第1図はこの発明の一実施例に係るマージ↑のブロ
ック構成図、第2図は第1図のマーシャを適用する関係
データベースエンジン(ROBE)の全体構成図、第3
図はマージ演算指定情報のフォに示すクリア回路周辺の
回路構成図、第8図は第5図に示す出力制御部周辺のブ
ロック構成図、第ア些動時および終了時における各種レ
ジスタ、フラ′I:t :″グ類内容との対応関係を示す図、第12図は第する
図、第13図は外部ソートが指定されている場合の制御
信号発生回路の入出力論理の一例を示す図、第14図乃
至第16図は第11図乃至第13図に対応するもので、
RESTRICT (制約)系演算を説明するための図
、第17図および第18図は第11図および第12図に
対応するもので、対象りレーションがマーシャのバッフ
ァ容量を越える場合のRESTRICT (制約)系演
算を説明するための図、第19図はJOIN系演算(J
olN−EQ)が指定されている場合の制御信号発生回
路の入出力論理の一例を示す図である。 10・・・マーシャ、11・・・CPU120U・・・
Uバッフ1.2OL・・・Lバッフ1.23.28U、
 28L、 57U〜59U。 571〜59L・・・比較器(CMP)、’27U・・
・SUUレジスタ、27L・・・BULレジスタ、38
・・・主制御部、39・・・MOPレジスタ、41・・
・CMDレジスタ、42・・・・・・03IJ8レジス
タ、55L・・・08LBレジスタ、61・・・クリア
回路、62・・・比較制御部、63・・・割込み制御部
、64・・・出力制御部、65・・・制御信号発生回路
、89・・・切出し制御部。 出願人 工業技術院長 用田裕部 第2図 第3図   第4図 第5図 E S’l穆P!p 38 第6図 第、9 図 第11図 第12図 ■ 第13図 第14図 第16図 第17図 第゛18図

Claims (1)

    【特許請求の範囲】
  1. 1レコード分のデータを格納するレコードバッファと、
    このレコードバッファに格納されている1レコード分の
    データの外部への出力を制御する読出し制御部と、外部
    出力対象レコードの第1の切出し位置を指定する第1切
    出しポインタと、上記外部出力対象レコードの第2の切
    出し位置を指定する第2切出しポインタと、上記読出し
    制御部が提示する上記レコードバッファへの読出しアド
    レスと上記第1切出しポインタの内容とを比較する第1
    比較器と、上記読出しアドレスと上記第2切出しポイン
    タの内容とを比較する第2比較器と、上記第1および第
    2比較器の比較結果に応じて上記読出し制御部の動作を
    制御する切出し制御部とを具備することを特徴とするデ
    ータ処理装置。
JP59183742A 1984-09-04 1984-09-04 デ−タ処理装置 Granted JPS6162139A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59183742A JPS6162139A (ja) 1984-09-04 1984-09-04 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59183742A JPS6162139A (ja) 1984-09-04 1984-09-04 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS6162139A true JPS6162139A (ja) 1986-03-31
JPH0370824B2 JPH0370824B2 (ja) 1991-11-11

Family

ID=16141179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59183742A Granted JPS6162139A (ja) 1984-09-04 1984-09-04 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS6162139A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62293462A (ja) * 1986-06-13 1987-12-21 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 文書の改訂可能なデ−タ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62293462A (ja) * 1986-06-13 1987-12-21 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 文書の改訂可能なデ−タ処理装置
JPH0528868B2 (ja) * 1986-06-13 1993-04-27 Intaanashonaru Bijinesu Mashiinzu Corp

Also Published As

Publication number Publication date
JPH0370824B2 (ja) 1991-11-11

Similar Documents

Publication Publication Date Title
KR940001666B1 (ko) 소형 컴퓨터 시스템의 개량된 scsi 장치
JPS59160267A (ja) ベクトル処理装置
JPS61248118A (ja) 予め定義された文字列を発生される装置
US4250547A (en) Information processing apparatus capable of effecting parallel processings by using a divided common bus
EP0498595B1 (en) Single chip digital processor and method for operating it
EP0306920A2 (en) Data processor having expanded operating functions
JPH0769791B2 (ja) マイクロプロセッサ
JPS6162139A (ja) デ−タ処理装置
JPH0370822B2 (ja)
JPH0373018B2 (ja)
JPS6162136A (ja) デ−タ処理装置
JPH0370825B2 (ja)
JPH0373017B2 (ja)
JPH0370823B2 (ja)
JPH06309169A (ja) 情報処理装置
JPH0370820B2 (ja)
JPH03201032A (ja) 演算処理装置
JP2504535B2 (ja) バスユニットの構成方法
JPS58178445A (ja) デ−タ処理装置
JPH0232431A (ja) 情報処理装置
JPH0373022B2 (ja)
JPS60225948A (ja) デバツグ装置
JPS6362065A (ja) デ−タ転送制御方式
JPS6349964A (ja) ハンドシエ−ク制御装置
JP2001290755A (ja) Eepromアクセス方法およびeepromを有する電子装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term