JPH0535656A - データ検索方式 - Google Patents

データ検索方式

Info

Publication number
JPH0535656A
JPH0535656A JP21288791A JP21288791A JPH0535656A JP H0535656 A JPH0535656 A JP H0535656A JP 21288791 A JP21288791 A JP 21288791A JP 21288791 A JP21288791 A JP 21288791A JP H0535656 A JPH0535656 A JP H0535656A
Authority
JP
Japan
Prior art keywords
data
search
address
cpu
main memory
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.)
Pending
Application number
JP21288791A
Other languages
English (en)
Inventor
Tsukasa Kobayashi
司 小林
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP21288791A priority Critical patent/JPH0535656A/ja
Publication of JPH0535656A publication Critical patent/JPH0535656A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 DMAコントロ−ラを有する計算機システム
において、デ−タの検索時間を短縮するデータ検索方式
を提供する。 【構成】 計算機システムに、CPUI/F8、DMA
I/F9、CPUI/F10、検索デ−タレジスタ群1
1、コンパレ−タ群12、FIFOバッファ13、AN
Dゲ−ト14、一致アドレススタック制御部15、検索
デ−タ数レジスタ16、回数コンパレ−タ17及び一致
アドレススタック18から構成されるハードウエアを付
加し、CPUが検索デ−タ及び検索デ−タの要求回数を
検索デ−タ数レジスタ16に設定し、DMAコントロー
ラが主記憶メモリ上の指定された領域のデ−タをFIF
Oバッファ13に流し、検索デ−タレジスタ群11とF
IFOバッファ13のデ−タをコンパレ−タ群12によ
り複数個のデ−タを同時比較し、検索デ−タと一致した
一連のデータのアドレスと個数を求める。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ダイレクトメモリアク
セス(以下、「DMA」と称する)コントロ−ラを有す
る計算機システムにおける主記憶メモリ上のデ−タ検索
方式に関するものである。
【0002】
【従来技術】従来技術によるデ−タの検索手順を図3に
示す。従来計算機システムにおいて主記憶上の複数バイ
トにより構成されるデ−タ又は文字列を検索する場合プ
ログラムによって主記憶上のデ−タを1バイトずつリ−
ドし、検索したいデ−タを1バイトずつ順次比較するこ
とにより行っていた。図3は、上記のようなプログラム
によって、主記憶上のa0番地からa1番地の範囲でnバ
イトよりなる検索デ−タ(D0、D1、D2...Dn-1)
をM個まで検索し、一致するデ−タを持つ主記憶内の先
頭番地をs0番地から始まる主記憶に格納する場合の動
作を示すフロ−チャ−トである。
【0003】図中でIX,IY、IZ,IZa は、計算
機内のCPUのインデックスレジスタであり、それぞれ
次のような意味を持つ、IXは現在検索中のアドレスを
示す。IYはIXのアドレスで、デ−タの1バイト目D
0 が一致した場合、残りのD1〜Dn-1を比較するための
アドレスIX+1〜IX+n-1を示す。IZは検索中の
結果、一致するデ−タを持つアドレスの先頭番地を格納
する主記憶上のアドレスを示す。IZa は、検索結果一
致したデ−タの個数を表す。
【0004】r0 はCPUの汎用レジスタであり、この
フロ−チャ−トの中では、現在D1〜 Dn-1 の何バイ
ト目を比較中であるかを示す。まずIX,IZ,IZa
の値を初期値a0,s0,0に設定する(ステップST
1)。ステップST2〜ステップST4がこのプログラ
ムのメインル−プであり、IXの値をインクリメントし
ながら検索デ−タの1バイト目D0と一致するかどうか
を調べる(ステップST2)。一致しなかった場合に
は、IXをインクリメント(ステップST3)し、IX
がアドレスの終了値a1に達した時点で、このル−プは
終了する(ステップST4)。
【0005】一致した場合には、更に1〜n-1バイトの
内容を1バイトづつ読みだし比較する。IY,r0 に初
期値を設定する(ステップST5)。IY,r0 をイン
クリメントし(ステップST6)、1〜n-1バイトの比
較が全て終了した場合(ステップST7)には、検索デ
−タが発見されたものとしてその時のIXの値をIZが
示す位置に格納し、IZ,IZaをインクリメントする
(bはr0 番目の1デ−タのビット数をバイト換算した
もの)(ステップST9)。ここでr0がn-1に達する
前に検索デ−タと異なるデ−タと現れた場合には、この
ル−プから抜けてステップST2〜ステップST4のメ
インル−プにもどる(ステップST8)。
【0006】ここで、IZa の値が設定値Mより大であ
れば、検索を中断し(ステップST10)M以下であれ
ば、更に次のアドレスの検索に移る(ステップST1
1)。以上のようにして、a0〜a1 の範囲の検索が終
了するか、又はM個のデ−タ一致が発見されることによ
って、このフロ−は終了する。ここでIZa は発見され
た一致デ−タの個数であり(s0)〜(s0+IZa−
1)番地にそのデ−タの先頭番地が格納される。
【0007】
【発明が解決しようとする課題】しかしながら、以上述
べた方法での主記憶へのアクセス回数acは式(1)で
表されるような値となり、理論上の最小値であるa1−
a0+1回以上となる。 ac=(a1−a0+1)・(1+hr・nr).....(1) ac:主記憶アクセス回数 a1−a0:検索される主記憶の範囲のアドレス。 hr:0バイト目が一致するが1〜nのどれかで不一致
となる確率。 nr:hrの場合に不一致となる位置の平均(1≦nr
<n) また、プログラムによる方式の為、CPUは、検索の為
の主記憶アクセス以外にプログラムのコ−ドのフェッチ
等を行うため、時間がかかる。しかも検索中に他の処理
を行うことが出来ないという問題点があった。
【0008】本発明は上述の点に鑑みてなされたもの
で、上記問題点を解決しデ−タ検索時の主記憶のアクセ
ス回数の増加を防ぐため、DMA機能とファーストイン
ファーストアウト(以下「FIFO」と称する)バッフ
ァと複数バイトのコンパレ−タの組合せによるハ−ドウ
ェアを設けることによって、主記憶のアクセス回数を最
小限にし、デ−タ検索を高速に行えるようにすることを
目的とする。
【0009】
【課題を解決するための手段】上記課題を解決するため
本発明は、図1に示すようにDMAコントローラを有す
る計算機システムにおいて、検索デ−タを設定する検索
デ−タレジスタ群、主記憶より対象とする一連のデ−タ
を読みだし格納するFIFOバッファ、その両者のデ−
タを同時に比較するコンパレ−タ群、一致回数及び一致
アドレスを求める一致アドレススタック制御部、一致ア
ドレスを格納する一致アドレススタック、検索デ−タの
要求回数を設定する検索デ−タ数レジスタ、回数コンパ
レ−タより構成されるハ−ドウェアを設け、複数バイト
からなるデ−タを検索する場合に、DMAアクセスによ
って主記憶よりデ−タを引き出し、そのデ−タをFIF
Oバッファ内に格納し、FIFOバッファ内の複数バイ
トのデ−タを検索デ−タと同時に比較する機能を設けた
ものである。
【0010】
【作用】本発明では、複数バイトのデ−タの比較をハ−
ドウェアによって同時に行えるようにしたため、図3の
フロ−チャ−トのステップST5〜ステップST8のル
−プが無用となり、従来のプログラム方式によるメモリ
アクセス回数(a1−a0+1)(1+hr・nr)をa
0−a1+1に減少させることが出来る。また、DMAコ
ントロ−ラによってデ−タをアクセスするため、CPU
に時間的な余裕が出来る。
【0011】
【実施例】以下本発明の一実施例を図面に基づいて詳細
に説明する。図2は本発明データ検索方式を適用する計
算機システムの構成を示すブロック図である。図示する
ように本計算機システムは、CPU1、DMAコントロ
−ラ2、主記憶装置3及び本発明により付加された付加
ハ−ドウェア4を具備する。アドレスバス5、デ−タバ
ス6、DMAI/F信号7、CPUI/F信号8、DM
ACI/F信号9aで結ばれている。
【0012】デ−タ検索は、CPU1がCPUI/F信
号8によって本発明により付加した付加ハ−ドウェア4
に検索するデ−タ、最大検索デ−タ数を設定し、DMA
CI/F信号9aによってDMAコントロ−ラ2に検索
するアドレス範囲を設定し、CPUI/F信号8によっ
て付加ハ−ドウェア4を起動することによって行われ
る。起動した付加ハ−ドウェア4はDMAI/F信号7
によってDMAコントロ−ラ2にデ−タを要求する。D
MAコントロ−ラ2はアドレスバス5によって主記憶装
置3にアドレスを与え、主記憶装置3がそのアドレスに
応じたデ−タの値を出すとDMAI/F信号7によって
付加ハ−ドウェア4にデ−タが出ていることを伝える。
【0013】付加ハ−ドウェア4は主記憶装置3からの
デ−タの値を取り込んで、検索デ−タとの比較を行い一
致したときのアドレスバス5上のアドレスを内部に蓄え
る。検索が終了すると付加ハ−ドウェア4からCPUI
/F信号8によってCPU1に通知される。検索結果
は、付加ハ−ドウェア4の内部に蓄えられたアドレスの
値をアドレスバス5を通してリ−ドすることによってC
PU1に与えられる。
【0014】図1は、図2の本発明の付加ハ−ドウェア
4の内部構造を示すブロック図である。付加ハ−ドウェ
ア4は、DMAI/F9、CPUI/F10、検索デ−
タレジスタ群11、コンパレ−タ群12、FIFOバッ
ファ13、コンパレ−タ群12の全出力のANDゲ−ト
14、一致アドレススタック18の制御部で一致アドレ
ススタック制御部15、検索デ−タ数レジスタ16、回
数コンパレ−タ17で構成される。
【0015】CPUからの設定は、CPUI/F10に
よって検索デ−タレジスタ群11、検索デ−タ数レジス
タ16に対して行われる。検索デ−タレジスタ群11に
は検索されるデ−タが記憶される。検索デ−タレジスタ
群11は検索デ−タ19と有効ビット20からなる複数
のレジスタから構成される。有効ビット20が設定され
ていない検索デ−タは、比較の対象にしない。従って途
中で比較の対象としない文字を含んだ任意長の文字列の
検索が可能である。起動するとDMAI/F9によって
DMA要求応答の制御が行われ、メモリからのデ−タが
FIFOバッファ13に蓄積される。FIFOバッファ
13はFIFOとして動作し、デ−タは矢印のように上
から下へ流れる。下からはみ出したデ−タは読み捨てら
れる。FIFOバッファ13内のデ−タは、デ−タが一
個読まれる毎に検索デ−タレジスタ群11内の有効ビッ
ト20がセットされた検索デ−タ19と、コンパレ−タ
群12によって比較される。この比較は、FIFOバッ
ファ13内の全デ−タに対して同時に行われる。
【0016】コンパレ−タ群12の出力はANDゲ−ト
14にとおってANDをとられ、全デ−タが一致した場
合は一致アドレススタック制御部15に伝えられる。一
致アドレススタック制御部15内には全デ−タの一致回
数を示すレジスタがありANDゲ−ト14による信号に
応じて、そのレジスタの値に応じた一致アドレススタッ
ク18内の位置にその時のアドレスバス上にあるアドレ
ス値(最終デ−タの番地)が記録される。レジスタの値
は、回数コンパレ−タ17によって検索デ−タ数レジス
タ16と比較され、一致するか又は一致アドレススタッ
ク18が全部使用された場合に検索は終了となる。どち
らでもない場合にはDMAコントロ−ラの停止によって
終了となる。
【0017】図4に、この方式による検索をプログラム
によって行ったとした場合のフロ−チャ−トを示す。図
4から分かるように複数デ−タの比較がステップST2
2の1ステップで行われるため従来方式の図3に比べて
単純なル−プによって高速な検索が行われる。図3のフ
ロ−チャ−トのル−プST2,ST5,ST6,ST
7,ST8の各ステップをハ−ドウェアで同時に行うよ
うにしたもので、ここで分かるようにメモリアクセス回
数は最小限のa1 −a0 +1回となる。なお当然ながら
プログラムによる方式では、複数デ−タの同時比較が出
来ないため、このフロ−を実現するにはハ−ドウェアが
必要となる。
【0018】
【発明の効果】以上、詳細に説明したように本発明によ
れば、下記のような効果が期待される。(1)複数バイ
トのデ−タの比較をハ−ドウェアによって同時に行える
ようにした為、従来のプログラム方式によるメモリアク
セス回数を減少{(a1 −a0+1)(1+hr・n
r)から(a1−a0+1)}回に減少させることが出来
る。
【0019】(2)また、DMA機能を利用しているた
め、CPUがプログラムの命令コ−ドのフェッチ等にか
かる時間も不要となり、デ−タ検索中にCPUが別の処
理を行うことが出来るという利点がある。
【図面の簡単な説明】
【図1】本発明による付加ハ−ドウェアブロク図であ
る。
【図2】本発明によるシステムブロック図である。
【図3】従来技術のプログラムによるデ−タ検索のフロ
−チャ−トである。
【図4】本発明の方式をプログラムに置き換えた場合の
フロ−チャ−トである。
【符号の説明】
1 CPU 2 DMAコントロ−ラ 3 主記憶装置 4 付加ハ−ドウェア 5 アドレスバス 6 デ−タバス 7 DMAI/F信号 8 CPUI/F 9 DMAI/F 9a DMAI/F信号 10 CPUI/F 11 検索デ−タレジスタ群 12 コンパレ−タ群 13 FIFOバッファ 14 ANDゲ−ト 15 一致アドレススタック制御部 16 検索デ−タ数レジスタ 17 回数コンパレ−タ 18 一致アドレススタック 19 検索デ−タ 20 有効ビット

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 CPU、ダイレクトメモリアクセス(D
    MA)コントロ−ラ及び主記憶メモリを有する計算機シ
    ステムのデ−タ検索方式において、 検索デ−タを設定する検索デ−タレジスタ群、前記主記
    憶メモリより対象とする一連のデ−タを読みだし、格納
    するファーストインファーストアウト(FIFO)バッ
    ファ、この両者のデ−タを同時に比較するコンパレ−タ
    群、一致回数及び一致アドレスを求める一致アドレスス
    タック制御部、一致アドレスを格納する一致アドレスス
    タック、検索デ−タの要求回数を設定する検索デ−タ数
    レジスタ、一致回数を比較する回数コンパレ−タより構
    成されるハードウェアを設け、 前記CPUが検索デ−タ及び検索デ−タの要求回数を設
    定し、前記DMAコントローラが前記主記憶メモリ上の
    指定された領域のデ−タを前記FIFOバッファに流
    し、前記検索デ−タレジスタ群と前記FIFOバッファ
    のデ−タを前記コンパレ−タ群により複数個のデ−タを
    同時比較し、前記検索デ−タと一致した一連のデ−タの
    アドレスと個数を求めることを特徴とするデ−タ検索方
    式。
