JPS6143339A - 連想マトリツクスのサーチ方法 - Google Patents

連想マトリツクスのサーチ方法

Info

Publication number
JPS6143339A
JPS6143339A JP60169641A JP16964185A JPS6143339A JP S6143339 A JPS6143339 A JP S6143339A JP 60169641 A JP60169641 A JP 60169641A JP 16964185 A JP16964185 A JP 16964185A JP S6143339 A JPS6143339 A JP S6143339A
Authority
JP
Japan
Prior art keywords
matrix
row
column
associative
search
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
JP60169641A
Other languages
English (en)
Other versions
JPH0766391B2 (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.)
International Standard Electric Corp
Original Assignee
International Standard 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 International Standard Electric Corp filed Critical International Standard Electric Corp
Publication of JPS6143339A publication Critical patent/JPS6143339A/ja
Publication of JPH0766391B2 publication Critical patent/JPH0766391B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Geophysics And Detection Of Objects (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野] この発明は一般のデータベースサーチに関し、特に連想
マトリックスをサーチするための方法に関する。
[発明の技術的背景] コンピュータを使用するほとんどの例では、特定のキー
フィールドに適合するかあるいはデータ値の特定のパタ
ーンのような、特有の項目のため −のデータコレクシ
ョンをサーチする過程を具備する。このサーチングには
、例えば特定のカードの状態を見るためにクレジットカ
ード番号のデータ素を見付けるためにデジタル的にコー
ド化された像をサーチしたり、2つのコンポーネントの
間に回路があるかどうかを調べるために電子装置内のコ
ンポーネント及び接続のデータベースをサーチしたり、
特別なテキストストリングを見付けるためにワードブロ
ッセシングドキュメントをサーチしたりする例がある。
サーチングはコンピュータを使用する場合はとんど行わ
れる作業なので、そのスピードはアプリケーションの処
理スピードに大きな影響を与える。
連想マトリックスはノードとそのノードに互いに接続し
ているリンクからなるデータ構造になっている。リンク
は一方向のみだが2つのノードは各々の方向に1つづつ
2つのリンクを持っている。
リンクのコストおよび重みは全て同等と見なされる。通
常連想マトリックスはインスタンスあるいはコンポーネ
ントの間の関係を、予め定められた関係を表すマトリッ
クスの軸で記憶するようになっている。このような連想
マトリックスの特殊な応用例としては、デジタル電子装
置の部品の間の接続を表すということが挙げられる。こ
の場合システム内の別の信号には別の連想マトリックス
が使われる。
他に可能な連想マトリックスの応用としては、1つのコ
ンポーネントがさらにいくつかのコンポーネントからな
るコンポーネントの段階や目的物指向コンピュータプロ
グラミングにおける目的物継承ネットワークを表示した
り、同じ平面上の目的物は各部の全てが連結されている
と見なされるような3次元の目的物の平面切断の表示が
挙げられる。
この連想マトリックスにしばしば実行されるサーチ作業
の主なものは、 与えられたコンポーネントに接続する全てのコンポーネ
ントを見つけだし、 2つのコンポーネントの間にパスがあるかどうかを調べ
、 どのコンポーネントがリンクの特定番号によって与えら
れたコンポーネントから到達可能であるかを調べ、 他のコンポ−、ネントを構成している全てのコンポーネ
ントを見つけ、 他のコンポーネントがその一部となっている全てのコン
ポーネントを見つけることである。
従来技術ではこの問題の解決方法には2つあった。1つ
は与えられたノードに対する全てのリンクをそのノード
から始まるM結されたリストとして記憶することである
。この作業によって与えられたノードに接続する全ての
ノードが問題なく見つかるが、接続の数が比較的大きい
場合には記憶スペース内のコストが高くなる。例えば1
000個のノードのそれぞれが他の100個のノードに
接続しており32ビツトのポインタが各接続に用いられ
ている場合には、3.2メガビツトのメモリが接続に必
要とされることになる。さらに固定数のリンク内の与え
られたコンポーネントから到達可能な全てのコンポーネ
ントを見つける仕事は、しばしば作業を積重ねる必要が
あるために非常に遅い。
第2番目の方法では、部分あるいはノード間の接続がビ
ットの方形マトリックス内に記憶される。
マトリックスの軸はコンポーネントあるいはノードを表
し、行と列の交点でビットが1にセットされている場合
は2つの相当するノードあるいはコンポーネントが接続
していることを示す。この方法は記憶スペースの点で経
済的であるが、ワードから単一ビットを取出したりテス
トしたりするのにいくつかの命令が必要であり、又マト
リックスをサーチするにはこの作業を多数回行わなけれ
ばならないため、従来のプロセッサでは通常極めて作業
が遅くなる。
[発明の目的] この発明では連想サーチテクニークを用いて連想マトリ
ックスのサーチングをスピードアップすることが口論ま
れている。この方法ではマトリックス内のノードを協同
サーチしてサーチングのスピードを速めることができる
連想アレイブロツセサ(以下AAPと呼ぶ)が用いられ
るようになっている。
データ構造としては、マトリックス内に特定のインスタ
ンスあるいはコンポーネントを位置付けるものと、イン
スタンスあるいはコンポーネントの相互関係を表す連想
マトリックスとがある。このデータ構造にAAPを応用
すれば、″“連結している”構造を上下にトラバースし
てマトリックス内の任意のノードポイントを位置決めす
ることができる。マトリックスからの関係の抽出もAA
Pを用いてサーチング機構を制御するマスクを操ること
により、迅速にしかも容易に行うことができる。
この発明の目的はより速い連想マトリックスのサーチン
グ方法を提供することにある。さらにマトリックスのノ
ードが連想サーチング装置により平行にサーチされるよ
うな連想マトリックス用のサーチ方法を提供することを
目的としている。
[実施例] この発明は連想サーチ技術を用いて連想マトリックスを
サーチする方法に関する。この方法は連想ブロツセサと
して知られる特別な型のブロツセサを使用するように設
計されている。この連想プロッセサは本発明で説明され
る連想サーチ技術を用いるために必要な特徴を与えるも
のである。本出願人のアメリカ合衆国特許出願第404
.242号の明1[11にはこの方法を応用することが
できる連想ブロツセサが開示されている。この発明を実
行するには連想アレイプロッセサがいくつかの特徴を備
えていることが不可欠であり、第1図に一例の概略が示
されているような連想アレイブロツセサ(以下AAPと
言う)として知られるアレイから形成されていなければ
ならない。AAP28では単一順次制御指令3oが多数
のデータ要素を同時に演算処理する連続プロッセシング
が行われる。このAAPは別々の単一ビットブロッセサ
セル34の方形アレイ32からなり、各プロッセサセル
34は自己保有の演算論理ユニットCALU)、多数の
単一ビットレジ、スタのセット、及び例えば64にビッ
トのような多数の情報を記憶するためのデータメモリ3
6を具備する。いろいろなセルのそれぞれに相当する単
一ビットレジスタはAAPのためのレジスタを形成して
いる。
アレイのセルは、行及び列として1つの行内のセルが多
重ビットデータ要素を処理することができ、かつデータ
が行間を垂直に伝送されるように相互に接続されている
。データ要素の境界を識別するための手段が必要である
が、この作業は行内の最下桁ビットと最下桁ビットであ
る特定のビットを識別することによって行われる。各行
内のデータ要素の大きさはアレイを通して統一される必
要はなく、特にアレイがデータベースに適用される場合
には1つのレコード内の異なるデータ要素は異なる値域
を必要とするので、大きさも異なってくる。前述したよ
うに、アレイ内のセルは全て同時に同じ命令に従うが、
セルの行及び列を無効にしたりマスキングを行って命令
に従わないようにすることも可能でなければならない。
データ要素が位置及び大きざで定義された場合は、その
特定のデータ要素位置内で各単−ビットブロツセサセル
に関連している単一ビットレジスタの全ての内容は、そ
れらの間で行われるべき演算、シフト、あるいはブーリ
アン命令を持つ。命令の結果は演算あるいは論理の結果
だけでなく、加算あるいは減算用のオーバーフロー、マ
ツチ用のゼロ、大きいものとの比較のためのプラス及び
小ざいものとの比較のためのマイナスなどの適切な状態
指示も含まれる。演算結果も適切な指示も共に次の命令
のためのマスクとして用いられることが可能でなければ
ならない。
各列には、その列の全てのセルと外部出力レジスタセル
との間を通信させる垂直バスが具備され、いつでも−回
に1つのセルのみを伝送するようになっていなければな
らない。どのセルを選択するかは前述のマスク曙構によ
って決められる。
メモリビットからのデータを取出すためのアドレスはメ
モリアドレスレジスタで発生される。出力レジスタから
アドレスレジスタへのデータの伝送が可能でなければな
らない。アレイ内に負荷ざ ′せたりサーチや比較に用
いられる値を保持するために、入力レジスタも具備され
なければならない。
そしてこの入力レジスタ内に記憶された値は、適当な列
において全ての行に適用可能でなければならず、それに
よって全ての行において同時サーチあるいは比較が行わ
れるあるいは全てのエネーブルにされた行へ入力レジス
タの内容が伝送される。
第2図には前述のAAPの特徴を示す配列が表されてい
る。いくつかのセルからなるアレイは参照番号202で
指示されており、既に第1図で示されたように各セルは
関連しているメモリを備えている。
あるセルとその隣接するセルとの接続は第3図に示され
ている。、1つの列内のセルどうしの接続は302およ
び304で示され、1つの行内のセルどうしの接続は3
21乃至326で示されている。1つの行内のセル間の
水平な接続線321乃至326の機能は前述の米国特許
出願筒404゜242号の明細書に記載されている。各
セルには垂直マスクへの接続線312と水平マスクへの
接続線314が備えられている。さらにセルと出力レジ
スタ214間及び入力レジスタ206から1つの列内の
セルへ垂直にデータを伝送するために垂直バス316が
具備され、一方1つの行内のセルと水平データ/状態レ
ジスタ208との間に水平方向にデータを伝送するには
水平バス318が用いられる。
第2図かられかるように垂直マスクレジスタ2′04の
各ビットはアレイの対応する列の各セルの垂直マスク接
続線312に接続している。この垂直マスクレジスタ2
04は前述の垂直マスクとして作用し、さらに前記米国
特許出願筒404,242号明細書に記載されている方
法でデータ要素の境界を識別する手段ともなりうる。水
平マスクレジスタ210は水平マスクとして作用し、複
数のビットはそれぞれアレイ202の対応する行の各セ
ルの接続線314に接続している。前記演算命令が実行
される時には、各行のデータ上の前記命令の結果に関す
る状態が指示され、伝送され、記憶されなければならな
い。これは水平バス318を介して実行され、水平デー
タレジスタ208の対応するビット位置へ状態指示が伝
送され、そこで状態指示が記憶される。水平データレジ
スタ208は状態レジ、スタとも呼ばれる。それから今
度は水平データレジスタ208が接続線212を介して
水平マスクレジスタ210へ接続しており、レジスタ2
10は水平マスクとして演算命令の状態を指示可能にす
る。垂直データ入力レジスタ206の対応するビットは
垂直バス316を介して1つの列内の全てのセルに、又
さらに出力データレジスタ214の対応するビットに接
続される。
出力レジスタ214からのデータは接続a218によっ
てアドレスレジスタ216に伝送される。
入力レジスタおよび出力レジスタの機能は単一の入出力
レジスタにまとめることもできる。
AAPの第2図及び第3図に示された前述の動作を簡単
な例でわかりやすく説明する。今ここにインデックスフ
ァイルがあり、各レコード又は行がデータ畏素人、B、
Cを含み、データ要素の内任意のものあるいは全てが、
特別に記憶されたデータブロック及びファイル内に索引
を付けられた前記データブロックの位置付けのポインタ
を識別するために使われると仮定してみよう。第4図に
はインデックスファイルについて提案されたフォーマッ
トが示されている。16X16ビツトのアレイを用いる
とすると、3ページのアレイメモリで図示されているフ
ォーマットで16のレコードを含有することになる。3
8で示されたページ1は各々16個のレコード用の16
1のビットを保持するデータ要素Aを含み、各レコード
には1つの行が、データ要素A内の16ビツトの各情報
には1つの列が与えられている。番号40で示した・ペ
ージ2には各16国のレコード用のデータ要素BとCが
備えられており、データ要素Bは10ビツト、データ要
素Cは6ビツト具備している。番号42のページ3は各
16個のレコードのそれぞれのために記憶されたデータ
ブロックへの16個のポインタを含有している。
インデックスのページがページ2のデータ要素Bあるい
はフィールドB内の値25゛を求めてサーチされ、その
ページ内のただ1つのレコードが値25を取るとしよう
。この場合注意しなければならないのは、(フィールド
Bで)、サーチされるべき値の順序は特定、する必要が
ないということである。以下第5図及び第6図を参照し
て作業の流れを述べる。
1)ページ2のアドレスがアドレスレジスタ216に負
荷され、ベージ2に記憶された16個のレコードのフィ
ールドBとCが取出され、アレイ202の各セルに関連
するレジスタの中で例えば第5図に示すようにレジスタ
1に記憶される。
2)サーチされるべき値25がデータ入力レジスタ20
6の10fllの最上位桁ビットへ負荷され、アレイの
10個の最上位桁ビットをエネーブルにする、すなわち
フィールドBに対応するマスクが垂直マスクレジスタ2
04へ負荷される。
3)入力データ値25をめざしてフィールドB 内の1
6個のデータ値がサーチされる。この場合例として挙げ
られている値25を含む行9がサーチされている値25
に適合し、状態レジスタとも呼ばれる水平データレジス
タ208内の対応するビット位置に結果1として指示さ
れる。
4)アドレスレジスタ216はポインタを含むベージ3
のアドレスへ変換され、そしてベージ3のポインタは取
出されレジスタ、例えばレジスタ2に記憶される。
5)アレイの列を全てエネーブルにするために垂直マス
ク204にはビットが全て1になっているマスクが負荷
され、状態レジスタ208の内容は水平マスクレジスタ
210へと伝送される。プロセスのこの状態は第6図に
示されている。
6)行9内に見られる特定のポインタP9が水平マスク
レジスタ210によってエネーブルにされ、垂直バス3
16を介して出力レジスタ214、さらにアドレスレジ
スタ216へと伝送される。
そしてこのアドレスはインデックス内に見られるエント
リ25に対応する記憶されたデータブロックの最初のベ
ージを取出すのに用いられる。
本発明の方法では前述したようにAAPの連想サーチン
グの特性を生かしている。
既に述べたようにこの方法では2つの型のデータ構造が
利用されている。連想マトリックス内の関係している所
望の情報の位置を決めるために、いくつかの型のインデ
ックス機構を用いることができる。ここではマトリック
スの行と列で表示されるインスタンスあるいはコンポー
ネントの単なるリストである名簿を用いている。これら
のインスタンスあるいはコンポーネントが記憶されてい
る順番や特定のインスタンスを見付けたり新しくインス
タンスを加えたりする方法は本発明とは関係ない。又従
来技術はどれを用いてもよい。名簿にはインスタンスあ
るいはコンポーネントを関係づける情報は保持されてお
らず、名簿エントリが保持できるのはインスタンスやコ
ンポーネントの識別に関するような情報である。例えば
名簿は単なる番号付けされたコンポーネントのリストで
あり、マトリックス内で行及び列を同じ番号で捜すこと
によってコンポーネントは見つけられる。
コンポーネントあるいはインスタンスの間にある関係の
型の定義、及びどのようにこれらの関係が記憶されるべ
きかは予め決められる。第7図には8個のコンポーネン
トあるいはインスタンスを持つ名簿用のマトリックスが
表わされており、この連想マトリックスから、関係する
情報がどのように記憶されつるかがわかる。連想、リン
ク、関係の記憶には2つの型があるalつは列方向の関
係であり、もう1つは行方向の関係である。これらの関
係はマトリックスを形成する前に予め決められる。
例えばマトリックスが、1つのコンポーネントが他の複
数のコンポーネントからなり、及び他のコンポーネント
の一部になっているようなコンポーネントの段階的関係
を保有するように構成することもできる。この関係はマ
トリックスの軸によって表される。列方向の関係は、列
によって識別されるコンポーネントを“構成する全での
コンポーネントとして定義される。もしコンポーネント
C3を構成している全てのコンポーネントを見付けたい
場合には、C3での第3列目の、ルベルにセットされた
任意のビットをサーチすればC3がコンポーネントC2
及びC7から構成されていることがわかるだろう。同様
にC1はC3とC6から、C5はC2とC・8から>C
6はC2から、C8はC7から構、成されている。コン
ポーネントC2、C4,C7は列が全てOになっている
ことかられかるように他のコンポーネントから構成され
ている訳ではないため、原始部分と考える。
行方向の関係はより高度なコンポーネントの“一部とな
っている全でのコンポーネントとして定義される。この
関係を構成するための間は行方向で実行される。第2行
目をサーチするとC2がC3、C5、C6で使用されて
いることがわかる。そしてこれらのコンポーネントを行
方向でサーチングしていくとC3と06はclで使用さ
れ、C7はC3とC8で、C8はC5の一部であること
がわかる。
この反復サーチはどちらの方向にも何回でも実行するこ
とができ、又行及び列用のマスクを操作することによっ
て統合される。列値及び行値の識別は続いて述べる課題
ではあるが、非常に大きなデータベースのサーチングに
おいて重要な位置を占めるため、ずっと高いレベルに重
きをおく必要がある。
よりスケールの大きなサーチの場合は第8図に示された
ダイヤグラムを用いて説明することができる。ここでは
特に根拠なく16X16ピツトアレイを選んでいるが、
どのようなビット配列を選んでもよい。この配列を仮定
してインスタンスの名簿の物理的な外形を作り、インス
タンス間の関係を図形化してみる。例を簡略化するため
に、ワードの大きさを16ビツト、名簿内のページ数を
10とする。例として線状サーチを使用する。AAPの
連想特性によりエントリはどのような順においてもよい
。要求された作業が020と付けられたコンポーネント
と他の全てのコンポーネントとの関係を見つけることで
あると仮定すると、作業の流れは以下のようになる。
1)連想マトリックス内のノードによって表示されるコ
ンポーネントの位置について名簿をサーチし、 2)連想マトリックス内に記憶されたデータを操作する
ための適切なマスクをセットし、 3)前記コンポーネ
ント間の関係のための連想マトリックスをトラバー、ス
する。
C20が名簿内の5番目のページの5番目の行にあるこ
とが検索される場合には、C20を形成する全てのコン
ポーネントを見つけるために、連想マトリックスの第5
.15.25.35.45.55.65.75.85.
95ページ目の列5をサーチしなければならない。同様
に020がその一部となっている全てのコンポーネント
を見つけるために第51ページから第6oベージの第5
番目の行がサーチされる。より深いレベルの情報が要求
される場合には、マトリックスのトラバースが、最初の
トラバースで活性化状態とねがったビットによってセッ
トされたマスクをざらに操作することにより実行される
説明を簡潔にするために、AAP命令セットに関する名
簿内のただ1つのページに前記サーチ機構を実行する際
の過程を説明する。
各110L二ま− 任意のコンポーネント識別値が記憶されている不順の名
簿をサーチするのに、線状サーチ方法を用いることがで
きる。パラメータが与えられた場合、名簿内の020を
サーチするための作業の流れは以下の通りである。
1)名簿内でサーチされるべきコンポーネントを表す値
C20が入力レジスタ206へ負荷される。水平マスク
レジスタ210及び垂直マスクレジスタ204が全ての
行と列をエネーブルにするようにセットされる。メモリ
内の最初のページのアドレスがメモリアドレスレジスタ
216へ送られ、名簿のページ1はアレイに運ばれ、例
えば第9図に示されたレジスタ1のようなレジスタの中
に記憶される。
2)入力レジスタ206とレジスタ1との間で並列の比
較あるいは減算が行われ、その結果各行の状態指示が状
態レジスタ208の対応するビットへ記憶される。状態
レジスタ内の1つの1は適合するものが1つあることを
表し、一方○は適合するものがないことを表す。
3)次に任意のビットが付勢3れ“ξいるか、すなわち
1となっているかをみるために、状態レジスタ208の
内容、が試験される。付勢されていない場合には次のペ
ージのアドレスが生成され、上述の作業の流れが反復さ
れる。前述の礪能を果たすレジスタの状態は第9因に示
されており、状態レジスタ208の行5にマツチが指示
されている。
名簿内で適合しているインスタンスの位置は、 “コン
ポーネント間の関係を記憶する連想マトリックスを操作
する上での基本的な鍵である。例えば5番目のページの
5番目のレコードが020に適合した場合、5番目の行
に対応する状態レジスタのビットは5番目のページがサ
ーチされた時1を保有する。
マスクレジスタの内容は通常マトリックスのサーチを行
うためにアレイの行あるいは列をエネーブルにするのに
使われるが、代わりに、マスクによりエネーブルとなっ
た行(あるいは列、サーチの型により興なる)に対応す
る1の行(あるいは列)を含むデータの平面間の論理演
算ANDを実行することもできる。その場合はこのパタ
ーンが後の作業に使われるメインメモリのページに蓄え
られるという利点がある。
水平マスクは以下のようにセットされる。状態レジスタ
208の内容が水平マスクレジスタ210へ移動し、第
5番目の行のみが次の命令に応答するようエネーブルに
される。全て1になっている行が入力レジスタ206へ
負荷され、1が付勢された行5へ負荷されるようにレジ
スタのセットの内の1つのレジスタ、例えばレジスタ2
へ伝送される。このパターンは後に使用するために記憶
される。
垂直マスクは以下のようにセットされる。第11a図に
示されたように対角線上が1となっているデータ平面が
レジスタのセット内の1つのレジスタ、例えばレジスタ
4へ負荷される。このインスタンスで5番目のビットが
セットされその後この情報が入力/出力レジスタ206
へ伝送されるようにするために、エネーブルとなった行
のみが負荷される。マスクレジスタ204及び210の
両方がすべての行と列をエネーブルにするようにセット
され、入力/出力レジスタ内のパターンが全ての行に伝
送され、結果として第11b図に示されたようなパター
ンとなる。
想マトリックスのトラバース 連想マトリックスのトラバースは反復作業である。関係
がそれ以上付加されないか、所定の数の関係が発見され
たか、あるいはある値が決められる時には、サーチの深
さは終了することができる。
第9図の名簿に適用可能な連想マトリックスの例は第1
2図に示されている。C20の適合は名簿の5番目の位
置に見られ、水平マスク及び垂直マスクはレジスタ2と
4にそれぞれ記憶される。
020を形成している部分を全て見つけるためには、第
5番目の列でエネーブルとなっているビットを全て捜し
、他に付勢ビットが見付からなくなるまで繰返し捜す。
この作業は以下の順番で行う。
1、行及び列を全てエネーブルにする。
2、連想マトリックスデータをレジスタ8へ負荷する。
垂直マスクを内蔵し第i i bsに示されているレジ
スタ4とレジスタ8との間でAND演算を行う。このA
ND演算の結果は第12図に示される状態レジスタ20
8にセットされ、C20を形成する部分である第9図に
示されたcio。
C30及びTO7に関する、第2番目、第4番目、第1
3番目に適合があることを示す。
結果は、状態ビットを水平マスク210へ移動させ、垂
直マスク204内の全てのビットをエネーブルにし、名
簿ページを負荷させ、その後M2S図のように印字され
るべく付勢された行の内容を出力レジスタ206へ1回
に1つづつ伝送して、状態ビット位置を名簿に関係づけ
ることによって出力することができる。
この簡単な例によってどのようにレベルを1つ下げてト
ラバースを行うかがわかる。多段階レベルのトラバース
を行うには、すなわち、C10、C3o及びTO7を形
成しているコンポーネントを識別するには、以下の作業
を反復的に行う。この ′反復サーチングにより、状態
ビットはレジスタに蓄えられ、サブコンポーネントがそ
のメインコンポーネントを求めてサーチされる度に水平
マスク210へ負荷されなければなら々い。
1、前記状態ビ、ットを水平マスクレジスタ210へ負
荷することによって状態ビットの各々の新しい垂直マス
クを形成する。こうして予めセットされたビットが関連
する行を付勢することができる。レジスタ9へ対角線上
に1になっている新しい行を負荷させ、出力レジ1スタ
206へ1回に1行づつビットの付勢された行を伝送す
る。C10に関するビットへ適用される作業を表す第1
4a図に示されているように、各行は出力レジスタから
、垂直マスク204へ移動する。
2、水平マスクレジスタと入力レジスタを全て1にセッ
トする。
3、連想マトリックスの付勢された列内の全てのビット
を比較する。第14k)図からは全てOになっている第
2番目の列かられかるように、C10を形成するコンポ
ーネントは他にないことがわかる。C30及びTO7に
関しても同様の方法で作業が実行され、全てOになって
いる第4番目と第13番目の列によってわかるように、
他のどのコンポーネントもこれらのコンポーネントを形
成しない。
【図面の簡単な説明】
第1図は連想アレイブロツセサを図式的に表したもので
あり、第2図は連想アレイプロセッサの・ブロックダイ
ヤグラムである。第3図はアレイ内のセルの接続を表し
、第4図はインデックスファイルの外形である。第5図
及び第6図ははサーチ内のポイントでの連想アレイプロ
セッサの状態を表し、第7図は簡略化した連想マトリ、
ツクスを表す。第8図はダイレフトリと、ダイレフトリ
が10ページの時の16X16ビツトアレイ用の連想マ
トリックスである。第9.10.11a、1130・・
・単一連続tIIJ御命令、32・・・アレイ、34−
・・・分離単一ビットブロツセサセル、36・・・デー
タメモリ、204・・・垂直マスク、206・・・入力
/出力レジスタ、208・・・状態レジスタ、210・
・・平行マスク、216・・・アドレスレジスタ。

Claims (1)

  1. 【特許請求の範囲】 (1)目的物間の関係を記憶する型の連想マトリックス
    内の選択された目的物と他の目的物との関係をサーチす
    る方法であって、各目的物はマトリックスの行と列で表
    されており、前記各関係は予め定められたマトリックス
    の軸の1つと連携し、目的物間の関係の存在は、ある1
    つの目的物の行と他の目的物の列との交点の記号1によ
    って示される、連想サーチ技術を用いた連想アレイプロ
    セッサによって実施されるサーチ方法において、連想マ
    トリックス内でサーチされるべき選択された目的物の行
    と列の位置を識別し、 選択された目的物と他の目的物との予め定められた前記
    関係を識別するために、選択された目的物によって識別
    された列において各行を並列にサーチし、あるいは選択
    された目的物によって識別された行の各列をサーチする
    過程を含むことを特徴とする方法。 (2)選択された目的物と連携している列の関係を識別
    するために、その列での各行が平列にサーチされ、前記
    マトリックス内の行によって表示される関係を識別する
    ために1つの行内の各列が平列にサーチされることを特
    徴とする特許請求の範囲第1項に記載の方法。 (3)選択された目的物とともに識別された列の中の各
    行が、連想アレイプロッセサの動作をマトリックス内の
    1つあるいは複数の、選択された列に限定する垂直マス
    クを使用することによって平列にサーチされることを特
    徴とする特許請求の範囲第1項に記載の方法。 (4)選択された目的物とともに識別された行の中の各
    列が、連想アレイプロッセサの動作をマトリックス内の
    1つあるいは複数の、選択された行に限定する水平マス
    クを使用することによって平列にサーチされることを特
    徴とする特許請求の範囲第1項に記載の方法。 (5)ビットが1にセットされた位置を求めるために、
    マトリックス内の単一の列が、選択された前記単一の列
    のみをエネーブルにする垂直マスクを使用することによ
    ってサーチされることを特徴とする特許請求の範囲第3
    項に記載の方法。 (6)任意のビットが1にセットされた位置を求めるた
    めに、マトリックス内の単一の行が、選択された前記単
    一の行のみをエネーブルにする水平マスクを使用するこ
    とによってサーチされることを特徴とする特許請求の範
    囲第4項に記載の方法。 (7)与えられた行内の1にセットされたビットの位置
    が、連想マトリックスの列と連携している目的物を識別
    し、それによって、選択された目的物と前記与えられた
    行内に1を保持する列の各々と連携している目的物との
    間にあるマトリックスの行軸と連携している関係を識別
    するために用いられることを特徴とする特許請求の範囲
    第6項に記載の方法。 (8)与えられた列内の1にセットされたビットの位置
    が、連想マトリックスの行と連携している目的物を識別
    し、それによって、選択された目的物と前記与えられた
    列内に1を保持する行の各々と連携している目的物との
    間にあるマトリックスの列軸と連携している関係を識別
    するために用いられることを特徴とする特許請求の範囲
    第5項に記載の方法。(9)前記サーチする方法の第2
    の反復作用を実行するためのサーチにおいて、行及び列
    の識別をエネーブルにする過程が付加されていることを
    特徴とする特許請求の範囲第1項に記載の方法。 (10)与えられた行内で1にセットされていると認知
    されたビットは、サーチ方法の次の反復作用でサーチさ
    れるべき行をエネーブルにするために、水平マスクを形
    成するのに使用されることを特徴とする特許請求の範囲
    第9項に記載の方法。 (11)与えられた列内で1にセットされていると認知
    されたビットが、サーチ方法の次の反復作用でサーチさ
    れるべき列をエネーブルにするための、垂直マスクを形
    成するのに使用される過程を有することを特徴とする特
    許請求の範囲第9項に記載の方法。 (12)目的物間の階級的な関係のセットを識別するた
    めに連想マトリックスを繰返しサーチする過程を含むこ
    とを特徴とする特許請求の範囲第9項に記載の方法。 (13)目的物の関係を記憶する型の連想マトリックス
    内の選択された目的物と他の目的物との関係をサーチす
    る方法であって、各目的物はマトリックスの行と列で表
    されており、前記各関係は予め定められたマトリックス
    の軸の1つと連携し、目的物間の関係の存在は、ある1
    つの目的物の行と他の目的物の列との交点の記号1によ
    って示され、連想サーチ技術を用いた連想アレイプロセ
    ッサによって実施されるサーチ方法において、連想マト
    リックス内の選択された目的物の行と列の位置を識別し
    、 連想マトリックス内のデータを操作するために、識別さ
    れた行と列用の適切なマスクを供給し、連想マトリック
    スの選択された目的物と他の目的物との関係を識別する
    ために、前記マスクを用いて連想マトリックスをトラバ
    ースする過程を備えていることを特徴とする方法。
JP60169641A 1984-07-31 1985-07-31 連想マトリツクスのサーチ方法 Expired - Lifetime JPH0766391B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63646684A 1984-07-31 1984-07-31
US636466 1984-07-31

Publications (2)

Publication Number Publication Date
JPS6143339A true JPS6143339A (ja) 1986-03-01
JPH0766391B2 JPH0766391B2 (ja) 1995-07-19

Family

ID=24552027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60169641A Expired - Lifetime JPH0766391B2 (ja) 1984-07-31 1985-07-31 連想マトリツクスのサーチ方法

Country Status (10)

Country Link
EP (1) EP0170443B1 (ja)
JP (1) JPH0766391B2 (ja)
KR (1) KR920006794B1 (ja)
AU (1) AU577396B2 (ja)
BR (1) BR8503161A (ja)
DE (1) DE3587612T2 (ja)
ES (1) ES8703027A1 (ja)
IN (1) IN165309B (ja)
MX (1) MX170696B (ja)
ZA (1) ZA855324B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2743608B2 (ja) * 1991-03-27 1998-04-22 日本電気株式会社 共有レジスタ制御方式
KR100561422B1 (ko) 2004-04-22 2006-03-17 삼성전자주식회사 감광체 유닛 및 이를 구비한 전자사진방식 화상형성장치
CN113312348B (zh) * 2021-04-22 2022-07-22 山东马斯克智能科技有限公司 工业园区电力大数据的分析应用方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5683891A (en) * 1979-12-13 1981-07-08 Fujitsu Ltd Semiconductor storage device
EP0035787B1 (de) * 1980-03-11 1984-10-17 Siemens Aktiengesellschaft Hybrid-Assoziativspeicher und dessen Anwendungen, insbesondere zum Sortieren von gespeicherten Daten
US4376974A (en) * 1980-03-31 1983-03-15 Ncr Corporation Associative memory system
US4507748A (en) * 1982-08-02 1985-03-26 International Telephone And Telegraph Corporation Associative processor with variable length fast multiply capability

Also Published As

Publication number Publication date
JPH0766391B2 (ja) 1995-07-19
IN165309B (ja) 1989-09-16
EP0170443A3 (en) 1989-04-12
ES8703027A1 (es) 1986-12-01
EP0170443B1 (en) 1993-10-06
BR8503161A (pt) 1986-03-25
AU577396B2 (en) 1988-09-22
DE3587612T2 (de) 1994-03-10
AU4500285A (en) 1986-02-06
ZA855324B (en) 1986-03-26
ES545475A0 (es) 1986-12-01
EP0170443A2 (en) 1986-02-05
MX170696B (es) 1993-09-07
KR920006794B1 (ko) 1992-08-17
DE3587612D1 (de) 1993-11-11
KR860001385A (ko) 1986-02-26

Similar Documents

Publication Publication Date Title
Kohonen Logic Principles of Content-Addressable Memories
US5418949A (en) Page map, metamap, and relation group file management supervised by operation means for allocating, storing, and searching friendly and exclusive data items
US3916387A (en) Directory searching method and means
US5293616A (en) Method and apparatus for representing and interrogating an index in a digital memory
US4086628A (en) Directory generation system having efficiency increase with sorted input
JPH0652225A (ja) ファイル検索方法及びシステム
US5175857A (en) System for sorting records having sorted strings each having a plurality of linked elements each element storing next record address
JPH0962560A (ja) データベース装置
US4327407A (en) Data driven processor
EP0170443B1 (en) Method for searching an association matrix
US11914587B2 (en) Systems and methods for key-based indexing in storage devices
US3512134A (en) Apparatus for performing file search in a digital computer
JPS599992B2 (ja) 連想記憶装置
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
JPS6172333A (ja) 複数ファイルのマージ方法
JP2604787B2 (ja) 二次元データ格納方式
JPH01297724A (ja) 学習型文字列検索装置と同装置の制御方式
JPH02289005A (ja) 計数情報の整列処理方式
JPS635427A (ja) フアイルアクセス方法
JPS63253431A (ja) インバ−テツド構造のデ−タベ−ス検索方式
JP2507399B2 (ja) デ―タベ―ス装置
JPH048814B2 (ja)
JPH0145648B2 (ja)
JPS62217495A (ja) 連想記憶装置
JPH02259942A (ja) データベース世代管理処理方式