(57)【特許請求の範囲】
【請求項１】
入力された複数ビットのデータ信号と記憶されたデータとの一致、不一致を検出可能な一致不一致回路を含み、
前記一致不一致回路は、前記データ信号と前記データの各ビットそれぞれについて一致のときに非導通、不一致のときに導通する第１MOSFETを有し、
前記第１MOSFETは前記データ信号のビット数と同じ数だけあり、前記第１MOSFETのドレイン端子は並列に一致検出信号線に接続され、ソース端子には所定の電位が与えられるように構成され、
前記データ信号と記憶されたデータとの一致、不一致を検出する期間に、前記一致検出信号線に第１電流が供給され、
前記一致検出信号線と同程度の静電容量を備えた参照信号線を更に備え、
前記第１MOSFETに流れる前記第１電流に略等しい第２電流を流す第２MOSFETを備え、前記第２MOSFETのソース端子には前記所定の電位が与えられ、ドレイン端子は前記参照信号線に接続され、
前記検出する期間において、前記データ信号と前記データの全てのビットについて一致する場合に、前記一致検出信号線は前記所定の電位から遮断され、
前記検出する期間において、前記データ信号と前記データの何れかのビットについて不一致の場合には、前記一致検出信号線、及び、不一致のビットに対応する前記第１MOSFETのソース−ドレイン経路を介し、前記第１電流が前記所定の電位へ流れ続け、
前記参照信号線には、前記検出する期間には前記第２電流が供給され、前記第１電流によって変化する前記一致検出信号線の電位と前記参照信号線の電位との電位差を検出することで一致、不一致の検出を行うように構成されることを特徴とする半導体集積回路。
【請求項２】
入力された複数ビットのデータ信号と予め記憶されたデータとの一致、不一致を比較する比較回路と、
前記比較回路の前段に配置され、前記データと前記データ信号の比較を行う前置比較回路と、
出力データを記憶する出カデータ記憶回路とを有し、
前記前置比較回路での比較において前記データと前記データ信号とが一致した場合には、前記出カデータ記憶回路からデータ出力が行われ、前記比較回路の動作が停止されるように構成され、
前記前置比較回路は、前記データ信号と前記データの各ビットそれぞれについて一致のときに非導通、不一致のときに導通する第１MOSFETを有し、
前記第１MOSFETは前記データ信号のビット数と同じ数だけあり、前記第１MOSFETのドレイン端子は並列に一致検出信号線に接続され、ソース端子には所定の電位が与えられるように構成され、
前記データ信号と記憶されたデータとの一致、不一致を検出する期間に、前記一致検出信号線に第１電流が供給され、
前記一致検出信号線と同程度の静電容量を備えた参照信号線を更に備え、
前記第１MOSFETに流れる前記第１電流に略等しい第２電流を流す第２MOSFETを備え、前記第２MOSFETのソース端子には前記所定の電位が与えられ、ドレイン端子は前記参照信号線に接続され、
前記検出する期間において、前記データ信号と前記データの全てのビットについて一致する場合に、前記一致検出信号線は前記所定の電位から遮断され、
前記検出する期間において、前記データ信号と前記データの何れかのビットについて不一致の場合には、前記一致検出信号線、及び、不一致のビットに対応する前記第１MOSFETのソース−ドレイン経路を介し、前記電流が前記所定の電位へ流れ続け、
前記参照信号線には、前記検出する期間には前記第２電流が供給され、前記第１電流によって変化する前記一致検出信号線の電位と前記参照信号線の電位との電位差を検出することで一致、不一致の検出を行うように構成されることを特徴とする半導体集積回路。
【請求項３】
前記半導体集積回路は、前記前置比較回路の比較結果が不一致であった場合には、前記比較回路が動作し、前記入カデータと予め記憶された記憶データとの一致、不一致を比較するよう構成されていることを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記比較回路の比較結果が一致した場合には、前記比較結果に対応した出カデータが前記出カデータ記憶回路と異なった記憶回路より出力されることを特徴とする請求項３記載の半導体集積回路。
【請求項５】
入力された多ビットのデータ信号と記憶されたデータとを比較して一致、不一致を検出する機能を備えた回路であって、
前記回路は、前記データ信号と前記データの各ビットそれぞれについて一致のとき非導通、不一致のとき導通する第１MOSFETを備えており、
前記第１MOSFETは前記データ信号のビット数と同じ数だけあり、前記第１MOSFETのドレイン端子は並列に一致検出信号線に接続され、ソース端子には所定の電位が与えられ、
前記データ信号と前記データとの一致、不一致を検出する期間に、前記一致検出信号線に第１電流が供給され、前記第１電流によって変化する前記一致検出信号線の電位を検出して前記データ信号と前記データとの一致、不一致を検出し、
前記第１MOSFETに流れる第１電流に略等しい第２電流を流す第２MOSFETを備え、
前記第２MOSFETのソース端子には前記所定の電位が与えられており、ドレイン端子は参照信号線に接続されており、前記参照信号線には前記第２電流が前記検出する期間は供給されており、
前記検出する期間において、前記データ信号と前記データの全てのビットについて一致する場合に、前記一致検出信号線は前記所定の電位から遮断され、
前記検出する期間において、前記データ信号と前記データの何れかのビットについて不一致の場合には、前記一致検出信号線、及び、不一致のビットに対応する前記第１MOSFETのソース−ドレイン経路を介し、前記第２電流が前記所定の電位へ流れ続け、
前記第１電流によって変化する前記一致検出信号線の電位と前記参照信号線の電位との電位差を検出することで一致、不一致の検出を行う差動検出回路を内蔵しており、
前記差動検出回路はカレントミラー負荷回路であることを特徴とする半導体集積回路。
【発明の詳細な説明】
技術分野
本発明は半導体集積回路に関し、詳しくは、マイクロプロセッサＬＳＩに搭載される連想メモリを用いたテーブル・ルック・アサイド・バッファ（Table Look aside Buffer）の高速化、低消費電力化回路に関する。
背景技術
計算機システムには、高速動作をおこなうために中央処理装置と主メモリとの間に主メモリ内のプログラムやデータの一部を格納して、高速バッファメモリとして機能するキャッシュメモリが設けられている。
また、最近の中央処理装置のアドレスは仮想アドレスが用いられるために、キャッシュメモリや主メモリの実アドレスとの間でアドレスの変換が必要となる。このための変換テーブルはアドレス空間が大きくなるとともに大きくなるので、通常、テーブルは階層化されている。階層化されたテーブルを参照して実アドレスを引き出すには時間がかかるために、テーブル・ルック・アサイド・バッファＴＬＢ（Table Look aside Buffer）と呼ばれる連想機能をもったテーブルが階層化されたテーブルと並列に設けられて高速に実アドレスを引き出している。
このように、ＴＬＢには高速にアドレス変換をおこなうこととともに、小さい規模の回路によって高い確率でアドレス変換を行うことが求められる。
ＴＬＢにはフルアソシアティブ方式、セットアソシアティブ方式と呼ばれる２方式の連想方式が用いられている。前者の方式は入力アドレスとＴＬＢ内の記憶データすべてとの一致／不一致を調べ、一致した記憶データが存在するとその存在をしめす信号および記憶しているデータを出力する方式である。
後者のセットアソシアティブ方式は一致の見込まれる候補を選び、それらの候補のアドレスについて一致／不一致を調べ、一致したデータが存在すればその存在を示す信号および一致したアドレスに対応する実アドレスを出力する方式である。
このように、フルアソシアティブ方式では全てのデータを比較するので比較回路数が多くなること、これに伴って回路の面積が増えること、回路面積の増加を抑制するために比較回路は簡単で、面積の増加の小さい回路が用いられる。このため、データの比較に要する時間は長くなり、また、比較回路数が多い分だけ消費電力も大きくなる欠点がある。しかし、記憶データすべてにわたって比較するのでデータの一致確率は高くなる。
セットアソシアティブ方式のＴＬＢでは比較するデータの候補を選んだのちにそれらの候補について一致／不一致を調べるので比較回路は２−４組と少ない。このため、複雑ではあるが高速動作をする回路を比較回路に用いることができるので、一致検出が高速に行える特徴がある。しかし、候補を選ぶといった制限によってデータの一致の確率は低下するので、フルアソシアティブ方式のＴＬＢにくらべてＴＬＢの記憶回路の規模を４倍程度に増やさないと同等の一致の確率が得られず、この回路規模拡大によって動作回路数が増えて、消費電力も増加すること、回路面積も増加すること等の課題がある。
なお、フルアソシアティブ方式の一致検出回路は検索データと記憶データとの比較を行なうための、各メモリセルごとに個別的に一致検出回路を備えている例が特開昭５９−２３１７８９に示されている。また、この方式の一致検出回路を高速化した例としてＩＥＥＥ  Jounal of Solid State Circuits Vol．２８  No．１１  pp．１０７８−１０８３がある。この報告では、高速検出のために、一致検出信号線のほかに、参照信号線を一致検出信号線に並行して設け、かつ、電流供給線をも並行して設けて、一致検出のＭＯＳＦＥＴで差動型のＮＯＲ回路を構成している。この方式は高速動作をするが配線数が３本必要であることなど面積的な制約がある。
また、セットアソシアティブ方式のＴＬＢには、メモリセルのデータを読みだすためのセンス回路を用いて検索データとの比較を行なう回路を備えたものが特開昭６０−１１７４９５に記載されている。
発明の開示
本発明の目的は、高速で低消費電力のデータ一致検出技術を提供することにある。
上記従来技術における課題は、高速化、低消費電力化、回路面積の削減である。フルアソシアティブ方式のＴＬＢの動作速度と消費電力とをセットアソシアティブ方式のＴＬＢと同等以上にできれば、より小さい規模（集積度）のＴＬＢでより高い一致確率のＴＬＢを得ることができる。
まず第１の課題、連想メモリのデータ一致検出を高速に行なうため、一致信号線電位と比較される参照電位を発生させた。この参照電位を用いて差動増幅回路で一致を検出することで高速化が達成された。また、この参照電位を用いてスタティック動作の差動増幅回路で一致検出をすることで小さい電圧の変化を検出でき、かつ、タイミング調整のマージンが省かれて高速化が達成された。
第２の課題である一致検出回路の低消費電力化は一致信号線と参照信号線の電位をあらかじめＭＯＳＦＥＴのしきい電圧以下に保持し、一致信号線の電位のみを高く引き上げることで検出器を動作させ、不一致の一致信号線および参照信号線の電位は同ＭＯＳＦＥＴに電流をほとんど流さない電位にとどめること、および、差動検出回路を信号の検出に必要な期間のみ動作させることで実現した。また、入力アドレスに対して１ないし４組の高速比較回路を別途設け、１〜４組までの過去のデータに一致したアドレスは対応するデータを記憶した記憶回路から出力させ、本体のＴＬＢを動作させることなくアドレスを出力する構成として、高速化と低消費電力化とを実現している。また、入力アドレスの３〜５ビットについて前置比較器で一致をしらべ、一致したアドレスに対応する比較器のみに電力を供給する構成を採用した。これにより比較回路の動作数は１／８以下になり、消費電力は１／５以下に減少できた。
上記発明の回路は、連想メモリの一致検出に差動増幅回路を用いることで高速化し、一致検出回路をパルス的に動作させること、１〜４組の前置比較回路を設け、その比較結果に基づき一致したアドレスに対応する一致検出器のみに電力を供給することで時間的に、また、空間的に電力を集中的に供給することで高速動作を損なうことなく低消費電力化を達成した。
本発明の回路は、連想メモリの一致信号検出信号線に所定の電流を供給して、同信号線の電位の変化を調べてデータの一致／不一致を検出することで検出回路の動作を高速化し、また、回路を簡単化した。また、一致検出信号線の電位変化をより高速に調べるために、参照信号線を設け、両信号線間の電位差を差動増幅回路によっておこない、一層の高速化を達成した。また、一致検出回路をパルス的に動作させること、１〜４組の前置比較回路を設け、その比較結果に基づき一致したアドレスに対応する一致検出回路にのみ電力を供給することで時間的に、また、空間的に電力を集中的に供給し高速動作を損なうことなく低消費電力化を達成した。
【図面の簡単な説明】
図１は、本発明のＴＬＢ回路構成をしめすブロック図。
図２は、本発明による前置比較回路の構成を示す回路図。
図３は、本発明による出力データ記憶回路の構成を示す回路図。
図４は、本発明によるＣＡＭ部の回路構成を示す回路図。
図５は、本発明による出力データ記憶回路及びセレクタの構成を示す回路図。
図６Ａ、図６Ｂは、本発明の半導体装置を製造するに最適なＭＯＳＦＥＴの構造を示す図。
図７Ａ〜図７Ｅは、本発明の半導体装置の製造工程を示す図。
図８は、本発明によるバイポーラトランジスタを組み込んだメモリセルの構成を示す図。
図９は、本発明によるＭＯＳＦＥＴを組み込んだメモリセルの構成を示す図。
図１０は、本発明による信号発生回路とセンスアンプ回路を示す図。
図１１は、本発明の実施例をしめす回路図である。
図１２は、本発明の実施例をしめす回路図である。
図１３は、本発明の実施例をしめす回路図である。
図１４は、他の発明から引用した回路図である。
図１５は、本発明の他のＴＬＢ回路構成をしめすブロック図である。
図１６は、本発明のキャッシュメモリの回路構成をしめすブロック図である。
図１７は、本発明のキャッシュメモリのデータ読み出し、書き込み処理の流れをしめす図である。
図１８は、本発明のキャッシュメモリのデータＲＡＭ部の回路図である。
図１９は、本発明の実施例であるＭＰＵのブロック図である。
図２０は、本発明の一致検出回路の１例を示す図である。
図２１は、本発明の一致検出回路の電圧波形の一例を示す図である。
発明を実施するための最良の形態
本発明の実施例を、図面にもとずいて説明する。
図１は本発明の一致検出回路を用いたＴＬＢの構成例を示す。アドレス入力は仮想アドレス（以下ＶＡと書く）であって、前置比較回路とＣＡＭ部１、ＣＡＭ部２に導かれる。前置比較回路で一致が検出されるとHit信号を発生し、出力データを記憶している出力データ記憶回路から出力される。図には示していないがHit信号が発生されると比較回路への電力供給はおこなわれない回路が設けられる。
前置比較回路で不一致が確認されると比較回路への電力供給が行われ、ＣＡＭ部１、ＣＡＭ部２で一致が確認されるとデータＲＡＭ部のデータがセンス回路、出力回路を経て出力される。詳細は図４を用いて後述するが、ここで、ＣＡＭ部２の働きを説明する。ＣＡＭ部２はアドレス入力の内の３ビット程度の信号が比較回路に導かれ高速に一致／不一致が調べられる。その結果にもとづき比較回路に電力を供給する。このようにすると、全くランダムなアドレス入力に対しては比較回路の１／８に電力を供給するのみでよい。すなわち、比較回路の消費電力は１／８に削減される。大幅に削減された電力の一部は比較回路に分配して高速化を図ることが可能となる。また、前置比較回路で一致が検出されるとあらかじめ保存されたデータを読みだす処理のみでよいので高速にデータが出力される特徴もある。
図２に上記の前置比較回路の回路図の１例を示す。
２１はＶＡの内の１ビットを示している。２２はインバータで２１の相補信号を発生している。２３は比較回路を内蔵したメモリセルである。２４はワード線で２１に送られたデータをメモリセル２３に記憶させる作用をする。ここで、ワード線を選択したり、駆動する回路は省略しているが、これらの回路は広く用いられている回路構成であるので説明は不要と考える。
以上説明した回路はＶＡの１ビット分で、比較するＶＡのビット数に応じて並列して設けられる。２５は一致検出信号線で、Ｎ型ＭＯＳＦＥＴ２６は入力ＶＡとメモリセルのデータが一致したときにＯＦＦとなるように設計される。信号線２５は入力ＶＡのすべてに並列に接続されており、ＶＡ全ての入力データと記憶データとが一致したときのみ信号線２５は接地端子から遮断される。２７、２８は比較回路に電力を供給するための信号線で、２７は正の電源電位に、２８は接地電位に保持される。信号の比較を必要としない期間は電力供給を停止することもできる。
Ｐ型ＭＯＳＦＥＴ３１，３２からは、データが不一致のときにＭＯＳＦＥＴ２６に流れる電流と略等しい電流が供給され、ダイオード接続されたＮ型ＭＯＳＦＥＴ３７を経て一致検出信号線２５に電流が供給される。Ｎ型ＭＯＳＦＥＴ３３は遮断しているので信号線２５の電位は上昇する。Ｐ型ＭＯＳＦＥＴ３２より供給された電流はダイオード接続されたＭＯＳＦＥＴ３８を経てＮ型ＭＯＳＦＥＴ３５に供給される。ＭＯＳＦＥＴ３５には比較回路のＭＯＳＦＥＴ（たとえば、ＭＯＳＦＥＴ２６）と同じ或いは略同じ形状のＭＯＳＦＥＴが用いられ、ゲート３９にはデータが不一致のときにＭＯＳＦＥＴ２６のゲートに加わる電位と等しい或いは略等しい電位が与えられる。このような電位を発生するには比較回路と同じ回路を別途設けてデータを不一致の状態に設計しておく、いわゆる、ダミー回路を用いる方式が簡便で、かつ、正確な電位の設定に適している。
この状態で端子３７，３８の電位の変化を説明する。信号線２５のデータは不一致であると不一致の個数だけ比較回路のＭＯＳＦＥＴが導通するので、最も高い電位に信号線２５がなるのは１個の比較回路のＭＯＳＦＥＴのみが不一致のときである。このときには端子３７と３８はほぼ同電位となる。このため差動回路の左右の回路に流れる電流はほぼ等しい。ここで、差動回路の負荷であるＰ型ＭＯＳＦＥＴ４１，４２の寸法に差を与えて等しい電流が流れたときには差動回路の出力が高電位となるように設計する。すなわち、不一致の時にはインバータ４３のドライバを経て出力される信号４４は接地電位となる。
この状態で入力のＶＡ２１が変化しメモリセル２３の記憶データと一致したとすると信号線２５のデータはさらに上昇をはじめ端子３８の電位より端子３７の電位が高くなってＰ型ＭＯＳＦＥＴの寸法の差を打ち消すと出力端子４４の電位は上昇をはじめ、これによってデータの一致が検出される。この後、再度入力データが不一致となったときも、動作は容易に理解できるので説明を省略する。
以上は配線２７，２８の電位を一定のときに説明したが、以下には、初期状態として２７の電位が接地電位、２８の電位が正電源の電位であり、その後、２７の電位が正電源の電位に、２８の電位が接地電位に変化するときの動作を説明する。
この初期条件ではＭＯＳＦＥＴ３３，３４は導通し、ＭＯＳＦＥＴ３１，３２は非導通であるので端子３７，３８の電位はダイオード接続したＭＯＳＦＥＴ３７，３８のしきい電圧だけ接地電位より高い電位にある。２７，２８の電位が切り替わり２７が高電位、２８が接地電位となると端子３７，３８の電位は上昇をはじめるが、比較回路すべてが一致したときには、端子３７の上昇が端子３８の上昇より急速であり、差動回路の出力はその直後から比較結果が検出される。すなわち、初期状態を設定できれば、端子３７，３８の電位があらじめ等しくなっているので、その分だけ一致／不一致の検出が高速化される。このように、初期状態を設定して高速動作を行う回路では、回路ノード３０にも信号線２５に付いている静電容量と略等しい静電容量を付加しておき直流的にも、また、交流的にも一致検出信号線２５と参照信号線３０とは略等しい特性を有するように設計しておくことが必要である。すなわち、端子３０に検出信号線のもつ寄生容量に等しい容量３６を付けておく。
以上は破線で囲んだ４５の回路について説明したが、ＴＬＢでは４５の回路が６４ないし１２８組並列に設けられ、入力のＶＡと比較され、一致した組のデータＲＡＭ部の記憶データ（図１参照）が出力される。
以上のように、本実施例によれば、複数ある一致検出線の中で、ビットした一致検出線の電位の変化が最も大きくなるよう構成しているため、電位もしくはその変化がある値を越えると一致したという判定が可能となり、これによりスタティック回路を用いることが可能となり、また、分割ビット検出が容易に可能となる。また、リファレンス信号を発生させて差動増幅器で一致検出を行うことにより、より高速な一致／不一致の検出が可能となる。
図３は図１の出力データ記憶回路の一実施例を示す回路図である。まず、データの１ビット分の回路（破線で囲んだ部分の回路５０）について説明する。
記憶する出力データは信号線５１，５２から書き込み制御および負荷回路５７を経てメモリセル５５もしくは５８に書き込まれる。図１に示した前置比較器で一致が検出されるとその結果にもとづきワード線５６，５９のいづれかが高電位に持ち上げられてメモリセルの記憶データがセンス回路（ここでは簡単なインバータ６０で表示している）を経て端子６１に出力される。破線で囲んだ回路５０は出力データのビット数だけ並列に設けられる。ここでは、出力データが２組の構成について説明したが、拡張はこれらのメモリセルを並列に配置することで容易におこなえる。現実には４組程度が適当である。
図４には図１にしめしたＣＡＭ部１およびＣＡＭ部２の一実施例の回路図をしめす。右端の破線で囲んだ回路７０は図２にしめした回路２０とよく似た動作をする回路である。すなわち、入力ＶＡが端子８１に供給されるとインバータ８２によって相補信号が発生され、メモリセル８３に記憶されているデータと比較される。このとき、比較回路からはデータが一致したときには端子８４の電位が高電位となるように設定される。７０と同等の回路が３組並列に設けられて端子８５，８６に同様の信号を送出する。この３組の信号を３入力ＮＡＮＤ８７に導くと、３組の比較回路の結果がすべて一致したときのみＮＡＮＤ回路の出力は接地電位となる。
この信号を定電流を供給するＰ型ＭＯＳＦＥＴ３１，３２に供給し、また、この信号をインバータと反転させてＭＯＳＦＥＴ８９に供給すると、ＣＡＭ部２のデータが一致したときのみ、Ｐ型ＭＯＳＦＥＴ３１，３２から定電流が流れて電力が供給され、ＣＡＭ部２が不一致の時には電力が消費されない回路となる。すなわち、比較回路を分割して比較結果を高速に発生させ、この結果にもとづいて比較回路を動作させることで高速で、かつ、消費電力の小さいＴＬＢ回路を構成することができる。
図５には図１にしめした出力データ記憶回路及びセレクタの他の実施例をしめす。この実施例では図１にしめすセンス回路、出力回路およびセレクタ回路を含んでいる。回路９０と１０１とは同じ回路で、これによって２組の出力データを記憶できる。９１，９２は図１のデータＲＡＭ部においてメモリセルのデータを取り出すデータ線をしめしている。ＣＡＭ部１，２の結果にもとづき記憶データが読みだされるとデータ線対９１，９２間に数１００mVの電位差をもつ信号を発生する。この信号を端子９６，９９の電位を高電位とすることで差動増幅器９３を動作させ、さらにインバータ９４によって増幅し、ラッチ回路９５にデータを格納するとともに差動回路９７によって差動電流信号として出力される。このとき、回路１０１内の端子９８，１００の電位が接地電位であれば回路１０１のデータは回路９０の出力に影響しない。この構成にすると、出力回路にラッチ回路９５と差動回路９７を付加するのみで出力データ記憶回路、センス回路、出力回路、セレクタ回路を構成できる。端子９９，１００は前置比較回路の結果を受けて高電位となる端子で、端子９６，９８は前置比較回路の結果が不一致のときに新たに出力データ記憶回路にデータＲＡＭ部の記憶データを書き込むための制御端子である。
データＲＡＭ部は広く用いられているメモリ回路であるので説明を省略する。
以上はＴＬＢ回路について説明したが、本発明の一致検出回路はキャッシュメモリや広く一般の連想メモリ（ＣＡＭ）の回路として用いることができる。
以上、ＣＡＭ回路の構成と回路図を説明したが、次のような構成や回路の適用も可能である。
比較回路を内蔵するメモリセルにはJ．of Solid State Circuits Vol．２０  pp．９５１−９５７（１９８５）に記載されている１０個のＭＯＳＦＥＴを用いるメモリセル、特開昭６３−３０８７９６に記載されているＰＭＯＳとＮＭＯＳとで構成する回路を用いたメモリセル、J．of Solid State Circuits Vol．５  pp．２０８−２１５（１９９０）に記載されているダイオード接続したＭＯＳＦＥＴを用いる９個のＭＯＳＦＥＴを用いるメモリセル、等を用いてもよい。また、ダイオード接続したＭＯＳＦＥＴの代わりにｐｎ接合型やショットキー障壁型のダイオードを用いること、また、基板をコレクタに用いたバイポーラトランジスタを用いることもできる。
メモリセル面積を低減する回路としては図８（バイポーラトランジスタを組み込んだメモリセルの例）に示す検出信号線８１にエミッタを接続し、コレクタをＰＭＯＳの基板と、また、ベースをＰＭＯＳのドレインと共用した回路が最も面積が小さくなった。これは複合化によって電極孔が削減できたことによっている。また、図９（ＭＯＳＦＥＴを組み込んだメモリセルの例）に示すゲートとドレインを一致信号線９１に接続してダイオードを構成する回路もメモリセル面積を小さくできた。この回路形式ではゲートとドレインとを短絡する構造となるので実効的に電極孔が共通化できることによる。この回路の特徴はすべてＭＯＳＦＥＴで構成でき、新たなデバイスを追加する必要のなく面積を削減できることにある。
また、低消費電力であって、かつ、デバイス数が少なく回路の占有面積の小さい信号発生回路とセンスアンプを図１０に示す。回路動作を説明する。端子１０１は比較結果を示す信号の入力端子で、例えば、図４の２５で示す信号線に接続される。信号線１０４は一致検出の信号線の入力端子１０１と参照端子１１２とを等電位に、また、接地電位にする為のイコライズ信号線で検出の開始時に高レベルから接地電位に変化する。また、信号線１０２はＭＯＳＦＥＴ１０７，１０８を電流源として働かせるための電位を供給する信号線で端子１０１，１１２の電位が接地電位のとき所定の電流を供給するように設定される。あとで述べるように電力を削減するために動作に関係しない期間はこの電位を接地電位として消費電力を削減することが可能である。
また、図４に示した回路８８の出力を用いて１０２の電位を制御するとさらに低消費電力化ができる。また、１０３はラッチ型センスアンプへの電力供給制御端子で、この信号線の電位を高レベルとすることでセンスアンプの動作が開始する。端子１０５には所定の電位が供給されて常時ＯＮとすることで端子１１５，１１６の電位はイコライズ信号線の電位が高レベルの期間はほぼ正電源電位に保持される。まず、一致信号の検出開始時から説明する。検出を開始すると、まず、イコライズ信号線１０４の電位が接地電位となり、ＭＯＳＦＥＴ１０９，１１１はＯＦＦとなり、ＭＯＳＦＥＴ１０７，１０８から供給される電流で端子１０１，１１２の電位は上昇を始める。端子１０１に接続された検出信号線のＭＯＳＦＥＴがすべてＯＦＦのときには供給された電流は一致検出信号線の寄生容量の充電に当てられ、電位は上昇する。この電位の上昇によってＭＯＳＦＥＴにながれる電流は減少する。一方、一致検出の参照電位発生端子１１２は検出信号線と等しい容量１０６と一個のみの検出ＭＯＳＦＥＴが導通した時にながれる電流を供給するＭＯＳＦＥＴ３５と電位供給端子３９が図４と同様に設けられている。このＭＯＳＦＥＴ３５によって端子１１２の電位の上昇は端子１０１の電位上昇より小さくなり、ＭＯＳＦＥＴ１０８にながれる電流の減少はＭＯＳＦＥＴ１０７にながれる電流の減少より小さい。すなわち、端子１１６の電位は１１５の電位より低くなる。このように両端子間に電位差が発生した状態で信号線１０３の電位を高レベルに切替るとセンスアンプは動作を開始して、端子１１５の電位を正の電源電位まで引き上げ、端子１１６の電位を接地電位まで引き下げる。この信号は出力回路４３を経てワード線に供給される。比較結果が不一致のときの動作は説明を省略する。この回路の特徴はセンスアンプがラッチ型であるので、定常状態、すなわち、出力が高、低レベルに固定されると電力の消費がなく、低消費電力であり、また、ＭＯＳＦＥＴ１０７，１０８を信号線１０２によってＯＦＦとすることで端子１０１、端子１０８に接続された配線の容量やダミー容量を電源電圧まで上昇させることがなくこれによって充電電流が減少して消費電力を削減できる特徴も備えている。ここでは、信号線１０２によって直接ＭＯＳＦＥＴ１０７，１０８をＯＮ，ＯＦＦさせたが、直列にＭＯＳＦＥＴを接続してそのＭＯＳＦＥＴをＯＮ，ＯＦＦさせて同様の動作をさせてもよい。
図６Ａ，６Ｂは本発明の一致検出回路の高速化に最適なＮ型ＭＯＳＦＥＴの構造をしめす図で、図６Ａには平面図を、図６Ｂには平面図上のＡ−Ａ′線上に沿った断面をしめしている。図中の１はシリコンの基板で２は基板１とシリコン層３とを電気的に分離するシリコン酸化膜である。７はＭＯＳＦＥＴのゲート電極で、酸化膜５に囲まれたシリコン膜３には基板１と同じ導電型のＰ型領域４がソース領域を囲んで設けられている。領域４がドレイン領域に延びているのは、半導体装置の製作においてゲートまで領域４が到達するように余裕を設けたためで、この余裕の範囲内でドレイン領域への侵入を抑えることが寄生容量や漏れ電流を増加させないためには望ましい。また、８は電極をシリコン膜に取り付けるためのコンタクト孔で電極金属９，１９が設けられている。このようにゲート７の直下から電極８までドレイン、ソース領域と反対導電型のＰ型シリコン領域４で接続されていると、ゲート直下のシリコン膜１２の電位が電極１９の電位に固定されるので、ＭＯＳＦＥＴ特性を規定する主要なパラメータであるしきい電圧をゲート電極直下のシリコン膜の不純物濃度によって制御できるようになる。図６の構造の特徴は領域４の側壁および表面にゲート酸化膜より厚い酸化膜５を備えていることにある。この厚い酸化膜によってゲート７に正の電圧が印加されてドレインとソースとが導通するチャネル（反転層ともいう）が形成されたときにも領域４の表面にはチャネルが形成されにくく、領域４の導通が維持されるので、しきい電圧を正確に制御できる効果がある。
以下に、図７Ａ〜７Ｅを用いて領域４および酸化膜５を形成する方法を記す。
図７Ａはシリコン基板２００上にシリコン酸化膜２０１を介してシリコン膜２０３が設けられたＳＯＩウェーハとよばれるものの上に酸化膜２０４と窒化膜２０５をそれぞれ５nm，２０nmの厚さに形成し、ＭＯＳＦＥＴ領域のみの両膜を残したときの断面構造をしめしている。次に、図６Ａ、６Ｂの領域４に相当する領域２０７，２０８をそれぞれＰＭＯＳＦＥＴ，ＮＭＯＳＦＥＴのソース領域の近傍にマスクを用いたイオン注入法で形成し、窒化膜２０５の側壁に酸化膜２１０を形成すると図７Ｂの構造が得られる。ひきつづいてシリコン膜３を異方性のドライエッチによって除去して、さらに酸化膜２１１を形成する。この酸化膜２１１は酸化性雰囲気中で熱処理して形成しても、また、異方性ドライエッチによって側壁のみに酸化膜を残す方法で形成してもよい。このときの断面構造を図７Ｃにしめしている。
ひきつづき、窒化膜２０５、酸化膜２０４を除去したのち、再度酸化膜２１２を５nmの厚さに形成し、ゲート電極７を設ける。この状態での構造を図７Ｄにしめしている。次に、Ｐ型ＭＯＳＦＥＴのドレイン２１６、ソース２１５、Ｎ型ＭＯＳＦＥＴのドレイン２１７、ドース２１８を用いたイオン注入法で形成して図７Ｅの構造が得られる。このあとの工程は従来のＣＭＯＳ  ＬＳＩの製作工程にほぼ等しいので説明を省略する。以上の方法によって、図６Ａ、６Ｂにしめした領域４をシリコン膜２０３の周辺の極めて狭い領域に形成できる。
更に、本発明の実施例を図面にもとづいて説明する。
図１に記載される本発明の一致検出回路を用いたＴＬＢの構造例について更に説明する。前置比較回路、出力データ記憶回路、ＣＡＭ部（１）、ＣＡＭ部（２）の内部はマトリックス状にメモリセルやＣＡＭセルが配置されてアレー構造をしており、各行には比較するデータや出力するデータが格納されている。また、メモリセルで形成される列にはアドレス入力線が設けられている。そのアドレス入力は仮想アドレス（以下ＶＡと書く）であって、前置比較回路とＣＡＭ部（１）、ＣＡＭ部（２）に導かれる。前置比較回路で一致が検出されるとＨｉｔ信号を発生し、データを記憶している出力データ記憶回路から出力される。図には示していないがこのＨｉｔ信号が発生されるとＣＡＭ部（１）、（２）の間の一致信号発生回路への電力供給をおこなわない回路、もしくは、電力供給を停止する回路が設けられる。前置比較回路で不一致のときには一致信号発生回路への電力供給が行われてＣＡＭ部（１）、ＣＡＭ部（２）でＶＡとＣＡＭ内データとが一致するとデータＲＡＭ部のデータがセンス回路、出力回路を経て出力される。ここで、まずＣＡＭ部（２）の働きを説明する。ＣＡＭ部（２）はアドレス入力の内の３ビット程度の信号が比較回路に導かれ高速に一致／不一致が調べられる。その結果にもとづき一致信号発生回路に電力を供給して、ＣＡＭ部（１）のデータとの一致／不一致が調べられる。このようにＣＡＭ部（２）で一致した行のみに電力を供給すると、全くランダムなアドレス入力に対しては電力を供給する一致信号発生回路は全体の１／８（３ビットの比較を行っているため１／２の３乗）になる。すなわち、一致信号発生回路の消費電力は１／８に削減される。大幅に削減された電力の一部は同信号発生回路に分配して高速化を図ることも可能となる。また、前置比較回路で一致が検出されるとあらかじめ保存されたデータを読みだす処理のみでよいのでデータ出力が高速化される特徴もある。
図１１は上記の前置比較回路（図１）の回路図の１例である。２１はＶＡの内の１ビットを示している。破線で囲んだ回路２２はインバータで２１の相補信号を発生している。破線で囲んだ回路２３は比較回路を内蔵したメモリセル（ＣＡＭセル）である。２４はワード線でこの電位を高レベルとすることで２１のデータをＣＡＭセル２３に記憶させる作用をする。ここで、ワード線を選択する回路とその駆動回路は省略しているが、これらの回路は広く用いられている回路構成であるので説明は不要と考える。以上説明した回路（破線で囲んだ回路２０）はＶＡの１ビット分で、比較するＶＡのビット数に応じて並列して設けられてＣＡＭ部（１）のアレーの列を形成する。２５は一致検出信号線で、ＭＯＳＦＥＴ２６は入力ＶＡとメモリセルのデータが一致したときにＯＦＦとなるように設計される。一致検出信号線２５は入力ＶＡの各列に設けたＭＯＳＦＥＴ（ＭＯＳＦＥＴ２６にに対応するもの）が並列接続されており、ＶＡ全ての入力データと記憶データとが一致したときにのみ信号線２５は接地端子から遮断される。２７は一致検出信号線２５に供給する電流を制御するための信号線で電流を供給するときには２７は接地電位に保持されて、Ｐ型ＭＯＳＦＥＴ１３１，１３２からデータが不一致のときにＭＯＳＦＥＴ２６に流れる電流と略等しい電流が供給され、一致検出信号線２５、参照信号線１２８の電位を引き上げる。ここで、一致検出線電流を供給するまでは信号線２５，２８の電位はＭＯＳＦＥＴ１３３，１３４によって接地電位に保持されており、両信号線の電位はＭＯＳＦＥＴ１３３の遮断とＭＯＳＦＥＴ１３１，１３２の導通によって上昇する。これらの信号線の電位は、次に述べるような理由で、データ全てが一致した一致検出信号線２５の電位が最も高くなり、次に参照信号線の電位、その次には１個のみデータが不一致の一致検出信号線で、不一致のデータが増すとともに信号線２５の電位上昇は小さくなる。信号線電位の上昇を説明する。各信号線はほぼ等しい静電容量を持っている（参照信号線には静電容量が等しくなるようにダミー容量１２９が設置される）ので、等しい電流ＩｏがＭＯＳＦＥＴ１３１，１３２から供給されたときには、各信号線の単位時間あたりの電圧上昇ｄＶ／ｄｔは信号線のＭＯＳＦＥＴ２６が不一致のときに流れる電流値をＩｌとすると（Ｉｏ−Ｉｌ）／Ｃとなる。ここで、Ｃは信号線のもつ静電容量である。信号線の電位はあらかじめ設置電位に保持されているので、電流Ｉｏ供給開始時にはＭＯＳＦＥＴ２６や１３４のドレインにはほとんど電圧がかかっていないためにＭＯＳＦＥＴに流れる電流は十分大きいドレイン電圧が印加されたときのＩｌより小さく、ドレイン電圧の上昇とともにＩｌは増加してほぼ一定値に達する。このため、ＩｏとＩｌとをほぼ等しく設定した場合には信号線の電位は電源電圧の約１／２の電位まで上昇し一定となる。一方、参照電圧発生用のＭＯＳＦＥＴ１３４にはＩｌの約１／２の電流が流れるようにゲート電圧やゲート幅が設計される。図１１の一致検出回路では信号線２５や１２８の電位がＮ型ＭＯＳＦＥＴ１３６，１３７のいづれかとＭＯＳＦＥＴ１３８のしきい電圧を超えると電流が流れるがデータが不一致のときには参照電圧端子１２８は一致検出線２５より高電位となるために回路１４０の出力は高電位出力を維持する。ここで、ＭＯＳＦＥＴ１８９は最大電流を制限するためのものでゲートには所定電流を流せるように電位が与えられる。このＭＯＳＦＥＴは省くこともできる。破線で囲んだ回路１４０にながれる電流を説明する。電流値が最も大きいのは信号線の電位上昇が最も大きいデータが一致した信号線である。しかし、データが一致するのは全ての信号線の中の１本もしくは全くないかのいずれかであるので、この場合に流れる電流は消費電力の点では問題にならない。これに対して、データが不一致の信号線は残りの全ての信号線であり、また、参照信号線の電位と同等か、より低くなっている。このため、参照信号線の電位がＭＯＳＦＥＴ１３７のしきい電圧を超えるとほぼ全ての検出回路に電流が流れ、全体としての消費電力が大きくなる。消費電力を下げる観点からは、参照信号線１２８とデータが不一致の信号線２５の電位は大幅にはしきい電圧を超えないことが好ましい。参照信号線、データが不一致の信号線２５の電位はＭＯＳＦＥＴ１３１，１３２から供給される電流と不一致のときに導通しているＭＯＳＦＥＴ２６や常時導通しているＭＯＳＦＥＴ１３４に流れる電流の関係から決まり、上述したように、両者の電流がほぼ等しいときには電源電圧の約１／２の電位に達して定常状態となる。この電位は供給電流Ｉｏを減少させると急激に低下する。しかし、供給電流Ｉｏの減少は検出時間の増加を引き起こすので、動作速度の点からは大きいことが求められる。動作速度と消費電力はトレードオフの関係になる。ＭＯＳＦＥＴ１３８は、このトレードオフの関係を回避するために設けたもので次の特徴に着目して発案された。一致信号線２５の電位は、上述したように比較したデータの不一致の数が増すと上昇電位が急激に小さくなる。このため、ほとんどのデータは２個以上の不一致データをもっていることに着目して、電流を制限するＭＯＳＦＥＴ１８９と直列にＭＯＳＦＥＴ１３８を設け、複数のデータが不一致のときには電流が流れない回路とした。この方法によって、回路１４０に電流が流れるのはデータが一致した行とデータ１個のみが不一致の行とに限定されこの回路の平均消費電力は大幅に軽減された。また、参照信号発生回路（破線で囲んだ回路１３９）と参照信号線１２８は複数のセンス回路１４０で共用される。この共用によって参照電圧発生回路の消費電力は削減され、その分一致信号発生回路への電力供給を増して、動作速度の向上を図ることができた。
以上は破線で囲んだ１４５の回路について説明したが、この回路は前置比較回路では４ないし８行、ＣＡＭ部（１）では６４ないし１２８行設けられ、入力のＶＡと比較され、一致した組のデータＲＡＭ部の記憶データ（図１参照）が出力される。
図１２には図１にしめしたＣＡＭ部（１）およびＣＡＭ部（２）の一実施例の回路図をしめす。右端の破線で囲んだ回路１７０は図１１にしめした回路２０とよく似た動作をする回路である。すなわち、入力ＶＡが端子１８１に供給されるとインバータ１８２によって相補信号が発生され、メモリセル１９３に記憶されているデータと比較される。このとき、比較回路からはデータが一致したときには端子１８４の電位が高電位となるように設定される。１７０と同等の回路が３組並列に設けられて端子１８５，１８６に同様の信号を送出する。この３組の信号を３入力ＮＡＮＤ回路１８７に導くと、３組の比較回路の結果がすべて一致したときのみＮＡＮＤ回路の出力は接地電位となる。この信号を定電流を供給するＰ型ＭＯＳＦＥＴ１３１に供給することで、ＣＡＭ部（２）のデータが一致したときのみ、Ｐ型ＭＯＳＦＥＴ１３１から定電流が流れて電力が供給され、ＣＡＭ部（２）が不一致の時には電力が消費されない回路となる。すなわち、比較回路を分割して比較結果を高速に発生させ、この結果にもとづいて一致信号発生回路を動作させることで高速動作をし、かつ、消費電力の小さいＴＬＢ回路を構成できた。図１２では参照信号線１２８と参照信号発生回路１３９を図１１の回路を同様に複数の行で共用する回路としている。行数の多いＣＡＭ部（１）ではこの共用によって大幅に消費電力が削減された。
図１３には図１１に破線で囲んで示した回路１０の他の実施回路の１例を示す。回路１０で各行ごとに設けられていたＭＯＳＦＥＴ１４２，１３７等を各行共通の回路にＭＯＳＦＥＴ１５２，１５３等として移して、回路の簡素化を図ったものである。この共通化によって各行に設ける一致検出回路１４０のデバイス数は約１／２に減少した。
データが一致した一致信号線１２５の電位が上昇するとセンスアンプ１４０の出力は低下してバッファ回路１４９に入力される。同バッファ回路の出力はデータＲＡＭアレーのワード線に接続されていて、このワード線の電位を引き上げてデータを読みだす。
データＲＡＭ部は広く用いられているメモリ回路であるので構成や動作の説明は省略する。
以上はＴＬＢ回路について説明したが、本発明の一致検出回路はキャッシュメモリや広く一般の連想メモリ（ＣＡＭ）の回路として用いることができる。
また、図面にしたがってＣＡＭ回路の構成と回路を説明したが、このほかに、次のような構成や回路の適用も可能である。
比較回路を内蔵するメモリセルにはJ．of Solid State Circuits Vol．２０  pp．９５１−９５７（１９８５）に記載されている１０個のＭＯＳＦＥＴを用いるメモリセル、特開昭６３−３０８７９６に記載されているＰＭＯＳとＮＭＯＳとで構成する回路を用いたメモリセル、J．of Solid State Circuits Vol．５  pp．２０８−２１５（１９７０）に記載されているダイオード接続したＭＯＳＦＥＴを用いる９個のＭＯＳＦＥＴを用いるメモリセル、等を用いてもよい。また、ダイオード接続したＭＯＳＦＥＴの代わりにｐｎ接合型やショットキー障壁型のダイオードを用いること、また、基板をコレクタに用いたバイポーラトランジスタを用いることもできる。
図１４には可変長データに対応するＴＬＢの構成例を特許公報に掲載された特開平１−２２０２９３の図を引用して示している。この構成のＣＡＭセルは本発明でも実施できることは言うまでもないが、検討の結果、図１４において示されているＭＯＳＦＥＴ２６０の設計および設置個所について新たな知見がえられた。その１はＣＡＭセルに流れる一致検出電流の減少とそれにともなう一致検出時間の増加である。ＭＯＳＦＥＴ２６０の導通／遮断の動作を可変長指定ビットによって制御しているが、導通して電流を流すときにはＭＯＳＦＥＴ２５０と直列に接続されているために従来のＣＡＭセルにくらべて電流が減少する。このため、遅延時間を増加させないためには構成するＭＯＳＦＥＴの駆動能力の向上が求められる。例えば、全てのＭＯＳＦＥＴのゲート幅をその分増せばよいが、このときには入力のＶＡデータ線の負荷が大きくなり駆動時間の増加や消費電力の増加を招く。そこで、ＭＯＳＦＥＴ２６０のゲート幅のみを増加させることを検討した。その結果ＭＯＳＦＥＴ２５０のゲート幅の１．５倍以上にＭＯＳＦＥＴ２６０のゲート幅を設計すると電流の減少が大幅に軽減できることを見出した。ＭＯＳＦＥＴ２６０のゲート幅を増加させるとその分ＣＡＭセルの面積を増加させるが、その増加は軽微であり、また、ＶＡ入力データ線の負荷の増加もほとんどない結果がえられた。その２は、この検討を通して、ＭＯＳＦＥＴ２６０を複数のＣＡＭセルに１個設けることが面積の点からも、また、電気的特性の点からも有利であることが明らかになったことである。すなわち、入力のＶＡデータとＣＡＭセル内のデータとを比較して不一致があるときに“不一致”であることを示す信号の最小の信号レベルは、ＣＡＭセル内のＭＯＳＦＥＴ例えば図５のＭＯＳＦＥＴ２５０  １個が導通状態にあることである。すなわち、複数個のＣＡＭセルに共通して１個のＭＯＳＦＥＴ（例えばＭＯＳＦＥＴ２６０）を設置すれば十分といえる。特に、本発明で述べた、一致信号を一定の電流を供給して発生させる方法では供給電流が限定されるのでその効果がさらによく引き出される。この共用化によって同回路の占有面積は軽減された。
図１５には本発明による新規なＴＬＢの構成の１例を示す。
従来のＴＬＢでは仮想アドレスＶＡから実アドレスＰＡへの変換を行う機能を備えているが、複数のＶＡが１個のＰＡを共用している可能性（エイリアス、Alias）が生じると、新しくＶＡ、ＰＡデータの入れ替えをおこなう時には共用されているＰＡに付けくわえられている制御用データの更新機構、もしくは、共用されることを禁止する等の機構が必要になる。図１５に示すＴＬＢの構成はこの機構をより簡単に、かつ、効率良くデータを活用するためになされたものである。すなわち、従来のＴＬＢがＶＡからＰＡへの変換に重点を置いて構成されているのを、図１５ではＰＡからもＶＡを見つけだしてそのＰＡを使っているすべてのＶＡのデータを読みだしたり書換えたりできるように構成した点に特徴がある。この構成のＴＬＢではデータが重複して利用されても機構を複雑にすることなく、また、データを捨てることなく利用できる点で、効果がある。
図１５を用いて更に詳細に説明する。
ＣＡＭ（Ａ）とデータＲＡＭ両アレーは従来のＴＬＢと同じ構成である。本発明の構成の特徴はＣＡＭ（Ｂ）にあり、ＣＡＭ（Ｂ）のＣＡＭセルにはＣＡＭ（Ａ）のＶＡデータに対応するＰＡデータが記憶されており、ＲＡＭアレーのデータを書換えるときにはＣＡＭ（Ｂ）の比較データとして書換えるＰＡデータを入力して比較する。一致した行についてはＲＡＭアレーの対応するワード線の電位を持ち上げてＲＡＭ書き込み回路を通してデータを書き込む。このとき、ＣＡＭ（Ｂ）のＣＡＭセルのデータもワード線の電位を持ち上げて書き込む。このような構成にするとＰＡが共用されていても共用しているＶＡについてＰＡが書き替えられるので、特別な保護機構が不要となり、また、従来破棄していたデータをそのまま利用できるなどで書き込み時間が軽減できる等の効果がある。
以上の説明は従来のＴＬＢについて説明したが、本発明のＴＬＢに適用すれば高速化と低消費電力化を達成できることは言うまでもない。また、ＶＡアドレスを用いるキャッシュメモリ等にもこの機構、構成が適用できることは明らかである。
図１６には本発明をキャッシュメモリに適用した新規な回路構成を示す。図に従って詳細に説明する。
図１６のキャッシュメモリは読み出されるデータを記憶しているデータＲＡＭ部（Data  ＲＡＭ）、読み出しデータＲＡＭの行を指定する仮想アドレスＣＡＭ（Ｖ−ＣＡＭ），指定されたデータＲＡＭの行が正しいことを検証する実アドレスＣＡＭ（Ｒ−ＣＡＭ）、ＣＡＭにデータを書き込むためのＣＡＭデコーダ（ＣＡＭ  Ｄｅｃ）、実アドレスＡ，Ｂ（Real Address  Ａ，Ｂ）、仮想アドレスＡ，Ｂ（Virtual Address Ａ，Ｂ）を選択するセレクタ（セレクタは各バンクに設けられる）、および、入出力回路より構成されている。このメモリのデータの読み出しとデータの書き込み処理を図１７の処理フローに従って説明する。
本発明のキャッシュメモリでは図１７に示すように仮想アドレスの一部で下位ビット（２８ビット程度）のアドレスＶ（Address Ｖ）が与えられると、Ｖ−ＣＡＭに導かれてヒット判定が行なわれる。ミスのケースへの対応はあとで述べるとして、ヒットするとデータＲＡＭのワード線の電位をもちあげ、書き込み指定信号ＷＥＡが“Ｈ”レベルのときにはヒットしたデータＲＡＭの行にデータを書き込み、ＷＥＡが“Ｌ”、すなわち、読み出し指定のときにはヒットしたデータＲＡＭの行のデータを読みだす。Ｖ−ＣＡＭがヒットした時点でヒットしたＲ−ＣＡＭのデータを読み出し、ＴＬＢ（Table Lookaside Buffer）から送られてきた実アドレスと比較し、一致すれば以上の処理は正しいことが確認されて処理は継続される。ＴＬＢからの実アドレスとの比較で不一致のときには以上の処理が正しくないのでＷＥＡが“Ｈ”のときには書き込みデータを無効にする。ＷＥＡが“Ｌ”のときには読みだしたデータを無効にする処理を開始する。
一方、Ｖ−ＣＡＭでの比較においてミスと判定されると、Ｒ−ＣＡＭを用いてＴＬＢから送られてきた実アドレスとＲ−ＣＡＭを用いて比較する。この比較において一致する実アドレスがあれば、一致した実アドレス行のデータＲＡＭの記憶内容は正しいので、ＷＥＡが“Ｈ”なら一致した行のＶ−ＣＡＭのデータを送られてきた新データに書き換え、ＷＥＡが“Ｌ”ならデータＲＡＭの一致した行のデータを読み出す。
Ｒ−ＣＡＭでの比較でミスとなると送られてきたアドレスに対応するデータはキャッシュに存在しないので、ＷＥＡが“Ｌ”のときはデータのないことを示す信号を発信して処理を終了する。ＷＥＡが“Ｈ”のときにはＣＡＭデコーダを用いて行を選択し、送られてき実アドレス、仮想アドレスの下位ビット、データＲＡＭのデータをすべて書き込み、処理を終了する。この処理方式によると、図１７から理解できるように、データＲＡＭへの書き込みとデータＲＡＭからのデータの読みだしがほぼ同時刻に行なわれる。この特徴を用いると、書き込み処理のときにはデータをメモリに送り込み、また、読み出し処理のときにはデータを取り出す処理を分けて行なえば、このほかのメモリ回路の動作は同じでよく、読み出し、書き込み動作を高速に行なうことが可能となる。この点が本発明のキャッシュメモリの特徴の一つであり、この効果はあとで詳しく説明する。
以上、入力信号Ａについて説明した。図１６の回路では第２の入力信号Ｂが示されている。信号Ｂはバンク指定信号（図１６のBank Select bit ３）によって指定されたバンクへのみ、かつ、信号Ａの指定するバンクと競合しないときにのみ供給される。この信号Ｂは信号Ａと同様に処理され、Ａとは別に設けられた入出力信号線、２ｎｄ  Ｄｉｎ−Ｂ  Ｌｉｎｅ，２ｎｄ  Ｄｏ−Ｂ  Ｌｉｎｅを経て処理される。これらの信号線の役割や配置については図１８を用いて後で詳しく説明するが、このように信号線がＡ，Ｂ並列に設けられることでバンクＡ，Ｂの信号で競合しないときにはおおよそ同時刻にＡ，Ｂそれぞれの入力信号の処理を行なうことができる。また、上述したように書き込み処理と読み出し処理を区別するのは入出力信号のみであるので、両信号を別々に２ｎｄ  Ｄｉｎ−Ｂ  Ｌｉｎｅ，２ｎｄ  Ｄｏ−Ｂ  Ｌｉｎｅで区別して送ることで、これ以外はまったく区別する必要がなくなり、たとえば、Ａが書込みで、Ｂが読み出しのように両者が混在するときにも回路動作のタイミング等の調整をすることなく処理できる。また、処理がすべて同じであるのでデータを時系列で重複して処理する、いわゆる、ウェーブパイプライン動作にも適する。本発明では２−Bank，２−Wave  Pipeline動作が可能で、擬似４ポートメモリが実現される。
以下、図１６の回路を詳細に説明する。
キャッシュメモリでは大容量のメモリが要求されるので、Ｒ−ＣＡＭ，Ｖ−ＣＡＭの行数（エントリー数）は大きくなる。ここでは、エントリー数１０２４として説明する。エントリー数が１０２４ではＣＡＭの一致検出用の電流に０．１mA供給しても全体で１００mAに達する。この電流を削減するために図１２に示した本発明の回路、ＣＡＭ部（１）、ＣＡＭ部（２）の構成を用いる。ＣＡＭ部（２）に３ビットを割り当てると電流は平均で約１／８になり同電流は１３mAにまで削減される。
次に、図１６にしめしたデータＲＡＭ部の２ｎｄ  Ｄｉｎ−Ａ  Ｌｉｎｅ，２ｎｄ  Ｄｉｎ−Ｂ  Ｌｉｎｅ，２ｎｄ  Ｄｏ−Ａ  Ｌｉｎｅ，２ｎｄ  Ｄｏ−Ｂ  Ｌｉｎｅに関連する回路を説明する。これらの信号線はBank０からBank７までのData  ＲＡＭ上に配置されていて各Bank内のデータ線（たとえば図１８のデータ線９１１，９１２対）へ図１８の回路９０１を介してData  ＲＡＭの書き込み信号Ｄｉｎを送ったり、データ線対９１１，９１２から読み出し信号を受け取り、検出回路９２１に送る信号線である。これらの信号線はデータ線と同様の働きをするもので階層化されているために第２の信号線をしめす“２ｎｄ”の名称が付けられている。図１８にはこの部分の回路の回路図を示している。２ｎｄ  Ｄｉｎ  Ｌｉｎｅ  ２本（ＤｉｎＡ，ＤｉｎＢ）、２ｎｄ  Ｄｏ  Ｌｉｎｅ  ４本の計６本を１組としてメモリセル４列に１組設けている。ここで、２ｎｄ  Ｄｉｎ  Ｌｉｎｅ  ２本も２ｎｄ  Ｄｏ  Ｌｉｎｅと同様にデータＲＡＭの各Bank上を通って配置されているのでメモリセル上を通って上に延びているが、図面ではこの部分は省いてしめしている。このようにメモリセル４列に一組第２の信号線を設けることで面積の増加を少なく抑えながら、これらの信号線を設置することができる。ここで、Ｄｉｎ信号線Ａ，Ｂ各１本とし、Ｄｏ信号線は各２本としたのは、Ｄｉｎ信号は振幅を大きくしても遅延時間の増加が少ないが、Ｄｏ信号の振幅を大きくすると遅延時間の増加が大きいことによっている。このため、Ｄｏ信号線は相補信号を送るために２本とし、小振幅信号伝送を行なっている。また、Ｄｉｎ信号が線間容量によってＤｏに影響を与えることを避けるためにＤｏ信号線対にＤｉｎ線が対称なるように配置している。また、Ｄｉｎ信号から相補信号を発生させるところに２入力ＮＡＮＤ回路を用い、書き込み信号ＷＥ−Ａ，ＷＥ−Ｂが“Ｌ”のとき、および、書き込み動作終了時にはＤｉｎとＤｉｎの相補信号とを“Ｈ”をすることで書き込みを終了させる回路となっている。面積増加の制約が小さければＤｉｎ信号線を各２本とすることは、より設計の自由度を向上させることはいうまでもない。しかし、図にはしめしていないが、書き込み信号線Ｄｉｎとデータ読み出し信号線対Ｄｏおよび／Ｄｏとの線間容量を介して生じるクロストークノイズを削減するためにＤｏと相補信号の／Ｄｏとの線間容量を等しくするいわゆる撚り線配置をおこなっている。この撚り配置ではＤｉｎ線が１本のときには撚りの回数が少なくなる利点がある。
この書き込み回路では書き込み前にはデータ線対が両方ともに“Ｈ”にあるので、書き込みにはデータ線を“Ｌ”に引き下げるのみでよく、カラムの選択にはＮＭＯＳのみのスイッチで十分である。
一方、読み出し動作ではＮＭＯＳの差動回路をＤｏ−ＡとＤｏ−Ｂそれぞれに設け、その差動増幅器の電流を供給するＭＯＳＦＥＴを選択することでカラムおよびＡ，Ｂ信号の選択を行なっている。これによってカラム選択やＡ，Ｂ選択のためのスイッチＭＯＳＦＥＴが省かれ、読み出し時間が短縮されている。図９の回路ではカラムスイッチ信号（Ｃ０−Ａ〜Ｃ３−Ｂ）は書き込みと読み出しの動作に共通になっている。このように共用すると信号線数が少なくてよいが、このためにはカラムスイッチ信号線の高レベルを制限してデータ線（例えば９１１，９１２など）と２ｎｄデータ線（２ｎｄ  ＤｏＡ，２ｎｄ  ＤｏＢとがデータ読み出し時には導通しないように設定する。これによって読み出し時のデータ線の振幅が制限されず、かつ、このＭＯＳＦＥＴを介してデータ線の負荷容量の増加も防止される。配線のスペースが許せば分離してもよく、また、書き込み信号で導通／非導通となるＭＯＳＦＥＴをデータ線との間に追加してもよい。
図１９は、上述した各実施例を適用した信号処理プロセッサＭＰＵの実施例の１例を示す図である。図中破線で囲んだＭＰＵはシリコンなどで構成された単一の半導体基板上に形成されており、その外部にメモリユニット１１０８、外部装置１１０９が接続されて構成されている。
図１９において、仮想アドレスキャッシュ１１０２として示した部分が、上述した各実施例で示した記憶装置であり、ＭＰＵを構成するチップ上に形成されたいわゆるオンチップメモリとして構成されている。仮想アドレスキャッシュ１１０２は、ＣＰＵからバス１１０３を介してアドレス（仮想アドレス）と書込み読込みなどを指示する制御信号が供給される。仮想アドレスキャッシュ１１０２は例えば図１に示したように構成され、入力された仮想アドレスに対応した出力データをバス１１０４を介してＣＰＵ１１０１に供給する。なお、ＣＰＵへの出力データの供給はバス１１０４を介さずにバス１１０３を介して行うように構成することもできる。仮想アドレスキャッシュ１１０２に対応する出力データが存在しないいわゆるミスの場合には、仮想アドレスキャッシュ１１０２からミスを示す信号がバス１１０７を介してメモリ制御ユニット１１０６に伝達され、ＭＰＵの外部に配置されたメモリユニットから対応するデータを読み出し、再び仮想アドレスキャッシュ１１０２に書き込むような制御を行う。また、メモリ制御ユニット１１０６からバス１１０７を介して図１６に示すように実アドレスを伝達できるように構成されている。なお、外部装置１１０９はＭＰＵの外部に配置された入出力装置等であり、入出力制御ユニット１１０５により制御されている。
上述したように本発明記憶装置は高速動作を損なうことなく低消費電力化を達成できるものであるため、これを用いてＭＰＵを構成すればＭＰＵ全体で消費電力を抑制することができる。
図２０は本発明の他の実施例を示す回路図である。より詳しくは、図１１、図１２にしめしたＣＡＭによるデータ一致検出をより高速におこなうための回路である。図を用いて詳細に説明する。
参照電圧発生回路２１０１は図１１の回路の参照電圧発生回路１３９と同様に参照電圧を発生する回路である。ＭＯＳＦＥＴ２１０２は図１１のＣＡＭセル２３内のＭＯＳＦＥＴ２６と同じ形状のＭＯＳＦＥＴで、ゲートに与えられる電圧（Ｖｃｃ−Ｖｔ）は同セル２３の一致検出電圧の高レベル（データが不一致のときにＭＯＳＦＥＴ２６のゲートに供給される電圧で、Ｖｃｃは正の電源電圧、ＶｔはＭＯＳＦＥＴのしきい電圧である）の電位であって、この電位供給によって、ＣＡＭセルが不一致のときにながれる電流と等しい電流をＰＭＯＳＦＥＴ２１０３に供給する。この電流は２１０３と同じ形状のＰＭＯＳＦＥＴを介して同電流と等しい電流がＮＭＯＳＦＥＴ２１０５，２１０６に供給されてＶＲ１を発生させる。この回路によってＶＲ１はＮＭＯＳＦＥＴのしきい電圧Ｖｔの約２倍の電位に設定される。ＶＲ１は厳密にこの電位である必要はなく、別途発生させた電圧を供給してもよいが、Ｖｔの２倍の電位に設定すると後で述べる参照電圧ＶＲの電位がＶｔに設定され差動増幅器２１１３の消費電力が少なく、かつ高速動作する電位となる。ＶＲ１はＮＭＯＳＦＥＴ２１０７，２１０８のゲートに供給され一致検出信号線２０２５、参照電圧線ＶＲの電位の引き上げ電圧の高レベル電位を定める。ＰＭＯＳＦＥＴ２１０９は２１０２と同じ形状をもつＮＭＯＳＦＥＴで、ＰＭＯＳＦＥＴ２１１０は一致検出信号線への電流供給をおこなうＰＭＯＳＦＥＴ２１１２より約２０％供給電流の大きいＰＭＯＳＦＥＴである。また、ＰＭＯＳＦＥＴ２１１２は所定の時間に一致検出信号線２０２５に電流を供給するＰＭＯＳＦＥＴでそのゲートは電流が供給される時間帯に接地レベルに保持される。破線で囲んだ回路２１１３はよく知られたカレントミラー回路を負荷とした差動増幅回路であり説明は省略するが、一致検出の出力は端子Ｖｏｕｔに出力される。２１１３の回路はこのほかの差動増幅器に置き換えてもよいことは容易に理解でき説明の必要はないと考える。
図２１は図２０の回路の動作を説明するために主要ノードの電位の時間変化を示している。一致検出信号線２０２５への供給電流を制御する信号ＶａａがＶｃｃから接地レベルに変化すると一致信号線に接続されているＣＡＭセルすべてが一致しているときには図２１に“一致”としめした電圧波形のようにその電位は時間とともに上昇する。ここで、Ｖａａが接地レベルに引き下げられた時刻から参照電圧ＶＲに引き上げられるまでの時間変化が急速であるのは参照電圧ＶＲまではＮＭＯＳＦＥＴ２１０７を介してＰＭＯＳＦＥＴ２１１１から電流が供給されるためで、ＶＲに達するとＮＭＯＳＦＥＴ２１０７のゲートとソース間電圧がしきい電圧Ｖｔとなるので２１０７を介する電流の供給は停止し、電位の上昇速度は低下する。一方、一致検出信号線２０２５に接続されたＣＡＭセルの内１個のみが不一致の時の同信号線電位の時間変化を“不一致”の記号で時間変化を示している。このときにはＮＭＯＳＦＥＴ２１０７を介してＰＭＯＳＦＥＴ２１１２から電流は供給され続けるが、電流を供給するＰＭＯＳＦＥＴ２１１２の電流が２１１０より少ないために参照電圧ＶＲまでは上昇せずに電位上昇は停止する。一致検出信号線２０２５に接続されたＣＡＭセルが２個以上不一致のときにはその電位上昇がさらに小さくなることは容易に理解できる。以上述べたように図１の回路では一致検出を一致検出信号線の電位と参照電圧線ＶＲとの差によって検出でき、また、Ｖａａが接地レベルに引き下げられた直後はＭＯＳＦＥＴ２１０７，２１１１によって供給される電流によって一致検出信号線が参照電圧ＶＲまで高速に引き上げられるために一致検出動作が高速化される。また、不一致の一致検出信号線の電位は参照電圧ＶＲを越えることはないのでＶａａを接地電位に保持する時間を厳密に限定する必要はなく、回路の制御が容易であることも本実施例の回路の特徴である。しかし、Ｖａａが接地レベルにある期間はＭＯＳＦＥＴ２１０７，２１１１によって不一致の一致検出信号線に電流が供給され続けるので消費電力削減には一致検出の信号が出力されれば速やかに高レベルにＶａａを引き上げ電流の供給を停止することが望ましい。
【図１】
0003972995.tif 000002
【図２】
0003972995.tif 000003
【図３】
0003972995.tif 000004
【図４】
0003972995.tif 000005
【図５】
0003972995.tif 000006
【図６Ａ】
0003972995.tif 000007
【図６Ｂ】
0003972995.tif 000008
【図７Ａ】
0003972995.tif 000009
【図７Ｂ】
0003972995.tif 000010
【図７Ｃ】
0003972995.tif 000011
【図７Ｄ】
0003972995.tif 000012
【図７Ｅ】
0003972995.tif 000013
【図８】
0003972995.tif 000014
【図９】
0003972995.tif 000015
【図１０】
0003972995.tif 000016
【図１１】
0003972995.tif 000017
【図１２】
0003972995.tif 000018
【図１３】
0003972995.tif 000019
【図１４】
0003972995.tif 000020
【図１５】
0003972995.tif 000021
【図１６】
0003972995.tif 000022
【図１７】
0003972995.tif 000023
【図１８】
0003972995.tif 000024
【図１９】
0003972995.tif 000025
【図２０】
0003972995.tif 000026
【図２１】
0003972995.tif 000027