(57)【要約】      （修正有）【課題】電力消費を節約するプロセッサおよびそのウェイ予測方法を提供する。【解決手段】予測テーブル１１０、予測論理回路１２０、および予測検証回路１３０を含むプロセッサ１００である。予測テーブルは、キャッシュ・システムのキャッシュ・メモリ１４０の複数のキャッシュ・セットにそれぞれ対応する複数の信頼度値を有する複数のセットを有し、指標に従って選択されたセットの信頼度値を提供する。予測論理回路は、選択されたセットの信頼度値を受信し、選択されたセットの信頼度値のそれぞれがしきい値より大きいか否かを判定することによって予測結果を生成する。予測検証回路は、予測結果を受信し、予測結果に従って正誤情報を生成し、正誤情報に従って更新情報を生成し、更新情報に従って予測テーブルの信頼度値を更新する。【選択図】図１
2018190372.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが該キャッシュ・セットの複数のウェイにそれぞれ対応する複数の信頼度値を有する予測テーブルであり、指標を受信して、該指標に従って選択されたセットの信頼度値を提供する予測テーブルと、
該予測テーブルに結合され、該選択されたセットの該信頼度値を受信し、該選択されたセットの該信頼度値のそれぞれがしきい値より大きいか否かを判定することによって予測結果を生成する予測論理回路と、
該キャッシュ・メモリ、該予測論理回路、および該予測テーブルに結合され、該予測結果を受信し、該予測結果に従って正誤情報を生成し、該正誤情報に従って更新情報を生成する予測検証回路とを含むプロセッサであって、
該予測検証回路が、該更新情報に従って該予測テーブルの該信頼度値を更新する、プロセッサ。
【請求項２】
前記予測論理回路が、前記選択されたセットの前記信頼度値に従って前記選択されたキャッシュ・セットのウェイのうちの少なくとも１つが少なくとも１つの開いたウェイであると予測し、前記予測検証回路が、該少なくとも１つの開いたウェイのタグを予想タグと比較して前記正誤情報を生成する、請求項１に記載のプロセッサ。
【請求項３】
前記予測検証回路が、正しいウェイの信頼度値をプリセット値に設定し、複数の誤りであるウェイの信頼度値をステップ値だけ低下させる、請求項２に記載のプロセッサ。
【請求項４】
前記プリセット値が、前記ステップ値より大きい、請求項３に記載のプロセッサ。
【請求項５】
前記予測論理回路が、前記選択されたセットの前記信頼度値のそれぞれをしきい値と比較して、対応するウェイが開いているか否かを判定する、請求項３から４のいずれか一項に記載のプロセッサ。
【請求項６】
前記しきい値が、前記プリセット値より小さい、請求項５に記載のプロセッサ。
【請求項７】
誤りであるウェイの信頼度値が最小値である場合には、該誤りであるウェイの該信頼度値を低下させない、請求項３から６のいずれか一項に記載のプロセッサ。
【請求項８】
前記指標が、前記プロセッサのプログラム・カウンタまたはアクセスされたデータのアドレスに従って生成される、請求項１から７のいずれか一項に記載のプロセッサ。
【請求項９】
前記指標が前記アクセスされたデータの前記アドレスに従って生成される場合に、前記指標が、前記アドレスのベース部分および前記アドレスのオフセット部分に対するハッシュ演算によって生成される、請求項８に記載のプロセッサ。
【請求項１０】
キャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが、ホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号に対応する少なくとも１つの信頼度値を有する予測テーブルであり、指標を受信して、該指標に従って該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を提供する予測テーブルと、
該予測テーブルに結合され、該ホット・ウェイ番号が開いたウェイであると予測し、該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値がしきい値より大きいか否かを判定して該少なくとも１つのウォーム・ウェイ番号が開いたウェイであるかどうかを予測することによって予測結果を生成する予測論理回路と、
該キャッシュ・メモリ、該予測論理回路、および該予測テーブルに結合され、該予測結果を受信し、該予測結果に従って正誤情報を生成し、該正誤情報に従って更新情報を生成する予測検証回路とを含むプロセッサであって、
該予測検証回路が、該更新情報に従って、該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を更新する、プロセッサ。
【請求項１１】
前記予測検証回路が、前記予測結果に従って前記選択されたキャッシュ・セットのウェイのうちの少なくとも１つが少なくとも１つの開いたウェイであると予測し、該少なくとも１つの開いたウェイのタグを予想タグと比較して前記正誤情報を生成する、請求項１０に記載のプロセッサ。
【請求項１２】
前記ホット・ウェイ番号に対応するウェイが正しいウェイであり、前記少なくとも１つのウォーム・ウェイ番号に対応するウェイが誤りであるウェイであるときに、前記予測検証回路が、前記少なくとも１つのウォーム・ウェイの前記少なくとも１つの信頼度値を低下させる、請求項１０から１１のいずれか一項に記載のプロセッサ。
【請求項１３】
前記予測検証回路が、前記正誤情報に従って、正しいウォーム・ウェイ番号をホット・ウェイ番号となるように更新する、請求項１０から１２のいずれか一項に記載のプロセッサ。
【請求項１４】
前記少なくとも１つのウォーム・ウェイ番号が更新されたときに、対応する信頼度値がプリセット値に設定される、請求項１０から１３のいずれか一項に記載のプロセッサ。
【請求項１５】
プロセッサに適合されたウェイ予測方法であって、
キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが該キャッシュ・セットの複数のウェイにそれぞれ対応する複数の信頼度値を有する予測テーブルを設定するステップと、
該予測テーブルが、指標を受信して、該指標に従って選択されたセットの信頼度値を提供するステップと、
該選択されたセットの該信頼度値を受信し、該選択されたセットの該信頼度値のそれぞれがしきい値より大きいか否かを判定することによって予測結果を生成するステップと、
該予測結果を受信し、該予測結果に従って正誤情報を生成し、該正誤情報に従って更新情報を生成するステップと、
該更新情報に従って該予測テーブルの該信頼度値を更新するステップとを含む、方法。
【請求項１６】
プロセッサに適合されたウェイ予測方法であって、
キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが、ホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号に対応する少なくとも１つの信頼度値を有する予測テーブルを設定するステップと、
該予測テーブルが、指標を受信して、該指標に従って該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を提供するステップと、
該ホット・ウェイ番号が開いたウェイであると予測し、該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値がしきい値より大きいか否かを判定して該少なくとも１つのウォーム・ウェイ番号が開いたウェイであるかどうかを予測することによって予測結果を生成するステップと、
該予測結果を受信し、該予測結果に従って正誤情報を生成し、該正誤情報に従って更新情報を生成するステップと、
該更新情報に従って、該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を更新するステップとを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサに関し、さらに、そのウェイ予測方法を対象とする。
【背景技術】
【０００２】
近年では、強力なプロセッサを備えた電子装置は、人間の生活に不可欠である。プロセッサの効率を向上させるために、プロセッサには、キャッシュ・メモリが必要である。マルチウェイ・キャッシュ・システムでは、大量のデータに迅速にアクセスするために、従来技術のプロセッサは、大量の電力を消費し、望ましくない量の熱を生成する。
【０００３】
必要とされているのは、大型の低遅延キャッシュという性能上の利点を提供しながら、消費電力は少ない、マルチウェイ・データ・キャッシュ・システムを備えたプロセッサである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、電力消費を節約する、プロセッサおよびそのウェイ予測方法を対象とする。
【課題を解決するための手段】
【０００５】
本開示は、予測テーブル、予測論理回路、および予測検証回路を含む１つのプロセッサを提供する。予測テーブルは、キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、これらのセットは、それぞれ各キャッシュ・セットの複数のウェイに対応する複数の信頼度値を有し、予測テーブルは、指標を受信し、指標に従って選択されたセットの信頼度値を提供する。予測論理回路は、予測テーブルに結合され、選択されたセットの信頼度値を受信し、選択されたセットの信頼度値のそれぞれがしきい値より大きいか否かを判定することによって予測結果を生成する。予測検証回路は、キャッシュ・メモリ、予測論理回路、および予測テーブルに結合され、予測結果および現実の結果を受信し、予測結果および現実の結果に従って正誤情報を生成し、正誤情報に従って更新情報を生成する。予測検証回路は、更新情報に従って予測テーブルの信頼度値を更新する。
【０００６】
本開示は、予測テーブル、予測論理回路、および予測検証回路を含む別のプロセッサを提供する。予測テーブルは、キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、これらのセットは、それぞれホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、および少なくとも１つのウォーム・ウェイ番号に対応する少なくとも１つの信頼度値を有し、予測テーブルは、指標を受信して、指標に従ってホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、および少なくとも１つのウォーム・ウェイ番号の少なくとも１つの信頼度値を提供する。予測論理回路は、予測テーブルに結合され、ホット・ウェイ番号が開いたウェイであると予測し、少なくとも１つのウォーム・ウェイ番号の少なくとも１つの信頼度値がしきい値より大きいか否かを判定することによって予測結果を生成する。少なくとも１つの信頼度値がしきい値より大きい場合には、ウォーム・ウェイ番号も、開いたウェイであると予測される。それ以外の場合には、ウォーム・ウェイ番号は、閉じたウェイであると予測される。予測検証回路は、キャッシュ・メモリ、予測論理回路、および予測テーブルに結合され、予測結果および現実の結果を受信し、予測結果および現実の結果に従って正誤情報を生成し、正誤情報に従って更新情報を生成する。予測検証回路は、更新情報に従って、ホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、およびその少なくとも１つの信頼度値を更新する。
【０００７】
本開示は、プロセッサに適合された１つのウェイ予測方法を提供する。このウェイ予測方法は、キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、これらのセットのそれぞれがキャッシュ・セットの複数のウェイにそれぞれ対応する複数の信頼度値を有する予測テーブルを設定するステップと、予測テーブルが、指標を受信して、指標に従って選択されたセットの信頼度値を提供するステップと、選択されたセットの信頼度値を受信し、選択されたセットの信頼度値のそれぞれがしきい値より大きいか否かを判定することによって予測結果を生成するステップと、予測結果を受信し、予測結果および現実の結果に従って正誤情報を生成し、正誤情報に従って更新情報を生成するステップと、更新情報に従って予測テーブルの信頼度値を更新するステップとを含む。
【０００８】
本開示は、プロセッサに適合された別のウェイ予測方法を提供する。このウェイ予測方法は、キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、これらのセットのそれぞれが、ホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、および少なくとも１つのウォーム・ウェイ番号に対応する少なくとも１つの信頼度値を有する予測テーブルを設定するステップと、予測テーブルが、指標を受信して、指標に従ってホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、およびその少なくとも１つの信頼度値を提供するステップと、ホット・ウェイ番号が開いたウェイであると予測し、少なくとも１つのウォーム・ウェイ番号の少なくとも１つの信頼度値がしきい値より大きいか否かを判定することによって予測結果を生成するステップとを含む。少なくとも１つの信頼度値がしきい値より大きい場合には、ウォーム・ウェイ番号も、開いたウェイであると予測される。それ以外の場合には、ウォーム・ウェイ番号は閉じたウェイであると予測される。このウェイ予測方法は、予測結果を受信し、予測結果および現実の結果に従って正誤情報を生成し、正誤情報に従って更新情報を生成するステップと、更新情報に従って、ホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、およびその少なくとも１つの信頼度値を更新するステップとをさらに含む。
【発明の効果】
【０００９】
上記の説明によれば、本開示は、予測テーブルを提供し、ウェイの信頼度値をしきい値と比較することによってどのウェイが開いたウェイであるかを決定する。予測テーブルも、正誤情報に従って更新される。本発明では、１つまたは複数のウェイを開いていると予測することができ、選択されたキャッシュ・セットの全てのウェイが、正しいデータを得るために常に開いているわけではないので、それに応じて電力消費を節約することができる。
【００１０】
本発明の上記その他の特徴および利点を理解しやすくするために、以下、図面を添付したいくつかの例示的な実施形態について詳細に説明する。
【００１１】
添付の図面は、本発明がさらに理解されるようにするために含めたものであり、本明細書の一部に組み込まれ、その一部を構成している。これらの図面は、本発明の実施形態を例示し、明細書の記載とともに本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【００１２】
【図１】本開示の実施形態によるプロセッサを示すブロック図である。
【００１３】
【図２Ａ】本開示の実施形態による異なるキャッシュ・システムを示す図である。
【図２Ｂ】本開示の実施形態による異なるキャッシュ・システムを示す図である。
【００１４】
【図３】本開示の実施形態によるプロセッサを示すブロック図である。
【００１５】
【図４】本開示の実施形態によるウェイ予測方法を示す流れ図である。
【００１６】
【図５Ａ】本開示の実施形態による予測テーブルを示す概略図である。
【００１７】
【図５Ｂ】本開示の実施形態による予測テーブルを示す別の概略図である。
【００１８】
【図６Ａ】本開示の実施形態による予測テーブルの更新を示す概略図である。
【図６Ｂ】本開示の実施形態による予測テーブルの更新を示す概略図である。
【図６Ｃ】本開示の実施形態による予測テーブルの更新を示す概略図である。
【図６Ｄ】本開示の実施形態による予測テーブルの更新を示す概略図である。
【図６Ｅ】本開示の実施形態による予測テーブルの更新を示す概略図である。
【００１９】
【図７Ａ】本開示の別の実施形態による予測テーブルの更新を示す概略図である。
【図７Ｂ】本開示の別の実施形態による予測テーブルの更新を示す概略図である。
【図７Ｃ】本開示の別の実施形態による予測テーブルの更新を示す概略図である。
【図７Ｄ】本開示の別の実施形態による予測テーブルの更新を示す概略図である。
【図７Ｅ】本開示の別の実施形態による予測テーブルの更新を示す概略図である。
【発明を実施するための形態】
【００２０】
図１を参照されたい。図１は、本開示の実施形態によるプロセッサを示すブロック図である。プロセッサ１００は、予測テーブル１１０、予測論理回路１２０、および予測検証回路１３０を含む。予測テーブル１１０は、予測論理回路１２０に結合され、予測論理回路１２０は、キャッシュ・メモリ１４０および予測検証回路１３０に結合され、予測検証回路１３０は、キャッシュ・メモリ１４０に結合される。ここで、図１および図５Ａを参照されたい。図５Ａは、本開示の実施形態による予測テーブルを示す概略図である。図５Ａの予測テーブル１１０Ａは、複数のセットＳＥＴ１〜ＳＥＴＮを含み、これらのセットＳＥＴ１〜ＳＥＴＮは、それぞれキャッシュ・メモリ１４０の複数のキャッシュ・セットに対応する。さらに、セットＳＥＴ１〜ＳＥＴＮはそれぞれ複数の信頼度値ＣＶ１−１〜ＣＶＮ−４を有し、各セットの信頼度値は、それぞれ各キャッシュ・セットの複数のウェイに対応する。例えば、セットＳＥＴ１の信頼度値ＣＶ１−１〜ＣＶ１−４は、それぞれ第１のキャッシュ・セットの４つのウェイに対応し、セットＳＥＴＮの信頼度値ＣＶＮ−１〜ＣＶＮ−４は、それぞれ第Ｎのキャッシュ・セットの４つのウェイに対応する。
【００２１】
動作に際しては、予測テーブル１１０Ａは、指標ＩＤＸを受信し、セットＳＥＴ１〜ＳＥＴＮのうちの１つを選択し、選択したセットの信頼度値を予測論理回路１２０に提供する。例えば、指標ＩＤＸに従ってセットＳＥＴ１が選択された場合には、予測テーブル１１０Ａは、信頼度値ＣＶ１−１〜ＣＶ１−４を、予測論理回路１２０に提供することができる。
【００２２】
予測論理回路１２０は、信頼度値ＣＶ１−１〜ＣＶ１−４を受信し、選択したセットの信頼度値ＣＶ１−１〜ＣＶ１−４のそれぞれがしきい値より大きいか否かを判定することによって、予測結果を生成する。信頼度値ＣＶ１−１がしきい値より大きく、信頼度値ＣＶ１−２〜ＣＶ１−４がしきい値より大きくない場合には、信頼度値ＣＶ１−１に対応するキャッシュ・メモリ１４０のウェイを、開いたウェイであるとして決定することができ、信頼度値ＣＶ１−２〜ＣＶ１−４に対応するキャッシュ・メモリ１４０のウェイを、閉じたウェイであるとして決定することができる。信頼度値ＣＶ１−１〜ＣＶ１−２がしきい値より大きく、信頼度値ＣＶ１−３〜ＣＶ１−４がしきい値より大きくない場合には、信頼度値ＣＶ１−１からＣＶ１−２に対応するキャッシュ・メモリ１４０のウェイを、開いたウェイであるとして決定することができ、信頼度値ＣＶ１−３〜ＣＶ１−４に対応するキャッシュ・メモリ１４０のウェイを、閉じたウェイであるとして決定することができる。
【００２３】
予測検証回路１３０およびキャッシュ・メモリ１４０は、予測論理回路１２０からこの予測結果を受信し、キャッシュ・メモリ１４０は、この予測結果に従って選択したキャッシュ・セットの１つまたは複数の開いたウェイにアクセスする。キャッシュ・メモリ１４０が選択したキャッシュ・セットにアクセスして、キャッシュ・ヒット／ミス／割当て状態を決定した後で、キャッシュ・メモリ１４０は、開いたウェイのタグおよびキャッシュ・ウェイ・ヒット／ミス／割当て情報を、予測検証回路１３０に送信する。さらに、予測検証回路１３０は、１つまたは複数の開いたウェイのタグを予想タグと比較し、キャッシュ・ウェイ・ヒット／ミス／割当て情報を結合して、予測正誤情報を生成する。詳細には、ある開いたウェイのタグが予想タグと等しい場合には、その開いたウェイの予測は、正しいと決定することができる。これに対して、ある開いたウェイのタグが予想タグと異なる場合には、その開いたウェイの予測は、誤りであると決定することができる。予測正誤情報は、キャッシュがヒットした場合にはヒット・ウェイ番号も含み、あるいはキャッシュがミスである場合には、割当て／補充ウェイ番号も含む。ヒット・ウェイ番号または割当て／補充ウェイ番号は、正しいウェイ番号として扱うことができる。
【００２４】
キャッシュ・メモリ１４０がキャッシュ・ヒット／ミス／割当て状態を決定するためには、以下のステップが実行される。開いたウェイのうちの１つでキャッシュがヒットした場合には、開いたウェイから得られるデータは、プロセッサ１００に直接転送される。これは、キャッシュがヒットし、ヒットしたウェイが開いたウェイであると決定することができる。一方、全ての開いたウェイでキャッシュがミスである場合には、直前のアクセスにおいて開いていない残りの１つまたは複数のウェイにアクセスして、それらの残りのウェイのうちの１つのタグが予想タグに等しいかどうかを判定する。これらの残りのウェイのうちの１つでキャッシュがヒットした場合には、このウェイから得られるデータが、プロセッサ１００に転送される。これは、キャッシュがヒットし、ヒットしたウェイが閉じたウェイであると決定することができる。それ以外の場合には、データがキャッシュになく（すなわちキャッシュがミスであり）、ミスであったデータを記憶するためにウェイを割り当てなければならないと決定することができる。ミスであったデータがメモリ外部から取り出されると、このデータはプロセッサ１００に転送され、それと同時にキャッシュの割り当てられたウェイに記憶される。
【００２５】
予測検証回路１３０は、さらに、正誤情報に従って更新情報を生成し、この更新情報を使用して、予測テーブル１１０Ａ中の信頼度値を更新することができる。詳細には、正誤情報に従って、予測検証回路１３０は、正しいウェイの信頼度値を相対的な高い値（プリセット値）に設定し、誤りであるウェイの信頼度値をステップ値だけ低下させることができ、ここで、プリセット値は、ステップ値より大きい。例えば、図５Ａを参照して、信頼度値ＣＶ１−１に対応するウェイが正しいウェイであると決定された場合には、信頼度値ＣＶ１−１を、プリセット値に設定する。次いで、信頼度値ＣＶ１−２〜ＣＶ１−４に対応するウェイは誤りであるウェイであると決定することができ、信頼度値ＣＶ１−２〜ＣＶ１−４をステップ値だけ低下させる。もちろん、信頼度値ＣＶ１−２〜ＣＶ１−４のそれぞれを最小値に等しくなるまで低下させた場合には、信頼度値ＣＶ１−２〜ＣＶ１−４のそれぞれをその最小値に保持することができる。
【００２６】
予測テーブルのサイズを減少させるために、図５Ｂを参照されたい。図５Ｂは、本開示の実施形態による予測テーブルを示す別の概略図である。図５Ｂでは、予測テーブル１１０Ｂは、キャッシュ・メモリ１４０の複数のキャッシュ・セットにそれぞれ対応する複数のセットＳＥＴ１〜ＳＥＴＮを有する。セットＳＥＴ１〜ＳＥＴＮは、ホット・ウェイ番号ＨＩＤ１〜ＨＩＤＮ、ウォーム・ウェイ番号ＷＩＤ１〜ＷＩＤＮ、および信頼度値ＣＶ１〜ＣＶＮを有する。ここで、信頼度値ＣＶ１〜ＣＶＮは、それぞれウォーム・ウェイ番号ＷＩＤ１〜ＷＩＤＮに対応する。図５Ｂの予測テーブル１１０Ｂも、指標ＩＤＸを受信し、指標ＩＤＸに従って、ホット・ウェイ番号、ウォーム・ウェイ番号、およびその対応する信頼度値を提供する。例えば、指標ＩＤＸによってセットＳＥＴ２が選択された場合には、予測テーブル１１０Ｂは、ホット・ウェイ番号ＨＩＤ２、ウォーム・ウェイ番号ＷＩＤ２、およびそれに対応する信頼度値ＣＶ２を提供する。ホット・ウェイ番号、ウォーム・ウェイ番号、およびそれに対応する信頼度値のみを記録することにより、予測テーブル１１０Ｂのサイズを減少させて、ハードウェア・コストを節約することができる。
【００２７】
ここで、図５Ｂの実施形態は、予測テーブル１１０Ａを水平方向に圧縮する方式を提供することに留意されたい。別の実施形態では、予測テーブル１１０Ａおよび１１０Ｂをさらに垂直方向に圧縮することもできる。例えば、予測テーブル１１０Ｂにおいて、セットＳＥＴ１〜ＳＥＴＮの数をキャッシュ・メモリ１４０のセット数より少なくすることができる。この場合には、キャッシュ・メモリ１４０の２つ以上のセットを予測テーブル１１０Ｂの１つのセットとして参照することができ、予測テーブル１１０ＢのセットＳＥＴ１〜ＳＥＴＮのうちの１つを共有することができる。
【００２８】
いくつかの実施形態では、予測テーブル１１０Ｂの各セットが、２つ以上のウォーム・ウェイ番号を有することができる。
【００２９】
詳細な動作では、予測テーブル１１０Ｂのエントリを、正誤情報に従って更新することができる。予測検証回路１３０は、正誤情報に従って更新情報を生成することができる。更新情報は、最後のキャッシュ・ヒットまたは補充動作のウェイ番号を含むことができ、最後のキャッシュ・ヒットまたは補充動作のウェイ番号がホット・ウェイ番号と等しい場合には、予測検証回路１３０は、ホット・ウェイ番号を変更せずに維持し、ウォーム番号に対応する信頼度値をステップ値（例えば１）だけ低下させる。最後のキャッシュ・ヒットまたは補充動作のウェイ番号がウォーム・ウェイ番号と等しい場合には、予測検証回路１３０は、ウォーム・ウェイ番号とホット・ウェイ番号を交換し、ウォーム・ウェイ番号の信頼度値をプリセット値に設定する。
【００３０】
この実施形態では、ウェイ番号は、ウェイの識別（ＩＤ）番号である。
【００３１】
例えば、ＳＥＴ１が選択されたセットであり、ホット・ウェイ番号ＨＩＤ１が最初に２であり、ウォーム・ウェイ番号ＷＩＤ１が最初は５であるとする。ウォーム・ウェイ番号ＷＩＤ１が最後のキャッシュ・ヒットまたは補充動作の正しいウェイであると決定された場合には、ホット・ウェイ番号ＨＩＤ１を５に変更し、ウォーム・ウェイ番号ＷＩＤ１を２に変更し、それに応じて、このウォーム・ウェイの信頼度値ＣＶ１を３に設定することができる。
【００３２】
図２Ａおよび図２Ｂを参照されたい。図２Ａおよび図２Ｂは、本開示の実施形態による異なるキャッシュ・システムをそれぞれ示す図である。図２Ａには、命令キャッシュ・システムを示す。加算器２１６は、フェッチ幅ＦＷを受信し、分岐先バッファ（ＢＴＢ）２１７は、以前のプログラム・カウンタを受信し、セレクタ２１８は、加算器２１６およびＢＴＢ２１７の出力を受信する。セレクタ２１８は、現在のプログラム・カウンタＣＰＣを生成し、この現在のプログラム・カウンタＣＰＣをキャッシュ・メモリ２１４に移送する。一方、予測テーブル２１１は、指標ＩＤＸとなる以前のプログラム・カウンタＰＰＣを受信する。予測テーブル２１１は、信頼度値を予測論理回路２１２に移送する。予測論理回路２１２は、選択したセットの信頼度値のそれぞれがしきい値より大きいか否かを判定することによって、予測結果を生成する。予測検証回路２１３は、この予測結果を受信し、タグ検証回路２１５からキャッシュ・ウェイ・ヒット／ミス／情報を受信し、予測結果に従って予測したウェイのタグを予想タグと比較し、予測正誤情報ＨＭＩ２に従って更新情報ＵＩを生成することによって、予測方式の正誤情報ＨＭＩ２を生成する。
【００３３】
タグ検証回路２１５は、キャッシュ・メモリ２１４に結合され、キャッシュ・メモリ２１４からのタグを予想タグと比較して、データ・アクセスのためのキャッシュ・システムのヒット／ミス情報ＨＭＩ１を生成する。
【００３４】
図２Ｂには、データ・キャッシュ・システムを示す。図２Ａと異なり、ハッシュ演算子２２８は、ベース部分アドレスＢＡＳＥおよびオフセット部分アドレスＯＦＦＳＥＴを受信し、ベース部分アドレスＢＡＳＥおよびオフセット部分アドレスＯＦＦＳＥＴに対してハッシュ演算を実行して、指標ＩＤＸを生成する。ベース部分アドレスＢＡＳＥおよびオフセット部分アドレスＯＦＦＳＥＴは、演算論理ユニット２２６にも送られて演算され、演算結果は、アドレス・レジスタ２２７に記憶される。すなわち、予測テーブル２１１は、命令キャッシュ・システムとデータ・キャッシュ・システムとで異なる指標ＩＤＸに従って予測論理回路２１２に情報を提供する可能性がある。
【００３５】
図３を参照されたい。図３は、本開示の実施形態によるプロセッサを示すブロック図である。プロセッサ３００は、予測テーブル３１０、予測論理回路３２０、および予測検証回路３３０を含む。予測テーブル３１０は、複数のセットを含み、これらのセットのうちの１つが指標ＩＤＸに従って選択される。予測テーブル３１０の選択されたセットには４つのウェイＷ１〜Ｗ４があり、ウェイＷ１〜Ｗ４は、それぞれキャッシュ・メモリ３８０の選択されたセットのウェイＣＷ１〜ＣＷ４に対応する。キャッシュ・メモリ３８０の選択されたセットは、キャッシュ・セット指標ＣＳＩＤＸに従って選択される。
【００３６】
詳細な動作では、予測テーブル３１０は、選択したセットのウェイＷ１〜Ｗ４の信頼度値を予測論理回路３２０に提供する。予測論理回路３２０は、選択したセットの信頼度値のそれぞれがしきい値より大きいか否かを判定することによって、予測結果を決定する。例えば、ウェイＷ１〜Ｗ４の全ての信頼度値がしきい値より大きい場合には、全てのウェイＣＷ１〜ＣＷ４が開いたウェイであると予測される。あるいは、ウェイＷ１の信頼度値のみがしきい値より大きい場合には、ウェイＣＷ１のみが開いたウェイであると予測される。
【００３７】
予測検証回路３３０は、キャッシュ・メモリ３８０の少なくとも１つの開いたウェイのタグを予想タグと比較して、正誤情報を生成する。予測した開いたウェイのうちの１つが正しいと決定された場合には、予測検証回路３３０は、対応する信頼度値をプリセット値に設定し、また、予測検証回路３３０は、誤りであるウェイに対応する信頼度値をステップ値（例えば１）だけ低下させる。これらのステップに基づき、予測検証回路３３０が更新情報ＵＩを生成することができ、この更新情報ＵＩが予測テーブル３１０に提供され、それに応じて予測テーブル３１０が更新される。
【００３８】
タグ検証回路３４０は、キャッシュ・メモリ３８０および予測検証回路３３０に結合される。タグ検証回路３４０を使用して、キャッシュ・メモリ３８０中のウェイの任意のタグが予想タグと同じであるかどうかを判定することができる。予想タグがあるウェイのタグと一致する場合には、キャッシュ・メモリ３８０の予想データを、インタフェース回路３６０を介してプロセッサ３００のコア回路に送信することができる。
【００３９】
図４を参照されたい。図４は、本開示の実施形態によるウェイ予測方法を示す流れ図である。ステップＳ４１０で、プロセッサからの命令に従って、予測テーブルの指標を得る。ステップＳ４２０で、指標に従って、予測テーブルからの信頼度値を得る。ステップＳ４３０で、しきい値より大きな信頼度値を有するキャッシュ・ウェイを読み取り、ステップＳ４４０で、それらのキャッシュ・ウェイから読み取ったデータを検証する。さらに、ステップＳ４５０で、開いたウェイの任意のタグが予想タグと同じであるかどうかを判定し、開いたウェイの１つのタグが予想タグと同じである場合には、「キャッシュ・ヒット」および「正しい予測」状態を決定し、次いで、ステップ４９０を実行する。開いたウェイの全てのタグが予想タグと同じでない場合には、ステップＳ４６０を実行する。
【００４０】
ステップＳ４６０で、しきい値より大きくない信頼度値を有する残りのキャッシュ・ウェイを読み取る。次いで、ステップＳ４７０で、残りのウェイの任意のタグが予想タグと同じであるかどうかを判定する。残りのウェイの１つのタグが予想タグと同じである場合には、「キャッシュ・ヒット」および「誤りの予測」状態を決定し、次いで、ステップＳ４９０を実行する。全てのタグが予想タグと異なる場合には、キャッシュ・ミス状態を決定し、ステップＳ４８０を実行する。
【００４１】
ステップＳ４８０で、ミスであったキャッシュ線のキャッシュ補充位置となるキャッシュ・ウェイを選択し、ミスであったキャッシュ線を割り当てる。ステップＳ４９０で、Ｓ４５０のヒット・ウェイ、またはステップＳ４９０のキャッシュ補充動作の新たに選択したウェイを選択する。ステップＳ４１００で、選択したウェイに割り当てられるミスであったキャッシュ線のデータが、プロセッサに送信される。ステップＳ４１１０で、選択したウェイの信頼度値を上限値（プリセット値）に設定し、残りのウェイの信頼度値を低下させることによって、信頼度値を調節する。
【００４２】
図６Ａ〜図６Ｅを参照されたい。図６Ａ〜図６Ｅは、本開示の実施形態による予測テーブルの更新を示す概略図である。図６Ａ〜図６Ｅにおいて、予測テーブルは、図５Ａの予測テーブル１１０Ａと同じである。図６Ａでは、指標ＩＤＸに従って、予測テーブル６１０のセットＳＥＴＡが選択されている。信頼度値３、３、３、３が、予測論理回路６２０に送信されて、各信頼度値がしきい値（１）より大きいかどうかを判定する。図６Ａでは、全ての信頼度値がしきい値より大きく、全てのウェイが開いたウェイであると予測される。予測検証回路６３０は、予測した開いたウェイのタグと予想タグとを比較し、この例では、第１のウェイが、正しいウェイであると決定される。したがって、予測検証回路６３０は、３、２、２、２という更新された情報ＵＩを予測テーブル６１０に移送して、予測テーブル６１０のセットＳＥＴＡ中の信頼度値を更新する。
【００４３】
図６Ｂでは、ウェイ予測方式を再度実行し、予測検証回路６３０は、第２のウェイが正しいウェイであると決定する。予測検証回路６３０は、２、３、１、１という更新された情報ＵＩを生成して、予測テーブル６１０のセットＳＥＴＡ中の信頼度値を更新する。
【００４４】
図６Ｃでは、第３のウェイおよび第４のウェイの信頼度値がしきい値（１）より大きくないので、第１のウェイおよび第２のウェイのみが開いたウェイであると予測される。次いで、予測検証回路６３０は、第３のウェイが正しいウェイであると検証し、新たな更新情報１、２、３、０を生成して、予測テーブル６１０のセットＳＥＴＡ中の信頼度値を更新する。この場合には、第３のウェイの信頼度値は、プリセット値（上限値）３に設定される。図６Ｄでは、第３のウェイが再度正しいウェイであり、第３のウェイの信頼度値は３に維持され、残りのウェイの信頼度値が１だけ低下する。図６Ｅでは、第２のウェイが新たな正しいウェイであると決定され、次いで第２のウェイの信頼度値がプリセット値（上限値）３に設定され、残りのウェイの信頼度値が１だけ低下する。
【００４５】
図７Ａ〜図７Ｅを参照されたい。図７Ａ〜図７Ｅは、本開示の別の実施形態による予測テーブルの更新を示す概略図である。図７Ａ〜図７Ｅにおいて、予測テーブル７１０は、図５Ｂの予測テーブル１１０Ｂと同じである。指標ＩＤＸに従ってセットＳＥＴＡが選択され、予測論理回路７２０を使用して、信頼度値としきい値とを比較して、予測情報を生成する。予測検証回路７３０は、正誤情報を決定し、更新された情報ＵＩを生成する。
【００４６】
図７Ａで、予測テーブル７１０のセットＳＥＴＡは、１、２、０を記録しており、第１のウェイがホット・ウェイであり、第２のウェイがウォーム・ウェイであることを示している。第２のウェイの信頼度値（０）は、しきい値（２）より大きくない。したがって、第１のウェイが開いていると予測され、残りのキャッシュ・ウェイは閉じていると予測される。次いで、予測検証回路７３０は、第１のウェイが正しいウェイであると示す。したがって、予測検証回路７３０は、第１のウェイをホット・ウェイとして保持し、第２のウェイの信頼度値を低下させようとする、または第２のウェイの信頼度値が既に最小値である場合にはその信頼度値を最小値に維持しようとする。したがって、その信頼度値を最小値に維持する場合、この信頼度値は変化しない。次いで、１、２、０という更新された情報ＵＩが、予測テーブル７１０に送信される。
【００４７】
図７Ｂで、予測テーブル７１０は、第１のウェイがホット・ウェイであり、第２のウェイがウォーム・ウェイ（ビクティム・ウェイ）であると示している。第２のウェイの信頼度値（０）は、依然としてしきい値（２）より小さい。したがって、第１のウェイは開いていると予測され、残りのキャッシュ・ウェイは閉じていると予測される。ただし、予測検証回路は、今度は、第２のウェイが正しいウェイであると示している。したがって、予測検証回路７３０は、第２のウェイをホット・ウェイにアップグレードし、第１のウェイをホット・ウェイからウォーム・ウェイにダウングレードして、第１のウェイの信頼度値をプリセット値（３）に設定する。次いで、２、１、３という更新された情報ＵＩが、予測テーブル７１０に送信される。
【００４８】
図７Ｃ予測テーブル７１０は、第２のウェイがホット・ウェイであり、第１のウェイがしきい値（２）より大きな信頼度値（３）を有するウォーム・ウェイであると示している。したがって、第１のウェイおよび第２のウェイが開いていると予測され、第３のウェイおよび第４のウェイが閉じていると予測される。次いで、予測検証回路７３０が、第３のウェイが正しいウェイであると示す。したがって、予測検証回路７３０は、第３のウェイをホット・ウェイにアップグレードし、第２のウェイをホット・ウェイからウォーム・ウェイにダウングレードして、第２のウェイの信頼度値をプリセット値（３）に設定する。次いで、３、２、３という更新された情報ＵＩが、予測テーブル７１０に送信される。
【００４９】
図７Ｄで、予測テーブル７１０は、第３のウェイがホット・ウェイであり、第２のウェイがしきい値（２）より大きな信頼度値（３）を有するウォーム・ウェイであると示している。したがって、第３のウェイおよび第２のウェイが開いていると予測され、残りのウェイが閉じていると予測される。次いで、予測検証回路７３０は、第３のウェイが正しいウェイであると示す。したがって、予測検証回路７３０は、第３のウェイをホット・ウェイとして保持し、第２のウェイの信頼度値を３から２に低下させる。次いで、３、２、２という更新された情報ＵＩが、予測テーブル７１０に送信される。
【００５０】
図７Ｅで、予測テーブル７１０は、第３のウェイが依然としてホット・ウェイであり、第２のウェイがしきい値（２）より大きくない信頼度値（２）を有するウォーム・ウェイであると示している。したがって、第３のウェイが開いていると予測され、残りのウェイが閉じていると予測される。次いで、予測検証回路７３０は、第２のウェイが正しいウェイであると示す。したがって、予測検証回路７３０は、第２のウェイをホット・ウェイにアップグレードし、第３のウェイをウォーム・ウェイにダウングレードして、第３のウェイの信頼度値をプリセット値（３）に設定する。次いで、２、３、３という更新された情報ＵＩが、予測テーブル７１０に送信される。
【００５１】
本発明の範囲または趣旨を逸脱することなく、本発明の構造に対して様々な修正および改変を加えることができることは、当業者には明らかであろう。以上の説明に鑑みて、本発明の修正形態および改変形態が以下の特許請求の範囲およびその均等物の範囲に含まれるならば、本発明は、本発明の修正形態および改変形態をカバーするものと意図されている。
【産業上の利用可能性】
【００５２】
本発明は、プロセッサの予測テーブルを提供する。この予測テーブルは、ウェイの信頼度値をしきい値と比較することによってどのウェイが開いたウェイであるかを決定するために使用され、また、正誤情報に従って更新される。本発明では、１つまたは複数のウェイが開いていると予測することができ、選択したキャッシュ・セットの全てのウェイが、正しいデータを得るために常に開いているわけではないので、それに応じて電力消費を節約することができる。
【符号の説明】
【００５３】
１００、３００  プロセッサ
１１０、１１０Ａ、１１０Ｂ、２１１、６１０、７１０  予測テーブル
１２０、２１２、３２０  予測論理回路
１３０、２１３、３３０、６３０、７３０  予測検証回路
１４０、２１４  キャッシュ・メモリ
ＳＥＴ１〜ＳＥＴＮ  セット
ＣＶ１−１〜ＣＶＮ−４  信頼度値
ＩＤＸ  指標
ＨＩＤ１〜ＨＩＤＮ  ホット・ウェイ番号
ＷＩＤ１〜ＷＩＤＮ  ウォーム・ウェイ番号
ＨＭＩ１〜ＨＭＩ２  正誤情報
２１６  加算器
２１８  セレクタ
２１７  分岐先バッファ
ＰＰＣ  プログラム・カウンタ
ＦＷ  フェッチ幅
ＵＩ  更新情報
２２８  ハッシュ演算子
ＢＡＳＥ  ベース部分アドレス
ＯＦＦＳＥＴ  オフセット部分アドレス
２２６  演算論理ユニット
２２７  アドレス・レジスタ
Ｗ１〜Ｗ４、ＣＷ１〜ＣＷ４  ウェイ
ＣＳＩＤＸ  キャッシュ・セット指標
３８０  キャッシュ・メモリ
３４０  タグ検証回路
Ｓ４１０〜Ｓ４１１０  ウェイ予測ステップ
ＳＥＴＡ  セット
【図１】
2018190372.tif 000003
【図２Ａ】
2018190372.tif 000004
【図２Ｂ】
2018190372.tif 000005
【図３】
2018190372.tif 000006
【図４】
2018190372.tif 000007
【図５Ａ】
2018190372.tif 000008
【図５Ｂ】
2018190372.tif 000009
【図６Ａ】
2018190372.tif 000010
【図６Ｂ】
2018190372.tif 000011
【図６Ｃ】
2018190372.tif 000012
【図６Ｄ】
2018190372.tif 000013
【図６Ｅ】
2018190372.tif 000014
【図７Ａ】
2018190372.tif 000015
【図７Ｂ】
2018190372.tif 000016
【図７Ｃ】
2018190372.tif 000017
【図７Ｄ】
2018190372.tif 000018
【図７Ｅ】
2018190372.tif 000019
【手続補正書】
【提出日】平成30年8月10日(2018.8.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
キャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが該キャッシュ・セットの複数のウェイにそれぞれ対応する複数の信頼度値を有する予測テーブルであり、指標を受信して、該指標に従って選択されたセットの複数の信頼度値を提供する予測テーブルと、
該予測テーブルに結合され、該選択されたセットの複数の該信頼度値を受信し、該選択されたセットの複数の該信頼度値のそれぞれがしきい値より大きいか否かを判定することによって、対応する複数のウェイのそれぞれが開いたウェイであるかどうかを予測する予測論理回路と、
該キャッシュ・メモリ、該予測論理回路、および該予測テーブルに結合され、開いたウェイであると予測されたウェイのタグを予想タグと比較して、該タグと該予想タグとが等しい場合には開いたウェイの予測が正しいと決定し、該タグと該予想タグとが異なる場合には開いたウェイの予測が誤りであると決定することによって正誤情報を生成し、該正誤情報に従って更新情報を生成する予測検証回路とを含むプロセッサであって、
該キャッシュ・メモリが、
該予測検証回路によって開いたウェイの予測が正しいと決定された場合には、該開いたウェイから得られるデータを該プロセッサに送信し、
該予測検証回路によって開いたウェイの予測の全てが誤りであると決定された場合には、閉じたウェイであると予測されたウェイのタグを該予想タグと比較して、該タグと該予想タグとが等しい場合には、該閉じたウェイから得られるデータを該プロセッサに送信し、
該予測検証回路が、該更新情報に従って該予測テーブルの該信頼度値を更新する、プロセッサ。
【請求項２】
前記予測論理回路が、前記選択されたセットの前記信頼度値に従って前記選択されたキャッシュ・セットのウェイのうちの少なくとも１つが少なくとも１つの開いたウェイであると予測し、前記予測検証回路が、該少なくとも１つの開いたウェイのタグを前記予想タグと比較して前記正誤情報を生成する、請求項１に記載のプロセッサ。
【請求項３】
前記予測検証回路が、正しいウェイの信頼度値をプリセット値に設定し、複数の誤りであるウェイの信頼度値をステップ値だけ低下させる、請求項２に記載のプロセッサ。
【請求項４】
前記プリセット値が、前記ステップ値より大きい、請求項３に記載のプロセッサ。
【請求項５】
前記しきい値が、前記プリセット値より小さい、請求項１に記載のプロセッサ。
【請求項６】
誤りであるウェイの信頼度値が最小値である場合には、該誤りであるウェイの該信頼度値を低下させない、請求項３から５のいずれか一項に記載のプロセッサ。
【請求項７】
前記指標が、前記プロセッサのプログラム・カウンタまたはアクセスされたデータのアドレスに従って生成される、請求項１から６のいずれか一項に記載のプロセッサ。
【請求項８】
前記指標が前記アクセスされたデータの前記アドレスに従って生成される場合に、前記指標が、前記アドレスのベース部分および前記アドレスのオフセット部分に対するハッシュ演算によって生成される、請求項７に記載のプロセッサ。
【請求項９】
キャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが、ホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号に対応する少なくとも１つの信頼度値を有する予測テーブルであり、指標を受信して、該指標に従って選択されたセットの該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を提供する予測テーブルと、
該予測テーブルに結合され、該ホット・ウェイ番号が開いたウェイであると予測し、該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値がしきい値より大きいか否かを判定して該少なくとも１つのウォーム・ウェイ番号が開いたウェイであるかどうかを予測する予測論理回路と、
該キャッシュ・メモリ、該予測論理回路、および該予測テーブルに結合され、開いたウェイであると予測されたウェイのタグを予想タグと比較して、該タグと該予想タグとが等しい場合には開いたウェイの予測が正しいと決定し、該タグと該予想タグとが異なる場合には開いたウェイの予測が誤りであると決定することによって正誤情報を生成し、該正誤情報に従って更新情報を生成する予測検証回路とを含むプロセッサであって、
該キャッシュ・メモリが、
該予測検証回路によって開いたウェイの予測が正しいと決定された場合には、該開いたウェイから得られるデータを該プロセッサに送信し、
該予測検証回路によって開いたウェイの予測の全てが誤りであると決定された場合には、閉じたウェイであると予測されたウェイのタグを該予想タグと比較して、該タグと該予想タグとが等しい場合には、該閉じたウェイから得られるデータを該プロセッサに送信し、
該予測検証回路が、該更新情報に従って、該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を更新する、プロセッサ。
【請求項１０】
前記予測論理回路が、前記選択されたセットの前記信頼度値に従って前記選択されたキャッシュ・セットのウェイのうちの少なくとも１つが少なくとも１つの開いたウェイであると予測し、前記予測検証回路が、該少なくとも１つの開いたウェイのタグを前記予想タグと比較して前記正誤情報を生成する、請求項９に記載のプロセッサ。
【請求項１１】
前記ホット・ウェイ番号に対応するウェイが正しいウェイであり、前記少なくとも１つのウォーム・ウェイ番号に対応するウェイが誤りであるウェイであるときに、前記予測検証回路が、前記少なくとも１つのウォーム・ウェイの前記少なくとも１つの信頼度値を低下させる、請求項９から１０のいずれか一項に記載のプロセッサ。
【請求項１２】
前記予測検証回路が、前記正誤情報に従って、正しいウォーム・ウェイ番号をホット・ウェイ番号となるように更新する、請求項９から１１のいずれか一項に記載のプロセッ
サ。
【請求項１３】
前記少なくとも１つのウォーム・ウェイ番号が更新されたときに、対応する信頼度値がプリセット値に設定される、請求項９から１２のいずれか一項に記載のプロセッサ。
【請求項１４】
プロセッサに適合されたウェイ予測方法であって、
キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが該キャッシュ・セットの複数のウェイにそれぞれ対応する複数の信頼度値を有する予測テーブルを設定するステップと、
該予測テーブルが、指標を受信して、該指標に従って選択されたセットの複数の信頼度値を提供するステップと、
該選択されたセットの複数の該信頼度値を受信し、該選択されたセットの複数の該信頼度値のそれぞれがしきい値より大きいか否かを判定することによって、対応する複数のウェイのそれぞれが開いたウェイであるかどうかを予測するステップと、
開いたウェイであると予測されたウェイのタグを予想タグと比較して、該タグと該予想タグとが等しい場合には開いたウェイの予測が正しいと決定し、該タグと該予想タグとが異なる場合には開いたウェイの予測が誤りであると決定することによって正誤情報を生成し、該正誤情報に従って更新情報を生成するステップと、
開いたウェイの予測が正しいと決定された場合に、該開いたウェイから得られるデータを該プロセッサに送信するステップと、
開いたウェイの予測の全てが誤りであると決定された場合に、閉じたウェイであると予測されたウェイのタグを該予想タグと比較するステップと、
閉じたウェイであると予測されたウェイの該タグと該予想タグとが等しい場合に、該閉じたウェイから得られるデータを該プロセッサに送信するステップと、
該更新情報に従って該予測テーブルの該信頼度値を更新するステップとを含む、方法。
【請求項１５】
プロセッサに適合されたウェイ予測方法であって、
キャッシュ・システムのキャッシュ・メモリの複数のキャッシュ・セットにそれぞれ対応する複数のセットを有し、該セットのそれぞれが、ホット・ウェイ番号、少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号に対応する少なくとも１つの信頼度値を有する予測テーブルを設定するステップと、
該予測テーブルが、指標を受信して、該指標に従って該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を提供するステップと、
該ホット・ウェイ番号が開いたウェイであると予測し、該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値がしきい値より大きいか否かを判定して該少なくとも１つのウォーム・ウェイ番号が開いたウェイであるかどうかを予測するステップと、
開いたウェイであると予測されたウェイのタグを予想タグと比較して、該タグと該予想タグとが等しい場合には開いたウェイの予測が正しいと決定し、該タグと該予想タグとが異なる場合には開いたウェイの予測が誤りであると決定することによって正誤情報を生成し、該正誤情報に従って更新情報を生成するステップと、
開いたウェイの予測が正しいと決定された場合に、該開いたウェイから得られるデータを該プロセッサに送信するステップと、
開いたウェイの予測の全てが誤りであると決定された場合に、閉じたウェイであると予測されたウェイのタグを該予想タグと比較するステップと、
閉じたウェイであると予測されたウェイの該タグと該予想タグとが等しい場合に、該閉じたウェイから得られるデータを該プロセッサに送信するステップと、
該更新情報に従って、該ホット・ウェイ番号、該少なくとも１つのウォーム・ウェイ番号、および該少なくとも１つのウォーム・ウェイ番号の該少なくとも１つの信頼度値を更新するステップとを含む、方法。
【外国語明細書】
2018190372000001.pdf