(57)【特許請求の範囲】
【請求項１】
集積回路チップ上のランダムアクセス比較アレイであって、
複数個のマルチビット比較回路を含み、前記マルチビット比較回路の各々は、第１のおよび第２の入力ポートと、前記第１の入力ポートに結合されたマルチビットレジスタと、前記第２のポートが前記第１のポート上の前記マルチビットレジスタのビットと等しいアドレスを受けるときに一致信号を発生させる手段とを有し、さらに、
比較アドレスを受取り、前記比較アドレスをすべての前記マルチビット比較回路上の前記第２のポートへと送るアドレス分配回路と、
選択アドレスを受取る一致選択回路とを含み、
前記一致選択回路は、
前記選択アドレスの第１の部分をデコードすることによって第１の選択信号を生成する第１のデコーダ回路と、
前記第１のデコーダ回路と並列に動作して、前記選択アドレスの残りの部分をデコードすることによって第２の選択信号を生成する第２のデコード回路と、
前記第１の選択信号に応答して、前記マルチビット比較回路からの前記一致信号のうちのいくつかから成るグループを選択する第１の選択回路と、
前記第２の選択信号に応答して、前記グループから単一の一致信号を単一出力端子へ与える第２の選択回路とを有する、ランダムアクセス比較アレイ。
【請求項２】
前記マルチビット比較回路およびそれぞれのマルチビットレジスタが行列のマトリックスとして前記チップ上に配列され、前記一致選択回路が前記一致信号の発生と平行して１つの行の前記マルチビット比較回路のすべてを選択し、前記１つの行のマルチビット比較回路から前記単一出力端子へと前記単一の一致信号を与える、請求項１に記載のランダムアクセス比較アレイ。
【請求項３】
前記マトリックスの各行は、１つの行デコード回路と、複数個の前記マルチビット比較回路と、前記マルチビット比較回路ごとに対応して設けられた行選択回路とを含み、
各前記行選択回路は、前記マトリックスの対応の列において直列に接続された第１および第２のトランジスタを有し、
前記第１のトランジスタは、前記行デコーダ回路からの行選択信号を受けるゲートを有し、
前記第２のトランジスタは、対応の前記マルチビット比較回路からの一致信号を受けるゲートを有する、請求項２に記載のランダムアクセス比較アレイ。
【請求項４】
前記一致選択回路が、前記１つの行におけるすべての一致信号を検出する各列内のそれぞれの列センスアンプと、前記列センスアンプのそれぞれに接続されたそれぞれの列セレクタと、前記列セレクタのすべてに接続された出力センスアンプとを含み、前記選択された行と前記出力センスアンプとの間のどこにも介在マルチプレクサを含まない、請求項２に記載のランダムアクセス比較アレイ。
【請求項５】
前記マルチビット比較回路の各々が、一対の電圧搬送導体と、前記第１のおよび第２のポートが等しくないビットを受取るときに前記導体上の電圧を互いに向けてシフトし前記第１のおよび第２のポートが等しいビットを受取るときに前記導体上の電圧を互いに離すようにシフトする手段とを含む、請求項２に記載のランダムアクセス比較アレイ。
【請求項６】
前記チップが、ある数の入力／出力端子を含み、前記アレイ内の比較回路が、前記入力／出力端子より数で勝る、請求項２に記載のランダムアクセス比較アレイ。
【請求項７】
ランダムアクセスメモリと組合されたランダムアクセス比較アレイであって、前記ランダムアクセスメモリがその中にストアされた複数個のデータワードを有し、かつ、前記ランダムアクセスメモリが前記選択アドレスに応答してストアされたデータワードを読取り、一方でそれと並列に前記ランダムアクセス比較アレイが前記一致信号のうち１つを選択するように、前記選択アドレスを前記ランダムアクセス比較アレイと並列に受けとるよう結合された読取りアドレスポートを有する、請求項２に記載のランダムアクセス比較アレイ。
【請求項８】
ランダムアクセスメモリと組合せたランダムアクセス比較アレイであって、前記マトリックスの各行は、１つの行デコード回路と、複数個の前記マルチビット比較回路と、前記マルチビット比較回路ごとに対応して設けられた行選択回路とを含み、
各前記行選択回路は、前記マトリックスの対応の列において直列に接続された第１および第２のトランジスタを有し、
前記第１のトランジスタは、前記行デコーダ回路からの行選択信号を受けるゲートを有し、
前記第２のトランジスタは、対応の前記マルチビット比較回路からの一致信号を受けるゲートを有する、請求項７に記載のランダムアクセス比較アレイ。
【請求項９】
ランダムアクセスメモリと組合せたランダムアクセス比較アレイであって、前記一致選択回路が、前記１つの行内の一致信号のすべてを検出するような各列におけるそれぞれの列センスアンプと、前記列センスアンプの各々に接続されたそれぞれの列セレクタと、前記列セレクタのすべてに接続された出力センスアンプとを含み、前記選択された行と出力センスアンプとの間のどこにも介在マルチプレクサを含まない請求項８に記載のランダムアクセス比較アレイ。
【請求項１０】
ランダムアクセスメモリと組合せたランダムアクセス比較アレイであって、前記マルチビット比較回路の各々が１対の電圧搬送導体と、前記第１のおよび第２のポートが等しくないビットを受取ると前記導体内の電圧を互いに向けてシフトし、かつ、前記第１のおよび第２のポートが等しいビットを受取ると前記導体上の電圧を互いから離してシフトする手段とを含む、請求項９に記載のランダムアクセス比較アレイ。
【請求項１１】
ランダムアクセスメモリと組合せたランダムアクセス比較アレイであって、前記チップがある数の入力／出力端子を含み、前記アレイにおける前記比較回路が前記入力／出力端子よりも数で勝る、請求項10に記載のランダムアクセス比較アレイ。
【発明の詳細な説明】
発明の背景
この発明はデータキャッシュのためのアーキテクチャに関し、かつキャッシュが高速度で動作することを可能にするデータキャッシュ構成要素の回路設計に関する。
ここではデータキャッシュは、複数のデジタルデータのワードをストアし、また特定のデータワードをアクセスするのに使用される各データワードに対する、それぞれの比較アドレスをストアする、電子回路を意味する。各データワードは、たとえばコンピュータオペランドまたはコンピュータ命令のように、いかなる型のデジタル情報でもあり得る。
先行技術の１つのデータキャッシュアーキテクチャは、本質的にDATA  RAM（ランダムアクセスメモリ）と組合わされたCAM（連想記憶装置）からなる。動作において比較アドレスは、CAMに送られて、複数個のＮレジスタと比較される。そのような比較の各々が、それぞれ一致出力信号MATCHi（ｉ＝１、２、…Ｎ）を発生させ、次にそれらのMATCHi信号はCAMからDATA  RAMへと送られ、そこでそれらがそれぞれデータワードを選択する。
しかしながら、上記キャッシュアーキテクチャの欠点は、キャッシュの速度が、CAMの速度にRAMの速度を加えたものにより制限されるということである。これはRAM読取動作を始めることができる前に、CAM比較動作が完了されなければならないからである。さらなる欠点は、CAM内のレジスタの数が増加するに従って、CAMが集積回路チップ上で実現され得ないような点に速やかに達してしまうことである。これは各レジスタが、チップを出ていくMATCHi信号を発生し、かつ、最も進んだチップ上でさえ、入力／出力ピンの総数は、300よりも少なく制限されるからである。
上記キャッシュの改良である第２のデータキャッシュアーキテクチャは、DATA  RAMと組合されたコンパレータおよびADDRESS  RAMからなる。動作において、比較アドレスは、高位部分AHおよび低位部分ALに区分され、アドレス部分ALは、ADDRESS  RAMからアドレスを、DATA  RAMからデータワードを、平行して読取るため使用される。次に、ADDRESS  RAMから読取られるアドレスは、AHと比較される。一致が起きれば、DATA  RAMからのデータは有効であり、さもなければデータは無効である。
比較が１度だけなされ、そうして多数のMATCHi信号が排除されるので、この第２のアーキテクチャについては、上記のI/Oピン制限問題は克服される。しかしながら、この第２のアーキテクチャでは、ADDRESS  RAMの速度にコンパレータの速度を加えたものにより、キャッシュの速度は制限されるようになる。それは、ADDRESS  RAMが読取られるまでは、比較動作は起こり得ないからである。
したがって、この発明の主たる目的は、キャッシュの動作速度を多いに増加させ、かつ集積回路チップ上で実現された際にピン制限されないような、以下ランダムアクセス比較アレイとよばれる、新規な回路を提供することである。
発明の簡単な概要
この発明によると、ランダムアクセス比較アレイは、集積回路チップ上に、複数個のマルチビットコンパレータ回路を含む。各コンパレータ回路は、第１および第２の入力ポートを有し、それぞれマルチビットレジスタが第１のポートに結合され、かつ、第２のポートが、第１のポート上のレジスタのビットに等しい比較アドレスを受取ると、それぞれの一致信号を生じさせる。また比較アドレスが分配回路がチップ上に含まれ、比較アドレスを受取り、かつコンパレータ回路の全部の上にある第２のポートへと比較アドレスを送る。さらに、一致選択回路がチップ上に含まれ、選択アドレスを受取り、かつ応答して、いくつかのコンパレータ回路のグループを選択する。この選択は、一致信号の発生と平行して起こり、この平行動作のために、アレイの速度は、実質的に増加される。また、選択アドレスに応答して、一致選択回路は、被選択コンパレータ回路のグループから、チップの１個の出力端子へと、１個の一致信号を与える。このように、チップ上で発生させられる一致信号の数は、チップの入力／出力ピンにより制限されない。
さらにランダムアクセス比較アレイの速度を増すために、そのグループに対する個別の選択信号を発生させることにより、一致選択回路は、１のグループの比較回路全部を選択する。グループ内の各マルチビット比較回路は、１個のトランジスタのゲートキャパシタンスに比較回路内のビットの総数を乗じたものよりも実質的に少ない入力キャパシタンスでその選択信号をロードする。もっとさらにスピードを速くするために、一致選択回路は、グループ内の各一致信号に結合されたそれぞれのセンスアンプと、各センスアンプに結合されたそれぞれのセレクタと、セレクタ全部に結合された出力センスアンプとを含み、被選択グループと出力センスアンプとの間のどこにも、マルチプレクサは介在しない。さらにスピードを速めるために、第１の、および第２のポートが等しくないビットを受取ると、各比較回路は、通常の論理レベルの半分だけ、お互いに向けて、一対の導体上での電圧をシフトし、かつ第１の、および第２のポートが、等しいビットを受取ると、通常の論理レベルの半分だけ、導体上での電圧を互いから離してシフトする。
RAMと組合せて上記ランダムアクセス比較アレイを使用することにより、先行技術より２  1/2倍速く動作するデータキャッシュが構成され得る。
【図面の簡単な説明】
この発明の様々な特徴および利点は、ここに添付図面と関連して記述される。
図１は、この発明により構成される、ランダムアクセス比較アレイの概観図を示す。
図２は、図１のアレイにおけるいくつかの構成要素の詳細な回路図を示す。
図３は、図１のアレイにおけるいくつかの付加的な構成要素の詳細な回路を示す。
図４は、図１のアレイにおけるあるクリティカルタイミングパスの分析を提供する。
図５は、先行技術のキャッシュにおけるクリティカルタイミングパスの分析を、比較する目的で提供し、
図６は、この発明に従って高速度キャッシュを作るため、図１ないし４のランダムアクセス比較アレイが、RAMと組合せていかに使用されるかを示す。
詳細な説明
ここで図１を参照すると、これはこの発明により構成されたランダムアクセス比較アレイの好ましい実施例の概観図を示す。このランダムアクセス比較アレイに含まれるのは、半導体チップ上に行列に配列された複数個のマルチビットコンパレータ10である。図１では、各コンパレータ10は「comp」とラベルを付けられる。コンパレータ10の第１行は、「R1」とラベルを付けられ、最後の行は「Rx」とラベルを付けられる。第１列は「C1」とラベルを付けられ、第２列は「C2」とラベルを付けられ、最後の列は「Cy」とラベルを付けられる。最も実用的なアレイにとっては、行数「ｘ」は32から4096にまで及び、列数「ｙ」は４から64にまで及ぶ。好ましくは、行列は、結果として生じるアレイが正方形に近いように選択される。
各コンパレータ10は、マルチビット入力ポートP1およびマルチビット入力ポートP2を有する。各コンパレータはまた、その入力ポートP1に結合された（“REG"とラベルを付けられた）それぞれのマルチビットレジスタ11を有する。動作において、各コンパレータ10は、第２のポートP2がポートP1上のレジスタの内容と等しい比較アドレスAHを受取ったことを示す一致信号を、それぞれの導体12上で発生させる。行R1および列C1での、コンパレータ10からのこの一致信号は
0003581364.tif 000002
とラベルを付けられる。行Rx並びに列Cyでの、コンパレータからの一致信号は、
0003581364.tif 000003
とラベルを付けられる。
また図１では、ランダムアクセス比較アレイは、構成要素20、21−１ないし21−４、および22−１ないし22−Ｙを含む比較アドレス配分回路である。構成要素20は、比較アドレスAHを受取るマルチビットバスである。構成要素21−１ないし21−Ｙは、比較アドレスAHを再び付勢（repower）するバッファ回路であり、そのような１つのバッファ回路が、各列に配置される。構成要素22−１ないし22−Ｙは、それぞれ列に配置され、バッファ回路からコンパレータ全部の入力ポートP2へと、比較アドレスAHを運ぶ、マルチビットバスである。
さらに図１のランダムアクセス比較アレイは、構成要素30、30−１ないし31−Ｘ、32、33−１ないし33−Ｙ、34−１ないし34−Ｙ、35、36、および37を含む一致選択回路である。構成要素30は、バッファ回路である。構成要素31−１ないし31−Ｘは、各行にそれぞれ配置された、それぞれの行デコーダ回路である。構成要素32は、セレクタ回路であって、１つの選択回路は各コンパレータ10と関連させられている。構成要素33−１ないし33−４は、（COLSAとラベルを付けられた）それぞれの列センスアンプであり、１つのセンスアンプが、各列に設けられる。構成要素34−１ないし34−Ｙは、（COLSELとラベルを付けられた）それぞれの列選択回路であり、そのような１つの回路が、各列センスアンプと関連させられる。構成要素35は列セレクタ全部からの出力バスである。構成要素36は、出力バス35のための出力センスアンプである。構成要素37は、センスアンプ36からの１個の出力導体である。
動作において、行選択アドレスALRは構成要素30に送られ、列選択アドレスALCは構成要素34−１ないし34−Ｙに送られる。行選択アドレスALRに応答して、構成要素30、31−１ないし31−Ｘ、および32は、コンパレータ回路10の１つの行を選択する。この行選択は、導体12上での一致信号の発生に平行して起こる。また、列選択アドレスALCに応答して、構成要素33−１ないし33−Ｙ、34−１ないし34−Ｙ、35、36および37は、選択された行から出力導体37へと、１つの一致信号を与える。図１の、このランダムに選択された一致信号は、「RMATCH」とラベルを付けられる。
ここで図２および図３に移ると、上記図１アレイを構成する、回路のさらなる詳細がのべられる。図２が示すように、マルチビットバス20は、「ｋ」個の導体20−１ないし20−ｋを含み、「ｋ」は比較アドレスAH内のビット数である。20−１ないし20−ｋの各導体は、その比較アドレスのそれぞれのビットを運ぶ。最も実際的な例では、「ｋ」は10から16にまで及ぶ。しかしながら、「ｋ」はどんな正の整数にもなり得る。
また、図２が示すように、バッファ回路21−Ｙは、「ｋ」個の論理ゲート21−Y1ないし21−Ykを含み、そのそれぞれは、反転出力および非反転出力を有する。各ゲートは比較アドレスAHのそれぞれのビットを受取り、各ゲートからの出力は、列CY内の、レジスタ11全部およびコンパレータ10全部へと送られる。簡単のために、１つのコンパレータおよび１つのレジスタのみが示される。他の列C1、C2などすべてにおいて、バッファ回路21−１、21−２などは、同様の態様で構成される。
さらに図２が示すように、一致回路10は「ｋ」個の段10−１ないし10−ｋを有する。一致回路10内の構成要素全部は、参照数字41ないし49および12で識別される。構成要素41、42、43、44、48および49はＮチャネル電界効果トランジスタであり、構成要素47は、Ｐチャネル電界効果トランジスタである。構成要素46は抵抗器であり、構成要素45a、45bおよび12は導体である。構成要素41−44は、「ｋ」段の各々に対して繰返される。これらの一致回路構成要素全部は、図示されるように、列CYの行RXで、相互接続され、他のすべての行列位置で、一致回路10は同じ構造を有する。
同様に、図２が示すように、各レジスタ11は、「ｋ」個のセットリセットラッチ11−１ないし11−ｋを含む。動作において、一致回路10は、レジスタ11の「ｋ」ビットをバス20上の「ｋ」ビットと比較する。一致が起きると、導体12上の信号
0003581364.tif 000004
は、ローの論理レベル（接地）として発生する。不一致が起きると、信号
0003581364.tif 000005
はハイの（＋Ｖ）論理レベルとして発生する。信号
0003581364.tif 000006
の発生は、以下のように起きる。
一致が起きる場合には、トランジスタ41−44を介し、導体45aから導体45bへの導通径路は存在しない。すなわち、１つの特定的な段でトランジスタ41がオンであり、トランジスタ43がオフであるなら、トランジスタ42はオフでありトランジスタ44はオンである。そして逆についても正しい。結果として、一致が起きると、導体45aおよび45bは開放回路により分けられる。この開放回路のために、導体45a上での電圧VM+は、＋Ｖまで上昇する、なぜなら、その導体は、抵抗器46を介して＋Ｖ電源に結合されるからである。また、導体45aは、Ｐチャネルトランジスタ47のゲートに結合され、かつ、＋Ｖ電圧は、そのトランジスタをオフにする。導体45aは、さらにＮチャネルトランジスタ48および49のゲートに結合され、かつ導体45a上の＋Ｖ電圧は、それらのトランジスタをオンにする。トランジスタ48および49の「オン」状態のために、導体45b上の信号VM-および導体12上の一致信号
0003581364.tif 000007
は接地に対して短絡される。
不一致の間、一致回路10の１つまたは２つ以上の段10−１ないし10−ｋを介して、導体45aから導体45bへの導体径路が、存在する。その導通径路のために、導体45a上の信号VM+は降下し、導体45b上の信号VM-は上昇する。これは、トランジスタ48がオフになる点まで、トランジスタ48のゲート−ソース電圧を減少させる。同時に、導体45a上の減少した電圧VM+は、トランジスタ47をオンにする。このようにトランジスタ47がオンであり、トランジスタ48がオフなので、導体12上の一致信号Mx,yは＋Ｖまで上昇する。
好ましくは、トランジスタ41−44は段10−１ないし10−ｋのすべてが導通すると、それらの段を介しての全抵抗が０に近くなるように選択される。好ましくは、トランジスタ49は、そのオン状態においてその抵抗が抵抗器46のそれに近似するように選択される。そのような回路設計では、レジスタ11内の全ビットが、バス20上の全ビットと誤って比較すると、電圧VM+およびVM-の両方が＋V/2に等しい。これは、一致が完全な不一致へと代わる場合に（そして逆の場合にも）導体45aおよび45b上で起きる電圧の揺れが、電源電圧＋Ｖの半分にすぎないということを意味する。結果として、一致／不一致は、さもないと＋Ｖの十分な電圧の揺れを発生させるのにかかるであろう時間より少ない時間で検出され得る。
もし、段10−１ないし10−Ｎのうちのただ１つで誤った比較が起きる場合には、導体45aから導体45bへの抵抗は、段すべてが誤って比較するときそれが有するようなゼロに近い抵抗から上昇するだろう。しかしながら、トランジスタ48をオフに保つのに、抵抗の電圧降下が十分小さいままである限り、そのような増加された抵抗は、コンパレータ10の動作に悪影響を与えないであろう。
さらに図２に見られるように、行セレクタ32は、４つのＮチャネルトランジスタ51ないし54および１つのインバータ55を含む。行デコーダ31−ｘはANDゲート57、NAND/ANDゲート58、およびインバータ59を含む。これらの構成要素全部は、図示されるように相互接続される。動作において、ゲート58は行Rxをデコードするのに必要とされるALRアドレスビット全部を受取る。簡単のために、そのような１つのビットのみが図２に示され、残りのビットは、多入力リード58aにより暗に示される。ゲート58に対する各ビットは、図示されたゲート20−１に類似した、ALRアドレスバッファ回路20内のそれぞれの論理ゲートから来る。ゲート58の非反転出力は、ANDゲート57によりクロック信号とANDをとり、それは比較読取動作の間に行Rx内の一致回路10全部を選択する信号ROWxを生じる。またゲート58の反転出力はインバータ59に結合され、それは書込動作の間にレジスタ11を選択する信号WROWxを生じる。
一致回路の選択は、行Rxの行選択回路32すべてにおけるトランジスタ51および53のゲートへと、信号ROWxを送ることにより起きる。信号ROWxがハイであるのに応答して、トランジスタ51および53はオンとなる。導体12上での信号Mx,yが（不一致を示して）ハイならば、トランジスタ52はオンとなり、かつMY行セレクタ32出力は、トランジスタ51および52を介して、接地に結合されるだろう。逆に、導体12上での信号Mx,yが（一致を示して）ローならば、トランジスタ54はオンとなり、かつMY行セレクタ32の出力は、トランジスタ53および54を介して接地に結合されるだろう。
上記行選択回路では、行デコーダ31−ｘからの信号ROWxは行Rx内の各一致回路のための２つのトランジスタ51および53のみにより、容量的にロードダウンされる。そのような容量的なローディングは、信号ROWxが、行Rx内の各一致回路の各段のために２つのトランジスタを駆動しなければならないとき起きるであろうものよりも約「ｋ」倍低い。結果として、信号ROWxは、各一致回路の各段が容量的負荷であるときに他の態様で可能になるよりも、ずっと速く切換えをすることができる。
列CY内の行セレクタ32から、出力信号MYおよびMYは、図３に示されたような列センスアンプ33−Ｙへと送られる。ここでは、列センスアンプ33−Ｙは、６個のＰチャネルトランジスタ61−66および３個のＮチャネルトランジスタからなり、その全部が図示のように相互接続される。センスアンプ33−Ｙは、次のとおり動作する。
最初は、クロック信号CKがローなら、トランジスタ69はオフとなり、トランジスタ63および66はオンとなる。それが起きると、トランジスタ61および62は、信号MYならびにMYが、＋Ｖ電源電圧からＰチャネルトランジスタ61（または62）のしきい値電圧を差引いたものまで上昇するまで、導通する。トランジスタ64および65は、センスアンプからの出力信号MSAYおよびMSAYもまたその同じ電圧へと上昇するまで導通する。
その後、クロック信号CKがハイになると、トランジスタ69はオンとなり、トランジスタ63および66はオフとなる。また、クロック信号CKがハイになると、一致信号MYまたは
0003581364.tif 000008
のうちの１つは、上で説明されたように、接地に結合されるだろう。信号MYが接地に至ると、トランジスタ67はオフとなり、それはセンスアンプ出力信号
0003581364.tif 000009
をハイに保つ。逆に、信号
0003581364.tif 000010
が接地に至ると、トランジスタ68はオフとなり、それはセンスアンプ出力信号MSAYをハイに保つ。
列センスアンプ33−Ｙから、信号MSAYおよび
0003581364.tif 000011
は列セレクタ34−Ｙへと送られる。そのような結合は、列C1ないしCYの各々に対して繰返される。次に列セレクタ全部の出力は、最後の出力センスアンプ36へと、ともに接合される。
列セレクタ34−Ｙは、４個のＮチャネルトランジスタ71、72、73および74、１つのANDゲート75ならびに１つのバッファ76を含む。ANDゲート75は、列アドレスALCをデコードする。したがって、ゲート75および76は、それぞれ、列CYが選択されるときのみハイである出力信号COLYならびにWCOLYを生じる。ハイのCOLY信号は、トランジスタ72および74をオンにする。列センスアンプ出力信号
0003581364.tif 000012
もまたハイであるならトランジスタ71はオンとなり、かつ列セレクタ出力信号Ｍは接地される。逆に、列センスアンプ出力信号MSAYがハイであるなら、トランジスタ73はオンとなり、かつ列セレクタ出力信号
0003581364.tif 000013
は接地される。次に、それらの信号Ｍおよび
0003581364.tif 000014
は、その構造と検出動作が、上記列センスアンプ33−Ｙのそれと同じである出力センスアンプ36へと送られる。Ｍおよび
0003581364.tif 000015
信号に応答して、アンプ36は、出力導体37上にランダムに選択された一致信号RMATCHを生じる。
ここで図４を考慮すると、それは、ランダムに選択された一致信号RMATCHが生じる速度を詳細に示している。RMATCH信号の発生を始めるために、比較アドレスAHは、バス20上に送られる。同時に、行選択アドレスALRおよび列選択アドレスALRは、それぞれ、行および列セレクタへと送られる。比較アドレスAHに応答して、信号は、バッファ21−Ｙおよびコンパレータ10を介して伝播し、MATCH信号
0003581364.tif 000016
を生じる。アドレスALRに応答して、信号は同時に、バッファ30および行デコーダ31−ｘを介して伝播し、ROWx信号を生じる。一致信号
0003581364.tif 000017
および行選択信号ROWXは並列に生じるので、ランダムに選択された一致信号RMATCHが生じる総合速度は増加される。
電源電圧＋Ｖの半分だけの電圧の揺れを介し、２つの導体45aおよび45b上での電圧VM+およびVM-を切換えることによってコンパレータ10内で一致信号
0003581364.tif 000018
が、生成されるので、速度はさらに増加する。これは図２と関連して説明された。また、行デコーダ31−ｘからのROWx信号が、コンパレータ10内の段「ｋ」の総数に対し、ほんの少数のトランジスタを駆動するので、速度はさらにもっと増加される。これもまた図２と関連して説明された。
コンパレータ10および行デコーダ31−ｘから、信号は、行セレクタ32、列センスアンプ33−Ｙ、列セレクタ34−Ｙ、および出力センスアンプ36を介して伝播し、ランダムに選択された一致信号RMATCHを生じる。この信号径路に沿って、マルチプレクサは列を選択するためには含まれない。全てのマルチプレクサが排除できるのは、コンパレータ回路ごとに１つの列のみがあるからである。これと比較して、各一致回路の各段に対し１つの列があるなら、センスアンプの合計数が大きくなりすぎないように保つため、列とセンスアンプとの間に、マルチプレクサを挿入しなければならないだろう。このマルチプレクサの排除は、さらに速度を速める。
比較する目的で、図５は、疑似ランダム一致信号RMATCH′を生成するために、先行技術がどのようにコンパレータ91と組合わせてRAM80を使用したかを示す。RAM80内では、アドレスを含む１組のメモリセルは、行アドレスARおよび列アドレスACによりランダムに選択される。アドレスARがRAM80内のアドレスバッファ80aへと送られると、選択が始まる。バッファ80aから、信号は、行デコーダ80b、ワードラインドライバ80c、メモリセル80d、マルチプレクサ80e、およびセンスアンプ80fを介し、直列の態様で伝播する。これは、RAM80からアドレスを読取り、比較アドレスAHとコンパレータ81により比較される。
図５を介してのRMATCH′信号の発生は、以下の理由のため、図４を介してRMATCH信号の発生より遅く起きる。図５では、RAM80の読取りおよびコンパレータ81を介する比較は直列に起きる。一方、図４では、一致回路10における比較と、行デコーダ31−ｘを介しての選択は、並列に起きる。
さらに図５では、RAM80内の列の数は、図４における列の数より「ｋ」倍大きい。これは、図５では、ビットごとに１つの列があるからで、一方、図４では、比較回路ごとに１つの列がある。この差のために、列センスアンプの数を、大きくなりすぎないように保ち、かつ図４のそれと比較できるように保つため、「ｋ」個のマルチプレクサを、RAM80内に含まれなければならない。これらのマルチプレクサは、図５の回路に遅延を加える。
また、図５のRAM80における各列および各行の交差点では、メモリセル80dが配列される。各メモリセルは、容量的負荷を行に加える。比較すると、図４では、コンパレータの各段に対して、容量的な負荷を行に加えるような、行セレクタは１のみである。結果として、図５のRAM80において余分の行キャパシタンスを駆動するために、行ラインドライバを設けなければならず、それは図５の回路に遅延を加える。
また、図５の先行技術のコンパレータ81は、論理レベル＋Ｖの1/2だけ、反対方向に切換わるものとして、図２と関連して示された信号VM+およびVM-を内部で生じない。従来のコンパレータは、一致／不一致を示すために、１つの導体上で十分な論理レベルの揺れを生じる。このため、それらはよりゆっくりと動作する。
上記時間遅延がどのようなものであるかの数値例として、0.8ミクロンのCMOS3レベル金属技術を用いた、ナノ秒（ns）においての図示された構成要素のそれぞれに対する実際の遅延の現実的見積りは、、図４および図５に示される。アドレス信号AHから出力信号RMATCHへと、図４におけるそれらの時間遅延を加えることは、5.9nsの合計遅延を生み出す。一方、アドレスARから信号RMATCH′へと図５におけるそれらの時間遅延を加えることは、15.4nsの合計を生み出す。言い換えると、図４回路は、図５回路よりも、２  1/2倍を越えて速い！
ここで図６を参照すると、それは、図１ないし５により上に示されたように構成されるランダムアクセス比較アレイが、データキャッシュとして、RAM91と組合わせて、いかに使われているかを示す。この応用では、アドレスAH、アドレスALR、およびALCが、メモリスペースのアドレスＡを形成するために連結される。アドレスAHは、アドレスＡの高位部分を形成し、アドレスALRはアドレスALCとともに、アドレスＡの低位部分を形成する。図６のキャッシュの大きさに依存して、ランダムアクセス比較アレイ90ならびにRAM91は、別々の集積回路チップ上または単一チップ上にあり得る。
動作において、ランダムアクセス比較アレイ90およびRAMは、アドレスＡの低位部分により（すなわちALCと連結されたALRにより）同時にアドレス指定される。同時に、アドレスＡの高位部分（すなわちAH）は、比較バス20上でランダムアクセス比較アレイ90へと送られる。比較アレイ90の動作の速度のために、RMATCH信号はDATAがメモリ91から利用可能になる前に、真に（または偽に）なり、このため、RAM91からのDATAをどのように取扱うかについて、デジタル制御論理（図示せず）によって決定がなされるための時間を与える。RMATCH信号は真なら、RAM91からのDATAは、有効で、使用され得る。他の態様では、RAM91からのDATAは無効で、更新される必要がある。
更新は、磁気ディスク（図示せず）のような他のメモリソースからの有効なDATAを検索すること、ALRおよびALCによってアドレス指定された位置で、有効なDATAをRAM91に書込むこと、同じALRおよびALCアドレスによってアドレス指定された位置で、比較アドレスAHをアレイ91のレジスタ11に書込むことによりなされる。アレイ91に書込みを行なうために、レジスタ11の各々は、図２に示されるように、ANDゲート11aを含む。ゲート11aは、行デコーダからの信号ROWx、列デコーダからの信号WCOLY、クロック信号CK、および外部的に発生された書込み可能信号WEの論理的ANDとして、バス20上のアドレスAHをレジスタ11にクロックする。
ランダムアクセス比較アレイとそのアレイを組込むデータキャッシュとの好ましい実施例は、ここで詳細に記述されてきた。しかしながら、さらに様々な変更と修正が、好ましい実施例の詳細に対し、この発明の性質および精神から逸脱することなく、形成され得る。したがって、この発明は、好ましい実施例に制限されるものではなく、添付の請求の範囲によって定義されると解されるべきである。
【図１】
0003581364.tif 000019
【図２】
0003581364.tif 000020
【図３】
0003581364.tif 000021
【図４】
0003581364.tif 000022
【図５】
0003581364.tif 000023
【図６】
0003581364.tif 000024