JP3277817B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP3277817B2
JP3277817B2 JP21099896A JP21099896A JP3277817B2 JP 3277817 B2 JP3277817 B2 JP 3277817B2 JP 21099896 A JP21099896 A JP 21099896A JP 21099896 A JP21099896 A JP 21099896A JP 3277817 B2 JP3277817 B2 JP 3277817B2
Authority
JP
Japan
Prior art keywords
record
selection
condition
data
sort
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.)
Expired - Fee Related
Application number
JP21099896A
Other languages
English (en)
Other versions
JPH1055295A (ja
Inventor
康則 笠原
哲也 武尾
哲郎 石合
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP21099896A priority Critical patent/JP3277817B2/ja
Publication of JPH1055295A publication Critical patent/JPH1055295A/ja
Application granted granted Critical
Publication of JP3277817B2 publication Critical patent/JP3277817B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、大量のデータを
高速にソート処理しつつ、選択、削除、射影、変換、集
計演算等のリレーショナルデータベース処理の代表的処
理を並行に併せ行なうソート専用プロセッサと、このプ
ロセッサを組み込んだソート処理装置の改良に関するも
のである。
【0002】
【従来の技術】本願発明の先行技術としては、情報処理
学会誌vol.33 No.12 P1416〜P1423がある。図13は
先行技術のソート処理装置の構成を示すブロック図であ
り、図13において、1はデータ処理装置、2はソート
以外のデータ処理装置、3はソート処理装置、4はホス
ト計算機のシステムバス、5はホスト計算機の主記憶装
置、6はホスト計算機のCPU、7はホスト計算機のデ
ータを格納する外部記憶装置、8はホスト計算機、20は
システムバスインタフェース制御部、21はマイクロプロ
セッサ、22は20のローカルメモリ、23はソートインタフ
ェース制御部、24は共有メモリ、30はソート処理基本装
置、31は30のローカルメモリ、32はソート処理装置の入
力バス、33はソート処理装置の出力バスである。
【0003】また、図14は電子通信学会CPSY86
−26に掲載されたソート処理基本装置の内部構成であ
る。1000〜1020はストリングの先頭アドレスを保持する
レジスタ、1100〜1110はストリングのデータアドレスレ
ジスタ、1120はメモリ書込み用アドレスレジスタ、200
はストリング0、201はストリング1のデータを各々一
時記憶するレジスタ、202は比較器、31はローカルメモ
リ、32は入力バス、33は出力バスである。また、図13
におけるソート処理装置3はソート処理基本装置30を複
数個縦列に接続して構成され、一般にソート処理基本装
置30は前段の2倍の容量のローカルメモリ31を各段ごと
に備えて構成されている。ここで、図15はパイプライ
ンマージソート処理の様子を図示したものである。ま
た、図16は上記情報処理学会誌vol.33 No.12 P1416
〜P1423に記載のデータストリームモデルである。ま
た、図17はソート処理基本装置へ入力されるデータの
フォーマットを示す。
【0004】次に動作について説明する。ホスト計算機
8において一般に外部記憶装置7に格納された大規模デ
ータ(データベース)に対し、各種データベース処理を
施すために、CPU6から起動を掛けられたデータ列は
さまざまな属性を備えた複数のアトリビュートと、タプ
ルからなるリレーションをタプル群のレコード単位にシ
ステムバス4を経由し必要に応じて主記憶装置5をバッ
ファリングしてデータ処理装置1へ転送される。また、
データ処理装置1で所望のデータベース処理をされたデ
ータ列はデータ処理装置1から今度は逆にシステムバス
4を経由して外部記憶装置7へ戻される。その際、シス
テムバスインタフェス部によりデータ処理部の入力と出
力は並列に処理される。
【0005】次にデータベース処理部とソート処理部か
ら成るデータ処理装置内部について説明する。タプル群
としてのデータ列はシステムバスインタフェス部20から
一旦マイクロプロセッサ21のローカルメモリ22に格納さ
れ、タプル群のデータ列の内から特定の指定条件に合致
するタプルを選ぶ選択、タプル内特定アトリビュートフ
ィールドに関するレコードの入れ替えを行なう射影、特
定タプル、特定アトリビュートフィールドの削除といっ
た各種データベース処理をマイクロプロセッサ群により
施され、データ列の変換絞り込みが行なわれる。さらに
ソートインタフェス部においてはデータの型式変換が行
なわれる、さらにソート処理装置3へは入力バス32を経
てソート処理装置3へ至る。ソート処理装置3はローカ
ルメモリを各々備えたソート処理基本装置30を複数個縦
列に接続して構成され、最終段のソート処理装置から出
力バス33を通してソートインタフェス部23へ戻されるパ
スからなる。さらに、マイクロプロセッサ21により、集
計処理に代表される所望のデータベース処理を施され、
システムバスインタフェス部20を通してシステムバス4
へ出力される。
【0006】ソート処理基本装置30の構成は以下のとお
りである。図14において、データ系についてはソート
処理基本装置30は前段からのデータ列の一時保持として
の記憶装置31及び、記憶装置31からデータバス36を通し
て読み出したデータ列の大小比較を行なう比較器202と
記憶装置31と比較器202の間に備わったデータバッファ2
00、201から構成される。また、メモリアドレス系につ
いては、ストリングi(i=0、1)のデ−タアドレス
レジスタ1100、1110及びメモリ書込み用アドレスレジス
タ1120からメモリに対するアドレスバス35を通してアド
レス信号が繋がり、メモリの領域管理は入力されたスト
リング内レコードをメモリ内でポインタで繋がったリス
ト構造を用いて管理している。すなわち、パイプライン
マージソートにより順次生成されるストリングは、ソー
ト処理基本装置内ではストリングを維持するためにこの
ポインタによるlinked listによりストリング内ソート
順を維持している。ポインタの領域は入力データストリ
ームの各レコードの先頭に付加されているフラグに対応
する領域である。さらにはストリングiの先頭アドレス
を保持するレジスタ1000、1010、1020を備え、これらの
アドレスレジスタがメモリのアドレスポインタを介して
アドレスをリスト構造に繋げている。そのほかに、制御
用にメモリ中に存在するストリングiのレコード数を保
持するレジスタ105、106、107及びレコード長を保持す
るレジスタ108を備え、108からはレコードの終了を検出
するカウンタ109が繋がっている。ソート処理基本装置3
0PE1〜PEiは基本的には一度に2i件のデータ列を2
ウェイのマージソートアルゴリズムに従い、所期のソー
ト演算を実行する。
【0007】 先ず、各段には一般に前段の2倍の容量
のローカルメモリMiを備えたソート処理基本装置をN
個を線型に結合し構成されるソート処理装置において、
ソート処理基本装置30PEiではデータを一時的にその
ローカルメモリ31Miに格納する。即ち、シリアルに入
力された2i-1個のレコードからなるソートされたスト
リングを当該ソート処理基本装置のメモリMiにロード
して、その次のストリングが入力される時点で2本のス
トリングをマージし始めて2iからなるストリングを生
成して次段のソート処理基本装置Pi+1へ送出し、各
ソート処理基本装置間はパイプライン動作により、デー
タの出力と同時に入力を続ける。こうして、1本のソー
トされたレコードからなるストリングが出力され、出力
されたストリングに対しても再度マイクロプロセッサ21
により、削除、集計等の所期のデータベース処理を実施
し、システムバスインタフェス部20を通して、主記憶5
或は外部記憶装置7へデータは戻される。この間、マイ
クロプロセッサ21が起動して各データベース処理を実行
するシーケンスを図16に示す。
【0008】 この時のデータフォーマツトは図17
示すようにソートすべきレコード本体の他に、入力され
るレコード長、バイパス指示するコード等ソート処理基
本装置への各種制御情報を備えた初期化データの他、初
期化データと第一レコードの間、及び第一レコード以降
の各レコード間、さらにはレコード末尾にそれぞれデリ
ミタとしての数種類のフラグを備えている。すなわち、
各ストリングの先頭レコードを示すフラグ、データスト
リームの終了を示すフラグ、データストリーム中の最終
ストリングの先頭レコードを示すフラグ、ダミーレコー
ドを示すフラグ等である。
【0009】
【発明が解決しようとする課題】従来の装置は以上のよ
うに構成されていたので、以下のような問題点があっ
た。タプル(レコード)の削除を伴う選択、アトリビュ
ート(フィールド)位置の変更、アトリビュートフィー
ルドの削除かつ/または付加といった射影等のデータベ
ース処理はソートに先立ち、あるいはソート処理後、上
位機構2においてマイクロプロセッサ21によってソー
ト演算とは別にシリアルに実施処理されていた。1つの
タプル(レコード)に対して大小比較の対象となるソー
トキーフィールド以外のフィールドは連続した1つのレ
コードの一部として取り扱われ、選択条件を満たしてふ
るいに掛けられた結果のタプル(レコード)の特定フィ
ールドに着目しての平均値に代表される所望の集計演算
結果を得るにも、一旦ソート処理を実施後、ソータ出力
として得られるデータ列に対して上位機構においてソフ
トウェアによるプログラム処理を実施しており、処理形
態がソート処理を挟んだ前後のシリアルな演算であり、
各基本処理装置において並列に処理されているソート処
理と比して、パイプライン化されておらず、ソート処理
前後の各種演算の高速化が必要であった。従って、ソー
トを除いたデータベース処理部2の負荷を減らすことで
システムバスに対する入出力の多重度を下げて処理をこ
なす必要があった。
【0010】また、たとえば、処理の重いとされる結合
演算後の集計演算においては、ソート処理装置における
何回かのソートジョブ実行を経た後の上位機構でのリレ
ーションつき合わせの演算手順であり、対象レコードを
ソート処理装置で参照した後も、結合演算のつき合わせ
のうえで集計を開始するというオーバヘッドを要してい
た。
【0011】さらに、条件を満たしたデータ列が選択処
理でほとんどふるい落とされる等、前処理で重い選択条
件が課され、絞られるタプル群が極端に少ない時などは
ホスト計算機との入出力処理のオーバヘッドとあいまっ
て、異常時のエラー処理系に至るためのタイムアウトを
予測する妥当なしきい値の設定が困難であるという問題
点があった。
【0012】この発明は上記のような問題点を解消する
ためになされたもので、装置の小型化を図りながら、ソ
ート処理前後の処理に要する演算時間を短縮するととも
に、実行ジョブの集計演算のオーバヘッドを短縮し、ソ
ート処理装置自体での演算時間を予測することで、ユー
ザインタフェースの改善を図ることを目的とする。ま
た、予測によりタイムアウト処理に移行するための敷居
値を提供することができることから、ホスト計算機に対
して妥当なタイムアウト値を報告し、ホストで管理して
いる実行ジョブ毎のタイムアウト値を自動で設定すると
いう、柔軟性の高い装置を得ることを目的とする。
【0013】
【課題を解決するための手段】この発明に係るデータ処
理装置は、ローカルメモリを有するn段目のソートプロ
セッサがn−1段目のソートプロセッサからそれぞれ2
n−1レコードからなる2組のソート済みレコード列を
入力しマージして2レコードからなる1組のソート済
みレコード列を出力するパイプラインマージソータにお
いて、入力レコードを演算処理する演算部を有するn段
のソートプロセッサ、これらのソートプロセッサに入力
する上記入力レコードの先頭に位置する初期化データに
上記入力レコードの処理条件を各々のソートプロセッサ
において設定する駆動装置を備え、上記ソートプロセッ
サの各段において出力される処理結果を上記駆動装置に
入力するものである。
【0014】また、上記演算部は、設定された複数のセ
レクション条件値を保持するセレクション条件設定用レ
ジスタ、入力されたレコードを保持する入力レコード保
持用レジスタ、この入力レコード保持用レジスタで保持
されたレコードと上記セレクション条件設定用レジスタ
で保持されたセレクション条件値を比較しセレクション
条件値を満たすときに有意となる信号を出力する比較
器、設定されたセレクション条件により上記比較器から
の条件出力信号を選択する条件選択回路、この条件選択
回路からの出力レコードを保持する出力レコード保持用
レジスタからなる選択削除処理ブロックを備えてなる
のである。
【0015】さらに、上記選択削除処理ブロックは、入
力レコードの先頭のフラグをデコードしセレクション条
件を判別するデコーダ、このデコーダの判別結果により
選択削除処理をスキップするときは直接出力レコード保
持用レジスタへ転送するセレクション条件セレクタを備
えてなるものである。
【0016】また、上記選択削除処理ブロックを通過す
る入力レコードの件数に基き上記出力レコード保持用レ
ジスタから制御信号が出力されるものである。
【0017】
【0018】
【0019】
【発明の実施の形態】実施の形態1. 以下この発明の実施の形態1を図に基づいて説明する。
図1は本実施の形態1を説明する全体の構成図である。
図1において、1はパイプラインマージソータとしての
機能を有するデータ処理装置、102は駆動装置で従来の
構成図図13におけるソート処理以外のデータベース処
理装置に相当し、130が選択、削除、射影、変換、集計
演算機能付ソートプロセッサ、131がそのローカルメモ
リ、32がソータへの入力バス、33がソータからの出力バ
ス、140が選択、削除、射影、変換、集計演算条件の設
定と報告のためにソート駆動装置102から各段のソート
処理基本装置130へ入力、或はソート処理基本装置130か
らソート駆動装置102へ出力されるパスである。4はシ
ステムバス、5は主記憶装置、6はCPU、7はデータ
ベース用外部記憶装置であり、少なくとも一つ或は複数
の記憶装置7よりなるリレーションを構成している。図
2はこのようなリレーションに対する選択、削除、射
影、変換、集計演算機能をソート処理に重畳して実行す
るソートプロセッサの内部構成である。
【0020】700は初期化データをデコードするデコー
ドブロック、300は選択削除処理ブロック、400は射影処
理ブロック、500は集計演算処理ブロック、600はデータ
変換処理ブロック、800は四則演算処理ブロックであ
る。図3は選択、削除、射影、変換、集計演算機能付ソ
ートプロセッサへのデータフォーマットを示す。これよ
り、従来はマイクロプロセッサがソート処理の前後に起
動をかけていた各フィルタ処理をソートプロセッサ内で
のソート処理に重畳して実行される方式としたことで、
明かにマイクロプロセッサ部の負荷が軽減される効果が
ある。
【0021】図4は、選択削除処理ブロック300の詳細
図である。図において、130は、ソートプロセッサ、10
はセレクション条件を設定する条件設定用レジスタ、10
2はセレクション条件値を条件設定用レジスタ10に設定
する信号線、113は条件設定用レジスタ10 の出力信号
線、20 は入力レコード保持用レジスタ、103は入力レコ
ードを入力レコード保持用レジスタ20に伝達する信号
線、125は入力レコード保持用レジスタ20の出力信号
線、30は各セレクション条件値113と入力されたレコー
ドデータ125を比較するための比較器、134は比較器30の
セレクション条件値113よりレコードデータ125が大であ
った時に有意となる信号線、135は比較器30のセレクシ
ョン条件値113とレコードデータ125 が等しい時に有意
となる信号線、136は比較器30のセレクション条件値113
よりレコードデータ125が小であった時に有意となる信
号線、104は比較器の条件出力信号を選択するための条
件選択回路、101は条件選択回路に条件設定入力するた
めの入力信号線、106は比較器の条件出力信号を選択す
るための条件選択回路104の出力信号線、107/108は、
入力保持のための回路20及び103を除く並列に接続され
た同様な回路から出力される条件選択回路の出力、50は
レコード保持用レジスタの出力125を条件選択回路104及
び並列に接続された同様な他ブロックからの条件選択信
号107/108を入力信号として、選択条件により出力/非
出力するソート処理ブロックへの入力レコード出力レジ
スタ、105はソート処理ブロックへの入力レコード出力
レジスタ50の出力を次段であるソート処理ブロックへ出
力する信号線、である。
【0022】次に動作について説明する。まず、処理に
先立ち、このソートプロセッサに対してセレクション条
件1,2,〜nを専用ポート(設定条件1 の場合は101)より
セレクション条件設定用レジスタ(設定条件1の場合は1
0)にライトする。また、同じく処理に先立ち、条件選
択回路に条件設定入力するための入力信号線(設定条件
1 の場合は101)から条件設定入力を条件選択回路(設
定条件1の場合は104)に対して入力する。ソート処理が
始まると、上位制御回路から、あるいは前段のソートプ
ロセッサから出力されてきたレコードデータ103が、入
力レコード保持用レジスタ20 に設定される。比較器30
にセレクション条件値(設定条件1の場合は113)とレコ
ード保持用レジスタの出力125 が入力され、比較器30
のセレクション条件値113よりレコードデータ125が大で
あった時に有意となる信号線134か、比較器30のセレク
ション条件値113とレコードデータ125が等しい時に有意
となる信号線135か、あるいは比較器30 のセレクション
条件値113よりレコードデータ125が小であった時に有意
となる信号線136のうちのいずれかが有意となり、条件
選択回路(設定条件1の場合は104)に入力される。条件選
択回路(設定条件1の場合は104)は、各条件選択回路に
条件設定入力するための入力信号線(設定条件1の場合
は101)の内容によりレコードデータ125を出力するか否
かを決定し、次段であるソート処理ブロックにデータを
105を介して出力する。出力レジスタ50により、複数の
選択条件1、2、〜nの間の関係(and 条件、or条件)が
選択可能である。この様な構成を持つことで、従来のソ
ート処理と複数の条件を持つセレクション処理をデータ
フローに伴って同時に実行することができ、データベー
ス処理を高速化できる。
【0023】図5は、図4の条件選択回路104のうち、
設定条件1の回路のみ設けたソートプロセッサ2を複数縦
列に接続した例を示している。この構成とすることで、
1つのソートプロセッサで選択できる条件は1つである
が(それだけ回路規模は小さくて済む)、ソートプロセ
ッサを縦列に接続した数だけの選択条件を選択すること
が可能となる。
【0024】図6は、図4の条件選択回路104を設けた
ソートプロセッサ2を複数縦列に接続した例を示してい
る。この構成とすることで、1つのソートプロセッサで
処理できる複数の条件選択をさらに縦列接続するソート
プロセッサ段数倍の個数まで増やすことができる。
【0025】セレクション条件設定用レジスタの代わり
に条件設定にメモリを使用する例を図7について説明す
る。図7では、条件設定用メモリ及びメモリ制御回路60
に条件a及びAの2つの条件を設定している。この2つの
条件設定を、各々データベースのレコードデータの2つ
のキーフィールドに対応させる。(同一のキーフィール
ドを2つのキーフィールドとみなしてもよい)比較条件
との大小関係を考慮し、選択条件データのビットを逆に
設定することにより、1つの条件設定用メモリで、容量
の許す限り複数の条件を設定することができる。(図7
の例では、A<x<aなどの条件を設定することが可能で
ある)
【0026】図8及び図9に応用例を示す。150はフラ
グをデコードし、データが次段でセレクション処理させ
る入力レコードか、次段をスキップさせるレコードか、
次段のセレクション条件設定用レジスタに設定するセレ
クション条件か、次段の条件選択回路に設定するセレク
ション条件か、次段をスキップさせるセレクション条件
かを判別するフラグ・デコーダ、170はフラグ・デコー
ダ150で判別した次段でのセレクション条件をセレクシ
ョン条件設定用レジスタ10と条件選択回路40へ伝達し、
次段をスキップさせるレコードとセレクション条件を入
力レコード出力レジスタへ伝達するセレクション条件セ
レクタ、201はソートプロセッサへの入力データの信号
線、202はフラグ・デコーダ150で判別したセレクション
条件をセレクション条件セレクタから条件選択回路へ伝
達するための信号線、203はソートプロセッサの外部か
らセレクション条件設定用レジスタにセレクション条件
を設定するための信号線、101はソートプロセッサの外
部から条件選択回路へセレクション条件を設定するため
の信号線、102はセレクション条件セレクタからセレク
ション条件をセレクション条件設定用レジスタへ伝達す
るための信号線、103はセレクション条件セレクタから
入力レコードを入力レコード保持レジスタへ伝達するた
めの信号線、180はセレクション条件セレクタから次段
をスキップさせるセレクション条件を入力レコード出力
用レジスタへ伝達する信号線、185は入力データからフ
ラグ部をフラグ・デコーダへ伝達するための経路、190
はフラグ・デコーダ150で判別した情報をセレクション
条件セレクタ170へ伝達するための信号線である。
【0027】次に入力レコードに付加するプログラマブ
ルなフラグについて図9に基づいて説明する。ソート処
理演算を施す入力レコードに現在の段でセレクション処
理する場合1、次段以降でセレクション処理場合2、セレ
クション処理のセレクション条件Aによるデータの場合
3、セレクション処理のセレクション条件Bによるデータ
の場合4のような設定のできるプログラマブルなフラグ
を付加する。
【0028】次に入力レコードと同経路でセレクション
条件を設定する動作について図8に基づいて説明する。
上位制御回路または前段のソートプロセッサからのプロ
グラマブルなフラグつき入力データを、フラグ部をフラ
グ・デコーダ150でデコードした結果に基づき、セレク
ション条件セレクタ170で入力レコードと、セレクショ
ン条件設定用レジスタに入力するセレクション条件A
と、条件選択回路に入力するセレクション条件Bと、現
段をスキップさせるデータとに振り分ける。現段をスキ
ップさせるデータには次段以降のセレクション条件と、
現段をスキップさせる入力レコードがある。振り分けた
結果はそれぞれ別の経路で入力レコードは入力レコード
保持用レジスタへ、セレクション条件Aはセレクション
条件設定用レジスタへ、セレクション条件Bは条件選択
回路へ、現段をスキップさせるデータは入力レコード出
力レジスタへ入力される。
【0029】次に入力レコードとは別経路でセレクショ
ン条件を設定する動作について説明する。ソートプロセ
ッサ外部からの専用の経路を信号線203によりセレクシ
ョン条件設定用レジスタ10に、信号線101により条件選
択回路40にそれぞれ繋ぎ、外部からセレクション条件を
設定できるようにするこの構成とすることでより柔軟に
セレクション条件を設定することができる。
【0030】次に1段のソートプロセッサでは処理でき
ないOR条件のセレクション処理について図10に基づ
いて説明する。条件1OR条件2といったセレクション
処理の場合、条件1 を現在の段、条件2を次段でセレ
クションすることになるが、現在の段では条件1を満足
すれば条件1OR条件2のセレクション条件はすでに満
足しているが、条件1を満足しなくても条件2を満足す
る場合があるので現在の段を通過させても次段でもセレ
クション処理させなければならない。そこで条件1を満
足したときは、次段ではセレクション処理せずに通過さ
せるフラグをセレクション条件セレクタ170において設
定し、条件1を満足しなかったレコードには次段でもセ
レクション処理させるフラグを設定する。次段では条件
2のセレクション処理を満足したレコードと自動的に通
過させるレコードを合わせたものが条件1OR条件2を
満足したものとなる。
【0031】図11はセレクション処理の結果として全
レコードが削除される場合の報告信号を設けたソート演
算装置について示した図である。図11において、1200
はそのソートプロセッサでのセレクション処理の結果ソ
ート処理を行なうデータの最後が通過したにも関わら
ず、セレクション処理で条件に合致したレコードが1件
も存在しなかったことを検知した場合に、上位ドライバ
回路1300 に対して報告する制御信号である。次に動作
について説明する。ソート処理ブロックへの入力レコー
ド出力レジスタ105には、ソートデータの先頭が通過し
たことを検知して、以後次段へレコードを転送する度に
レコード数をカウントするカウンタがある。ソート処理
が進み、ソート・データの終りが105 を通過する時、こ
のカウンタが0であった時、つまり当段で設定されたセ
レクション条件に合致するキーを持つレコードが1件も
存在しなかった時、ゼロ件選択通知信号1200により、上
位ドライバ1300に対してセレクション結果が0件である
ことが報告される。これにより、上位ドライバはソート
プロセッサ群からレコードが出力されてくるのを待つ必
要がないと判断し、直ちに以後の転送を止め次の処理に
ソート演算装置を使用することが可能となり、全体とし
ての処理効率が改善される。
【0032】図12はソートプロセッサがセレクション
処理を実施しない場合に、次段へのソートデータを入力
保持用レジスタを通過させずに直接次段へ伝達させるデ
ータ・パスを持つソートプロセッサの例である。図12
において、400は次段へのソートデータを入力保持用レ
ジスタを通過させずに直接次段へ伝達させるためのセレ
クタ500に入力データを伝達させるためのデータ信号線
である。600は上位ドライバがセレクション処理の実施
/不実施をセレクタ500に指示するための信号線であ
る。上位ドライバが600をセレクション処理を実施しな
い電圧レベル(例えば 1) にすると、セレクタ500は4
00を出力するように内部セレクタ回路を制御するので、
入力データは入力保持用レジスタを通過せずに次ブロッ
クに伝達することになり、次段へのデータの伝達が1サ
イクル早くなる。
【0033】以下に、集計演算処理ブロックの一例を説
明する。初期化データは各段毎にデコードブロック700
でデコードされるが、集計演算のデコード結果はソート
開始段であるとき初めて制御信号として伝えられる。こ
れは、集計演算は全件レコードに対する処理であり、初
段では入力レコードが未だマージ処理されていないため
である。また、ソート開始初段にて集計演算処理が実行
された時以降の段において集計演算は初期化データの設
定により行なわないものとする。
【0034】ここでは集計処理のひとつ、対象フィール
ドの合計値算出について図2を参照しつつ説明する。入
力されたレコードはレコード長カウンタ501によりカウ
ントされ、集計演算対象フィールドを識別し、ストリン
グ0、1対応の2個の対象フィールド保持レジスタ502
の片側に交互に保持され、2個の対象フィールド保持レ
ジスタ502は加算器503に繋がっている。さらに。このレ
ジスタは任意の長さのフィールドに対応するためには、
外付けのメモリを付加するなどの措置が必要であるが、
対象フィールド保持レジスタ502へのロードは本来のソ
ートプロセッサ130のメモリ131へのストアに重畳して行
なえることから、ローカルメモリ131をそのために使用
することも可能である。そして、結果は合計値レジスタ
504に格納され、最終ストリング末尾に所期の集計演算
結果(ここでは合計値)を意味する特殊なフラグととも
に出力される。40は内部データバスで、合計値レジスタ
504からメモリ131へのフィードバックのパスはレジスタ
長がフィールド長より小さい時の合計値のメモリへの一
旦退避用のパスである。出力パスは次段への入力となる
出力バス33或は140を通して駆動装置102へ返されるが、
どちらを選ぶかは初期化データに設定されるパスの指定
による。
【0035】次に、集計処理のひとつ、対象フィールド
の平均値算出について説明する。まず、レコード数カウ
ンタ505で、また、図4における選択削除処理ブロック3
00内の選択処理後のレコードカウンタ307で、入力され
るタプルレコードおよび選択削除後ふるい落された後タ
プルレコードの数をカウントする。後は図2の合計値レ
ジスタ504内の合計とレコード数カウンタ505、またはレ
コードカウンタ307の内のレコード数から平均値算出ブ
ロック(図示せず)にて、平均値算出を行ない、得られ
た結果を上記の様に2通りのパスで駆動装置102へ返さ
れる。また、本ソート処理時間は一般に入力データスト
リームの最初のレコードが到着した時点からレコード数
の関数として記述されることが知られており、ソート開
始段に於てソート対象レコード件数とマシンサイクルか
ら、ソートされたストリームの出力が終了するまでの時
間は予測することが可能であり、内部にレコード件数
と、マシンサイクルをパラメータとしたソート演算完了
時間の関数値を収めた記憶装置7を備え、その演算時間
を予測値として上記の様に特殊パラメータの後に付加し
てソート駆動装置へ報告するか或は、直接140のパスを
利用して駆動装置或はさらに上位機構への報告を行な
い、駆動装置もしくは上位機構ではその予測値と実際の
ソート完了ストリームの到着までの計測時間を比較し
て、ソート駆動装置であれば、予測値と計測値の差が一
定値より大であれば異常処理系へその制御を移行させ、
またさらに上位機構に対しても報告すれば上位機構とし
てはデータ処理装置101の入出力時間を管理する機構に
おいてタイムアウト値を設定し直し、また或は結果算出
までの残り時間を、利用者に途中経過として報告するな
ど柔軟なユーザインタフェスを提供することができる。
【0036】次に最大値・最小値算出について説明す
る。ソートプロセッサ130内のストリング0保持レジス
タ200とストリング1保持レジスタ201及びレジスタ比較
器202と同様な回路を少なくとも一つ集計演算ブロック5
00内に備え、各々、ストリング0保持レジスタ510とス
トリング1保持レジスタ511及びレジスタ比較器512と最
大値保持レジスタ513と最小値保持レジスタ514として、
さらにレコード長カウンタ501から対象のアトリビュー
トフィールドのメモリストアのタイミングを判断しスト
リング0保持レジスタ510とストリング1保持レジスタ5
11に交互にレコードを保持し、比較器を通してその大小
を判断し、その大小に応じて最大値保持レジスタ513と
最小値保持レジスタ514に保持する。さらに最大値算出
の際には次レコードと前回までの最大値を比較する必要
から最大値保持レジスタ513中の値を両レジスタ510へ保
持して、次のレコードをストリング1保持レジスタ511
へロードさせ、比較を繰り返す。また、最小値算出の際
には次レコードと前回までの最小値を比較する必要から
最小値保持レジスタ514中の値を両レジスタ510へ保持し
て、次のレコードをストリング1保持レジスタ511へロ
ードさせ、比較を繰り返す。このようにして得られた最
大値・最小値は特殊なフラグを付加して次段以降シリア
ルにソートプロセッサ130を経由して駆動装置102へ伝達
させるか、または直接140のパスにより駆動装置102へ報
告される。これにより、ソート済ストリングとともに、
所期のフィールドの最大値・最小値を得ることができ
る。
【0037】以下に、射影演算機能付ソートプロセッサ
の一例を説明する。射影処理をソートプロセッサ130で
実行するには、初期化データに対する射影条件の設定と
射影対象フィールド自体に対するフラグの付加および若
干のダミーデータの付加とソート処理後の削除を駆動装
置102にて行う。射影処理も上述の集計処理同様縦列に
接続されたソートプロセッサ130においては一度だけそ
のタプルレコード群に対する処理を実行すればよいが、
しかして1本のタプル内フィールドの入れ替え及び削
除、付加に対して、射影処理対象のフィールド長および
先頭レコードから射影対象フィールド開始位置までの長
さがメモリインタフェスのデータ幅及びソートプロセッ
サのパイプラインデータ幅の整数倍となるように駆動装
置102で予めダミーデータを付加する。こうして射影対
象フィールド開始位置のレコードが来たときの駆動装置
102のメモリアドレス管理機構では初期化データデコー
ドブロックからの制御信号により入れ替え対象フィール
ドのアドレスを生成してメモリライト用アドレスレジス
タ112から出力する。これに先立ち、射影対象フィール
ドのデリミタである特殊フラグが入力された時、メモリ
への書込みデータはフラグに変えて射影対象フィールド
前の最終レコードのメモリアドレスの次アドレス(=第
一射影対象フィールド前の最終レコードのメモリアドレ
ス+1した値)をアドレスポインタ用データとしてメモ
リに書込まれる。こうすることで、第二射影対象フィー
ルドが第一射影対象フィールドまえのフィールド値に連
続してデータを読み込むことが出来る。第一射影対象レ
コードの最終レコードのメモリ書込み後のアドレスポイ
ンタもアドレスポインタ格納アドレスの次番地を差して
いるように、書込み時にアドレス変換動作を行う。さら
に、読み出し時にはフィールド長と対象射影フィールド
の初期化データによる指定によりアドレスポインタをレ
コードデータとしては認識しない。
【0038】このために第一射影対象フィールド1のト
ップポインタ412、第二射影対象フィールド1のトップ
ポインタ413、・・・第p射影対象フィールドpのトッ
プポインタ414及びアドレス変換器415からなる射影ブロ
ックはメモリアドレス内部バス60をとおしてライト用
メモリアドレスレジスタへ繋がる。射影対象フィールド
をメモリストアし終える時には、続く非射影対象フィー
ルドのストア開始アドレスは第一射影フィールド開始前
のレコードの次アドレスに繋がる必要があり、第一射影
対象フィールド1のトップポインタ412から第一射影フ
ィールド開始前のレコードから+1して生成した次アド
レスを、第一射影フィールド最終レコードストア後のア
ドレスポインタとしてメモリ131へ書込む。こうしたlin
ked list構造をとる必要から射影対象フィールド前後に
は特殊フラグが必要となる。射影演算条件の数だけ射影
対象フィールドのトップポインタ保持レジスタは必要と
なるが、例ではp個で一般性を持たせている。
【0039】射影時のフィールド削除はメモリストア時
に、予め削除する方法(書込み制御信号を出力しない)
で制御する。対象ローカルメモリへの書込み時に削除対
象フィールドを次フィールドで上書きするように、ロー
カルメモリ書込みアドレス変換を行ない、読み出し時に
は順次連続して、射影後のフィールドが所期のとおり繋
がるようにアドレスポインタを張ったリスト構造を採
り、ローカルメモリ131からソートプロセッサ130内のス
トリングバッファへロードする。これにより、ソート処
理に重畳して、対象フィールドの入れ替え、削除等の射
影処理を実施できる。
【0040】次に、データ変換処理ブロックについて説
明する。所期化データにより設定される変換対象コード
と変換結果コードを各々、変換対象コード設定レジスタ
601、入力レコード保持レジスタ602内レコードを比較
し、初期化データに設定される比較対象フィールド内で
一致を見たときは、変換後のコードを設定したレジスタ
603からセレクタ605を通してコード変換したレコードを
メモリ31へ書込み、一致を見ないときは入力レコード保
持レジスタ602値をメモリ31へ書込んで行く。これによ
り、ソート処理に重畳して、対象フィールドの所期のデ
ータ変換を実施できる。
【0041】次に、四則演算機能ブロックについて説明
する。ソートキーフィールド以外の少なくとも1つの特
定されたアトリビュートを示す初期化データをデコード
するデコードブロック700により、対象フィールド内レ
コードを保持するレジスタ515,516,517,518及び加算
器519,減算器520の他、演算結果の保持レジスタ521、5
22からなるフィールド内数値に対する加減乗除の四則数
値演算を実施する回路は、演算結果としてパス139をと
おしてソート結果ストリームの後に特殊なフラグと供に
演算結果を出力する。加算結果及び減算結果のフィード
バックは523、524のパスを通して各々レジスタ516〜518
へ戻される。乗算、除算はこれらフィードバックループ
を辿り、実行されるがそのループ回数はデコードブロッ
ク700で初期化データに設定された演算項を解析した結
果にもとづき制御され、乗除算後の加減算もフィードバ
ックループ523、524を辿った後、上述の加減算回路で演
算を実行し、結果を特殊なフラグを付加して、出力デー
タパス33または140を通してソート駆動装置102へ報告さ
れる。または、複数のフィールドを対象とした四則演算
は1つのフィールドに対する演算に関しては上記演算回
路を複数個有することで対応できる。
【0042】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に示すような効果を奏する。
【0043】入力レコードの先頭に位置する初期化デー
タに入力レコードの処理条件を各々のソートプロセッサ
において設定する駆動装置を備えソートプロセッサの各
段において出力される処理結果を駆動装置に入力するよ
うに構成したので、柔軟にセレクション条件を設定する
ことができ、柔軟なユーザインターフェースを提供する
ことができる。
【0044】また、セレクション条件値を満たすときに
有意となる信号を出力する比較器、設定されたセレクシ
ョン条件により比較器からの条件出力信号を選択する条
件選択回路、この条件選択回路からの出力レコードを保
持する出力レコード保持用レジスタを備えたことによ
り、ソート処理とセレクション処理を同時に実行するこ
とができ、データベース処理を高速化できる。
【0045】さらに、デコーダの判別結果により選択削
除処理をスキップするときは直接出力レコード保持用レ
ジスタへ転送するセレクション条件セレクタを備えたこ
とにより、セレクション不要のレコードは処理をせずに
スキップさせることによりデータ伝達の速度を速める
とができる。
【0046】また、選択削除処理ブロックを通過する入
力レコードの件数に基き上記出力レコード保持用レジス
タから制御信号が出力されるように構成したので、効率
的なデータ処理を行うことができる。
【0047】
【0048】
【図面の簡単な説明】
【図1】 この発明の実施の形態1を示すデータ処理装
置の構成図である。
【図2】 この発明の実施の形態1を示すソートプロセ
ッサの内部構成図である。
【図3】 この発明の実施の形態1を示すデータフォー
マット図である。
【図4】 この発明の実施の形態1を示す選択削除処理
ブロックの内部構成図である。
【図5】 この発明の実施の形態1を示す選択削除処理
ブロックを縦列に接続した構成図である。
【図6】 この発明の実施の形態1を示す選択削除処理
ブロックの並列構成を縦列に接続した構成図である。
【図7】 この発明の実施の形態1を示す選択削除処理
ブロックの条件設定にメモリを使用する例を示す構成図
である。
【図8】 この発明の実施の形態1を示す選択削除処理
ブロックの応用例を示す構成図である。
【図9】 この発明の実施の形態1を示す選択削除処理
ブロックのプログラマブルなフラグを示す構成図であ
る。
【図10】 この発明の実施の形態1を示す選択削除処
理ブロックのOR条件のセレクション処理を行う応用例
を示す構成図である。
【図11】 この発明の実施の形態1を示す選択削除処
理ブロックの全レコードが削除される場合の報告信号を
設けたソート演算装置を示す構成図である。
【図12】 この発明の実施の形態1を示す選択削除処
理ブロックの入力保持用レジスタを通過させずに直接次
段へ伝達させるデータ・パスを持つソートプロセッサを
示す構成図である。
【図13】 従来例のデータ処理装置を含むホスト計算
機の構成図である。
【図14】 従来例のデータ処理装置におけるソート処
理基本装置の内部構成図である。
【図15】 従来例のデータ処理装置におけるパイプラ
インマージソート処理の状態を示す模式図である。
【図16】 従来例のデータ処理装置におけるデータス
トリームモデルを示す模式図である。
【図17】 従来例のデータ処理装置におけるデータフ
ォーマットを示す構成図である。
【符号の説明】
1 データ処理装置、10 セレクション条件設定用レ
ジスタ、20 入力レコード保持用レジスタ、30 比
較器、50 出力レコード保持用レジスタ、104 条
件選択回路、130 ソートプロセッサ、131 ロー
カルメモリ、150 フラグ・デコーダ、170 セレ
クション条件セレクタ。
フロントページの続き (56)参考文献 特開 平6−176075(JP,A) 特開 平6−348561(JP,A) 特開 平6−176076(JP,A) 特開 平6−176077(JP,A) 特開 平6−251075(JP,A) 情報処理学会研究報告 VOL.91, No.86(ARC−90)(1991−10− 7)、松田進 他「 情報処理 Vol.33,No.12 (1992−12−18)、伏見信也 他「デー タベースプロセッサ G (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 512 G06F 7/24 G06F 17/30 110 G06F 17/30 340

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ローカルメモリを有するn段目のソート
    プロセッサがn−1段目のソートプロセッサからそれぞ
    れ2n−1レコードからなる2組のソート済みレコード
    列を入力しマージして2レコードからなる1組のソー
    ト済みレコード列を出力するパイプラインマージソータ
    において、入力レコードを演算処理する演算部を有する
    n段のソートプロセッサ、これらのソートプロセッサに
    入力する上記入力レコードの先頭に位置する初期化デー
    タに上記入力レコードの処理条件を各々のソートプロセ
    ッサにおいて設定する駆動装置を備え、上記ソートプロ
    セッサの各段において出力される処理結果を上記駆動装
    置に入力することを特徴とするデータ処理装置。
  2. 【請求項2】 上記演算部は、設定された複数のセレク
    ション条件値を保持するセレクション条件設定用レジス
    タ、入力されたレコードを保持する入力レコード保持用
    レジスタ、この入力レコード保持用レジスタで保持され
    たレコードと上記セレクション条件設定用レジスタで保
    持されたセレクション条件値を比較しセレクション条件
    値を満たすときに有意となる信号を出力する比較器、設
    定されたセレクション条件により上記比較器からの条件
    出力信号を選択する条件選択回路、この条件選択回路か
    らの出力レコードを保持する出力レコード保持用レジス
    からなる選択削除処理ブロックを備えたことを特徴と
    する請求項1記載のデータ処理装置。
  3. 【請求項3】 上記選択削除処理ブロックは、入力レコ
    ードの先頭のフラグをデコードしセレクション条件を判
    別するデコーダ、このデコーダの判別結果により選択削
    除処理をスキップするときは直接出力レコード保持用レ
    ジスタへ転送するセレクション条件セレクタを備えたこ
    とを特徴とする請求項2記載のデータ処理装置。
  4. 【請求項4】 上記選択削除処理ブロックを通過する入
    力レコードの件数に基き上記出力レコード保持用レジス
    タから制御信号が出力されることを特徴とする請求項
    又は請求項3記載のデータ処理装置。
JP21099896A 1996-08-09 1996-08-09 データ処理装置 Expired - Fee Related JP3277817B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21099896A JP3277817B2 (ja) 1996-08-09 1996-08-09 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21099896A JP3277817B2 (ja) 1996-08-09 1996-08-09 データ処理装置

Publications (2)

Publication Number Publication Date
JPH1055295A JPH1055295A (ja) 1998-02-24
JP3277817B2 true JP3277817B2 (ja) 2002-04-22

Family

ID=16598640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21099896A Expired - Fee Related JP3277817B2 (ja) 1996-08-09 1996-08-09 データ処理装置

Country Status (1)

Country Link
JP (1) JP3277817B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4973997B2 (ja) * 2007-08-23 2012-07-11 日本電気株式会社 ソースコード検証処理時間計算装置及び方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
情報処理 Vol.33,No.12(1992−12−18)、伏見信也 他「データベースプロセッサ G
情報処理学会研究報告 VOL.91,No.86(ARC−90)(1991−10−7)、松田進 他「

Also Published As

Publication number Publication date
JPH1055295A (ja) 1998-02-24

Similar Documents

Publication Publication Date Title
JP3955741B2 (ja) ソート機能を有するsimd型マイクロプロセッサ
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
JP3793155B2 (ja) データ処理装置におけるソースレジスタのロッキング
JP3277817B2 (ja) データ処理装置
JPH0227709B2 (ja) Deetakudoseigyohoshiki
JP2793357B2 (ja) 並列演算装置
JPS61136132A (ja) 情報処理装置
JP2812610B2 (ja) パイプライン制御方式
JP2513219B2 (ja) デ−タ処理用プロセツサ
JP2938170B2 (ja) 機能設計支援装置
JPH06105459B2 (ja) ベクトル処理装置
US20020087831A1 (en) Instruction packetization based on rename capacity
JPH0311479A (ja) ストリーム演算終了検知方法及びその装置
JP2588932B2 (ja) ソート処理装置
JPH0580977A (ja) データ処理装置
JPS6282433A (ja) 情報処理装置
JP2755646B2 (ja) データ駆動型データ処理装置
CN113950699A (zh) 用于减少非期望行为的过程的影响分析
JP2001005664A (ja) 演算処理装置
JPS60178547A (ja) デ−タ処理方式
JPS6243219B2 (ja)
JPH0553805A (ja) 電子計算機
JPS61131136A (ja) 履歴蓄積方式
JPS62219026A (ja) レジスタフアイル制御方式
JPH11175316A (ja) 補助記憶装置を用いたソート方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees