(57)【特許請求の範囲】
【請求項１】
ａ）データを中に含む第１および第２の少なくとも２つのデータ列を含むＲＡＭと、
ｂ）前記第１および第２の列に結合され、前記ＲＡＭデータの出力をゲートするためのゲート回路と、
ｃ）ＣＡＭとを備え、
前記ＣＡＭが、
ｃ１）複数のアドレス位置を中に含む少なくとも２つのアドレス列と、
ｃ２）前記ＣＡＭ内の第１および第２のアドレス列の各アドレス位置および前記ゲート回路に結合され、比較アドレスが前記第１または第２のアドレス列中のアドレスと一致したとき前記ゲート手段に制御信号を送り、前記ゲート手段によってアドレス指定されるデータ列からＲＡＭデータを出力するための制御回路と、  を備える集積回路。
【請求項２】
前記制御回路が、第１および第２のアドレス列の各アドレス位置にそれぞれ結合された第１および第２のカスケード型ＯＲから成ることを特徴とする請求項１に記載の集積回路。
【請求項３】
前記ゲート回路がマルチプレクサから成ることを特徴とする請求項１に記載の集積回路。
【請求項４】
前記ＲＡＭおよびＣＡＭのどの行をアドレス指定するかを決定するための復号回路をさらに含むことを特徴とする請求項１に記載の集積回路。
【請求項５】
前記ＣＡＭの各アドレス列が、夫々同数の行を含むブロックの少なくとも２つからなり、
前記カスケード型ＯＲ回路が、
前記各行毎に備えられ、当該アドレス列中のアドレスと前記比較アドレスが一致し且つ当該行が前記アドレス指定された行であるときに活動化される第１の回路と、
前記ブロック毎に備えられ、各ブロックにおける前記第１の回路のいずれかが活動化されたときに活動化される第２の回路と、
前記各アドレス列毎に備えられ、各アドレス列における前記第２の回路のいずれかが活動化されたときに活動化される第３の回路と、
からなることを特徴とする請求項４に記載の集積回路。
【請求項６】
ＣＡＭによって活動化されるゲート回路を介してＲＡＭからデータを出力する方法であって、
ａ）前記ＲＡＭとＣＡＭ中の行をアドレス指定する段階と、
ｂ）前記ＣＡＭ内の各列に比較アドレスを送る段階と、
ｃ）前記アドレス指定された行の各ＣＡＭ位置を比較アドレスと比較する段階と、
ｄ）前記比較アドレスとの一致を含む前記ＣＡＭ列から制御信号を出力する段階と、
ｅ）前記ＲＡＭ内の選択した行からのすべてのデータをゲート・デバイスに出力する段階と、
ｆ）前記ゲート・デバイスがＲＡＭデータおよび制御信号をほぼ同時に受け取って、前記アドレス指定されたＲＡＭデータ行の１列以外のすべての列が前記ゲート・デバイスから出力されないようにする段階と、
を含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に内容アドレス可能なメモリ（ＣＡＭと言う）およびＲＡＭへの並行アドレシングを可能にするメモリシステムのための装置および方法に関し、特に、ＣＡＭがＲＡＭのための行アドレスを処理するまで、ＲＡＭが待機する必要のないメモリシステムおよび方法に関する。
【０００２】
【従来の技術】
コンピュータにおいていろいろな機能を遂行するためにＣＡＭおよびＲＡＭを使用することは広く知られている。その１つの適用例は、アドレスの一部をＣＡＭに記憶させ、残りのアドレスをＲＡＭに記憶させておくことである。この適用例では、ＣＡＭは、記憶中のアドレスを直接に読み出すことができず、その代わりに、生成したアドレス部分をＣＡＭ記憶中のアドレスと比較し、両アドレスが合致するかどうかを調べ、合致しているならば、そのように表示するだけである。次に、残りのアドレスを記憶しＣＡＭと連想関係で使用されるＲＡＭがＣＡＭ記憶中の前記アドレスを読出し、この読出しアドレスと前述の生成アドレスとの比較が本当になされていたかどうかの比較の検証がなされる。ＣＡＭおよびＲＡＭの両メモリから全アドレスを迅速にに読み出すことが望ましい。原特許出願（平成８年特許願第４５０９０号）に係わる発明はそのような機能を与える技術を開示するものである。
【０００３】
【発明が解決しようとする課題】
本発明の目的は、ＣＡＭがＲＡＭのための行アドレスを処理するまで、ＲＡＭが待機する必要のないメモリシステムおよび方法を提供することである。
【０００４】
【課題を解決するための手段】
本発明は、ＣＡＭおよびＲＡＭの両方をアドレシングするために単一の行デコーダ／ワードラインを使用してＣＡＭおよびＲＡＭを並行アドレシングを行なう構想を特徴とするものであり、この構想は次のような構成の集積回路により具現化される。
ａ）データを中に含む第１および第２の少なくとも２つのデータ列を含むＲＡＭと、
に含む第１および第２の少なくとも２つのデータ列を含むＲＡＭと、
ｂ）前記第１および第２の列に結合され、前記ＲＡＭデータの出力をゲートするためのゲート回路と、
ｃ）ＣＡＭとを備え、
前記ＣＡＭが、
ｃ１）複数のアドレス位置を中に含む少なくとも２つのアドレス列と、
ｃ２）前記ＣＡＭ内の第１および第２のアドレス列の各アドレス位置および前記ゲート回路に結合され、比較アドレスが前記第１または第２のアドレス列中のアドレスと一致したとき前記ゲート手段に制御信号を送り、前記ゲート手段によってアドレス指定されるデータ列からＲＡＭデータを出力するための制御回路と、
を備える集積回路。
【０００５】
本発明の方法は、ＣＡＭによって活動化されるゲート回路を介してＲＡＭからデータを出力する方法であって、
ａ）前記ＲＡＭとＣＡＭ中の行をアドレス指定する段階と、
ｂ）前記ＣＡＭ内の各列に比較アドレスを送る段階と、
ｃ）前記アドレス指定された行の各ＣＡＭ位置を比較アドレスと比較する段階と、
ｄ）前記比較アドレスとの一致を含む前記ＣＡＭ列から制御信号を出力する段階と、
ｅ）前記ＲＡＭ内の選択した行からのすべてのデータをゲート・デバイスに出力する段階と、
ｆ）前記ゲート・デバイスがＲＡＭデータおよび制御信号をほぼ同時に受け取って、前記アドレス指定されたＲＡＭデータ行の１列以外のすべての列が前記ゲート・デバイスから出力されないようにする段階と、
から成る方法である。
【０００６】
【発明の実施の態様】
先ず、図１を参照して、データ・キャッシュ・ユニット（ＤＣＵ）メモリ１２に部分アドレス入力を提供する周知の内容アドレス・メモリ（ＣＡＭ）１０およびその動作を説明する。この図では、８つの列位置（列０〜列７）が設けられ、６４行のワード線（ＷＬ０〜ＷＬ６３）が設けられる。各行／列位置には８ビットの２進データ（"１"と"０"）が記憶され、入力を比較する対象となるデータの基礎となる。各行／列位置は少なくとも１つの追加データ有効ビット（図示せず）を有し、出力比較を機能させるにはこれを真に設定しなければならない。
【０００７】
動作に際して、ＣＡＭ１０は、ＣＡＭ１０の入力ポート１４への入力として必要な比較データＣＤを受け取り、比較データＣＤを比較して、所与のワード線に特定のビット・パターンを記憶するかどうかを判定する（この実施形態では、８ビットのパターンを比較するが、他のパターンも使用できる）。これは、図１では概略的に示してあり、一連のビット・パターンがＣＡＭ１０に記憶される。この実施形態では、各ワード線（行）は８個の８ビット・パターンを含む。各パターンは、ワード線上の異なる列位置（列０〜列７）に記憶される。ＣＡＭ１０は、８個のデータ・ビットがそれぞれの行／列位置に記憶され、比較データ・ビットＣＤとして入力が入力ポート１４に提供されるという原理で動作する。選択したワード線のある列位置で一致がある場合は、列比較器が"１"をアサートする。偶然にすべての列が比較データＣＤと一致する場合は、８つの列比較器がすべて"１"をアサートすることになり、ＣＡＭ１０の出力ポート１６での出力は"１１１１１１１１"になる。選択したワード線の列に不一致が見つかった場合は、列比較器の出力は強制的に"０"になる。ＣＡＭ１０の出力ポート１６からの８つの比較器出力は、ＤＣＵ１２への入力の一部としてその入力ポート１８に提供される。図では、入力ポート１４に比較データ・ビット０００１００００が提供された場合は、選択されたワード線の列３の比較によって、列３の比較器が"１"をアサートし、残り７つの列比較器が"０"を出力し、その結果、ＣＡＭ１０が、出力ポート１６からＤＣＵ１２の入力ポート１８に８ビット・アドレス０００１００００を出力することになる。ＣＡＭの出力が列３の８ビット・パターンと一致するのは、ＣＡＭが列３に記憶されたパターンを実際に出力するからではなく、列位置が、図１に示したパターンで意図的に書き込まれているからである。この動作は、当技術分野では周知であり、これ以上説明する必要はない。
【０００８】
ＤＣＵ１２の入力ポート１８は、８ビット・アドレスの１つとして、ＣＡＭ１０から出力を受け取る他に、ワード・アドレス（ＷＡ）、読み書き用のデータ、読み書き制御（Ｒ／Ｗ）なども、受け取る。ＣＡＭ１０からＤＣＵまでの経路については後で説明する。いずれにせよ、ＣＡＭの出力は、そこに記憶されたデータおよび比較データＣＤの関数である。
【０００９】
次に、ＣＡＭおよびＲＡＭのアドレス並列処理の下に、ＲＡＭがそのアドレスの一部をＣＡＭから獲得するメモリシステムの良好な実施例を図２ないし図５に関して説明する。ＣＡＭの設計は従来、完全に連想型のエレメントとしてワード配列構成で使用されてきた。アドレス・フィールドは、幅Ｎセル、奥行きＲ行に編成されたＣＡＭセルの１列と比較される。一致がある場合は、一致した行に関連するワード線が選択される。選択されたワード線は、所望のデータを含む標準のメモリ・セルを端から端まで駆動する。この従来技術のプロセスでは、ＣＡＭがその行選択アドレスを処理するのをＲＡＭが待つ状況が生じる。現行のプロセッサ・アーキテクチャでは、重要な設計目標は、ますます速い処理速度で動作するプロセッサを設計することである。この設計目標は、マイクロプロセッサ・アーキテクチャのテスト動作にも一般動作にも当てはまる。
【００１０】
図２を参照すると、ＣＡＭがＲＡＭの行アドレスを処理するのをＲＡＭが待つ必要がないＣＡＭとＲＡＭの並列処理を提供するアーキテクチャを示すブロック図が示してある。さらに、ＲＡＭの連想型または半連想型の復号ビット・アドレス指定を実行するＣＡＭの設計も示す。ＲＡＭ３００とＭＵＸ（マルチプレクサ）５００は、一般に構成要素番号３６０によって示す、ＴＡＧ、データ記憶アレイ・アーキテクチャ、またはＤＣＵとして動作することができることに留意されたい。動作に際して、デコーダ１００はＣＡＭ２００内の６４行のうちのどれか１行を選択し、ＲＡＭ３００は、デコーダが行アドレス信号１０５を受け取るときに選択される。ＲＡＭ３００の動作に関しては、選択されたＲＡＭの行により、選択されたデータ位置内に記憶されているデータがすべて、Ｃ１〜Ｃ８と称する関連する８つのＲＡＭ列にダウンロードされる。たとえば、データ位置３２０ないし３４０がそれぞれＣ１〜Ｃ８にダウンロードされることになる。したがって、ＲＡＭデータが、８×１ＭＵＸとして示されているＭＵＸ５００に経路指定され、そこでＲＡＭからの８つの入力のうちの１つがイネーブルされて、ＲＡＭデータの列のうちの１つを出力線５１０に即座に経路指定する。ＣＡＭ２００の動作に関しては、行アドレス１０５信号がデコーダ１００に達し、同時に比較アドレス４００が、線４２０を介して、すべてのＣＡＭ行のすべてのＣＡＭ位置（すなわち、位置２２０〜２４０）に経路指定される。選択された行が一致する場合は、カスケード型ＯＲ２６０（列Ｃ１〜Ｃ８ごとに１つずつ）が、関連するＣＡＭ列の出力線１１０を高レベルに上げる。バス１２０を構成する出力線１１０はそれぞれＭＵＸ５００に結合される。動作に際しては、たとえば、ＣＡＭ列Ｃ１は、ＲＡＭ列Ｃ１内のデータを出力線５１０に出力できるようにＭＵＸ５００をプログラムする信号を出力線１００に出力することができる。要するに、行復号回路１００を使ってＲＡＭとＣＡＭの行を同時に選択し、ＣＡＭのビット・アドレス指定を使用して、ＲＡＭの選択された行のデータが到着する前にＭＵＸ５００をイネーブルすることができる。したがって、ＲＡＭの処理をするために、まずＣＡＭの処理が完了するのを待つ必要がなくなる。
【００１１】
図３を参照すると、単一のＣＡＭ列およびそれに関連するカスケード型ＯＲ用の詳細な回路のブロック図が示してある。ＣＡＭ位置の列およびそれに関連するＯＲは、それぞれ同数の行またはアドレス位置、すなわち位置２２０を有する４つの同じブロック６００ａ〜６００ｄに分割される。この例では、説明のため、各ＣＡＭ位置内に１０個のビット・セルがあるものとする。その位置が比較アドレスを受け取ると、その結果、一致線６１０が高電圧レベルまたは低電圧レベルのどちらかになる。たとえば、比較アドレス４００が位置２２０と一致するときは、第１ＣＡＭ列Ｃ１に結合されたカスケード型ＯＲが活動化されて、一致列出力線１１０に高信号を出力させる。より具体的には、事象の順序は以下の通りである。一致線６１０が高電圧を出力し、ワード線選択（ＷＬＳ）６３０がストローブし、第１のカスケード型ＯＲ回路６２０が線６５０を低レベルにし、第２のカスケード型ＯＲ回路６４０が線６７０ａ上に高電圧を出力し、第３のカスケード型ＯＲ回路６６０が、関連する出力線１１０上に高電圧信号を出力する。ＷＬＳ６３０が復号回路１００からの入力であることに留意されたい。さらに、復号回路１００がワード線駆動回路（図示せず）を含むことに留意されたい。
【００１２】
図４を参照すると、すべてのＣＡＭアドレス位置に結合された第１のカスケード型ＯＲ回路６２０の回路図が示してある。動作に際し、比較アドレスとＣＡＭ位置の間で一致がある場合は、一致線６１０が、ＰＦＥＴ６１４によって高レベルのままになり、ＮＦＥＴ６１９が活動化されたままになる。次に、ＷＬＳ６３０のストローブ後に、出力線６５０が低レベルになる。一致がない場合は、以下の手順で行う。一致線６１０が低レベルになり、ＮＦＥＴ６１９がオフになって、ＷＬＳがストローブするとき、ＮＦＥＴ６１８を活動化し、出力線６５０を高レベルに維持する。一致があってもなくても、回路６２０は開始状態にリセットしなければならない。開始状態は、リセットＲＳＴ１をストローブすることによって、ＷＬＳストローブの後にリセットされ、ＰＦＥＴ６１２が、ＰＦＥＴ６１４の助けで線６１０を高レベルにし、それにより出力線６５０が高レベルに維持される。ＰＦＥＴ６１６は、雑音を少なくし一致がないときにＮＦＥＴ６１９がオンにならないように働くことに留意されたい。また、ＷＬＳ６３０がストローブするときは、ＣＡＭの８つの列全部の端から端までストローブすることに留意されたい。
【００１３】
次に、図５を参照すると、カスケード型ＯＲにおける第２の回路６４０の詳細な回路図が示してある。動作に際して、出力線６５０が、ＰＦＥＴ６５６によって高レベルのままでいるときは、ＰＦＥＴ６５２が非活動状態になったままであり、出力線６７０ａが高レベルになるのを防ぐ。ＮＦＥＴ６１８および６１９を活動化して出力線６５０を低レベルにすると、ＰＦＥＴ６５６および６５４に過度の電力が加えられ、出力線６７０ａが高レベルに駆動されてＰＦＥＴ６５４がオフになる。回路６５０を初期状態にリセットするため、リセット信号ＲＳＴ２がストローブして、ＰＦＥＴ６５８が、出力線６５０をＰＦＥＴ６５６の助けで高レベルにする。ＰＦＥＴ６５４は、雑音効果を減少させるために利用され、線６５０を高レベルにするのを助けることによりＰＦＥＴ６５２が間違ってオンになるのを防ぐことに留意されたい。
【００１４】
次に、図６および図７を参照すると、カスケード型ＯＲにおける第３の回路６６０の回路図が示してある。動作に際して、出力線６７０ａ〜６７０ｄのいずれかが高レベルになると、関連するＮＦＥＴ７２０ａ〜７２０ｄがノード７２２を低レベルに駆動し、それによりコンバータ９２４を介して出力線１１０が高レベルに駆動される。それとは逆に、出力線６７０ａ〜６７０ｄがすべて低レベルのままのときは、ノード７２２は高レベルに留まり、したがって出力１１０は低レベルのままである。ＰＦＥＴ７１０ａ〜７１０ｄは雑音効果を減少させるために利用され、駆動ＮＦＥＴ７２０ａ〜７２０ｄが間違ってオンになるのを防ぐことに留意されたい。ＳＥＴは、集積回路の初期始動後、常に高レベルに維持されているので、回路６６０をリセットするには、ＮＡＮＤゲート７２６はリセットＲＳＴ１をストローブすることによってのみ活動化される。その結果、ＲＳＴ２は低レベルに駆動され、ＮＦＥＴ７００ａ〜７００ｄが活動化されて、出力線６７０ａ〜６７０ｄをすべて低電圧レベルに復元させる。さらに、ＰＦＥＴ９２０は、ノード７２２を高レベルにし、それによりＮＦＥＴ９００およびコンバータ９２４の助けで出力線１１０を低レベルに駆動する。チップに電力を投入して動作のためにカスケード型ＯＲを始動するとき、ＳＥＴ信号がパルス出力されることに留意されたい。
【００１５】
ＲＡＭのビット復号化を実施する際に当業者が利用できる変形例が多数あることに留意されたい。具体的には、ＣＡＭの列は、図示したような４つだけでなく、任意の数の部分に分割することができる。その場合、ＣＡＭを再区分するために、より多くのレベルまたは段を提供するようにカスケード型ＯＲ回路を再構成することが必要になる。同様に、当業者なら、例示したようなカスケード型ＯＲとは異なる他の論理装置を容易に思い付くであろう。
【００１６】
したがって、本発明の好ましい実施形態は、ＣＡＭおよびＲＡＭの並列処理を提供する。ＣＡＭの処理は速いので、ＲＡＭのデータはＭＵＸ回路に到達するとすぐに出力される。ただし、前述の説明を念頭に置いて、この説明が例示的なものにすぎないことをよく理解されたい。さらに、本発明は、本明細書に記載した特定の実施形態に限定されるものではない。さらに、特許請求の範囲に記載したような本発明の真の趣旨から逸脱せずに様々な再構成、変更、および代用が実施できることに留意されたい。
【図面の簡単な説明】
【図１】データ・キャッシュ・ユニット（ＤＣＵ）メモリに入力を提供する内容アドレス・メモリ（ＣＡＭ）の動作および機能を示す概略図である。
【図２】ＣＡＭとＲＡＭの並列処理を提供するアーキテクチャを示す本発明のブロック図である。
【図３】単一のＣＡＭ列および関連するカスケード型ＯＲの回路を示す本発明のブロック図である。
【図４】すべてのＣＡＭアドレス位置と関連付けられた特定の第１のカスケード型ＯＲ回路を示す本発明の回路図である。
【図５】図４に示した第１のカスケード型ＯＲ回路から出力信号を受け取る、カスケード型ＯＲにおける特定の第２の回路を示す本発明の回路図である。
【図６】図５に示したカスケード型ＯＲの第２の回路から出力信号を受け取る、カスケード型ＯＲにおける第３の回路を示す本発明の回路図である。
【図７】図５に示したカスケード型ＯＲの第２の回路から出力信号を受け取る、カスケード型ＯＲにおける第３の回路を示す本発明の回路図である。
【符号の説明】
１０  内容アドレス・メモリ（ＣＡＭ）
１２  データ・キャシュ・ユニット（ＤＣＵ）
１４  ＣＡＭ入力ポート
１６  ＣＡＭ出力ポート
１８  ＤＣＵ入力ポート
１９  ＤＣＵ出力ポート
【図１】
0003773171.tif 000002
【図２】
0003773171.tif 000003
【図３】
0003773171.tif 000004
【図４】
0003773171.tif 000005
【図５】
0003773171.tif 000006
【図６】
0003773171.tif 000007
【図７】
0003773171.tif 000008