(57)【要約】【課題】新たなテーブルを必要とすることなく、動作の高速性の維持と、リーク電流による電力消費の削減を可能としたキャッシュメモリを提供する。【解決手段】キャッシュメモリ１では、ＬＲＵビットレジスタ５２に格納された参照履歴を参照して、リーク電流制御回路７１がウェイ２０の、リーク電流制御回路７２がウェイ２５のそれぞれを構成するＭＯＳトランジスタの閾値電圧を制御する。すなわち、将来参照されると推定されるウェイにおいては、ＭＯＳトランジスタの閾値電圧を高速動作可能な第１の所定電位とし、その他のウェイにおいてはＭＯＳトランジスタの閾値電圧をリーク電流を抑制可能な第２の所定電位とする。また、ＬＲＵビットレジスタ５２は小容量のメモリである。したがって、キャッシュメモリ１は、大容量の新たなテーブルが必要なく、動作の高速性の維持と、リーク電流による電力消費の削減が可能となる。【選択図】  図１
2004185576.tif 000002
【特許請求の範囲】
【請求項１】
複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、
当該キャッシュメモリにおけるメモリ領域への参照履歴を保持する参照履歴保持手段と、
前記参照履歴保持手段に保持された前記参照履歴に基づいて、過去所定回数の間にアクセスされたメモリ領域を構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、前記過去所定回数の間にアクセスされたメモリ領域を除く他のメモリ領域を構成するＭＯＳトランジスタの閾値電圧を前記第１の電圧より高い第２の所定電圧とするリーク電流制御回路と
を備えることを特徴とするキャッシュメモリ。
【請求項２】
前記参照履歴保持手段は、前記複数のウェイへの過去所定回数の参照履歴を保持し、
前記リーク電流制御回路は、前記参照履歴保持手段に保持された前記参照履歴に基づいて、前記過去所定回数の間にアクセスされた前記ウェイを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、前記過去所定回数の間にアクセスされた前記ウェイを除く他のウェイを構成するＭＯＳトランジスタの閾値電圧を前記第１の電圧より高い第２の所定電圧とする
ことを特徴とする請求項１に記載のキャッシュメモリ。
【請求項３】
前記参照履歴保持手段は、前記複数のウェイによって構成される複数のセットそれぞれにおける過去所定回数の参照履歴を保持し、
前記リーク電流制御回路は、前記参照履歴保持手段に保持された前記参照履歴に基づいて、前記過去所定回数の間にアクセスされた前記複数のセットそれぞれのラインを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、前記過去所定回数の間にアクセスされた前記複数のセットそれぞれの前記ラインを除く他のラインを構成するＭＯＳトランジスタの閾値電圧を前記第１の電圧より高い第２の所定電圧とする
ことを特徴とする請求項１に記載のキャッシュメモリ。
【請求項４】
複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、
当該キャッシュメモリにおけるメモリ領域への参照履歴を保持する参照履歴保持手段と、
前記参照履歴保持手段に保持された前記参照履歴に基づいて、過去所定回数の間にアクセスされたメモリ領域を除く他のメモリ領域を構成するＣＭＯＳ回路への電源電圧の供給を断つリーク電流制御回路と
を備えることを特徴とするキャッシュメモリ。
【請求項５】
前記参照履歴保持手段は、前記複数のウェイへの過去所定回数の参照履歴を保持し、
前記リーク電流制御回路は、前記参照履歴保持手段に保持された前記参照履歴に基づいて、過去所定回数の間にアクセスされた前記ウェイを除く他のウェイを構成するＣＭＯＳ回路への電源電圧の供給を断つ
ことを特徴とする請求項４に記載のキャッシュメモリ。
【請求項６】
前記参照履歴保持手段は、前記複数のウェイによって構成される複数のセットそれぞれにおける過去所定回数の参照履歴を保持し、
前記リーク電流制御回路は、前記参照履歴保持手段に保持された前記参照履歴に基づいて、過去所定回数の間にアクセスされた前記複数のセットそれぞれのラインを除く他のラインを構成するＣＭＯＳ回路への電源電圧の供給を断つ
ことを特徴とする請求項４に記載のキャッシュメモリ。
【請求項７】
複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、
前記複数のウェイのうち一つの所定のウェイを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、前記所定のウェイを除く他のウェイを構成するＭＯＳトランジスタの閾値電圧を前記第１の所定電圧より高い第２の所定電圧とする
ことを特徴とするキャッシュメモリ。
【請求項８】
前記アクセス制御回路は、前記複数のウェイのうち最後にアクセスされたウェイに保持されているデータと、前記所定のウェイに保持されたデータとを入れ替えることを特徴とする請求項７に記載のキャッシュメモリ。
【請求項９】
複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、
前記複数のウェイのうち所定数のウェイを構成するＭＯＳトランジスタの閾値電圧を第１の電圧とし、前記所定数のウェイを除く他のウェイを構成するＭＯＳトランジスタの閾値電圧を前記第１の所定電圧より高い第２の所定電圧とする
ことを特徴とするキャッシュメモリ。
【請求項１０】
前記キャッシュメモリにおけるメモリ領域への参照履歴を保持する参照履歴保持手段を更に備え、
前記アクセス制御回路は、前記参照履歴保持手段に保持された前記参照履歴に基づいて、最後にアクセスされた前記ウェイに保持されたデータと、前記所定数のウェイのうち最も過去にアクセスされたウェイに保持されたデータとを入れ替える
ことを特徴とする請求項９に記載のキャッシュメモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャッシュメモリに関するものである。
【０００２】
【従来の技術】
キャッシュメモリは、主記憶とＣＰＵとの間に設けられた小容量のメモリであり、ＣＰＵから主記憶へのアクセス速度を高速化する目的で使用される。したがって、キャッシュメモリはＣＰＵの動作速度と同程度の高速性が要求される。キャッシュメモリに用いられる現在の主流である半導体回路は、ＣＭＯＳ回路であるが、一般に高速な半導体回路は消費電力が大きい。ここで、ＣＭＯＳ回路の消費電力は、充放電による電力消費、短絡電流による電力消費、そしてリーク電流による電力消費の３つに分類される。近年、ＣＭＯＳ回路に供給する電源電圧の低下に伴うＭＯＳトランジスタの閾値電圧の低下によって、ＣＭＯＳ回路のリーク電流による電力消費が急増し、この電力消費量を削減することが大きな課題となっている。ＣＭＯＳ回路のリーク電流は、ＭＯＳトランジスタの閾値電圧を高く保持することによって抑制できるが、閾値電圧を高く保持するとＣＭＯＳ回路の動作速度が低下してしまう。このようなリーク電流の抑制とキャッシュメモリの動作の高速性を維持するという相反する課題を解決する為、従来は、キャッシュメモリにおいて、近い将来に参照されると予測される領域に含まれるＭＯＳトランジスタの閾値電圧を低くし、残りの領域に含まれるＭＯＳトランジスタの閾値電圧を高く保持する方式が提案されている（例えば、非特許文献１または非特許文献２）。
【０００３】
【非特許文献１】
Ｔｏｈｒｕ  Ｉｓｈｉｈａｒａ，  Ｋｕｎｉｈｉｒｏ  Ａｓａｄａ，  Ａｓｉａ  Ｓｏｕｔｈ  Ｐａｃｉｆｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ  ２００２，ＩＥＥＥ，  ”Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｌｅｖｅｌ  Ｅｎｅｒｇｙ  Ｒｅｄｕｃｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  Ｆｏｒ  Ｄｅｅｐ−Ｓｕｂｍｉｃｒｏｎ  Ｃａｃｈｅ  Ｍｅｍｏｒｉｅｓ”，  ｐ２８２，２００２年１月７日
【０００４】
【非特許文献２】
Ｒｙｏ  Ｆｕｊｉｏｋａ  他，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００２  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｌｏｗ  ｐｏｗｅｒ  ｅｌｅｃｔｒｏｎｉｃｓ  ａｎｄ  ｄｅｓｉｇｎ  ２００２，  ”Ａ  Ｐｒｅａｃｔｉｖａｔｉｎｇ  Ｍｅｃｈａｎｉｓｍ  ｆｏｒ  ａ  ＶＴ−ＣＭＯＳ  Ｃａｃｈｅ  ｕｓｉｎｇ  Ａｄｄｒｅｓｓ  Ｐｒｅｄｉｃｔｉｏｎ”，  ｐ２４７−ｐ２５０，  ２００２年８月
【０００５】
【発明が解決しようとする課題】
しかしながら、上述したように閾値電圧を制御する従来の方式を採用するキャッシュメモリには以下のような問題点がある。すなわち、上述した従来の方式を採用するキャッシュメモリにおいては、近い将来に参照される領域を予測するために新たなテーブルを備える必要がある。このテーブルは回路的にはキャッシュメモリと同様のものであるためリーク電流によって電力が消費される。したがって、キャッシュメモリにおいてＭＯＳトランジスタの閾値電圧を制御することによって、リーク電流による電力消費を削減しても、結果として上記のテーブルにおける電力消費と相殺されてしまうという問題点がある。
【０００６】
本発明は上記問題点を解決するためになされたもので、新たなテーブルを必要とすることなく、動作の高速性の維持と、リーク電流による電力消費の削減を可能としたキャッシュメモリを提供することを課題とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、本発明のキャッシュメモリは、複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、当該キャッシュメモリにおけるメモリ領域への参照履歴を保持する参照履歴保持手段と、上記参照履歴保持手段に保持された上記参照履歴に基づいて、過去所定回数の間にアクセスされたメモリ領域を構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、上記過去所定回数の間にアクセスされたメモリ領域を除く他のメモリ領域を構成するＭＯＳトランジスタの閾値電圧を上記第１の電圧より高い第２の所定電圧とするリーク電流制御回路とを備えることを特徴としている。
【０００８】
この発明によれば、キャッシュメモリには、参照履歴を保持する参照履歴保持手段が備えられている。また、このキャッシュメモリにはリーク電流制御回路が備えられている。このリーク電流制御回路は、上記の参照履歴保持手段に保持された参照履歴に基づいて、過去所定回数の間にアクセスされた領域を構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、残りの領域を第１の電圧より高い第２の所定電圧とする。すなわち、参照履歴保持手段に保持された参照履歴に基づいて過去所定回数の間に参照された領域を近い将来参照される領域であると予測し、予測された領域を構成するＭＯＳトランジスタの閾値電圧をその動作の高速性を維持可能な第１の所定電圧とし、その他の領域を構成するＭＯＳトランジスタの閾値電圧をリーク電流の抑制を可能とする第１の所定電圧より高い第２の所定電圧とする。ここで、参照履歴保持手段としては、従来のキャッシュメモリにも搭載されるものであって、主記憶とのデータブロックの置き換えのために参照履歴を保持するメモリをそのまま用いることもでき、あるいは過去の参照履歴を保持する小容量のメモリを用いることもできる。したがって、新たなテーブルを追加することなく、その動作の高速性を維持しつつ、リーク電流による電力消費を削減可能なキャッシュメモリを提供できる。
【０００９】
また、本発明のキャッシュメモリにおいては、上上記参照履歴保持手段は、上記複数のウェイへの過去所定回数の参照履歴を保持し、上記リーク電流制御回路は、上記参照履歴保持手段に保持された上記参照履歴に基づいて、上記過去所定回数の間にアクセスされた上記ウェイを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、上記過去所定回数の間にアクセスされた上記ウェイを除く他のウェイを構成するＭＯＳトランジスタの閾値電圧を上記第１の電圧より高い第２の所定電圧とすることを特徴としても良い。
【００１０】
この発明によれば、上記の参照履歴保持手段には、キャッシュメモリを構成する複数のウェイへの過去所定回数の参照履歴が保持される。そしてリーク電流制御回路は、この参照履歴保持手段に保持された参照履歴に基づいて、過去所定回数の間にアクセスされたウェイ、すなわち近い将来参照されると予想されるウェイを構成するＭＯＳトランジスタの閾値電圧をその動作の高速性を維持可能な第１の所定電圧とし、その他のウェイを構成するＭＯＳトランジスタの閾値電圧をリーク電流の抑制を可能とする第１の所定電圧より高い第２の所定電圧とする。上記の参照履歴保持手段としては、過去所定回数のウェイ単位での参照履歴を保持する小容量のメモリをキャッシュメモリに追加すれば良い。したがって、新たなテーブルを追加することなく、その動作の高速性を維持しつつ、リーク電流による電力消費を削減可能なキャッシュメモリを提供できる。
【００１１】
また、本発明のキャッシュメモリにおいては、上記参照履歴保持手段は、上記複数のウェイによって構成される複数のセットそれぞれにおける過去所定回数の参照履歴を保持し、上記リーク電流制御回路は、上記参照履歴保持手段に保持された上記参照履歴に基づいて、上記過去所定回数の間にアクセスされた上記複数のセットそれぞれのラインを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、上記過去所定回数の間にアクセスされた上記複数のセットそれぞれの上記ラインを除く他のラインを構成するＭＯＳトランジスタの閾値電圧を上記第１の電圧より高い第２の所定電圧とすることを特徴としても良い。
【００１２】
この発明によれば、上記の参照履歴保持手段には、上述した複数のウェイによって構成される複数のセットそれぞれにおける参照履歴が保持される。そして、リーク電流制御回路は、この参照履歴保持手段に保持された参照履歴に基づいて、上記の複数のセットそれぞれにおいて過去所定回数の間にアクセスされたライン、すなわち近い将来参照されると予想されるラインを構成するＭＯＳトランジスタの閾値電圧をその動作の高速性を維持可能な第１の所定電圧とし、その他のラインを構成するＭＯＳトランジスタの閾値電圧をリーク電流の抑制を可能とする第１の所定電圧より高い第２の所定電圧とする。上記の参照履歴保持手段には、従来のキャッシュメモリにも搭載されるものであって、主記憶とのデータブロックの置き換えのために参照履歴を保持するメモリをそのまま用いることができる。したがって、キャッシュメモリに新たなテーブルを追加することなく、高速性を維持しつつ、リーク電流による電力消費を削減可能なキャッシュメモリを提供できる。
【００１３】
また、上記課題を解決するため、本発明のキャッシュメモリは、複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、当該キャッシュメモリにおけるメモリ領域への参照履歴を保持する参照履歴保持手段と、上記参照履歴保持手段に保持された上記参照履歴に基づいて、過去所定回数の間にアクセスされたメモリ領域を除く他のメモリ領域を構成するＣＭＯＳ回路への電源電圧の供給を断つリーク電流制御回路とを備えることを特徴としている。
【００１４】
この発明によれば、キャッシュメモリには、参照履歴を保持する参照履歴保持手段が備えられている。また、このキャッシュメモリには、リーク電流制御回路が備えられている。このリーク電流制御回路は、上記の参照履歴保持手段に保持された参照履歴に基づいて、過去所定回数の間にアクセスされた領域を除く他の領域を構成するＣＭＯＳ回路への電源電圧の供給を断つ。すなわち、参照履歴保持手段に保持された参照履歴に基づいて過去所定回数の間に参照された領域を近い将来参照される領域であると予測し、近い将来に参照される可能性の少ない領域を構成するＣＭＯＳ回路への電源電圧の供給を断つことによって、リーク電流を抑制する。ここで、参照履歴保持手段としては、従来のキャッシュメモリにも搭載されるものであって、主記憶とのデータブロックの置き換えのために参照履歴を保持するメモリをそのまま用いることもでき、あるいは過去の参照履歴を保持する小容量のメモリを用いることもできる。したがって、新たなテーブルを追加することなく、その動作の高速性を維持しつつ、リーク電流による電力消費を削減可能なキャッシュメモリを提供できる。
【００１５】
また、本発明のキャッシュメモリにおいては、上記参照履歴保持手段は、上記複数のウェイへの過去所定回数の参照履歴を保持し、上記リーク電流制御回路は、上記参照履歴保持手段に保持された上記参照履歴に基づいて、過去所定回数の間にアクセスされた上記ウェイを除く他のウェイを構成するＣＭＯＳ回路への電源電圧の供給を断つことを特徴としても良い。
【００１６】
この発明によれば、上記の参照履歴保持手段には、キャッシュメモリを構成する複数のウェイへの過去所定回数の参照履歴が保持される。そしてリーク電流制御回路は、この参照履歴保持手段に保持された参照履歴に基づいて、過去所定回数の間にアクセスされたウェイ、すなわち近い将来参照されると予想されるウェイを除く他のウェイを構成するＣＭＯＳ回路への電源電圧の供給を断つことによって、リーク電流を抑制する。上記の参照履歴保持手段としては、過去所定回数のウェイ単位での参照履歴を保持する小容量のメモリをキャッシュメモリに追加すれば良い。したがって、新たなテーブルを追加することなく、その動作の高速性を維持しつつ、リーク電流による電力消費を削減可能なキャッシュメモリを提供できる。
【００１７】
また、本発明のキャッシュメモリにおいては、上記参照履歴保持手段は、上記複数のウェイによって構成される複数のセットそれぞれにおける過去所定回数の参照履歴を保持し、上記リーク電流制御回路は、上記参照履歴保持手段に保持された上記参照履歴に基づいて、過去所定回数の間にアクセスされた上記複数のセットそれぞれのラインを除く他のラインを構成するＣＭＯＳ回路への電源電圧の供給を断つことを特徴としても良い。
【００１８】
この発明によれば、上記の参照履歴保持手段には、上述した複数のウェイによって構成される複数のセットそれぞれにおける参照履歴が保持される。そして、リーク電流制御回路は、この参照履歴保持手段に保持された参照履歴に基づいて、上記の複数のセットそれぞれにおいて過去所定回数の間にアクセスされたライン、すなわち近い将来参照されると予想されるラインを除くその他のラインを構成するＣＭＯＳ回路への電源電圧の供給を断つことによって、リーク電流を抑制する。上記の参照履歴保持手段には、従来のキャッシュメモリにも搭載されるものであって、主記憶とのデータブロックの置き換えのために参照履歴を保持するメモリをそのまま用いることができる。したがって、キャッシュメモリに新たなテーブルを追加することなく、高速性を維持しつつ、リーク電流による電力消費を削減可能なキャッシュメモリを提供できる。
【００１９】
また、上記課題を解決するため、本発明のキャッシュメモリは、複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、上記複数のウェイのうち一つの所定のウェイを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とし、上記所定のウェイを除く他のウェイを構成するＭＯＳトランジスタの閾値電圧を上記第１の所定電圧より高い第２の所定電圧とすることを特徴としている。
【００２０】
この発明によれば、複数のウェイのうち一つの所定のウェイの閾値電圧が、他のウェイに設定された閾値電圧の第２の所定電圧より低い第１の所定電圧とされている。第１の所定電圧はＭＯＳトランジスタの動作の高速性を維持可能とするよう予め低く設定されており、第２の所定電圧はＭＯＳトランジスタのリーク電流を抑制可能とするよう予め高く設定されているので、閾値電圧を制御するためのリーク電流防止回路を備えなくても、この所定のウェイに保持されたデータへのアクセス動作の高速性が維持されると共に、他のウェイにおいてはリーク電流が抑制される。
【００２１】
また、本発明のキャッシュメモリにおいては、上記アクセス制御回路は、上記複数のウェイのうち最後にアクセスされたウェイに保持されているデータと、上記所定のウェイに保持されたデータとを入れ替えることを特徴とすることが好適である。
【００２２】
この発明によれば、アクセス制御回路は、最後にアクセスされたウェイ保持されたデータと上記の所定のウェイに保持されたデータと入れ替える。すなわち、近い将来参照される可能性の高いデータは予め閾値電圧が低く設定された高速動作可能なウェイに置かれるので、キャッシュメモリの動作の高速性が更に高められる。これと共に、他のウェイの閾値電圧は予め高くされているので、閾値電圧を制御するためのリーク電流防止回路を備えなくとも、リーク電流による電力消費も抑制可能である。
【００２３】
また、上記課題を解決するため、本発明のキャッシュメモリは、複数のウェイと、当該複数のウェイへのアクセス動作を制御するアクセス制御回路とを備えるキャッシュメモリにおいて、上記複数のウェイのうち所定数のウェイを構成するＭＯＳトランジスタの閾値電圧を第１の電圧とし、上記所定数のウェイを除く他のウェイを構成するＭＯＳトランジスタの閾値電圧を上記第１の所定電圧より高い第２の所定電圧とすることを特徴としている。
【００２４】
この発明によれば、複数のウェイのうち所定数のウェイの閾値電圧が、他のウェイに設定された閾値電圧の第２の所定電圧より低い第１の所定電圧とされている。第１の所定電圧はＭＯＳトランジスタの動作の高速性を維持可能とするよう予め低く設定されており、第２の所定電圧はＭＯＳトランジスタのリーク電流を抑制可能とするよう予め高く設定されているので、閾値電圧を制御するためのリーク電流防止回路を備えなくても、この所定数のウェイに保持されたデータへのアクセス動作の高速性が維持されると共に、他のウェイにおいてはリーク電流が抑制される。
【００２５】
また、本発明のキャッシュメモリにおいては、上記キャッシュメモリにおけるメモリ領域への参照履歴を保持する参照履歴保持手段を更に備え、上記アクセス制御回路は、上記参照履歴保持手段に保持された上記参照履歴に基づいて、最後にアクセスされた上記ウェイに保持されたデータと、上記所定数のウェイのうち最も過去にアクセスされたウェイに保持されたデータとを入れ替えることを特徴とすることが好適である。
【００２６】
この発明によれば、アクセス制御回路は、参照履歴保持手段に保持された参照履歴に基づいて、最後にアクセスされたウェイに保持されたデータと上記の所定数のウェイのうち最も過去にアクセスされたウェイに保持されたデータとを入れ替える。すなわち、近い将来参照される可能性の高いデータは予め閾値電圧が低く設定された高速動作可能なウェイに置かれ、近い将来参照される可能性の低いデータは予め閾値電圧が高く設定されたリーク電流を抑制可能なウェイに置かれるので、閾値電圧を制御するためのリーク電流防止回路を備えなくても、キャッシュメモリの動作の高速性を損なうことなくリーク電流による電力消費を抑制することができる。しかも、参照履歴保持手段は、従来のキャッシュメモリにも搭載されるものであって、主記憶とのデータブロックの置き換えのために参照履歴を保持するメモリをそのまま用いることもでき、あるいは過去の参照履歴を保持する小容量のメモリを用いることもできる。したがって、このキャッシュメモリは新たなテーブルを必要とすることもない。
【００２７】
【発明の実施の形態】
本発明の実施形態にかかるキャッシュメモリについて説明する。なお、以下の実施形態に関する説明においては、説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を附し、重複する説明は省略する。
【００２８】
（第１実施形態）
まず、本発明の第１実施形態にかかるキャッシュメモリについて、添付の図面を参照して説明する。図１は、第１実施形態にかかるキャッシュメモリ１の構成を示すブロック図である。キャッシュメモリ１は、コントローラ１０（アクセス制御回路）と、ウェイ２０及び２５と、比較器４１及び４２と、ＬＲＵビット表５０と、ＬＲＵビットレジスタ（参照履歴保持手段）５２と、セレクタ６０と、マルチプレクサ６２と、リーク電流制御回路７１及び７２とを備えて構成される。このキャッシュメモリ１は、説明を簡単にするため２ウェイのキャッシュメモリとしているが、これに代えて、例えば４ウェイトいったキャッシュメモリとすることもできる。
【００２９】
ウェイ２０は、複数のタグ２１と、複数のタグ２１にそれぞれ対応付けられた複数のライン２２を備える。また、ウェイ２５は、複数のタグ２６と、複数のタグ２６にそれぞれ対応付けられた複数のライン２７を備える。ウェイ２０及び２５に備えられる複数のラインはそれぞれ、ＣＭＯＳ回路を用いたメモリ素子によって構成される。ここで、ラインとは、主記憶からコピーされたデータブロックが格納される領域であり、例えば１６バイトのデータブロックが格納される。また、タグとは、各ラインが主記憶のどの部分が格納されているかを示すタグアドレスが格納される領域である。また、各ウェイにおける同一のインデックスを有するタグとラインの集合はセットと呼ばれる。
【００３０】
ここで、ＣＰＵからキャッシュメモリにアクセスがあった場合の動作を簡単に説明する。キャッシュメモリ１にＣＰＵから参照アドレス９０を指定してアクセスがあると、参照アドレスの下位ビット９２によって特定されるインデックスを有するセットが選ばれる。そして、選ばれたセットのタグアドレスは、ウェイ２０に含まれるものが比較器４１に、ウェイ２５に含まれるものが比較器４２にそれぞれ出力される。出力されたタグアドレスは比較器４１及び４２によって、参照アドレスの上位ビット９１によって特定されるタグアドレスと比較される。比較器４１または４２によって、タグアドレスの一致が検出されると、そのタグアドレスと対応付けられたラインが選択される。そして、参照アドレスのオフセット部９３によって特定されるオフセット値によって、上記のように選択されたラインから、必要なデータが取り出されてＣＰＵに出力される。
【００３１】
比較器４１及び４２は、上述したように、ウェイ２０及び２１によって構成される複数のセットのうち、参照アドレス９０の下位ビット９２と同じインデックスをもつセットからタグアドレスが出力され、これらのタグアドレスと、参照アドレス９０の上位ビット９１によって特定されるタグアドレスとの比較結果をコントローラ１０に出力する。
【００３２】
ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）ビット表５０は、各セットに含まれる複数のラインへの参照履歴を保持する。すなわち、ＬＲＵビット表５０は、各セットに対応付けられる複数のビットセットを備え、各セット毎にそのセットに含まれる複数のラインのうち、どのラインが過去所定回数の間にアクセスされたかを示す参照履歴を上記のビットセットに含まれるビットのＯＮ・ＯＦＦの組み合わせによって保持する。ＬＲＵビット表５０は、例えば、主記憶から読み込まれるデータブロックをキャッシュメモリへ書き込む場合に利用される。すなわち、主記憶から読み込まれたデータブロックを、キャッシュメモリ１に格納する場合に、そのデータブロックのアドレスと同一のインデックスを有するセットにおいて、ＬＲＵビット表５０に保持された参照履歴によって特定される最も古く参照されたラインに、そのデータブロックが格納される。
【００３３】
ＬＲＵビットレジスタ５２は、キャッシュメモリ１への参照履歴をウェイ単位で保持する。すなわち、ＬＲＵビットレジスタ５２はビットセットからなり、複数のウェイのうち、どのウェイが過去所定回数の間に参照されたかを示す参照履歴を、上記のビットセットに含まれるビットのＯＮ・ＯＦＦの組み合わせによって保持する。本実施形態のＬＲＵビットレジスタ５２は、ウェイ２０及び２５のうち最近参照されたウェイを示す参照履歴を、上記のビットセットのＯＮ・ＯＦＦの組み合わせによって保持する。
【００３４】
セレクタ６０は、比較器４１及び４２によって出力される比較結果によって、参照アドレス９０の上位ビット９１によって特定されるタグアドレスに一致すると判断されたタグアドレスに対応付けられたラインからデータブロックを取得して、マルチプレクサ６２に出力する。
【００３５】
マルチプレクサ６２は、セレクタ６０によって出力されたデータブロックのうち、参照アドレス９０に含まれるオフセット部９３に格納されたオフセット値によって特定されるデータを出力する。
【００３６】
コントローラ１０は、ＣＰＵ（中央処理装置）から、キャッシュメモリ１へのアクセスを制御する。より具体的には、コントローラ１０は、ＣＰＵから参照アドレス９０を指定してキャッシュメモリ１へアクセスがあった場合に、その参照アドレス９０によって特定されるラインに格納されたデータブロックの選択をセレクタ６０に指示する。また、ウェイ２０及び２５に、ＣＰＵからアクセスを要求されたデータがない場合には、ＬＲＵビット表５０に格納された参照履歴を参照して、主記憶から読み込まれるデータブロックを格納すべきセットにおいて最も古くアクセスされたラインに、そのデータブロックを格納する。
【００３７】
リーク電流制御回路７１は、ウェイ２０のリーク電流を、リーク電流制御回路７２は、ウェイ２５のリーク電流を、それぞれ制御する。より具体的には、ＬＲＵビットレジスタ５２に保持された参照履歴を参照することによって、リーク電流制御回路７１はウェイ２０を構成するＭＯＳトランジスタの閾値電圧を、リーク電流制御回路７２はウェイ２５を構成するＭＯＳトランジスタの閾値電圧をウェイ単位で制御する。すなわち、上記の参照履歴から最近参照されたウェイを特定して、そのウェイを構成するＭＯＳトランジスタの閾値電圧を、その動作の高速性を維持可能な第１の所定電圧とする。一方、上記の最近参照されたウェイを除くその他のウェイを構成するＭＯＳトランジスタの閾値電圧を、リーク電流を抑制可能な第２の所定電圧とする。この第２の所定電圧は、第１の所定電圧よりその絶対値が大きい。なお、閾値電圧は、ＭＯＳトランジスタのソースと基板間に印加する逆バイアスによって、その絶対値を制御できる。
【００３８】
以下、本実施形態にかかるキャッシュメモリ１の動作について説明する。リーク電流制御回路７１及び７２が、それぞれＬＲＵビットレジスタ５２に格納されたウェイ単位の参照履歴を取得する。ウェイ２０が最近参照されたウェイである場合には、リーク電流制御回路７１が、ウェイ２０を構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とする。一方、ウェイ２０が最近参照されたウェイでない場合には、リーク電流制御回路７１が、ウェイ２０を構成するＭＯＳトランジスタの閾値電圧を第２の所定電圧とする。また、ウェイ２５が最近参照されたウェイである場合には、リーク電流制御回路７２が、ウェイ２５を構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とする。一方、ウェイ２５が最近参照されたウェイでない場合には、リーク電流制御回路７２が、ウェイ２５を構成するＭＯＳトランジスタの閾値電圧を第２の所定電圧とする。このようにＬＲＵビットレジスタ５２に格納された参照履歴から最近参照されたウェイを特定し、このウェイを将来参照される可能性の高いウェイとして推定する。そして、このように推定されたウェイを構成するＭＯＳトランジスタの閾値電圧をその動作の高速性を維持可能な第１の所定電圧とし、その他の将来参照される可能性の低いウェイを構成するＭＯＳトランジスタの閾値電圧をリーク電流を抑制可能な第１の所定電圧より高い第２の所定電圧とする。その結果、キャッシュメモリの動作の高速性を維持しつつ、その電力消費を削減できる。更に、このような閾値電圧の制御に用いるための参照履歴は、ウェイ単位でのアクセス履歴を管理する小容量のＬＲＵビットレジスタ５２であるので、将来参照されるウェイを予測する為に新たなテーブルを設ける必要がない。
【００３９】
なお、本発明は上記した本実施形態に限定されることなく種々の変形が可能である。例えば、キャッシュメモリ１は、ウェイを２個備えていたが、ウェイが２個以上複数ある場合には、参照履歴に基づいて閾値電圧を制御するウェイは、ＬＲＵビットレジスタ５２に格納された参照履歴から特定される過去所定回数の間にアクセスされた複数のウェイとすることができる。
【００４０】
また、キャッシュメモリ１においては、ウェイを構成するＭＯＳトランジスタの閾値電圧を制御することによって、リーク電流の抑制を図っているが、これに代えて、ＬＲＵビットレジスタ５２に格納されている参照履歴から過去所定回数の間に参照されていないウェイを特定し、特定したウェイを構成するＣＭＯＳ回路への電源電圧の供給を断つことによっても、リーク電流は防止できる。
【００４１】
（第２実施形態）
次に、本発明の第２実施形態にかかるキャッシュメモリ２について、添付の図面を参照して説明する。図２は、第２実施形態にかかるキャッシュメモリ２の構成を示すブロック図である。キャッシュメモリ２は、コントローラ１０（アクセス制御回路）と、ウェイ２０及び２５と、比較器４１及び４２と、ＬＲＵビット表（参照履歴保持手段）５０と、セレクタ６０と、マルチプレクサ６２と、複数のリーク電流制御回路７５及び複数のリーク電流制御回路７２とを備えて構成される。このキャッシュメモリ２は、説明を簡単にするため２ウェイのキャッシュメモリとしているが、これに代えて、例えば４ウェイトいったキャッシュメモリとすることもできる。なお、キャッシュメモリ２に備えられるコントローラ１０、ウェイ２０及び２５と、比較器４１及び４２と、ＬＲＵビット表５０と、セレクタ６０と、マルチプレクサ６２とは、第１実施形態のキャッシュメモリ１に備えられるコントローラ１０、ウェイ２０及び２５と、比較器４１及び４２と、ＬＲＵビット表５０と、セレクタ６０と、マルチプレクサ６２と同様の構成を有するので、これらの説明は省略する。
【００４２】
リーク電流制御回路７５は、ウェイ２０を構成する複数のライン２２それぞれに対応して複数設けられている。同様に、リーク電流制御回路７６も、ウェイ２５を構成する複数のライン２７それぞれに対応して複数設けられている。リーク電流制御回路７５及び７６は、ＬＲＵビット表５０に格納された各セット毎の参照履歴を参照して、各セットに含まれるラインの閾値電圧を制御する。すなわち、各セットにおいて、ウェイ２０に含まれるラインが最近参照されたものである場合は、リーク電流制御回路７５がそのラインを構成するＭＯＳトランジスタの閾値電圧を、その動作の高速性を維持可能な第１の所定電圧に設定する。一方、ウェイ２５に含まれるラインが最近参照されたものである場合は、リーク電流制御回路７６が、そのラインを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧に設定する。また、ウェイ２０に含まれるラインが最近参照されたものでない場合は、リーク電流制御回路７５がそのラインを構成するＭＯＳトランジスタの閾値電圧を、リーク電流を抑制可能な第１の所定電圧より高い第２の所定電圧に設定する。また、ウェイ２５に含まれるラインが最近参照されたものでない場合は、リーク電流制御回路７６が、そのラインを構成するＭＯＳトランジスタの閾値電圧を第２の所定電圧に設定する。なお、閾値電圧は、ＭＯＳトランジスタのソースと基板間に印加する逆バイアスによって、その絶対値を制御できる。
【００４３】
以下、本実施形態にかかるキャッシュメモリ２の動作について説明する。リーク電流制御回路７５及び７６が、それぞれＬＲＵビット表５０に格納された各セットごとの参照履歴を取得する。このＬＲＵビット表５０には、各セット毎にそのセットに含まれる複数のラインのうち過去所定回数の間にどのラインがアクセスされたかを示す参照履歴が格納されている。したがって、リーク電流制御回路７５及び７６は、最近参照されたラインを特定することができる。そして、各セットごとに、ウェイ２０に含まれるラインが最近参照されたラインである場合には、リーク電流制御回路７５が、そのラインを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とする。一方、ウェイ２０に含まれるラインが最近参照されたラインでない場合には、リーク電流制御回路７５が、そのラインを構成するＭＯＳトランジスタの閾値電圧を第２の所定電圧とする。また、各セットごとに、ウェイ２５に含まれるラインが最近参照されたラインである場合には、リーク電流制御回路７６が、そのラインを構成するＭＯＳトランジスタの閾値電圧を第１の所定電圧とする。一方、ウェイ２５に含まれるラインが最近参照されたラインでない場合には、リーク電流制御回路７６が、そのラインを構成するＭＯＳトランジスタの閾値電圧を第２の所定電圧とする。このようにＬＲＵビット表５０に格納された参照履歴に基づいて、最近参照されたラインを各セット毎に特定し、特定されたラインを将来参照される可能性の高いラインとして推定する。そして、推定されたラインを構成するＭＯＳトランジスタの閾値電圧をその動作の高速性を維持可能な第１の所定電圧とし、将来参照される可能性の低いその他のウェイを構成するＭＯＳトランジスタの閾値電圧を、リーク電流を抑制可能な第１の所定電圧より高い第２の所定電圧とする。その結果、キャッシュメモリの動作の高速性を維持しつつ、その電力消費を削減できる。更に、このような閾値電圧の制御に用いるための参照履歴は、一般的なキャッシュメモリには備えられているＬＲＵビット表５０であるので、新たなテーブルを設ける必要がない。
【００４４】
なお、本発明は上記した本実施形態に限定されることなく種々の変形が可能である。例えば、キャッシュメモリ２は、ウェイを２個備えていたが、ウェイが２個以上複数ある場合には、各セットごとにＬＲＵビット表５０に格納された参照履歴に基づいて閾値電圧を制御するラインは、過去所定回数の間にアクセスされた複数のラインとすることができる。
【００４５】
また、キャッシュメモリ２においては、各ラインを構成するＭＯＳトランジスタの閾値電圧を制御することによって、リーク電流の抑制を図っているが、これに代えて、ＬＲＵビット表５０に格納されている参照履歴から過去所定回数の間に参照されていないラインを特定し、特定したラインを構成するＣＭＯＳ回路への電源電圧の供給を断つことによっても、リーク電流は防止できる。
【００４６】
（第３実施形態）
次に、本発明の第３実施形態にかかるキャッシュメモリについて、添付の図面を参照して説明する。図３は、第３実施形態にかかるキャッシュメモリ３の構成を示すブロック図である。キャッシュメモリ３は、コントローラ１０（アクセス制御回路）と、ウェイ２０及び２５と、比較器４１及び４２と、ＬＲＵビット表５０と、ＬＲＵビットレジスタ（参照履歴保持手段）５２と、セレクタ６０と、マルチプレクサ６２とを備えて構成される。なお、比較器４１及び４２、ＬＲＵビット表５０、ＬＲＵビットレジスタ５２、セレクタ６０、マルチプレクサ６２はそれぞれ、第１実施形態と同様の構成を有するので説明を省略する。
【００４７】
ウェイ２０は、第１実施形態のキャッシュメモリ１のウェイ２０と同様に、複数のタグ２１と、複数のタグ２１にそれぞれ対応付けられた複数のライン２２を備える。また、ウェイ２５は、第１実施形態のキャッシュメモリ１のウェイ２５と同様に、複数のタグ２６と、複数のタグ２６にそれぞれ対応付けられた複数のライン２７を備える。ウェイ２０及び２５に備えられる複数のラインはそれぞれ、ＣＭＯＳ回路を用いたメモリ素子によって構成される。
【００４８】
ウェイ２０は、これを構成するＭＯＳトランジスタの閾値電圧を、その動作の高速性を維持可能な第１の所定電圧に設定されている。また、ウェイ２５は、これを構成するＭＯＳトランジスタの閾値電圧を、リーク電流を抑制可能な第２の所定電圧とされている。この第２の所定電圧は、第１の所定電圧よりその絶対値が大きい。なお、閾値電圧は、ＭＯＳトランジスタのソースと基板間に印加する逆バイアスによって、その絶対値を制御できるものであり、キャッシュメモリ３の出荷時に予め設定しておくことができる。
【００４９】
コントローラ１０は、第１実施形態のキャッシュメモリ１０と同様に、ＣＰＵ（中央処理装置）からのキャッシュメモリ１へのアクセスを制御する。これに加えて、コントローラ１０は、ＣＰＵからアクセスを要求されたデータがウェイ２５に存在する場合に、ウェイ２０に保持されているラインのデータとウェイ２５に保持されているラインのデータを入れ替える。また、コントローラ１０は、ＣＰＵからアクセスを要求されたデータがウェイ２０及びウェイ２５にない場合には、主記憶からそのデータを読み込むと共に、ウェイ２０に格納する。このとき、ウェイ２０がＬＲＵビット表５０に格納された参照履歴を参照して、主記憶から読み込まれるデータブロックを格納すべきセットにおいて最も過去にアクセスされたラインでない場合には、コントローラ１０はウェイ２０に保持されているラインのデータとウェイ２５に保持されているラインのデータとを入れ替える。
【００５０】
次に、本実施形態にかかるキャッシュメモリ３の動作について説明する。ＣＰＵからアクセスを要求されたデータがウェイ２５にある場合、そのデータを含むウェイ２５のラインのデータは、コントローラ１０によってウェイ２０のラインのデータと入れ替えられる。また、ＣＰＵからアクセスを要求されたデータがウェイ２０及びウェイ２５にない場合には、コントローラ１０によってそのデータが主記憶から読み込まれると共にウェイ２０に格納される。このとき、ウェイ２０がＬＲＵビット表５０に格納された参照履歴を参照して、主記憶から読み込まれるデータブロックを格納すべきセットにおいて最も過去にアクセスされたラインでない場合には、コントローラ１０によってウェイ２０に保持されているラインのデータがウェイ２５に保持されているラインのデータに入れ替えられる。このように、将来参照される可能性の高いラインのデータは、動作の高速性を維持可能な第１の所定電圧に予め設定されたウェイ２０に入れ替えられる。一方、参照された時点が古いため将来参照される可能性の低いラインのデータは、閾値電圧がリーク電流を抑制可能な第２の所定電圧とされたウェイ２５に入れ替えられるので、キャッシュメモリ３の動作の高速性を損なうことなく、リーク電流を抑制することができる。したがって、このキャッシュメモリ３は消費電力が抑制されている。また、キャッシュメモリ３は、リーク電流抑制回路を備えなくても、その動作の高速性を損なうことなく、リーク電流を抑制することができる。したがって、キャッシュメモリ３は、リーク電流制御回路の動作に必要な電力も削減することができる。
【００５１】
なお、本発明は上記した本実施形態に限定されることなく種々の変形が可能である。例えば、上記のキャッシュメモリ３においては、説明を簡単にするため２ウェイのキャッシュメモリとしているが、これに代えて、例えば４ウェイトいったように複数のウェイによって構成されたキャッシュメモリとすることもできる。この場合には、複数のウェイのうち所定数のウェイの閾値電圧を第１の所定電圧とし、この所定数のウェイを除いた他のウェイの閾値電圧を第１の所定電圧より高い第２の所定電圧とする。かかる構成のキャッシュメモリでは、ＬＲＵビット表５０に格納された参照履歴を参照することによって、最後にアクセスされたため将来参照される可能性の高いデータブロックを含むラインのデータを、上記の所定数のウェイにおけるラインのうち最も過去にアクセスされたラインのデータと入れ替えることができる。
【００５２】
【発明の効果】
本発明によれば、リーク電流制御回路が、参照履歴保持手段に保持された参照履歴に基づいて、過去所定回数の間にアクセスされたキャッシュメモリの領域を構成するＭＯＳトランジスタの閾値電圧をその動作の高速性を維持可能な第１の所定電圧とし、残りの領域を高いリーク電流を抑制可能な第１の所定電圧より高い第２の所定電圧とする。また、上記の参照履歴保持手段は、一般のキャッシュメモリに備えられるものと同様の構成または小容量のメモリを用いることができる。したがって、キャッシュメモリに新たなテーブルを追加することなく、その動作の高速性を維持でき、また、リーク電流による電力消費を削減可能なキャッシュメモリを提供できる。
【００５３】
また、本発明によれば、キャッシュメモリの複数のウェイのうち所定数のウェイを構成するＭＯＳトランジスタの閾値電圧をその動作の高速性を維持可能な第１の所定電圧に予め設定し、他のウェイの閾値電圧をリーク電流を抑制可能な第２の所定電圧に予め設定することによって、リーク電流制御回路を備えなくても、その動作の高速性が維持されると共に、リーク電流による電力消費も抑制されたキャッシュメモリを提供することができる。
【図面の簡単な説明】
【図１】図１は、第１実施形態にかかるキャッシュメモリの構成を示す図である。
【図２】図２は、第２実施形態にかかるキャッシュメモリの構成を示す図である。
【図３】図３は、第３実施形態にかかるキャッシュメモリの構成を示す図である。
【符号の説明】
１，２，３…キャッシュメモリ、１０…コントローラ、２０，２５…ウェイ、２１，２６…タグ、２２，２７…ライン、４１，４２…比較器、５０…ＬＲＵビット表、５２…ＬＲＵビットレジスタ、６０…セレクタ、６２…マルチプレクサ、７１，７２，７５，７６…リーク電流制御回路
【図１】
2004185576.tif 000003
【図２】
2004185576.tif 000004
【図３】
2004185576.tif 000005