JPH01237721A - データ列検索装置 - Google Patents
データ列検索装置Info
- Publication number
- JPH01237721A JPH01237721A JP63063464A JP6346488A JPH01237721A JP H01237721 A JPH01237721 A JP H01237721A JP 63063464 A JP63063464 A JP 63063464A JP 6346488 A JP6346488 A JP 6346488A JP H01237721 A JPH01237721 A JP H01237721A
- Authority
- JP
- Japan
- Prior art keywords
- data
- search
- data string
- section
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Microcomputers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は、たとえばICカードなどのマイクロコンピュ
ータシステムにおいて、メモリ内のデータ列を検索する
データ列検索装置に関する。
ータシステムにおいて、メモリ内のデータ列を検索する
データ列検索装置に関する。
(従来の技術)
たとえばマイクロコンピュータシステムの中で、現在大
きな注目を浴びているものとしてICカードがあげられ
る。ICカードは、CPUなどの制御部によってアクセ
スされるメモリを有し、そのメモリ内には複数のデータ
列が記憶されており、この記憶データ列のうち任意のデ
ータ列を選択的にアクセス対象とするようにな馴ている
。
きな注目を浴びているものとしてICカードがあげられ
る。ICカードは、CPUなどの制御部によってアクセ
スされるメモリを有し、そのメモリ内には複数のデータ
列が記憶されており、この記憶データ列のうち任意のデ
ータ列を選択的にアクセス対象とするようにな馴ている
。
このようなICカードにおいて、メモリ内のデータ列を
検索する場合、特殊回路などにより検索処理を委ねるこ
とにより、検索処理の高速化を図ることが考えられる。
検索する場合、特殊回路などにより検索処理を委ねるこ
とにより、検索処理の高速化を図ることが考えられる。
この場合、メモリは、制御部および検索手段からのアク
セスを行なえるようにしなければならない。
セスを行なえるようにしなければならない。
しかし、たとえばICカードなどのマイクロコンピュー
タシステムにおいては、アクセスデータ供給バスを共有
しており、検索手段が動作しているとき、制御部はその
バスを解放しなければならない。したがって、制御部と
しては、検索手段の動作中は例えば計算処理あるいは他
の検索対象外のメモリへのアクセスなどができなかった
。
タシステムにおいては、アクセスデータ供給バスを共有
しており、検索手段が動作しているとき、制御部はその
バスを解放しなければならない。したがって、制御部と
しては、検索手段の動作中は例えば計算処理あるいは他
の検索対象外のメモリへのアクセスなどができなかった
。
(発明が解決しようとする課題)
本発明は、上記したように検索手段の動作中、制御部と
しては検索対象外のメモリへのアクセスなどが行なえな
いという問題点を解決すべくなされたもので、検索手段
が動作中でも、制御部としては検索対象外のメモリへの
アクセスなどが可能となるデータ列検索装置を提供する
ことを目的とする。
しては検索対象外のメモリへのアクセスなどが行なえな
いという問題点を解決すべくなされたもので、検索手段
が動作中でも、制御部としては検索対象外のメモリへの
アクセスなどが可能となるデータ列検索装置を提供する
ことを目的とする。
[発明の構成]
(課題を解決するための手段)
本発明は、所定の処理を行なう制御部と、この制御部に
よってアクセスされ、複数のデータ列を記憶するメモリ
部とを有するものにおいて、前記制御部からの検索情報
に基づき前記メモリ部をアクセスすることにより検索対
象データ列を検索する検索手段と、前記制御部に接続さ
れる第1のアクセスバスと、前記メモリ部と前記検索手
段とを接続する第2のアクセスバスと、前記第1のアク
セスバスに供給された前記制御部からのアクセスデータ
を前記第2のアクセスバスに供給するゲート手段と、前
記検索手段の動作時には前記ゲート手段を非導通状態に
制御するとともに、前記検索手段の非動作時には前記ゲ
ート手段を導通状態に制御するゲート制御手段とを具備
している。
よってアクセスされ、複数のデータ列を記憶するメモリ
部とを有するものにおいて、前記制御部からの検索情報
に基づき前記メモリ部をアクセスすることにより検索対
象データ列を検索する検索手段と、前記制御部に接続さ
れる第1のアクセスバスと、前記メモリ部と前記検索手
段とを接続する第2のアクセスバスと、前記第1のアク
セスバスに供給された前記制御部からのアクセスデータ
を前記第2のアクセスバスに供給するゲート手段と、前
記検索手段の動作時には前記ゲート手段を非導通状態に
制御するとともに、前記検索手段の非動作時には前記ゲ
ート手段を導通状態に制御するゲート制御手段とを具備
している。
(作用)
アクセスバスを2系統設け、1系統のアクセスバスは検
索対象メモリ部と検索手段とを接続しており、もう1系
統のアクセスバスは制御部に接続しておき、この2系統
のアクセスバスはゲート手段を介して接続する。そして
、検索手段が動作しているときは上記ゲート手段を非導
通状態に制御し、検索手段が停止しているときは上記ゲ
ート手段を導通状態に制御する。
索対象メモリ部と検索手段とを接続しており、もう1系
統のアクセスバスは制御部に接続しておき、この2系統
のアクセスバスはゲート手段を介して接続する。そして
、検索手段が動作しているときは上記ゲート手段を非導
通状態に制御し、検索手段が停止しているときは上記ゲ
ート手段を導通状態に制御する。
これにより、検索手段が動作中でも、制御部としては検
索対象外のメモリへのアクセスなどが可能となる。した
がって、制御部は別の処理を行なえることになり、シス
テムの動作速度および稼働効率が大幅に向上する。
索対象外のメモリへのアクセスなどが可能となる。した
がって、制御部は別の処理を行なえることになり、シス
テムの動作速度および稼働効率が大幅に向上する。
(実施例)
以下、本発明の一実施例について図面を参照して説明す
る。
る。
第1図は本発明に係るデータ列検索装置が適用されるI
Cカードなどのマイクロコンピュータシステムの構成を
示すものである。すなわち、1ぼ本システム全体の制御
を司る制御部としてのCPU (セントラル・プロセッ
シングφユニット)で、これには第1データバス21お
よび第1アドレスバス31が接続される。第1データバ
ス21および第1アドレスバス31には、プログラムメ
モリ4およびワーキングメモリ5が接続される。
Cカードなどのマイクロコンピュータシステムの構成を
示すものである。すなわち、1ぼ本システム全体の制御
を司る制御部としてのCPU (セントラル・プロセッ
シングφユニット)で、これには第1データバス21お
よび第1アドレスバス31が接続される。第1データバ
ス21および第1アドレスバス31には、プログラムメ
モリ4およびワーキングメモリ5が接続される。
また、第1データバス21および第1アドレスバス31
には、双方向性ゲート6を介して第2データバス22お
よび第2アドレスバス32が対応して接続される。第2
データバス22および第2アドレスバス32には、デー
タメモリ(メモリ部)7および検索回路8が接続される
。検索回路8には第1データバス21も接続される。ま
た、CPUIおよびTs1アドレスバス3.にはアクセ
ス信号生成部9が接続される。
には、双方向性ゲート6を介して第2データバス22お
よび第2アドレスバス32が対応して接続される。第2
データバス22および第2アドレスバス32には、デー
タメモリ(メモリ部)7および検索回路8が接続される
。検索回路8には第1データバス21も接続される。ま
た、CPUIおよびTs1アドレスバス3.にはアクセ
ス信号生成部9が接続される。
CPUIは、プログラムメモリ4に記憶されているプロ
グラムデータを所定のタイミングで随時読出し、これを
解読することにより種々の制御を実行する。ワーキング
メモリ5は、CPU1が制御実行中に一時的にデータを
記憶するためのもので、たとえばRAMで構成されてい
る。データメモリ7は、本システムの外部などから入力
されるデータ列を記憶するためのもので、たとえばEE
PROMなどの不揮発性メモリで構成されている。
グラムデータを所定のタイミングで随時読出し、これを
解読することにより種々の制御を実行する。ワーキング
メモリ5は、CPU1が制御実行中に一時的にデータを
記憶するためのもので、たとえばRAMで構成されてい
る。データメモリ7は、本システムの外部などから入力
されるデータ列を記憶するためのもので、たとえばEE
PROMなどの不揮発性メモリで構成されている。
さて、CPUIは、基本アクセスイネーブル信号(たと
えば280CPUにおけるメモリリクエスト、入出力リ
クエスト、リード・ライトの各イネーブル信号など)お
よびアドレスデータをアクセス信号生成部9に供給する
。これにより、アクセス信号生成部9はアクセス信号群
A1〜A4を生成する。アクセス信号群A1は、CPU
Iがプログラムメモリ4からプログラムデータを読出す
際にイネーブル状態となる。アクセス信号群A2は、C
PU1がワーキングメモリ5に対してアクセスする際に
イネーブル状態となる。アクセス信号群A3は、CPU
1がデータメモリ7に対してアクセスする際にイネーブ
ル状態となる。アクセス信号群A4は、検索回路8の起
動および検索回路8に必要となる各種パラメータ設定の
ためのイネーブル信号である。
えば280CPUにおけるメモリリクエスト、入出力リ
クエスト、リード・ライトの各イネーブル信号など)お
よびアドレスデータをアクセス信号生成部9に供給する
。これにより、アクセス信号生成部9はアクセス信号群
A1〜A4を生成する。アクセス信号群A1は、CPU
Iがプログラムメモリ4からプログラムデータを読出す
際にイネーブル状態となる。アクセス信号群A2は、C
PU1がワーキングメモリ5に対してアクセスする際に
イネーブル状態となる。アクセス信号群A3は、CPU
1がデータメモリ7に対してアクセスする際にイネーブ
ル状態となる。アクセス信号群A4は、検索回路8の起
動および検索回路8に必要となる各種パラメータ設定の
ためのイネーブル信号である。
また、後述するように検索回路8がデータメモリ7に対
してアクセスするため、検索回路8内で生成した生成ア
クセス信号群A5と、アクセス信号生成部9から供給さ
れたアクセス信号群A3とを選択することによりアクセ
ス信号群A6を生成し、このアクセス信号群A6をデー
タメモリ7に供給する。
してアクセスするため、検索回路8内で生成した生成ア
クセス信号群A5と、アクセス信号生成部9から供給さ
れたアクセス信号群A3とを選択することによりアクセ
ス信号群A6を生成し、このアクセス信号群A6をデー
タメモリ7に供給する。
また、CPUIおよび検索回路8は、第2データバス2
□および第2アドレスバス32を共有しているため、C
PU1からの制御により、アクセス信号群A4を介して
検索回路8が起動すると、検索回路8が動作中であるこ
とを信号S1によりゲート6に通知する。これにより、
ゲート6は、検索回路8の動作中には第1データバス2
1と第2データバス22および第1アドレスバス31と
第2アドレスバス32をそれぞれ非導通状態にする。な
お、このときCPUIは、検索回路8から出力される停
止ステータスを第1データバス2】を介して常に監視で
きるとともに、プログラムメモリ4からのプログラムデ
ータにより動作を続行でき、またワーキングメモリ5へ
のアクセスなども可能である。
□および第2アドレスバス32を共有しているため、C
PU1からの制御により、アクセス信号群A4を介して
検索回路8が起動すると、検索回路8が動作中であるこ
とを信号S1によりゲート6に通知する。これにより、
ゲート6は、検索回路8の動作中には第1データバス2
1と第2データバス22および第1アドレスバス31と
第2アドレスバス32をそれぞれ非導通状態にする。な
お、このときCPUIは、検索回路8から出力される停
止ステータスを第1データバス2】を介して常に監視で
きるとともに、プログラムメモリ4からのプログラムデ
ータにより動作を続行でき、またワーキングメモリ5へ
のアクセスなども可能である。
データメモリ7は、たとえば第2図に示すように、エリ
ア定義部71およびエリア配置部72からなっている。
ア定義部71およびエリア配置部72からなっている。
エリア配置部72には複数のエリアが配置されており、
本システムの外部などからのデータ列の記憶に使用され
る。エリア定義部71には、エリア配置部72に配置さ
れている各エリアを定義するエリア定義情報が記憶され
る。
本システムの外部などからのデータ列の記憶に使用され
る。エリア定義部71には、エリア配置部72に配置さ
れている各エリアを定義するエリア定義情報が記憶され
る。
エリア定義情報は、たとえばエリア番号、エリア先頭ア
ドレス、エリアサイズおよびポインタなどからなる。こ
れにより、CPUIは、たとえば外部から書込みデータ
とともにアクセス対象となるエリアのエリア番号を受取
ると、該当するエリア番号をエリア定義部71から見付
け、対象エリアの先頭アドレスおよびサイズなど、アク
セスに必要な情報を認識する。たとえば、エリアCは先
頭アドレスがrcccJで、サイズは「SCバイト」で
あるといったように対応づけられている。
ドレス、エリアサイズおよびポインタなどからなる。こ
れにより、CPUIは、たとえば外部から書込みデータ
とともにアクセス対象となるエリアのエリア番号を受取
ると、該当するエリア番号をエリア定義部71から見付
け、対象エリアの先頭アドレスおよびサイズなど、アク
セスに必要な情報を認識する。たとえば、エリアCは先
頭アドレスがrcccJで、サイズは「SCバイト」で
あるといったように対応づけられている。
また、ポインタは、対応するエリア内のうち、どこまで
データ列の書込みに使用したかを示すもので、何も書込
まれていない状態では対応するエリアの先頭アドレスと
同一値となっている。たとえばエリアAにおいては、ポ
インタはraaaJという値となっているので、未書込
み状態であることを示す。エリアBにおいては、ポイン
タはrbbb’Jとなっているので、rb b bJか
らrbbb’−IJの範囲には既にデータ列が書込まれ
ていることを示し、以降の書込みは「bbb’Jから開
始することを示す。また、エリアCについては、「bb
b」となっている(この例では、rcccJからrb
b b −IJまでScバイト)ため、エリアがデータ
列で満杯になっていることを示す。
データ列の書込みに使用したかを示すもので、何も書込
まれていない状態では対応するエリアの先頭アドレスと
同一値となっている。たとえばエリアAにおいては、ポ
インタはraaaJという値となっているので、未書込
み状態であることを示す。エリアBにおいては、ポイン
タはrbbb’Jとなっているので、rb b bJか
らrbbb’−IJの範囲には既にデータ列が書込まれ
ていることを示し、以降の書込みは「bbb’Jから開
始することを示す。また、エリアCについては、「bb
b」となっている(この例では、rcccJからrb
b b −IJまでScバイト)ため、エリアがデータ
列で満杯になっていることを示す。
ここで、エリア内のデータ列記憶状態をエリアBについ
て第3図に示す。図示するように、たとえば4つのデー
タ列が記憶されており、各データ列は、1バイトのデー
タ列長(L) 、2バイトのキーデータ(Kおよびkと
いった各1バイトのデータで構成)、およびデータから
なる。ここに、データ列長しは、データ列長部からデー
タ部までの構成バイト数である。これらのうち、データ
列長りおよびキーデータに、にの具体的な数値を入れた
図を第4図に示す。なお、各数値はへキサ(Hex)で
表わしである。たとえばデータ4のデータ列は、データ
列長はQC)+ (12バイト)、キーデータは9A
H,64H(2バイト)である。
て第3図に示す。図示するように、たとえば4つのデー
タ列が記憶されており、各データ列は、1バイトのデー
タ列長(L) 、2バイトのキーデータ(Kおよびkと
いった各1バイトのデータで構成)、およびデータから
なる。ここに、データ列長しは、データ列長部からデー
タ部までの構成バイト数である。これらのうち、データ
列長りおよびキーデータに、にの具体的な数値を入れた
図を第4図に示す。なお、各数値はへキサ(Hex)で
表わしである。たとえばデータ4のデータ列は、データ
列長はQC)+ (12バイト)、キーデータは9A
H,64H(2バイト)である。
第5図は検索回路8の構成を示すものである。
すなわち、11は全体的な制御を司る制御部、12は検
索エリアサイズを記憶する検索エリアサイズ記憶部、1
3は検索エリアの残量を計算する検索エリア残量計算部
、14はデータ列長用マスクデータを記憶するデータ列
長用マスクデータ記憶部、15はデータ列長加工部、1
6はデータ列長を記憶するデータ列長記憶部、17はデ
ータ列長をチエツクするデータ列長チエツク部、18は
最小データ列長を記憶する最小データ列長記憶部、1つ
は検索エリア先頭アドレスを記憶する検索エリア先頭ア
ドレス記憶部、20は第1サンプリング用相対アドレス
を記憶する第1サンプリング用相対アドレス記憶部、2
1は第2サンプリング用相対アドレスを記憶する第2サ
ンプリング用相対アドレス記憶部である。
索エリアサイズを記憶する検索エリアサイズ記憶部、1
3は検索エリアの残量を計算する検索エリア残量計算部
、14はデータ列長用マスクデータを記憶するデータ列
長用マスクデータ記憶部、15はデータ列長加工部、1
6はデータ列長を記憶するデータ列長記憶部、17はデ
ータ列長をチエツクするデータ列長チエツク部、18は
最小データ列長を記憶する最小データ列長記憶部、1つ
は検索エリア先頭アドレスを記憶する検索エリア先頭ア
ドレス記憶部、20は第1サンプリング用相対アドレス
を記憶する第1サンプリング用相対アドレス記憶部、2
1は第2サンプリング用相対アドレスを記憶する第2サ
ンプリング用相対アドレス記憶部である。
22は次のデータ列先頭アドレスを生成する次データ列
先頭アドレス生成部、23はデータ列先頭アドレスを生
成するデータ列先頭アドレス生成部、24はカレントア
ドレスを生成するカレントアドレス生成部、25はカレ
ントアドレス生成部24で生成されたカレントアドレス
をデータメモリ7へ供給するアドレス出力部、26はア
クセスイネーブル信号選択部である。アクセスイネーブ
ル信号選択部26は、制御部11で生成された生成アク
セス信号群A5と、アクセス信号生成部9から供給され
たアクセス信号群A3とを選択することによりアクセス
信号群A6を生成し、このアクセス信号群A6をデータ
メモリ7に供給する。
先頭アドレス生成部、23はデータ列先頭アドレスを生
成するデータ列先頭アドレス生成部、24はカレントア
ドレスを生成するカレントアドレス生成部、25はカレ
ントアドレス生成部24で生成されたカレントアドレス
をデータメモリ7へ供給するアドレス出力部、26はア
クセスイネーブル信号選択部である。アクセスイネーブ
ル信号選択部26は、制御部11で生成された生成アク
セス信号群A5と、アクセス信号生成部9から供給され
たアクセス信号群A3とを選択することによりアクセス
信号群A6を生成し、このアクセス信号群A6をデータ
メモリ7に供給する。
27は第1キーデータを記憶する第1キーデータ記憶部
、28は第1マスクデータを記憶する第1マスクデータ
記憶部、29は第1サンプルデータを記憶する第1サン
プルデータ記憶部、30は第1サンプルデータを加工す
る第1サンプルデータ加工部、31は第1キーデータ記
憶部27の内容と第1サンプルデータ加工部30の出力
とを比較する第1比較部、32は第2キーデータを記憶
する第2キーデータ記憶部、33は第2マスクデータを
記憶する第2マスクデータ記憶部、34は第2サンプル
データを記憶する第2サンプルデータ記憶部、35は第
2サンプルデータを加工する第2サンプルデータ加工部
、36は第2キーテータ記憶部32の内容と第2サンプ
ルデータ加工部35の出力とを比較する第2比較部であ
る。
、28は第1マスクデータを記憶する第1マスクデータ
記憶部、29は第1サンプルデータを記憶する第1サン
プルデータ記憶部、30は第1サンプルデータを加工す
る第1サンプルデータ加工部、31は第1キーデータ記
憶部27の内容と第1サンプルデータ加工部30の出力
とを比較する第1比較部、32は第2キーデータを記憶
する第2キーデータ記憶部、33は第2マスクデータを
記憶する第2マスクデータ記憶部、34は第2サンプル
データを記憶する第2サンプルデータ記憶部、35は第
2サンプルデータを加工する第2サンプルデータ加工部
、36は第2キーテータ記憶部32の内容と第2サンプ
ルデータ加工部35の出力とを比較する第2比較部であ
る。
37は第1比較部31および第2比較部36の各比較結
果に基づき検索判定を行なう検索判定部、38はデータ
列番号指定用情報を記憶するデータ列番号指定用情報記
憶部、39は指定データ列番号を検出する指定データ列
番号検出部、40は検索済のデータ列数を記憶する検索
済データ列数記憶部である。
果に基づき検索判定を行なう検索判定部、38はデータ
列番号指定用情報を記憶するデータ列番号指定用情報記
憶部、39は指定データ列番号を検出する指定データ列
番号検出部、40は検索済のデータ列数を記憶する検索
済データ列数記憶部である。
さて、制御部11は、CPUIの制御により供給される
アクセス信号群A4により各部にパラメータデータを設
定し、本検索回路起動を認識する。
アクセス信号群A4により各部にパラメータデータを設
定し、本検索回路起動を認識する。
パラメータデータは、CPUIから第1データバス21
を介して検索エリアサイズ記憶部12、データ列長用マ
スクデータ記憶部14、データ列長記憶部16、最小デ
ータ、列長記憶部18、検索エリア先頭アドレス記憶部
19、第1サンプリング用相対アドレス記憶部20、第
2サンプリング用相対アドレス記憶部21、第1キーデ
ータ記憶部27、第1マスクデータ記憶部28、第2キ
ーデータ記憶部32、第2マスクデータ記憶部33、デ
ータ列番号指定用情報記憶部38にそれぞれセットされ
る。
を介して検索エリアサイズ記憶部12、データ列長用マ
スクデータ記憶部14、データ列長記憶部16、最小デ
ータ、列長記憶部18、検索エリア先頭アドレス記憶部
19、第1サンプリング用相対アドレス記憶部20、第
2サンプリング用相対アドレス記憶部21、第1キーデ
ータ記憶部27、第1マスクデータ記憶部28、第2キ
ーデータ記憶部32、第2マスクデータ記憶部33、デ
ータ列番号指定用情報記憶部38にそれぞれセットされ
る。
また、検索モードデータ記憶部(制御部11内にあり、
図示を省略)にもモードデータがセットされる。制御部
11は、このモードデータにより種々の検索専用タイミ
ングを生成するもので、それを第6図に示している。
図示を省略)にもモードデータがセットされる。制御部
11は、このモードデータにより種々の検索専用タイミ
ングを生成するもので、それを第6図に示している。
検索前処理は、データ列先頭アドレス生成部23によっ
て検索すべきデータ列の先頭アドレスを生成するプロセ
スである。なお、検索開始モードとして、常にエリアの
先頭から検索する第1検索モードと、前回に検索したデ
ータ列の次のデータ列から検索する第2検索モードとが
ある。これは、CPUIからアクセス信号群A4を介し
て制御部11に供給された起動信号のうち、第1検索モ
ード用のものであれば、検索エリア先頭アドレス記憶部
19からデータ列先頭アドレス生成部23に供給される
検索エリア先頭アドレスをバスB、へ出力し、また第2
検索モード用のものであれば、次データ列先頭アドレス
生成部22からデータ列先頭アドレス生成部23に供給
される次のデータ列の先頭アドレスをバスB1へ出力す
る・なお、バスBlに出力されたアドレスデータは、次
の検索周期の検索前処理が行なわれるまで保持される。
て検索すべきデータ列の先頭アドレスを生成するプロセ
スである。なお、検索開始モードとして、常にエリアの
先頭から検索する第1検索モードと、前回に検索したデ
ータ列の次のデータ列から検索する第2検索モードとが
ある。これは、CPUIからアクセス信号群A4を介し
て制御部11に供給された起動信号のうち、第1検索モ
ード用のものであれば、検索エリア先頭アドレス記憶部
19からデータ列先頭アドレス生成部23に供給される
検索エリア先頭アドレスをバスB、へ出力し、また第2
検索モード用のものであれば、次データ列先頭アドレス
生成部22からデータ列先頭アドレス生成部23に供給
される次のデータ列の先頭アドレスをバスB1へ出力す
る・なお、バスBlに出力されたアドレスデータは、次
の検索周期の検索前処理が行なわれるまで保持される。
第1データリードプロセスは、制御部11内の検索モー
ドデータ記憶部に設定されたモードデータによりキーデ
ータを1つ以上設定した際、第1キーデータの読出しを
行ない、これを第1サンプルデータ記憶部29に記憶す
るプロセスである。
ドデータ記憶部に設定されたモードデータによりキーデ
ータを1つ以上設定した際、第1キーデータの読出しを
行ない、これを第1サンプルデータ記憶部29に記憶す
るプロセスである。
この場合の読出しアドレスは、カレントアドレス生成部
24において、バスBlから供給されるデータ列先頭ア
ドレスと第1サンプリング用相対アドレス記憶部20か
ら供給される第1サンプリング用相対アドレスとを加算
した結果で、カレントアドレス生成部24からバスB2
およびアドレス出力部25に出力され、このアドレス出
力部25から第2アドレスバス32を介してデータメモ
リ7へ供給される。
24において、バスBlから供給されるデータ列先頭ア
ドレスと第1サンプリング用相対アドレス記憶部20か
ら供給される第1サンプリング用相対アドレスとを加算
した結果で、カレントアドレス生成部24からバスB2
およびアドレス出力部25に出力され、このアドレス出
力部25から第2アドレスバス32を介してデータメモ
リ7へ供給される。
第2データリードプロセスは、検索モードデータ記憶部
に設定されたモードデータによりキーデータを2つ設定
した際、第2キーデータの読出しを行ない、これを第2
サンプルデータ記憶部34に記憶するプロセスである。
に設定されたモードデータによりキーデータを2つ設定
した際、第2キーデータの読出しを行ない、これを第2
サンプルデータ記憶部34に記憶するプロセスである。
この場合の読出しアドレスは、カレントアドレス生成部
24において、バスBlから供給されるデータ列先頭ア
ドレスと第2サンプリング用相対アドレス記憶部21か
ら供給される第2サンプリング用相対アドレスとを加算
した結果で、データメモリ7へ供給する方法は第1デー
タリードプロセスの場合と同様である。
24において、バスBlから供給されるデータ列先頭ア
ドレスと第2サンプリング用相対アドレス記憶部21か
ら供給される第2サンプリング用相対アドレスとを加算
した結果で、データメモリ7へ供給する方法は第1デー
タリードプロセスの場合と同様である。
なお、検索モードデータ記憶部に設定されたモードデー
タによりキーデータによる検索を行なわないと認識する
と、前記第1および第2データリードプロセスは行なわ
ない。
タによりキーデータによる検索を行なわないと認識する
と、前記第1および第2データリードプロセスは行なわ
ない。
第3データリードプロセスは、検索モードデータ記憶部
に設定されたモードデータにより、データ列の先頭にデ
ータ列長部が1バイト以上存在するフォーマットのデー
タ列を検索すると設定した際、データ列の先頭1バイト
のデータを読出し、これをデータ列長記憶部16に記憶
するプロセスである。この場合の読出しアドレスは、カ
レントアドレス生成部24がバスB1から供給されるデ
ータ列先頭アドレスをバスB2、アドレス出力部25お
よび第2アドレスバス32を介してデータメモリ7へ供
給する。
に設定されたモードデータにより、データ列の先頭にデ
ータ列長部が1バイト以上存在するフォーマットのデー
タ列を検索すると設定した際、データ列の先頭1バイト
のデータを読出し、これをデータ列長記憶部16に記憶
するプロセスである。この場合の読出しアドレスは、カ
レントアドレス生成部24がバスB1から供給されるデ
ータ列先頭アドレスをバスB2、アドレス出力部25お
よび第2アドレスバス32を介してデータメモリ7へ供
給する。
第4データリードプロセスは、検索モードデータ記憶部
に設定されたモードデータにより、データ列の先頭にデ
ータ列長部が2バイト存在するフォーマットのデータ列
を検索すると設定した際、データ列の先頭データの次の
データを読出し、これをデータ列長記憶部16に記憶す
るプロセスである。この場合の読出しアドレスは、カレ
ントアドレス生成部24において、バスB1から供給さ
れるデータ列先頭アドレスを1つだけインクリメントし
た結果で、カレントアドレス生成部24からバスB2、
アドレス出力部25および第2アドレスバス32を介し
てデータメモリ7へ供給される。
に設定されたモードデータにより、データ列の先頭にデ
ータ列長部が2バイト存在するフォーマットのデータ列
を検索すると設定した際、データ列の先頭データの次の
データを読出し、これをデータ列長記憶部16に記憶す
るプロセスである。この場合の読出しアドレスは、カレ
ントアドレス生成部24において、バスB1から供給さ
れるデータ列先頭アドレスを1つだけインクリメントし
た結果で、カレントアドレス生成部24からバスB2、
アドレス出力部25および第2アドレスバス32を介し
てデータメモリ7へ供給される。
なお、検索モードデータ記憶部に設定されたモードデー
タにより、固定長で処理されるデータ列の検索で、特に
データ列の先頭にデータ列長部が存在しないフォーマッ
トのデータ列の検索であると設定すると、前記第3およ
び第4データリードプロセスは行なわない。
タにより、固定長で処理されるデータ列の検索で、特に
データ列の先頭にデータ列長部が存在しないフォーマッ
トのデータ列の検索であると設定すると、前記第3およ
び第4データリードプロセスは行なわない。
また、データ列長記憶部16は、たとえば16ビツトの
アドレス値を記憶する。先の第3データリードプロセス
において読出されたデータは、16ビツトのうち上位8
ビツトにセットされ、第4データリードプロセスにおい
て読出されたデータは、下位8ビツトにセットされる。
アドレス値を記憶する。先の第3データリードプロセス
において読出されたデータは、16ビツトのうち上位8
ビツトにセットされ、第4データリードプロセスにおい
て読出されたデータは、下位8ビツトにセットされる。
なお、第6図(b)(e)(h)の形式を取る検索時に
は、第3データリードプロセスにおいて読出されたデー
タは、16ビツトのうち下位8ビツトにセットされ、こ
のとき上位8ビツトは常にroO,、Jというデータ値
が記憶される。
は、第3データリードプロセスにおいて読出されたデー
タは、16ビツトのうち下位8ビツトにセットされ、こ
のとき上位8ビツトは常にroO,、Jというデータ値
が記憶される。
検索後処理は、制御部11が本検索回路の動作を停止す
るか否かの判断と、次のデータ列の先頭アドレスを生成
するプロセスである。次のデータ列の先頭アドレスは以
下のようにして生成する。
るか否かの判断と、次のデータ列の先頭アドレスを生成
するプロセスである。次のデータ列の先頭アドレスは以
下のようにして生成する。
まず、データ列長加工部15において、先の第3および
第4データリードプロセスによってデータ列長記憶部1
6に記憶されたデータ列長情報と、先にCPUIからア
クセス信号群A4に基づいてデータ列長用マスクデータ
記憶部14にセットされたデータ列長用マスクデータを
用いてデータ列長を算出し、その算出結果をバスB3に
出力する。
第4データリードプロセスによってデータ列長記憶部1
6に記憶されたデータ列長情報と、先にCPUIからア
クセス信号群A4に基づいてデータ列長用マスクデータ
記憶部14にセットされたデータ列長用マスクデータを
用いてデータ列長を算出し、その算出結果をバスB3に
出力する。
この機能は、たとえば2バイトのデータ列長情報を含ん
だデータ列で、かつ2バイトデータのうち真のデータ列
長を示す部分が下位13ビツトで、上位3ビツトはデー
タ列属性フラグが割当てられているといったフォーマッ
トを持つデータ列の検索時、上位3ビツトを無視して2
バイトデータとして以降の回路が使用できるようにする
ためのものである。
だデータ列で、かつ2バイトデータのうち真のデータ列
長を示す部分が下位13ビツトで、上位3ビツトはデー
タ列属性フラグが割当てられているといったフォーマッ
トを持つデータ列の検索時、上位3ビツトを無視して2
バイトデータとして以降の回路が使用できるようにする
ためのものである。
このようにして算出されたデータ列長は、バスB3を介
して次データ列先頭アドレス生成部22に供給される。
して次データ列先頭アドレス生成部22に供給される。
次データ列先頭アドレス生成部22は、バスB3を介し
て供給されるデータ列長とバスB1またはB2から供給
されるデータ列先頭アドレスとを加算し、その加算結果
を次のデータ列先頭アドレスとしてデータ列先頭アドレ
ス生成部23に出力する。なお、このときバスB2には
、カレントアドレス生成部24によりデータ列先頭アド
レスにデータ列長を示すデータのバイト数分加算した値
が出力されている。次データ列先頭アドレス生成部22
は、先の検索モードデータ記憶部に設定されたモードデ
ータにより、データ列長の値がデータ列長を示すデータ
のバイト数を含むようなフォーマットのデータ列の検索
であった場合には、バスB1に供給されるデータを使用
し、またデータ列長の値がデータ列長を示すデータのバ
イト数を含まないフォーマットのデータ列の検索であっ
た場合には、バスB2に供給されるデータを使用する。
て供給されるデータ列長とバスB1またはB2から供給
されるデータ列先頭アドレスとを加算し、その加算結果
を次のデータ列先頭アドレスとしてデータ列先頭アドレ
ス生成部23に出力する。なお、このときバスB2には
、カレントアドレス生成部24によりデータ列先頭アド
レスにデータ列長を示すデータのバイト数分加算した値
が出力されている。次データ列先頭アドレス生成部22
は、先の検索モードデータ記憶部に設定されたモードデ
ータにより、データ列長の値がデータ列長を示すデータ
のバイト数を含むようなフォーマットのデータ列の検索
であった場合には、バスB1に供給されるデータを使用
し、またデータ列長の値がデータ列長を示すデータのバ
イト数を含まないフォーマットのデータ列の検索であっ
た場合には、バスB2に供給されるデータを使用する。
、一方、検索エリア残量計算部13においては、検索エ
リアサイズ記憶部12に設定された検索エリアサイズを
受入れるとともに、データ列長加工部15の出力データ
をバスB3を介して受入れることにより、次データ列先
頭アドレス以降のエリア残量を随時算出する。ただし、
先の検索モードデータ記憶部に設定されたモードデータ
により、データ列長の値がデータ列長を示すデータのバ
イト数を含むようなフォーマットのデータ列の検索であ
った場合には、バスB3に供給されているデータをその
まま使用し、またデータ列長の値がデータ列長を示すデ
ータのバイト数を含まないフォーマットのデータ列の検
索であった場合には、バスB3に供給されているデータ
にデータ列長を示すデータのバイト数分加えて、これを
使用する。
リアサイズ記憶部12に設定された検索エリアサイズを
受入れるとともに、データ列長加工部15の出力データ
をバスB3を介して受入れることにより、次データ列先
頭アドレス以降のエリア残量を随時算出する。ただし、
先の検索モードデータ記憶部に設定されたモードデータ
により、データ列長の値がデータ列長を示すデータのバ
イト数を含むようなフォーマットのデータ列の検索であ
った場合には、バスB3に供給されているデータをその
まま使用し、またデータ列長の値がデータ列長を示すデ
ータのバイト数を含まないフォーマットのデータ列の検
索であった場合には、バスB3に供給されているデータ
にデータ列長を示すデータのバイト数分加えて、これを
使用する。
もし、このときエリア残量の値が零もしくは負となれば
、検索エリア残量計算部13は制御部11に対して停止
要求を出力する。
、検索エリア残量計算部13は制御部11に対して停止
要求を出力する。
検索済データ列数記憶部40は、本検索回路の起動時に
は初期値(0000Hex)となっており、本プロセス
により1つだけインクリメントされる。
は初期値(0000Hex)となっており、本プロセス
により1つだけインクリメントされる。
また、データ列長チエツク部17においては、最小デー
タ列長記憶部18に設定された値とバスB3に出力され
た値とを比較し、前者よりも後者の方が小なる値となっ
ていれば、制御部11に対して停止要求を出力する。こ
れらの停止要求のうち、どれによる停止要求なのかがC
PUIから容品にわかるように、停止ステータスが制御
部11内で記憶される。
タ列長記憶部18に設定された値とバスB3に出力され
た値とを比較し、前者よりも後者の方が小なる値となっ
ていれば、制御部11に対して停止要求を出力する。こ
れらの停止要求のうち、どれによる停止要求なのかがC
PUIから容品にわかるように、停止ステータスが制御
部11内で記憶される。
さて、第1データリードプロセスにおいて、第1サンプ
ルデータ記憶部29に記憶された第1サンプルデータは
第1サンプルデータ加工部30に供給される。第1サン
プルデータ加工部30は、第1マスクデータ記憶部28
に設定された第1マスクデータを受入れ、先の第1サン
プルデータと論理積をとって、その結果を第1比較部3
1に供給する。第1比較部31は、第1サンプルデータ
加工部30の出力データと第1キーデータ記憶部27に
設定された第1キーデータとの比較を行ない、その比較
結果を信号S2として検索判定部37に供給する。
ルデータ記憶部29に記憶された第1サンプルデータは
第1サンプルデータ加工部30に供給される。第1サン
プルデータ加工部30は、第1マスクデータ記憶部28
に設定された第1マスクデータを受入れ、先の第1サン
プルデータと論理積をとって、その結果を第1比較部3
1に供給する。第1比較部31は、第1サンプルデータ
加工部30の出力データと第1キーデータ記憶部27に
設定された第1キーデータとの比較を行ない、その比較
結果を信号S2として検索判定部37に供給する。
また、第2データリードプロセスにおいて、第2サンプ
ルデ一タ記ta部34に記憶された第2サンプルデータ
は第2サンプルデータ加工部35に供給される。第2サ
ンプルデータ加工部35は、第2マスクデータ記憶部3
3に設定された第2マスクデータを受入れ、先の第2サ
ンプルデータと論理積をとって、その結果を第2比較部
36に供給する。第2比較部36は、第2サンプルデー
タ加工部35の出力データと第2キーデータ記憶部32
に設定された第2キーデータとの比較を行ない、その比
較結果を信号S3として検索判定部37に供給する。
ルデ一タ記ta部34に記憶された第2サンプルデータ
は第2サンプルデータ加工部35に供給される。第2サ
ンプルデータ加工部35は、第2マスクデータ記憶部3
3に設定された第2マスクデータを受入れ、先の第2サ
ンプルデータと論理積をとって、その結果を第2比較部
36に供給する。第2比較部36は、第2サンプルデー
タ加工部35の出力データと第2キーデータ記憶部32
に設定された第2キーデータとの比較を行ない、その比
較結果を信号S3として検索判定部37に供給する。
検索判定部37は、検索モードデータ記憶部に設定され
たモードデータにより、信号S2と信号S3とによる比
較結果の論理をとり、その結果を信号S4として制御部
11に供給する。なお、比較結果の論理は、論理和、す
なわち2つの比較結果のうちどちらか一方が一致してい
れば検索対象のデータ列であるとするものと、論理積、
すなわち2つの比較結果とも一致していなければ検索対
象のデータ列ではないとするものがある。
たモードデータにより、信号S2と信号S3とによる比
較結果の論理をとり、その結果を信号S4として制御部
11に供給する。なお、比較結果の論理は、論理和、す
なわち2つの比較結果のうちどちらか一方が一致してい
れば検索対象のデータ列であるとするものと、論理積、
すなわち2つの比較結果とも一致していなければ検索対
象のデータ列ではないとするものがある。
信号S71によって供給された結果、制御部11が検索
対象のデータ列であると認識すると、制御部11はデー
タ列番号指定用情報記憶部38に設定されているデータ
列番号を1つ減算する。このとき、指定データ列番号検
出部39は、データ列番号指定用情報記憶部38の値を
チエツクし、もしその値が零となれば制御部11に対し
て停止要求を出力する。
対象のデータ列であると認識すると、制御部11はデー
タ列番号指定用情報記憶部38に設定されているデータ
列番号を1つ減算する。このとき、指定データ列番号検
出部39は、データ列番号指定用情報記憶部38の値を
チエツクし、もしその値が零となれば制御部11に対し
て停止要求を出力する。
また、第6図(g)(h)(i)で示すように、キーデ
ータによる検索を行なわない場合は、信号S2および信
号S3による比較結果は無視され、一義的に検索対象デ
ータ列であることを信号S4を介して出力する。また、
第6図(d)(e)(f)のように、第1キーデータの
み使用の検索時には、信号S4の結果は信号S2の結果
と同一となる。
ータによる検索を行なわない場合は、信号S2および信
号S3による比較結果は無視され、一義的に検索対象デ
ータ列であることを信号S4を介して出力する。また、
第6図(d)(e)(f)のように、第1キーデータの
み使用の検索時には、信号S4の結果は信号S2の結果
と同一となる。
以上のように、検索エリア残量計算部13、データ列長
チエツク部17、および指定データ列呑号検出部39の
うち、いずれかが停止要求を出力すると、制御部11は
動作を停止し、信号S1によってゲート6を導通状態に
する。そして、CPUIは、第1データバス2、を介し
て制御部11内の停止ステータス、データ列先頭アドレ
ス生成部23内の検索データ列先頭アドレス、検索エリ
ア残量計算部13内のエリア残量、指定データ列番号検
出部39内の指定データ列番号残量、および検索済デー
タ列数記憶部40内の検索済データ列数をそれぞれ読出
すことにより、検索結果を得ることができる。
チエツク部17、および指定データ列呑号検出部39の
うち、いずれかが停止要求を出力すると、制御部11は
動作を停止し、信号S1によってゲート6を導通状態に
する。そして、CPUIは、第1データバス2、を介し
て制御部11内の停止ステータス、データ列先頭アドレ
ス生成部23内の検索データ列先頭アドレス、検索エリ
ア残量計算部13内のエリア残量、指定データ列番号検
出部39内の指定データ列番号残量、および検索済デー
タ列数記憶部40内の検索済データ列数をそれぞれ読出
すことにより、検索結果を得ることができる。
第7図は制御部11内の検索モードデータ記憶部に設定
されるモードデータのフォーマットを示すものである。
されるモードデータのフォーマットを示すものである。
このモードデータは例えば1バイトデータである。第0
および第1ビツトを用いてデータ列に付加されているデ
ータ列長情報のバイト数を認識する。この第0および第
1ビツトが「00」または「11」であれば、固定長、
すなわち第3および第4データリードプロセスを行なわ
ずに、あらかじめデータ列長記憶部16に設定したデー
タ列長に基づいて、データ列先頭アドレスを順次更新し
ながら検索してゆく。「01」のときは、データ列長が
1バイトのフォーマットを持つデータ列を検索する。「
10」のときは、データ列長が2バイトのフォーマット
を持つデータ列を検索する。なお、「11」については
、固定長データをディクリメント運用することにより、
アドレスの大きい箇所から小さい箇所へ向っての検索を
行なう。
および第1ビツトを用いてデータ列に付加されているデ
ータ列長情報のバイト数を認識する。この第0および第
1ビツトが「00」または「11」であれば、固定長、
すなわち第3および第4データリードプロセスを行なわ
ずに、あらかじめデータ列長記憶部16に設定したデー
タ列長に基づいて、データ列先頭アドレスを順次更新し
ながら検索してゆく。「01」のときは、データ列長が
1バイトのフォーマットを持つデータ列を検索する。「
10」のときは、データ列長が2バイトのフォーマット
を持つデータ列を検索する。なお、「11」については
、固定長データをディクリメント運用することにより、
アドレスの大きい箇所から小さい箇所へ向っての検索を
行なう。
第2ビツトはデータ列長個別情報であり、検索するデー
タ列に付加されているデータ列長の値がそれ自身を含む
ものてあれば「OJ1含まないものであれば「1」にそ
れぞれ対応する。なお、第3ビツトは未使用であり、「
0」に固定されている。
タ列に付加されているデータ列長の値がそれ自身を含む
ものてあれば「OJ1含まないものであれば「1」にそ
れぞれ対応する。なお、第3ビツトは未使用であり、「
0」に固定されている。
第4および第5ビツトによりキーデータによる検索指定
を行なう。この第4および第5ビツトが「00」であれ
ば、キーデータ未使用となり、第1および第2データリ
ードプロセスは行なわれない。「01」であれば、キー
データを1つだけ使用することを示し、第1データリー
ドプロセスが行なわれる。「10」もしくは「11」で
あれば、キーデータを2つ使用することを示し、第1お
よび第2データリードプロセスが行なわれる。
を行なう。この第4および第5ビツトが「00」であれ
ば、キーデータ未使用となり、第1および第2データリ
ードプロセスは行なわれない。「01」であれば、キー
データを1つだけ使用することを示し、第1データリー
ドプロセスが行なわれる。「10」もしくは「11」で
あれば、キーデータを2つ使用することを示し、第1お
よび第2データリードプロセスが行なわれる。
第6および第7ビツトは、第4および第5ビツトで「1
0」もしくは「11」を指定した場合、検索判定部37
における信号S2および信号S3の論理を指定するもの
である。この第6および第7ビツトが「00」であると
、論理積条件となり、第1キーデータと第2キーデータ
とが共に満足したとき検索対象データ列とする。「01
」であると、排他的論理和条件となる。「10」もしく
は「11」であると、論理和条件となる。
0」もしくは「11」を指定した場合、検索判定部37
における信号S2および信号S3の論理を指定するもの
である。この第6および第7ビツトが「00」であると
、論理積条件となり、第1キーデータと第2キーデータ
とが共に満足したとき検索対象データ列とする。「01
」であると、排他的論理和条件となる。「10」もしく
は「11」であると、論理和条件となる。
次に、第8図ないし第10図を用いて検索手順を説明す
る。第8図はアドレスr2000(Hex)Jからr2
1Do (Hex)J に図示するようなデータ列が記
憶されていることを示し、第9図はアドレスr1000
(Hex)JからrllDo (Hex)Jに図示す
るようなデータ列が記憶されていることを示している。
る。第8図はアドレスr2000(Hex)Jからr2
1Do (Hex)J に図示するようなデータ列が記
憶されていることを示し、第9図はアドレスr1000
(Hex)JからrllDo (Hex)Jに図示す
るようなデータ列が記憶されていることを示している。
第10図はモードデータおよび各設定データの組合せを
11通り例示し、それに対応する検索結果を示しである
。結果1は、第1検索モードで起動をかけた後、本検索
回路が停止したときの各読出しパラメータの値を示す。
11通り例示し、それに対応する検索結果を示しである
。結果1は、第1検索モードで起動をかけた後、本検索
回路が停止したときの各読出しパラメータの値を示す。
結果2〜4は、その後第2検索モードで起動し、停止す
る動作を繰返し、その停止時の各読出しパラメータの値
を示したものである。なお、マスクデータと被マスクデ
ータとはビット単位の論理積を取るようになっている。
る動作を繰返し、その停止時の各読出しパラメータの値
を示したものである。なお、マスクデータと被マスクデ
ータとはビット単位の論理積を取るようになっている。
したがって、マスクデータの全てのビットが「1」のと
きは、被マスクデータがそのまま使用されることになる
。
きは、被マスクデータがそのまま使用されることになる
。
ケース1は、データ列長rlO(Hex)Jの固定長ア
ップ方向検索で、キーデータは「10(Hex)Jおよ
びr30 (Hex)Jである。
ップ方向検索で、キーデータは「10(Hex)Jおよ
びr30 (Hex)Jである。
キーデータとしては、共に第1バイト目を参照するよう
になっている。検索エリア先頭アドレスはr2000
(Hex)J、エリアサイズはrolEo (Hex)
Jである。また、条件が一致したデータ列のうち3つ目
で停止するようになっている。
になっている。検索エリア先頭アドレスはr2000
(Hex)J、エリアサイズはrolEo (Hex)
Jである。また、条件が一致したデータ列のうち3つ目
で停止するようになっている。
さて、第1検索モードによる起動がかかると、第5図の
バスB1にはr2000 (Hex)Jが出力される。
バスB1にはr2000 (Hex)Jが出力される。
次に、第3データリードプロセスにより、r2001
(Hex)Jの値・すなわちrlo (Hex)Jが第
1サンプルデータ記憶部2つに記憶される。次に、第4
データリードプロセスにより、同様にrlo (Hex
)Jが第2サンプルデータ記憶部34に記憶される。こ
こで、第1マスクデータおよび第2マスクデータは、共
にrFF (Hex)Jとなっているので、第1サンプ
ルデータ加工部30および第2サンプルデータ加工部3
5の各出力にはrlO(Hex)、Jの値が出力される
。第1キーデータはrlO(Hex)」、第2キーデー
タはr30 (Hex)Jなので、信号S2は一致であ
ることを示し、信号S3は不一致であることを示す。こ
こで、モードは論理和条件を示しているため、データ列
番号指定用情報はroooB (Hex)Jからro
002(Hex)Jへ減算される。
(Hex)Jの値・すなわちrlo (Hex)Jが第
1サンプルデータ記憶部2つに記憶される。次に、第4
データリードプロセスにより、同様にrlo (Hex
)Jが第2サンプルデータ記憶部34に記憶される。こ
こで、第1マスクデータおよび第2マスクデータは、共
にrFF (Hex)Jとなっているので、第1サンプ
ルデータ加工部30および第2サンプルデータ加工部3
5の各出力にはrlO(Hex)、Jの値が出力される
。第1キーデータはrlO(Hex)」、第2キーデー
タはr30 (Hex)Jなので、信号S2は一致であ
ることを示し、信号S3は不一致であることを示す。こ
こで、モードは論理和条件を示しているため、データ列
番号指定用情報はroooB (Hex)Jからro
002(Hex)Jへ減算される。
このとき、検索エリア残量は、rolEO(Hex)J
から固定製分、すなわちroolo(Hex)Jを減算
した値r01Do (Hex)Jとなる。そして、次デ
ータ列先頭アドレス生成部22の出力には次の値r20
10 (Hex)Jが出力される。
から固定製分、すなわちroolo(Hex)Jを減算
した値r01Do (Hex)Jとなる。そして、次デ
ータ列先頭アドレス生成部22の出力には次の値r20
10 (Hex)Jが出力される。
この場合、停止条件ではないので、再び検索サイクルを
開始する。次の検索サイクルでは、第1サンプルデータ
および第2サンプルデータは共にr20 (Hex)J
となるため、データ列番号指定用情報はそのまま保持さ
れる。検索エリア残量は、減算されてrolcO(He
x)Jとなり、次データ列先頭アドレス生成部22の出
力にはr2020 (Hex)Jが出力される。この場
合も、停止条件は満足せず、再び検索サイクルを開始す
る。
開始する。次の検索サイクルでは、第1サンプルデータ
および第2サンプルデータは共にr20 (Hex)J
となるため、データ列番号指定用情報はそのまま保持さ
れる。検索エリア残量は、減算されてrolcO(He
x)Jとなり、次データ列先頭アドレス生成部22の出
力にはr2020 (Hex)Jが出力される。この場
合も、停止条件は満足せず、再び検索サイクルを開始す
る。
このようにして、データ列番号指定用情報がroooo
(Hex)Jとなった状態がケース1の結果1である
。このとき、検索されたデータ列の先頭アドレスはr2
030 (Hex)J、またエリア残量はroIAo
(Hex)J 、検索済データ列数はr0004 (H
ex)J 、すなわち4つのデータ列であることをそれ
ぞれ示す。
(Hex)Jとなった状態がケース1の結果1である
。このとき、検索されたデータ列の先頭アドレスはr2
030 (Hex)J、またエリア残量はroIAo
(Hex)J 、検索済データ列数はr0004 (H
ex)J 、すなわち4つのデータ列であることをそれ
ぞれ示す。
順に結果1〜4を見ていくと、データ列の第2バイト目
がrlO(Hex)Jもしくは[30(Hex)Jとな
っているデータ列のうち、3×n (n−整数)番目で
停止している。
がrlO(Hex)Jもしくは[30(Hex)Jとな
っているデータ列のうち、3×n (n−整数)番目で
停止している。
ケース2は、データ列の第2バイト目が「10(Hex
)Jで、かつ第3バイト目が「21(Hex)Jとなっ
ているデータ列を順次検索した例である。
)Jで、かつ第3バイト目が「21(Hex)Jとなっ
ているデータ列を順次検索した例である。
ケース3は、データ列の第2バイト目が「10(Hex
)Jであり、かつ第3バイト目の第4ビツト目が「1」
となっているデータ列のうち、5Xn(n−整数)番目
のものを検索した例である。
)Jであり、かつ第3バイト目の第4ビツト目が「1」
となっているデータ列のうち、5Xn(n−整数)番目
のものを検索した例である。
ここで、結果2での停止は、エリア残量が零となったこ
とに起因しているもので、指定データ列番号残量はro
ool (Hex)Jとなっている。
とに起因しているもので、指定データ列番号残量はro
ool (Hex)Jとなっている。
このため、検索有効データ列は結果1により得たものの
みとなる。
みとなる。
ケース4は、データ列の第4バイト目が「10(Hex
)Jとなっているデータ列を順次検索した例である。結
果3において停止したのは、エリア残量が零となったた
めで、指定データ列番号残量は零となっていない。した
がって、検索有効データ列は結果1および結果2により
得たものとなる。
)Jとなっているデータ列を順次検索した例である。結
果3において停止したのは、エリア残量が零となったた
めで、指定データ列番号残量は零となっていない。した
がって、検索有効データ列は結果1および結果2により
得たものとなる。
ケース5は、キーデータ無しの検索で、4×n(n−整
数)番目のものを検索した例である。アドレスr210
0 (Hex)Jからro 0 B 0(Hex)J分
のエリアを検索している。また、データ列長は固定で、
r20 (Hex)Jである。
数)番目のものを検索した例である。アドレスr210
0 (Hex)Jからro 0 B 0(Hex)J分
のエリアを検索している。また、データ列長は固定で、
r20 (Hex)Jである。
この例では、結果2の停止条件はエリア残量が負になっ
たことである。したがって、検索有効データ列は結果1
により得たものとなる。
たことである。したがって、検索有効データ列は結果1
により得たものとなる。
ケース6は、2バイトのデータ列長が付加されているデ
ータ列フォーマットモードの検索例である。キーデータ
無しの検索で、3xn(n−!i!数)番目のものを検
索する。なお、このフォーマット例では、2バイトのデ
ータ列長、すなわち16ビツトのうち下位15ビツトを
有効データ列長とするために、データ列長用マスクデー
タがr7FFF (Hex)Jとなっている。この例で
は、結果4の停止条件はエリア残量が零になったことで
ある。このとき、指定データ列番号残量は零ではないの
で、検索有効データ列は結果1〜3により得たものであ
る。
ータ列フォーマットモードの検索例である。キーデータ
無しの検索で、3xn(n−!i!数)番目のものを検
索する。なお、このフォーマット例では、2バイトのデ
ータ列長、すなわち16ビツトのうち下位15ビツトを
有効データ列長とするために、データ列長用マスクデー
タがr7FFF (Hex)Jとなっている。この例で
は、結果4の停止条件はエリア残量が零になったことで
ある。このとき、指定データ列番号残量は零ではないの
で、検索有効データ列は結果1〜3により得たものであ
る。
ケース7は、ケース6と同様のフォーマットモードの検
索であり、データ列長2バイトのうち上位1ビツトが「
1」となっているデータ列の検索例である。ただし、デ
ータ列長の有効バイトは2バイトのうち下位1バイトと
するため、データ列長用マスクデータはroOFF (
Hex)Jとなっている。また、この例では、該当デー
タ列の数を調べるため、データ列番号指定用情報をrF
FFF (Hex’)Jとしである。このとき、結果1
では、エリア残量が零となったことにより停止したこと
を示している。検索済データ列数はroo 14 (H
e x)J 、また指定データ列番号残量がrFFFB
(Hex)Jとなッテイルノテ、該当データ列数はr
FFFF−FFFBJの計算により4つであることがわ
かる。
索であり、データ列長2バイトのうち上位1ビツトが「
1」となっているデータ列の検索例である。ただし、デ
ータ列長の有効バイトは2バイトのうち下位1バイトと
するため、データ列長用マスクデータはroOFF (
Hex)Jとなっている。また、この例では、該当デー
タ列の数を調べるため、データ列番号指定用情報をrF
FFF (Hex’)Jとしである。このとき、結果1
では、エリア残量が零となったことにより停止したこと
を示している。検索済データ列数はroo 14 (H
e x)J 、また指定データ列番号残量がrFFFB
(Hex)Jとなッテイルノテ、該当データ列数はr
FFFF−FFFBJの計算により4つであることがわ
かる。
ケース8は、1バイトのデータ列長(データ列長の値は
データ列長自身も含む)が付加されているデータ列フォ
ーマットモードの検索であり、キーデータ無しモードで
ある。そして、アドレスr2191 (Hex)Jから
r004F (Hex)」分のエリアを順次検索する例
である。この例では、結果3の停止条件はエリア残量が
負となったことである。したがって、検索有効データ列
は結果1および2により得たものになる。
データ列長自身も含む)が付加されているデータ列フォ
ーマットモードの検索であり、キーデータ無しモードで
ある。そして、アドレスr2191 (Hex)Jから
r004F (Hex)」分のエリアを順次検索する例
である。この例では、結果3の停止条件はエリア残量が
負となったことである。したがって、検索有効データ列
は結果1および2により得たものになる。
ケース9は、ケース4における条件のもとにダウン検索
を行なった例である。検索先頭アドレスはr21DO(
He x)Jで、rolEO(Hex)J分のエリアを
検索する。この例では、結果3の停止条件はエリア残量
が零となったことである。そして、このとき指定データ
列番号残量は零ではないので、結果1および2により得
たものが該当データ列となる(これはケース4の結果と
同一)。
を行なった例である。検索先頭アドレスはr21DO(
He x)Jで、rolEO(Hex)J分のエリアを
検索する。この例では、結果3の停止条件はエリア残量
が零となったことである。そして、このとき指定データ
列番号残量は零ではないので、結果1および2により得
たものが該当データ列となる(これはケース4の結果と
同一)。
ケース10は、2バイトのデータ列長(データ列長の値
はデータ列長自身を含まない)が付加されているデータ
列フォーマットモードの検索であり、キーデータ無しモ
ードである。ただし、この例では、最小データ列長をr
0018 (Hex)Jとしである。したがって、結果
2において停止したのは、アドレスr1030 (He
x)Jから始まるデータ列のデータ長の値がr0018
(Hex)Jに満たなかったことになる。なお、CPU
Iは、停止ステータスによりデータ列長不足が認識でき
る。
はデータ列長自身を含まない)が付加されているデータ
列フォーマットモードの検索であり、キーデータ無しモ
ードである。ただし、この例では、最小データ列長をr
0018 (Hex)Jとしである。したがって、結果
2において停止したのは、アドレスr1030 (He
x)Jから始まるデータ列のデータ長の値がr0018
(Hex)Jに満たなかったことになる。なお、CPU
Iは、停止ステータスによりデータ列長不足が認識でき
る。
ケース11は、1バイトのデータ列長(データ列長の値
はデータ列長自身を含まない)が付加されているデータ
列フォーマットモードの検索である。
はデータ列長自身を含まない)が付加されているデータ
列フォーマットモードの検索である。
このように、アクセスバス(データバス、アドレスバス
)を2系統設け、1系統のアクセスバスは検索対象メモ
リ(データメモリ)と検索回路とを接続しており、もう
1系統のアクセスバスはCPUおよび検索対象外のメモ
リ(プログラムメモリ、ワーキングメモリ)に接続して
おき、この2系統のアクセスバスはゲートを介して接続
する。
)を2系統設け、1系統のアクセスバスは検索対象メモ
リ(データメモリ)と検索回路とを接続しており、もう
1系統のアクセスバスはCPUおよび検索対象外のメモ
リ(プログラムメモリ、ワーキングメモリ)に接続して
おき、この2系統のアクセスバスはゲートを介して接続
する。
そして、検索回路が動作しているときは上記ゲートを非
導通状態に制御し、検索回路が停止しているときは上記
ゲートを導通状態に制御するものである。
導通状態に制御し、検索回路が停止しているときは上記
ゲートを導通状態に制御するものである。
これにより、検索回路が動作中でも、CPUとしては検
索対象外のメモリへのアクセスなどが可能となる。した
がって、CPUは別の処理を行なえることになり、シス
テムの動作速度および稼働効率が大幅に向上する。
索対象外のメモリへのアクセスなどが可能となる。した
がって、CPUは別の処理を行なえることになり、シス
テムの動作速度および稼働効率が大幅に向上する。
[発明の効果コ
以上詳述したように本発明によれば、検索手段が動作中
でも、制御部としては検索対象外のメモリへのアクセス
などが可能となるデータ列検索装置を提供できる。
でも、制御部としては検索対象外のメモリへのアクセス
などが可能となるデータ列検索装置を提供できる。
図は本発明の一実施例を説明するためのもので、第1図
はマイクロコンピュータシステムの構成を示すブロック
図、第2図はデータメモリのフォーマットを示す図、第
3図および第4図はエリア内のデータ列記憶状態を示す
図、第5図は検索回路の構成を示すブロック図、第6図
は各検索モードにおける検索1周期あたりの詳細プロセ
スを説明するための図、第7図は検索モードデータのフ
ォーマットを示す図、第8図および第9図はメモリ内に
記憶されているデータ列のパターン例を示す図、第10
図は具体的動作を説明するための検索パラメータと検索
結果との対応を示す図である。 1・・・CPU (制御部)、21・・・第1データバ
ス、22・・・第2データバス、31・・・第1アドレ
スバス、32・・・第2アドレスバス、4・・・プログ
ラムメモリ、5・・・ワーキングメモリ、6・・・双方
向ゲート、7・・・データメモリ(メモリ部)、8・・
・検索回路。 出願人代理人 弁理士 鈴江武彦 第1図 第3図 第6図 第6図 第7図
はマイクロコンピュータシステムの構成を示すブロック
図、第2図はデータメモリのフォーマットを示す図、第
3図および第4図はエリア内のデータ列記憶状態を示す
図、第5図は検索回路の構成を示すブロック図、第6図
は各検索モードにおける検索1周期あたりの詳細プロセ
スを説明するための図、第7図は検索モードデータのフ
ォーマットを示す図、第8図および第9図はメモリ内に
記憶されているデータ列のパターン例を示す図、第10
図は具体的動作を説明するための検索パラメータと検索
結果との対応を示す図である。 1・・・CPU (制御部)、21・・・第1データバ
ス、22・・・第2データバス、31・・・第1アドレ
スバス、32・・・第2アドレスバス、4・・・プログ
ラムメモリ、5・・・ワーキングメモリ、6・・・双方
向ゲート、7・・・データメモリ(メモリ部)、8・・
・検索回路。 出願人代理人 弁理士 鈴江武彦 第1図 第3図 第6図 第6図 第7図
Claims (1)
- 【特許請求の範囲】 所定の処理を行なう制御部と、この制御部によってアク
セスされ、複数のデータ列を記憶するメモリ部とを有す
るものにおいて、 前記制御部からの検索情報に基づき前記メモリ部をアク
セスすることにより検索対象データ列を検索する検索手
段と、 前記制御部に接続される第1のアクセスバスと、前記メ
モリ部と前記検索手段とを接続する第2のアクセスバス
と、 前記第1のアクセスバスに供給された前記制御部からの
アクセスデータを前記第2のアクセスバスに供給するゲ
ート手段と、 前記検索手段の動作時には前記ゲート手段を非導通状態
に制御するとともに、前記検索手段の非動作時には前記
ゲート手段を導通状態に制御するゲート制御手段と を具備したことを特徴とするデータ列検索装置。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63063464A JP2721168B2 (ja) | 1988-03-18 | 1988-03-18 | データ列検索装置 |
| DE68926753T DE68926753T2 (de) | 1988-03-18 | 1989-03-15 | Einrichtung zur Wiederauffindung von Datenfolgen |
| EP89104641A EP0333181B1 (en) | 1988-03-18 | 1989-03-15 | Data string retrieval apparatus |
| US07/324,445 US4967391A (en) | 1988-03-18 | 1989-03-16 | Data string retrieval apparatus for IC card |
| KR1019890003382A KR970011898B1 (ko) | 1988-03-18 | 1989-03-18 | 데이터열 검색장치 |
| HK98102041.8A HK1002919B (en) | 1988-03-18 | 1998-03-12 | Data string retrieval apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63063464A JP2721168B2 (ja) | 1988-03-18 | 1988-03-18 | データ列検索装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01237721A true JPH01237721A (ja) | 1989-09-22 |
| JP2721168B2 JP2721168B2 (ja) | 1998-03-04 |
Family
ID=13229987
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63063464A Expired - Lifetime JP2721168B2 (ja) | 1988-03-18 | 1988-03-18 | データ列検索装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2721168B2 (ja) |
-
1988
- 1988-03-18 JP JP63063464A patent/JP2721168B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2721168B2 (ja) | 1998-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3331056A (en) | Variable width addressing arrangement | |
| US6782465B1 (en) | Linked list DMA descriptor architecture | |
| EP0192202A2 (en) | Memory system including simplified high-speed data cache | |
| US6772412B2 (en) | Data processing device equipped with a thread switching circuit | |
| JPH03108042A (ja) | 多重仮想空間アドレス制御方法および計算機システム | |
| JPS589982B2 (ja) | 情報検索装置 | |
| US6745291B1 (en) | High speed LRU line replacement system for cache memories | |
| US5379402A (en) | Data processing device for preventing inconsistency of data stored in main memory and cache memory | |
| JPH059816B2 (ja) | ||
| JPS5868286A (ja) | キヤツシユメモリおよびその作動方法 | |
| KR970011898B1 (ko) | 데이터열 검색장치 | |
| US3480917A (en) | Arrangement for transferring between program sequences in a data processor | |
| JPH01237721A (ja) | データ列検索装置 | |
| JPH01237824A (ja) | データ列検索装置 | |
| JPH01237825A (ja) | データ列検索装置 | |
| JPH01237722A (ja) | データ列検索装置 | |
| JPH01237827A (ja) | データ列検索装置 | |
| JPH01237826A (ja) | データ列検索装置 | |
| JPH01237828A (ja) | データ列検索装置 | |
| JPS61123954A (ja) | 連想キヤツシユ・メモリ構造 | |
| JPS5829046A (ja) | メモリソーティング回路 | |
| JPS59191649A (ja) | プログラムの生成方式 | |
| JPS63727A (ja) | 情報検索方法 | |
| JPS6145485A (ja) | 磁気バブルメモリ制御装置 | |
| JPH05120211A (ja) | データバス幅制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071121 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 11 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 11 |