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

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

Info

Publication number
JPH0766391B2
JPH0766391B2 JP60169641A JP16964185A JPH0766391B2 JP H0766391 B2 JPH0766391 B2 JP H0766391B2 JP 60169641 A JP60169641 A JP 60169641A JP 16964185 A JP16964185 A JP 16964185A JP H0766391 B2 JPH0766391 B2 JP H0766391B2
Authority
JP
Japan
Prior art keywords
register
search
row
rows
columns
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 - Lifetime
Application number
JP60169641A
Other languages
English (en)
Other versions
JPS6143339A (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.)
Alcatel Lucent NV
Original Assignee
Alcatel NV
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 Alcatel NV filed Critical Alcatel NV
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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は一般のデータベースサーチに関し、特に連想
マトリックスをサーチするための方法に関する。
[従来の技術] コンピュータを使用するほとんどの例では、特定のキー
フィールドに適合するかあるいはデータ値の特定のパタ
ーンのような、特有の項目のためのデータコレクション
をサーチする過程を具備する。このサーチングには、例
えば特定のカードの状態を見るためにクレジットカード
番号のデータベースをサーチしたり、パターンに適合す
る画要素を見付けるためにデジタル的にコード化された
像をサーチしたり、2つのコンポーネントの間に回路が
あるかどうかを調べるために電子装置内のコポーネント
及び接続のデータベースをサーチしたり、特別なテキス
トリングを見付けるためにワードプロセッシングドキュ
メントをサーチしたりする例がある。サーチングはコン
ピュータを使用する場合にほとんど常に行われる作業な
ので、そのスピードは適用する処理速度に大きな影響を
与える。
連想マトリックスはノードとそのノードに互いに接続し
ているリンクからなるデータ構造になっている。リンク
は一方向のみだが2つのノードは各々の方向に1つづつ
2つのリンクを持っている。全てのリンクは同じコスト
および加重を有するものと見なされる。通常連想マトリ
ックスはインスタンスあるいはコンポーネントの間の関
係を、予め定められた関係を表すマトリックスの軸で記
憶する。このような連想マトリックスの特殊な応用例と
しては、デジタル電子装置の部品の間の接続を表すとい
うことが挙げられる。この場合システム内の各型式の信
号に対しては別の連想マトリックスが使われる。
他に可能な連想マトリックスの応用としては、1つのコ
ンポーネントがさらにいくつかのコンポーネントからな
るコンポーネントの階級や目的物指向コンピュータプロ
グラミングにおける目的物継承ネットワークを表示した
り、同じ平面上の目的物は全ての部分が連結されている
と見なされるような3次元の目的物の平面切断の表示が
挙げられる。
この連想マトリックスにしばしば実行されるサーチ作業
の主なものは、 所定のコンポーネントに接続された全てのコンポーネン
トを発見し、 2つのコンポーネントの間にパスがあるかどうかを調
べ、 どのコンポーネントがリンクの特定番号によって所定の
コンポーネントから到達可能であるかを調べ、 他のコンポーネントを構成している全てのコンポーネン
トを発見し、 他のコンポーネントがその一部となっている全てのコン
ポーネントを発見することである。
従来技術ではこの問題の解決方法には2つあった。その
1つは特定のノードに対する全てのリンクをそのノード
から始まる連結されたリストとして記憶することであ
る。この作業によって所定のノードに接続された全ての
ノードが容易に発見できるが、接続の数が比較的大きい
場合には記憶スペースのコストが高くなる。例えば1000
個のノードのそれぞれが他の100個のノードに接続して
おり32ビットのポインタが各接続に用いられている場合
には、3.2メガビットのメモリが接続に必要とされるこ
とになる。さらに固定数のリンク内の所定のコンポーネ
ントから到達可能な全てのコンポーネントを発見する作
業は、しばしば積重ね作業が必要があるために非常に遅
い。
第2番目の方法では、コンポーネントあるいはノード間
の接続がビットの方形マトリックス内に記憶される。マ
トリックスの軸はコンポーネントあるいはノードを表
し、行と列の交点でビットが1にセットされている場合
は2つの対応するノードあるいはコンポーネントが接続
されていることを示す。この方法は記憶スペースの点で
経済的であるが、ワードから単一ビットを抽出し、テス
トするのに複数の命令が必要であり、又マトリックスを
サーチするにはこの作業を多数回行わなければならない
ため、従来のプロセッサでは通常極めて作業が遅くな
る。
[発明の解決しようとする課題] この発明の目的は、従来に比較して高速で行うことので
きる連想マトリックスのサーチ方法を提供することであ
る。
さらに、この発明の別の目的は、マトリックスのノード
が連想サーチング装置により並列にサーチされるような
連想マトリックスのサーチ方法を提供することである。
[課題解決のため手段] この発明によれば、単一の順次制御指令によって多数の
データ要素について同時に同じ演算処理を実行する連想
アレイプロセッサを使用して関係する目的物のサーチを
行う方法において、各目的物は連想アレイプロセッサの
連想マトリックスの行および列の両者により表されてお
り、前記連想アレイプロセッサは、それぞれ複数の単一
ビットレジスタおよびデータメモリを含む単一ビットの
プロセッサセルが行および列に相互接続されたアレイに
よって構成され、前記データメモリはマトリックスの軸
の一つと関連して予め定められた関係をそれぞれ有し、
1つの目的物の行と他の目的物の列の交差点における論
理1によって示されている目的物間の関係を蓄積してお
り、連想マトリックス内でサーチされるべき選択された
目的物の行および列を識別し、選択された目的物と他の
目的物との間の予め定められた関係を識別するために選
択された目的物により識別される列の下の全ての行を同
時にサーチし、或いは選択された目的物と他の目的物と
の間の予め定められた関係を識別するために選択された
目的物により識別される行の全ての列を同時にサーチす
るステップにおいて、識別された列の下の全ての行の同
時のサーチまたは識別された行の全ての列の同時のサー
チは垂直または水平マスクの使用により行われ、それら
のマスクはマトリックスの1以上の選択された列または
1以上の選択された行に連想アレイプロセッサの動作を
制限し、状態指示器はサーチ動作中次の命令に対するマ
スクとして機能するためにセルの単一ビットレジスタと
関連していることを特徴とする。
[発明の効果] 本発明による行および列の同時サーチはサーチ速度を著
しく増加させることができる。
マトリックスからの関係の抽出はサーチメカニズムを制
御する垂直および水平マスクを操作することによってプ
ロセッサにおいて迅速、容易に実行されることができ
る。
[実施例] この発明は連想サーチ技術を用いて連想マトリックスを
サーチする方法に関する。この方法は連想プロセッサと
して知られる特別な型のプロセッサを使用するように設
計されている。この連想プロセッサは本発明で説明され
る連想サーチ技術を得るために必要な特徴を与えるもの
である。この発明に使用するのに適切な連想プロセッサ
の1例は本出願人の米国特許第4,507,748号明細書(対
応日本特許出願:特願昭58−139326号[特公平3−1273
9号])に記載されている。この発明を実行するには連
想アレイプロセッサがいくつかの特徴を備えていること
が不可欠であり、第1図に一例の概略が示されているよ
うな連想アレイプロセッサ(以下AAPと言う)として知
られるアレイから形成されなければならない。AAP28で
は単一の順次制御指令30が多数のデータ要素について同
時に同じ演算処理を実行する順次処理が行われる。この
AAP28は別々の単一ビットプロセッサセル34の方形アレ
イ32からなり、各単一ビットプロセッサセル34はそれぞ
れの演算論理ユニット(ALU)と、1組の多数の単一ビ
ットレジスタ、例えば64Kビットのような多数の情報を
記憶するためのデータメモリ36とを具備する。これらの
セルの対応する単一ビットレジスタ(例えば各セルの複
数の単一ビットレジスタのn番目のレジスタ同士)はAA
P28のマトリックス状の配置のレジスタアレイを形成し
ている。
アレイのセルは、行及び列として1つの行内のセルが多
重ビットデータ要素を処理することができ、かつデータ
が行間を垂直に伝送されることができるように相互に接
続されている。
データ要素の境界を識別する手段が設けられ、この作業
は行内の最上桁ビットと最下桁ビットのような、その行
における特定のビットを識別することによって行われ
る。各行内のデータ要素の大きさはアレイを通して均一
である必要はなく、特にアレイがデータベース用に使用
される場合には1つのレコード内の異なるデータ要素は
異なる値域を必要とするので、大きさも異なってくる。
前述したように、アレイ内のセルは全て同時に同じ命令
に従うが、セルの行及び列を無効にしたりマスキングし
て命令に従わないようにすることも可能でなければなら
ない。
データ要素が位置及び大きさで定められた場合は、その
特定のデータ要素位置内で各単一ビットプロセッサセル
に関連している単一ビットレジスタの全ての内容は、そ
れらの間で行われるべき演算、シフト、あるいはブーリ
アン命令を有する。そのような命令の結果は演算あるい
は論理の結果だけでなく、加算あるいは減算用のオーバ
ーフロー、整合用のゼロ、大きいものとの比較のための
プラス及び小さいものとの比較のためのマイナスなどの
適切な状態指示も含まれる。結果および適切な指示は次
の命令のためのマスクとして用いられることが可能であ
る。
各列には、その列の全てのセルと外部出力レジスタセル
との間を通信させる垂直バスが具備され、その垂直バス
は常に1回に1個のセルのみを伝送するように設定され
る。どのセルを選択するかは前述のマスク機構によって
行われる。
メモリビットからデータを取出すためのアドレスはメモ
リアドレスレジスタで発生される。出力レジスタからア
ドレスレジスタへのデータの伝送が可能でなければなら
ない。アレイ内に負荷させたりサーチや比較に用いられ
る値を保持するために、入力レジスタも具備されなけれ
ばならない。そしてこの入力レジスタ内に記憶された値
は、適当な列において全ての行で利用され、それによっ
て全ての行において同時サーチあるいは比較が行われ、
あるいは全てのエネーブルにされた行への入力レジスタ
の内容が伝送される。
第2図には前述のAAPの特徴を示す構成が示されてい
る。第1図で32で示されていたセル34のアレイは、第1
図で示されたような各セルは関連しているメモリ36を含
めたものとして第2図では参照番号202で示されてい
る。
また、第1図のアレイ32の1個のセル34とその隣接する
セルとの隣接およびアレイの外部の装置との接続は第3
図に示されており、この図では第1図で示されていたセ
ル34の1つがセル301として示されている。1つの列内
のセル間の接続は302および304で示され、1つの行内の
セル間の接続は321乃至326で示されている。1つの行内
のセル間の水平な接続線321乃至326の詳細な機能につい
ては前述の特公平3−12739号公報に記載されている。
各セルには垂直マスクへの接続線312と水平マスクへの
接続線314が設けられている。さらにセルと出力レジス
タ214間及び入力レジスタ206から1つの列内のセルへ垂
直にデータを伝送するために垂直バス316が具備され、
一方1つの行内のセルと水平データ/状態レジスタ208
との間に水平方向にデータを伝送するには水平バス318
が用いられる。
再び第2図を参照すると、垂直マスクレジスタ204の各
ビット位置はアレイの対応する列の各セルの垂直マスク
接続線312に接続されている。この垂直マスクレジスタ2
04は前述の垂直マスク機能を行い、さらに前記特公平3
−12739号公報に記載されているようなデータ要素の境
界識別手段と与えることもできる。水平マスクレジスタ
210は水平マスク機能を行い、複数のビットはそれぞれ
アレイ202の対応する行の各セルの接続線314に接続して
いる。前記演算命令が実行される時には、各行のデータ
に対する前記命令の結果に関する状態指示か得られ、伝
送され、記憶されなければならない。これは水平バス31
8を使用して実行され、水平データレジスタ208の対応す
るビット位置へ状態指示が伝送され、そこで状態指示が
記憶される。水平データレジスタ208は状態レジスタと
も呼ばれる。それから今度は水平データレジスタ208が
接続線212を介して水平マスクレジスタ210へ接続され、
そのレジスタ210は水平マスクとして演算命令の状態指
示を使用可能にする。垂直データ入力レジスタ206の対
応するビットは垂直バス316によって1つの列内の全て
のセルに、又さらに出力データレジスタ214の対応する
ビットに接続される。出力レジスタ214からのデータは
接続線218によってアドレスレジスタ216に伝送される。
入力レジスタおよび出力レジスタの機能は単一の入出力
レジスタにまとめることもできる。
第2図及び第3図に示された前述のAAPの動作を簡単な
例でわかりやすく説明する。今ここにインデックスファ
イルがあり、各レコード又は行がデータ要素A、B、C
を含み、データ要素の内任意のものあるいは全てが、特
別に記憶されたデータブロック及びファイル内に索引を
付けられた前記データブロックの位置付けのポインタを
識別するために使われると仮定してみよう。第4図には
インデックスファイルについて提案されたフォーマット
が示されている。16×16ビットのアレイを用いるとする
と、3ページのアレイメモリで図示されているフォーマ
ットで16のレコードを含有することになる。38で示され
たページ1は16個のレコード用のそれぞれ16個のビット
を保持するデータ要素Aを含み、各レコードに対して1
つの行があり、データ要素A内の情報の16ビットのそれ
ぞれに対して1つの列が与えられている。40で示したペ
ージ2には16個のレコードのそれぞれのデータ要素Bと
Cが含まれており、データ要素Bは10ビット、データ要
素Cは6ビットで構成されている。42で示されたページ
3は16個のレコードのそれぞれに対して1個の、記憶さ
れたデータブロックに対する16個のポインタを含有して
いる。
インデックスのページがページ2の一部として示された
データ要素BあるいはフィールドB内の値25に対してサ
ーチされ、そのページ内のただ1つのレコードが値25を
取るとしよう。この場合注意しなければならないのは、
(フィールドBで)サーチされるべき値の順序は特定す
る必要がないということである。以下第5図及び第6図
を参照して作業の流れを説明する。なお、この第5図以
下の図面は個々のセル34の1つの単一ビットレジスタを
組合わせたアレイで構成されたレジスタアレイ(例えば
第5図のレジスタREG1)と、第2図のセルアレイ202の
周囲の外部のレジスタ、すなわち垂直マスクレジスタ20
4、垂直データ入力レジスタ206、水平データレジスタ
(状態レジスタ)208、水平マスクレジスタ210、および
アドレスレジスタ216を示しているが、それらの間の接
続線は省略されている。
1)まず、ページ2のアドレスがアドレスレジスタ216
に負荷され、パージ2に記憶された16個のレコードのフ
ィールドBとCが取出され、第2図に示されたアレイ20
2の各セルに関連する1ビットレジスタから構成された
例えば第5図に示すような1ビットレジスタから構成さ
れたアレイよりなるレジスタ1に記憶される。
2)サーチされるべき値25がデータ入力レジスタ206の1
0個の最上位桁ビットへ負荷され、アレイの10個の最上
位桁ビットをエネーブルにする、すなわちフィールBに
対応するマスクが垂直マスクレジスタ204へ負荷され
る。
3)入力データ値25に対してフィールドB内の16個のデ
ータ値がサーチされる。この例の場合に、値25を含む行
9がサーチされている値25に適合し、状態レジスタとも
呼ばれる水平データレジスタ208内の対応するビット位
置に結果1として指示される。
4)アドレスレジスタ216はポインタを含むページ3の
アドレスに変換され、そしてページ3のポインタは取出
され、1ビットレジスタから構成されたレジスタアレ
イ、例えばレジスタ2に記憶される。
5)アレイの列を全てエネーブルにするために垂直マス
クレジスタ204にはビットが全て1になっているマスク
が負荷され、状態レジスタ208の内容は水平マスクレジ
スタ210へと伝送される。プロセスのこの状態は第6図
に示されている。
6)行9内に見られる特定のポインタP9が水平マスクレ
ジスタ210によってエネーブルにされ、垂直バス316を介
して出力レジスタ214、さらにアドレスレジスタ216へと
伝送される。そしてこのアドレスはインデックス内に見
られるエントリ25に対応する記憶されたデータブロック
の最初のページを取出すのに用いられる。
本発明の方法では前述したようにAAPの連想サーチの特
性を生かしている。
既に述べたようにこの方法では2つの型のデータ構造が
利用されている。理想マトリックス内の関係している所
望の情報の位置を決めるために、いくつかの型のインデ
ックス機構を用いることができる。ここではマトリック
スの行と列で表示されるインスタンスあるいはコンポー
ネントの単なるリストである名簿を用いている。これら
のインスタンスあるいはコンポーネントが記憶されてい
る順番や特定のインスタンスを見付けたり新しくインス
タンスを加えたりする方法は本発明とは関係ない。又任
意の従来技術が使用されることができる。名簿にはイン
スタンスあるいはコンポーネントを関係づける情報は保
持されておらず、名簿エントリが保持できるのはインス
タンスやコンポーネントの識別に関するような情報であ
る。例えば名簿は単なる番号付けされたコンポーネント
のリストであり、マトリックス内で行及び列を同じ番号
で捜すことによってコンポーネントは発見されることが
できる。
コンポーネントあるいはインスタンスの間にある関係の
型式の定義、及びどのようにこれらの関係が記憶される
べきかは予め決められる。第7図には8個のコンポーネ
ントあるいはインスタンスを持つ名簿用のマトリックス
が表されており、図示の連想マトリックスから、関係す
る情報がどのように記憶されることができるかがわか
る。連想、リンク、関係の記憶には2つの型式がある。
その1つは列方向の関係であり、もう1つは行方向の関
係である。これらの関係はマトリックスを形成する前に
予め定められる。
例えばマトリックスがコンポーネントの階級的関係を有
するように構成され、それにおいては1つのコンポーネ
ントが他の複数のコンポーネントから構成され、或いは
1つのコンポーネントが他のコンポーネントの一部にな
っている。この関係はマトリックスの軸によって表され
る。列方向の関係は、列によって識別されるコンポーネ
ントを“構成する”全てのコンポーネントとして定義さ
れることができる。もしコンポーネントC3を構成してい
る全てのコンポーネントを発見したい場合には、C3での
第3列目の、1レベルにセットされたビットをサーチす
ればC3がコンポーネントC2とC7から構成されていること
がわかる。同様にC1はC3とC6から、C5はC2とC8から、C6
はC2から、C8はC7から構成されている。コンポーネント
C2、C4、C7はその列が全て0になっており、他のコンポ
ーネントから構成されていないため、原始部分と考え
る。
行方向の関係はより高度なコンポーネントの“一部とな
っている”全てのコンポーネントとして定義される。こ
の関係を構成するための動作は行方向で実行される。第
2の行をサーチするとC2がC3、C5、C6で使用されている
ことがわかる。そしてこれらのコンポーネントを行方向
でサーチングしていくとC3とC6はC1で使用され、C7はC3
とC8で、C8はC5の一部であることがわかる。
この反復サーチはどちらの方向にも、何回でも実行する
ことができ、又行及び列用のマスクを操作することによ
って統合される。列値及び行値の識別は続いて述べる課
題ではあるが、非常に大きなデータベースのサーチング
において重要な位置を占めるため、ずっと高いレベルに
重きをおく必要がある。
よりスケールの大きなサーチの場合は第8図に示された
ダイヤグラムを用いて説明することができる。ここでは
特に根拠なく16×16ビットアレイを選んでいるが、どの
ようなビット配列を選んでもよい。この配列を仮定して
インスタンスの名簿の物理的な外形を作り、インスタン
ス間の関係を図形化してみる。例を簡略化するために、
ワードの大きさを16ビット、名簿内のページ数を10とす
る。例として線状サーチを使用する。AAPの連想特性に
よりエントリはどのような順においてもよい。要求され
た作業がC20と付けられたコンポーネントと他の全ての
コンポーネントとの関係を見つけることであると仮定す
ると、作業の流れは以下のようになる。
1)連想マトリックス内のノードによって表示されるコ
ンポーネントの位置について名簿をサーチし、 2)連想マトリックス内に記憶されたデータを操作する
ための適切なマスクをセットし、 3)前記コンポーネント間の関係のための連想マトリッ
クスをトラバースする。
C20が名簿内の5番目のパージの5番目の行にあること
が検索される場合には、C20を形成する全てのコンポー
ネントを見つけるために、連想マトリックスの第5、1
5、25、35、45、55、65、75、85、95ページ目の列5を
サーチしなければならない。同様にC20がその一部とな
っている全てのコンポーネントを見つけるために第51ペ
ージから第60ページの第5番目の行がサーチされる。よ
り深いレベルの情報が要求される場合には、マトリック
スのトラバースが、最初のトラバースで活性化状態とわ
かったビットによってセットされたマスクをさらに操作
することにより実行される。
説明を簡潔にするために、AAP命令セットに関する名簿
内のただ1つのページに前記サーチ機構を実行する際の
過程を説明する。
名簿のサーチ 任意のコンポーネント識別値が記憶されている順序不同
の名簿をサーチするのに線状サーチ方法を使用すること
ができる。パラメータが与えられた場合、名簿内のコン
ポーネントC20をサーチするための作業の流れは次のと
おりである。
1)名簿内でサーチされるべきコンポーネントを表す値
C20が入力レジスタ206へ負荷される。水平マスクレジス
タ210および垂直マスクレジスタ204が全ての行および列
をエネーブルにするために図示のように全ての位置で論
理1に設定される。メモリ内の最初のページのアドレス
がメモリアドレスレジスタ216に送られ、名簿のページ
1がアレイ中に入力され、例えば第9図に示されたレジ
スタ1中に記憶される。
2)入力レジスタ206とレジスタ1との間で並列の比
較、例えば減算による比較が行われ、その結果各行の状
態を指示するための情報が状態レジスタ208の対応する
ビットに記憶される。状態レジスタ208内の論理1はそ
れに対応する位置に一致するものが存在することを示し
ており、一方論理0は一致するものが存在しないことを
示している。
3)次に、付勢されているビットがあるか否か、すなわ
ち論理1となっているか否かを発見するために、状態レ
ジスタ208の内容が検査される。付勢されたものが存在
しない場合には次のページのアドレスが発生され、上述
の順序の作業が反復される。このような名簿サーチ機能
を行うレジスタの状態は第9図に示されており、図では
状態レジスタ208の行5で入力レジスタ206に入力された
値C20と一致するものがあることが示されている。
名簿内の一致した位置はコンポーネント間の関係を記憶
する連想マトリックスを操作する上での基本的な鍵であ
る。例えば第5番目のページの第5番目の記録がC20と
一致した場合に、第5番目の行に対応している状態レジ
スタ208の第5番目のビットは第5番目のページがサー
チされたときに論理1を有している。
マスクレジスタの内容は通常マトリックスについてサー
チを行うためにアレイの行或いは列をエネーブルするの
に使用されるが、その代りにマスクによりエネーブルに
なった行(或いは列)に対応する論理1の行(或いは
列:サーチの型式により異なる)を含むデータの平面間
の論理演算ANDを実行することもできる。その場合はこ
のパターンが後の作業に使用される主メモリのページに
記憶されることができる利点がある。
水平マスクは以下のようにして設定される。第9図に示
されている状態レジスタ208の内容が第10図に示された
ように水平マスクレジスタ210へ移動され、それによっ
て第10図では第5番目の行だけがエネーブルにされて次
の命令に対して応答できるようにされる。全て論理1で
ある1つの行が入力レジスタ206に負荷され、レジスタ
群中の1つのレジスタである例えば第10図に示されてい
るレジスタ2へ伝送され、それによって論理1が付勢さ
れた行5の全ての位置に負荷される。このパターンは後
の使用のために記憶される。
垂直マスクは以下のようにして設定される。第11a図に
示されているように対角線上に1が並んでいるデータ平
面がレジスタ群中の1つのレジスタ、例えばこの図に示
されているレジスタ4に負荷される。エネーブルとなっ
た行のみが負荷されるので、この例では第5番目のビッ
トが設定されてその情報が入力・出力レジスタ206へ伝
送される。次に第11b図に示されているようにマスクレ
ジスタ204および210の両者が全ての行および列をエネー
ブルにするように設定され、入力・出力レジスタ206内
のパターンが全ての行に伝送され、それによって第11b
図に示されているようなパターンが得られる。
連想マトリックスのトラバース 連想マトリックスのトラバースは反復作業である。付加
関係がそれ以上存在しないか、設定された数の関係が発
見されたか、或いはある値が決定されたときには、サー
チはその深さで終了される。
第9図の名簿のサーチに適用可能な連想マトリックスの
1例は第12図に示されている。C20の一致は名簿の第5
番目の位置で認められ、水平マスクおよび垂直マスクは
レジスタT2(第10図)およびレジスタ4(第11b図)に
それぞれ記憶される。C20を形成する全ての部分を発見
するために、第5番目の列でエネーブル状態の全てのビ
ットをサーチし、他に付勢されたビットが認められなく
なるまで繰返してサーチされる。この作業は以下のよう
な手順で行われる。
1)第12図に示すように、水平マスクレジスタ210およ
び垂直マスクレジスタ204の全ての位置に1を入力して
全ての行および列をエネーブルにする。
2)連想マトリックスのデータをレジスタ8へ負荷す
る。記憶された垂直マスクを有している第11b図に示さ
れるレジスタ4と第12図に示されるレジスタ8との間で
AND演算を行う。このAND演算の結果は第12図に示される
状態レジスタ208にセットされ、C20を形成する部分であ
る第9図に示されているC10,C30およびT07に関する第2
番目、第4番目、第13番目に一致があることが示され
る。
次に、第13図に示すように状態ビットを水平マスクレジ
スタ210に移動させ、垂直マスクレジスタ204の全ビット
位置を1に設定し、名簿ページを負荷させ、その後第13
図に示されたような付勢された行の内容を出力レジスタ
206に1回に1つづつ伝送することによって状態ビット
位置を名簿に関係づけて出力することができる。
この簡単な例によってレベルを1つ下げてトラバースを
行う方法が理解できるであろう。多段階レベルのトラバ
ースを行う場合、すなわちC10,C30およびT07を構成して
いるサブコンポーネントを識別する場合には、以下説明
するようにサーチ作業を反復的に実行すればよい。この
反復的なサーチ作業によって、状態ビットはレジスタに
保存され、サブコンポーネントがそのメインコンポーネ
ントを求めてサーチされる都度、水平マスクレジスタ21
0に負荷される必要がある。
1)前記状態ビットを水平マスクレジスタ210に負荷す
ることによって各状態ビットに対して新しい垂直マスク
を形成する。このようにして予め設定されたビットが関
係する行を付勢することができる。第14a図に示されて
いるレジスタ9の対角線上の位置で1になっている新し
い行を負荷させ、出力レジスタ206に1回に1つづつビ
ットの付勢された行を伝送する。C10に関するビットに
対して適用する作業は第14a図に示されており、各行は
出力レジスタ206から垂直マスクレジスタ204へ移動され
る。
2)次に水平マスクレジスタと入力レジスタの全ての位
置を1に設定する。
3)連想マトリックスの付勢された列内の全てのビット
を比較する。第14b図において全て0になっている第2
番目の列が認められ、C10を形成するコンポーネントは
他にないことが認められる。C30とT07に関しても同様の
方法で作業が実行され、列中の位置が全て0になってい
る第4番目および第13番目の列によってその他のサブコ
ンポーネントがこれらのコンポーネントを形成していな
いことが認められる。
【図面の簡単な説明】
第1図は連想アレイプロセッサの概略図であり、 第2図は連想アレイプロセッサおよびその制御装置のブ
ロック図である。 第3図はアレイ内のセルの接続を表し、 第4図はインデックスファイルの外形である。 第5図及び第6図はサーチ内のポイントでの連想アレイ
プロセッサの状態を表し、 第7図は簡略化した連想マトリックスを表す。 第8図はダイレクトリと、ダイレクトリが10ページの時
の16×16ビットアレイ用の連想マトリックスである。 第9図、第10図、第11a図、第11b図、第12図、第13図、
第14a図及び第14b図はサーチを実行中の連想アレイプロ
セッサの種々の状態を表す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジヨン・マイケル・コツトン アメリカ合衆国,コネチカツト州 06855, イースト・ノーウオーク・サスカ・ロード (番地無し)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】単一の順次制御指令によって多数のデータ
    要素について同時に同じ演算処理を実行する連想アレイ
    プロセッサを使用する関係する目的物のサーチ方法にお
    いて、 各目的物は連想アレイプロセッサの連想マトリックスの
    行および列の両者により表されており、 前記連想アレイプロセッサは、それぞれ複数の単一ビッ
    トレジスタおよびデータメモリを含む単一ビットのプロ
    セッサセルが行および列に相互接続されたアレイによっ
    て構成され、前記データメモリはマトリックスの軸の一
    つと関連して予め定められた関係をそれぞれ有し、1つ
    の目的物の行と他の目的物の列の交差点における論理1
    によって示されている目的物間の関係を蓄積しており、 連想マトリックス内でサーチされるべき選択された目的
    物の行および列を識別し、 選択された目的物と他の目的物との間の予め定められた
    関係を識別するために選択された目的物によって識別さ
    れた列の全ての行を同時にサーチし、或いは選択された
    目的物によって識別される行の全ての列を同時にサーチ
    するステップにおいて、識別された列の下の全ての行の
    同時のサーチまたは識別された行の全ての列の同時のサ
    ーチは垂直または水平マスクの使用により行われ、それ
    らのマスクはマトリックスの1以上の選択された列また
    は1以上の選択された行に連想アレイプロセッサの動作
    を制限し、 状態指示器はサーチ動作中マスクとして機能するために
    セルの単一ビットレジスタと関連していることを特徴と
    する目的物のサーチ法。
  2. 【請求項2】サーチの第2の繰返しを行うためにサーチ
    で識別された行または列をエネーブルするステップを含
    む請求項1記載の方法。
  3. 【請求項3】サーチの次の繰返しでサーチされるべき行
    をエネーブルする水平マスクを形成するために所定の行
    の論理1への設定を発見するビットを使用するステップ
    を含む請求項2記載の方法。
  4. 【請求項4】サーチの次の繰返しでサーチされるべき列
    をエネーブルする垂直マスクを形成するために所定の列
    の論理1への設定を発見するビットを使用するステップ
    を含む請求項2記載の方法。
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 JPS6143339A (ja) 1986-03-01
JPH0766391B2 true 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
KR920006794B1 (ko) 1992-08-17
ES545475A0 (es) 1986-12-01
ES8703027A1 (es) 1986-12-01
JPS6143339A (ja) 1986-03-01
DE3587612T2 (de) 1994-03-10
IN165309B (ja) 1989-09-16
EP0170443A3 (en) 1989-04-12
AU577396B2 (en) 1988-09-22
BR8503161A (pt) 1986-03-25
AU4500285A (en) 1986-02-06
KR860001385A (ko) 1986-02-26
ZA855324B (en) 1986-03-26
DE3587612D1 (de) 1993-11-11
EP0170443A2 (en) 1986-02-05
EP0170443B1 (en) 1993-10-06
MX170696B (es) 1993-09-07

