(57)【特許請求の範囲】
【請求項１】
メモリ内に蓄積された少なくとも幾つかのデータワードが複数のアドレス出力信号の応答によって表示される符号化されたアドレス出力信号を生成するための連想メモリの操作方法であって：
前記符号が複数の場所を有する二進数符号であるときに、メモリ内のデータワード蓄積位置の各集合を前記複数の場所の各々に関連付けするステップと；
各データワードが前記アドレス出力信号により表示される各仮想アドレスを有するときに、前記各データワードを前記各場所と関連付けされたデータワード蓄積位置内に蓄積するステップであって、その結果、複数のアドレス出力信号の応答によって表示される各データワードは複数のデータワード蓄積位置に完全に同じように蓄積されてなるステップと；
各集合についてこの集合内の各データワード蓄積位置から付加されるデータワードに対する応答を組成してこの集合と関連付けられたアドレス出力信号を生成するステップとからなる連想メモリの操作方法。
【請求項２】
前記各場所についてデータワードの仮想アドレスが論理１である請求項１記載の方法。
【請求項３】
各集合について前記組成がこの集合内の各データワード蓄積位置から付加されるデータワードに対する応答の論理ＯＲを形成することを含む請求項１記載の方法。
【請求項４】
データワードの一つが付加されたデータワードに応答するものであることを示す適合出力を生成するためにいずれかのアドレス出力信号内において応答を検出することをさらに含む請求項１記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、連想メモリに係り、より具体的には積和論理を実行するためにメモリを使用することを可能にする結合回路を有する連想メモリに関する。
【０００２】
【従来の技術】
通常通り付与された１９９８年３月３日提出のハイルの米国特許出願第０９／０３４０５０号（これはここにおいて全体的に参照として組み入れられる）は、要求に応じて積項（「ｐ項」）または積和論理を実行するのに使用され得る大きなメモリを含むプログラム可能な論理配列集積回路装置を示す。選択的にこれらの大きなメモリはランダムアクセスメモリ（「ＲＡＭ」）またはリードオンリメモリ（「ＲＯＭ」）として使用されることが可能である。通常通り付与された１９９８年１０月６日提出のハイル等の米国特許出願第０９／１６７２２０号およびハイルの１９９９年４月１５日提出の米国特許出願第０９／２９２４４８号（これらは参照として全体的に組み入れられている）は、連想メモリとしてメモリのブロックの使用の別の可能性を示す。しかしながら、言及された参考文献はともに連想メモリから一般に要求される出力信号の提供に重要な回路機構が充当されることを意図する。そのような出力信号は典型的に（１）連想メモリ内に蓄積されたデータワードが付加されたデータワードと適合していることが見つけられるかどうかを示す適合信号と（２）付加されたデータワードと適合することが見いだされたメモリ内のワードのアドレスを示すアドレス信号（例えば二進数コード）を含む。ヴィーンストラの参考文献においては、例えば第二のメモリブロックは、アドレスは符号化され、連想メモリとして作動する第一のメモリブロックのための適合信号を供給するようプログラムされる。先に言及したハイルの参考文献において、分割された適合及びアドレス符号化回路機構は連想メモリ出力信号の提供として示される。
【０００３】
連想メモリの能力を一時的のみに利用する汎用装置（例えば、プログラム可能な論理配列集積回路装置）上でその能力を提供することが要求されるため、連想メモリのオプションを提供するためにあまりに多くの回路資源を専有しなければならないようにはしないことが望ましい。
【０００４】
【発明が解決しようとする課題】
前述の視点より、本発明の目的は、特にプログラム可能な論理装置のような多目的回路機構のための改善された連想メモリ能力を提供することである。
【０００５】
さらに好適な本発明の目的は、ｐ項モードで演算可能であるか、または積和出力能力を有するメモリブロックを、必要とされる回路機構をほとんど追加せずまたは全く追加せずに連想メモリとして使用し得るようにすることである。
【０００６】
【課題を解決するための手段】
本発明の目的は、メモリブロック内のアドレスと一致するデータワードを蓄積し、その結果適用データワードの適合が見いだされた時点で、データワードを蓄積し、適合する符号化された「仮想」アドレスを提供する関連の積和回路機構により、メモリブロックのｐ項出力が論理的に結合されるという本発明の原理に従って達成される。具体的には、適合した各ワードは関連付けられた唯一の仮想アドレスを連想メモリ内に有する。積和回路機構が仮想アドレスを符号化するために、適合した各ワードはメモリブロック内の一つまたは複数の実際のアドレスに蓄積される。実際のアドレスがデータワード用に選択されることにより、データワードが付加されるデータワードと適合する際に、適合するデータワードに関連する仮想アドレスの符号と一致するグループ内で、メモリからの一つまたは複数のｐ項出力信号の結果が生じる。例えば、仮想アドレス符号は二進数符号である。この場合奇数の仮想アドレスのデータは、符号化した仮想アドレスの最も重要でないビットを生成するために積和回路機構に提供されるｐ項を生成する総て実際のアドレスに蓄積される。この例について続けると、二進符号化仮想アドレスの次に重要でない場所において１によって符号化される必要のある仮想アドレスの総てのデータワードは、符号化された仮想アドレスの次に重要でないビットを生成する積和回路機構に提供されるｐ項を生成する実際のアドレスに蓄積される。ごく少量の回路機構（例えば、メモリブロックを含んだプログラム可能な論理装置のプログラム可能な論理構成要素）は連想メモリの特徴のために適合した出力信号を提供する符号化された仮想アドレス信号の論理ＯＲを形成するのに使用し得る。
【０００７】
本発明のその他の特徴、構成、ならびに利点は、添付の図面を参照しながら以下に記述する好適な実施例の詳細な説明により明らかにされよう。
【０００８】
【実施例】
図１は、メモリ１１および関連する積和出力回路機構４０２／３０４／４１０／１１０を示すブロック線図であり、これら総ては前述の米国特許出願第０９／２９２４４８号における同様な要素と同一の参照符号で示されている。図１の要素１０１′および２０５も、前述の参考文献の一致する番号の要素と同様なものである。メモリブロック１１は、連想メモリモード内の３２ビットデータワードを記憶することが可能である。メモリ１１は、上述の参考文献のようにランダムアクセスメモリ（「ＲＡＭ」）モード、リードオンリメモリ（「ＲＯＭ」）モード、一般の積項（「ｐ項」）モード、一般積和モード等他のモードを操作する能力を有し、しかしながらこれら種々の能力について詳細に説明する必要はない。本発明に従ったメモリブロック１１および関連する回路機構を含むプログラム可能な論理装置の例は、クリフ等の米国特許第５５５０７８２号、クリフ等の米国特許第５６８９１９５号、クリフ等の米国特許第５９０９１２６号、クリフ等の米国特許５９６３０４９号およびジェファーソン等による１９９９年３月１０日提出の米国特許出願第０９／２６６２３５号に示されており、これらは全体的に参照として組み入れられている。
【０００９】
本発明の目的のためにメモリブロック１１は、３２の物理的なまたは「実際の」アドレス位置１−３２を有しそれぞれ３２ビットデータワードを蓄積する能力を備えた位置を有するとみなす。データワードは、データを蓄積し要求された位置１−３２を動作可能にしている間、導線２０５経由でワードよりメモリブロックへデータを適用することによりメモリブロック１１内で、蓄積される。いずれかの位置１−３２に蓄積されるデータワードが導線１０１′経由でメモリブロックへ適用されるデータワードと適合する際、適合するデータワードを含む位置のｐ項出力４０２／３０４は論理１となる。さもなければｐ項出力４０２／３０４は論理０となる。
【００１０】
本発明に従って付加されたデータワードと比較される１５以上の異なるデータワードがメモリブロック１１内に３２の実際のアドレス位置１−３２に蓄積され得る。これら１５のデータワードはそれぞれメモリブロック１１内の独自の関連付けられた「仮想」アドレス１−１５を有する。また、本発明に従ってメモリブロック１１内の３２の実際のアドレス位置であるｐ項出力４０２／３０４は８個からなる４つのグループに集められる。ｐ項のグループ分けは積和ＯＲゲート４１０ａ−ｄにより実効される。前記の米国特許出願第０９／２９２４４８号の図３を参照して具体的には、ＯＲゲート４１０ａ−ｄは導線４０８ＩＮおよび４０８ＯＵＴにより鎖状に接続されるそれぞれ４つの積和ＯＲゲート４１０を示す。こうしてＯＲゲート４１０ａ−ｄはそれぞれメモリブロック１１内の近接する８個の実際のアドレス位置からの８個の近接ｐ項論理ＯＲである出力信号１１０ａ−ｄを生成する。（先に参照した図３を再び参照することにより、出力１１０ａ−ｄそれぞれは、ＯＲゲート４１０ａ−ｄの関連する信号により表現される鎖状に４つのＯＲゲート４１０最後の信号に関連する出力信号１１０に一致する。）出力信号１１０ａ−ｄそれぞれは、付加されたデータワードと適合し蓄積されたデータワードの仮想アドレスを４ビット二進符号化した一位置を表現するのに使用される。
【００１１】
適合した出力信号１１０ａ−ｄを生成するために、付加されたデータワードと比較される各データワードは、蓄積されたデータワードの仮想アドレスを適宜に符号化して論理１である各信号１１０ａ−ｄに関連付けられた実際のアドレス位置に蓄積される。具体的には、出力信号１１０ａは、４ビット、二進符号化仮想アドレス中の最も重要でない（２の０乗）ビットを使用すると仮定すると、奇数の仮想アドレスを有する各データワードは出力信号１１０ａに関連する実際のアドレス位置のそれぞれ一つに蓄積される。こうして図１に示すように仮想アドレス１、３，５，７，９，１１，１３および１５のデータワードは出力信号１１０ａに関連する８つの実際のアドレス位置１−８内に蓄積される。従ってこれら蓄積されたいずれかのデータワードが導線２０５経由でメモリブロック１１に適用されるデータワードと適合する際、関連するｐ項４０２／３０４は論理１となる。これは、ＯＲゲート４１０ａの出力信号および１１０ａの出力信号が論理１であることに起因する。
【００１２】
前記の例を続けると、仮想二進アドレスである次に重要な（２の１乗）位置の論理１に寄与する蓄積されたデータワードそれぞれが出力信号１１０ｂに関連する８個の実際のアドレス位置９−１６のそれぞれ一つに蓄積される。こうして図１に示されるように、仮想アドレス２，３，６，７，１０，１１，１４および１５のデータワードは実際のアドレス位置９−１６に蓄積される。出力信号１１０ｂは、これらのデータワードのいずれかが導線２０５経由で適用されるデータ信号と適合する時は常に論理１となる。
【００１３】
さらにこの例を続けると、仮想二進符号化アドレスの次に重要な（２の２乗）位置の論理１に寄与する各データワードは、出力信号１１０ｃに関連する８個の実際のアドレス位置１７−２４のそれぞれに蓄積される。こうして仮想アドレス４，５，６，７，１２，１３，１４および１５のデータワードは実際のアドレス位置１７−２４に蓄積される。従って、これらデータワードのいずれかが導線２０５経由で適用されるデータワードと適合する際、関連するｐ項４０２／３０４は論理１となり、その結果ＯＲゲート４１０ｃの出力および出力信号１１０ｃもまた論理１となる。
【００１４】
前述の例を完結させると、二進数符号化仮想アドレスの第２から第３電源への論理１に寄与する仮想アドレスの各データワードは、実際のアドレス位置２５−３２へそれぞれ蓄積される。こうして仮想アドレス８，９，１０，１１，１２，１３，１４および１５のデータワードは実際のアドレス位置に蓄積される。従って、これら蓄積されたデータワードのいずれかが導線２０５経由で適用されるデータワードと一致する際は、ＯＲゲート４１０ｄの出力および出力信号１１０ｄは論理１となる。
【００１５】
以上を簡単に要約すると仮想アドレス１のデータワードは、出力信号１１０ａに関連する実際のアドレス位置内に（二進数符号化仮想アドレスの０乗から２乗）蓄積される。従って、この蓄積されたデータワードが導線２０５経由で適用されるデータワードと適合する場合は出力信号１１０ａのみが論理１であり、二進数アドレス０００１を与え、これは仮想アドレス１の二進数符号である。仮想アドレス６のデータワードは、出力信号１１０ｂおよび１００ｃに関連する実際のアドレス位置に蓄積される。従って、この蓄積されたデータワードが導線２０５経由で適用されるデータワードと適合する場合、出力信号１１０ｂおよび１１０ｃは論理１となり二進数アドレス０１１０を提供し、それは仮想アドレス６の二進数符号である。
【００１６】
以上より、あるデータワードは実際のアドレス位置１−３２にのみ蓄積され、あるデータワードは２つの実際のアドレス位置に蓄積され、またあるデータワードは３つの実際のアドレス位置に蓄積され、またあるデータは（仮想アドレス１５を有する）４つの実際のアドレス位置であるとみなされる。データワードが蓄積され位置がデータワードの蓄積のために選択される回数はそのデータワードの仮想アドレスの二進数符号に一致する。
【００１７】
図２は導線１１０ａ−ｄ上の二進数符号化仮想アドレス出力信号Ａ（３．．０）に加えて、導線２０５経由で適応されるデータワードと１５個の蓄積されたデータワードのいずれかが適合していると判明した場合は、常に適合出力信号５０４を生成することが必要となり、その場合には出力信号ＯＲゲート９００を追加的に適用し得る。適合信号５０４は、信号１１０ａ−ｄのいずれかが論理１である場合はいつも論理１となる。図１に示される回路機構がプログラム可能な論理装置の一部であると仮定すると、単体で比較的単純な論理要素あるいはモジュールがＯＲゲート９００により表現される機能を実行することが要求され、それゆえ適合信号５０４を供給する。
【００１８】
前述のことは、本発明の結果として、この回路機構が典型的な連想メモリ出力信号（すなわちアドレスＡおよび適合出力信号）を供給する連想メモリとしての機能を実施することを可能にするために、前記の米国特許出願第０９／０３４０５０号に示された回路機構に対してまったく何も（またはほとんどなにも）追加する必要が無いことを例示している。アドレス信号（例えば二進数符号）は、選択された出力導線１１０上に出現する。信号論理要素またはモジュールは、適合信号を提供するためにアドレス信号と結合され得る。
【００１９】
１５個以上の蓄積されたデータワードを比較可能な連想メモリが必要とされる場合、メモリブロック１１がさらに実際のアドレスを供給することが可能である。選択的に複数のメモリブロック１１は、優先度の低い順序のアドレスビットをそれぞれ提供するＡ出力およびより高い優先度のアドレス情報を提供する適合信号を平行して使用することができる。
【００２０】
アドレス出力信号は、二進数符号である必要はない。必要に応じて仮想アドレス情報のいずれかの他の符号化を代わりに使用することができる。例えば、比較されるデータワードはメモリブロック１１内に蓄積可能であり、その結果これら仮想アドレス情報は、グレイ符号、二進符号、十進符号、または他の要求される符号の出力である。
【００２１】
前述において簡潔に示したように、付加されたデータワードと比較されるデータワードは既知の書き込み手順（前記米国特許出願第０９／０３４０５０号および第０９／２９２４４８号参照）を使用してメモリ１１内に書き込み可能である。具体的には、導線１０１′は蓄積されるデータの供給に使用され、一方実際のアドレス位置１−３２の一つ（または複数個）はそのデータの蓄積のために選択される。
【００２２】
以上は本発明の原理の説明に過ぎず、当業者においては本発明の範囲および概念から逸脱することなく種々の設計変更をなし得ることは勿論である。例えば、ここで示され記述された具体的なメモリブロックは（ともにワードの長さおよび蓄積位置の数について）必要に応じて変更して使用し得る。同様に、二進数符号の使用は説明のためのものであり、必要に応じて他の符号（それらのいくつかは特別に説明した）を使用することもできる。本発明の範囲内におけるさらに別の変更例として、前述の具体的信号および論理レベルは説明のためのものであり、必要に応じて異なる信号または論理レベルを代わりに使用することができる。ここで示され記述された具体的な論理装置は一例に過ぎず、必要に応じて論理的に同等な代用品を使用することができる。
【図面の簡単な説明】
【図１】本発明に従っていくつかのメモリ位置内に蓄積された種々のデータワードを備えた連想メモリ回路機構を説明的に示す概略回路ブロック線図である。
【図２】本発明に従って図１の回路と共に使用し得る追加回路の実施例を示す概略回路ブロック線図である。
【符号の説明】
１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５，１６，１７，１８，１９，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９，３０，３１，３２  実際のアドレス
１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５，１６，１７，１８，１９，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９，３０，３１，３２  仮想アドレス
１１  メモリ
１０１′  導線
１１０ａ，１１０ｂ，１１０ｃ、１１０ｄ  出力信号
２０５  導線
３０４  ｐ項出力
４０２  ｐ項出力
４１０ａ，４１０ｂ，４１０ｃ，４１０ｄ  積和ＯＲゲート
５０４  適合出力信号
９００  出力信号ＯＲゲート
【図１】
0004726098.tif 000002
【図２】
0004726098.tif 000003