JP2991007B2 - キー取り出し装置及びキー取り出し方法及びソート処理装置及びデータベース処理装置 - Google Patents

キー取り出し装置及びキー取り出し方法及びソート処理装置及びデータベース処理装置

Info

Publication number
JP2991007B2
JP2991007B2 JP5186384A JP18638493A JP2991007B2 JP 2991007 B2 JP2991007 B2 JP 2991007B2 JP 5186384 A JP5186384 A JP 5186384A JP 18638493 A JP18638493 A JP 18638493A JP 2991007 B2 JP2991007 B2 JP 2991007B2
Authority
JP
Japan
Prior art keywords
key
data
record
data input
writing
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
JP5186384A
Other languages
English (en)
Other versions
JPH06161709A (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 JP5186384A priority Critical patent/JP2991007B2/ja
Publication of JPH06161709A publication Critical patent/JPH06161709A/ja
Application granted granted Critical
Publication of JP2991007B2 publication Critical patent/JP2991007B2/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】
【従来の技術】図16は従来のキー取り出し装置を示す
構成図である。従来のキー取り出し装置は主記憶装置1
及びデータ入力部2を備えている。データ書き込み制御
回路3はデータメモリ5へデータを書き込むためのタイ
ミング信号4を生成する。データメモリ5は主記憶装置
1上のデータを書き込む。プロセッサ6はデータの移
動、ソート処理の実行等を実施する。キーメモリ7はデ
ータメモリ5に書き込まれているレコードからキー部分
を抽出して書き込む。
【0003】次に動作について説明する。主記憶装置1
上には、同一箇所にキー部分を含む複数の固定長レコー
ドが順番にならんでいる。図16では、1レコードが7
ワードで構成されている固定長レコードを示している。
また、各レコードとも、キー部分は2ワード目から4ワ
ード目までの同一箇所にある例を示している。各レコー
ドは、主記憶装置1からキー取り出し装置のデータ入力
部2へ入力される。データ書き込み制御回路3はデータ
書き込みタイミング信号4を生成する。入力されたレコ
ードはデータ書き込みタイミング信号4のタイミング
で、順次データメモリ5へ書き込まれる。データメモリ
5への1レコードの書き込みが終了すると、プロセッサ
6はデータメモリ5に書き込まれているレコードの内容
からキー部分を抽出して読みだす。そしてプロセッサ6
は、読みだしたキー部分をキーメモリ7へ書き込む。そ
の後、プロセッサ6はキーメモリ7の内容を用いて、ソ
ート処理を実行する。
【0004】
【発明が解決しようとする課題】従来のキー取り出し装
置は以上のように構成されている。したがって、データ
メモリからキーを抽出するためにプロセッサを使用しな
ければならない。このため、キーを抽出するのに必要な
時間がプロセッサのオーバヘッドとなる。このオーバー
ヘッドにより、処理速度の低下を招くなどの問題点があ
った。
【0005】この発明は上記のような問題点を解消する
ためになされたものである。この発明は、データからキ
ーを高速に取り出すことの出来るキー取り出し装置を得
ることを目的とする。また、この発明は、データからキ
ーを高速に取り出すことの出来るキー取り出し方法を得
ることを目的とする。また、この発明は、キーを高速に
取り出すことの出来るソート処理装置及びデータベース
処理装置を得ることを目的とする。
【0006】
【課題を解決するための手段】この発明に係るキー取り
出し装置は、レコードを1レコードづつ入力し、レコー
ドの格納場所へ転送するデータ入力手段を有する。ま
た、その1レコードに存在するキーの部分のみを記憶す
るキー記憶手段を有する。また、データ入力手段による
1レコードの入力と並行して、その1レコードに存在す
るキーの部分を取り出し、キー記憶手段に書き込むキー
書き込み手段を有するものである。
【0007】また、この発明に係るキー取り出し方法
は、データを順次入力するデータ入力工程を有する。上
記データ入力工程により順次入力されるデータがキー部
分であるかを上記データ入力工程により入力するデータ
の入力時に判定する判定工程を有する。上記判定工程の
判定結果に基づいて、上記キー部分であると判定された
データを上記データ入力工程により入力するデータの入
力時に取り出す抽出工程を有する。
【0008】また、この発明に係るソート処理装置及び
データベース処理装置は、上記キー取り出し装置を利用
してキー及びデータを高速に取り出す処理装置である。
【0009】
【作用】この発明におけるキー取り出し装置は、データ
入力手段によりデータを1レコードづつ入力する。ま
た、キー記憶手段により1レコードに存在するキーの部
分を記憶する。また、キー書き込み手段によりデータ入
力手段による1レコードの入力と並行して、キー書き込
み手段により、その1レコードに存在するキーの部分の
みを取り出してキー記憶手段に書き込む。この発明にお
けるキー取り出し装置は、これらの手段により、キーの
部分をレコードから高速に取り出すことができるもので
ある。
【0010】この発明におけるキー取り出し方法は、判
定工程がデータ入力工程により順次入力する各データが
キー部分であるか否かを入力と同時に判定する。従っ
て、抽出工程がデータの入力と同時にキー部分を抽出で
きる。
【0011】また、この発明におけるソート処理装置及
びデータベース処理装置は、上記キー取り出し装置を利
用してキー及びデータを取り出すので高速処理ができ
る。
【0012】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1は本発明のキー取り出し装置のデータ入力部
を示す構成図である。図において、キー書き込み制御回
路8はキー書き込みタイミング信号9を生成する。その
他の部分は、前述した例と同様のものである。
【0013】図2はキー書き込み制御回路8の内部回路
を示す図である。図において、レコード長レジスタ81
は1レコードの長さを保持する。キー先頭相対アドレス
レジスタ82はキーの先頭アドレスの値をレコードの先
頭からの相対アドレスとして保持する。キー終了相対ア
ドレスレジスタ83はキーの終了アドレスをレコードの
先頭からの相対アドレスとして保持する。レコード内デ
ータ相対アドレスカウンタ84はレコード内データのア
ドレスをレコードの先頭からのデータ相対アドレスとし
てカウントする。このレコード内データ相対アドレスカ
ウンタ84は、初期値を0とし、主記憶装置1から入力
したデータをデータメモリに書き込む毎にインクリメン
トされ、1レコード分のデータの転送が終了する毎に初
期値0になる。
【0014】コンパレータ85は、キー先頭相対アドレ
スレジスタ82に保持されているキー先頭アドレスと、
レコード内データ相対アドレスカウンタ84に保持され
ているデータ相対アドレスとを比較する。このコンパレ
ータ85は比較結果が一致したときに一致信号を送出す
る。フリップフロップ86は、上記コンパレータ85か
ら出力された一致信号を1レコードの処理の終了時迄保
持しておく。コンパレータ87は、キー終了相対アドレ
スレジスタ83に保持されているキー終了アドレスと、
レコード内データ相対アドレスカウンタ84に保持され
ているデータ相対アドレスとを比較する。コンパレータ
87は比較結果が一致したときに一致信号を送出する。
フリップフロップ88は、上記コンパレータ87から出
力された一致信号を1レコードの処理の終了時迄保持し
ておく。
【0015】アンドゲート89は、キー書き込みタイミ
ング信号9を生成する。このキー書き込みタイミング信
号9はキーの先頭からキーの終了までのデータをデータ
メモリ5に書き込むタイミングに同期して出力される。
【0016】コンパレータ90は、レコード長レジスタ
81の内容とレコード内データ相対アドレスカウンタ8
4の内容とを比較する。コンパレータ90は比較結果に
基づき1レコードの終りを検出して、相対アドレスカウ
ンタ84に対してリセット信号91を出力する。
【0017】又、キー位置記憶部8aはキー先頭相対ア
ドレスレジスタ82とキー終了相対アドレスレジスタ8
3を有し、キー位置を記憶する。カウント部8bは、入
力されるレコードのデータ位置をレコード内データ相対
アドレスカウンタ84によりカウントする。比較部8c
は、キー位置記憶部に記憶されたキー位置とカウント部
がカウントするデータ位置を比較する比較器85、87
と、比較器の比較結果を保持するフリップフロップ8
6、88を有し、シグナル部8dは、比較部のフリップ
フロップ86、88に保持した比較結果に基づいて、デ
ータ入力のタイミングで、キーメモリ7に対してデータ
の書き込みを指示するタイミング信号を出力する。リセ
ット部は、レコード長レジスタ81にレコード長を記憶
して、カウント部によるデータ位置がレコード長に達し
た場合、キー書き込み制御回路8をリセットする。
【0018】次に動作について、図3を用いて説明す
る。図3は、キー書き込み制御回路8のタイミングチャ
ート図である。このタイミングチャート図は、図1に示
すようなレコードのデータを入力した場合のタイミング
チャートを示している。
【0019】レコード長レジスタ81、キー先頭相対ア
ドレスレジスタ82、およびキー終了相対アドレスレジ
スタ83には、それぞれに対してあらかじめレコード
長、キー先頭相対アドレス、およびキー終了相対アドレ
スを書き込んでおく。例えば、図1の場合は、レコード
長は7ワードである。レコードの先頭アドレスを0とす
ると、レコードの終了アドレスは6となる。レコードに
存在するキーは、2ワードめから長さ3ワードである。
キーの先頭アドレスは1、キーの終了アドレスは3にな
る。
【0020】従って、動作開始時には、レコード長レジ
スタ81の値は7となる。また、キー先頭相対アドレス
レジスタ82の値は1となる。また、キー終了相対アド
レスレジスタ83の値は3となる。
【0021】データは、主記憶装置1からキー取り出し
装置の入力部2へ入力される。データ書き込み制御回路
3はデータ書き込みタイミング信号4を生成する。入力
されたデータは、データ書き込みタイミング信号4のタ
イミングで、順次データメモリ5へ書き込まれる。更
に、上記データ書き込みタイミング信号4はキー書き込
み制御回路8に入力される。データ書き込みタイミング
信号4は、データメモリ5へデータを書き込む毎に、レ
コード内データ相対アドレスカウンタ84をインクリメ
ントする。
【0022】時刻t1までに、キーの先頭データの1ワ
ード前のデータ(図1において、REC0では「D0
0」をさす)をデータメモリ5に書き込む。時刻t1以
降に、レコード内データ相対アドレスカウンタ84の内
容と、キー先頭相対アドレスレジスタ82の内容の一致
信号が、コンパレータ85から出力される。したがっ
て、時刻t2において、フリップフロップ86がONに
セットされる。t2〜t3の期間に次のデータであるキ
ーの先頭データ(REC0では「K00」)がデータメ
モリ5へ書き込まれる。このt2〜t3の期間に、アン
ドゲート89により、データ書き込みタイミング信号4
と同時にキー書き込みタイミング信号9が出力される。
このキー書き込みタイミング信号9によりキーの先頭デ
ータがキーメモリ7に書き込まれる。
【0023】以降、キーの終了(REC0では「K0
2」)を検出するまでの間は、連続してキーがデータメ
モリ5とキーメモリ7に同時に書き込まれる。
【0024】t6〜t7の期間に、キーの終了データを
データメモリ5に書き込む。このt6〜t7の期間に、
レコード内データ相対アドレスカウンタ84の内容とキ
ー終了相対アドレスレジスタ83の内容との一致信号
が、コンパレータ87から出力される。したがって、時
刻t7において、フリップフロップ88がONにセット
される。そして、その次のデータ転送(REC0では
「D01」)以降は、1レコード分のデータ転送が終了
するまでの間、キー書き込みタイミング信号9は出力さ
れない。
【0025】時刻t10までに、1レコードの最後のデ
ータ(REC0では「D03」)の転送が行われると、
時刻t10において、レコード長レジスタ81の内容と
レコード内データ相対アドレスカウンタ84の内容とが
一致する。したがって、コンパレータ90を通してリセ
ット信号91が送出される。リセット信号91は、上記
相対アドレスカウンタ84、フリップフロップ86及び
88をリセットする。こうしてキー書き込み制御回路8
が初期化される。次のレコードのデータをデータメモリ
5に書き込む時も上述と同一の動作となる。結果とし
て、データ内のキー部分のみが常にキーメモリ7に抽出
される。
【0026】実施例2.実施例1では、キーの先頭アド
レスの値をレコードの先頭からの相対アドレスとして保
持しているキー先頭相対アドレスレジスタ82と、キー
の終了アドレスをレコードの先頭からの相対アドレスと
して保持しているキー終了相対アドレスレジスタ83を
有していたが、これらレジスタはメモリ構成にしておい
てもよい。メモリ構成にした場合には1レコード内に複
数のキー部分を設定することができる。この場合の例を
図4と図5に示す。
【0027】図4において、主記憶装置1上のデータの
各レコードは7ワードから構成されている。1レコード
内には、2ワード目と3ワード目に1つのキーが存在す
る。及び6ワード目に1つのキーが存在する。すなわ
ち、1レコード内に合計2つのキーが存在する。
【0028】図5に示すように、複数のキーの先頭相対
アドレスと終了相対アドレスを保持するために、複数キ
ー先頭相対アドレスメモリ96と複数キー終了相対アド
レスメモリ97を設ける。図4のREC0のようなレコ
ードを処理する場合は、複数キー先頭相対アドレスメモ
リ96の内容は、AS0=1、AS1=5となる。AS
2〜ASNのそれ以外のメモリは未使用である。又、複
数キー終了相対アドレスメモリ97の内容は、AL0=
2、AL1=5となる。AL2〜ALNのメモリは未使
用である。コンパレータ87はキー終了を示す一致信号
92を出力する。一致信号92はキーアドレスカウンタ
回路93に入力される。キーアドレスカウンタ回路93
は一致信号92に基づいて複数キー先頭相対アドレスメ
モリ96及び複数キー終了相対アドレスメモリ97のア
ドレスをインクリメントするタイミングを生成する。キ
ーアドレスカウンタ回路93はこのタイミングで上記ア
ドレスメモリ96及び97へアドレス信号95を出力す
る。また、キーアドレスカウンタ回路93は一致信号9
2に基づいて、フリップフロップ86、及び88をリセ
ットするタイミング信号94を生成する。
【0029】次に動作について説明する。レコード内デ
ータ相対アドレスカウンタ84の値が複数キー先頭相対
アドレスメモリ96のAS0の値と複数キー終了相対ア
ドレスメモリ97のAL0の値で示される範囲の間は、
レコード内における最初のキーのキー書き込みタイミン
グ信号9が、データ書き込みタイミング信号4と同時に
出力される。そして、図4のREC0におけるK00と
K01は、データメモリ5に書き込まれると同時に、キ
ーメモリ7にも書き込まれる。
【0030】K00とK01がキーメモリ7に書き込ま
れた後、キーアドレスカウンタ回路93は、上記複数キ
ー先頭相対アドレスメモリ96と複数キー終了相対アド
レスメモリ97のアドレスをインクリメントする。レコ
ード内データ相対アドレスカウンタ84の値が、複数キ
ー先頭相対アドレスメモリ96のAS1の値と複数キー
終了相対アドレスメモリ97のAL1の値で示される範
囲の間は、キー書き込みタイミング信号9がデータ書き
込みタイミング信号4と同時に出力される。そして、図
4のREC0におけるK02は、データメモリ5に書き
込まれると同時に、キーメモリ7にも書き込まれる。先
頭レコードの書き込みが終了するとキー書き込み制御回
路8は初期化される。次のレコードの書き込みの場合に
上述の動作が繰り返される。
【0031】実施例3.上記実施例では、キーメモリを
個別に用意したが、例えば、プロセッサ固有のローカル
メモリの一部を使用してもよい。
【0032】実施例4.実施例2では、複数キー先頭相
対アドレスメモリ96と複数キー終了相対アドレスメモ
リ97は、それぞれ複数のキーの先頭相対アドレスの
み、終了アドレスのみ、というように、まとめられたメ
モリとして設定した。しかし、例えば、図6に示すよう
に、それぞれのアドレスメモリをアドレスごとに、個々
に設定するものであってもよい。この場合には、実施例
2におけるキーアドレスカウンタ回路93は不要にな
る。
【0033】実施例5.実施例2では、データに複数の
キー部分が存在する場合を説明した。そして、1レコー
ド内の複数のキーをキーメモリにセットする順番は、デ
ータに格納されているキー部分の順であった。しかし、
例えば、キー部分のキーメモリにセットしたい順番がデ
ータに格納されている順ではない場合もある。そのよう
な場合の例を、図7に示す。図7においては、キーアド
レスカウンタ回路93に、キー書き込みアドレスメモリ
101を設ける。キー書き込みアドレスメモリ101
は、1レコードの処理において、キーメモリのどの相対
アドレスへキーを書き込むかの位置を記憶する。キーア
ドレスカウンタ回路93は、この情報に基づいてキー書
き込みアドレス信号100を発生する。キー書き込みア
ドレスメモリ101はキー書き込みアドレス信号100
をキーメモリ7へ送出する。キーメモリ7は、キー書き
込みタイミング信号9とこのキー書き込みアドレス信号
100により、キー書き込みアドレスメモリ101の内
容に従い、キーメモリの該当アドレスへのキーの書き込
みを行う。
【0034】実施例6.実施例5では、実施例2のよう
にデータに存在する複数のキー部分を、データに格納さ
れる順ではなく、任意の順でキーメモリにセットする場
合について説明した。しかし、例えば、実施例4のよう
にキーメモリが個々に設けられている場合にも任意の順
でキーメモリにセットすることが可能である。たとえば
図8に示すように、キー書き込みアドレスメモリ101
をキー部分の数に対応させて、個々に複数設けることに
より、複数のキー部分を任意の順でキーメモリにセット
することが可能である。
【0035】実施例7.上記実施例ではデータメモリ5
に対して、データを書き込むタイミングでキーメモリに
キーを書き込む場合について説明した。しかし、図9に
示す様にデータメモリが存在せずにキーメモリ7にキー
を書き込む様な場合であっても構わない。
【0036】図9において、データ読み込み制御回路3
aはプロセッサ6に対してデータを読み込むための入力
タイミング信号4aを出力する。プロセッサ6は入力タ
イミング信号4aに従って主記憶装置1からデータを入
力する。キー書き込み制御回路8は入力タイミング信号
4aを入力する。キー書き込み制御回路8はこの入力タ
イミング信号4aを図2に示したデータ書き込みタイミ
ング信号4の代わりとして用いる。入力タイミング信号
4aが図3に示したようなデータ書き込みタイミング信
号4と同様な条件で動作すれば、キー書き込み制御回路
8は前述した実施例と同様な動作を行うことができる。
この実施例においては、データメモリ5が存在しない為
に主記憶装置から読み込まれたデータのうち、キーの部
分以外のデータは、読み込まれると同時に無視され、捨
てられる。
【0037】実施例8.上記実施例ではキーメモリ7が
1つだけ有る場合について説明したが、図10に示すよ
うにキーメモリが複数存在する場合でも構わない。図1
0に示すキーメモリはキーメモリ7a、7b、7cの3
つの部分に分かれている。キー書き込みタイミング信号
9はスイッチSWにより各タイミング毎にキーメモリ7
a、7b、7cを順に選択する。従ってキーメモリ7a
にはキーとしてK00、K10、K20のキー部分のみ
が格納される。その後それぞれのキーメモリ7a、7
b、7cは他のプログラム、或いは処理装置により別個
にアクセスすることが可能になる。
【0038】実施例9.上記実施例では、各レコードか
らキーを取り出す場合について説明したが、この実施例
では、各レコードからキーを取り出すとともに、既に削
除されたレコードを無視する場合について説明する。図
11はこの実施例におけるキー取り出し装置の構成を示
す図である。この例においては、削除レコードを検出し
てそのレコードのデータ及びキーをデータメモリ及びキ
ーメモリに書き込まない場合について説明する。この実
施例では、削除レコードの先頭にある第1ワード目には
特定の値FF(H)が記録されているものとする。図1
1においては、第2レコード目(REC1)が削除レコ
ードである。データ入力部2は、入力レジスタ110を
備えている。入力レジスタ110は、主記憶装置1から
各ワードを順に入力する。入力レジスタ110はデータ
書き込みタイミング信号4(又はキー書き込みタイミン
グ信号9)と同相のクロックで動作する。あるクロック
タイミングで入力レジスタ110に入力されたデータ
は、次のクロックタイミングで入力レジスタ110から
データメモリ5とキーメモリ7に出力される。レジスタ
111は、特定の値FF(H)を保持している。比較器
112は入力レジスタに入力されたデータとレジスタ1
11に保持した値FF(H)とを比較する。フリップフ
ロップ113は、比較器112の比較結果が一致した場
合に、一致結果を保持する。フリップフロップ113は
一致信号114をアンドゲート115に出力する。アン
ドゲート115は、一致信号114が出力されている場
合には、データ書き込み制御回路3から出力されるデー
タ書き込みタイミング信号4を停止させる。フリップフ
ロップ113から一致信号114が出力されている間
は、データ書き込みタイミング信号4はデータメモリ5
へ出力されないため、入力レジスタ110から出力され
るデータは、データメモリ5に書き込まれない。又、デ
ータ書き込みタイミング信号4に基づいて動作するキー
書き込み制御回路8も動作しない。従って、キー書き込
み制御回路8からのキー書き込みタイミング信号がキー
メモリ7に出力されない。このため、入力レジスタ11
0から出力されるデータはキーメモリに書き込まれな
い。
【0039】図11の第1レコード(REC0)が入力
されている場合には、比較器112は特定の値FF
(H)を検出しないため、前述した実施例と同様の動作
により、第1レコードの全てのワードがデータメモリ5
に記憶される。又、同様にキー0(K00、K01、K
02)がキーメモリ7に記憶される。次に、第2レコー
ド(REC1)の第1ワードが入力されると、比較器1
12は、FF(H)を検出し、一致結果をフリップフロ
ップ113に出力する。フリップフロップ113は一致
信号114を出力する。この一致信号114は、フリッ
プフロップ113がリセットされるまで出力され続け
る。リセット回路116は、一レコードの終了を検出
し、一レコード終了時にリセット信号117を出力す
る。リセット回路116は、キー書き込み制御回路8に
あるレコード内データ相対アドレスカウンタ84及びレ
コード長レジスタ81及び比較器90等により、構成す
ることができる。リセット回路116がリセット信号1
17を出力すると、フリップフロップ113はリセット
され、一致信号114の出力を停止する。このようにフ
リップフロップ113は、第2レコードの1ワード目か
ら第2レコードの最終ワードまで一致信号を出力し続け
る。従って、第2レコードの全てのワード及び第2レコ
ードのキー部分(K10、K11、K12)は、データ
メモリ5及びキーメモリ7には出力されない。
【0040】実施例10.上記実施例では、データ書き
込みタイミング信号を抑制することにより、削除レコー
ドのデータを無視する場合について説明したが、この実
施例では、キー書き込みタイミング信号9を抑制するこ
とにより、削除レコードのキーを無視する場合について
説明する。図12において、前述した図11と異なる点
は、アンドゲート115の一方の入力がキー書き込み制
御回路8からのキー書き込みタイミング信号9である点
である。又、フリップフロップ113のリセット信号と
して、キー書き込み制御回路8からのリセット信号91
を用いている点である。この例によれば第2レコード
(REC1)の第1ワードを入力した時点で、フリップ
フロップ113が一致信号114を出力し、キー書き込
みタイミング信号9の出力を停止させる。フリップフロ
ップ113はキー書き込み制御回路8から一レコードの
終了を示すリセット信号91が出力されるまで、一致信
号114を出力し続ける。従って、第2レコード(RE
C1)のキーは、キーメモリ7に記憶されない。
【0041】実施例11.上記実施例9及び実施例10
においては、削除レコードのデータ及び/又は、キーを
無視する場合について説明したが、無視するレコードの
種類は削除レコードに限らない。即ち、ある特定の値を
持つレコードを選択するか否かをというレコードのセレ
クション処理をする場合に、前述した方式を用いること
が可能である。例えば、男性か女性を示すワードが存在
している場合に、男性のみをセレクトし、その男性のレ
コードからキー部分を取り出すという処理を行なうこと
が可能である。
【0042】実施例12.上記実施例では各レコードか
らキーを取り出す場合について説明したが、この実施例
では、キーに対して付加情報をつけてキーメモリに書き
込む場合について説明する。図13は、この実施例の構
成を示す図である。キーメモリ7には、キー以外にフラ
グ0あるいはフラグ1が記録されている。このフラグ0
あるいはフラグ1には、レコードの識別子を記憶する。
例えば、レコードの入力順に番号を付けたシリアルナン
バーを識別子として記憶する。このように、キーに対し
てレコードのシリアルナンバーを付加しておくことによ
り、キーによりソートを行なう場合、同一キーが存在し
た場合には、レコードの入力順にソートするということ
が可能である。カウンタ121はレコードを入力する度
にカウントをアップ又はダウンするカウンタである。ア
ップダウン選択部122はカウンタ121のカウンタ値
をアップさせるか、ダウンさせるかを選択する。ここで
は、カウントを“1”から順にアップさせる場合につい
て説明する。セレクタ120は、主記憶装置1から入力
するデータと、カウンタ121から出力されるカウンタ
値のいずれかを選択して出力する。セレクタ120は、
一レコードの転送終了後にカウンタ121からカウンタ
値を選択し、出力する。又、キー書き込み制御回路8は
1レコード目の転送終了時に、1クロック分余分なキー
書き込みタイミング信号9を発生させる。遅延回路12
3は、キー書き込み制御回路から出力されるリセット信
号91に基づき、リセット信号91より1クロック遅延
させた1クロック遅延信号125をセレクタ120に出
力する。セレクタ120は、この1クロック遅延信号1
25のタイミングでカウンタ121にあるカウンタ値を
出力する。従って、キーメモリ7は、1レコードの転送
終了後の1クロックの間にカウンタ値をフラグとして記
憶することができる。又、遅延回路123はリセット信
号91から2クロック遅延した2クロック遅延信号12
4をカウンタ121に出力する。カウンタ121は、こ
の2クロック遅延信号124に基づいてカウンタ値をア
ップさせる。
【0043】例えば、第1レコード(REC0)の各ワ
ードがセレクタ120に入力されている場合、カウンタ
121はカウンタ値1を保持している。第1レコードが
終了した場合に、遅延回路123が1クロック遅延信号
125をセレクタに出力する。セレクタは、カウンタ1
21からカウンタ値“1”を入力し、キーメモリ7に出
力する。キー書き込み制御回路はリセット信号91から
1クロック余分にキー書き込みタイミング信号9を発生
させる。従って、キーメモリ7のフラグ0には、カウン
タ値“1”が記録される。遅延回路123は、2クロッ
ク遅延信号124をカウンタ121に出力し、カウンタ
はカウンタ値をアップさせ、“2”にする。このカウン
タ値の変更と同時に第2レコード(REC1)の入力が
開始される。第2レコードの各ワードが入力されている
間カウンタ121は、カウンタ値“2”を保持する。第
2レコードの入力が終了した時点で、遅延回路の1クロ
ック遅延信号125に基づき、セレクタ120がカウン
タ121からカウンタ値“2”を選択して出力する。そ
の結果フラグ1にはカウンタ値“2”が記憶される。こ
のようにキーに付随してフラグ0、フラグ1等を出力す
ることにより、後のソート処理において、このフラグの
値を用いてデータの特別な処理を行なうことが可能にな
る。
【0044】実施例13.上記実施例12においては、
1つのレコードから取り出される複数キーに対して、1
つのフラグを付加する場合について説明したが、この実
施例においては、1つのレコードに複数のキーがある場
合、それぞれのキーに対してフラグを付加する場合につ
いて説明する。図14は、この実施例の構成を示す図で
ある。レジスタ130は主記憶装置1からのデータを保
持するデータ部分とカウンタ121からのカウンタ値を
保持するカウント部分とを有している。レジスタ130
のカウント部分は、通常はカウンタ値を出力しないが、
キー書き込みタイミング信号9が出力された場合に、カ
ウンタ値を出力する。従って、キー書き込みタイミング
信号9が発生しない場合には、レジスタ130のデータ
部分からデータが出力される。キー書き込みタイミング
信号9が発生した場合には、レジスタ130のデータ及
びカウンタ値の両方が出力され、キーメモリ7に出力さ
れる。キーメモリ7は、3つの部分7a、7b、7cか
ら構成されており、それぞれにおいてキーを保持するキ
ー部分と、フラグを保持するフラグ部分を有している。
従って、各キーに対応して、フラグが保持される。この
ようにキーメモリを構成しておくことにより、キーメモ
リ7a、7b、7c各々独立に処理がされた場合でも最
終的にどのレコードのキーであるかをフラグの値から判
断することができ、フラグを用いてキーを再び統合する
ことが可能になる。
【0045】実施例14.上記実施例においては、プロ
セッサ6が主記憶装置1からデータを入力する場合につ
いて説明したが、図15に示すように、DMA(ダイレ
クトメモリアクセス)6aを設けてDMA6aにより、
主記憶装置1からデータを入力しても構わない。プロセ
ッサ6は、DMA6aを起動するために必要なデータを
DMA6aに与えることにより、他の処理を実行するこ
とが可能になり、よりデータ処理の効率が向上する。
【0046】実施例15.上記実施例では、ソート処理
を行うに当たってのキー取り出し装置について述べた
が、例えば、人事レコードから社員NOと名前を取り出
すというように、任意のデータから特定の部分あるいは
項目を取り出すような場合にも、本発明は有効である。
【0047】また、データベースから特定のデータを抜
き出して新たなデータベースを作成する場合にも本発明
は有効である。例えばSQLというデータベース処理言
語を用いる事により、すでに存在する表から架空の表
(これをビューと呼ぶ)を生成しこのビューを検索する
ことがある。このビューは架空の表であるため、実際に
は記録されているものでは無く、実際に記録されている
表から検索して、その要求がある度毎に生成されるもの
である。あるいは、一時的に主記憶装置やキャッシュメ
モリ等に記憶されるものである。このように、ビューの
ように架空の表を用いる場合には、一時的に、或いは頻
繁に実際に存在する表から架空の表を生成しなければ成
らない。前述した実施例によるキーの部分を取り出す手
法を用いれば、このビューと呼ばれる架空の表を高速に
取り出すことが可能である。このように、本発明におい
て、キーとはソートキーのみを意味するものではなく、
任意のデータの特定の部分あるいは特定の項目を意味す
るものである。
【0048】実施例16.上記実施例では、1レコード
がワード単位構成されている場合を示した。しかし、1
レコードを構成する単位はその他の単位であってもよ
い。例えば、バイト単位、ビット単位で構成されていて
もよい。1レコードがバイト単位、又はビット単位で構
成されている場合は、キー先頭相対アドレスレジスタ8
2、キー終了相対アドレスレジスタ83、レコード内デ
ータ相対アドレスカウンタ84は各々バイト単位、又は
ビット単位でアドレスを保持或はカウントする。
【0049】
【発明の効果】以上のように、この発明によれば、デー
タを入力するデータ入力手段と、データに存在するキー
の部分を記憶するキー記憶手段と、データ入力手段によ
るデータの入力と並行して、キーの部分をデータから取
り出し、キー記憶手段に書き込むキー書き込み手段とを
設けたことにより、キーの部分をデータから高速に取り
出すことができる。また、キーの部分を取り出すのにプ
ロセッサを使用することがなく、プロセッサ負荷が減少
し、プロセッサの処理効率が向上する。
【図面の簡単な説明】
【図1】本発明の実施例1における、キー取り出し装置
を示す構成図である。
【図2】本発明の実施例1における、キー書き込み制御
回路8の内部回路を示す図である。
【図3】本発明の実施例1における、キー書き込み制御
回路8の動作のチャート図である。
【図4】本発明の実施例2における、キー取り出し装置
を示す構成図である。
【図5】本発明の実施例2における、キー書き込み制御
回路8の内部回路を示す図である。
【図6】本発明の実施例4における、アドレスメモリを
アドレスごとにばらばらに設定した場合のキー書き込み
制御回路8の内部回路を示す図である。
【図7】本発明の実施例5における、キー部分のキーメ
モリにセットする順番が任意であるような場合のキー書
き込み制御回路8の内部回路を示す図である。
【図8】本発明の実施例6における、キー書き込みアド
レスメモリ101をキー部分の数に対応させて、複数設
けた場合のキー書き込み制御回路8の内部回路を示す図
である。
【図9】本発明の実施例7における、キー取り出し装置
を示す構成図である。
【図10】本発明の実施例8における、キー取り出し装
置を示す構成図である。
【図11】本発明の実施例9における、キー取り出し装
置を示す構成図である。
【図12】本発明の実施例10における、キー取り出し
装置を示す構成図である。
【図13】本発明の実施例12における、キー取り出し
装置を示す構成図である。
【図14】本発明の実施例13における、キー取り出し
装置を示す構成図である。
【図15】本発明の実施例14における、キー取り出し
装置を示す構成図である。
【図16】従来のキー取り出し装置を示す構成図であ
る。
【符号の説明】
1 主記憶装置 2 キー取り出し装置のデータ入力部 3 データ書き込み制御回路 4 データ書き込みタイミング信号 5 データメモリ 6 プロセッサ 7 キーメモリ 8 キー書き込み制御回路 9 キー書き込みタイミング信号 81 レコード長レジスタ 82 キー先頭相対アドレスレジスタ 83 キー終了相対アドレスレジスタ 84 レコード内データ相対アドレスカウンタ 85 コンパレータ 86 フリップフロップ 87 コンパレータ 88 フリップフロップ 89 アンドゲート 90 コンパレータ 91 リセット信号 92 キー終了を示す一致信号 93 キーアドレスカウンタ回路 94 フリップフロップリセット信号 95 キーアドレス出力信号 96 複数キー先頭相対アドレスレジスタ 97 複数キー終了相対アドレスレジスタ 100 キー書き込みアドレス信号 101 キー書き込みアドレスメモリ 110 入力レジスタ 111 レジスタ 112 比較器 113 フリップフロップ 114 一致信号 115 アンドゲート 116 リセット回路 117 リセット信号 120 セレクタ 121 カウンタ 122 アップダウン選択部 123 遅延回路 124 2クロック遅延信号 125 1クロック遅延信号 130 レジスタ

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 データを入力し、データに存在するキー
    部分を取り出すキー取り出し装置において、 (a)データを入力するデータ入力手段と、 (b)キー部分を記憶するキー記憶手段と、 (c)データ入力手段によるデータの入力と並行して、
    キー部分をデータから取り出し、キー記憶手段に書き込
    むキー書き込み手段とを備え、 上記データ入力手段は、データとして、あらかじめ定め
    られたキー位置にキー部分を有する複数の固定長のレコ
    ードを入力し、上記キー書き込み手段は、上記データ入
    力手段が入力する各レコードからキー部分を取り出して
    キー記憶手段に記憶することを特徴とするとともに、 上記キー書き込み手段は、 (a)上記キー位置を記憶するキー位置記憶手段と、 (b)上記データ入力手段により入力されるレコードの
    データ位置をカウントするカウント手段と、 (c)上記キー位置記憶手段に記憶されたキー位置と、
    上記カウント手段がカウントするデータ位置を比較する
    比較手段と、 (d)上記比較手段による比較結果に基づいて、上記キ
    ー記憶手段に対してデータの書き込みを指示するタイミ
    ング信号を出力するシグナル手段とを備え、 上記比較手段は、上記キー位置記憶手段により記憶した
    キー位置と上記カウント手段によりカウントされるデー
    タ位置を比較する比較器と、上記比較器の比較結果を保
    持する保持手段を有し、上記シグナル手段は、データ入
    力手段によるデータ入力のタイミングで、上記保持手段
    に保持した比較結果をタイミング信号としてキー記憶手
    段に出力することを特徴とするキー取り出し装置。
  2. 【請求項2】 上記キー取り出し装置は、さらに、以下
    の要素を有することを特徴とする請求項1記載のキー取
    り出し装置(a)データを記憶するデータ記憶手段、 (b)上記データ入力手段によるデータの入力と並行し
    て、データを上記データ記憶手段に書き込むデータ書き
    込み手段。
  3. 【請求項3】 上記キー書き込み手段は、さらにレコー
    ド長を記憶して、上記カウント手段によるデータ位置が
    レコード長に達した場合、キー書き込み手段をリセット
    するリセット手段を有することを特徴とする請求項1記
    載のキー取り出し装置。
  4. 【請求項4】 上記キー位置記憶手段は、レコードの先
    頭からキー位置までの相対アドレスをキー位置として記
    憶し、上記カウント手段はレコードの先頭から現在入力
    されているデータまでの相対アドレスをデータ位置とし
    てカウントすることを特徴とする請求項1記載のキー取
    り出し装置。
  5. 【請求項5】 上記キー位置記憶手段はキー位置として
    キー部分の先頭位置と終了位置を記憶することを特徴と
    する請求項1記載のキー取り出し装置。
  6. 【請求項6】 上記データ入力手段が入力するレコード
    は複数のキー部分を有しており、上記キー位置記憶手段
    は複数のキー位置を記憶することを特徴とする請求項1
    記載のキー取り出し装置。
  7. 【請求項7】 上記キー書き込み手段は、さらに、キー
    位置記憶手段に記憶された複数のキー部分のそれぞれに
    対応してキー記憶手段のキー部分を書き込むキー書き込
    み位置を記憶するキー書き込み位置メモリ手段を有し、
    上記シグナル手段は、タイミング信号を出力する場合
    に、上記キー書き込み位置メモリ手段に記憶された複数
    のキー書き込み位置の中から、キー記憶手段に記憶する
    キー部分に対応するキー書き込み位置を選択してキー記
    憶手段に出力することを特徴とする請求項6記載のキー
    取り出し装置。
  8. 【請求項8】 上記キー取り出し装置は、更に、データ
    入力手段が入力するデータを所定のデータと比較する比
    較手段を有し、上記比較手段の比較結果に基づいて上記
    キー書き込み手段によるキー記憶手段へのキー部分の書
    き込みを中止するキー書き込み中止手段を備えたことを
    特徴とする請求項1記載のキー取り出し装置。
  9. 【請求項9】 上記キー取り出し装置は、更に、キー書
    き込み手段がキー部分をキー記憶手段に書き込む場合
    に、キー部分を取り出したレコードの識別子をキー部分
    とともに、記憶する識別子記憶手段を備えたことを特徴
    とする請求項1記載のキー取り出し装置。
  10. 【請求項10】 上記請求項1記載のキー取り出し装置
    を有し、さらに上記キー記憶手段に記憶されたキー部分
    をソートするソート手段を有することを特徴とするソー
    ト処理装置。
  11. 【請求項11】 上記請求項1記載のキー取り出し装置
    を有し、さらに、上記キー記憶手段に記憶されたキー部
    分を新たなファイルとしてアクセスするアクセス手段を
    有することを特徴とするデータベース処理装置。
  12. 【請求項12】 データをレコード単位に順次入力する
    データ入力工程と、 前もってレコード中のキー部分が存在するキー位置を記
    憶するキー位置記憶工程と、 上記キー位置記憶工程により記憶されたキー位置を用い
    て、上記データ入力工程により順次入力されるデータが
    キー部分であるかを上記データ入力工程により入力する
    データの入力時に判定する判定工程と、 上記判定工程の判定結果に基づいて、上記キー部分であ
    ると判定されたデータを上記データ入力工程により入力
    するデータの入力時に取り出す抽出工程とを備え、 上記判定工程は、 上記データ入力工程により入力されるレコードのデータ
    位置をカウントするカウント工程と、 上記キー位置記憶工程により記憶したキー位置と上記カ
    ウント工程によりカウントされるデータ位置を比較する
    比較工程と、 上記比較工程の比較結果を保持する保持工程と、 データ入力工程によるデータ入力のタイミングで、上記
    保持工程により保持した比較結果からデータの抽出を指
    示するタイミング信号を生成し、上記抽出工程に対して
    判定結果として出力するシグナル工程とを備えたことを
    特徴とするキー取り出し方法。
  13. 【請求項13】 上記キー取り出し方法は、さらに、上
    記データ入力工程と判定工程と抽出工程を繰り返して複
    数のキー部分を取り出す繰り返し工程を有することを特
    徴とする請求項12記載のキー取り出し方法。
  14. 【請求項14】 上記キー取り出し方法は、さらに、上
    記繰り返し工程により上記抽出工程がキー部分を取り出
    す時に、取り出したキー部分を記憶するためのキー記憶
    位置を出力するキー記憶位置出力工程を有することを特
    徴とする請求項1記載のキー取り出し方法。
  15. 【請求項15】 上記キー取り出し方法は、さらに、上
    記データ入力工程が順次入力するデータを所定の長さの
    レコードに区切り、各レコードの区切りで上記データ入
    力工程と判定工程と抽出工程をリセットするリセット工
    程を有することを特徴とする請求項12記載のキー取り
    出し方法。
  16. 【請求項16】 上記キー取り出し方法は、さらに、デ
    ータ入力工程により入力したデータを記憶するデータ記
    憶工程を有することを特徴とする請求項12記載のキー
    取り出し方法。
JP5186384A 1992-09-22 1993-07-28 キー取り出し装置及びキー取り出し方法及びソート処理装置及びデータベース処理装置 Expired - Fee Related JP2991007B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5186384A JP2991007B2 (ja) 1992-09-22 1993-07-28 キー取り出し装置及びキー取り出し方法及びソート処理装置及びデータベース処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP25274292 1992-09-22
JP4-252742 1992-09-22
JP5186384A JP2991007B2 (ja) 1992-09-22 1993-07-28 キー取り出し装置及びキー取り出し方法及びソート処理装置及びデータベース処理装置

Publications (2)

Publication Number Publication Date
JPH06161709A JPH06161709A (ja) 1994-06-10
JP2991007B2 true JP2991007B2 (ja) 1999-12-20

Family

ID=26503732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5186384A Expired - Fee Related JP2991007B2 (ja) 1992-09-22 1993-07-28 キー取り出し装置及びキー取り出し方法及びソート処理装置及びデータベース処理装置

Country Status (1)

Country Link
JP (1) JP2991007B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4972932B2 (ja) 2005-12-26 2012-07-11 富士通株式会社 メモリアクセス装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01276224A (ja) * 1988-04-27 1989-11-06 Nippon Telegr & Teleph Corp <Ntt> データ計数装置
JP2586610B2 (ja) * 1988-10-31 1997-03-05 日本電気株式会社 ファイル作成方式
JPH0397027A (ja) * 1989-09-08 1991-04-23 Casio Comput Co Ltd データ分類装置

Also Published As

Publication number Publication date
JPH06161709A (ja) 1994-06-10

Similar Documents

Publication Publication Date Title
US5247665A (en) Data base processing apparatus using relational operation processing
US6954759B2 (en) Data processing method using record division storing scheme and apparatus therefor
JPH0668736B2 (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
JP2991007B2 (ja) キー取り出し装置及びキー取り出し方法及びソート処理装置及びデータベース処理装置
JP2880199B2 (ja) 記号列検索方法および検索装置
US5581751A (en) Key extraction apparatus and a key extraction method
JP2880192B2 (ja) 文字列検索方法及び装置
JP3076115B2 (ja) 大型磁気ディスク装置
JP2615046B2 (ja) レコード追加処理方法
JP3784054B2 (ja) Macアドレスを並べ替えさせる方法および記録媒体
JPH0752451B2 (ja) 情報検索装置
JP3087701B2 (ja) 排他制御装置
RU2037215C1 (ru) Запоминающее устройство
JPH043251A (ja) 文書検索方法および文書検索処理装置
JP2002157151A (ja) データ管理装置
JPH04250568A (ja) レコード検索装置
JPH06231021A (ja) データ世代情報を有するデータ管理システム
JPS63291145A (ja) ファイル管理方法
JPH05173742A (ja) メッセージデータ管理方式
JPH0228846A (ja) データ格納方式
JPS59133641A (ja) 情報検索装置
JPS6124734B2 (ja)
JPS59133659A (ja) アドレス格納制御方式
JPS63251838A (ja) 命令取出装置
JPH03196260A (ja) 全文検索装置

Legal Events

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