Similar Documents

Publication Publication Date Title
US4053871A (en) Method and system for the iterative and simultaneous comparison of data with a group of reference data items
Kohonen et al. Logic Principles of Content-Addressable Memories
US6526474B1 (en) Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US5293616A (en) Method and apparatus for representing and interrogating an index in a digital memory
JPH0652225A (ja) ファイル検索方法及びシステム
US4780810A (en) Data processor with associative memory storing vector elements for vector conversion
EP0321493A4 (en) A content-addressable memory system
JPH0766391B2 (ja) 連想マトリツクスのサーチ方法
US4153943A (en) High speed I/O for content addressable type memories
US4327407A (en) Data driven processor
EP0456675B1 (en) Signal processing apparatus and method
EP0232376B1 (en) Circulating context addressable memory
US6144966A (en) Transformation system and method for transforming target data
JPS599992B2 (ja) 連想記憶装置
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
US4077029A (en) Associative memory
JP2604787B2 (ja) 二次元データ格納方式
Rosenberg Simulating a stack by queues
RU2037215C1 (ru) Запоминающее устройство
Resnick et al. DMAP-A COBOL extension for associative array processors
JPH048814B2 (ja)
JPH0315772B2 (ja)
KR100232489B1 (ko) 계층적 플래그 상태 레지스터
JPH03100997A (ja) 選択的連想記憶装置及びその制御方式
Muth et al. A Memory Organization for an Elementary List-Processing Computer