JP6325243B2

Retention priority based cache replacement policy

Abstract

This record has no abstract on file.

JP6325243B2, drawing sheet 1
Sheet 1 of 7

Term

7.2 yearsleft in the term

Expires 12 December 2033.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

18 claims: 10 independent, 8 dependent

  1. 1
    データを処理するための装置であって、 メモリアクセス要求の複数のソース であって、実行のためのプログラム命令をフェッチするように構成された、命令フェッチ回路と、前記プログラム命令の制御下で処理操作の対象となるデータ値にアクセスするように構成された、データアクセス回路とを含む、複数のソース と、 前記複数のソースに連結されるキャッシュメモリと、 前記キャッシュメモリに連結され、前記キャッシュメモリへのキャッシュラインの挿入、および前記キャッシュメモリからのキャッシュラインの追い出しを制御するように構成された、キャッシュ制御回路と、を備え、 前記キャッシュ制御回路は、前記キャッシュメモリに挿入される各キャッシュラインと関連付けられるそれぞれの保持優先度値を記憶するように構成され、 前記キャッシュ制御回路は、前記保持優先度値に依存して前記キャッシュメモリから追い出すキャッシュラインを選択するように構成され、また、 前記キャッシュ制御回路は、 (i)前記 命令フェッチ回路と前記データアクセス回路のいずれか1つ が、前記キャッシュメモリへの前記キャッシュラインの挿入をもたらす、メモリアクセス要求を発行したのか、および (ii)前記メモリアクセス要求の特権レベル、のうちの少なくとも1つに依存して前記キャッシュメモリに挿入されるキャッシュラインと関連付けられる、保持優先度値を設定するように構成 され、 前記キャッシュ制御回路は、 高い保持優先度に対応する保持優先度値を有するキャッシュラインに優先して、低い保持優先度に対応する保持優先度値を有するキャッシュラインを追い出し、 最低保持優先度に対応する関連する保持優先度値を有するキャッシュラインの中から追い出すためのキャッシュラインを選択し、 前記最低保持優先度に対応する関連する保持優先度値を伴う、いかなるキャッシュラインもない場合、少なくとも1つのキャッシュラインが、前記最低保持優先度に対応する保持優先度値を有するまで、前記キャッシュメモリ内の全ての前記キャッシュラインの保持優先度を降格させる ように構成された、 装置。
  2. 2
    前 記命令フェッチ回路によって発行されるメモリアクセス要求の結果として前記キャッシュメモリに挿入されるキャッシュラインは、命令保持優先度値と関連付けられ、また、前記データアクセス回路によって発行されるメモリアクセス要求の結果として前記キャッシュメモリに挿入されるキャッシュラインは、前記命令保持優先度値と異なるデータ保持優先度値と関連付けられる、請求項1に記載の装置。
  3. 3
    前記キャッシュ制御回路は、 (i)前記命令保持優先度値が、前記データ保持優先度値よりも高い保持優先度に対応すること、および (ii)前記命令保持優先度値が、前記データ保持優先度値よりも低い保持優先度に対応すること、のうちの1つを設定するように、フラグ値に応答する、請求項 2 に記載の装置。
  4. 4
    前記フラグ値は、ソフトウェアプログラマブルなフラグ値である、請求項 3 に記載の装置。
  5. 5
    前記命令フェッチ回路および前記データアクセス回路は、インオーダープロセッサの一部であり、前記命令保持優先度値は、前記データ保持優先度値よりも低い保持優先度に対応する、請求項 2 に記載の装置。
  6. 6
    前記保持優先度値は、それらの関連するキャッシュラインのTAG値とともに前記キャッシュメモリ内に記憶される、請求項1に記載の装置。
  7. 7
    前記キャッシュ制御回路は、最低保持優先度に対応する関連する保持優先度値を有するキャッシュラインの中から追い出すための前記キャッシュラインをランダムに選択するように構成された、請求項 1 に記載の装置。
  8. 8
    前記キャッシュ制御回路は、前記キャッシュメモリの中に既に存在するキャッシュラインへのアクセスを検出し、前記キャッシュラインの保持優先度を昇格させるために前記キャッシュラインの保持優先度値を変更するように構成された、請求項 1 に記載の装置。
  9. 9
    前記保持優先度値は、 (i)各アクセスに応じた、最高保持優先度へ向けての前記キャッシュラインの保持優先度の漸増的な昇格、 (ii)最高保持優先度への前記キャッシュラインの直接的な昇格、のうちの1つを行うように変更される、請求項 8 に記載の装置。
  10. 10
    前記複数のソースは、汎用プロセッサと、グラフィックス処理ユニットとを含む、請求項1に記載の装置。
  11. 11
    前記複数のソースは、複数の汎用プロセッサを含む、請求項1に記載の装置。
  12. 12
    前記キャッシュメモリは、少なくとも1つの1次キャッシュメモリおよび2次キャッシュメモリを含むキャッシュメモリの階層内の、前記2次キャッシュメモリである、請求項1に記載の装置。
  13. 13
    前記キャッシュメモリは、少なくとも1つの1次キャッシュメモリ、少なくとも1つの2次キャッシュメモリ、および3次キャッシュメモリを含むキャッシュメモリの階層内の、前記3次キャッシュメモリである、請求項1に記載の装置。
  14. 14
    前記保持優先度値は、nビットの保持優先度値であり、キャッシュラインの挿入に応じて前記キャッシュ制御回路によって設定することができる、異なる保持優先度値の合計が、2 n -1である、請求項1に記載の装置。
  15. 15
    カーネルプログラム特権レベルを伴うメモリアクセス要求の結果として前記キャッシュメモリに挿入されるキャッシュラインは、カーネル保持優先度値と関連付けられ、前記キャッシュレベルに挿入されるキャッシュラインは、ユーザ保持優先度値と関連付けられる、請求項1に記載の装置。
  16. 16
    前記カーネル保持優先度値が、前記ユーザ保持優先度値よりも高い保持優先度に対応する、 前記ユーザ保持優先度値が、前記カーネル保持優先度値よりも高い保持優先度に対応する、のうちの1つである、請求項 15 に記載の装置。
  17. 17
    データを処理するための装置であって、 メモリアクセス要求を生成するための複数のソース手段 であって、実行のためのプログラム命令をフェッチするように構成された、命令フェッチ手段と、前記プログラム命令の制御下で処理操作の対象となるデータ値にアクセスするように構成された、データアクセス手段とを含む、複数のソース手段 と、 データを記憶するためのキャッシュメモリ手段と、 前記キャッシュメモリ手段へのキャッシュラインの制御挿入、および前記キャッシュメモリ手段からのキャッシュラインの追い出しを制御するためのキャッシュ制御手段と、を備え、 前記キャッシュ制御手段は、前記キャッシュメモリ手段に挿入される各キャッシュラインと関連付けられるそれぞれの保持優先度値を記憶するように構成され、 前記キャッシュ制御手段は、前記保持優先度値に依存して前記キャッシュメモリ手段から追い出すキャッシュラインを選択するように構成され、 前記キャッシュ制御手段は、 (i)前記 命令フェッチ手段と前記データアクセス手段のいずれか1つが 、前記キャッシュメモリ手段への前記キャッシュラインの挿入をもたらす、メモリアクセス要求を発行したのか、および (ii)前記メモリアクセス要求の特権レベル、のうちの少なくとも1つに依存して前記キャッシュメモリ手段に挿入されるキャッシュラインと関連付けられる、保持優先度値を設定するように構成 され、 前記キャッシュ制御手段は、 高い保持優先度に対応する保持優先度値を有するキャッシュラインに優先して、低い保持優先度に対応する保持優先度値を有するキャッシュラインを追い出し、 最低保持優先度に対応する関連する保持優先度値を有するキャッシュラインの中から追い出すためのキャッシュラインを選択し、 前記最低保持優先度に対応する関連する保持優先度値を伴う、いかなるキャッシュラインもない場合、少なくとも1つのキャッシュラインが、前記最低保持優先度に対応する保持優先度値を有するまで、前記キャッシュメモリ内の全ての前記キャッシュラインの保持優先度を降格させる ように構成された、 装置。
  18. 18
    データを処理する方法であって、 実行のためのプログラム命令をフェッチするように構成された命令フェッチ回路と、前記プログラム命令の制御下で処理操作の対象となるデータ値にアクセスするように構成されたデータアクセス回路とを含む、 複数のソースでメモリアクセス要求を生成するステップと、 キャッシュメモリ内にデータを記憶するステップと、 前記キャッシュメモリ手段へのキャッシュラインの制御挿入、および前記キャッシュメモリ手段からのキャッシュラインの追い出しを制御するステップと、を含み、前記方法はさらに、 前記キャッシュメモリに挿入される各キャッシュラインと関連付けられるそれぞれの保持優先度値を記憶するステップと、 前記保持優先度値に依存して前記キャッシュメモリ手段から追い出すキャッシュラインを選択するステップと、 保持優先度値を設定するステップであって、 (i)前記 命令フェッチ回路と前記データアクセス回路のいずれか1つ が、前記キャッシュメモリへの前記キャッシュラインの挿入をもたらす、メモリアクセス要求を発行したのか、および (ii)前記メモリアクセス要求の特権レベル、のうちの少なくとも1つに依存して前記キャッシュメモリに挿入されるキャッシュラインと関連付けて、設定するステップと、 高い保持優先度に対応する保持優先度値を有するキャッシュラインに優先して、低い保持優先度に対応する保持優先度値を有するキャッシュラインを追い出すステップと、 最低保持優先度に対応する関連する保持優先度値を有するキャッシュラインの中から追い出すためのキャッシュラインを選択するステップと、 前記最低保持優先度に対応する関連する保持優先度値を伴う、いかなるキャッシュラインもない場合、少なくとも1つのキャッシュラインが、前記最低保持優先度に対応する保持優先度値を有するまで、前記キャッシュメモリ内の全ての前記キャッシュラインの保持優先度を降格させるステップ、 を含む、方法。
Independent claims18