JPS61279929A - 関係演算処理装置 - Google Patents

関係演算処理装置

Info

Publication number
JPS61279929A
JPS61279929A JP60120634A JP12063485A JPS61279929A JP S61279929 A JPS61279929 A JP S61279929A JP 60120634 A JP60120634 A JP 60120634A JP 12063485 A JP12063485 A JP 12063485A JP S61279929 A JPS61279929 A JP S61279929A
Authority
JP
Japan
Prior art keywords
register
output
counter
record
signal
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
JP60120634A
Other languages
English (en)
Other versions
JPH0373022B2 (ja
Inventor
Susumu Matsuda
進 松田
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 JP60120634A priority Critical patent/JPS61279929A/ja
Publication of JPS61279929A publication Critical patent/JPS61279929A/ja
Publication of JPH0373022B2 publication Critical patent/JPH0373022B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、特に関係データベース処理で必要となる関
係演算を実行する関係演算処理装置に関する。
[発明の技術的背景とその問題点] 関係データベースにおける主たる処理の1つに、2つの
リレーション間の関係演算がある。関係演算としては、
結合(Jotn)、制約(Restric−tion)
 、射影(P rOjlliction )などが知ら
れている。この種の関係演算は、一般にソフトウェアに
より処理されていた。このため、関係演算に多大の処理
時間を要していた。そこで、上記した関係演算の高速化
が図れる専用のハードウェア装置の実現が要望されてい
た。
[発明の目的] この発明は上記事情に鑑みてなされたものでその目的は
、関係演算が効率よく行なえる専用のハードウェアとし
ての関係演算処理装置を提供することにある。
この発明の他の目的は、演算条件が成立したリレーショ
ンレコードの出力に応じて更新されるカウンタを設け、
同カウンタのカウント値を用いることにより出力レコー
ドに新しい識別子を付加することができ、しかも出力レ
コード数が、同識別子で表現できる範囲を越えた場合に
は、動作を停止して上位装置に異常終了を通知できる関
係演算−処理装置を提供することにある。
[発明の概要〕 この発明では、第1のリレーションを格納する第1バッ
ファと、第2のリレーションを格納する第2バッファと
が設けられる。また、この発明では、演算種別を示すオ
ペレーションコード、および第1または第2バッファの
いずれか一方を指定するバッフ1指定ビツトを保持する
第1レジスタと、第1または第2バッファに格納される
リレーションを構成するレコード数を示すレコード数情
報を保持する第2レジスタと、第1または第2バッファ
に格納されるリレーションを構成するレコードのレコー
ド長を示すレコード長情報を保持する第3レジスタと、
上記リレーションの革−フィールド長を示すキーフィー
ルド長情報を保持する第4レジスタとが設けられる。
上記第1レジスタに保持されたオペレーションコードに
よりロード処理が指定されている場合、第1または第2
バッファのうち上記バッファ指定ビットで指定されたバ
ッファに、上記第2レジスタで指定されるレコード数、
および第3レジスタで指定されるレコード長で示される
データ量のリレーションが書込まれる。また、第1レジ
スタに保持されたオペレーションコードにより関係演算
     □・処理が指定されている場合にも、第1ま
たは第2バッファのうち上記バッファ指定ビットで指定
されたバッファに、上記第2レジスタで指定されるレコ
ード数、および第3レジスタで指定されるレコード出力
示されるデータ量のリレーションが書込まれる。但し、
関係演算処理が指定されている     )場合、上記
書込みと並行して、第1および第2バ     (ソフ
ァからそれぞれルーコードずつデータを続出すし1−ド
読出し動作が行なわれる・          ;また
、この発明では、第1バッファから続出されたルーコー
ド分のデータを一時格納する第3バソファと、第2バッ
ファから読出された1レコード分のデータを一時格納す
る第4バッファと、第1および第2バッファから読出さ
れた両レコードを第4レジスタで指定されているキーフ
ィールド間で比較する比較回路と、第1出力制御手段と
が設けられる。第1出力制御手段は、比較回路の比較結
果、および第4レジスタに保持されたオペレーションコ
ードに応じ、第1および第2バッファに対するアドレス
の更新制御を行なうと共に、第3および第4バッファに
一時格納された両レコードまたはいずれか一方のレコー
ドの外部への出力制御を行なう。
更に、この発明では、関係演算処理に際して入出力バス
より初期値設定が可能なカウンタと、カウンタ制御手段
と、オーバーフロー検出手段と、喚常終了通知手段と、
第2出力制御手段とが設け11“ら石る。この第2出力
制御手段は、上記第1出カッ1− ;1ill制御手段によるレコード出力に際し、カウン
タの一内′容を出力レコードの識別子として外部に出力
する。また、カウンタ制御手段は、第1出力制御手段に
よるレコード出力に応じ、上記カウンタの力乙゛ウント
値を更新制御する。一方、オーバーフローご検出手段は
、カウンタ制御手段によるカウント更−′J゛ ′!新副制御タイミング上記カウンタからのキャリー1
r 出力の有無を調べ、カウンタ・オーバーフローを検出す
る。異常終了通知手段は、オーバーフロー検出手段のオ
ーバーフロー検出結果に応じてシステム動作を停止し、
上位装置に異常終了を通知する。
[発明の実施例] 第1図はこの発明の一実施例に係るマーシャ(関係演算
処理装置)10の構成を示し、第2図は第1図のマーシ
ャ10を適用する関係データベースエンジン(以下、R
DBEと称する)の構成を示す。第2図のRDBEにお
いて、11はRDBE全h−” ;iヶ。ソータ12は12段のソート・セル12−0〜
12−1゛↓1.″からなり、最大4にレコードのソー
ト処理が行なえるようになっている。13はソータ12
の入力側に設けられ、ソート処理において比較対象とな
るキーフィールドをレコードの先頭に移動するなどのソ
ート前処理を行なうINアライナ(ソート前処理装置)
、14はINアライナ13のソート結果が正しいか否か
を監視するソート・チェッカである。
マーシャ10は、ソート・チェッカ14に接続され、ソ
ータ12によりソート処理されている、1つ乃至2つの
リレーション間で、関係演算を高速に実行−するよ・う
に構成されている。INアライナ13、ソー タ12、
ソート・チェッカ14、およびマーシャ10は、ソート
処理と、関係演算処理を連動して、入力データに同期し
たパイプライン処理を行なう専用ハードウェアであるエ
ンジン・コア15を構成する。16.17はRDBEと
図示せぬ階層構造メモリサブシステム(以下、HMと称
する)とのインタフェースを制御する8Mアダプタ(以
下、HMAと称する)である。HM A 1Gは、エン
ジン・コア15へのデータの入力ボート、8MA17は
エンジン・コア15からのデータの出力ポートとして動
作する。18はCPU11の入出力バス、19はDMA
バスである。入出力バス18には、マーシャ10を始め
とするエンジン・コア15の各構成要素、CP U 1
1、および8MA16.17が接続され、DMAバス1
9には、CP U ilおよび8MA16.17が接続
される。
マーシャ10は、第1図に示すように、演算部OPPと
、出力選択部O8Pと、これら演算部OPPおよび出力
選択部O8Pを制御する制御部CNTPとからなる。
演算部OPPにおいて、20Uは第1のリレーシ・ヨン
を格納するU(Ulll)er)バッファ(以下、UB
と称する)、20Lは第2のリレーションを格納する士
(l over)バッファ(以下、LBと称する)であ
る。21LJはLJB20Uに書込むデータを保持する
入力レジスタ(INUレジスタ)、21LはLB20L
に書込むデータを保持する入力レジスタ(INLレジス
タ)である。22LIはUB20Uからの読出しデータ
を保持するレジスタ(UPRレジスタ) 、22Lはし
B20Lからの読出しデータを保持するレジスタ(LO
Wレジスタ)である。23はLJPRレジスタ22tJ
およびLOWレジスタ22Lの11洛内容を比較する比
較器 (以下、CMPと称す)2□)、211UtよL
JPRL/ジスタ22Uの内容を出力選択部O8P側へ
伝達する出力レジスタ(OTUレジスタ) 、24Lは
LOWレジスタ22Lの内容を出力選択部O8P側へ伝
達する出力レジスタ(OTLレジスタ)である。25U
はUB20LIに対する書込みポインタとしての書込み
アドレスレジスタ(WAUレジスタ)、2SLはLB2
0Lに対する書込みポインタとしての書込みアドレスレ
ジスタ(WALレジスタ)である。26UはtJB20
tJに対する読出しポインタしての読出しアドレスレジ
スタ(RAIJレジスタ) 、26LはLB20Lに対
する読出しポインタとしての読出しアドレスレジスタ(
RALレジスタ)である。WALJレジスタ25U1W
ALレジスタ2SL、RAUレジスタ26U Sおよび
RALレジスタ26Lは、カウンタ機能を有する。
27tJはRAUレジスタ26Uの内容を保持するバッ
クアップレジスタ(BLIUレジスタ)、27LはRA
Lレジスタ26Lの内容を保持するバックアップレジス
タ(BULレジスタ)である。28UはWA−Uレジス
タ25UおよびRAUレジスタ26Uの各内容を比較す
る比較器(CMP)、28LはWALレジスタ25Lお
よびRALレジスタ26Lの各内容を比較する比較器(
CMP)である。29UはWAUレジスタ25LIまた
はRAtJレジスタ26Uの内容をUB20LJに対す
るメモリアドレスとして選択するマルチプレクサ、29
LはWALレジスタ25LまたはRALレジスタ26L
の内容をLB20Lに対するレコードバッファ(URB
)、30LはLB20Lからのルーコード分のデータを
格納するLレコードバッファ(LRB)である。31U
はOTUレジスタ24Uの内容をLJ R830Uに対
する書込みデータとして保持する入力レジスタ(lNt
JRレジスタ)、31LはoTLレジスタ24Lの内容
ヲLR830Lに対する書込みデータとして保持する入
力レジスタ(INLRレジスタ)である。32はマーシ
ャ10から出力されるレコードに付される識別番号NT
IDを生成する識別番号カウンタ(NTIDカウンタ)
である。NTIDカウンタ32は後述する入出力インタ
フェース40に接続される。NTIDカウンタ32は、
カウンタストローブ信号95が供給されるクロック端子
CK、カウントアツプイネーブル信号90が供給される
カウントアツプイネーブル端子E、ロード信号109が
供給されるロード端子号91Nに応じてゲートするゲー
ト、37UはURB30LJからの読出しデータを出力
制御信号91LIに応C5でゲートするゲート、37L
はLR8301からの狭出しデータを出力制御信号91
Lに応じてゲート1するゲートである。33はゲート3
7N、 37U、 37m!、・ 一力1らの出力データをストローブ信号93に応じてラ
ッチする出力レジスタ(ROUTレジスタ)である。3
4UはLJ RB 30Uに対する書込みポインタとし
ての書込みアドレスレジスタ(WALIRレジスタ) 
、34LG、tLRB30Lに対する書込みポインタと
しての書込みアドレスレジスタ(WALRレジスタ)で
ある。35tJはU RB 30Uに対する読出しポイ
ンタとしての読出しアドレスレジスタ(RAURレジス
タ) 、35LはLRB301に対する読出しポインタ
としての読出しアドレスレジスタ(RALRレジスタ)
である。WAURレジスタ34LJ、WALRレジスタ
34L、RAURレジスタ35U。
およびRALRレジスタ35Lは、カウンタ機能を有す
る。36UはWALJRレジスタ34LIまたはRAU
Rレジスタ35Uの内容をLJ RB 30LIに対す
るメモリアドレスとして選択するマルチプレクサ、36
LはWALRレジスタ34LまたはRALRレジス1、
’c・NTPの中心をなす主制御部、39は主制御部3
8内、に設けられた8ビツトのマージ演算レジスタ(M
OPレジスタ)である。MOPレジスタ39には、第3
図に示すように、マージ演算の指定を行なう5ビツトの
マージ演算指定コード(MRG−OPレコード、ソート
類を指定するソート順指定ビット(AS/DSS/上)
、およびUB20tJまたはLB2OLを指定するバッ
ファ指定ビット(U/Lビット)を含むマージ演算指定
情報が設定される。この例では、AS/DS−0で昇順
が、AS/DS−1で降順が指定される。また、U/L
−0でUB20Uが、U/L−1でLB2OLが指定さ
れる。
40はCPU11(の入出力バス18)に対するインタ
フェースである入出力インタフェース、41は入出力イ
ンタフェース40に設けられたコマンドレジスタ(CM
Dレジスタ)である。CMDレジスタ41には、CPU
11からの指定により、8ビツトのコマンドデータが設
定される。このコマンドデータの第0ビツトは、第4図
に示すように、レジスタ指定ビット(REG、INDビ
ット)である。
JREG、INDビットは、コマンドデータが、マ=ジ
ャ10内のレジスタ(のレジスタ番号)を指定・1・、
の場合)か、或はコマンドデータ本来の動作指定捨−夕
として用いられる(REG、IND−0の場合)かを指
定する。REG、IND−0の場合、第4図に示すよう
に、コマンドデータの第2ビツトはエンジン・コア15
のリセットを指定するリセット指定ビット(R8Tビッ
ト)、第3ビツトはエンジン・コア15の起動を指定す
るエンジン起動指定ビット(ENG、Goビット)、第
4ビツトはマーシャ10のみの起動を指定するマーシャ
起動指定ビット(MRG、Goビット)、第6ビツトは
RALJレジスタ26Uおよび後述するFUEMP52
Uのクリアを指定するUリトライ指定ビット(tJRT
RYビット)、第7ビツトはRALレジスタ26mおよ
び後述するFLEMP52Lのクリアを指定するしリト
ライ指定ビット(LRTRYビット)として用いられる
。なお、上記した各ビットの動作指定は、論理“1“で
有効である。
再び第1図を参照すると、42はUB20tJまたはす
レコードサイズレジスタ(R8LIレジスタ)、−=−
= ニーニー またはR8Lレジスタ431の内容を選択するマルチプ
レクサ、45はマルチプレクサ44からの選択出力デー
タを初期値としてロードし、U B 20LIまたはL
B20Lへの書込み時にカウントダウンされるライトカ
ウンタ(WRCカウン・り)、46はTRNレジスタ4
2の内容を初期値としてロードし、WRCカウンタ45
からのボロー信号に応じてカウントダウンされるレコー
ド数カウンタ(STCカウンタ)である。47はマージ
演算において比較対象となる、レコード内キーフィール
ド長(有効データ長VDL)を示す有効データ長レジス
タ(VDLレジスタ)、48はVDLレジスタ47の内
容を初期値、!:L、To−ドL、LB20U (J5
よびLB2OL>からのデータ読出し時にカウントダウ
ンされる有効データ長カウンタ(VCTカウンタ)であ
る。
MOPレジスタ39、CMDレジスタ41、TRNレジ
スタ42、R8Uレジスタ43LJ1R8Lレジスタ’
+’;jsuはR8Uレジスタ431Jの内容を初期値
してロードし、UB20Uからのデータ読出し時にカラ
カウントダウンされるリードカウンタ(RCLカウンタ
)である。50UはRCLIカウンタ491Jがらのボ
ロー信号に応じてセットされ、UB20Uがらの読出し
データが1レコードの最後のデータであることを示すレ
コードエンドフラグ(FUEフラグ) 、50LはRC
Lカウンタ491からのボロー信号に応じてセットされ
、LB2OLからの読出しデ−タが1レコードの最後の
データであることを示すレコードエンドフラグ(FLE
フラグ)である。
51UはUB 201Jへの書込みが完了したことを示
す書込み完了フラグ(FUWEDフラグ)、silはL
B20Lへの書込みが完了したことを示す書込み完了フ
ラグ(FLWEDフラグ)である。52UはLIB20
tJが空状態となったことを示すエンプティフラグ(F
UEMPフラグ)、52LI、tLB2OLが空状態と
なったことを示すエンプティフラグ〈FLEMPフラグ
)である。53tJはUB20Uからの一モある。12
2はNTIDカウンタ32がオーバーツー且−状態にあ
ることを示すカウンタ・オーバーフ54tJはU RB
 30tJからの読出しレコードに対す壱 二る第1の切出し位置を指定する切出しポインタとして
のレジスタ(O8LIAレジスタ) 、54LはLRB
30Lからの読出しレコードに対する第1の切出し位置
を指定する切出しポインタとしてのレジスタ(O8LA
レジスタ) 、55UはU RB 30Uからの読出し
レコードに対する第2の切出し位置を指定する切出しポ
インタとしてのレジスタ(O8UBレジスタ)、55m
はLRB301からの読出しレコードに対する第2の切
出し位置を指定する切出しポインタとしてのレジスタ(
O8LBレジスタ)である。56はU RB 30Uま
たはLRB301からのデータ読出し時にカウントアツ
プされるカウンタ(CTRカウンタ) 、57tJはC
TRカウンタ56および、OS U Aレジスタ54U
の各内容を比較する比較・器(CMP)、57LはCT
Rカウンタ56および08LAレジスタ54Lの各内容
を比較する比較器(CMP)である。58UはCTRカ
ウンタ56SUレジスタ43Uの各内容を比較する比較
器(CMP>、59LはCTRカウンタ56およびR8
Lし4スタ43Lの各内容を比較する比較器(CMP)
である。08LIAレジスタ54tJ、08U8レジス
タ55U1oSLAレジスタ54L、08LBLzジス
タ゛55Lは、第2図のCPU11により、予めセット
アシプ可能である。
次に、第1図の主制御部38の構成を、第5図を参照し
て説明する。第5図において、60はFUEフラグ50
UおよびFLEフラグ50L1更にはCMDレジスタ4
1などに応じて各種制御信号を発生するタイミングを決
定する制御タイミング発生回路、61はMOPレジスタ
39およびCMDレジスタ41の内容に応じ、制御タイ
ミング発生回路60からのスタート指示のタイミングで
各部をクリアするクリア回路である。62はCMP23
の比較結果およびVCTCTRウンタからの出力により
、UB20UおよびLB20Lからの各1レコードのキ
ーフィールドの比較結果を確定する比較制御部、63は
第2図のCPU11に対する割込みを発生する割込み制
御部である。64は外部へのデータの出力制御を行なう
出力制御部、65はMOPレジスタ39の内容および比
較制御部62の比較確定結果に応じ、制御タイミング発
生回路60からの指示に従ったタイミングで、    
□゛−第6図を参照して説明する。第6図において、6
6う喀( :”、Gq M OPレジスタ39からのU/Lビット
が入力さl′、れ゛るインバータ、67(Jはインバー
タ66の出力とSTOカウンタ46からのボロー信号と
が入力されるアンドゲート(A)、67mはMOPレジ
スタ39からのU/LビットとSTCカウンタ46から
のボロー信号とが入力されるアンドゲート(A)である
FLJWEDフラグ51UはA67U、FLWEDフラ
グ51LはA67Lからの出力信号に応じ、セットされ
る。68UはCMP28Uの比較結果(一致検出信号)
およびFUWEDフラグ51LJからの出力信号が入力
されるアンドゲート(A)、68LはCMP28Lの比
較結果(一致検出信号)およびF LWEDフラグ51
Lからの出力信号が入力されるアンドゲート(A)であ
る。69tJはA68Uからの出力信号を制御タイミン
グ発生回路60からの指定タイミングでゲートするゲー
ト、69LはA68Lからの出力信号を制御タイミング
発生回路60からの指定タイミングでゲートするゲート
である。FUEMPフラグ52LJはゲート69U、F
LEMPフラグ52Lダ70は、マージ演算指定情報が
UB20Uへの第172Uはデコーダ10からのロード
信号71LJとFUWEDフラグ51Uからの出力信号
が入力されるアンドゲート(A>、72Lはデコーダ7
0からのロード信号71mとFLWEDフラグ51Lか
らの出力信号が入力されるアンドゲート(A)である。
73LJは制御信号発生回路65からの割込み許可信号
74UとFUEMPフラグ52Uからの出力信号とが入
力されるアンドゲート(A>、73Lは制御信号発生回
路65からの割込み許可信号74LとFLEMPフラグ
52Lからの出力信号とが入力されるアンドゲート(A
)である。割込み許可信号74U、74Lは、MOPレ
ジスタ39の内容に応じて制御信号発生回路65から発
生される。例えば、5ORT (ソート)系演算やRE
STRICT (制約)系演算が指定されている場合に
は、割込み許可信号74U、 741が出力され、JO
IN(結合)系演算が指定されて一しやる場合には割込
み許可信号74Uだけが指定される。また、PASS 
(バス)系演算が指定されている場合には、U/L−0
(即ちUB20U指定)ラントアップイネ−プル信号9
0並びにカウンタストローブ信号95、およびNTrD
カウンタ32からのキャリー信号96が入力されるアン
ドゲート(A)である。A121にはNTIDカウンタ
32のオーバーフロー状態を示すFOVFフラグ122
が接続されており、同フラグ122はA121の出力信
号に応じてセットされる。123はFOVFフラグ12
2の出力信号などシステムのエラー状態を示す各種エラ
ー信号に応じて異常検出を行なう異常検出回路である。
75はA72U1A72L、A73U%A73Lおよび
異常検出回路123からの各出力信号が入力されるオア
ゲート(OR>、76はOR75からの出力信号に応じ
て割込み信号ATNを発生する割込み発生回路である。
次に、第5図のクリア回路61周辺の構成を、第7図を
参照して説明する。第7図において、71はゲート(A
)、781はMOPレジスタ39からのU/Lビットと
上記ENG、Goビットとが入力さ一= °;・れるアンドゲート(A)である。79LJはA7
8Uかj蟇巨、の出力信号とCMDレジスタ41からの
R8丁ビ轡イ。
ットとが入力されるオアゲート(OR)、79LはA7
8Lからの出力信号と上記R8Tビットとが入力される
オアゲート(OR)である。80Uは0R79LIから
の出力信号とCMDレジスタ41からのURTRYビッ
トとが入力されるオアゲート(OR)、80Lは0R7
9Lからの出力信号とCMDレジスタ41からのLRT
RYビットとが入力されるオアゲート(OR)である。
81tJは、0R79Uからの出力信号を、WAUレジ
スタ25tJおよびFtJWEDフラグ51Uに対する
クリア信号として、制御タイミング発生回路60からの
指定タイミングでゲートするゲート、81Lは、○R7
9Lからの出力信号を、WALレジスタ25LおよびF
LWEoフラグ51Lに対するクリア信号として、制卸
タイミング発生回路60からの指定タイミングでゲート
するゲートである。82tJは、0R80Uからの出力
信号を、RAUレジスタ26UおよびFUEMPフラグ
52Uに対するクリア信号として、制御タイミング発生
p路60からの指定タイミングでゲートするゲート、ム
lLは、0R80Lからの出力信号を、RALレジスタ
2fiLおよびFLEMPフラグ52Lに対するクリア
信号として、制御タイミング発生回路60からの指定タ
イミングでゲートするゲートである。
次に、第5図の出力制御部64周辺の構成を、第8図を
参照して説明する。第8図において、83はFUOフラ
グ53tJ並びにFLOフラグ53Lの状態および図示
せぬ出力選択制御レジスタの内容などに応じてU RB
 30U並びにLRB30Lからのデータの出力順を制
御する出力シーケンス制御部である。出力選択制部レジ
スタは、識別番号NTIDの付加と、U側およびL側し
コードを共に出力する場合の出力順とを指示するのに用
いられる。出力シーケンス制御部83は、出力シーケン
ス制御期間中、第1図のNTIDカウンタ32に対しカ
ウントアツプイネーブル信号90を出力し、1シーケン
ス終了毎にカウンタストローブ信号92を出力する。
84NはNTIDカウンタ32で生成された識別番号N
TrDの出力を制御するNTID出力制御部である。N
TID出力制御部84Nは、出力シーケンス制御部83
からの出力開始指示に応じ、(第1図のゲート37Nに
対する)出力制御信号91N、およびストローブ信号8
7Nを出力して識別番号NTID出力制御を行なう。8
4UはU RB 30Uからのデータ読出しを制御する
URB読出し制御部、84LはLRB3OLからのデー
タ読出しを制御するLRB読出し制御部である。読出し
制御部84U、841−は、出力シーケンス制御部83
からの読出し開始指示に応じてレコード読出し制御動作
を開始し、第1図のCMP59U、59Lの比較結果(
一致検出信号)に応じて読出し制御動作を停止する。読
出し制御部371J、 37Lは、読出し制御期間中、
(第1図のゲート37U、37Nに対する)出力制御信
号91U、91L1およびストローブ信号87U、 8
7Lを出力する。また、フラグ53LI、53mは、制
御信号発生回路65からの出力指示信号85U、85L
に応じてセットする。86は制御部84N 、 84U
 、 84Lからのストローブ信号87N 、 87U
 、 87Lが入力されるオアゲート(OR>、88は
0R86からの出力信号をゲートしてROUTレジスタ
33にストローブ信号93を出力するゲートである。8
9は出力シーケンス制御部83からの指示に従い、CM
 P57U 、 58LlまたはCMP57L、581
の比較結果を監視し、その監視結果に応じてゲート88
を制御する切出し制御部、94は出力シーケンス制御部
83からのカウンタストローブ信号92および(入出力
インタフェース40経由で供給される)入出力バス18
からのう、イト信号WDが入力されるオアゲート(OR
)である。
0R94の出力信号は、カウンタストローブ信号95と
してNTIDカウンタ32(第1図参照)に供給信号の
入出力を行なう入出力ドライバ、102は入出力バス1
8からデータを入力する入力ドライバ、103は入出力
バス18へデータを出力する出力ドライバである。入出
力ドライバ101の出力対象コントロール信号には、第
2図のCPU11に対する割込み信号ATNがある。入
出力ドライバ101の入力対象コントロール信号には、
コマンドデータの出力を示すコマンド信号CMD1デー
タ書込みを指定するライト信号WD、データ読出しを指
定するリード信号RD信号、ステータス(情報)の読取
りを指定するステータス信号STS、および上記割込み
信号ATNに対する応答信号(割込み承1(H@) A
C11/a5−6・AI′tl″F7−i’/<101
 f)s9    +、。
入力されるコマンド信号CMDは、CMDレジス   
  :り41に対するストローブ信号として用いられる
。     :r104はCMDレジスタ41の出力デ
ータ(コマンド     1′゛データ)の第Oビット
即ちREG、INDビット     1・が入力・され
るインバータ、105はCMDレジスタ     [−
41の出力データ(の第1乃至第7ビツト)を、イ  
   jj(:ンバータ104の出力信号に応じてゲー
トするゲー     1゛□1゛・□ t−r−a°″−“′°°”6(7)!Ei″″−91
tWig 1 S   !i、、。
の主制御部38に供給される。106はCMDレジス 
    ・り41の出力データ(の第1乃至第7ビツト
)を、その第0ビツト(REG、rNOビット)に応じ
     ・a、:1 てゲートするゲート、107 、108はゲート106
か     さ1・ 洲 らの出力データをデコードするデコーダ(DEC)  
   iでrある。D E Q 107は入出力ドライ
バ101から入力されるライト信号WDによりイネーブ
ルされ、第1図のNTIDカウンタ32に対するロード
信号109など、マーシャ10内の各種レジスタ、カウ
ンタに対するロード信号を発生する。またDEC108
は入出力ドライバ101から入力されるリード信号RD
によりイネーブルされ、マーシャ10内の各種レジスタ
、カウンタの内容の入出力バス18への出力を指示する
各種出力制御信号を発生する。この出力制御信号の1つ
に、NTIDカウンタ32で生成された識別番号NTI
Dの入出力バス18への出力を指示する出力制御信号1
10がある。111はNTIDカウンタ32で生成され
た識別番号NTIDを上記出力制御信号110に応じて
ゲートするゲ113からの出力データは出力ドライバ1
03に供給される。なおマーシャ10のステータスは、
FUW−=F OV Fフラグ122などによって示さ
れる。
・−第12図を参照して説明する。なお、第10図はR
ESTRICT系演算を実行するためのコマンドの列と
、これら各コマンドによる起動時および終了時における
FUWEDフラグ51U、WAUレジスタ25U、RA
Uレジスタ26LI、FLWEDフラグ51シ、WAL
レジスタ25L、RALレジスタ26Lの各内容(状態
)との対応関係を示す。第10図において■〜■はコマ
ンドの実行順を示す。
また、第11図は第10図に示す各コマンドの実行終了
時のUB20UおよびLB20Lへの書込み位置(実線
)並びに読出し位置(破線)の変化を説明する図、第1
2図はRESTRICT系演算(REST−EQ演算)
が指定されている場合の制御信号発生回路65の入出力
論理を示す図である。
RESTRICT系演算では、条件データを第1のリレ
ーション(ストリーム)としてLIB20Uに予め格納
しておき、対象リレーションを第2のりSl、第2のリ
レーションを82とする。RESTRICT系演算にお
いては、まずSlに対するセットアツプが、CP U 
11からの指示により行なわれる。即ち、CP U 1
1により、マーシャ1oが機器指定され、しかる後コマ
ンドデータがコマンド信号CMDと共に入出力バス18
を介してマーシャ10に転送される。CP U 11か
らのコマンドデータは、マーシャ10の入出力インタフ
ェース40内の入力ドライバ102を介してCMDレジ
スタ4.1に供給される。また、コマンド信号CMDは
、入出力インタフェース40内の入出力ドライバ101
を介してCMOレジスタ41に供給される。しかして、
CPU11からのコマンドデータは、コマンド信号CM
Dに応じてCMDレジスタ41に保持される。この場合
のコマンドデータは、その第0ビツト、即ちREG、I
NDビットが論理“1″に設定されて””t−106は
、CMDレジスタ41に保持されたコマンc p u 
iiは、上記したコマンドデータにより、レジスタ指定
を行なうと、該当レジスタにセットすべきデータ(セッ
トアツプデータ)をライト信号WDと共に入出力バス1
8上に送出する。しかして、入出力バス18上のライト
信号WDはマーシャ10の入出力インタフェース40内
の入出力ドライバ101を介して上記D E C107
,88図の0R94、および第1図の各種レジスタに供
給される。DEC107は、上記ライト信号WDにより
イネーブルされ、ゲート106より供給されるCMDレ
ジスタ41からのコマンドデータのデコード信号を出力
する。今、上記コマンドデータがNTIDカウンタ32
を指定しているものとすると、D E C107からは
ロード信号109が出力される。このロード信号109
は第1図のNTIDカウンタ32のロード端子りに供給
される。また、OR94に供給されたライト信号WDは
、カウンタストローブ信号95としてNTIDの初期値
)が入出力バス18、入出力インシラ ゛は、ライト信号WDに対応するカウンタストローブ信
号95に応じてNTIDカウンタ32にセット(ロード
)される。
このように、この実施例では、CMDレジスタ=rlr
’iに保持されている(REG、INDビットが論理パ
1′の)コマンドデータで指定された、マーシャ10内
のNTIDカウンタ32に、ライト信号WDと共に転送
された入出力バス18上のセットアツプデータを同信号
WDに応じてセットすることができる。これは、マーシ
ャ10におけるNTIDカウンタ32以外のレジスタ、
カウンタ類についても同様である。
以下、同様にして、MOPレジスタ39に、例えばリレ
ーションのロードを指定するMRG−OPレコードUB
20tJを指定する論理゛O”のU/Lビットを含むマ
ージ演算指定情報(LOAD (U)コマンド)がセッ
トされ、08UAレジスタ54Uにレコードの先頭フィ
ールド位置を示す情報がセS1内の各レコードのレコー
ド長)がセットされ、VDLレジスタ47にレコード内
キーフィールド長・i!示す有効データ長VDLがセッ
トされ、TRNレジスタ42に81の総レコード数TR
NがセットREG、INDビットが論理“1″の場合に
CPU11からのライト信号WDに応じてカウントアツ
プされるようにしてもよい。この場合、もしセットアツ
プ対象となるレジスタのレジスタ番号が連続しているな
らば、一旦マージャ10の機器指定を行なってコマンド
データを転送した後は、単に所望のデータ(セットアツ
プデータ)と共にライト信号WDを入出力バス18上に
繰返し出力するだけでよい。
次に、CP tJ 11は、再びマーシャ10を機器指
定して、今度はREG、INDビットが論理゛Ot+の
コマンドデータを、マーシャ10の入出力インタフェー
ス40内のCMDレジスタ41にセットせしめる。この
コマンドデータは、その第3ビツト″、即ちENG、G
oビットが論理“1′°に設定されたENG、Goコマ
ンドである。なお、R8Tビット、MRG、Goビット
、tJRTRYビット、おUB20UまたはLB20L
に新たに格納されるデータを用いてデータ処理を行なう
ことになる。これに対し、マーシャ10だけに対するG
Oコマンドとして、MRG、Goコマンドが用意されて
いる。
このMRG、Goコマンドでは、UB20UまたはLB
20Lに既に格納されている有意データに対して処理が
行なわれる。
CMDレジスタ41にセットされたコマンドデータのR
EG、INOビットが論理゛0”の場合、第9図のゲー
ト105がイネーブルされる。これにより、CMDレジ
スタ41にセットされたコマンドデータ(の第1乃至第
7ビツト)は、ゲート105を介して主制御部38に供
給される。マーシャ10は、CMDレジスタ41にセッ
トされたENG、Goコマンドにより起動される。この
とき、クリア回路61により、WAUレジスタ25U、
RAUレジスタや場合、クリア回路61内のA78Uの
アンド条件が1立し、A78Uから論理゛1”の信号が
出力されル、A78Uカラ(DIN ” 1 ” )信
号ハ、OR79Uを介してゲート811Jに導かれると
共に、OR79LJ 。
80Uを介してゲート82LJに導かれる。ゲート81
U。
82Uは、制御タイミング発生回路60のスタートタイ
ミング発生機能によるクリアタイミングで、上記論理“
1nの信号をゲートする。ゲート81Uからの論理11
1 IIの信号はWAUレジスタ25UおよびFUWE
Dフラグ51Uに導かれ、ゲート82Uがらの論理゛1
′°の信号はRAUレジスタ261JおよびFUEMP
フラグ52Uに導かれる。これにより、WALJレジス
タ25U、RAUレジスタ26U、FUWEDフラグ5
1tJ、およびFUEMPフラグ52Uがクリアされる
。この状態で、マーシャ1oは、MOPレジスタ39内
のLOAD (U)コマンドで指定されたデータ処理を
、エンジン・コア15への入力に同期した速度で行なう
。このデータ処理にっ1、?定バイト単位で一定周期で
供給される。ソート−。
・チェッカー4からのデータは、ソート・チェッカー4
からの出力周期に同期してINUレジスタ21Uに保持
され、LIB20LIに導かれる。LOAD (U)コ
マンドの場合、主制御部38は、WAUレジスタ25U
を用いてUB20Uに対するデータ書込みを行なう。即
ち、主制御部38内の図示せぬ書込み制御部は、INI
Jレジスタ21(Jに保持されるデータを、マルチプレ
クサ29LIにより選択されたWALIレジスタ25L
Iで指定されている、UB20LIのそのアドレスに書
込み、WAUレジスタ25Uを+1する書込み制御を繰
返し行なう。WAUレジスタ25LIは、上記したよう
に起動時にリセットされており(第10図参照)、シた
がってS 1はUB20UのO番地から順に書込まれる
UB20Uへのデータ書込みの場合、主制御部38はそ
の動作開始時に、R8(Jレジスタ43Uの内容(レコ
ード長R8U)をマルチプレクサ44を介しはWALレ
ジスタ25L)が+1される毎に−1される。この結果
、WRCカウンタ45は、1レコードの最終データの書
込み時にアンダフロー状態とからのボロー信号はSTC
カウンタ46に導かれ、これによりSTCカウンタ46
は−1される。このため、STCカウンタ46は、S 
1の最終レコードの最終データの書込み時にアンダフロ
ー状態となり、ボロー信号を出力する。STCカウンタ
46がらのボロー信号はA67Ll、 67Lの一端に
共通に導かれる。A67Uの他端には、MOPレジスタ
39内のLJ/Lピットがインバータ66を介して導か
れ、A67Lの他端には、上記U/Lビットがそのまま
導かれる。したがって、U/L−0であるこの例では、
A 67Uのアンド条件が成立し、A 67LJがらF
UWEDフラグ51Uに対し、論理111 IIの信号
が出力される。これにより、FIJWEDフラグ51U
はセットされる(第10図の■LOAD (U)、EN
G、Goコマンドの欄参照)。主制御部38内くf、カ
ウントアツプ動作を停止することになる。
第10図では、上記したWAUレジスタ25Uの内容の
ように、該当コマンドの実行終了時おける該当レジスタ
の内容が、リレーションの(最終レコードの)最終デー
タの格納アドレスとなることを、「endJで示してい
る。
FLJWEDフラグ51Uからのセット出力信号は、A
72Uの一端に導かれる。A72Uの他端には、デコー
ダ70からのロード信号71LJが導かれる。デコーダ
70は、MOPレジスタ39の内容をデコードしており
、この例のようにLOAD (U)コマンドの場合、論
理″1”のロード信号71LJを出力する。
したがって、この例では、F−UWEDフラグ51tJ
のセットにより、A72Uのアンド条件が成立し、A7
2Uから(LOAD (LJ)コマンドの実行によるU
 B 20Uへの書込み完了を示す)論理“1”の信号
が出力される。A72Uからの論理゛″1″の信号は、
0R15を介して割込み発生回路76に導かれ、これに
より割込み発生回路76はCP LJ 11に対する割
込み信号ATNを発生する。CP U 11は、マーシ
ャ10(内の割込み発生回路76)からの割込みを受付
けると、FUWEDフラグ511J、FLWED−割込
み要因の判別を行なう。
、モPU11は、マーシャ10からのステータスの読取
:りにより、UB20Uへのリレーション(Sl)の書
込みの完了を判断すると、次のリレーション、即ち第2
のリレーション(S2)に関するセットアツプを行なう
。この場合のセットアツプは、前記したS 1に関する
セットアツプと略同様である。
なお、有効データ長VDLは、第1のリレーションS 
1および第2のリレーションS 2の各レコードにおい
て共通であるため、S2の場合にはセットアツプは不要
である。したがって、S2の場合のセットアツプ対象レ
ジスタは、MOPレジスタ39.08LAレジスタ54
L、08LBレジスタ55L、R8Lレジスタ431、
およびTRNレジスタ42となる。但し、MOPレジス
タ39には、RESTRICT系演算(この例ではRE
ST−EQ)を指定するMRG−OPコード、ソート類
を指定するAs/DSビット、LB20Lを指定する論
理″′1゛′のU/Lビットを含むマージ演算指定情報
(REST−EQ (L)コマンド)がセットされる。
そして、マーシャ10内のCMDレジスタ41に、$1
の場合と同様に、ENG、Goコマンドがセットされる
ことにより、マーシャ10が再び起動される。このとき
、クリア回路61により、WALレジスタ251%RA
Lレジスタ26L、FLWEDフラグ51L1およびF
LEMPフラグ521がクリア(リセット)される。即
ち、MOPレジスタ39にセットされたマージ演算指定
情報のLl/Lビットが論理”1”、CMDレジスタ4
1にセットされたコマンドデータ(但しREG、lN0
−○)内のENG、Goビットが論理“1″の場合、ク
リア回路61内のA78Lのアンド条件が成立し、A7
8Lから論理′″1”の信号が出力される。A78Lか
らの論理パ1”の信号は、0R79Lを介しでゲート8
1Lに導かれると共に、0R79L、80Lを介してゲ
ート82Lに導かれる。ゲート81L、82Lは、制御
タイミング発生回路60のスタートタイミング発生機能
によるクリアタイミングで、上記論理“1″の信号をゲ
ートする。ゲート811からの論理“1″の信号はWA
Lレジスタ25LおよびFLWEDフラグ51Lに導か
れ、ゲート821からの論理11111の信号はRAL
レジスタ26LおよびFLEMPフラグ52Lに導かれ
る。これにより、WALレジスタ25L、RALレジス
タ26L、FLWEDフラグ51L、およびFLEMP
フラグ52Lがクリアされ一夕のキーフィールドと対象
リレーションのそれとが等しいとき、対象リレーション
を出力することを示す。
マーシャ10では、REST−EQ (L)コマンドに
応じ、主制御部38の制御により、LB20Lへデータ
(この例ではS 2)を格納する動作が行な     
iこの供給周期に同期してINLレジスタ21Lに保持
される。REST−EQ(L、)コマンドの場合、マー
シャ10の主制御部38内の図示せぬ書込み制御部は、
WALレジスタ25Lを用いてLB2OLに対するデー
タ書込みを行なう。即ち、主制御部38内の書込み制御
部は、INLレジスタ21mに保持されるデータを、W
ALレジスタ25Lで指定されるLB20Lのそのアド
レスに書込み、WALレジスタ25Lを+1する書込み
制御を繰返し行なう、、WAmレジスタ25Lは、起動
時にリセットされており(第10図の■REST−EQ
 (L)、ENG。
GOコマンドの欄参照)、シたがって82はL Br2
OLの0番地から順に書込まれる。
LB20Lへのデータ書込みの場合、主制御部38はそ
の動作開始時に、R8Lレジスタ43Lの内容(レコー
ド長R8L)をマルチプレクサ44を介してWRCカウ
ンタ45にセットし、TRNレジスタはWAUレジスタ
25U)が+1される毎に−1される。この結果、WR
Cカウンタ45は、1レコードの最終データの書込み時
にアンダフロー状態となり、ボロー信号を出力する。W
RCカウンタ45力八らのボロー信号はSTCカウンタ
46に導かれ、これによりSTCカウンタ46は−1さ
れる。このため、STCカウンタ46は、B2の最終レ
コードの最終データの書込み時にアンダフロー状態とな
り、ボロー信号を出力する。STCカウンタ46からの
ボロー信号はA67U、67Lの一端に共通に導かれる
。A67Uの他端には、MOPレジスタ39内のU/L
ビットがインバータ66を介して導かれ、A67Lの他
端には、上記IJ/Lビットがそのまま導かれる。した
がって、LJ/L−1であるこの例では、A67Lのア
ンド条件が成立し、A67LからFLWEDフラグ51
Lに対し、論理“1”の信号が出力される。これにより
、FLWEDフラグ51Lはセットされる(第10図の
■REST−EQ(L) 、ENG、Goコマンドの欄
参照)。主制御部38内の書込み制御部は、STCカウ
ンタ46からのボロー信号により、書込み制御動作を停
止する。この結果、WALレジスタ25Lは、S 2の
(最終レコードの)最終データの格納アドレスを示した
状態(end)でカウントアツプ動作を停止することに
なる。
この・例では、U B20LI (L B20L )に
対するリード/ライト動作は、時分割で行なわれる。即
ち、マーシャ10における1動作サイクルは、リードサ
イクルと、ライトサイクルとに2分されて使用される。
REST−EQ (L)コマンドの場合、主制御部38
内の図示せぬ読出し制御部は、WALレジスタ25Lの
内容WALおよびRALレジスタ26Lの内容RALを
比較するCMP28L、並びにWAUレジスタ25tJ
の内容WALJおよびRAUレジスタ26tJの内容R
AUを比較するCMP28Uの比較結果を監視している
。そして、RAL<WAL。
RAU<WAUであれば、読出し制御部はL 820L
からのデータ読出しが可能であるものと判断し、リード
サイクルにおいて、RALレジスタ26Lを用いたLB
2OLからのデータ読出し、およびRAUレジスタ26
Uを用いた1JB20Uからのデータ読出しを同時に行
ない、しかる後RAUレジスタ26USRALレジスタ
261の内容を+1する。このとき、FLWEDフラグ
51Lがセットしていなければ、書込み制御部は次のラ
イトサイクルにおいて、前記したようにWALレジスタ
25Lを用いたLB2OLへのデータ書込みを行なう。
そして、上記した動作が繰返される。RAUレジスタ2
6U1RALルジスタ2[3Lは、前記したように起動
時にリセットされており(第10図参照)、シたがって
IJB20USLB20Lからのデータ読出しは0番地
から行なわれる。
UB20U1LB2OLからのデータ読出しにおいては
、1レコードの先頭データの読出しに際し、RALIレ
ジスタ26U、RALレジスタ26mの内容がBUUレ
ジスタ27U1BLILレジスタ27mに、R8Uレジ
スタ43U、R8Lレジスタ43Lの内容がRCUカウ
ンタ49U、RCLカウンタ49mに、そしてVDLレ
ジスタ47の内容がVCTカウンタ48に、主制御部3
8内の制御タイミング発生回路60からのルーコード処
理開始の指定タイミングでロードされる。RCUカウン
タ49tJ1RCLカウンタ49L、およびVCTカウ
ンタ48は、u 820U、1 B 20’Lからのデ
ータ読出し毎に−1される。この例では、マーシャ10
に供給されるレコードは、。
INアライナ13により、比較対象となるキーフィール
ドがその先頭となるように前処理を施されている。した
がって、VCTカウンタ48は、キーフィールドの最終
データの読出し時にアンダフロー状態となり、キーフィ
ールドエンドを示すボロー信号を出力する。VCTカウ
ンタ48からのボロー信号は、比較制御部62に導かれ
る。また、RCUカウンタ491.J%RCLカウンタ
49Lは、レコード長がR8UのU側レコード、レコー
ド長がR8Lのし側レコードの最終データの読出し時に
アンダフロー状態となり、レコードエンドを示すボロー
信号を出力する。RCUカウンタ49U、RCL力トン
タ49Lからのボロー(言号はFUEフラグ50U、F
LEフラグ50Lに導かれる。これにより同フラグ50
U、50Lがセットし、ルーコードの最終データの読出
しであることが示される。
U B20U 、 L B20Lから読出されたデータ
は、UPRレジスタ22tJ、LOWレジスタ22Lに
保持される。UPRレジスタ22U、LOWレジスタ2
2Lの保持データはCMP23に導かれる。また、UP
Rレジスタ22U、LOWレジスタ22Lの保持データ
はOTUレジスタ24U、○TLレジスタ24Lを介し
てINURレジスタ31U、INLRレジスタ31Lに
も導かれ、同レジスタ31U、31Lに保持される。
CMP23は、UPRレジスタ22U、LOWレジスタ
22mからの両データの大小を比較する。CMP23の
比較結果は、主制御部38内の比較制御部62に導かれ
る。比較制御部62には、VCTカウンタ48からのキ
ーフィールドエンドを示すボロー信号も導かれる。比較
制御部62は、CMP23からの比較結果が、U>Lま
たはU<Lの場合は、その時点でU側レコード(この例
ではS 1内のルーコード)とL側レコード(この例で
はS2内のルーコード)との指定キーフィールド間での
比較結果を確定し、CMP23の比較結果を制御信号発
生回路65に伝える。これに対し、U−Lの場合には、
比較結果を確定することはできないため、次のデータに
対する比較結果が与えられるまで、比較結果の確定を控
える。但し、VCTカウンタ48からのボロー信号によ
り、キーフィールドの終了(キーフィールドエンド)を
検出した場合には、U−Lを確定し、CMP23からの
一致検出結果を制御信号発生回路65に伝える。なお、
上記の説明で、UはtJB20Uからの読出しデータを
示し、LはLB20Lからの読出しデータを示す。
一方、INURレジスタ31U、INLRレジスタ31
mに保持されたLIB20U、LB20Lからの読出し
データは、CMP23による比較動作と並行して、UR
B30U、LRB30Lに書込まれる。このLIRB3
0U、LRB3OLに対する書込みアドレスは、RAU
Rレジスタ35U、RALRレジスタ35Lによって指
定される。RAURレジスタ35U、RAI、Rレジス
タ351は、1レコード分の書込みに際しクリアされる
ようになっており、したがって1JB20U、LB20
Lからの読出しデータは、IJRB30U、LRB30
LのO番地から書込まれる。
主制御部38内の制御タイミング発生回路60は、FU
Eフラグ50UおよびFLEフラグ50Lの状態を監視
している。そして、制御タイミング発生回路60は、F
UEフラグ50UおよびFLEフラグ50Lが共にセッ
ト状態となったことを検出すると、即ちU側レコード、
L側レコードのうちレコード長の長い方のレコードの最
終データの読出しを検出すると、(URB30Uまたは
LRB3OLからのルーコードの読出し出力が可能とな
ったとして)制御信号発生回路65に各種制御信号の出
力のタイミング指示を与える。
@制御信号発生回路65は、制御タイミング発生回路6
0からの指定タイミングで、MOPレジスタ39に保持
されているマージ演算指定情報中のMRG−OPコード
並びにAs/DSビット、および比絞制御部62からの
比較確定結果に応じ、(J B 20U 。
L82OLに対する読出しアドレス、割込み制御部63
、および出力制御部64などを制御する各種制御信号を
発生する。制御信号発生回路65は、例えばROMであ
る。
制御信号発生回路65は、MRG−OPレコードよって
RESTRICT系演算が指定されている場合(即ち、
・この例のようにREST−EQ演算の場合)第12図
に示す入出力論理に従って各種制御信号を出力する。但
し、第12図の入出力論理は、マーシャ10への入力リ
レーション(この例では、リレーションS i、 S 
2>が昇順でソートされていること(As/[JS−0
)を前提としている。この場合、制御信号発生回路65
は、比較結果がLl<Lであれば、U 820tJから
次のレコードが読出され、LB20Lから現レコードが
再度読出されるように指示する制御信号を出力する。こ
の制御信号は、例えば、RAUレジスタ26U、RAL
レジスタ26Lへのロード信号であり、この場合には、
RALレジスタ26Lへのロード信号が出力される。R
ALレジスタ261へのロード信号が出力された場合、
(レコード処理開始時にRALレジスタ26Lから)B
ULレジスタ27Lにロードされた現レコードの先頭ア
ドレスが、RALレジスタ26Lにロードされる。これ
により、前記したし820Lからのデータ読出しと同様
にして、現レコードを先頭データより順に再び読出すこ
とが可能となる。一方、RAUレジスタ26LJについ
ては、次のデータのアドレス(この場合には、次のレコ
ードの先頭アドレス)を示しており、何等変化はない。
この場合、前記したUB20Uからのデータ読出しと同
様にして、次のレコードを先頭データより順に読出すこ
とが可能となる。これに対し、比較結果が(J−1また
はLJ>Lの場合には、制御信号発生回路65は、UB
20Uから現レコードが再度読出され、LB2OLから
次のレコードが読出されるように指示する制御信号を出
力する。特にU−L(即ちREST−EQの条件成立)
の場合には、制御信号発生回路65はLRB30Lに書
込まれたレコードの出力を指示する有効な(論理“1″
の)出力指示信号85Lを出力する。また、制御信号発
生回路65は、比較結果に無関係に有効な割込み許可信
@74U、 74Lを出力する。
今、制御信号発生回路65からの制御信号により、IJ
 B 20tJからの現レコードの読出しおよびLB2
0Lからの次のレコードの読出しが指示されると共に、
論理゛1″の出力指示信号85Lが出力されたものとす
る。制御信号発生回路65からの論理“1′の出力指示
信号85Lは、FLOフラグ53Lに導かれ、これによ
りFLOフラグ53Lはセットする。
出力シーケンス制御部83は、FLIOフラグ531J
およびFL○フラグ53mの状態を監視しており、フラ
グ53LJ、53Lの少な(とも一方がセットした場合
、同フラグ53U、 53Lの状態、および図示せぬ出
力選択制御レジスタの指示内容に応じて出力制御を行な
う。例えば、出力選択制御レジスタにより識別番号NT
IDの付加が指示されている状態で、上記したようにF
LOフラグ53Lが一セットした場合、出力シーケンス
制御部83は、まずNTID出力制御部84Nに対しN
丁IDカウンタ32からの識別番号NTTDの出力を指
示する。また出力シーケンス制御部83は、出力選択制
御レジスタによる識別番号NTID付加指示の有無に無
関係に、NTIDカウンタ32にカウントアツプイネー
ブル信号90を出力する。
NTID出力制御部84Nは、出力シーケンス制御部8
3からの指示に応じ、出力制御信号91N1およびスト
ローブ信号87Nを出力する。出力制御信号91Nは第
1図のゲート37Nに供給される。これによりゲート3
7Nがイネーブルされ、NTIDカウンタ32のカウン
ト値である識別番号NTl0がゲート37を介してRO
UTレジスタ33に導かれる。
一方、上記ストローブ信号87NはOR8Gを介してゲ
ート88に供給される。ゲート88は、切出し制御部8
9からの出力許可に応じ、0R86からの出力信号(こ
の例ではストローブ信号81N)をストローブ信号93
としてROUTレジスタ33に出力する。
なお、切出し制御部89の制卸動作については、J O
、I N系演算を例にとって詳述する予定であり、ここ
ではNTID出力制御部84N、LIRB続出し制御部
84tJおよびしRB読出し制御部841のいずれかが
出力制御動作期間中は、ゲート88に対し出力許可が与
えられるものとし、説明を省略する。
切出し制御部89からの出力許可により、ゲート88か
らの出力信号であるストローブ信号93がROυTレジ
スタ33に出力されると、(ゲート37N経由でROU
Tレジスタ33に導かれている)NTIDカウンタ32
からの識別番号NTIDは、RO1JTレジスタ33に
ラッチされる。そして、ROUTレジスタ33にラッチ
されたデータは、8MA17を介して図示せぬHMに転
送される。
NTID出力制御部84Nは、NTIDカウンタ32か
らの識別番@NTIDの出力を終了すると、出力シーケ
ンス制御部83に対して出力終了を通知する。これによ
り、出力シーケンス制御部83は、LRB読出し制御部
84Lに対しLRB3OLからのレコードの読出し出力
を指示する。なお、フラグ53LJ、 53Lが共にセ
ットしている場合には、出力シーケンス制御部83はU
RB続出し制御部84UおよびLRB読出し制御部84
Lに対し、出力選択制御レジスタで指示された出力順で
読出し指示を与える゛。
LRBlN出し制御部84Lは、出力シーケンス制御部
83からの指示に応じ、出力制御信号91Lを出力する
。この出力制御信号91Lは第1図のゲート371に導
かれる。これによりゲート371はイネーブルさる。こ
の状態で、LRBi!出し制御部841はRALRレジ
スタ35LおよびCTRカウンタ56をクリアし、しか
る後RALRレジスタ35Lを用いてLR830Lから
のデータ読出しを行なう。また、LRB続出し制御部8
4Lは、LRB301から所定バ・イトのデータを読出
す毎に、RALR3SLおよびCTRカウンタ56の内
容を+1すると共に、ストローブ信号87Lを出力する
。このストローブ信号87Lは0R86を介してゲート
88に供給され、ストローブ信号93としてROUTレ
ジスタ33に供給される。これにより、(ゲート37L
経由でROLJTレジスタ33に導かれている)LRB
30Lからの読出しデータは、ROtJTレジスタ33
にラッチされ、前記したように8MA17を介してHM
に転送される。なお、LRB301からのデータ読出し
期間中、UB20tJ、LB2OLから次のレコードを
読出し、同レコードを所定バイト単位でU RB 30
LISLRB3OLの0番地から書込むことも可能であ
る。この場合、UR830LJ、LRB30Lに対する
リード/ライト動作は、LI820(J、LB2OLに
対するそれと同様に、時分割で行なう必要がある。
このようにして、1レコード分のLRB30Lからの読
出しデータが(識別番号NTIDに続いて)マーシャ1
0から出力されたものとする。このとき、CTRカウン
タ5Gの内容とR8Lレジスタ43mの示すL側すレー
ション(この例ではS 2)のレコード長とを比較する
CMP591の比較結果は、一致を示している。LR8
読出し制御部841は、CMP59Lの一致検出により
1レコードの読出し出力終了を判断し、出力シーケンス
制御部83に対して出力終了を通知する。(FUOフラ
グ53Uがセットされていないこの例では)出力シーケ
ンス制御部83は、LRB読出し制御部84Lからの出
力終了通知により1出カシ−ケンスの終了を判断し、カ
ウンタストローブ信号92を0R94に出力する。
ントアップイネーブル端子Eには、前記したように出力
シーケンス制御部83からカウントアツプイネーブル信
号90が供給されている。したがって、NTIDカウン
タ32は上記カウンタストローブ信号95に応じてカウ
ントアツプする。これにより、識別番号NTIDは+1
される。
上記した動作が繰返され、例えば第10図に示すように
、RALレジスタ26Lの内容がWALレジスタ25L
のそれに一致したものとする。この場合、WALレジス
タ25LおよびRALレジスタ26Lの各内容を比較す
るCMP28Lは、論理“1゛の一致検出信号を出力す
る。この一致検出信号はA681の一端に導かれる。A
68Lの他端にはFLWEDフラグ51mからの論理“
1″の出力信号が導かれている。これは、FLWEDフ
ラグ51Lが前記したようにセット状態にあることによ
る。この場合、A68Lのアンド条件が成立し、A68
Lから論理“1パの信号が出力される。このA(38L
からの論理“′1”の信号は、LB2OLに対するリレ
ーションの書込み(この例ではS 2)が完了している
状態で、RALレジスタ26Lの示す読出しアドレスが
WALレジスタ25Lの書込みアドレスに一致したこと
、即ちLB2OLが空状態となったことを示す。八〇8
しからの論理“1”の信号はゲート69Lに導かれる。
ゲート69Lは、A68Lからの論理″1″の信号を、
制御タイミング発生回路60からの指定タイミング(レ
コードエンド検出タイミング)でゲートする。この結果
、A68Lからの論理“1パの信号はFLEMPフラグ
52Lに出力され、同フラグ52mはセットする。FL
EMPフラグ52Lからの論理“1″の(セット)出力
信号はA73Lの一端に導かれる。A73Lの他端には
制御信号発生回路65からの割込み許可信号74Lが導
かれる。この場合、割込み許可信号74Lは前記したよ
うに論理111+1(第12図参照)であり、したがっ
てA73Lは論理“1パの信号を出力する。
A73Lからの論理“1°′の信号は、OR75を介し
て割込み発生回路76に導かれ、これにより割込み発生
回路76はCP U 11に対する割込みを発生する。
CP LJ 11は、マーシャ10(内の割込み発生回
路76)からの割込みを受付けると、マーシャ10のス
テータスの読出しを行ない、割込み要因の判別を行なう
CPtJllは、マーシャ10からのステータスの読取
りにより、LB20Lが空状態となったこと、即ちマー
シャ10での演算終了を判断する。これは、WAUレジ
スタ25tJおよびRAUレジスタ26Uの各内容を比
較するC M P 28Uから一致検出信号が出力され
、FUEMPフラグ52Uがセットした場合もWIi様
である。CPLJllは、上記した関係演算(REST
−EQ)で(条件成立により)マージ中10から出力さ
れたレコードの数(もしU側およびL測具に出力する場
合であればレコードの組数)を知りたい場合、以下に述
べるようにNTIDカウンタ32の内容の読取りを行な
う。
CP LJ 11は、まずマーシャ10を機器指定して
、しかる後NTIDカウンタ32を指定するコマンドデ
ータ(REG、lN0=1.)をコマンド信号CMDと
共に入出力バス18に出力する。入出力バス18上のコ
マンドデータはマーシャ10の入出力インタフェース4
0内の入力ドライバ102を介し、コマンド信号CMD
は入出力ドライバ101を介し、それぞれCMDレジス
タ41に供給される。しかして、NTIDカウンタ32
を指定するコマンドデータは、コマンド信号CMDに応
じてCMDレジスタ41に保持される。CMDレジスタ
41に保持されたコマンドデータは、この例のようにR
EG、IND−1の場合、ゲート106を介してD E
 C107、108に供給される。
CPU11は、NTrDカウンタ32を指定するコマン
ドデータを転送すると、リード信号RDを入出力バスi
al出でマーシャ10に転送する。CPLlllからの
リード信号RDは、マーシャ10の入出力インタフェー
ス40内の入出力ドライバ101−を介してD E C
108に供給される。D E C108は、上記リード
信号RDによりイネーブルされ、ゲート106より供給
されるCMDレジスタ41からのコマンドデータのデコ
ード信号を出力する。上記コマンドデータがNTIDカ
ウンタ32を指定しているこの例では、D E C10
8からは出力制御信号110が出力される。この出力制
御信号110はゲート111に供給される。ゲート11
1にはNTIDカウンタ、32からの識別番号NTID
が供給されている。ゲート111は、D E C10g
からの出力制御信号110によりイネーブルされ、NT
 [)カウンタ32からの識別番!NTIDをゲートす
る。この結果、NTIDカウンタ32からの識別番号N
TIDは、ゲート111を介して出力ドライバ103に
出力され、同ドライバ103により入出力バス18に送
出される。
CP U 11は、入出力バス18上の識別番号NTI
Dを取込み、その値から初期値を減じることにより、出
力されたレコード数(組数)を知ることができる。
ところで、所望の関係演算が終了した状態で、LIB2
0U、LB20Lに格納されているデータに対を使用す
る。具体的には、第10図の■に示すように、所望のマ
ージ演算コマンド(この例ではREST−NE (L)
コマンド)と共に、URTRY並びにLRTRYが指定
さhたMRG、GO:1マント、即ちMRG、Go−U
RTRY−LRTRY−1、REG、lN0−R8T−
ENG、Go−OのMRG、Goコマンドが適用される
。第7図のクリア回路61に示すように、URTRYビ
ットハ、oR80Uの一端に導かれ、LRTRYI=’
ットは0R80Lの一端に導かれる。したがって、LI
RTRY−LRTRY−1のこの例では、0R80U、
80Lの出力レベルは論理“1″となる。このため、制
御タイミング発生回路60からのスタートタイミングで
、LJRTRYビットに対応してRAtJレジスタ26
(JおよびFUEMPフラグ52Uがクリアされ、LR
TRYビットに対応してRALレジスタ26LおよびF
LEMPフラグ52Lがクリアされる。一方、WAUレ
ジスタ25tJSWALレジスタ25L1FUWEDフ
ラグ51tJ、FLWEDフラグ51Lについては、前
の状態、即ち第10図の■に示すREST−EQ (L
)、ENG、G。
コマンドの実行終了時の状態を保持する。したがって、
UB20tJ、LB2OLに格納されているデータに対
し、その先頭データから所望の演算(この例ではRES
T−NE (L)演算)を行なうことができる。なお、
REST−NEコマンドでは、条件データのキーフィー
ルドと、対象リレーションのそれとが等しくなく、且つ
LB20Lに対するレコード更新が行なわれるときのU
側データ(レコード)が出力対象となる。
次に、LB20Lの容量を越える対象リレーションに対
するRESTRICT系演算演算EST−EQ演算)に
ついて、第13図および第14図を参照して説明する。
なお、第13図は第10図に、第14図は第11図に対
応する。今、条件データとしての第1のリレーションを
81、対象リレーション(第2のリレーション)を$2
とする。また、S2は、LB20Lの容量単位に応じて
S21・〜823に分割されるものとする。なお、条件
データであるS 1は、UB20Uの容量を越えないこ
とを前提とする。この場合、CP IJ 11からマー
シャ10に対し、まずLOAD (IJ)、ENG、G
oコマンドが与えられる。これによりUB20Uに関す
るレジスタ、フラグ類がクリアされ(第13図の■LO
AD (LJ) 、ENG、Goコマンドの欄参照)、
SlがUB20UのO番地から所定バイト単位で書込ま
れる。S 1の書込みが完了すると、CPU11からマ
ーシャ10に対し、REST−EQ (L)、ENG、
Goコマンドが与えられる。これにより、LB20Lに
関するレジスタ、フラグ類がクリアされ(第13図の■
REST−EQ (L)、ENG。
GOコvン)[)all照) 、S21をLB20L(
7)0番地から始まる領域に書込む動作が開始される。
LB2OLへのデータ書込みが開始されると、前記した
ようにUB20UおよびLB20Lからのデータ読出し
が開始され、VDLレジスタ47で指定されたキーフィ
ールド部分の比較が行なわれる。そして、FUEフラグ
50UおよびFLEフラグ50Lが共にセット状態とな
ると、レコード間の比較結果、MRG、Goコマンド、
およびAs/DSピットにより、LJRB30LJ、L
RB30Lに書込まれたレコードに対する出力指示、お
よびレコード更新が制御され、次のレコード処理に進む
。このとき、識別番号NTIDに対する出力制御も行わ
れることは勿論である。
このようにして、REST−EQ (L)、ENG、G
oコマンドで指定された演算が実行され、例えば第13
図および第14図の■に示すように、RALレジスタ2
6Lの内容がWALレジスタ25Lのそれ・に一致し、
CMPZ8Lから一致検出信号が出力されたものとする
。この場合、前記したRESTRICT系演算(RES
T−EQ)の場合と同様に、FLEMPフラグ52Lが
セットし、OPt、111に対し割込みがかかる。これ
によりCP U 11は、S 1と821との間の演算
終了を判断する。CPu11は、次の822とUB20
1J内の81との間のREST−EQ演算のために、マ
ーシャ10に対し、REST−EQ (L) 、ENG
、GC)コマンドを与える。但し、Slについては、再
度先頭レコードから読出す必要があるため、第13図の
■に示すように、URTRYが指定されたENG、G。
コマンド、即ちENG、Go−URTRY−1、REG
、IND−R3T−MRG、Go−LRTRY−0のE
NG、Goコマンドが適用される。
この場合、マーシャ10の起動に際し、第7図のクリア
回路61により、論理゛1”のURTRYビットに応じ
てRAUレジスタ26UおよびFLJEMPフラグ52
1,1がクリアされ、論理“1″のENG。
Goビット(およびU/LビットによるLB20L指定
)に応じてWALレジスタ25L、FLWEDフラグ5
1L、RALレジスタ213L、FLEMPフラグ52
Lがクリアされる。また、WAUレジスタ25LISF
LJWEDフラグ51LJについては、前の状態を保持
する。したがって、UB20Uに既に書込まれているS
 1については、その先頭レコードからの読出しが可能
となる。また、S 1が全て読出され、UB20Uが空
状態となる場合の正しい検出も可能となる。一方、32
2については、その先頭レコードからLB20Lに書込
まれ、同先頭レコードから読出されることは、明らかで
ある。
このようにして、REST−EQ (L) 、並びにU
RTRY指定のENG、Goコマンドで指定された演算
が実行され、例えば第13図および第14図の■に示す
ように、RALJレジスタ26Uの内容がWALJレジ
スタ25LJのそれに一致し、CMP28Uから一致検
出信号が出力されたものとする。
この場合、FUEMPフラグ52Uがセットし・、CP
U1tに対し割込みがかかる。これによりCPtJll
は、S 1と822との間の演算終了を判断する。
CP Ll 11は、次の823とUB2OU内の81
との間のREST−EQ演算のために、マーシャ10に
対し、REST−EQ (L) 、並びにLIRTRY
指定のENG、Goコマンドを与える。これにより、U
B20Uに既に書込まれているS 1と、LB20Lに
新たに書込まれるS23との間のREST−EQ演算が
、その先頭レコードから行なわれる。
次に、マーシャ10による関係演算処理について、JO
IN系演算の場合を例にとり説明する。JOIN系演算
は、2つのリレーションの指定キーフィールドの比較を
行ない、条件が成立した組で新たなリレーションを作り
出す、いわゆる2ストリ一ム入力合成出力型の演算であ
る。例えば、JOIN系演算の1つであるJOIN−A
LL演算では、2つのリレーションの全ての組合わせレ
コードが無条件で出力される。
マーシャ10によるJOIN系演算では、LOAD(U
)演算指定により、第1のリレーションをLJ 820
LIに格納した後、JOIN(L)系演算指定により第
2のリレーションをLB20Lに格納しつつ、JOIN
演算が行なわれる。そして、(JB20LJからの読出
しレコード(U側しコード)の指定キーフィールドと、
LB2OLからの読出しレコード(L側しコード)のそ
れとの比較を行ない、演算条件が成立したとき、UOI
およびL側しコードの出力指示が制御信号発生回路65
から与えられる。JOIN−ALL演算における制御信
号発生回路65の入出力論理を、第15図に示す。−但
し、第15図の入出力論理は、マーシャ10への入カリ
よび第2のリレーションは、UB20U、LB20Lの
容量を越えず、そのソート類も同じ必要がある。
ソート類が同じであることは、前記したRESTRIC
T系演算の場合にも同様である。
さて、LJB20U、LB20Lからの読出しレコード
は、URB30tJ、LRB30Lに書込まれる。そし
て、FUEフラグ50tJおよびFLEフラグ50シが
共にセット状態となると、即ち、U側しコードおよびL
側しコードの最終データの読出しが共に検出されると、
l!i11御信号発生信号発生回路65たRESTRI
CT系演算の場合と同様に、U RB 30U、LRB
30Lに書込まれたレコードの出力指示、およびレコー
ド更新の制御を行なう。今、JotN−ALL演算が指
定されているものとすると、制御信号発生回路65は、
第15図の入出力論理に示すように、論理゛1”の出力
指示信号85U、85Lを出力する。またtilJ i
ll信号発生回路65は、LB20Lからの読出しレコ
ードが第2のリレーションの最終レコードであるか否か
(LENDであるか否か)により、レコード更新制御を
行なう。もし最終レコードでない場合には、制御信号発
生回路65は、U B 20Uから現レコードが再度読
出され、LB20Lから次のレコードが読出されるよう
に指示する制御信号を出力する。これに対し、最終レコ
ードの場合(LENDの場合)には、制御信号発生回路
65は、UB20LIから次のレコードが読出され、L
B20Lから(第2のリレーションの)先頭レコードが
読出されるように指示する制御信号を出力する。
制御信号発生回路65からの論理“1″の信@85U、
as1は、FLIOフラグ53U、FLOフラグ53L
に導かれ、これにより同フラグ53U、53Lはセット
する。出力シーケンス制御部83は、FtJOフラグ5
3LIおよびFLOフラグ53Lを監視しており、フラ
グ53U、 53Lの少なくとも一方がセットした場合
、同フラグ53LJ、53Lの状態、および図示せぬ出
力選択制園レジスタの指示内容に応じて出力制御を行な
う。例えば、出力選択製面レジスタにより識別番号NT
IDの付加が指示され、且つU側しコード→L側レコー
ドの出力順が指示されている状態で、上記したようにF
UOフラグ53UおよびFLOフラグ53Lがセットし
た場合、出力シーケンス制御部83は、まずNTID出
力制御部84Nに対しNTIDカウンタ32からの識別
番号NT10の出力を指示する。また出力シーケンス制
御部83は、出力選択制御レジスタによる識別番号NT
ID付加指示の有無に無関係に、NTIDカウンタ32
にカウントアツプイネーブル信号90を出力する。
NTID出力制御部84Nは、出力シーケンス制御部8
3からの指示に応じ、前記したRESTRICT系演算
の場合と同様に、出力制御信号91Nおよびストローブ
信号87Nを出力し、NTIDカウンタ32で生成され
た識別番!NTIDをROUTレジスタ33にラッチせ
しめ、外部に出力する。NTID出力制御部84Nは、
NTIDカウンタ32からの識別番号NTIDの出力を
終了すると、出力シーケンス制御部83に対して出力終
了を通知する。
これにより、出力シーケンス制御部83は、URB読出
し制御部84Uに対してU R830Uからのレコード
の読出し出力を指示すると共に、切出し制御部89にU
(Inレコードに対する切出し制御を指示する。
URB続出し制御部84[Jは、出カシーケンス制糎部
83からの指示に応じ、出力制御信号91Uを出力する
。この出力制御信号911Jは第1図のゲート37LJ
に導かれる。これによりゲート37Uはイネーブルされ
、U RB 3QLJからの読出しデータのROUTレ
ジスタ33への出力が許可される。この状態で、URB
読出し制御部841JはRAURレジスタ351Jおよ
びCTRカウンタ56をクリアし、しかる後RALJR
レジスタ35Uを用いてU RB 30Uからのデータ
読出しを行なう。また、URB続出し制御部84tJは
、IJ RB 30tJから所定バイトのデータを読出
す毎に、RAURレジスタ35UおよびCTRカウンタ
56の内容を+1すると共に、ストローブ信号87LJ
を出力する。CTRカウンタ56の内容は、CM P 
57U〜59U、CMP57L〜59Lに導かoSLB
レジスタ55L1R8Lレジスタ43Lと比較される。
CMP57U、 581JおよびCMP57L。
58Lの比較結果は切出し制御部89に導かれる。
切出し制御部89は、出力シーケンス制御部83からU
側しコードの切出し制御を指示された場合、CMP57
UおよびCMP58LIを監視する。そして、切出し制
御部89は、現読出し中のデータのレコード内位置を示
すCTRカウンタ56の内容(この例では、RAtJR
レジスタ35Uの内容、即ちURB30Uに対する読出
しアドレスに一致)をXとすると、CM P57U 、
 57Uにより08UA≦X≦08LIBが検出されて
いる期間は、ゲート88に対して出力許可を与える。即
ち、切出し制御部89は、通常はゲート89に対して出
力許可を与えているが、出力シーケンス制御部83から
切出し制御を指示されると、出力許可/禁止の制御を行
なう。この結果、切出し制御部89から出力許可が与え
られている期間だけ、URB読出し1IilJ 111
部84Uからのストローブ信号87Uがストローブ信号
93としてRO(JTレジスタ33に導かれ、LI R
830LIからの読出しデータがRot、ITレジスタ
33にラッチされる。したがって、08UA (第1の
切出し位置)および08UB (第2の切出し位置)を
適切な値に設定することにより、出力対象となるU側し
コードから所望の属性だけを選択的に切出し出力するこ
とができる。これは、L側しコードについても同様テア
−ル。なお、08UA (O8LA)−0、oSUB 
(O8LB)−R8tJf7)場合ニハ、ルーコード分
のデータがそのまま出力される。
U RB 30Uからの読出しデータが該当レコードの
最終データ、となると、CM P 59Uは一致を検出
し、一致検出信号を出力する。URB読出し制御部84
Uは、CMP59Ljから一致検出信号が出力されると
、レコード読出し終了を判断し、その旨を出力シーケン
ス制御部83に通知する。出力シーケンス制御部83は
、LIRB読出し制御部8tlJから終了が通知され、
この例のようにFLOフラグ53Lがセットされている
と、LRBvg出し制御部84Lに対してLR830L
からのレコードの読出し出力を指示すると共に、切出し
制御部89にL側しコードに対する切出し制御を指示す
る。これにより、上記した場合と同様にして、L側しコ
ードのうち08LA≦X≦03LBを満足するフィール
ド部分のデータが切出し出力される。
LRB読出し制御部84シは、1レコードの読出し制御
を終了すると、その旨を出力シーケンス制御部83に通
知する。出力シーケンス制御部83は、LRB読出し制
御部841からの出力終了通知により1出カシ−ケンス
の終了を判断し、カウンタストロ−、ブ信号92を出力
する。この信号92はOR94を介してカウンタストロ
ーブ信号95としてNTIDカウンタ32のクロック端
子CKに供給される。
これにより、NTIDカウンタ32の内容(II別番号
NTID)が+1される。
以下、同様にしてJOIN−ALL演算が繰返し行われ
、その都度、識別番号NTID、U側レコードおよびL
側しコードの組が出力される。そして、tJB2OLが
空状態となりFLIEMPフラグ52Uがセットすると
、制御信号発生回路65からの論理“1″の割込み許可
信号74LIに応じてA73Uから論理゛1″の信号が
出力される。この論理111 IJの信号はOR75を
介して割込み発生回路76に供給され、これにより同回
路76からCP U 11に対する割込みが発生される
。CP IJ 11は、この割込みに応じてマーシャ1
0のステータスの読取りを行ない、演算終了を判断する
さて、上記のJOtN−ALL演算においては、第1の
リレーションのレコード数が2n、第2のリレーション
のレコード数が2″′Lであるものとすると、その出力
リレーションのレコード数は2n+mとなる。したがっ
てNTIDカウンタ32のビット長1としては少なくと
もn+mビット必要である。もしソフトウェアの設定ミ
スなどにより、l<n+mとなった場合には、上記のJ
OIN−ALL演算においてNTIDカウンタ32がオ
ーバーフロー状態となり、出力リレーション中の識別番
号NTIDがユニークでなくなってしまう。そこでこの
実施例では、以下に述べるように、NTIDカウンタ3
2のオーバーフロー状態を検出するようにし、同状態の
検出時には動作を停止してCpuiiに異常終了を通知
するようにしている。
NTIDカウンタ32は、そのカウント値がオール゛1
”となると、キャリー出力端子COから論理゛1”のキ
ャリー信号96を出力する。このキャリー信号96はA
121に入力される。A121には、出力シーケンス制
御部83からNTIDカウンタ32に供給されるカウン
トアツプイネーブル信号90およびカウンタストローブ
信号95も入力される。A121は、NTIDカウンタ
32から論理“1″のキャリー信号9Bが出力された次
のカウンタスト0−ブ信号95のタイミング、即ちNT
IDカウンタ32がオーバーフロー状態となるタイミン
グで論理“1″の信号を出力する。A121からの論理
“1”の信号はFOVFフラグ122に供給される。F
OVFフラグ122は、Al21からの論理“1”の信
号に応じてセットし、これによりNTIDカウンタ32
がオーバーフロー状態となったことが示される。
FOVFフラグ122がセットすると、そのセット出力
によりマーシャ10の動作(この例ではJOIN−AL
L演算)が停止され、次に述べるようにCP IJ 1
1に対する割込み(エラー割込み)が発生する。即ち、
FOVFフラグ122のセット出力は異常検出回路12
3に供給される。異常検出回路123はFOVFフラグ
122のセット出力により異常(エラー発生〉を検出す
ると、論理“1”の信号を出力する。異常検出回路12
3からの論理“1”の信号はOR75を介して割込み発
生回路7Gに供給され、これにより同回路76からCP
 tJ 11に対する割込みが発生される。CPU11
は、この割込みに応じ、FOVFフラグ122等によっ
て示されるマーシャ10のステータスの読取りを行ない
、NTIDカウンタ32のオーバーフローによる異常終
了を判断する。これにより、ソフトウェア設定ミスによ
るシステムの誤動作が防止できる。
[発明の効果] 以上詳述したようにこの発明によれば、各種の関係演算
が、極めて効率よく行なえる。また、この発明によれば
、演算条件成立により外部に出力されるレコード(レコ
ード組)に新たな識別子を、tfすことができるので、
その後のデータ処理に極は、その旨を検出して動作を停
止し、上位装置に異常終了を通知できるので、システム
の誤動作を防止できる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るマーシャ(関係演算
処理装置)のブロック構成図、第2図は第1図のマーシ
ャを適用する関係データベースエンジン(RDBE)の
全体構成図、第3図はマージ演算指定情報のフォーマッ
ト図、第4図はコマンドデータのフォーマット図、第5
図は第1図に示す主制御部の機能構成を示すブロック図
、第6図は第5図に示す割込み制御部周辺のブロック構
成図、第7図は第5図に示すクリア回路周辺の回路構成
図、第8図は第5図に示す出力制御部周辺のブロック構
成図、第9図は第1図に示す入出力インタフェースのブ
ロック構成図、第10図はRESTRICT (制約)
系演算(REST−EQ)を実行するためのコマンド列
と、各コマンドによる起動時および終了時における各種
レジスタ、フラグ類の内容との対応関係を示す図、第1
1図は第10図に示す各コマンドの実行終了時のU/[
バッファへの書込み並びに読出し位置の変化を説明する
図、第12図はRESTR(CT <制約)系演算(R
EST−EQ)が指定されている場合の制御信号発生回
路の入出力論理の一例を示す図、第13図および第14
図は第1o図および第11図に対応するもので、対象リ
レーションがマーシャのバッファ容量を越える場合のR
ESTRICT(制約)系演算を説明するための図、第
15図はJOIN系演算(JOIN−ALL)が指定す
れている場合の制御信号発生回路の入出力論理の一例を
示す図である。 10・・・マーシャ、11・・・CP IJ、 20j
J・・・Uバッファ、20L・・・Lバッフ1.23.
28U、 28L、 57U〜59U。 571〜59L・・・比較器(CMP)、27U・・・
BLJUレジスタ、27L・・・BULレジスタ、30
tJ・・・URBバッファ、30L・・・LRBバッフ
ァ、32・・・NTIDカウンタ、38・・・主制御部
、39・・・MOPレジスタ、41・・・CMDレジス
タ、42・・・TRNレジスタ、43U・・・R8Uレ
ジスタ、43L・・・R8Lレジスタ、47・・・VD
Lレジスタ、50U・・・FUEフラグ、50m・・・
FLEフラグ、51U・・・FUWEDフラグ、51L
・・・FLWEDフラグ、52LI・・・FtJEMP
フラグ、52’L・・・FLEMPフラグ、53U・・
・FUOフラグ、53L・・・FLOフラグ、54LI
−O8UAレジスタ、54L・・・08LAレジスタ、
55U−O8U B レジスタ、55L・・・08LB
レジスタ、61・・・クリア回路、62・・・比較制御
部、63・・・割込み制御部、64・・・出力制御部、
65・・・制御信号発生回路、83・・・出力シーケン
ス制御部、84N・・・NTID出力制御部、84U・
・・tJRB読出し制御部、85L・・・LRB読出し
制御部、122・・・FOVFフラグ。 出願人 工業技術院長 等々力 達 第2図 第3図    第4図 第5図 コ三tシリ(rビ壱1338 第6図 第7図 第8図 M 9 図 第10図 第11図 第12図 第13図

Claims (1)

    【特許請求の範囲】
  1. 第1のリレーションを格納する第1バッファと、第2の
    リレーションを格納する第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バッファに一
    時格納された両レコードまたはいずれか一方のレコード
    の外部への出力制御を行なう第1出力制御手段と、この
    第1出力制御手段によるレコード出力に際し、上記カウ
    ンタのカウント値を出力レコードの識別子として外部に
    出力する第2出力制御手段と、上記第1出力制御手段に
    よるレコード出力に応じ、上記カウンタのカウント値を
    更新制御するカウンタ制御手段と、このカウンタ制御手
    段によるカウント更新制御タイミングで上記カウンタか
    らのキャリー出力の有無を調べ、カウンタ・オーバーフ
    ローを検出するオーバーフロー検出手段と、この検出手
    段の検出結果に応じてシステム動作を停止し、上位装置
    に異常終了を通知する異常終了通知手段とを具備するこ
    とを特徴とする関係演算処理装置。
JP60120634A 1985-06-05 1985-06-05 関係演算処理装置 Granted JPS61279929A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60120634A JPS61279929A (ja) 1985-06-05 1985-06-05 関係演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60120634A JPS61279929A (ja) 1985-06-05 1985-06-05 関係演算処理装置

Publications (2)

Publication Number Publication Date
JPS61279929A true JPS61279929A (ja) 1986-12-10
JPH0373022B2 JPH0373022B2 (ja) 1991-11-20

Family

ID=14791076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60120634A Granted JPS61279929A (ja) 1985-06-05 1985-06-05 関係演算処理装置

Country Status (1)

Country Link
JP (1) JPS61279929A (ja)

Also Published As

Publication number Publication date
JPH0373022B2 (ja) 1991-11-20

Similar Documents

Publication Publication Date Title
US20050257089A1 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
JPH1078889A (ja) マイクロコンピュータ
JPH065522B2 (ja) 入出力制御処理延期装置
JPS61221936A (ja) データ処理装置
JPS61279929A (ja) 関係演算処理装置
JPS61166626A (ja) 関係演算処理装置
JPS6162138A (ja) デ−タ処理装置
JPS61166625A (ja) 関係演算処理装置
JPS60225948A (ja) デバツグ装置
JPH0370825B2 (ja)
JPH0370823B2 (ja)
JPH0934795A (ja) Cpuプログラムのコピープロテクト法
JPH04127250A (ja) バスパリティ制御機構をもつマイクロプロセサ
JPH0370824B2 (ja)
JP2754786B2 (ja) 情報処理装置
JPH0370820B2 (ja)
JPS6162136A (ja) デ−タ処理装置
JPH02211561A (ja) プロセッサ及びストアバッファ制御方法
JPH06208461A (ja) マイクロプロセッサ
JPS59200356A (ja) プログラムトレ−ス方式
JPS5968066A (ja) デバツガ起動方式
JPH0333939A (ja) マイクロプロセッサ
JPS62117041A (ja) マイクロコンピユ−タ
JPH0764822A (ja) マイクロコンピュータ
JPS5914060A (ja) メモリバンク切換回路

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term