(57)【特許請求の範囲】
【請求項１】
プロセッサが利用する第１記憶装置、および前記プロセッサが利用する前記第１記憶装置とは異なる種類の第２記憶装置を含む高速記憶手段と、
前記第１記憶装置および前記第２記憶装置を制御する制御手段と、
前記第１記憶装置および前記第２記憶装置にそれぞれ独立して電源電圧を供給する電源供給手段と、を備え、
前記第１記憶装置は、前記第２記憶装置が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記制御手段は、前記高速記憶手段の前記第１記憶装置だけを動作させる第１モードと、前記高速記憶手段の前記第１記憶装置および前記第２記憶装置を動作可能な第２モードとを切り替え可能に制御し、
前記電源供給手段は、前記第１モード時は、前記高速記憶手段の前記第１記憶装置に、前記高速記憶手段の前記第２記憶装置を動作可能な下限電圧よりも低い電圧を供給するとともに、前記高速記憶手段の前記第２記憶装置への電源供給を行わないように制御し、
前記制御手段は、前記第１モード時には、前記プロセッサからのメモリアクセス要求に応じて、前記高速記憶手段の前記第１記憶装置にアクセスし、前記第２モード時には、前記プロセッサからのメモリアクセス要求に応じて、前記高速記憶手段の前記第１記憶装置および前記第２記憶装置にアクセスする半導体集積回路装置。
【請求項２】
請求項１に記載の半導体集積回路装置において、
前記プロセッサは、アプリケーションを実行するプロセッサであり、
前記プロセッサが前記アプリケーションを実行した時の前記高速記憶手段による性能劣化の影響に応じて、前記制御手段は、前記第１モードと前記第２モードを切り替える半導体集積回路装置。
【請求項３】
請求項２に記載の半導体集積回路装置において、
前記プロセッサが、前記高速記憶手段による性能劣化の影響が比較的大きいアプリケーションを実行する時、前記制御手段は、前記第２モードに切り替える半導体集積回路装置。
【請求項４】
請求項２または３に記載の半導体集積回路装置において、
前記プロセッサが、前記高速記憶手段による性能劣化の影響が比較的小さいアプリケーションを実行する時、前記制御手段は、前記第１モードに切り替える半導体集積回路装置。
【請求項５】
請求項１乃至４いずれかに記載の半導体集積回路装置において、
前記高速記憶手段の前記第１記憶装置は、
フリップフロップを含むロジックで構成された回路、またはＭＲＡＭを含む磁気を用いた不揮発メモリから構成される半導体集積回路装置。
【請求項６】
プロセッサが利用する第１記憶装置、および前記プロセッサが利用する前記第１記憶装置とは異なる種類の第２記憶装置を含むキャッシュを備える半導体集積回路装置を制御する制御部が、
前記キャッシュの前記第１記憶装置だけを動作させる第１モードと、前記キャッシュの前記第１記憶装置および前記第２記憶装置を動作可能な第２モードとを切り替え可能に制御し、
前記キャッシュの前記第１記憶装置は、前記キャッシュの前記第２記憶装置が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記キャッシュの前記第１記憶装置および前記キャッシュの前記第２記憶装置にそれぞれ独立して電源電圧を供給する電源供給部が、前記第１モード時は、前記キャッシュの前記第１記憶装置に、前記キャッシュの前記第２記憶装置を動作可能な下限電圧よりも低い電圧を供給するとともに、前記キャッシュの前記第２記憶装置への電源供給が行わないように制御し、
前記制御部が、前記第１モード時には、前記プロセッサからのメモリアクセス要求に応じて、前記キャッシュの前記第１記憶装置にアクセスし、前記第２モード時には、前記プロセッサからのメモリアクセス要求に応じて、前記キャッシュの前記第１記憶装置および前記第２記憶装置にアクセスする半導体集積回路装置の制御方法。
【請求項７】
請求項６に記載の半導体集積回路装置の制御方法において、
前記プロセッサは、アプリケーションを実行するプロセッサであり、
前記プロセッサが前記アプリケーションを実行した時の前記キャッシュによる性能劣化の影響に応じて、前記第１モードおよび前記第２モードを切り替える半導体集積回路装置の制御方法。
【請求項８】
請求項７に記載の半導体集積回路装置の制御方法において、
前記プロセッサが、前記キャッシュによる性能劣化の影響が比較的大きいアプリケーションを実行する時、前記第２モードに切り替えるよう制御する半導体集積回路装置の制御方法。
【請求項９】
請求項７または８に記載の半導体集積回路装置の制御方法において、
前記プロセッサが、前記キャッシュによる性能劣化の影響が比較的小さいアプリケーションを実行する時、前記第１モードに切り替えるよう制御する半導体集積回路装置の制御方法。
【請求項１０】
プロセッサが利用する第１記憶手段と、
前記プロセッサが利用する前記第１記憶手段とは異なる種類の第２記憶手段と、
前記第１記憶手段および前記第２記憶手段を制御する制御手段と、を備え、
前記第１記憶手段および前記第２記憶手段にそれぞれ独立して電源電圧が供給され、
前記第１記憶手段は、前記第２記憶手段が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記制御手段は、前記第１記憶手段だけを動作させる第１モードと、前記第１記憶手段および前記第２記憶手段を動作可能な第２モードとを切り替え可能に制御し、
前記第１モード時は、前記第１記憶手段に、前記第２記憶手段を動作可能な下限電圧よりも低い電圧が供給されるとともに、前記第２記憶手段に電源供給が行われないように制御され、
前記第１モード時には、前記プロセッサからのメモリアクセス要求に応じて前記第１記憶手段にアクセスし、前記第２モード時には、前記プロセッサからのメモリアクセス要求に応じて前記第１記憶手段および前記第２記憶手段にアクセスするキャッシュ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置および半導体集積回路装置の制御方法、ならびに、キャッシュ装置に関し、特に、キャッシュを有する半導体集積回路装置および半導体集積回路装置の制御方法、ならびに、キャッシュ装置に関する。
【背景技術】
【０００２】
近年、プロセッサの消費電力は増加傾向にあるため、その電源電圧を下げることで、消費電力を抑えることが一般的である。しかしながら、プロセッサのロジック部分については低電圧化（たとえば、０．３Ｖ）が可能である一方、キャッシュなどメモリ部分については低電圧化（たとえば、０．７Ｖ）が難しいことが知られている。したがって、命令とデータを格納するキャッシュが低消費電力を実現する上でのボトルネックとなっている。【０００３】
電子回路内における電力消費を減少させるシステムの一例が特許文献１（特開平１０−１２４２０２号公報）に記載されている。特許文献１のシステムは、図１１に示すように、低消費電力化を実現するキャッシュ５０は、ＳＲＡＭ（Static Random Access Memory）などの記憶素子で作られた２つの低面積キャッシュ５２、５３と、キャッシュを制御するキャッシュ制御部４０と、を備える。この技術では、低面積キャッシュ５３の電源を遮断することで、低消費電力を実現していることがポイントである。すなわち、動作時に利用面積を減らすことで消費電力を実現している。【０００４】
また、特許文献２（特開２００８−４７１９０号公報）に記載の半導体装置において、チップ内のキャッシュメモリは、比較的小容量のＬ１キャッシュＳＲＡＭと、比較的大容量のＬ２キャッシュＳＲＡＭで構成され、Ｌ１、Ｌ２キャッシュＳＲＡＭを適宜使い分けることにより、チップサイズの増大を抑えつつ、消費電力を抑制する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１２４２０２号公報
【特許文献２】特開２００８−４７１９０号公報
【発明の概要】
【０００６】
上述した同種の２つのキャッシュを適宜選択し、動作時の利用面積を減らすことで消費電力を抑制する方式においては、キャッシュに供給される電源電圧自体を下げることはできないため、消費電力の抑制に限界があり、低電圧化による低消費電力の恩恵を甘受できないという問題点があった。
【０００７】
本発明の目的は、上述した課題である消費電力の抑制の限界を解決する半導体集積回路装置および半導体集積回路装置の制御方法、ならびに、キャッシュ装置を提供することにある。
【０００８】
本発明の半導体集積回路装置は、
第１記憶装置、および前記第１記憶装置とは異なる種類の第２記憶装置を含む高速記憶手段と、
前記第１記憶装置および前記第２記憶装置を制御する制御手段と、
前記第１記憶装置および前記第２記憶装置にそれぞれ独立して電源電圧を供給する電源供給手段と、を備え、
前記第１記憶装置は、前記第２記憶装置が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記制御手段は、前記高速記憶手段の前記第１記憶装置だけを動作させる第１モードと、前記高速記憶手段の前記第１記憶装置または前記第２記憶装置を動作させる第２モードとを切り替え可能に制御し、
前記電源供給手段は、前記第１モード時は、前記高速記憶手段の前記第１記憶装置に、前記高速記憶手段の前記第２記憶装置を動作可能な下限電圧よりも低い電圧を供給するとともに、前記高速記憶手段の前記第２記憶装置への電源供給を行わないように制御する。
【０００９】
本発明の半導体集積回路装置の制御方法は、
第１記憶装置、および前記第１記憶装置とは異なる種類の第２記憶装置を含むキャッシュを備える半導体集積回路を制御する制御部が、
前記キャッシュの前記第１記憶装置だけを動作させる第１モードと、前記キャッシュの前記第１記憶装置または前記第２記憶装置を動作させる第２モードとを切り替え可能に制御し、
前記キャッシュの前記第１記憶装置は、前記キャッシュの前記第２記憶装置が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記キャッシュの前記第１記憶装置および前記キャッシュの前記第２記憶装置にそれぞれ独立して電源電圧を供給する電源供給部が、前記第１モード時は、前記キャッシュの前記第１記憶装置に、前記キャッシュの前記第２記憶装置を動作可能な下限電圧よりも低い電圧を供給するとともに、前記制御部が、前記電源供給部による前記キャッシュの前記第２記憶装置への電源供給が行われないように制御する。
【００１０】
本発明のキャッシュ装置は、
第１記憶手段と、
前記第１記憶手段とは異なる種類の第２記憶手段と、
前記第１記憶手段および前記第２記憶手段を制御する制御手段と、を備え、
前記第１記憶手段および前記第２記憶手段にそれぞれ独立して電源電圧が供給され、
前記第１記憶手段は、前記第２記憶手段が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記制御手段は、前記第１記憶手段だけを動作させる第１モードと、前記第１記憶手段または前記第２記憶手段を動作させる第２モードとを切り替え可能に制御し、
前記第１モード時は、前記第１記憶手段に、前記第２記憶手段を動作可能な下限電圧よりも低い電圧が供給されるとともに、前記第２記憶手段に電源供給が行われないように制御される。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１２】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１３】
また、本発明の制御方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の制御方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００１４】
さらに、本発明の制御方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００１５】
本発明によれば、低消費電力を効率よく実現可能な半導体集積回路装置および半導体集積回路装置の制御方法ならびに、キャッシュ装置が提供される。
【図面の簡単な説明】
【００１６】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１７】
【図１】本発明の実施の形態に係る半導体集積回路装置のキャッシュの構成を示す機能ブロック図である。
【図２】本発明の実施の形態に係る半導体集積回路装置の構成を示すブロック図である。
【図３】本実施形態の半導体集積回路装置の動作の一例を示すフローチャートである。
【図４】本実施形態の低電力キャッシュの動作の例を説明するための図である。
【図５】本実施形態の低電力キャッシュの動作の例を説明するための図である。
【図６】本実施形態の低電力キャッシュの動作の例を説明するための図である。
【図７】本実施形態の低電力キャッシュの動作の例を説明するための図である。
【図８】本実施形態の低電圧化可能キャッシュの構成の一例を示すブロック図である。
【図９】本実施形態の低電圧化可能キャッシュの動作の一例を説明するための図である。
【図１０】本発明の他の実施形態の複数の低電力キャッシュを含む半導体集積回路装置の構成を示すブロック図である。
【図１１】特許文献に記載されたシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１９】
図１は、本発明の実施の形態に係る半導体集積回路装置のキャッシュの構成を示す機能ブロック図である。
本実施形態の半導体集積回路装置は、第１記憶部装置（低電圧化可能キャッシュ２００）、および低電圧化可能キャッシュ２００とは異なる種類の第２記憶装置（低面積キャッシュ３００）を含む高速記憶部（キャッシュ１００）と、低電圧化可能キャッシュ２００および低面積キャッシュ３００を制御する制御部（キャッシュ制御部４００）と、低電圧化可能キャッシュ２００および低面積キャッシュ３００にそれぞれ独立して電源電圧を供給する電源供給部１０００と、を備え、低電圧化可能キャッシュ２００は、低面積キャッシュ３００が動作可能な下限電圧よりも低い電圧で動作可能であり、キャッシュ制御部４００は、キャッシュ１００の低電圧化可能キャッシュ２００だけを動作させる第１モードと、キャッシュ１００の低電圧化可能キャッシュ２００または低面積キャッシュ３００を動作させる第２モードとを切り替え可能に制御し、電源供給部１０００は、第１モード時は、キャッシュ１００の低電圧化可能キャッシュ２００に、キャッシュ１００の低面積キャッシュ３００を動作可能な下限電圧よりも低い電圧を供給するとともに、キャッシュ１００の低面積キャッシュ３００への電源供給を行わないように制御する。
この構成により、低電圧化可能キャッシュ２００を低面積キャッシュ３００よりも低電圧で動作させることで、低消費電力なキャッシュを実現する。
【００２０】
また、図２は、本発明の実施の形態に係る半導体集積回路装置の構成を示すブロック図である。同図において、半導体集積回路装置は、プロセッサ２０００と、キャッシュ１００（図中、「低電力キャッシュ１００」）と、メモリ３０００と、電源供給部１０００と、を有する。以下、図１および図２を用いて説明する。なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【００２１】
また、半導体集積回路装置の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【００２２】
プロセッサ２０００は、ここではロジックで構成された演算装置として定義する。したがって、プロセッサ２０００は、アクセラレータやＦＰＧＡ（Field Programmable Gate Array）などの演算装置であればよく、特に限定されない。
【００２３】
キャッシュ１００は、低電圧化が可能なキャッシュであり、プロセッサ２０００およびメモリ３０００に接続される。一般に、プロセッサ２０００にキャッシュを含めることが多いが、ここでは、構成を明確化するために、分離して記述してある。プロセッサ２０００に含まれたとしても機能としては変わらない。
【００２４】
本実施形態のキャッシュ装置（キャッシュ１００）は、第１記憶部（低電圧化可能キャッシュ２００）と、低電圧化可能キャッシュ２００とは異なる種類の第２記憶部（低面積キャッシュ３００）と、低電圧化可能キャッシュ２００および低面積キャッシュ３００を制御する制御部（キャッシュ制御部４００）と、を備え、低電圧化可能キャッシュ２００および低面積キャッシュ３００にそれぞれ独立して電源電圧が供給され、低電圧化可能キャッシュ２００は、低面積キャッシュ３００が動作可能な下限電圧よりも低い電圧で動作可能であり、キャッシュ制御部４００は、低電圧化可能キャッシュ２００だけを動作させる第１モードと、低電圧化可能キャッシュ２００または低面積キャッシュ３００を動作させる第２モードとを切り替え可能に制御し、第１モード時は、低電圧化可能キャッシュ２００に、低面積キャッシュ３００を動作可能な下限電圧よりも低い電圧が供給されるとともに、低面積キャッシュ３００に電源供給が行われないように制御される。
【００２５】
メモリ３０００は、本実施形態では、主にＤＲＡＭ（Dynamic Random Access Memory）などで製造された主記憶を想定する。電源供給部１０００は、プロセッサ２０００およびキャッシュ１００にそれぞれ独立の電源電圧を供給する。
【００２６】
図１によれば、キャッシュ１００は、キャッシュ１００を制御するキャッシュ制御部４００と、低電圧可能な低電圧化可能キャッシュ２００と、低面積キャッシュ３００とで構成される。電源供給部１０００により、低電圧化可能キャッシュ２００には電圧Ｖ０（Ｖ）が、低面積キャッシュ３００には電圧Ｖ１（Ｖ）がそれぞれ独立して供給される。すなわち、低電圧化可能キャッシュ２００および低面積キャッシュ３００は、各々独立の電源電圧で動作することが可能である。
【００２７】
低電圧化可能キャッシュ２００は、内部に低電圧動作が可能な記憶素子を用いて構成される。例えば、フリップフロップなどのロジックで構成された回路、あるいは、ＭＲＡＭ（Magnetoresistive Random Access Memory）などの磁気を用いた不揮発メモリなど、低電圧で動作することが可能であればよく、特に限定されない。ただし、このような記憶素子単体で見ると、面積効率が悪くなることが知られているものの、低面積キャッシュを置換する部分が少量なので、キャッシュとして大きなオーバヘッドにはならない。
【００２８】
低面積キャッシュ３００は、たとえば、通常のトランジスタを用いて、面積を最小化するように作られたキャッシュであり、一般に低電圧での動作が難しいとされているものであるとする。
【００２９】
動作させるアプリケーションの性能、たとえば、演算処理速度、マルチメディア処理の画質、通信品質などに、利用するキャッシュによって影響が及ぶことがあるため、本実施形態では、キャッシュ１００の動作モードをプロセッサ２０００での動作アプリケーションに応じて、選択することができる。キャッシュによる性能の劣化は、たとえば、演算処理速度の低下、マルチメディア処理におけるコマ落ちによる画質の低下、通信処理における通信エラーなどがあげられる。
【００３０】
キャッシュ１００は、プロセッサ２０００での動作アプリケーションに応じて、利用するキャッシュ部分とその電源電圧を変化させることで、より効果的な低消費電力を実現できる。ただし、切り替え手法自体は本発明の本質ではないので、特に限定されない。たとえば、ＯＳなどのソフトウェアなど、切り替えることのできる方法を用いることができれば、何でも構わない。
【００３１】
まず、ＳＰＥＣ９５などに代表される、キャッシュによる性能劣化の影響が大きいアプリケーションに関しては、第２モードを選択し、低電圧化可能キャッシュ２００と低面積キャッシュ３００を用いてキャッシュを構成する。これにより、通常のキャッシュと同等の性能を実現することができる。また、低電圧化可能キャッシュ２００の電源電圧を低面積キャッシュ３００の電源電圧より下げることで、さらに電力を削減することも可能である。ただし、たとえば、電池の消費を抑えるために、たとえ、アプリケーションの性能を落としてでも低消費電力動作を積極的に選択する場合もあり得、その場合は、第１モードを選択することもできる。
【００３２】
次に、マルチメディア処理に代表される、キャッシュによる性能劣化の影響が比較的小さい、つまり、キャッシュサイズが性能にあまり寄与しないアプリケーションに関しては、第１モードを選択し、低電圧化可能キャッシュ２００だけを用いて、かつ、低電圧化可能キャッシュ２００の電源電圧を低面積キャッシュ３００の電源電圧より下げて、キャッシュを構成する。キャッシュ量の低減によって、弱冠性能は下がるものの、低電圧化による低消費電力化により、電力あたりの性能を大きく改善することができる。
【００３３】
なお、キャッシュ１００は、ダイレクトマップ、セットアソシアティブ、フルアソシアティブなどの連想方式、ラウンドロビン、ＬＲＵ（Least Recently Used）、ランダムなどの入れ替え方式、ライトスルー、ライトバックなどの書込み方式などの、様々なキャッシュ構成に対応することができる。
【００３４】
また、命令やデータと格納する情報の種類、レベル１やレベル２といったキャッシュ階層なども任意でよい。
以降は、書込み方式としてライトバック方式を、また、ラインのアロケーション方式としてライトアロケート方式を採用する。
【００３５】
このように構成された本実施形態の半導体集積回路装置の動作について、以下に説明する。
図３は、本実施形態の半導体集積回路装置の動作の一例を示すフローチャートである。
本実施形態の半導体集積回路装置の制御方法は、低電圧化可能キャッシュ２００、および低電圧化可能キャッシュ２００とは異なる種類の低面積キャッシュ３００を含むキャッシュ１００を備え、低電圧化可能キャッシュ２００は、低面積キャッシュ３００が動作可能な下限電圧よりも低い電圧で動作可能である半導体集積回路装置の低電圧化可能キャッシュ２００および低面積キャッシュ３００にそれぞれ独立して電源電圧を供給し、キャッシュ１００の低電圧化可能キャッシュ２００だけを動作させる第１モードと、キャッシュ１００の低電圧化可能キャッシュ２００または低面積キャッシュ３００を動作させる第２モードと、を切り替え可能に制御し、第１モード時は、キャッシュ１００の低電圧化可能キャッシュ２００に、キャッシュ１００の低面積キャッシュ３００を動作可能な下限電圧よりも低い電圧を供給するとともに、キャッシュ１００の低面積キャッシュ３００への電源供給を行わないように制御する。
【００３６】
本実施形態では、動作アプリケーションに応じて、第１モードと第２モードが切り替えられる（ステップＳ１０１）。すなわち、キャッシュによる性能劣化の影響が大きいアプリケーションの場合（ステップＳ１０１の「大きい」）、第２モードに設定される（ステップＳ１０３）。一方、キャッシュによる性能劣化の影響が比較的小さいアプリケーションの場合（ステップＳ１０１の「小さい」）、第１モードに設定される（ステップＳ１０５）。
【００３７】
設定されたモードに従って、キャッシュ１００は以下のように動作する。すなわち、第２モードの場合（ステップＳ１０７の「第２モード」）、電源供給部１０００により、低電圧化可能キャッシュ２００と低面積キャッシュ３００の両方に電源電圧を供給し、両方を動作可能に制御する。本実施形態では、低面積キャッシュ３００に電源電圧Ｖ１が供給されるとともに（ステップＳ１０９）、低電圧化可能キャッシュ２００に電源電圧Ｖ０が供給される（ステップＳ１１１）。ここで、低電圧化可能キャッシュ２００に供給される電源電圧Ｖ０は、低面積キャッシュ３００の電源電圧Ｖ１より低い値とすることができる。
【００３８】
一方、第１モードの場合（ステップＳ１０７の「第１モード」）、電源供給部１０００により、低電圧化可能キャッシュ２００に電源電圧Ｖ０が供給される（ステップＳ１１１）。第１モードの場合（ステップＳ１０７の「第１モード」）、ステップＳ１０９はバイパスされ、低面積キャッシュ３００には電源電圧が供給されない。ここで、低電圧化可能キャッシュ２００に供給される電源電圧Ｖ０は、低面積キャッシュ３００の下限電圧より低い値とする。
【００３９】
以下、各モード別に、キャッシュ１００の動作について説明する。以下、図４乃至図７を用いて説明する。
図４乃至図７は、本実施形態のキャッシュ１００の動作の例を説明するための図である。各図において、矢印脇のＳと数字からなる符号は、各動作を示すステップ番号を表している。
【００４０】
まず、図４の例では、キャッシュによる性能劣化の影響が大きいアプリケーションを動作させている場合で、すなわち、第２モード時、かつ、キャッシュ１００にプロセッサ２０００が必要とするデータが保存されている場合について説明する。
【００４１】
ステップＳ１において、プロセッサ２０００はメモリアクセス要求をキャッシュ制御部４００に発行する。次いで、ステップＳ２において、キャッシュ制御部４００が、低電圧化可能キャッシュ２００と低面積キャッシュ３００とにアクセスし、当該要求に該当するデータが保存されているかどうかをチェックする。
【００４２】
たとえば、メモリアクセス要求は、メモリからデータを読み出す読出し要求と、メモリにデータを書き込む書込み要求がある。読出しの場合は、キャッシュ制御部４００がメモリ、ここではキャッシュ１００から読み出したデータを受理する。書込みの場合は、キャッシュ制御部４００がメモリ、ここではキャッシュ１００に記憶されているデータを更新する。そして、ステップＳ３において、読出しの場合、キャッシュ制御部４００が、読み出したデータをプロセッサ２０００に返す。
【００４３】
次に、図５の例では、キャッシュによる性能劣化の影響が大きいアプリケーションを動作させている場合で、すなわち、第２モード時、かつ、キャッシュ１００にプロセッサ２０００が必要とするデータが保存されていない場合について説明する。
【００４４】
ステップＳ１において、プロセッサ２０００はメモリアクセス要求をキャッシュ制御部４００に発行する。ステップＳ２において、キャッシュ制御部４００は、低電圧化可能キャッシュ２００と低面積キャッシュ３００とにアクセスし、当該要求に該当するデータが保存されているかどうかをチェックする。この場合、保存されていない。
【００４５】
したがって、ステップＳ３において、キャッシュ制御部４００は、メモリ３０００に当該要求を発行する。ステップＳ４において、キャッシュ制御部４００は、メモリ３０００からデータを受理する。ステップＳ５において、キャッシュ制御部４００は、当該データを、低電圧化可能キャッシュ２００か低面積キャッシュ３００かのいずれかに格納する。格納先のキャッシュをどのように選択するかなどは従来のキャッシュ構成法と同じ方式を用いてよい。なお、書込みの場合は、当該データを更新してから格納する。また、読出しの場合、ステップＳ６において、キャッシュ制御部４００は、メモリ３０００から読み出され、キャッシュ１００に保存されたデータをプロセッサ２０００に返す。
【００４６】
次に、図６の例では、キャッシュによる性能劣化の影響が小さいアプリケーションを動作させている場合で、すなわち、第１モード時、かつ、キャッシュ１００にプロセッサ２０００が必要とするデータが保存されている場合について説明する。また、低電圧化可能キャッシュ２００の電源電圧Ｖ０は低面積キャッシュ３００の下限電圧よりも低く設定されていることを想定する。
【００４７】
ステップＳ１において、プロセッサ２０００はメモリアクセス要求をキャッシュ制御部４００に発行する。そして、ステップＳ２において、キャッシュ制御部４００は、低電圧化可能キャッシュ２００に、当該要求に該当するデータが保存されているかどうかをチェックする。読出しの場合は、そのデータを受理する。書込みの場合は、そのデータを更新する。そして、ステップＳ３において、キャッシュ制御部４００は、読出しの場合、保存されたデータをプロセッサ２０００に返す。
【００４８】
次いで、図７の例では、キャッシュによる性能劣化の影響が小さいアプリケーションを動作させている場合で、すなわち、第１モード時、かつ、キャッシュ１００にプロセッサ２０００が必要とするデータが保存されていない場合について説明する。
【００４９】
また、低電圧化可能キャッシュ２００の電源電圧Ｖ０は低面積キャッシュ３００の下限電圧よりも低く設定されていることを想定する。ここでは、第２モードなので、電源供給部１０００は、低電圧化可能キャッシュ２００のみに電源電圧を供給し、低面積キャッシュ３００は動作しない。
【００５０】
ステップＳ１において、プロセッサ２０００はメモリアクセス要求をキャッシュ制御部４００に発行する。そして、ステップＳ２において、キャッシュ制御部４００は、低電圧化可能キャッシュ２００にアクセスし、当該要求に該当するデータが保存されているかどうかをチェックする。この場合、保存されていない。
【００５１】
したがって、ステップＳ３において、キャッシュ制御部４００は、メモリ３０００に当該要求を発行する。そして、ステップＳ４において、キャッシュ制御部４００は、メモリ３０００から該当データを受理する。そして、ステップＳ５において、キャッシュ制御部４００は、当該データを、低電圧化可能キャッシュ２００に格納する。なお、書込みの場合は、当該データを更新してから格納する。また、読出しの場合、ステップＳ６において、キャッシュ制御部４００は、メモリ３０００から読み出され、低電圧化可能キャッシュ２００に保存されたデータをプロセッサ２０００に返す。
【００５２】
図８は、本実施形態の低電圧化可能キャッシュ２００の構成の一例を示すブロック図である。同図に示されるように、低電圧化可能キャッシュ２００は、タグ格納部２１０と、データ格納部２２０とを有する低電圧可能な記憶素子を含む。このタグ格納部２１０とデータ格納部２２０は、低面積キャッシュ３００や一般的なキャッシュの構成と同じであり、単に、キャッシュ制御部４００からの要求に応じて、該当するデータを返す。
【００５３】
図９は、本実施形態の低電圧化可能キャッシュ２００の動作の一例を説明するための図である。同図において、矢印脇のＳと数字からなる符号は、動作を示すステップ番号を表している。なお、この動作も電源電圧が異なるだけで、通常のキャッシュと同じである。
【００５４】
ステップＳ１１において、キャッシュ制御部４００は当該データが低電圧化可能キャッシュ２００に格納されているかどうかのチェック要求、あるいは、データの格納要求を発行する。そして、ステップＳ１２において、タグ格納部２１０とデータ格納部２２０は、チェック要求に応じて、チェック結果とデータを返す。データの格納要求の場合は、タグとデータを格納する。
【００５５】
以上説明したように、本実施形態の半導体集積回路装置によれば、低電圧化可能キャッシュ２００を用いることで、面積や遅延のオーバヘッドを抑えつつ、低電圧化による低消費電力なキャッシュを実現することができる。この低消費電力に関わる効果は、図１１に示した特許文献１の技術における同種メモリを削減することや、あるいは、削減後のメモリ部を異なる記憶素子で置換することの組み合わせからは実現しない。あくまで、低電圧化による低消費電力化という点に着目したからこそ、本発明で実現したものである。
【００５６】
なお、前記各実施形態では、プロセッサで用いられるキャッシュに関し、低電力なキャッシュを有する半導体集積回路装置およびその制御方法を例に説明したが、本実施形態は、かかる装置および方法に限定されるものではなく、任意の装置および方法に適用可能である。
【００５７】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、図１０に示すように、本発明の他の実施形態において、キャッシュ１００を複数含むことができる。同図に示すように、この装置は、複数のプロセッサ２０００と、複数のキャッシュ１００（図中、「低電力キャッシュ１００」）と、メモリ３０００と、プロセッサとメモリを接続する結合網４０００と、電源供給部１０００と、を備える。
【００５８】
一般に、複数のプロセッサ２０００を持つ装置では、その数に応じて、クロック周波数と電源電圧を下げることで、性能を保ちつつ、消費電力を削減する。すなわち、本発明のキャッシュ１００は、このような複数のプロセッサ２０００を持つ装置においても、低消費電力化を実現することが可能である。
【００５９】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００６０】
この出願は、２００９年９月２日に出願された日本出願特願２００９−２０３０８１号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は下記の態様も含む。
（付記１）
第１記憶装置、および前記第１記憶装置とは異なる種類の第２記憶装置を含む高速記憶手段と、
前記第１記憶装置および前記第２記憶装置を制御する制御手段と、
前記第１記憶装置および前記第２記憶装置にそれぞれ独立して電源電圧を供給する電源供給手段と、を備え、
前記第１記憶装置は、前記第２記憶装置が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記制御手段は、前記高速記憶手段の前記第１記憶装置だけを動作させる第１モードと、前記高速記憶手段の前記第１記憶装置または前記第２記憶装置を動作させる第２モードとを切り替え可能に制御し、
前記電源供給手段は、前記第１モード時は、前記高速記憶手段の前記第１記憶装置に、前記高速記憶手段の前記第２記憶装置を動作可能な下限電圧よりも低い電圧を供給するとともに、前記高速記憶手段の前記第２記憶装置への電源供給を行わないように制御する半導体集積回路装置。
（付記２）
付記１に記載の半導体集積回路装置において、
前記高速記憶手段の前記第１記憶装置および前記第２記憶装置は、アプリケーションを実行するプロセッサに用いられ、前記プロセッサが前記アプリケーションを実行した時の前記高速記憶手段による性能劣化の影響に応じて、前記制御手段は、前記第１モードと前記第２モードを切り替える半導体集積回路装置。
（付記３）
付記２に記載の半導体集積回路装置において、
前記プロセッサが、前記高速記憶手段による性能劣化の影響が比較的大きいアプリケーションを実行する時、前記制御手段は、前記第２モードに切り替える半導体集積回路装置。
（付記４）
付記２または３に記載の半導体集積回路装置において、
前記プロセッサが、前記高速記憶手段による性能劣化の影響が比較的小さいアプリケーションを実行する時、前記制御手段は、前記第１モードに切り替える半導体集積回路装置。
（付記５）
付記１乃至４いずれかに記載の半導体集積回路装置において、
前記高速記憶手段の前記第１記憶装置は、
フリップフロップを含むロジックで構成された回路、またはＭＲＡＭを含む磁気を用いた不揮発メモリから構成される半導体集積回路装置。
（付記６）
第１記憶装置、および前記第１記憶装置とは異なる種類の第２記憶装置を含むキャッシュを備え、前記第１記憶装置は、前記第２記憶装置が動作可能な下限電圧よりも低い電圧で動作可能である半導体集積回路装置の前記第１記憶装置および前記第２記憶装置にそれぞれ独立して電源電圧を供給し、
前記キャッシュの前記第１記憶装置だけを動作させる第１モードと、前記キャッシュの前記第１記憶装置または前記第２記憶装置を動作させる第２モードとを切り替え可能に制御し、
前記第１モード時は、前記キャッシュの前記第１記憶装置に、前記キャッシュの前記第２記憶装置を動作可能な下限電圧よりも低い電圧を供給するとともに、前記キャッシュの前記第２記憶装置への電源供給を行わないように制御する半導体集積回路装置の制御方法。
（付記７）
付記６に記載の半導体集積回路装置の制御方法において、
前記キャッシュの前記第１記憶装置および前記第２記憶装置は、アプリケーションを実行するプロセッサに用いられ、前記プロセッサが前記アプリケーションを実行した時の前記キャッシュによる性能劣化の影響に応じて、前記第１モードおよび前記第２モードを切り替える半導体集積回路装置の制御方法。
（付記８）
付記７に記載の半導体集積回路装置の制御方法において、
前記プロセッサが、前記キャッシュによる性能劣化の影響が比較的大きいアプリケーションを実行する時、前記第２モードに切り替えるよう制御する半導体集積回路装置の制御方法。
（付記９）
付記７または８に記載の半導体集積回路装置の制御方法において、
前記プロセッサが、前記キャッシュによる性能劣化の影響が比較的小さいアプリケーションを実行する時、前記第１モードに切り替えるよう制御する半導体集積回路装置の制御方法。
（付記１０）
第１記憶手段と、
前記第１記憶手段とは異なる種類の第２記憶手段と、
前記第１記憶手段および前記第２記憶手段を制御する制御手段と、を備え、
前記第１記憶手段および前記第２記憶手段にそれぞれ独立して電源電圧が供給され、
前記第１記憶手段は、前記第２記憶手段が動作可能な下限電圧よりも低い電圧で動作可能であり、
前記制御手段は、前記第１記憶手段だけを動作させる第１モードと、前記第１記憶手段または前記第２記憶手段を動作させる第２モードとを切り替え可能に制御し、
前記第１モード時は、前記第１記憶手段に、前記第２記憶手段を動作可能な下限電圧よりも低い電圧が供給されるとともに、前記第２記憶手段に電源供給が行われないように制御されるキャッシュ装置。
【図１】
0005477384.tif 000002
【図２】
0005477384.tif 000003
【図３】
0005477384.tif 000004
【図４】
0005477384.tif 000005
【図５】
0005477384.tif 000006
【図６】
0005477384.tif 000007
【図７】
0005477384.tif 000008
【図８】
0005477384.tif 000009
【図９】
0005477384.tif 000010
【図１０】
0005477384.tif 000011
【図１１】
0005477384.tif 000012