JP21288791A 1991-07-30 1991-07-30 データ検索方式 Pending JPH0535656A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21288791A JPH0535656A (ja) 1991-07-30 1991-07-30 データ検索方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21288791A JPH0535656A (ja) 1991-07-30 1991-07-30 データ検索方式

Publications (1)

Publication Number Publication Date
JPH0535656A true JPH0535656A (ja) 1993-02-12

Family

ID=16629907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21288791A Pending JPH0535656A (ja) 1991-07-30 1991-07-30 データ検索方式

Country Status (1)

Country Link
JP (1) JPH0535656A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430634B2 (en) 2004-12-10 2008-09-30 Fujitsu Limited Data transfer apparatus and data transfer method
JP2010517182A (ja) * 2007-01-24 2010-05-20 クゥアルコム・インコーポレイテッド 内容終了型dma
JP2011040124A (ja) * 2009-08-07 2011-02-24 Toshiba Corp 半導体記憶装置のデータ読み出し方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430634B2 (en) 2004-12-10 2008-09-30 Fujitsu Limited Data transfer apparatus and data transfer method
JP2010517182A (ja) * 2007-01-24 2010-05-20 クゥアルコム・インコーポレイテッド 内容終了型dma
JP2011040124A (ja) * 2009-08-07 2011-02-24 Toshiba Corp 半導体記憶装置のデータ読み出し方法

