(57)【特許請求の範囲】
【請求項１】
少なくとも、格納領域が複数のセットに分割された多ウエイ・セットアソシアティブ対応の２次キャッシュメモリを有するメモリシステムであって、
前記複数のセットに分割されたウエイ数分のタグアドレスを格納した第１のメモリと、このタグアドレスに対応するデータメモリの内容の有効／無効を示す有効ビットのみを格納した第２のメモリとを分離して配置し、前記第１のメモリは各ウエイ毎に前記第２のメモリから低消費電力用制御信号を受信して動作するものであり、
前記第１のメモリに対するアクセスに先立って前記第２のメモリを読み出し、その結果、前記低消費電力用制御信号が無効であるウエイに関しては前記第１のメモリに対して低消費電力制御し、
前記低消費電力制御の実現は、
前記第１のメモリは、大規模でウエイ数分の複数からなり、アクセスを不可能にする低消費電力制御手段が付加され、
前記第２のメモリは、小規模で複数の第１のメモリに対応する１つからなり、
前記第１のメモリから読み出したタグアドレスと入力されたアクセスアドレスとを比較し、その結果が一致し、かつ前記第２のメモリの有効ビットが有効を示しているか否かのヒット判定を行う制御論理手段を有し、
前記有効ビットが無効であるウエイに関しては前記低消費電力制御手段により前記第１のメモリの読み出し動作を停止して実現し、
前記複数の第１のメモリ、前記第２のメモリおよび前記制御論理手段を１チップ化することを特徴とするメモリシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵの高性能化を目的としたキャッシュメモリシステムの大容量化およびセットアソシアティブ対応の多ウエイ化時におけるタグアドレス比較機能を有する機能メモリシステム技術に関し、特に大容量を実現する２次キャッシュメモリシステムに対して効果的なメモリシステムに適用して有効な技術に関する。
【０００２】
【従来の技術】
たとえば、発明者が検討した技術として、セットアソシアティブ対応のキャッシュメモリシステムを構成する場合、ウエイ数分のタグアドレスを格納したメモリ（以降、タグメモリと呼ぶ）と、それらの読み出し結果とアクセスアドレスを比較する比較器とが必要であり、その比較器の判定結果からヒット／ミスヒット信号を生成し、データを格納したメモリ（以降、データメモリと呼ぶ）をアクセスする技術が考えられる。
【０００３】
このタグメモリ内には、通常、タグアドレスとともに、そのアドレスに対応するデータメモリの内容が有効か、無効かを示す内容（以降、有効ビットと呼ぶ）が格納されている。タグメモリでは、それらを全てのウエイ毎に読み出し、まず読み出したタグアドレスとアクセスアドレスとを比較し、その結果が一致し、かつ有効ビットが“有効”を示しているウエイが存在したときに、データメモリをアクセスするヒット判定制御信号を発生し、データメモリへ送信する動作を行うようになっている。
【０００４】
このようなセットアソシアティブ対応のキャッシュメモリシステムに関する技術としては、たとえば特開平２−１４１８４４号公報の“キャッシュメモリ制御方式”や、特開平４−９８３３７号公報の“キャッシュメモリ制御方式”などの技術が挙げられる。これらの公報には、タグアドレスを格納したアドレスアレイ（タグメモリ）を有するキャッシュメモリシステムが提案されており、このシステムにおいては全てのタグメモリを読み出し、これらの読み出し結果とアクセスアドレスとを比較する方式が記載されている。
【０００５】
【発明が解決しようとする課題】
ところで、前記のような特開平２−１４１８４４号公報、特開平４−９８３３７号公報の技術を含むセットアソシアティブ対応のキャッシュメモリシステムにおいては、このキャッシュメモリシステムを大容量化およびセットアソシアティブ対応の多ウエイ化にするときに、必ず大容量の全てのウエイのタグメモリを読み出すことが必要であり、よって消費電力が増大していくという問題の存在することが考えられる。
【０００６】
そこで、本発明の目的は、タグメモリを小規模メモリと大規模メモリとに分離し、大規模メモリのアクセス回数を低減して、あるいは大規模メモリ内の高消費電力出力部の動作数を低減して、低消費電力化を実現することができるメモリシステムを提供することにある。
【０００７】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【０００８】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００９】
すなわち、本発明のメモリシステムは、多ウエイ・セットアソシアティブ対応のキャッシュメモリを有するメモリシステムに適用されるものであり、前記タグメモリを、複数のセットに分割されたウエイ数分のタグアドレスを格納した大規模な第１のメモリ（以降、アドレスメモリと呼ぶ）と、このタグアドレスに対応するデータメモリの内容の有効／無効を示す有効ビットのみを格納した小規模な第２のメモリ（以降、有効ビットメモリと呼ぶ）とに分離して配置し、アドレスメモリは各ウエイ毎に有効ビットメモリから低消費電力用制御信号を受信して動作するものである。
【００１０】
具体的には、まず有効ビットメモリを読み出し、その結果が無効であるウエイに関してはアドレスメモリに対して低消費電力制御、すなわち、アドレスメモリに付加された低消費電力制御手段により、有効ビットが無効であるウエイに関してはアドレスメモリの読み出し動作を停止したり、あるいはアドレスメモリの出力部の動作を停止するようにしたものである。
【００１１】
これにより、有効ビットメモリを読み出した結果が有効であったときにのみ、そのウエイに対応するアドレスメモリをアクセスすることによって、大規模メモリのアクセス回数を低減して、あるいは高消費電力出力部の動作数を低減して、低消費電力化を実現することができる。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１３】
（実施の形態１）
図１は本発明の実施の形態１であるメモリシステムの概略構成を示すブロック図、図２は本実施の形態１のタグメモリを示す構成図、図３は図２のタグメモリの動作を示すタイムチャート、図４は本実施の形態１に対して本発明者が検討した比較例であるタグメモリを示す構成図、図５は図４のタグメモリの動作を示すタイムチャートである。
【００１４】
まず、図１により本実施の形態１のメモリシステムの概略構成を説明する。
【００１５】
本実施の形態１のメモリシステムは、たとえば多ウエイ・セットアソシアティブ対応のキャッシュメモリを有するキャッシュメモリシステムとされ、データ転送を制御するＣＰＵ１と、ウエイ数分のタグアドレスを格納したタグメモリ２と、データを格納したウエイ数分の複数のデータメモリ３とから構成されている。
【００１６】
このメモリシステムにおいては、ＣＰＵ１から、タグメモリ２に対して上位アドレスのタグアドレス信号が出力され、タグメモリ２およびデータメモリ３に対して下位アドレスのインデックスアドレス信号が出力され、ＣＰＵ１とデータメモリ３との間でデータバスを介してデータ転送が可能となっている。また、タグメモリ２から、ＣＰＵ１に対してヒット／ミス判定信号が出力され、データメモリ３に対してウエイ選択アドレス信号が出力されている。
【００１７】
タグメモリ２は、たとえば図２に示すように、８ウエイ・セットアソシアティブ対応の１チップ化した２次キャッシュメモリの例で考えると、大規模なアドレスメモリ４（第１のメモリ）が８個、小規模な有効ビットメモリ５（第２のメモリ）が１個、ヒット判定などを行う制御論理部６（制御論理手段）から構成され、タグアドレス信号、インデックスアドレス信号が入力され、ヒット／ミス判定信号が出力されるようになっている。
【００１８】
このタグメモリ２内のアドレスメモリ４にはタグアドレスが格納され、さらにアクセスを不可能にする低消費電力制御回路７（低消費電力制御手段）が付加されており、また有効ビットメモリ５にはタグアドレスに対応するデータメモリ３の内容の有効／無効を示す有効ビットのみが格納されている。また、タグメモリ２内の制御論理部６は、アドレスメモリ４に対応する８個のコンパレータ８（Ｃｏｍｐ．）および論理ゲート９（ａｎｄ）と、１個のヒット判定制御部１０とから構成されている。
【００１９】
このタグメモリ２において、チップ外部から入力されたタグアドレス信号は制御論理部６の８個のコンパレータ８にそれぞれ入力され、インデックスアドレス信号は８個のアドレスメモリ４、有効ビットメモリ５にそれぞれ入力されている。また、有効ビットメモリ５から、制御論理部６の８個の論理ゲート９に対してそれぞれ有効ビットが出力されるとともに、８個のアドレスメモリ４に対してもそれぞれ有効ビットと同一論理信号のアドレスメモリ活性化信号（低消費電力用制御信号）が出力されている。
【００２０】
また、一方に、直接、チップ外部からタグアドレス信号が入力された制御論理部６の８個のコンパレータ８の他方にはそれぞれアドレスメモリ４からタグアドレスが入力され、これらのコンパレータ８からの比較結果は、有効ビットメモリ５からの有効ビット出力とともに論理ゲート９により論理積演算され、これらの各ウエイからの論理積演算結果は全てヒット判定制御部１０に入力され、ヒット／ミス判定信号としてチップ外部に出力されるようになっている。
【００２１】
次に、本実施の形態１の作用について、キャッシュメモリシステムの動作を図３のタイムチャートに基づいて説明する。
【００２２】
始めに、ＣＰＵ１がキャッシュメモリに対してリードアクセス要求があるとき、ＣＰＵ１はキャッシュメモリをアクセスするための下位アドレスのインデックスアドレス信号と、メモリ空間での上位アドレスのタグアドレス信号とをタグメモリ２に対して出力する。
【００２３】
そして、本実施の形態１のように、キャッシュメモリシステムが８ウエイ・セットアソシアティブ構成のとき、タグメモリ２は、まずＣＰＵ１からのインデックスアドレス信号を受けて、８ウエイ分の有効ビットを格納した有効ビットメモリ５を読み出す。なお、有効ビットメモリ５の有効ビットは、たとえばタグアドレスに対応するデータメモリ３の内容が有効のときは“１”、無効のときは“０”とする。
【００２４】
その結果、たとえば有効ビットが“１”である有効を確認したウエイについては、このウエイに対応するアドレスメモリ４のみに対して読み出し動作を行うようにアドレスメモリ活性化信号を制御する。すなわち、有効ビットの有効に対応してアドレスメモリ活性化信号を活性化して、アドレスメモリ４に付加された低消費電力制御回路７に入力し、アドレスメモリ４のリードイネーブル端子を活性状態とする。
【００２５】
それと同時に、たとえば有効ビットが“０”である無効を確認したウエイに対しては、ミスヒット判定としてアドレスメモリ４の読み出しを取り消す。すなわち、有効ビットの無効に対応してアドレスメモリ活性化信号を非活性のままで低消費電力制御回路７に入力し、アドレスメモリ４のリードイネーブル端子を非活性状態とする。
【００２６】
さらに、アドレスメモリ４を読み出したウエイでは、そのリードデータとアクセスタグアドレスとをコンパレータ８で比較し、さらにこの比較結果と有効ビットの出力とを論理ゲート９により論理積演算して、有効で、かつ一致した場合はヒット判定とし、不一致の場合はミスヒット判定とする。
【００２７】
そして、これらの８ウエイ分のヒット／ミスヒット判定信号をヒット判定制御部１０に入力し、このヒット判定制御部１０のヒット／ミス判定結果から、ヒットしたウエイのデータメモリ３のみをアクセスし、所望のデータをＣＰＵ１に送信する。これにより、ヒット時の読み出し動作が完了する。
【００２８】
また、ヒット判定制御部１０によるヒット／ミス判定の結果、全てがミスヒット判定となったときは、ミスヒット信号がＣＰＵ１へ送信され、ＣＰＵ１はキャッシュメモリとは別の主記憶に対してアクセスを実行することになる。
【００２９】
以上のように、本実施の形態１のような有効ビットメモリ５とアドレスメモリ４とを、順次、アクセスする動作においては、たとえばそれぞれが２２ビットの容量の大規模なアドレスメモリ４へのアクセスを、たとえば８ビットの小規模な有効ビットメモリ５の出力に応じてアクセスすることができる。よって、たとえば８ウエイのうち、無効状態がｎウエイであった場合、このｎウエイに対してはアクセスが行われず、ｎウエイ分の不要な電力の低減が実現され、アドレスメモリ４の全体の消費電力をｎ／８分だけ低減することができる。
【００３０】
これに対して、たとえば本実施の形態１に対応する比較例のキャッシュメモリシステムにおいては、図４に示すようにタグメモリ２が分割されていないために、図５のタイムチャートに示すように、８ウエイの全ての大規模なタグメモリ２に対して読み出し動作を行い、そのリードデータとアクセスタグアドレスとを比較してヒット判定を行っている。よって、比較例のキャッシュメモリシステムにおいては、本実施の形態１では低減できたｎウエイ分の実質的に不要な電力が消費されていることになる。
【００３１】
従って、本実施の形態１のキャッシュメモリシステムによれば、タグメモリ２がアドレスメモリ４と有効ビットメモリ５とに分割され、アドレスメモリ４に対するアクセスに先立って有効ビットメモリ５の読み出しを行うことにより、有効ビットが無効であるウエイに関してはアドレスメモリ４に付加された低消費電力制御回路７によってアドレスメモリ４の読み出し動作を停止することができるので、大規模なアドレスメモリ４の読み出し動作を低減して消費電力を低減することができる。特に、２次キャッシュメモリとすることで大容量のメモリシステムを実現することができる。
【００３２】
（実施の形態２）
図６は本発明の実施の形態２であるメモリシステムを構成するタグメモリを示す構成図、図７は図６のタグメモリの動作を示すタイムチャートである。
【００３３】
本実施の形態２のメモリシステムは、前記実施の形態１と同様に多ウエイ・セットアソシアティブ対応のキャッシュメモリを有するキャッシュメモリシステムとされ、前記実施の形態１との相違点は、大規模メモリにその出力部を各ウエイ毎に活性化する低消費電力制御手段を付加し、これによって有効ビットが無効であるウエイに関しては大規模メモリの出力部の動作を停止するように制御する点である。
【００３４】
すなわち、本実施の形態２においては、たとえば図６に示すように、タグメモリ２ａが８ウエイ・セットアソシアティブ対応の１チップ化した２次キャッシュメモリの例で考えると、大規模なアドレスメモリ４ａ（第１のメモリ）が４個、小規模な有効ビットメモリ５ａ（第２のメモリ）が１個、ヒット判定などを行う制御論理部６ａ（制御論理手段）から構成されている。
【００３５】
このタグメモリ２ａ内のそれぞれのアドレスメモリ４ａには、８ウエイ全てのタグアドレスの１／４ビット分ずつが格納され、さらにそのデータ出力部１１にあるセンスアンプを各ウエイ毎に活性化する低消費電力制御回路７ａ（低消費電力制御手段）が付加されており、また制御論理部６ａは、アドレスメモリ４ａに対応してそれぞれに８個のコンパレータ８ａ（Ｃｏｍｐ．）および論理ゲート９ａ（ａｎｄ）と、１個のヒット判定制御部１０ａとから構成されている。
【００３６】
次に、本実施の形態２の作用について、キャッシュメモリシステムの動作を図７のタイムチャートに基づいて説明する。なお、ここでは前記実施の形態１と略同一の動作について省略する。
【００３７】
本実施の形態２において、タグメモリ２ａは、ＣＰＵ１からのインデックスアドレス信号を受けて、８ウエイ分の有効ビットを格納した有効ビットメモリ５ａを読み出すと同時に、それぞれに８ウエイ全てのタグアドレスの１／４ビット分ずつを格納した４個のアドレスメモリ４ａに対しても読み出し動作を行う。
【００３８】
その結果、たとえば有効ビットが“１”である有効を確認したウエイについては、このウエイに対応するアドレスメモリ４ａのみに対して出力動作を行うように出力回路活性化信号（低消費電力用制御信号）を制御する。すなわち、有効ビットの有効に対応して出力回路活性化信号を活性化して、アドレスメモリ４ａに付加された低消費電力制御回路７ａに入力し、アドレスメモリ４ａのデータ出力部１１を動作可能状態とする。
【００３９】
それと同時に、たとえば有効ビットが“０”である無効を確認したウエイに対しては、ミスヒット判定としてアドレスメモリ４ａの出力動作を取り消す。すなわち、有効ビットの無効に対応して出力回路活性化信号を非活性のままで低消費電力制御回路７ａに入力し、アドレスメモリ４ａのデータ出力部１１を動作不可能状態とする。
【００４０】
以上のように、本実施の形態２のような有効ビットメモリ５ａとアドレスメモリ４ａとを同時にアクセスし、小規模な有効ビットメモリ５ａの高速性からその出力結果を利用して大規模なアドレスメモリ４ａの高消費電力のデータ出力部１１を制御する動作においては、たとえばそれぞれが４８ビットの容量の大規模なアドレスメモリ４ａの出力動作を、たとえば８ビットの小規模でアクセス速度が高速な有効ビットメモリ５ａの結果を入力として制御することができる。
【００４１】
よって、無効なウエイに対応するセンスアンプの低消費電力制御を実行し、低消費電力化を図ることができ、たとえばデータ出力部１１の消費電力はメモリ全体の約５０％程度であるので、このとき８ウエイのうち、無効状態がｎウエイであった場合、このｎウエイに対しては出力動作が行われず、ｎウエイ分の不要な電力の低減が実現され、アドレスメモリ４ａの全体の消費電力を０．５×ｎ／８分だけ低減することができる。
【００４２】
従って、本実施の形態２のキャッシュメモリシステムによれば、タグメモリ２ａがアドレスメモリ４ａと有効ビットメモリ５ａとに分割され、アドレスメモリ４ａと有効ビットメモリ５ａとの読み出しを同時に行い、有効ビットが無効であるウエイに関してはアドレスメモリ４ａに付加された低消費電力制御回路７ａによってアドレスメモリ４ａのデータ出力部１１の動作を停止することができるので、大規模なアドレスメモリ４ａの出力動作を低減して消費電力を低減することができるとともに、前記実施の形態１に比べて動作の高速化を可能とすることができる。
【００４３】
以上、本発明者によってなされた発明を発明の実施の形態１および２に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４４】
たとえば、前記実施の形態のキャッシュメモリシステムについては、８ウエイ・セットアソシアティブ対応の１チップ化した２次キャッシュメモリを有するメモリシステムである場合について説明したが、本発明は前記実施の形態に限定されるものではなく、２ウエイ、４ウエイなどの他のウエイ数についても広く適用可能である。
【００４５】
また、本発明は、特に科学技術計算などの高速計算機を必要とする技術分野向けのＳＭＰ(Symmetrical Multi Processor) 型プロセッサシステムなどにおいて、大容量を実現する２次キャッシュメモリに対して効果的であるが、２次キャッシュメモリに適用する場合の他に、たとえばプロセッサ内に内蔵される１次キャッシュメモリとしても適用可能であることはいうまでもない。
【００４６】
【発明の効果】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００４７】
(1).多ウエイ・セットアソシアティブ対応のキャッシュメモリを有するメモリシステムにおいて、タグメモリを、タグアドレスを格納した大規模メモリと、このタグアドレスに対応する有効ビットのみを格納した小規模メモリとに分離して配置することで、小規模メモリを読み出した結果が無効であるウエイに関しては大規模メモリの読み出し動作を停止することができるので、不要な電力の低減が可能となる。
【００４８】
(2).前記(1) のような多ウエイ・セットアソシアティブ対応のキャッシュメモリを有するメモリシステムにおいて、小規模メモリを読み出した結果が無効であるウエイに関しては大規模メモリの出力部の動作を停止することができるので、前記(1) と同様に不要な電力を低減することができるとともに、特に小規模メモリと大規模メモリを同時にアクセスすることで、動作の高速化も実現することが可能となる。
【００４９】
(3).前記(1) ，(2) により、小規模メモリを読み出した結果が有効であったときにのみ、そのウエイに対応する大規模メモリをアクセスすることによって、大規模メモリのアクセス回数を低減して、あるいは大規模メモリ内の高消費電力出力部の動作数を低減して、低消費電力化を実現することが可能となる。
【００５０】
(4).前記(1) 〜(3) により、キャッシュメモリシステムの大容量化およびセットアソシアティブ対応の多ウエイ化時におけるメモリアクセスの消費電力を低減して、さらなる大容量化や多ウエイ化を実現することができ、特に大容量を実現する２次キャッシュメモリシステムに対して大きな効果が期待できる。
【図面の簡単な説明】
【図１】本発明の実施の形態１であるメモリシステムの概略構成を示すブロック図である。
【図２】本発明の実施の形態１のタグメモリを示す構成図である。
【図３】本発明の実施の形態１のタグメモリの動作を示すタイムチャートである。
【図４】本発明の実施の形態１に対して本発明者が検討した比較例であるタグメモリを示す構成図である。
【図５】本発明の実施の形態１に対して本発明者が検討した比較例であるタグメモリの動作を示すタイムチャートである。
【図６】本発明の実施の形態２であるメモリシステムを構成するタグメモリを示す構成図である。
【図７】本発明の実施の形態２のタグメモリの動作を示すタイムチャートである。
【符号の説明】
１  ＣＰＵ
２，２ａ  タグメモリ
３  データメモリ
４，４ａ  アドレスメモリ（第１のメモリ）
５，５ａ  有効ビットメモリ（第２のメモリ）
６，６ａ  制御論理部（制御論理手段）
７，７ａ  低消費電力制御回路（低消費電力制御手段）
８，８ａ  コンパレータ
９，９ａ  論理ゲート
１０，１０ａ  ヒット判定制御部
１１  データ出力部
【図１】
0003701409.tif 000002
【図２】
0003701409.tif 000003
【図３】
0003701409.tif 000004
【図４】
0003701409.tif 000005
【図５】
0003701409.tif 000006
【図６】
0003701409.tif 000007
【図７】
0003701409.tif 000008