JPH02501604A - 連想記憶メモリシステム - Google Patents
連想記憶メモリシステムInfo
- Publication number
- JPH02501604A JPH02501604A JP62505293A JP50529387A JPH02501604A JP H02501604 A JPH02501604 A JP H02501604A JP 62505293 A JP62505293 A JP 62505293A JP 50529387 A JP50529387 A JP 50529387A JP H02501604 A JPH02501604 A JP H02501604A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- shift register
- bitmap
- index
- memory system
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 201
- 238000000034 method Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 29
- 238000012360 testing method Methods 0.000 description 29
- 239000011159 matrix material Substances 0.000 description 23
- 238000012546 transfer Methods 0.000 description 15
- 210000004027 cell Anatomy 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000013519 translation Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 2
- 235000011613 Pinus brutia Nutrition 0.000 description 2
- 241000018646 Pinus brutia Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100460700 Aspergillus sp. (strain MF297-2) notG gene Proteins 0.000 description 1
- 102100036873 Cyclin-I Human genes 0.000 description 1
- 101100373011 Drosophila melanogaster wapl gene Proteins 0.000 description 1
- 101000713124 Homo sapiens Cyclin-I Proteins 0.000 description 1
- 235000007688 Lycopersicon esculentum Nutrition 0.000 description 1
- 241000287462 Phalacrocorax carbo Species 0.000 description 1
- 240000003768 Solanum lycopersicum Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000012396 long COVID-19 Diseases 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 210000004483 pasc Anatomy 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
連想記憶メモリシステム
本発明は連想記憶メモリシステムに関する0本発明は又能動メモリ回路及び1つ
又はそれ以上の能動メモリ回路を含んでなる連想記憶メモリシステムにも関する
。
各レコードが多数の属性又は多数の情報を含む様なレコード形式におけるデータ
を多量に含むコンピュータシステムにおいて、各詳細レコードがその記憶ロケー
ションのみに基いてアクセスされるとすれば特定の属性を有するレコードを見い
出すためのレコードのサーチの処理はかなりの量の計算時間を要することになろ
う。
この問題はディスクの様な外部記憶装置に記録が格納される場合に一層強調され
る。
この問題を緩和する1つの方法はレコードをその属性又は内容に基いてアクセス
可能な形で格納することである。この種のメモリシステムは連想記憶メモリシス
テムとして知られそれを実現する1つの方法はレコードのファイルをビットマツ
プマトリクスを形成する様にコード化することでありそれに基いてサーチが行な
われて特定の命題を満足するレコードが見い出される。
ビットマツプマトリクスは各行が特定のレコードを表わし各列がビットマツプと
して知られるビットの配列を具備している。用いられたコード化の形式に応じて
行内の各ビットは通常それぞれのレコードの予め定められた属性を表わす。その
ビットが1であればレコードは属性を持ちそのビットがOであればレコードは属
性を持たない、したがって、各ビットマツプはどのレコードが特定の属性を持ち
どれが持たないかの指標を提供する。
どのレコードが特定の属性の組み合わせを持つかの様な複合した命題については
その命題に対応する選択されたビットマツプに対する論理演算又は一連の論理演
算を行なってどのレコードが命題を満足するかに関する指標を提供するビットマ
ツプを発生することによって解決される。
本発明の1つの目的はホストコンピュータと共に用いられ比較的安価であり比較
的高速にレコードをサーチすることが可能な連想記憶メモリシステム、特に速度
に関してはメモリシステムなしでホストコンピュータによってサーチが達成され
るであろう速度の連想記憶メモリシステムを提供することである。
本発明の別の目的は、ビットマツプマトリクスに対する論理演算を達成すること
が可能な活性メモリ回路を提供することである。
本発明のさらに別の目的は、1つ又はそれ以上の活性メモリ回路を含む連想記憶
メモリシステムを提供することである。
本発明によれば、複数のレコードを記憶するホストメモリとホストプロセッサバ
スを有するホストコンピュータとの結合のための連想記憶メモリシステムであっ
て、該メモリシステムは:
該ホストコンピュータに記憶されるレコードを表現するビットマツプマトリクス
を記憶するためであって、使用において、該ホストプロセッサバスへ接続され該
ホストコンピュータによってアドレス可能なインデクスメモリ手段と、該メモリ
手段に記憶されたビットマツプをアクセスし該ビットマツプに対するビットマツ
プ演算を達成し、使用において、該ホストプロセッサバスへ接続され該ホストコ
ンピュータより制御されるインデクスプロセッサ手段と、該インデクスメモリ手
段と該インデクスプロセッサ手段との間に接続され、該メモリ手段と該プロセッ
サ手段との間のビットマツプの通過のために採用されたメモリシステムバスとを
具備する連想記憶メモリシステムが提供される。
好適には前記インデクスメモリ手段は複数のインデクスメモリを具備し該複数の
インデクスメモリの各々は:メモリセルのアレイと;
シフトレジスタであって、該アレイへ接続されたパラレル人力/出力バスと、該
シフトレジスタの対向する端部におけるシリアル入力ポート及びシリアル出力ポ
ートとを有し、該パラレル人力/出力バスは該アレイ内のデータの選択された行
のアクセスが可能であるシフトレジスタとを具備し:前記メモリシステムバスは
8亥インデクスメモリの8亥シリアル入力及び出力ポートを前記インデクスプロ
セッサ手段へパラレルに接続し;
同時にアクセスされた該データの選択された行は少なくとも1つのビットマツプ
を形成する。
本発明によれば行及び列に配置され少なくともビットマツプの一部を記憶するの
に適するメモリセルのアレイと;少なくともビットマツプの一部を記憶するのに
適したシフトレジスタと;
該アレイと該シフトレジスタとの間に接続された論理ユニットとを具備し、
該アレイ、シフトレジスタ及び論理ユニットは集積回路よりなり、該シフトレジ
スタは該アレイの選択された列をコピーすることが可能であり、該論理ユニット
は該シフトレジスタの内容と該アレイの選択された列との選択された論理演算を
達成することが可能であり、該演算の結果は該シフトレジスタ内に記憶される能
動メモリ回路が提供される。
本発明によれば以上に定義した1つ又はそれ以上の能動メモリを含む以上に定義
した連想記憶メモリも又提供される。
本発明の好適な具体例が以下の添付図を参照して単なる例として記述される:
第1図はレコードの配列とレコードの配列に対して与えられた命題に対応するビ
ットマツプの図であり;第2図は複合命題に呼応するビットマツプを発生する複
数の成分命題に呼応するレコードを表わす複数のビットマツプの図であり;
第3図はレコードのアレイに対するスーパーインポーズドコードインデクスを含
むビットマツプマトリクスの図であり;第4図はプール属性を表わすビットマツ
プの図であり;第5図は2進数でコード化された属性に対する論理演算を含むビ
ットマツプマトリクスのサーチの図であり;第6図はビットマツプマトリクスに
対して行なわれるより大/より小の分類の図であって分類を達成するアルゴリズ
ムのリストを含む図であり;
第7図はいかにしてビットマツプマトリクスの最小値が見い出されるかを表わす
図であって最小値を決定するアルゴリズムのリストを含む図であり;
第8図はホストコンピュータに付属した本発明に係るメモリシステムのブロック
図であり;
第9図は第8図のシステム内のメモリの配置を示す図であり;
第10図は第8図のシステム内のメモリの配置をさらに示す図であり;
第11図は第8図のシステムが遂行することができるビットマツプ演算を表わす
図であり;
第12図は第8図のシステムのメモ、リチップの図であり;第13図は第8図の
システムのメモリユニットの図であり:第14図は第8図のシステムのインデク
スプロセッサの図であり:
第15図は第8図のシステムのデータの流れの図であり;第16図は本発明に係
る能動メモリ回路のブロック図であり:
第17図は第16図の回路のより詳細なブロック図であり:第18図は第16図
の回路のシフトレジスタセルと論理セルの回路図であり;
第19図は第16図の能動メモリを採用するインデクスメモリシステムのアーキ
テクチアの図であり;第20図はスーパーインポーズドコードワード計算ユニッ
トの図であり;
第21図は呼応するレコードのアドレスを決定し記憶するためのユニットの図で
あり;
第22図は圧縮/拡大ユニットの図であり;第23図は特殊なテーブル参照ユニ
ットの図であり;第24図は複数のカスケード接続された能動メモリの図であり
;
第25図は第16図の能動メモリ回路を採用した第8図のメモリシステムの図で
ある。
第1図に示されるファイル2はコンピュータシステム内に組み込まれたメモリ内
又はディスクの様な二次記憶装置上に記憶され、多数のレコード4を具備してい
る。ファイル2を指標付は又はサーチするにあたり、1組のレコード4が特定の
性質又は命題に合うか否かを決定する必要がある。例えば各レコード4は車両の
色、車両の所有者、車両が登録された州、及び登録の日付の様な車両登録に関す
る情報を含んでいる。第1図に示される様に、成る命題はどの車両が赤色で、N
、S、W、州で登録され、1985年1月1日以後に登録されたかをファル2よ
り決定することである。その様な命題に対応するレコードの組は第1図に示され
る様にビットマツプ6から決定することができる。ビットマツプ6はレコード4
の1個あたり1ビツトのビット配列である。特定のレコード4に対応するビット
はそのレコード4が命題を満足又は命題に呼応すれば′1となり呼応しなければ
0となる。かくして、ビットマツプ6は命題を満足するレコードの組の圧縮され
た表現を与える0図示された例において、4096個のレコードのテーブル又は
ファイル2はビットマツプ6のために4096ビツト又は512バイトを必要と
する。
第1図は成る複合命題を表わしている。複合命題に呼応するビットマツプ6又は
レコード4は第2図に示される様に複合命題を構成する成分の単一命題に呼応す
るレコードを表わすビットマツプ8,10、及び12に対する簡単な論理演算に
よって計算することができる。前の例にしたがって、命題はそれぞれレコード内
において車両が赤色であるレコード、N、S、W、州で登録されたレコード、登
録の日付が1985年1月1日以降であるレコードを示す3つのビットマツプ8
.10及び12を決定するために3つの命題に分解することができる。
第2図に示される様に3つのビットマツプ8.1(lび12へのAND演算を行
なうと複合命題に呼応するレコードを表わすビットマツプ6が得られる。各ビッ
トマツプがメモリ内に保持されれば、初等的なビットマツプ8,10及び12が
既に得られているとして最終的なビットマツプ6の計算は即座に行なえる。
高速のビットマツププロセッサによる充分な恩恵を受けるためには、それ以上に
初等的なビットマツプに対する論理演算によって初等的命題のビットマツプを計
算することが可能である必要がある。この事を達成する1つの方法は“Part
ial−Match Retrieval via Plethod of S
uperimposed Codes” Robe−rts C,S、(197
9) Proceedings of IEEE Vol、67、Na12.p
p、1624−2642に記載のスーパーインポースドコードインデクス法を使
用することである。この方法を第3図を参照して概略的に記述する。レコード4
の配列はビットマトリクス14としてスーパーインボーズドコードインデクス内
に表わされている。
前の例にしたがってどのレコード4が赤い車両を有しているかを決定するために
、予め定めた命題コード2oが発生される。コード20は命題を満足するために
は命題に呼応するレコードを示す最終的なビットマツプ22を決定するためにビ
ットマツプの列16及び18について論理的AND演算がなされなければならな
いことを示している。マトリクス14の各列はビットマツプであると考えられ命
題2oによって示される論理演算を達成することによってビットマツプ22が得
られる。
スーパーインポーズドコードインデクスの利点は次の様である:
1、 指標(インデクス)が圧縮されており例えば4096個のレコードに対す
る指標はメモリを64にバイトしか占有しない。
Z 指標が第3図に示される様な列フォーマットで表わされれば、任意の特定の
命題に対して指標の一部のみが処理される。
スーパーインポーズドコードインデクスの威力は着目するレコードの属性がこの
形で表わされる様な方法を用いることによって増大される。
しかしながら、スーパーインポーズドコードの欠点は次の様である:
1、 すべての順序情報が失なわれるのでより大きいかより小さいかの命題は達
成されないが、それらはしばしば不連続の属性の様に範囲をコード化することに
よって近似される。
2、 誤選択が起こる成る(通常は小さい)Wi率が存在するので、命題に呼応
してつくられるビットマツプは命題を満足又は命題に呼応するレコードの組以上
を含んでいる。この事に関する主な問題点は非等値命題に呼応するレコード例え
ばN、S、W、で登録されていない車両を見い出す目的でスーパーインポーズド
コードを使用することはできないということである。
しかしながら指標を処理する別の方法がある。レコードのプール属性は単一のビ
ットとしてコード化することができて、例えば属性が車両の所有者が登録費を支
払ったか否かであれば単に真又は偽の答えが要求される。第4図に示される様に
レコードのプール属性は、レコード28の配列26についてのものであり属性を
表わす単一のビットを具備するビットマツプ24を単に調べるだけで決定するこ
とができる。ビットマツプ24は属性が真であるかの即座の指示を捉供する。属
性が偽となる命題に対するビットマツプ30は、第4図に示される様にマツプ3
0の論理的反転をとることによって計算される。
これは第5図に示される様に、完全等値性命題がもたらされるプロセスに導かれ
る。成る属性、例えば登録の州が2進数でコード化されその属性のテーブル32
はプール属性の集まりであり、完全等値性命題は真及び偽のプール命題の連続と
して配置することができる。非等値性命題は同様にして処理することができる。
第5図に示される様に、一連のプール演算又は論理演算がテーブル32の列34
、36及び38に関して実行されて登録の州がN、S、W、であるレコードを
示すビットマツプ39が決定される。
しかしながら前述のアプローチの欠点は属性の有するビット数が少数(すなわち
5以下)でなければ命題に呼応するレコードの組を計算するためにスーパーイン
ポーズドコード属性におけるよりも多大な時間を必要とすることである。しかし
ながら、それは可能な値の数が非常に少ない属性については部分的ながら有益で
ある。
第6図に示される様に、レコードの順序を決定することを含む命題はビットマツ
プを用いて計算することができる。境界値よりも大きいか小さいかを決定するア
ルゴリズムが第6図にPASCAL形式で詳述されており、ここでラベルL、G
及びB [i] はビットマツプの列又はkXfビットマトリクスを表わし、k
はテーブル40内のレコードの数であり、nはテーブル40内のコード化された
レコードのビット数である。Wはテストワード42でありより大又はより小命題
の基本となるコードを表わす。このアルゴリズムは命題内に設けられたテストワ
ード42に関してテーブル40内のレコードの分類を達成する。アルゴリズムは
テストワード42より小であることが知られたレコードを表わすLマツプ44と
テストワード42より大であることが知られたレコードを表わすGマツプよりな
る2つの作業用ビットマツプを有している。テストワードとは異なる最初のビッ
ト(最上位ビットから最下位ビットへと比較する)がテストワード内の対応する
ビットよりも大であるならば所与のワード又はコード化されたレコードはテスト
ワード42より大である。そのビットはO又は1の値しかとれないので成るワー
ドがテストワードより大であるならば最初に異なるビットテストワードにおいて
Oでコード化されたレコード又はワードのそのビットは1であるはずである。テ
ストワード内の成るビットがOであるならば、そのビットが考慮中のビットであ
る時テストワードより大であると決定されたコード化されたワードの組はそのビ
ットにおいて1であるコード化されたワード又はレコードの組である。
同様にして、特定のビット位置においてテストワードが1を存するならば、その
ピント位置の考慮においてテストワードより小であるコード化されたワードの組
はそのビット位置において0の値を有するコード化されたレコードの組である。
テストワード42が特定のビット位置において0を有する時、テーブル40の分
類されていない参照値或いはコード化されたワードはテスワード42に等しくあ
り続けるか又はテストワード42より大であると決定されるかのいずれかである
。テストワード42がそのビット位置において1である時、分類されていないコ
ード化されたワードはテストワード42と等しくあり続けるか又はテストワード
42より小であると決定されるかのいずれかである。一度でもコード化されたワ
ードがテストワードより大又は小と分類されたら、その分類は変更されない。分
類操作は1つの属性あたり数ピントマツプの操作が必要とされるので、本質的な
順序情報を保護する方法において粗な属性をコード化することは経済的であろう
。
例えば、1年の範囲を有する日付属性は9ビツトにコード化される。
連想メモリの文献からのアルゴリズムを採用することによって、第7図に示され
る様に、属性の最小値及び最小値を含むレコードの位置を見い出すことがビット
マツプ操作を用いて可能となる。第7図にリストされたアルゴリズムはPASC
AL形弐でありラベルM及びB [i] はビットマツプの行を表わしW[i]
はビットマトリクス48のうち最も小さい又は最小のコード化されたワードの
1つのピントを表わす。アルゴリズムの完了後のMビットマツプ50はどのレコ
ードがマトリクス48のうち最小のコード化されたワードを含むかを示し、nは
マトリクス48のコード化されたレコード内のビット数である。このアルゴリズ
ムは一度に左から右へ(最上位ビットから最下位ビットへ)マトリクス48のビ
ットマツプを解析することによって最小のワードW52と共にMビットマツプ5
0を計算する。
マトリクス48の任意の特定のビット位置においてビットマツプ50は未だ捨て
られていないレコードに関する指示を含みワードW52はそれまでに決定された
最小ワードのピントを含むであろう。未だ捨てられていないレコードがそのビッ
ト位置において値Oであるコード化されたワードを有する時、そのビット位置に
おいてlであるコード化されたワードを有するレコードは最小ではあり得ない、
そのビット位置において1であるコード化されたワードを有するレコードに対応
するビットマツプ50内のビットはは必然的にOとなる。最小のワードも又その
ビット位置においてOを有する。しかしながら、未だ捨てられていないレコード
のすべてが考慮下のビット位置において1であれば、すべてのレコードは捨てら
れず最小ワードはそのビット位置においてlとなるであろう。
アルゴリズム内のステップ(M AND B[i])=Mは演算(M ANDB
[i]) XORMによって発生するビットマツプ内のビットがすべてOである
か否か(“オールゼロテスト″)のためのテストに帰着され、その理由はそれら
がすべて0であればMビットマツプ50は不変であり演算される必要がないから
である。
このステップは計算時間のかなりの部分を占めるので以下に示す能動メモリ回路
からのオールゼロ出力を用いてそれを減らすことによって、アルゴリズムはより
高速となりアルゴリズムを実用的なものとする。
以前に記述した様にビットマップインデクス上で多様な命題を達成することが可
能である。指標(インデクス)は好適にはスーパーインポーストコードワードの
テーブルに、わずかの数の値、非等値命題が可能な命題、及び命題に対する情報
の順序が必要である属性の完全2進化コードを加えたものである。メモリ空間の
節約のために、すべての完全2進化属性は小数のビットでコード化される。
前述の演算をビットマツプマトリクス上で達成することを可能にする連想記憶メ
モリシステム62がホストコンピュータ60に接続されて第8図に示されている
。ホストコンピュータ60は中央処理ユニット64、メモリ66、多数のディス
クの様な大容量記憶装置68、及び外部機器のための入出カポ−ドア0とを具備
する市販のコンピュータシステムである。ホストプロセッサバス72も又設けら
れホストコンピュータ60のユニット64 、66 、68及び70間でのデー
タ転送を可能にする。
連想記憶メモリシステム62はインデクスメモリユニット74、インデクスプロ
セッサ76及びインデクスメモリユニット74をインデクスプロセッサ76へ接
続しメモリユニット74とプロセッサ76との間のデータ転送を可能にするメモ
リシステムバス78とを具備している。
インデクスメモリ回路74とインデクスプロセッサ76はホストプロセッサバス
72へ接続されている。インデクスプロセッサ76はインデクスメモリ74との
データの送受を行ない、ホストプロセッサバス72を介してホストコンピュータ
60から受け取った命令に応じてデータの演算を達成する。
ホストコンピュータ60はホストプロセッサバス72を介してインデクスメモリ
ユニット74からのデータをアクセスすることができ、コンピュータ60にとっ
てインデクスメモリユニット74は16ビツトワードの標準的なランダムアクセ
スメモリに見える。メモリユニット74がホストコンピュータ60によってアク
セスされている間でもメモリの競合なしでメモリシステムバス78を介してイン
デクスプロセッサ76によってデータがインデクスメモリユニット74からアク
セスされる。この事はメモリシステム62がホストコンピュータ60に関して自
律的に動作するバス78を含むためである。
インデクスメモリユニット74はホストコンピュータ60内に記憶されたレコー
ドのコード化された表現であるビットマツプマトリクスを記憶するために用いら
れる。インデクスプロセッサ76はインデクスメモリユニット74内に記憶され
るマトリクスのビットマツプ演算を達成すべく設計されている。メモリシステム
62のプロトタイプは組み立てられており、付属インデクスマシ(AIM)とし
て知られている。メモリシステム62の残された記述としては、行の長さ409
6ビントで列の長さ256ビツトのビットマトリクスを記憶し演算することの可
能なインデクスメモリユニット74を含むAIMの実現に関するものであろう。
メモリシステム62は任意の現実的サイズのピントマトリクスを記憶し演算する
ために用いることができることが理解される。
メモリシステム62はビットマトリクスのビットを1つのレコードに対してシリ
アルにアクセスし、すべてのレコードをパラレルにアクセスするビットシリアル
ワードパラレルの連想記憶メモリシステムである。
インデクスメモリユニット74は第9図に示される様に垂直なプリント回路ボー
ド82上に適合する様に4個のグループで配置された32個のインデクスメモリ
80を具備している。メモリ80はまた2バンクに分けて配置されそれぞれは2
56 X 4096のビットマトリクスを記憶することのできる16個のメモリ
80を具備している。4096個のビット列又はビットマツプは第10図に示さ
れる様にメモリ80内の対応する位置に16個のインデクスフモリ80中の25
6個のビット部分82内に記憶される。
インデクスプロセッサ76は第11図に示される様にマトリクス88から2つの
4096個のビット列又はビットマツプ84及び86をアクセスし列84及び8
6に対する選択されたビットマツプ演算を行ない結果の列あるいはビットマツプ
90をマトリクス88へ返すべく採用される。現在のところ、AIMはこの機能
を1回の16マイクロ秒サイクル内で達成することができる。これはホストコン
ピュータ60に対してビットマツプ90の全ビットがゼロであるかどうか、もし
そうでなければ列90内で1であるビットに関連するレコードのアドレスに関す
る情報を提供することを含む。
インデクスメモリ80は第12図に示される様にTMS 4161EV4ビデオ
メモリチツプを具備しており、これは64にビットのダイナミックRAMアレイ
92と256ビツトのシフトレジスタ94を含んでいる。メモリアレイ92はパ
ラレル256ビツトバス96を介してシフトレジスタ94へ接続されている。
TMS 9141チツプ80は基本的にはアレイ92の任意の選択された行をア
クセスすることのできるシフトレジスタ94が設けられた標準的なRAMである
。アレイ92の行は4096個のビット列又はビットマツプの256ビツト部分
82を具備している。
アドレスライン98によってアレイ92内の特定の256ビツト行をアクセスし
TR/QE入カライフカライン100ブルにすることによってデータが行とシフ
トレジスタ94との間で転送される。転送の方向はリード/ライトライン102
で支配される。シフトレジスタ94とアレイ92の選択された行の間の転送を行
なうためには、インデクスプロセッサ76によって転送要求が発せられ行が選択
される。この段階においてホストコンピュータ60からの任意のアクセス要求と
プロセッサ76からの転送要求とを同期させる必要がありこのことはインデクス
メモリユニット74内の3ウ工−任意化回路(図示せず)によって達成される。
他の時間においてインデクスプロセッサ76はホストコンピュータ60からのア
クセス要求を訪客することなくシフトレジスタ94の内容を操作する。
シフトレジスタ94は第12図に示される様に一端にシリアル出力ポート104
を含み、他端にシリアル入力ボート106を含んでおり、これはシフトレジスタ
94をクロックライン108に同期させることを可能とし、シフトレジスタ94
の一端において出力ポート104を経てデータが出力され、シフトレジスタ94
の他端において入力ポート106を経てデータが入力される。
インデクスメモリユニット74は第13図に示される様に2つのバンク110及
び112に配置されそれぞれは以前に述べた様に16個のインデクスメモリ80
を具備している。ビットマツプ演算が行なわれる時、1つのオペランドはバンク
110から選択され他のオペランドはバンク112から選択される。オペランド
はホストコンピュータ60によって選択され各バンク110及び112内におい
て予め定めた行が各バンク110及び112内のアレイ92の各々においてアク
セスされ予め定めた行の内容がバンク110及び112のシフトレジスタ94に
転送される。バンク110及び112のシフトレジスタ94はそれによって双方
ともビットマツプを包含する。第1のバンク110内のシフトレジスタ94のシ
リアル出力ポート104のすべてはパラレルに第1のバンク出力バス114 ヲ
経てメモリシステムバス78へ接続されている。同様にして、第2のバンク11
2内のシフトレジスタ94のシリアル出力ポート104のすべては16ビツトの
第2のバンク出力バス116を経てメモリシステムバス78へ接続されている。
2つのバンク110及び112内のレジスタ94に記憶されているビットマツプ
演算のためのオペランドはクロックライン108を用いてレジスタ94を同期さ
せることによってバス114及び116を経てインデクスプロセッサ76へ出力
される。2つのバンク110及び112のレジスタ94内のビットマツプのビッ
トはシリアルに出力されるが、第10図に示される様に各部分82のビットにつ
いて16ビツトが各バンク出力バス114及び116に沿ってインデクスプロセ
ッサ76へ同時に出力され、それらは16ビツトワードとなる。インデクスプロ
セッサ76はバンク出力バス114及び116を経て入力される16ビツトワー
ドに対して選択されたビットマツプ演算を行ない結果の16ビツトワードをメモ
リシステムバス78に沿って16ビツトバンク入力バス118へ戻す。バス78
は少なくとも3つの16ビツトデータの経路を含んでいる。
バンク入力バス118はバンク110及び112内のレジスタ94016個のシ
リアル入力ポー目06ヘパラレルに接続されている。したがって、16ビツトワ
ードがバンク出力バス114及び116を介して出力されると、結果の16ビツ
トワードがバンク110及び112内のシフトレジスタ94の反対側の端部に記
憶される。選択されたビットマツプ演算の終りに、結果のビットマツプは第1の
バンク110のシフトレジスタ94及び第2のバンク112のシフトレジスタ9
4内に記憶される。そこでインデクスプロセッサ76は結果のビットマツプを第
1のバンク110又は第2バンク112のアレイ92内のホストコンピュータ6
0によって選択された予め定めた行へ転送する。
インデクスプロセッサ76は双方向バス122を介してホストプロセッサバス7
2に接続されたホストインターフェースボート120を含んでいる。
プロセッサ76はまたそれぞれ双方向バス126及び128を介してホストイン
ターフェースポート120とメモリシステムバス78との間で接続されたシリア
ルファンクションユニット124を含んでいる。
シリアルファンクションユニット124はホストインターフェースポート120
からの命令に応答して動作しシステムバス78を経てユニット124へ入力され
た16ビツトワードへのビットマツプ演算を行なう。それはまた結果の16ビソ
トワードをテストワードと比較して、結果のワードのすべてのビットが0か否か
を決定し結果のワード内の1であるビットのオフセットロケーション又はアドレ
スロケーションを記録するための回路を含んでいる。シリアルファンクションユ
ニット124はホストインターフェースポートでトリガされた時256サイクル
を実行する様に構成することができ、各サイクルは2つの16ビツトワードをア
クセスすること、ワードに対するビットマツプ演算を行なうこと、結果のワード
を解析すること及びバス78へ結果のワードを出力することを含んでいる。
ホストインターフェースポート120は制御ユニットを含みホストコンピュータ
60からの命令を受け取る。ホストコンピュータ60から受け取った命令に答え
て、ボート120はシリアルファンクションユニット124の演算及びインデク
スメモリュニソト74内及びその間のデータ転送を制御する。
インデクスメモリユニット74とインデクスプロセッサ76との間のデータの流
れが第15図に示されているが、すべてのデータ経路は示されていない、ビット
マツプ演算を行なうにあたり2つの16ビツトワードがプロセッサ76によって
バンク110及び112からアクセスされ各ワードは同時にシリアルファンクシ
ョンユニット124へ入力される。2つのワードはそれぞれゲート130及び1
32を通過されそれぞれマスクレジスタ134及び】36の状態に従ってゲート
内でマスクされる。ゲート130及び132はプール論理ユニット138の入力
へ接続されそれはワードに対して選択された論理演算を行ない演算の16ビツト
の結果をシフト論理ユニッ[40と−致論理ユニット142へ出力する。プール
論理ユニット138はAND、 AND NOT、 OR,ORNOT、 NO
T、 XOR,XORNOT ORC0PYの様な多数の論理演算を行なうこと
ができる。 copyは一方のオペランドをゼロにしOR演算することにより達
成される。実行される演算はホストコンピュータ60から受け取った命令に応じ
てホストインターフェースポート120内の制御ユニット144によって選択さ
れる。
0致論理ユニット142はプール論理ユニッ目38によって出力される結果の1
6ビツトワードをテストワードレジスタ148に格納される16ビツトテストワ
ードと比較する結果のソードがテストワードと一致すれば制御ユニット144は
FIFOヒツトレジスタ150内に一致する結果ワードのオフセット又はアドレ
スロケーションを記憶する。オールゼロテストを達成するためにはテストワード
レジスタ138にはすべてのビットがゼロであるワードがロードされる。シフト
論理ユニットは結果の16ビツトワードを記憶し一方それらは0致論理ユニット
142において比較され結果のワードはインデクスメモリユニット74内のバン
ク110及び112へ出力される。制御ユニット134は0致論理ユニット14
2とシフト論理ユニット並びにメモリシステム62の他の要素を制御しホストコ
ンピュータ62からの命令を受け取りそれは命令レジスタ152に記憶される。
命令レジスタ152はシリアルファンクションユニット120内ルジスタ134
.136.148及び150のバンクの一部として表わされているが、レジスタ
152は通常制御ユニッ) 144の一部を形成する。
第16図に示される様な能動メモリ回路又はチップ150は前述した様なビット
マツプマトリクスに対するビットマツプ演算を遂行するために設計される。回路
150はビットのアレイを記憶することのできるメモリ部152、好適には双方
向であるシフトレジスタ154、論理ユニット又は回路156及び演算中のビッ
トマツプを一時的に記憶するための0時記憶エリア又は部158を具備する。
チップ150は使用においてメモリ部152内に記憶されたビットのアレイを包
含する。ビットのアレイはビットマツプマトリクスを表わす、アレイの大きさは
重要でないが256 X 256ビツトが好ましい。ビットで表わされるチップ
150内に保持されるデータは通常のメモリとは異なる形式で処理される。
レコードのテーブルへのインデクスの一部を具備するビットマトリクスは、使用
において、メモリ部152のアレイ上に直接マツピングされる。アレイ内の行1
60は単一のレコード(複雑なレコードに対して通常256ビツトで充分である
)を表わすインデクスピットを保持している。アレイの任意の列162は第1〜
7図を参照して記述されたタイプのテーブル又はマトリクスのビットマツプを保
持する。
チップ150上のシフトレジスタ154は以前に言及したAIMで用いられたメ
モリバンク110及び112へのシフトレジスタ94と同様である。
チップ150はメモリ部152内に記憶されたビットアレイから選択された列を
バンク110及び112における様にシフトレジスタ154上にコピーすること
ができる。シフトレジスタの内容を選択された列とシフトレジスタ154の以前
の内容に対してなされた論理演算の結果で置き換えることも可能である。
データはそれぞれシフトイン及びシフトアウトライン164及び166によって
レジスタ154に対してシフトイン及びシフトアウトがなされる。チップ150
は行/列選択入カライン168と、連続した行におけるメモリ部152へのデー
タの入出力のための打入/出カライン170も具備している。チップ又は回路1
50によってなされる演算の制御とメモリ部152及び158のメモリ要素の選
択のために複数の制御ライン172も又設けられている。シフトレジスタ154
に記憶される列のビットがすべてゼロでない場合はいつでも低レベルになるオー
ルゼロ出カライン174も又設けられている。オールゼロライン174は最小限
のアルゴリズムで実際上遂行されることを可能とする。コマンドライン172は
特に、シフトレジスタ154、論理ユニット156及びメモリ部152と一時記
憶部158からのビットマツプの入出力の動作を制御する信号を入力する。
ライン172の入力はチップ又は回路150に対して以前に記述したビットマッ
プインデクス動作を達成するために次の機能を達成することを命令する。
(i)シフトレジスタ154の内容と選択されたビットマツプ162とのAND
をとりその結果をシフトレジスタ154に記憶する。
(ii)シフトレジスタ154の内容と選択されたビットマツプとのORをとり
その結果をシフトレジスタ154に置く。
(ij)シフトレジスタ154の内容と選択されたビットマツプ162とのXO
Rをとりシフトレジスタ154へ入力する。
(iv)選択されたビットマツプ162をシフトレジスタ154ヘコピーする。
(V)シフトレジスタ154の内容をメモリ部152の選択された列162ヘコ
ピーする。
(vi)シフトレジスタ154の内容の反転を行なう。
(カ)シフトレジスタ154の内容を1ビツトシフトアツプする。
(vii)シフトレジスタ154の内容を1ビツトシフトダウンする。
より大/より小への分類操作を含む多くの目的のために、一度にシフトレジスタ
154に記憶することのできないいくつかの追加的な列又はビットマツプが記憶
される一時記憶部158を有することが便利である。その列は論理演算において
メモリ部152に記憶されたビットアレイの列と同様に関与する。回路150は
前に記述したすべてのビットマツプ論理演算が半導体チップの基板上で完遂され
ることを可能とする。命題の処理の上で最終的なビットマツプは命題に呼応する
レコードを同定するために検討することが可能となる。この検討はシフトアウト
ライン166を通してビットマツプをアクセスする外部回路によって達成される
。テーブル又はファイルに対する指標は多数のチップ150上に記憶されるので
、そして数レコードのみが命題に呼応するのであろうから、最終的なビットマツ
プを記憶するシフトレジスタ154内のビットのほとんどはすべて0となるであ
ろう。したがってオールゼロライン174はチップ150内に記憶されるコード
インデクスに対応するレコードを詳細に調べる必要があるか否かの指示を提供す
る。オールゼロ出力174が高レベルであればそのチップ150に関連するレコ
ードについてはそれらは命題に呼応しないものとして捨てられる。したがってオ
ールゼロ出カライン174があれば、オールゼロ出カライン174上に低レベル
の信号を有するチップのみについて命題に呼応するレコードを決定するためにそ
れぞれのシフトレジスタ154内に記憶された最終的なビットマツプを抽出する
ために検討すれば足りるので、所与のファイルに関するすべてのチップ150を
サーチする必要はない。
チップ150上に記憶されるインデクスは外部記憶装置からチップ150上ヘロ
ードされねばならず更新されなければならない。チップ150はインデクスを列
形式で処理するが、外部的な記憶及び更新についてメモリ部152の行をアクセ
スできるようにすることが便利でありこれはビットアレイ内の選択された行内へ
/から直接的にビットをシフトさせるシリアル入/出力ボート170を介してシ
リアルにデータを入力することによって達成される。この動作の速度は1又は2
MHzであり25MH2又はそれ以上になるシフトイン/シフトアウト動作よ
り遅い。行の入力/出力機能は標準的な単一ビットアクセスポートを用いても適
切に達成することができる。
能動メモリ回路150は第19図により詳細に示される様に行列アドレスデコー
ダ184によってアドレス可能な多数の1ビツト記憶要素182を具備するメモ
リアレイ180を具備している。1ビツト記憶要素182のアレイ186も又設
けられ一時記憶部158を形成している。アレイ186は一時ビントマップアド
レスデコーダ188を介してアクセスされる。デコーダ184及び188は選択
された行/列及びアドレス入力190に基いてアレイ182及び186をアクセ
スする。これらの入力190は以前に記述された制御人力172の一部と行/列
選択入力168とを形成する。1ビツトメモリ要素182の各々はビン出力M1
92とビット出力の反転■194を供給する。データは制御人力172の一部を
形成する入力197を受け取るメモリ制御ユニット196から受け取った入力に
応じて選択された要素182のそれぞれラインM及び■192及び194上で書
き出される。双方向シフトレジスタ154はマスタースレーブフリップフロップ
198のアレイを具備している。フリップフロップ198の内容はフリップフロ
ップ198の内容を反転することもできるそれぞれのシフト/反転ユニット10
0によってシフトアップ又はシフトダウンされる。論理ユニット1102は各フ
リップフロップ198が以前に記述した様なシフトレジスタ154の内容とメモ
リアレイ180の列との選択された論理演算を達成する様に設けられる。シフト
/反転ユニット1100と論理ユニット1102とはコマンドデコーダ1104
から受け取る入力によって制御されて各シフト反転ユニット1100又は各論理
ユニッ目102は同時に同じ形式で機能する。したがって、論理、シフト及び反
転演算はビットマツプを形成するビットの列に対して行なわれる。コマンドデコ
ーダ1104は制御ライン172の一部を形成するコマンドライン1106を介
して受け取られる入力に応じてユニット1100及び1102へ信号を出力する
。シフトレジスタ154は双方向であるのでデータはそれぞれシフトイン/シフ
トアウト頂部ライン1108又はシフトイン/シフトアウト底部ライン1110
を用いてレジスタ154の頂部又はレジスタ154の底部を通してレジスタ15
4に対してシフトイン及びシフトアウトされる。オールゼロ出力174は多入力
NORゲート1112内でフリップフロップ198の内容に対するNOR演算を
行なうことによって得られる。
助動メモリ回路150が単一の半導体チップ上に構成されるとき、シフト/反転
ユニット1100の各々及びフリップフロップ198のそれぞれは第18図に示
される様に単一のシフトレジスタセル1150を形成する。シフトレジスタセル
1150はマスタースレーブフリップフロップ1152とそのほとんどがコマン
ドデコーダ1104からの出力を受け取る制御ラインによって制御される複数の
MOS FET )ランジスタ1154とを具備している。
ルックスルー制御ライン1156はフリップフロップ1152の入力Sinを介
してデータの入出力を可能にし反転制御ライン1158は高レベルにセットされ
るときシフトレジスタ1152の内容を反転する。オールゼロライン1160は
フリップフロップ1152の出力51162が高レベルである時は常に低レベル
にされる。シフトダウン制御ライン1164が高レベルであるときより上位のシ
フトレジスタセル1150のフリップフロップの内容がフリップフロップ115
2の入力Sin 1164へ通過される。同様にしてシフトアップ制御ラインが
高レベルであるときより下位のシフトレジスタセル1150のフリップフロップ
の内容がフリップフロップ1152の入力1164へ通過される。
第10図に示される様に論理ユニット1102のセル1170はORゲート11
72.ANDゲート1174及びXORゲー) 1176を具備しこれらは出力
ライン1166に出現したフリップフロップレジスタ1152の内容とラインM
117B上に出現した選択されたメモリセル182の内容との論理演算を達成す
る。XOR機能を達成するためにはXORゲート1176はそれぞれフリップフ
ロップ1152の内容と選択されたメモリセル182の内容の反転であるライン
1180及び1182からの入力を必要とする。選択された演算に従ってOR制
御ライン1184、A N D 1tlJ御1186又はXOR118Bが高レ
ベルになると論理演算が遂行され選択された演算の結果はフリップフロップ11
52の入力1164のみに出力される。高及び低電圧ライン1190及び119
2は第18図に示される様にORゲート1172とAWDゲート1174のため
に設けられている。
ラインM>S 1194が高レベルになるとき選択されたメモリセル182の内
容はライン1178を通してフリップフロップ1152の入力1164へ入力さ
れる。同様にして、SUMライン1196が高レベルになるときフリップフロッ
プ1152の内容はうイン1162を通して選択されたメモリセル182へ出力
される。
メモリセル182はそれらの内容がシフトレジスタ154にシフトイン及びシフ
トアウトされそれらに論理演算が実行されるべくデコーダ184及び188によ
って選択された時アレイ180又はアレイ186からくる列内に選択される。
能動メモリ回路の主な用途は連想記憶メモリに関するものであり、以前に言及し
たAIMにおけるような情報の検索のためのインデクス及びより特殊な参照テー
ブルを提供することを目的とする。
コプロセッサとして設計された能動メモリを有するサブシステム1200は第1
9図に示す様にホストシステムバス1202を介してホストシステムに接続され
る。多数の能動メモリチップ又は回路150を具備する能動メモリはアドレス及
び制御論理回路1206と共にメモリシステム1200へ組み込まれる。特定の
機能を実現するための能動メモリの制御は論理サブシステム1204内に組み入
れられた特殊な論理ユニット1208によってなされる。ホストシステムバス1
202へのアクセス、データの転送、及び全体の制御は命令デコード/解釈ユニ
ッ) 1210により達成される。
一般の指標付けに対しては論理ユニッ目208は第1〜7図を参照して記述され
た動作を達成する。スーパーインポーズドコード化はこれらの動作の中で最も複
雑である。第20図は入力としてこま切れの定数を受け入れコードワード(レジ
スタR11222内に)及びメモリサブシステム1200内に呼応するレコード
のビットマツプのいずれか又は双方を形成するスーパーインポーズドコードワー
ド計算ユニット1220を表わしている。このユニッ) 1220において用い
られる乱数は線形順序回路を用いて計算される。
指標付は動作の結果はメモリシステム1200内の呼応するレコードのビットマ
ツプである。ホストアプリケーションはビットマツプそれ自体でなく主として呼
応するレコードのロケーションに関心がある。第21図はオールゼロを報告しな
い回路150すなわちオールゼロ出カライン上に低レベルの信号を出力する回路
のシフトレジスタからの呼応するビットマツプを抽出するための複数の能動メモ
リ回路又はチップ150を保持し呼応するビットマツプ内の1ビツトに対応する
アドレスをFIFO記憶ユニッ) 1232内に記憶するユニン) 1230を
表わしている。好適には、プロセスをパイプライン化することによってホストは
アドレスが生成されるや否やそれを獲得する。
ユニット1232は自動的に次のアドレスを計算しそれらをFIFOユニット1
232内に記憶する。呼応するビットマツプ全体がスキャンされる前にFIFO
ユニット1232が満杯になったらユニッ)1232はホストがその要求又は命
題を取り下げるかFIFO1232からアドレスを取り出すまで一時停止する。
呼応するビットマツプはビットレジスタ1231内に記憶され制御は選択/制御
ユニット1233によって行なわれる。
高度にダイナミックな応用において、第16図を参照して以前に記述された様に
行入力/出力ライン170を用いてインデクス全体の挿入又は削除を行なうこと
が頻繁に必要となってくる。また、所与の通用期間内に多数のデータ全体を一度
に取り除くごみ処理が必要とされることもある。その様な動作を達成する1つの
方法は第22図に示す様な圧縮/拡張ユニット1234を使用することである。
ユニット1234はビットマツプの制御のもとに能動メモリ回路又はチップ15
0内に記憶されるインデクスの行を圧縮又は拡張する。圧縮モードにおいて、ビ
ットマツプは除去されるべきインデクスの行の位置の各々に1を有している。ユ
ニットは各行をさらにその行バツフア1236ヘコピーする。ユニット234は
除去されるまでの行の数のカウントを保持しそれを行バッファ1236の内容ヘ
コピーすべき行を決定するために用いる。拡張はその逆に動作する。ビットマツ
プは行が挿入されるべき位置の各々には1を有しておりコピー動作が最も高い行
アドレスから最低へと遂行される。空いた行にはゼロが挿入される。ビットマツ
プ内に1つのビットがセットされていれば1つの行が挿入又は削除される。圧縮
/拡張ユニッ) 1234は選択/制御ユニット1235で制御され制御ビット
マツプ記憶装置1237はどの行において圧縮又は拡張が行なわれるかを示すビ
ットマツプを記憶する。
複数の能動メモリ回路又はチップ150は仮想記憶のサポート、データフローコ
ンピュータのノードスイッチング、及びCADシステム内の対象物のトラックの
保持の様な高速テーブル参照への多くの応用に用いることが可能である。これは
能動メモリ回路150の非常に簡単な応用であり、たとえあっても等値性テスト
のみを必要とし1つのヒツトのみが期待されるのみであるから、第19図の精巧
なアーキテクチャは必要とされない。第23図は集積された能動メモリチップ1
50を有する特殊なテーブル参照ユニット1236の好適な具体例を示している
。ホストはテストワードレジスタ1239内に記憶するためのテストワードを供
給しユニット1239はテーブル内のテストワードアドレスに関する指示をヒツ
トレジスタ1240に返す、ユニット1238は制御ユニッH241を含んでい
る。
能動メモリチップ150は好適には0時記憶アレイ186によって供給される追
加の列と共にメモリ要素182の正方形のアレイ180を有している。アレイ1
80を行から見た場合と列から見た場合とでは異なるのでビットに対する記憶要
素182の配置が対称である必要がないことは回路150の重要な応用から明ら
かである。100.000レコードのファイルに対する指標は多くの場合128
ビツトに適合する。テーブル参照は1行あたり32ピントのみが必要であるが多
数の行がある。したがってそれはカスケード接続可能なユニット1250の32
ビツト正方形として能動メモリ回路150を設計することが好ましい。
第24図に示される様に高密度チップはこれら多数のカスケード接続可能なユニ
ット1250を有する。
テーブル参照における゛用途において、テーブルの部分は各ユニット1250内
にあり初等的な演算はすべてのユニット1250において同時に達成される。一
般の指標付けの応用のためには、論理上の行は行方向にいくつかのユニット又は
チップ1250にまたがって拡がる。最終的なビットマツプは1つの列内のすべ
ての要素を選択する操作を用いて切れ切れに形成され最後に組み合わせのプロセ
スがある。組み合わせのプロセスが選択されたシフトレジスタの内容をその行の
最も左のユニット1250のシフトレジスタへのコピーが可能であることが便利
である0列をカスケード接続することがシフトレジスタの論理的結合の最も簡単
な要求である。
能動メモリ回路150の最も容易に認識可能な応用は以前に記述した連想記憶メ
モリシステム62における応用である。
第25図に示される様に能動メモリ回路150を採用した連想記憶メモリシステ
ム62はインデクスメモリユニット74を形成する16個のビデオメモリ80と
、インデクスプロセッサ76を形成する16個の能動メモリ回路150を具備し
ている。インデクスプロセッサ76は能動メモリ回路150を制御するための以
前に記述したホストインターフェースポート120の様な制御ユニット(図示せ
ず)も含んでいる。 4096ビツトの大きさを有するビットマツプ又は列は1
6ビツトバス1500を介して能動メモリ回路150上のビットマツプ記憶設備
へ転送される。能動メモリ回路150に記憶されるビットマツプに対するビット
マツプ演算が実行され演算の結果は16ビツトデータバス1502を介してイン
デクスメモリユニット74へ戻される。第25図に示されたアーキテクチャは第
8図のメモリシステム62よりも非常に速い速度で複合ビットマツプ演算を達成
する。第25図のアーキテクチャは同量のメモリと共に多量のビットマツプマト
リクスを記憶することも又可能で、レジスタ94のシリアル入力ポートにおける
データ入力によって出力された以前のデータを回復する必要なくメモリユニット
74内のレジスタ94からデータをシフトアウトすることができる。データの転
送に必要バスは16ビツトの大きさで良く、したがって第8図のメモリシステム
62における様に3つの16ビツトのワードの転送のかわりに16ビツトワード
の転送のみが監視される必要がある。アーキテクチャ25のインデクスプロセッ
サ76は1マイクロ秒以下のサイクルにおいてビットマツプ演算を実行すること
が可能である。
浄書(内容に変更なし)
アルゴリズム :
L:=0・ 6二:O・
for i:=1 to n d。
caseW[1lof
O,:G:=G or not L and 8[i ];1: L:=L o
r notG and not 8[;]end・
−−−−兎−−−−−−−−−−−っ
r−一−−−−−−−−−−−コ
浄書(内容に変更なし)
浄書(内容に変更なし)
手続補正書く方式〉
特許庁長官 吉 1)文 毅 殿
1、事件の表示
PCT/AU87100284
2、発明の名称
連想記憶メモリシステム
3、補正をする者
事件との関係 特許出願人
住所 〒105東京都港区虎ノ門−丁目8番10号5、補正命令の日付
平成1年11月7日(発送日)
6、補正の対象
(1)特許法第184条の5第1項の規定による書面の「発明者の住所」「特許
出願人の代表者」の欄
(2)委任状
(3)明細書の翻訳文
(4)請求の範囲の翻訳文
(5)図面の翻訳文
7、補正の内容
+1) +2) 別紙の通り
(3)明細書の翻訳文の浄書
(内容に変更なし)
(4)請求の範囲の翻訳文の浄書
(内容に変更なし)
(5)図面翻訳文の浄書(内容に変更なし)8、添付書類の目録
(1)訂正した特許法第184条の5
第1項の規定による書面 1通
(2)委任状及びその翻訳文 各2通
(3) 浄書した明細書の翻訳文 1通(4)浄書した請求の範囲の翻訳文 1
通(5)浄書した図面の翻訳文 1通
国際調査報告
−1−、−、l−+、、、、、−,,,,−−−、、PCT/AU 87100
284に閃スπLフΣ廚π?街=l廷9スK】でPゴσlzαM APPLIC
ATICN hl:1. I’CT AIJ 8700284tE 42009
35 DE 2849944 FR2408868GB 2009469A、%
lEX To ”WE フ君=R傅す−CM)J、5EAROI REPCRT
GJ酎耐χα貫c記、にγJひTTGI史、にテへ〇 O7(イ)284 (
CCNI)髪p)O54412313cA 116B376 EP 69764
WO8202615DE 3232675 a(658329JP 5E10
39341 t’s 4476528EX)OF ANNEK
Claims (17)
- 1.複数のレコードを記憶するホストメモリ(66,68)とホストプロセッサ バス(72)を有するホストコンピュータ(60)との結合のための連想記憶メ モリシステム(62)であって、該メモリシステム(62)は: 該ホストコンピュータ(60)に記憶されるレコードを表現するビットマップマ トリクスを記憶するためであって、使用において、該ホストプロセッサバス(7 2)へ接続され該ホストコンピュータ(60)によってアドレス可能なインデク スメモリ手段(74)と、 該メモリ手段(74)に記憶されたビットマップをアクセスし該ビットマップに 対するビットマップ演算を達成し、使用において、該ホストプロセッサバス(7 2)へ接続され該ホストコンピュータ(60)より制御されるインデクスプロセ ッサ手段(76)と、 該インデクスメモリ手段(74)と該インデクスプロセッサ手段(76)との間 に接続され、該メモリ手段(74)と該プロセッサ手段(76)との間のビット マップの通過のために採用されたメモリシステムバス(78)とを具備する連想 記憶メモリシステム(62)。
- 2.前記インデクスメモリ手段(74)は複数のインデクスメモリ(80)を具 備し該複数のインデクスメモリ(80)の各々は: メモリセルのアレイ(92)と; シフトレジスタ(94)であって、該アレイ(92)へ接続されたパラレル入力 /出力バス(96)と、該シフトレジスタ(94)の対向する端部におけるシリ アル入力ポート(106)及びシリアル出力ポート(104)とを有し、該パラ レル入力/出力バス(96)は該アレイ(92)内のデータの選択された行のア クセスが可能であるシフトレジスタ(94)とを具備し;前記メモリシステムバ ス(78)は該インデクスメモリ(80)の該シリアル入力及び出力ポート(1 06及び104)を前記インデクスプロセッサ手段(76)へパラレルに接続し ;同時にアクセスされた該データの選択された行は少なくとも1つのビットマッ プを形成する請求の範囲第1項記載の連想記憶メモリシステム(62)。
- 3.前記アレイ(92)が前記ホストコンピュータ(60)によりアクセスされ る一方、前記インデクスプロセッサ手段(76)は前記シフトレジスタ(94) をアクセスする請求の範囲第2項記載の連想記憶メモリシステム(62)。
- 4.前記インデクスメモリ(80)は第1又は第2のバンク(110又は112 )内に配置され、予め定めたビットマップ演算を達成するにあたり、前記インデ クスプロセッサ手段(76)は該第1のバンク(110)から第1のビットマッ プを該第2のバンク(112)から第2のビットマップアクセスし、該第1及び 第2のビットマップは該演算のオペランドを形成する請求の範囲第2項又は第3 項記載の連想記憶メモリシステム(62)。
- 5.前記演算を実行するに先立ちオペランドを形成する前記ビットマップはそれ ぞれのバンク(110,112)のシフトレジスタ(94)に記憶され該演算中 において前記インデクスプロセッサ手段(76)は各シフトレジスタ(94)シ リアル出力ポート(104)からのビットを同時にアクセスし、該アクセスされ たビットは各バンク(110,112)からの2ワードを形成し、該ワードに対 する演算を実行し、少なくとも1つのバンク(110,112)のシフトレジス タ(94)のシリアル入力ポート(106)へ演算の結果のワードを出力する請 求の範囲第4項に記載の連想記憶メモリシステム(62)。
- 6.前記演算は前記ビットマップが4096ビットを具備すれば16マイクロ秒 以下で達成される請求の範囲第5項記載の連想記憶メモリシステム(62)。
- 7.前記インデクスプロセッサ手段(76)は:使用において該ホストプロセッ サバス(72)へ接続されるホストインターフェースポート(120)と;該イ ンターフェースポート(120)と前記メモリシステムバス(20)とに接続さ れたシリアル機能ユニット(124)とを包含し; 該インターフェースポート(120)は前記ホストコンピュータ(60)に応答 して前記第1及び第2のビットマップをアクセスし該シリアル機能ユニットに該 第1及び第2のビットマップに対する予め定めたピットマップ演算を達成させる 請求の範囲第4項ないし第6項のいずれかに記載の連想記憶メモリシステム。
- 8.前記シリアル機能ユニット(124)は前記メモリシステムバス(78)を 介して前記シリアル出力ポート(104)へ結合する入力ラインと該メモリシス テムバス(78)を介して前記シリアル入力ポート(106)へ結合する出力ラ インを有する論理ユニット(138)と該論理ユニット(138)の出力の監視 を可能にするディレイユニット(140)とを具備する請求の範囲第7項に記載 の連想記憶メモリシステム(62)。
- 9.行(160)及び列(162)に配置され少なくともビットマップの一部を 記憶するのに適するメモリセル(182)のアレイ(180)と; 少なくともビットマップの一部を記憶するのに適したシフトレジスタ(154) と; 該アレイ(180)と該シフトレジスタ(154)との間に接続された論理ユニ ット(156)とを具備し、該アレイ(180)、シフトレジスタ(154)及 び論理ユニット(156)は集積回路よりなり、該シフトレジスタ(154)は 該アレイ(180)の選択された列(162)をコピーすることが可能であり、 該論理ユニット(156)は該シフトレジスタ(154)の内容と該アレイ(1 80)の選択された列(162)との選択された論理演算を達成することが可能 であり、該演算の結果は該シフトレジスタ(154)内に記憶される能動メモリ 回路(150)。
- 10.前記シフトレジスタ(154)はシフトレジスタセル(1150)の列を 具備し前記論理回路(156)は論理セル(1170)の列を具備し、該論理セ ル(1170)はそれぞれのシフトレジスタ(1150)とメモリセル(182 )のそれぞれの行(160)とに結合される請求の範囲第9項に記載の能動メモ リ回路。
- 11.前記論理セル(1170)は対応する制御ライン(1184,1186又 は1188)がイネーブルであるとき前記シフトレジスタセル(1150)の内 容と前記メモリセル(182)の選択された列(162)との論理演算を達成し 選択された論理演算の結果はシフトレジスタ(1150)へ書き込まれる請求の 範囲第10項記載の能動メモリ回路。
- 12.前記論理演算はNOT,AHD,OR,XOR,ANDNOT,ORNO T、及びXORNOTを含む請求の範囲第11項記載の能動メモリ回路。
- 13.前記各シフトレジスタセル(1150)はシフトレジスタセル(1150 )の列内にフリップフロップ(1152)とフリップフロップ(1152)の内 容を反転し別のフリップフロップ(1152)へ内容をシフトする回路とを含む 請求の範囲第10項ないし第12項のいずれかに記載の能動メモリ回路。
- 14.前記論理セル(1170)は第1及び第2の記憶制御ライン(1196及 び1194)がイネーブルであるときそれぞれ前記シフトレジスタセル(115 0)をメモリセル(182)の選択された列(162)内に記憶しメモリセル( 182)の選択された列(162)の内容を該シフトレジスタ(1150)に記 憶することを可能にする回路を含む請求の範囲第10項ないし第13項のいずれ かに記載の能動メモリ回路。
- 15.前記シフトレジスタ(154)内に記憶されたピットの内容がすべて低レ ベルであるときその出力がHレベルとなるNORゲート(1112)をさらに具 備する請求の範囲第9項ないし第14項のいずれかに記載の能動メモリ回路。
- 16.前記制御ライン(1184,1186,1888,1194及び1196 )に接続された出力を有するコマンドデコーダ(1104)をさらに具備し、前 記デコーダ(1104)はコマンドライン(1106)を介して受けとる入力に 応答する請求の範囲第11項ないし第14項に記載の能動メモリ回路。
- 17.前記インデクスプロセッサ手段(76)は請求の範囲第9項ないし第16 項のいずれかに記載の1つ又はそれ以上の能動メモリ(150)を具備する請求 の範囲第1項ないし第3項のいずれかに記載の連想記憶メモリシステム(62) 。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU761986 | 1986-08-22 | ||
| AU7618 | 1986-08-22 | ||
| AU7619 | 1986-08-22 | ||
| AU761886 | 1986-08-22 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02501604A true JPH02501604A (ja) | 1990-05-31 |
Family
ID=25612484
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62505293A Pending JPH02501604A (ja) | 1986-08-22 | 1987-08-21 | 連想記憶メモリシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02501604A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04148373A (ja) * | 1990-10-11 | 1992-05-21 | Toshiba Corp | データ検索システム |
| JP2016539417A (ja) * | 2013-12-06 | 2016-12-15 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 列指向データベース処理方法および処理デバイス |
-
1987
- 1987-08-21 JP JP62505293A patent/JPH02501604A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04148373A (ja) * | 1990-10-11 | 1992-05-21 | Toshiba Corp | データ検索システム |
| JP2016539417A (ja) * | 2013-12-06 | 2016-12-15 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 列指向データベース処理方法および処理デバイス |
| US10303691B2 (en) | 2013-12-06 | 2019-05-28 | Huawei Technologies Co., Ltd. | Column-oriented database processing method and processing device |
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 | |
| US5293616A (en) | Method and apparatus for representing and interrogating an index in a digital memory | |
| JP2845392B2 (ja) | ファイル検索方法及び装置 | |
| US3402398A (en) | Plural content addressed memories with a common sensing circuit | |
| KR100230767B1 (ko) | 동적 메모리의 데이타저장 및 검색방법과 그 장치 | |
| JPS61145636A (ja) | 記号列照合装置 | |
| JPH0820967B2 (ja) | 集積回路 | |
| KR910005154A (ko) | 파이프라인된 기록버퍼 레지스터 | |
| US3290659A (en) | Content addressable memory apparatus | |
| US4254476A (en) | Associative processor | |
| US4183464A (en) | Hash-coding data storage apparatus with error suppression | |
| US3618027A (en) | Associative memory system with reduced redundancy of stored information | |
| JPH01283625A (ja) | データを分類するための固定布線回路 | |
| AU595378B2 (en) | Content-addressable memory system with active memory circuit | |
| US3402394A (en) | Content addressable memory | |
| US4327407A (en) | Data driven processor | |
| JPH02501604A (ja) | 連想記憶メモリシステム | |
| JPH0666050B2 (ja) | ソート処理方法 | |
| RU2039376C1 (ru) | Устройство для информационного поиска | |
| JPS63213046A (ja) | セグメント記述子装置 | |
| KR920701905A (ko) | 신호처리장치 및 방법 | |
| JPH0721957B2 (ja) | 選択的連想記憶装置 | |
| JPH0766391B2 (ja) | 連想マトリツクスのサーチ方法 | |
| RU2065207C1 (ru) | Ассоциативная запоминающая матрица | |
| US3222648A (en) | Data input device |