Similar Documents

Publication Publication Date Title
US6256713B1 (en) Bus optimization with read/write coherence including ordering responsive to collisions
US5450605A (en) Boundary markers for indicating the boundary of a variable length instruction to facilitate parallel processing of sequential instructions
EP1934763B1 (en) System and method for improved dmac translation mechanism
US5517660A (en) Read-write buffer for gathering write requests and resolving read conflicts based on a generated byte mask code
US5353426A (en) Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
US6401192B1 (en) Apparatus for software initiated prefetch and method therefor
JP3180154B2 (ja) マイクロプロセッサ
EP2074511B1 (en) Efficient store queue architecture
KR920006275B1 (ko) 데이타 처리 장치
US4322815A (en) Hierarchical data storage system
EP0173981A2 (en) Cache memory control circuit
US6684319B1 (en) System for efficient operation of a very long instruction word digital signal processor
US7877523B2 (en) Apparatus, computer program product, and system for completing a plurality of chained list DMA commands that include a fenced list DMA command element
JP2002287959A (ja) ロード・ストアキュー
JP4131789B2 (ja) キャッシュ制御装置および方法
JPH0535656A (ja) データ検索方式
US20050015552A1 (en) System for supporting unlimited consecutive data stores into a cache memory
US4737908A (en) Buffer memory control system
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JPH11112564A (ja) リスト管理システム、方法及び記憶媒体、並びにパケット交換機
US5704056A (en) Cache-data transfer system
JPS6236258B2 (ja)
EP0318702A2 (en) Data processor with direct data transfer between coprocessor and memory
CA1193024A (en) Access request control apparatus in data processing system
JP2003203486A (ja) 半導体記憶装置及びその制御方法