【手続補正書】
【提出日】平成30年10月26日(2018.10.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ、共有キャッシュ、およびメインメモリを通信可能に結合するために構成される相互接続と、
データのセットを前記メインメモリから前記相互接続を介してプロセッサキャッシュに格納するために先読みするために構成されるプロセッサキャッシュプリフェッチャであって、前記プロセッサキャッシュは、前記プロセッサに関連付けられており、前記プロセッサキャッシュプリフェッチャは、データの第1の部分が、前記プロセッサにより使用されていない、前記プロセッサによる第1の将来使用の第1の確率を有する、及び前記プロセッサキャッシュから共有キャッシュに送信される、ことを示すために前記データのセットのデータの第1の部分に未使用データとタグを付け、データの第2の部分が、前記プロセッサにより使用されている、及び前記プロセッサキャッシュから前記メインメモリに送信される、ことを示すために前記データのセットに関連するデータの第2の部分に使用済みデータとタグを付け、前記第1の将来使用の前記第1の確率は、前記プロセッサが一定期間内に前記データの第1の部分を使用する確率に基づく、プロセッサキャッシュプリフェッチャと、
未使用データとしてタグ付けされた前記データの第1の部分に基づいて、前記データの第1の部分を前記プロセッサキャッシュから前記共有キャッシュに前記相互接続を介して追い出し、使用済みデータとしてタグ付けされた前記データの第2の部分に基づいて、前記データの第2の部分を前記プロセッサキャッシュから前記メインメモリに前記相互接続を介して追い出すように構成されるプロセッサキャッシュエビクタと
を備える、キャッシュ先読みシステム。
【請求項２】
前記相互接続は、リング相互接続を備える、請求項1に記載のキャッシュ先読みシステム。
【請求項３】
前記プロセッサキャッシュは、レベル2キャッシュを備え、前記共有キャッシュは、レベル3キャッシュを備える、請求項1に記載のキャッシュ先読みシステム。
【請求項４】
前記データのセットは、前記プロセッサによって実行される第1のデータ、および前記第1のデータに関連付けられた第2のデータを含む、請求項1に記載のキャッシュ先読みシステム。
【請求項５】
前記第2のデータは、前記第1のデータに関連する第1のアドレス空間が、前記メインメモリの前記第2のデータに関連する第2のアドレス空間に規定された近接内であることの決定に基づいて前記第1のデータに関連して決定される、請求項4に記載のキャッシュ先読みシステム。
【請求項６】
前記プロセッサキャッシュプリフェッチャはさらに、前記プロセッサによる前記データの第1の部分の第1の将来使用の第1の確率を示す第1のタグで前記データの第1の部分をタグ付けし、前記プロセッサによる前記データの第2の部分の第2の将来使用の第2の確率を示す第2のタグで前記データの第2の部分をタグ付けするように構成される、請求項1に記載のキャッシュ先読みシステム。
【請求項７】
前記プロセッサキャッシュプリフェッチャはさらに、前記プロセッサキャッシュ内で前記データのセットの少なくとも一部に関連するメモリ位置が特定しないことに応答して、前記プロセッサキャッシュに格納するために前記相互接続を介して前記メインメモリから前記データのセットを先読みするように構成されている、請求項1に記載のキャッシュ先読みシステム。
【請求項８】
前記プロセッサキャッシュプリフェッチャはさらに、前記プロセッサが前記データの第1の部分を要求することに応答して、前記データの第1の部分を前記共有キャッシュから先読みするために構成される、請求項1に記載のキャッシュ先読みシステム。
【請求項９】
前記共有キャッシュは、前記プロセッサを含む複数のプロセッサにより共有される、請求項1に記載のキャッシュ先読みシステム。
【請求項１０】
プロセッサと、
前記プロセッサによって実行されるときに動作の実施を容易にする実行可能命令を記憶するメモリと
を備え、前記動作が、
前記プロセッサに関連付けられたプロセッサキャッシュに格納するために、システムメモリからデータのセットを先読みするステップと、
前記データのセットに関連するデータの第1の部分に、前記データの第1の部分が、前記プロセッサにより実行されるとともに前記プロセッサキャッシュから前記システムメモリに送信されるべき実行済みデータである、との第1の表示でタグ付けするステップと、
前記データの第2の部分が、前記プロセッサにより使用されておらず、一定期間内に前記プロセッサにより実行されると予想されることを決定することに基づいて、前記データのセットのデータの第2の部分に、第2の表示でタグ付けするステップであって、前記データの第2の部分は、前記一定期間内に前記プロセッサにより実行される所定の確率を有すると決定される、ステップと、
前記データの第2の部分の前記タグ付けに基づいて、前記データの第2の部分を前記プロセッサキャッシュから共有キャッシュに追い出すステップと
を含む、キャッシュ先読みシステム。
【請求項１１】
前記動作はさらに、
前記第1の表示に基づいて、前記データの第1の部分を前記プロセッサキャッシュから前記システムメモリに追い出すステップ
を含む、請求項10に記載のキャッシュ先読みシステム。
【請求項１２】
前記動作はさらに、
前記データの第2の部分を実行するための要求を前記プロセッサから受け取ることに応答して、前記追い出されたデータの第2の部分を前記共有キャッシュから前記プロセッサキャッシュに先読みするステップ
を含む、請求項10に記載のキャッシュ先読みシステム。
【請求項１３】
前記プロセッサ、前記システムメモリ、および前記共有キャッシュは、リング相互接続を介して通信可能に結合される、請求項10に記載のキャッシュ先読みシステム。
【請求項１４】
前記共有キャッシュからデータを取り出すための第1のレイテンシは、前記システムメモリからデータを取り出すための第2のレイテンシ未満である、請求項10に記載のキャッシュ先読みシステム。
【請求項１５】
前記データの第1の部分がデータ要求において要求され、前記データの第2の部分は前記データ要求で要求されず、前記システムメモリ内の前記データの第1の部分と前記データの第2の部分との論理的近接度および物理的近接度に基づいて、前記データの第1の部分と前記データの第2の部分は、互いに関連していると決定され、前記データの第1の部分と前記データの第2の部分が互いに関連すると決定されることに基づいた前記データ要求に応答して、前記データの第1の部分および前記データの第2の部分が、前記プロセッサキャッシュに格納するために前記システムメモリから先読みされる、請求項10に記載のキャッシュ先読みシステム。
【請求項１６】
プロセッサキャッシュに格納するためにシステムメモリからデータのセットを先読みするステップであって、前記プロセッサキャッシュは、プロセッサに関連付けられている、ステップと、
前記データのセットに関連するデータの第1の部分に、前記データの第1の部分は、前記プロセッサにより使用されるとともに前記プロセッサキャッシュから前記システムメモリに通信されるべき使用済みデータであることを示す第1のインジケータでタグ付けするステップと、
前記データのセットのデータの第2の部分に、前記データの第2の部分は、未使用データであり、前記データの第2の部分が、前記プロセッサにより使用されておらず、一定期間内に前記プロセッサにより実行されると予想されることを決定することに基づいて、前記プロセッサキャッシュから共有キャッシュに通信されることを示す第2のインジケータでタグ付けするステップと、
前記データの第2の部分に前記第2のインジケータでタグ付けする前記ステップに基づいて、前記データの第2の部分を前記プロセッサキャッシュから前記共有キャッシュに追い出すステップと
を含む、キャッシング方法。
【請求項１７】
前記データの第1の部分に前記第1のインジケータでタグ付けする前記ステップに基づいて、前記データの第1の部分を前記プロセッサキャッシュから前記システムメモリに追い出すステップ、
をさらに含む、請求項16に記載のキャッシング方法。
【請求項１８】
前記データの第2の部分を実行するための要求を前記プロセッサから受け取ることに応答して、前記追い出されたデータの第2の部分を前記共有キャッシュから前記プロセッサキャッシュに先読みするステップ
をさらに含む、請求項16に記載のキャッシング方法。
【請求項１９】
前記先読みするステップおよび前記追い出すステップは、前記プロセッサ、前記システムメモリ、および前記共有キャッシュを結合するリング相互接続を介している、請求項16に記載のキャッシング方法。
【請求項２０】
前記データの第1の部分に前記第1のインジケータでタグ付けする前記ステップを容易にするために、第1のインジケータビットを第1の値に設定するステップと、
前記データの第2の部分に前記第2のインジケータでタグ付けする前記ステップを容易にするために、第2のインジケータビットを第2の値に設定するステップと
をさらに含む、請求項16に記載のキャッシング方法。