JP2017152001A - データキャッシュウェイ予測 - Google Patents
データキャッシュウェイ予測 Download PDFInfo
- Publication number
- JP2017152001A JP2017152001A JP2017056153A JP2017056153A JP2017152001A JP 2017152001 A JP2017152001 A JP 2017152001A JP 2017056153 A JP2017056153 A JP 2017056153A JP 2017056153 A JP2017056153 A JP 2017056153A JP 2017152001 A JP2017152001 A JP 2017152001A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- way
- entry
- data cache
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
- G06F2212/6082—Way prediction in set-associative cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】方法は、命令の1つまたは複数のウェイ予測特性を識別することを含む。方法は、データキャッシュのウェイを識別する命令に関連付けられたテーブルのエントリを識別するために、1つまたは複数のウェイ予測特性の識別情報に基づいて、テーブルを選択的に読み取ることも含む。方法は、命令に基づいたデータキャッシュの次のアクセスがウェイにアクセスするかどうかの予測を行うことをさらに含む。
【選択図】図1
Description
[0023] 図1は、ウェイ予測テーブル152を利用するプロセッサシステム100の要素の第1の特定の実施形態を示す。プロセッサシステム100は、データキャッシュ102、制御ロジック150、プログラムカウンタ170、タグアレイ180、および復号ロジック190を含む。データキャッシュ102は、複数のキャッシュライン120a〜dを含むデータアレイ110を含む。特定の実施形態では、データキャッシュ102がセットアソシアティブデータキャッシュを備える。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
命令の1つまたは複数のウェイ予測特性を識別することと、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取ることと、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行うこととを備える方法。
[C2]
前記1つまたは複数のウェイ予測特性が、前記命令のアドレス指定モード、前記命令の命令タイプ、前記命令がループに含まれるかどうかの指示、またはこれらの組合せを備える、C1に記載の方法。
[C3]
前記命令の前記アドレス指定モードが自動増分アドレス指定モードであるか、またはベースプラスオフセットアドレス指定モードであるかを決定することをさらに備える、C2に記載の方法。
[C4]
前記命令の前記アドレス指定モードが前記自動増分アドレス指定モードを備えるという決定に応答して、前記データキャッシュの特定のウェイを識別するために前記エントリの予測されるウェイフィールドを設定すること、ここにおいて、前記予測されるウェイフィールドは、前記エントリの生成時に設定される、をさらに備える、C3に記載の方法。
[C5]
前記命令の前記アドレス指定モードが前記ベースプラスオフセットアドレス指定モードを備えるという決定に応答して、前記データキャッシュの特定のウェイを識別するために前記エントリの予測されるウェイフィールドを設定すること、ここにおいて、前記エントリは、前記命令の第1の実行に関して生成され、および、ここにおいて、前記予測されるウェイフィールドは、前記第1の実行に続く前記命令の第2の実行に基づいて設定される、をさらに備える、C3に記載の方法。
[C6]
前記命令の前記命令タイプがロードタイプであるか、またはストアタイプであるかを決定することをさらに備える、C2に記載の方法。
[C7]
前記命令が特定のループに含まれるという前記指示に応答して、前記テーブルが選択的に読み取られる、C2に記載の方法。
[C8]
前記テーブルが前記エントリを含むかどうかを決定することと、
前記エントリがウェイ予測を提供するために有効であるかどうかを決定することと、
前記エントリが有効な予測されるウェイを示すと決定したことに応答して、前記予測されるウェイを前記エントリから取り出し、前記データキャッシュの前記予測されるウェイを選択的に駆動することとをさらに備える、C1に記載の方法。
[C9]
レジスタロケーションのデータを修正した特定の命令を識別することと、
前記テーブル内の特定のエントリが前記レジスタロケーションに対応するレジスタ識別子を含むかどうかを決定することと、
前記特定のエントリが前記特定の命令に対応するかどうかを決定することと、
前記特定のエントリが前記特定の命令に対応しないときに、前記特定のエントリを除去するかまたは無効にすることとをさらに備える、C1に記載の方法。
[C10]
命令の1つまたは複数のウェイ予測特性を識別するように構成された復号ロジックと、
前記復号ロジックに結合され、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取ることと、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行うことと
を行うように構成された制御ロジックとを備えるプロセッサ。
[C11]
複数のラインドライバと、ここにおいて、前記複数のラインドライバのうちの少なくとも1つのラインドライバは、前記予測に基づいて選択的に有効化または無効化される、
前記命令に基づいてタグルックアップ動作を行うように構成されたタグアレイと、
前記複数のラインドライバに応答し、前記タグアレイまたは前記制御ロジックから受信されたウェイ選択信号に応答するマルチプレクサと、
前記タグルックアップ動作を選択的に有効化または無効化するように構成されたスイッチとをさらに備える、C10に記載のプロセッサ。
[C12]
前記命令が増分値とアドレスとに関連付けられ、前記制御ロジックが、
前記増分値を前記アドレスに追加することによって、前記命令の増分されたアドレスを決定し、
前記増分されたアドレスが、前記データキャッシュの、前記アドレスと同じキャッシュラインにあるかどうかを決定するようにさらに構成される、C11に記載のプロセッサ。
[C13]
前記制御ロジックが、
前記増分されたアドレスが前記同じキャッシュラインにあるという決定に基づいて、前記タグルックアップ動作を選択的に無効化し、
前記タグルックアップ動作が無効化されるときに、ウェイ選択信号を前記マルチプレクサに与えるようにさらに構成される、C11に記載のプロセッサ。
[C14]
前記制御ロジックが、前記エントリを除去するか、または、前記増分されたアドレスが前記アドレスに関連付けられたキャッシュラインとは異なるキャッシュラインに関連付けられるという決定に基づいて、前記テーブルの前記エントリが無効であることを示すようにさらに構成される、C12に記載のプロセッサ。
[C15]
命令の1つまたは複数のウェイ予測特性を識別するための手段と、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取るための手段と、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行うための手段とを備える装置。
[C16]
前記命令を復号するための手段と、ここにおいて、前記命令は、レジスタ識別子を含み、予測可能な次のアドレスを有する、
前記ウェイに基づいてデータキャッシュラインを選択的に駆動するための手段とをさらに備える、C15に記載の装置。
[C17]
前記テーブル内の特定のエントリが、1つまたは複数のビットの値に基づいて、予測されるウェイを示し、前記1つまたは複数のビットが、複数のドライバのうちの各ドライバを選択的に有効化または無効化するために、マスクとして前記複数のドライバに適用される、C15に記載の装置。
[C18]
プロセッサによって実行されると、前記プロセッサに、
命令の1つまたは複数のウェイ予測特性を識別させ、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取らせ、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行わせる命令を備える非一時的コンピュータ可読媒体。
[C19]
前記プロセッサによって実行されると、前記プロセッサに、
前記命令に関連付けられた増分値を識別させ、
前記命令の実行中にアクセスされた前記データキャッシュの特定のウェイを識別させ、
増分されたアドレス値を決定するために、前記増分値を前記命令に関連付けられたアドレス値に追加させ、
前記増分されたアドレス値が前記特定のウェイに関連付けられるかどうかを決定させる命令を備える、C18に記載の非一時的コンピュータ可読媒体。
[C20]
前記プロセッサによって実行されると、前記プロセッサに、前記エントリを前記テーブル内にポピュレートさせる命令、ここにおいて、前記テーブル内の各エントリは、プログラムカウンタ識別子と、レジスタ識別子と、予測されるウェイ識別子とを含む、をさらに備える、C18に記載の非一時的コンピュータ可読媒体。
[C21]
前記命令が1つまたは複数の命令のループに含まれるという決定が行われた後に、前記エントリが生成される、C18に記載の非一時的コンピュータ可読媒体。
[C22]
前記プロセッサによって実行されると、前記プロセッサに、
複数のレジスタロケーションを監視させ、
前記複数のレジスタロケーションのうちの特定のレジスタロケーションにおけるデータが修正されるかどうかを決定させ、
特定のエントリが前記特定のレジスタロケーションに対応するレジスタ識別子を含むかどうかを決定するために、前記テーブルを読み取らせる命令をさらに備える、C18に記載の非一時的コンピュータ可読媒体。
[C23]
命令の第1の実行中に増分値を識別することと、
前記命令に基づいて、前記第1の実行中にアクセスされたデータキャッシュのウェイを識別することと、
第1の増分されたアドレス値を決定するために、前記増分値を前記命令に関連付けられたアドレス値に追加することと、
前記第1の増分されたアドレス値が前記データキャッシュの前記ウェイにあるかどうかを決定することと、
前記第1の増分されたアドレスが前記データキャッシュの前記ウェイにあると決定したことに応答して、前記命令に対応するエントリをテーブル内にポピュレートすることとを備える方法。
[C24]
前記テーブル内の各エントリが、プログラムカウンタ識別子、レジスタ識別子、予測されるウェイ識別子、有効性ビット、またはそれらの組合せを含む、C23に記載の方法。
[C25]
前記命令が自動増分命令を備えるか、またはベースプラスオフセット命令を備えるかを決定することをさらに備える、C23に記載の方法。
[C26]
前記エントリが、前記アクセスされたデータキャッシュの前記ウェイを識別し、前記エントリが前記命令の前記第1の実行とともにポピュレートされ、前記命令の第2の実行中に、
前記エントリを前記テーブルから読み取ることと、
第2の増分されたアドレス値を計算することと、
前記第2の実行中に前記ウェイをウェイ予測として適用することとを行うことをさらに備える、C23に記載の方法。
[C27]
前記ウェイを適用することが、
前記ウェイを前記エントリのウェイフィールドから取り出すことと、
前記取り出されたウェイに対応する前記データキャッシュのドライバを選択的に有効化することとを備える、C26に記載の方法。
[C28]
前記命令の後続の実行の増分されたアドレス値が前記ウェイとは異なるウェイにあると決定したことに応答して、前記テーブルを更新すること、ここにおいて、前記命令の前記後続の実行は、前記第1の実行の後である、をさらに備える、C23に記載の方法。
[C29]
前記エントリを除去するか、または、前記増分されたアドレスが前記アドレスに関連付けられたキャッシュラインとは異なるキャッシュラインに関連付けられるという決定に基づいて、前記テーブルの前記エントリが無効であることを示すことをさらに備える、C23に記載の方法。
[C30]
レジスタロケーションのデータを修正した特定の命令を識別することと、
特定のエントリが前記レジスタロケーションに対応するレジスタ識別子を含むかどうかを決定するために、前記テーブルを読み取ることと、
前記特定のエントリが前記特定の命令に対応するかどうかを決定することと、
前記特定のエントリが前記特定の命令に対応しないときに、前記特定のエントリを除去するかまたは無効にすることとをさらに備える、C23に記載の方法。
Claims (30)
- 命令の1つまたは複数のウェイ予測特性を識別することと、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取ることと、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行うこととを備える方法。 - 前記1つまたは複数のウェイ予測特性が、前記命令のアドレス指定モード、前記命令の命令タイプ、前記命令がループに含まれるかどうかの指示、またはこれらの組合せを備える、請求項1に記載の方法。
- 前記命令の前記アドレス指定モードが自動増分アドレス指定モードであるか、またはベースプラスオフセットアドレス指定モードであるかを決定することをさらに備える、請求項2に記載の方法。
- 前記命令の前記アドレス指定モードが前記自動増分アドレス指定モードを備えるという決定に応答して、前記データキャッシュの特定のウェイを識別するために前記エントリの予測されるウェイフィールドを設定すること、ここにおいて、前記予測されるウェイフィールドは、前記エントリの生成時に設定される、をさらに備える、請求項3に記載の方法。
- 前記命令の前記アドレス指定モードが前記ベースプラスオフセットアドレス指定モードを備えるという決定に応答して、前記データキャッシュの特定のウェイを識別するために前記エントリの予測されるウェイフィールドを設定すること、ここにおいて、前記エントリは、前記命令の第1の実行に関して生成され、および、ここにおいて、前記予測されるウェイフィールドは、前記第1の実行に続く前記命令の第2の実行に基づいて設定される、をさらに備える、請求項3に記載の方法。
- 前記命令の前記命令タイプがロードタイプであるか、またはストアタイプであるかを決定することをさらに備える、請求項2に記載の方法。
- 前記命令が特定のループに含まれるという前記指示に応答して、前記テーブルが選択的に読み取られる、請求項2に記載の方法。
- 前記テーブルが前記エントリを含むかどうかを決定することと、
前記エントリがウェイ予測を提供するために有効であるかどうかを決定することと、
前記エントリが有効な予測されるウェイを示すと決定したことに応答して、前記予測されるウェイを前記エントリから取り出し、前記データキャッシュの前記予測されるウェイを選択的に駆動することとをさらに備える、請求項1に記載の方法。 - レジスタロケーションのデータを修正した特定の命令を識別することと、
前記テーブル内の特定のエントリが前記レジスタロケーションに対応するレジスタ識別子を含むかどうかを決定することと、
前記特定のエントリが前記特定の命令に対応するかどうかを決定することと、
前記特定のエントリが前記特定の命令に対応しないときに、前記特定のエントリを除去するかまたは無効にすることとをさらに備える、請求項1に記載の方法。 - 命令の1つまたは複数のウェイ予測特性を識別するように構成された復号ロジックと、
前記復号ロジックに結合され、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取ることと、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行うことと
を行うように構成された制御ロジックとを備えるプロセッサ。 - 複数のラインドライバと、ここにおいて、前記複数のラインドライバのうちの少なくとも1つのラインドライバは、前記予測に基づいて選択的に有効化または無効化される、
前記命令に基づいてタグルックアップ動作を行うように構成されたタグアレイと、
前記複数のラインドライバに応答し、前記タグアレイまたは前記制御ロジックから受信されたウェイ選択信号に応答するマルチプレクサと、
前記タグルックアップ動作を選択的に有効化または無効化するように構成されたスイッチとをさらに備える、請求項10に記載のプロセッサ。 - 前記命令が増分値とアドレスとに関連付けられ、前記制御ロジックが、
前記増分値を前記アドレスに追加することによって、前記命令の増分されたアドレスを決定し、
前記増分されたアドレスが、前記データキャッシュの、前記アドレスと同じキャッシュラインにあるかどうかを決定するようにさらに構成される、請求項11に記載のプロセッサ。 - 前記制御ロジックが、
前記増分されたアドレスが前記同じキャッシュラインにあるという決定に基づいて、前記タグルックアップ動作を選択的に無効化し、
前記タグルックアップ動作が無効化されるときに、ウェイ選択信号を前記マルチプレクサに与えるようにさらに構成される、請求項11に記載のプロセッサ。 - 前記制御ロジックが、前記エントリを除去するか、または、前記増分されたアドレスが前記アドレスに関連付けられたキャッシュラインとは異なるキャッシュラインに関連付けられるという決定に基づいて、前記テーブルの前記エントリが無効であることを示すようにさらに構成される、請求項12に記載のプロセッサ。
- 命令の1つまたは複数のウェイ予測特性を識別するための手段と、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取るための手段と、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行うための手段とを備える装置。 - 前記命令を復号するための手段と、ここにおいて、前記命令は、レジスタ識別子を含み、予測可能な次のアドレスを有する、
前記ウェイに基づいてデータキャッシュラインを選択的に駆動するための手段とをさらに備える、請求項15に記載の装置。 - 前記テーブル内の特定のエントリが、1つまたは複数のビットの値に基づいて、予測されるウェイを示し、前記1つまたは複数のビットが、複数のドライバのうちの各ドライバを選択的に有効化または無効化するために、マスクとして前記複数のドライバに適用される、請求項15に記載の装置。
- プロセッサによって実行されると、前記プロセッサに、
命令の1つまたは複数のウェイ予測特性を識別させ、
データキャッシュのウェイを識別する前記命令に関連付けられたテーブルのエントリを識別するために、前記1つまたは複数のウェイ予測特性の識別情報に基づいて、前記テーブルを選択的に読み取らせ、
前記命令に基づいた前記データキャッシュの次のアクセスが前記ウェイにアクセスするかどうかの予測を行わせる命令を備える非一時的コンピュータ可読媒体。 - 前記プロセッサによって実行されると、前記プロセッサに、
前記命令に関連付けられた増分値を識別させ、
前記命令の実行中にアクセスされた前記データキャッシュの特定のウェイを識別させ、
増分されたアドレス値を決定するために、前記増分値を前記命令に関連付けられたアドレス値に追加させ、
前記増分されたアドレス値が前記特定のウェイに関連付けられるかどうかを決定させる命令を備える、請求項18に記載の非一時的コンピュータ可読媒体。 - 前記プロセッサによって実行されると、前記プロセッサに、前記エントリを前記テーブル内にポピュレートさせる命令、ここにおいて、前記テーブル内の各エントリは、プログラムカウンタ識別子と、レジスタ識別子と、予測されるウェイ識別子とを含む、をさらに備える、請求項18に記載の非一時的コンピュータ可読媒体。
- 前記命令が1つまたは複数の命令のループに含まれるという決定が行われた後に、前記エントリが生成される、請求項18に記載の非一時的コンピュータ可読媒体。
- 前記プロセッサによって実行されると、前記プロセッサに、
複数のレジスタロケーションを監視させ、
前記複数のレジスタロケーションのうちの特定のレジスタロケーションにおけるデータが修正されるかどうかを決定させ、
特定のエントリが前記特定のレジスタロケーションに対応するレジスタ識別子を含むかどうかを決定するために、前記テーブルを読み取らせる命令をさらに備える、請求項18に記載の非一時的コンピュータ可読媒体。 - 命令の第1の実行中に増分値を識別することと、
前記命令に基づいて、前記第1の実行中にアクセスされたデータキャッシュのウェイを識別することと、
第1の増分されたアドレス値を決定するために、前記増分値を前記命令に関連付けられたアドレス値に追加することと、
前記第1の増分されたアドレス値が前記データキャッシュの前記ウェイにあるかどうかを決定することと、
前記第1の増分されたアドレスが前記データキャッシュの前記ウェイにあると決定したことに応答して、前記命令に対応するエントリをテーブル内にポピュレートすることとを備える方法。 - 前記テーブル内の各エントリが、プログラムカウンタ識別子、レジスタ識別子、予測されるウェイ識別子、有効性ビット、またはそれらの組合せを含む、請求項23に記載の方法。
- 前記命令が自動増分命令を備えるか、またはベースプラスオフセット命令を備えるかを決定することをさらに備える、請求項23に記載の方法。
- 前記エントリが、前記アクセスされたデータキャッシュの前記ウェイを識別し、前記エントリが前記命令の前記第1の実行とともにポピュレートされ、前記命令の第2の実行中に、
前記エントリを前記テーブルから読み取ることと、
第2の増分されたアドレス値を計算することと、
前記第2の実行中に前記ウェイをウェイ予測として適用することとを行うことをさらに備える、請求項23に記載の方法。 - 前記ウェイを適用することが、
前記ウェイを前記エントリのウェイフィールドから取り出すことと、
前記取り出されたウェイに対応する前記データキャッシュのドライバを選択的に有効化することとを備える、請求項26に記載の方法。 - 前記命令の後続の実行の増分されたアドレス値が前記ウェイとは異なるウェイにあると決定したことに応答して、前記テーブルを更新すること、ここにおいて、前記命令の前記後続の実行は、前記第1の実行の後である、をさらに備える、請求項23に記載の方法。
- 前記エントリを除去するか、または、前記増分されたアドレスが前記アドレスに関連付けられたキャッシュラインとは異なるキャッシュラインに関連付けられるという決定に基づいて、前記テーブルの前記エントリが無効であることを示すことをさらに備える、請求項23に記載の方法。
- レジスタロケーションのデータを修正した特定の命令を識別することと、
特定のエントリが前記レジスタロケーションに対応するレジスタ識別子を含むかどうかを決定するために、前記テーブルを読み取ることと、
前記特定のエントリが前記特定の命令に対応するかどうかを決定することと、
前記特定のエントリが前記特定の命令に対応しないときに、前記特定のエントリを除去するかまたは無効にすることとをさらに備える、請求項23に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/741,917 | 2013-01-15 | ||
| US13/741,917 US9367468B2 (en) | 2013-01-15 | 2013-01-15 | Data cache way prediction |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015552807A Division JP6151377B2 (ja) | 2013-01-15 | 2014-01-10 | データキャッシュウェイ予測 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2017152001A true JP2017152001A (ja) | 2017-08-31 |
| JP2017152001A5 JP2017152001A5 (ja) | 2018-02-15 |
| JP6342537B2 JP6342537B2 (ja) | 2018-06-13 |
Family
ID=50029280
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015552807A Expired - Fee Related JP6151377B2 (ja) | 2013-01-15 | 2014-01-10 | データキャッシュウェイ予測 |
| JP2017056153A Expired - Fee Related JP6342537B2 (ja) | 2013-01-15 | 2017-03-22 | データキャッシュウェイ予測 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015552807A Expired - Fee Related JP6151377B2 (ja) | 2013-01-15 | 2014-01-10 | データキャッシュウェイ予測 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9367468B2 (ja) |
| EP (1) | EP2946285B1 (ja) |
| JP (2) | JP6151377B2 (ja) |
| KR (1) | KR101710438B1 (ja) |
| CN (1) | CN104903851B (ja) |
| WO (1) | WO2014113288A1 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10157137B1 (en) | 2015-09-22 | 2018-12-18 | Apple Inc. | Cache way prediction |
| US11709679B2 (en) | 2016-03-31 | 2023-07-25 | Qualcomm Incorporated | Providing load address predictions using address prediction tables based on load path history in processor-based systems |
| US10684859B2 (en) * | 2016-09-19 | 2020-06-16 | Qualcomm Incorporated | Providing memory dependence prediction in block-atomic dataflow architectures |
| US20180081815A1 (en) * | 2016-09-22 | 2018-03-22 | Qualcomm Incorporated | Way storage of next cache line |
| CN206485775U (zh) | 2017-01-19 | 2017-09-12 | 科丝美诗(中国)化妆品有限公司 | 一种盖子及具有该盖子的包装 |
| US11281586B2 (en) | 2017-05-09 | 2022-03-22 | Andes Technology Corporation | Processor and way prediction method thereof |
| US10877894B2 (en) * | 2019-05-16 | 2020-12-29 | Micron Technology, Inc. | Memory-side transaction context memory interface systems and methods, wherein first context and first address are communicated on plural wires during different clock cycles and second context (of block of the first context) is communicated on additional wire during one of the different clock cycles |
| CN112559049A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 用于指令高速缓存的路预测方法、访问控制单元以及指令处理装置 |
| KR102921352B1 (ko) | 2020-01-30 | 2026-02-02 | 삼성전자주식회사 | 캐시 메모리 장치, 이를 포함하는 시스템 및 캐시 메모리 장치의 동작 방법 |
| US11397685B1 (en) * | 2021-02-24 | 2022-07-26 | Arm Limited | Storing prediction entries and stream entries where each stream entry includes a stream identifier and a plurality of sequential way predictions |
| US11487667B1 (en) * | 2021-08-09 | 2022-11-01 | Apple Inc. | Prediction confirmation for cache subsystem |
| CN114816032B (zh) * | 2022-06-30 | 2022-09-23 | 飞腾信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6055622A (en) * | 1997-02-03 | 2000-04-25 | Intel Corporation | Global stride prefetching apparatus and method for a high-performance processor |
| US6314504B1 (en) * | 1999-03-09 | 2001-11-06 | Ericsson, Inc. | Multi-mode memory addressing using variable-length |
| JP2004519776A (ja) * | 2001-03-13 | 2004-07-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 命令ベースレジスタに基づくキャッシュウェイ予測 |
| JP2004530995A (ja) * | 2001-06-22 | 2004-10-07 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 高速かつ正確なキャッシュウェイの選択 |
| US20050050277A1 (en) * | 2003-09-03 | 2005-03-03 | Advanced Micro Devices, Inc. | MicroTLB and micro TAG for reducing power in a processor |
| US20100049912A1 (en) * | 2008-08-20 | 2010-02-25 | Mips Technologies, Inc. | Data cache way prediction |
| WO2011151944A1 (ja) * | 2010-06-04 | 2011-12-08 | パナソニック株式会社 | キャッシュメモリ装置、プログラム変換装置、キャッシュメモリ制御方法及びプログラム変換方法 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5640532A (en) | 1994-10-14 | 1997-06-17 | Compaq Computer Corporation | Microprocessor cache memory way prediction based on the way of previous memory read |
| US5752069A (en) | 1995-08-31 | 1998-05-12 | Advanced Micro Devices, Inc. | Superscalar microprocessor employing away prediction structure |
| US6401193B1 (en) | 1998-10-26 | 2002-06-04 | Infineon Technologies North America Corp. | Dynamic data prefetching based on program counter and addressing mode |
| US7406569B2 (en) * | 2002-08-12 | 2008-07-29 | Nxp B.V. | Instruction cache way prediction for jump targets |
| US20050050278A1 (en) | 2003-09-03 | 2005-03-03 | Advanced Micro Devices, Inc. | Low power way-predicted cache |
| US7594223B2 (en) * | 2005-06-27 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Straight-line post-increment optimization for memory access instructions |
| US7657708B2 (en) | 2006-08-18 | 2010-02-02 | Mips Technologies, Inc. | Methods for reducing data cache access power in a processor using way selection bits |
| US7917702B2 (en) | 2007-07-10 | 2011-03-29 | Qualcomm Incorporated | Data prefetch throttle |
| US7827356B2 (en) | 2007-09-10 | 2010-11-02 | Qualcomm Incorporated | System and method of using an N-way cache |
| US8151084B2 (en) * | 2008-01-23 | 2012-04-03 | Oracle America, Inc. | Using address and non-address information for improved index generation for cache memories |
| US8145874B2 (en) * | 2008-02-26 | 2012-03-27 | Qualcomm Incorporated | System and method of data forwarding within an execution unit |
| US8151096B2 (en) | 2008-08-06 | 2012-04-03 | Intel Corporation | Method to improve branch prediction latency |
| US8327121B2 (en) | 2008-08-20 | 2012-12-04 | Mips Technologies, Inc. | Data cache receive flop bypass |
| US8533422B2 (en) | 2010-09-30 | 2013-09-10 | Intel Corporation | Instruction prefetching using cache line history |
| US8635408B2 (en) | 2011-01-04 | 2014-01-21 | International Business Machines Corporation | Controlling power of a cache based on predicting the instruction cache way for high power applications |
-
2013
- 2013-01-15 US US13/741,917 patent/US9367468B2/en not_active Expired - Fee Related
-
2014
- 2014-01-10 CN CN201480003975.8A patent/CN104903851B/zh not_active Expired - Fee Related
- 2014-01-10 KR KR1020157017911A patent/KR101710438B1/ko not_active Expired - Fee Related
- 2014-01-10 WO PCT/US2014/011051 patent/WO2014113288A1/en not_active Ceased
- 2014-01-10 JP JP2015552807A patent/JP6151377B2/ja not_active Expired - Fee Related
- 2014-01-10 EP EP14701881.6A patent/EP2946285B1/en not_active Not-in-force
-
2017
- 2017-03-22 JP JP2017056153A patent/JP6342537B2/ja not_active Expired - Fee Related
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6055622A (en) * | 1997-02-03 | 2000-04-25 | Intel Corporation | Global stride prefetching apparatus and method for a high-performance processor |
| US6314504B1 (en) * | 1999-03-09 | 2001-11-06 | Ericsson, Inc. | Multi-mode memory addressing using variable-length |
| JP2004519776A (ja) * | 2001-03-13 | 2004-07-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 命令ベースレジスタに基づくキャッシュウェイ予測 |
| JP2004530995A (ja) * | 2001-06-22 | 2004-10-07 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 高速かつ正確なキャッシュウェイの選択 |
| US20050050277A1 (en) * | 2003-09-03 | 2005-03-03 | Advanced Micro Devices, Inc. | MicroTLB and micro TAG for reducing power in a processor |
| US20100049912A1 (en) * | 2008-08-20 | 2010-02-25 | Mips Technologies, Inc. | Data cache way prediction |
| WO2011151944A1 (ja) * | 2010-06-04 | 2011-12-08 | パナソニック株式会社 | キャッシュメモリ装置、プログラム変換装置、キャッシュメモリ制御方法及びプログラム変換方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6151377B2 (ja) | 2017-06-21 |
| CN104903851A (zh) | 2015-09-09 |
| KR20150106881A (ko) | 2015-09-22 |
| EP2946285B1 (en) | 2017-11-29 |
| KR101710438B1 (ko) | 2017-02-27 |
| JP6342537B2 (ja) | 2018-06-13 |
| WO2014113288A1 (en) | 2014-07-24 |
| CN104903851B (zh) | 2018-04-20 |
| US20140201449A1 (en) | 2014-07-17 |
| JP2016507097A (ja) | 2016-03-07 |
| EP2946285A1 (en) | 2015-11-25 |
| US9367468B2 (en) | 2016-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6342537B2 (ja) | データキャッシュウェイ予測 | |
| JP5172942B2 (ja) | プロセッサによる電力消費を低減する方法、プロセッサ、及び、情報処理システム | |
| JP5254342B2 (ja) | n−ウェイキャッシュを用いるシステムおよび方法 | |
| KR20180127379A (ko) | 프로세서-기반 시스템들 내의 로드 경로 이력에 기반한 어드레스 예측 테이블들을 사용하는 로드 어드레스 예측들의 제공 | |
| US20160139933A1 (en) | Providing loop-invariant value prediction using a predicted values table, and related apparatuses, methods, and computer-readable media | |
| WO2017030678A1 (en) | Determining prefetch instructions based on instruction encoding | |
| KR20140036321A (ko) | 자주 호출되는 함수들에 대한 테이블 호출 명령 | |
| JP2018523239A (ja) | 電力効率的なフェッチ適合 | |
| JP2017537408A (ja) | アウトオブオーダー(ooo)プロセッサにおける早期命令実行を提供すること、ならびに関連する装置、方法、およびコンピュータ可読媒体 | |
| TW201908966A (zh) | 針對固定方向分支指令的分支預測 | |
| US20170046266A1 (en) | Way Mispredict Mitigation on a Way Predicted Cache | |
| JP6212133B2 (ja) | マルチビットウェイ予測マスクを有する命令キャッシュ | |
| US20160077836A1 (en) | Predicting literal load values using a literal load prediction table, and related circuits, methods, and computer-readable media | |
| TW201913364A (zh) | 在以區塊架構處理器為基礎系統中快取指令區塊標頭資料 | |
| US20110219212A1 (en) | System and Method of Processing Hierarchical Very Long Instruction Packets | |
| US9075620B2 (en) | Instruction execution circuit | |
| CN104252334B (zh) | 分支目标地址获取方法和装置 | |
| CN119645496B (zh) | 缓存及操作方法、处理器核、指令处理方法、设备和介质 | |
| CN113227970B (zh) | 指令紧密耦合存储器和指令缓存访问预测 | |
| CN114116010B (zh) | 一种针对处理器循环体的体系结构优化方法及装置 | |
| CN120560724A (zh) | 处理装置、指令处理方法、处理芯片及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180104 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180104 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180116 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180123 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180307 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180417 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180516 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6342537 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |