JP2013030173A - キャッシュメモリの最大レジデンシー交換のための方法およびシステム - Google Patents
キャッシュメモリの最大レジデンシー交換のための方法およびシステム Download PDFInfo
- Publication number
- JP2013030173A JP2013030173A JP2012190169A JP2012190169A JP2013030173A JP 2013030173 A JP2013030173 A JP 2013030173A JP 2012190169 A JP2012190169 A JP 2012190169A JP 2012190169 A JP2012190169 A JP 2012190169A JP 2013030173 A JP2013030173 A JP 2013030173A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- way
- victim
- victim way
- miss
- 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; CALCULATING OR 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】ビクティムウエイのファーストイン、ファーストアウト(FIFO)交換リストを形成する。FIFO交換リストの深さは、キャッシュセット内の数にほぼ等しい。タグミスアロケーションを生じた場合にのみビクティムウエイをFIFO交換リスト上に配置する。ビクティムウエイは任意の以前に選択されたビクティムウエイの後でFIFO交換リストのおわりに配置される。ビクティムウエイのイニシャルアロケーションが完了するまで引き止めておくことにより、またはビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストをリプレイ(replay)することによりビクティムウエイの不完全な先のアロケーションの場合にFIFO交換リスト上のビクティムウエイの使用が防止される。
【選択図】図6
Description
(2)ビデオ処理(例えばH.264フォーマット);
(3) イメージ処理;
(4) 音声処理;
(5) 3Dグラフィックスフロントエンドソフトウェア;
そして、(6)制御コード、プロトコルスタック、RTOSなどをサポートする。そのため、DSP40はVLIW命令パケット並びに個々のスーパースカラー発行命令の両方を発行する。個々の命令のための発行幅は、発行スロットあたり1命令から最大VLIWパケットに及ぶことができる。例示として、DSP 40は、発行スロットあたりVLIMパケット中の4つもの命令を発行してもよい。また、DSP 40はスーパースカラー発行を使用して、1つあるいは2つの命令を発行してもよい。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
下記を具備する、キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するための方法:
デジタルシグナルプロセッサの動作に使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置によって交換されるキャッシュウエイとしてビクティムウエイを選択するステップ;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスをキャッシュセットFIFOリストのおわりに配置するステップ;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシー(incoherency)を回避するまでビクティムウエイの再使用を防止するステップ;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止するステップ;
前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで再使用リクエストをリプレイ(replay)することにより前記ビクティムウエイのイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止するステップ。
[C2]
前記選択ステップはさらに前記キャッシュミスに続いてキャッシュセットFIFOリストの終わりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択するステップをさらに備えた、C1の方法。
[C3]
デジタルシグナルプロセッサデータユニット命令に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するステップをさらに備えた、C1の方法。
[C4]
デジタルシグナルプロセッサ命令ユニット命令の実行に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するステップをさらに備えた、C1の方法。
[C5]
再使用ハザードの場合に、
現在の/入ってくる一次ミスビクティムウエイを前記FIFOリスト内の他のウエイと比較するステップと、
前記入ってくる一次ミスのセットアドレスを他のセットアドレスと比較するステップと、
前記比較ステップに応答して、再使用ハザードが無いビクティムウエイが生じるまで現在の/入ってくるスレッドをリプレイするステップと、
をさらに備えたC4の方法。
[C6]
最も最近に使用されたビクティムウエイを前記FIFOリストの終わりに加えるステップをさらに備えた、C1の方法。
[C7]
マルチスレッドデジタルシグナルプロセッサ内の前記ビクティムウエイを交換するステップをさらに備えた、C1の方法。
[C8]
使用されたビクティムウエイを記録するために記憶ビットの使用を必要とすることなく前記交換ステップを実行するステップをさらに備えた、C1の方法。
[C9]
キャッシュウエイミスの場合に前記FIFOリストを単にインクリメントするステップをさらに備えた、C1の方法。
[C10]
下記を具備する、デジタルシグナルプロセッサに関連して動作するためのキャッシュウエイ交換回路であって、キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するキャッシュウエイ交換回路:
デジタルシグナルプロセッサの動作に使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置によって交換される前記キャッシュウエイとしてビクティムウエイを選択するビクティムウエイ選択回路;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスを前記キャッシュセットFIFOリストのおわりに配置するFIFOリストポピュレーション(population)回路;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシー(incoherency)を回避するまでビクティムウエイの再使用を防止するキャッシュウエイ再使用ハザード検出回路であって、前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止するキャッシュウエイ再使用ハザード検出回路。
[C11]
前記キャッシュミスに続いてキャッシュセットFIFOリストの終わりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択するためのビクティムウエイ選択回路をさらに備え、前記FIFOの深さは、前記キャッシュセット内のウエイの数にほぼ等しい、C10のキャッシュウエイ交換回路。
[C12]
デジタルシグナルプロセッサデータユニット命令の実行に関連したキャッシュタグミスの場合にはキャッシュセットの複数のセットウエイの1つを交換するためのデータユニット回路をさらに備えた、C10のキャッシュウエイ交換回路。
[C13]
デジタルシグナルプロセッサ命令ユニット命令の実行に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換する命令ユニット回路をさらに備えた、C10のキャッシュウエイ交換回路。
[C14]
現在の/入ってくる一次ミスビクティムウエイを前記FIFOリスト内の他のウエイと比較し、入ってくる一次ミスのセットアドレスを他のセットアドレスと比較する比較回路と、
再使用ハザードが無いビクティムウエイが生じるまで前記比較ステップに応答して前記現在の/入ってくるスレッドをリプレイするためのキャッシュウエイリプレイ回路とをさらに備えた、C10のキャッシュウエイ交換回路。
[C15]
最も最近に使用されたビクティムウエイを前記FIFOリストのおわりに加えるFIFOリスト回路をさらに備える、C10のキャッシュウエイ交換リスト。
[C16]
マルチスレッドのデジタルシグナルプロセッサ内の前記ビクティムウエイを交換するマルチスレッドのデジタルシグナルプロセッサをさらに備えた、C10のキャッシュウエイ交換回路。
[C17]
使用されたビクティムウエイを記録するために記憶ビットの使用を必要とせずに前記交換ステップの性能を可能にする交換回路をさらに備えた、C10のキャッシュウエイ交換回路。
[C18]
キャッシュウエイミスの場合に前記FIFOリストを単にインクリメントするインクリメント回路をさらに備えた、C10のキャッシュウエイ交換回路。
[C19]
キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するための手段を含むデジタルシグナルプロセッサであって、下記を具備するデジタルシグナルプロセッサ:
デジタルシグナルプロセッサの動作で使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置にしたがって交換される前記キャッシュウエイとしてビクティムウエイを選択する手段;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスを前記キャッシュセットFIFOリストのおわりに配置する手段;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシー(incoherency)を回避するまでビクティムウエイの再使用を防止する手段;
ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで前記ビクティムウエイの再使用を防止する手段;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストをリプレイすることにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止する手段。
[C20]
前記キャッシュミスに続いてキャッシュセットFIFOリストのおわりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択する手段をさらに備えた、C19のデジタルシグナルプロセッサ。
[C21]
デジタルシグナルプロセッサデータユニット命令に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換する手段をさらに備えた、C19のデジタルシグナルプロセッサ。
[C22]
デジタルシグナルプロセッサ命令ユニット命令の実行に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換する手段をさらに備えた、C19のデジタルシグナルプロセッサ。
[C23]
現在の/入ってくる一次ミスビクティムウエイを前記FIFOリスト内の他のウエイと比較する手段と、
前記入ってくる一次ミスのセットアドレスを他のセットアドレスと比較する手段と、
再使用ハザードの無いビクティムウエイが生じるまで前記比較に応答して現在の/入ってくるスレッドをリプレイする手段、
とをさらに備えた、C22のデジタルシグナルプロセッサ。
[C24]
最も最近に使用されたビクティムウエイを前記FIFOリストの終わりに加える手段をさらに備えた、C19のデジタルシグナルプロセッサ。
[C25]
マルチスレッドのデジタルシグナルプロセッサ内の前記ビクティムウエイを交換する手段をさらに備えた、C19のデジタルシグナルプロセッサ。
[C26]
使用されるビクティムウエイを記録するために記憶ビットの使用を必要とすることなく前記交換を実行する手段をさらに備えた、C19のデジタルシグナルプロセッサ。
[C27]
キャッシュウエイミスの場合に前記FIFOリストを単にインクリメントする手段をさらに備えた、C19のデジタルシグナルプロセッサ。
[C28]
キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するデジタルシグナルプロセッサ上の命令を処理するためにコンピュータ読み取り可能プログラムコード手段が具現化されたコンピュータ使用可能媒体において、前記コンピュータ読み取り可能媒体は下記を具備する:
デジタルシグナルプロセッサの動作で使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置によって交換されるキャッシュウエイとしてビクティムウエイを選択するコンピュータ読み取り可能プログラムコード手段;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスを前記キャッシュセットFIFOリストのおわりに配置するコンピュータ読み取り可能プログラムコード手段;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシーを回避するまでビクティムウエイの再使用を防止するコンピュータ読み取り可能プログラムコード手段;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで前記ビクティムウエイの再使用を防止するコンピュータ読み取り可能プログラムコード手段;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストをリプレイすることにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで前記ビクティムウエイの再使用を防止するコンピュータ読み取り可能プログラムコード手段。
[C29]
前記キャッシュミスに続いてキャッシュセットFIFOリストの終わりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択するコンピュータ読み取り可能プログラムコードをさらに備えた、C28のコンピュータ使用媒体。
Claims (29)
- 下記を具備する、キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するための方法:
デジタルシグナルプロセッサの動作に使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置によって交換されるキャッシュウエイとしてビクティムウエイを選択するステップ;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスをキャッシュセットFIFOリストのおわりに配置するステップ;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシー(incoherency)を回避するまでビクティムウエイの再使用を防止するステップ;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止するステップ;
前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで再使用リクエストをリプレイ(replay)することにより前記ビクティムウエイのイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止するステップ。 - 前記選択ステップはさらに前記キャッシュミスに続いてキャッシュセットFIFOリストの終わりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択するステップをさらに備えた、請求項1の方法。
- デジタルシグナルプロセッサデータユニット命令に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するステップをさらに備えた、請求項1の方法。
- デジタルシグナルプロセッサ命令ユニット命令の実行に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するステップをさらに備えた、請求項1の方法。
- 再使用ハザードの場合に、
現在の/入ってくる一次ミスビクティムウエイを前記FIFOリスト内の他のウエイと比較するステップと、
前記入ってくる一次ミスのセットアドレスを他のセットアドレスと比較するステップと、
前記比較ステップに応答して、再使用ハザードが無いビクティムウエイが生じるまで現在の/入ってくるスレッドをリプレイするステップと、
をさらに備えた請求項4の方法。 - 最も最近に使用されたビクティムウエイを前記FIFOリストの終わりに加えるステップをさらに備えた、請求項1の方法。
- マルチスレッドデジタルシグナルプロセッサ内の前記ビクティムウエイを交換するステップをさらに備えた、請求項1の方法。
- 使用されたビクティムウエイを記録するために記憶ビットの使用を必要とすることなく前記交換ステップを実行するステップをさらに備えた、請求項1の方法。
- キャッシュウエイミスの場合に前記FIFOリストを単にインクリメントするステップをさらに備えた、請求項1の方法。
- 下記を具備する、デジタルシグナルプロセッサに関連して動作するためのキャッシュウエイ交換回路であって、キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するキャッシュウエイ交換回路:
デジタルシグナルプロセッサの動作に使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置によって交換される前記キャッシュウエイとしてビクティムウエイを選択するビクティムウエイ選択回路;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスを前記キャッシュセットFIFOリストのおわりに配置するFIFOリストポピュレーション(population)回路;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシー(incoherency)を回避するまでビクティムウエイの再使用を防止するキャッシュウエイ再使用ハザード検出回路であって、前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止するキャッシュウエイ再使用ハザード検出回路。 - 前記キャッシュミスに続いてキャッシュセットFIFOリストの終わりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択するためのビクティムウエイ選択回路をさらに備え、前記FIFOの深さは、前記キャッシュセット内のウエイの数にほぼ等しい、請求項10のキャッシュウエイ交換回路。
- デジタルシグナルプロセッサデータユニット命令の実行に関連したキャッシュタグミスの場合にはキャッシュセットの複数のセットウエイの1つを交換するためのデータユニット回路をさらに備えた、請求項10のキャッシュウエイ交換回路。
- デジタルシグナルプロセッサ命令ユニット命令の実行に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換する命令ユニット回路をさらに備えた、請求項10のキャッシュウエイ交換回路。
- 現在の/入ってくる一次ミスビクティムウエイを前記FIFOリスト内の他のウエイと比較し、入ってくる一次ミスのセットアドレスを他のセットアドレスと比較する比較回路と、
再使用ハザードが無いビクティムウエイが生じるまで前記比較ステップに応答して前記現在の/入ってくるスレッドをリプレイするためのキャッシュウエイリプレイ回路とをさらに備えた、請求項10のキャッシュウエイ交換回路。 - 最も最近に使用されたビクティムウエイを前記FIFOリストのおわりに加えるFIFOリスト回路をさらに備える、請求項10のキャッシュウエイ交換リスト。
- マルチスレッドのデジタルシグナルプロセッサ内の前記ビクティムウエイを交換するマルチスレッドのデジタルシグナルプロセッサをさらに備えた、請求項10のキャッシュウエイ交換回路。
- 使用されたビクティムウエイを記録するために記憶ビットの使用を必要とせずに前記交換ステップの性能を可能にする交換回路をさらに備えた、請求項10のキャッシュウエイ交換回路。
- キャッシュウエイミスの場合に前記FIFOリストを単にインクリメントするインクリメント回路をさらに備えた、請求項10のキャッシュウエイ交換回路。
- キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するための手段を含むデジタルシグナルプロセッサであって、下記を具備するデジタルシグナルプロセッサ:
デジタルシグナルプロセッサの動作で使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置にしたがって交換される前記キャッシュウエイとしてビクティムウエイを選択する手段;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスを前記キャッシュセットFIFOリストのおわりに配置する手段;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシー(incoherency)を回避するまでビクティムウエイの再使用を防止する手段;
ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで前記ビクティムウエイの再使用を防止する手段;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストをリプレイすることにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまでビクティムウエイの再使用を防止する手段。 - 前記キャッシュミスに続いてキャッシュセットFIFOリストのおわりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択する手段をさらに備えた、請求項19のデジタルシグナルプロセッサ。
- デジタルシグナルプロセッサデータユニット命令に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換する手段をさらに備えた、請求項19のデジタルシグナルプロセッサ。
- デジタルシグナルプロセッサ命令ユニット命令の実行に関連したキャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換する手段をさらに備えた、請求項19のデジタルシグナルプロセッサ。
- 現在の/入ってくる一次ミスビクティムウエイを前記FIFOリスト内の他のウエイと比較する手段と、
前記入ってくる一次ミスのセットアドレスを他のセットアドレスと比較する手段と、
再使用ハザードの無いビクティムウエイが生じるまで前記比較に応答して現在の/入ってくるスレッドをリプレイする手段、
とをさらに備えた、請求項22のデジタルシグナルプロセッサ。 - 最も最近に使用されたビクティムウエイを前記FIFOリストの終わりに加える手段をさらに備えた、請求項19のデジタルシグナルプロセッサ。
- マルチスレッドのデジタルシグナルプロセッサ内の前記ビクティムウエイを交換する手段をさらに備えた、請求項19のデジタルシグナルプロセッサ。
- 使用されるビクティムウエイを記録するために記憶ビットの使用を必要とすることなく前記交換を実行する手段をさらに備えた、請求項19のデジタルシグナルプロセッサ。
- キャッシュウエイミスの場合に前記FIFOリストを単にインクリメントする手段をさらに備えた、請求項19のデジタルシグナルプロセッサ。
- キャッシュタグミスの場合にキャッシュセットの複数のセットウエイの1つを交換するデジタルシグナルプロセッサ上の命令を処理するためにコンピュータ読み取り可能プログラムコード手段が具現化されたコンピュータ使用可能媒体において、前記コンピュータ読み取り可能媒体は下記を具備する:
デジタルシグナルプロセッサの動作で使用するためにキャッシュウエイのFIFOリスト上の前記キャッシュウエイの位置によって交換されるキャッシュウエイとしてビクティムウエイを選択するコンピュータ読み取り可能プログラムコード手段;
次のキャッシュタグミスでビクティムウエイを再使用する前記キャッシュセットについての次のキャッシュタグミスを前記キャッシュセットFIFOリストのおわりに配置するコンピュータ読み取り可能プログラムコード手段;
前記ビクティムウエイのイニシャルアロケーションがキャッシュタグと前記キャッシュセットとの間のインコヒーレンシーを回避するまでビクティムウエイの再使用を防止するコンピュータ読み取り可能プログラムコード手段;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストに対する応答を引き止めておくことにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで前記ビクティムウエイの再使用を防止するコンピュータ読み取り可能プログラムコード手段;
前記ビクティムウエイのイニシャルアロケーションが完了するまで再使用リクエストをリプレイすることにより前記ビクティムウエイのそのようなイニシャルアロケーションが完了するまで前記ビクティムウエイの再使用を防止するコンピュータ読み取り可能プログラムコード手段。 - 前記キャッシュミスに続いてキャッシュセットFIFOリストの終わりに前記ビクティムウエイを配置することにより交換される前記キャッシュウエイとしてビクティムウエイを選択するコンピュータ読み取り可能プログラムコードをさらに備えた、請求項28のコンピュータ使用媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/437,501 | 2006-05-17 | ||
US11/437,501 US7673102B2 (en) | 2006-05-17 | 2006-05-17 | Method and system for maximum residency replacement of cache memory |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009511243A Division JP5080564B2 (ja) | 2006-05-17 | 2007-05-17 | キャッシュメモリの最大レジデンシー交換のための方法およびシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013030173A true JP2013030173A (ja) | 2013-02-07 |
JP5259866B2 JP5259866B2 (ja) | 2013-08-07 |
Family
ID=38659396
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009511243A Expired - Fee Related JP5080564B2 (ja) | 2006-05-17 | 2007-05-17 | キャッシュメモリの最大レジデンシー交換のための方法およびシステム |
JP2012190169A Expired - Fee Related JP5259866B2 (ja) | 2006-05-17 | 2012-08-30 | キャッシュメモリの最大レジデンシー交換のための方法およびシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009511243A Expired - Fee Related JP5080564B2 (ja) | 2006-05-17 | 2007-05-17 | キャッシュメモリの最大レジデンシー交換のための方法およびシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US7673102B2 (ja) |
EP (1) | EP2035937A2 (ja) |
JP (2) | JP5080564B2 (ja) |
KR (1) | KR101041647B1 (ja) |
CN (1) | CN101443740B (ja) |
WO (1) | WO2007137141A2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600098B1 (en) * | 2006-09-29 | 2009-10-06 | Sun Microsystems, Inc. | Method and system for efficient implementation of very large store buffer |
US7975107B2 (en) * | 2007-06-22 | 2011-07-05 | Microsoft Corporation | Processor cache management with software input via an intermediary |
WO2010039142A1 (en) * | 2008-10-02 | 2010-04-08 | Hewlett-Packard Development Company, L.P. | Cache controller and method of operation |
US8249099B2 (en) * | 2009-08-27 | 2012-08-21 | Texas Instruments Incorporated | External memory data management with data regrouping and channel look ahead |
US8495299B2 (en) * | 2009-11-16 | 2013-07-23 | Microsoft Corporation | Non-blocking data transfer via memory cache manipulation |
US8849345B2 (en) * | 2011-09-29 | 2014-09-30 | Samsung Electro-Mechanics Co., Ltd. | Apparatus and method for super high-speed wireless communications |
CN102521162B (zh) * | 2011-11-30 | 2014-12-31 | 华为技术有限公司 | 用于缓存数据处理的方法和装置 |
WO2013098919A1 (ja) | 2011-12-26 | 2013-07-04 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US8806139B2 (en) * | 2012-01-20 | 2014-08-12 | International Business Machines Corporation | Cache set replacement order based on temporal set recording |
US9720847B2 (en) | 2013-07-17 | 2017-08-01 | Nxp Usa, Inc. | Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed |
US9418019B2 (en) * | 2013-12-31 | 2016-08-16 | Samsung Electronics Co., Ltd. | Cache replacement policy methods and systems |
US10691463B2 (en) * | 2015-07-30 | 2020-06-23 | Futurewei Technologies, Inc. | System and method for variable lane architecture |
US10223278B2 (en) * | 2016-04-08 | 2019-03-05 | Qualcomm Incorporated | Selective bypassing of allocation in a cache |
CN106383792B (zh) * | 2016-09-20 | 2019-07-12 | 北京工业大学 | 一种基于缺失感知的异构多核缓存替换方法 |
CN109669881B (zh) * | 2018-12-11 | 2023-04-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于Cache空间预约算法的计算方法 |
US11983538B2 (en) * | 2022-04-18 | 2024-05-14 | Cadence Design Systems, Inc. | Load-store unit dual tags and replays |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0683712A (ja) * | 1992-09-03 | 1994-03-25 | Nec Ic Microcomput Syst Ltd | マイクロプロセッサ |
JPH06149673A (ja) * | 1992-11-12 | 1994-05-31 | Kubota Corp | キャッシュ制御方式 |
US5590379A (en) * | 1990-05-04 | 1996-12-31 | Unisys Corporation | Method and apparatus for cache memory access with separate fetch and store queues |
JP2002140231A (ja) * | 2000-09-06 | 2002-05-17 | Stmicroelectronics Inc | 拡張型キャッシュメモリシステム |
JP2006119796A (ja) * | 2004-10-20 | 2006-05-11 | Matsushita Electric Ind Co Ltd | キャッシュメモリシステムおよび動画処理装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU523670B2 (en) | 1977-12-08 | 1982-08-12 | Honeywell Information Systems Incorp. | Cache memory location selection mechanism |
US4901307A (en) * | 1986-10-17 | 1990-02-13 | Qualcomm, Inc. | Spread spectrum multiple access communication system using satellite or terrestrial repeaters |
US5103459B1 (en) * | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
US6282617B1 (en) * | 1999-10-01 | 2001-08-28 | Sun Microsystems, Inc. | Multiple variable cache replacement policy |
US6694408B1 (en) * | 2000-05-01 | 2004-02-17 | Javier Villagomez | Scalable replacement method and system in a cache memory |
WO2002099652A1 (en) * | 2001-06-06 | 2002-12-12 | Sun Microsystems, Inc. | Method and apparatus for facilitating flow control during accesses to cache memory |
US6892285B1 (en) * | 2002-04-30 | 2005-05-10 | Cisco Technology, Inc. | System and method for operating a packet buffer |
US20040153611A1 (en) * | 2003-02-04 | 2004-08-05 | Sujat Jamil | Methods and apparatus for detecting an address conflict |
US7237067B2 (en) * | 2004-04-22 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Managing a multi-way associative cache |
-
2006
- 2006-05-17 US US11/437,501 patent/US7673102B2/en not_active Expired - Fee Related
- 2006-09-12 US US11/531,111 patent/US7584326B2/en not_active Expired - Fee Related
-
2007
- 2007-05-17 KR KR1020087030621A patent/KR101041647B1/ko active IP Right Grant
- 2007-05-17 JP JP2009511243A patent/JP5080564B2/ja not_active Expired - Fee Related
- 2007-05-17 WO PCT/US2007/069188 patent/WO2007137141A2/en active Application Filing
- 2007-05-17 EP EP07783898A patent/EP2035937A2/en not_active Withdrawn
- 2007-05-17 CN CN2007800173653A patent/CN101443740B/zh not_active Expired - Fee Related
-
2012
- 2012-08-30 JP JP2012190169A patent/JP5259866B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590379A (en) * | 1990-05-04 | 1996-12-31 | Unisys Corporation | Method and apparatus for cache memory access with separate fetch and store queues |
JPH0683712A (ja) * | 1992-09-03 | 1994-03-25 | Nec Ic Microcomput Syst Ltd | マイクロプロセッサ |
JPH06149673A (ja) * | 1992-11-12 | 1994-05-31 | Kubota Corp | キャッシュ制御方式 |
JP2002140231A (ja) * | 2000-09-06 | 2002-05-17 | Stmicroelectronics Inc | 拡張型キャッシュメモリシステム |
JP2006119796A (ja) * | 2004-10-20 | 2006-05-11 | Matsushita Electric Ind Co Ltd | キャッシュメモリシステムおよび動画処理装置 |
Non-Patent Citations (1)
Title |
---|
JPN6013013729; 中森 章: TECH I マイクロプロセッサ・アーキテクチャ入門 第20巻, 20040401, p.110〜111,120〜122, CQ出版株式会社 * |
Also Published As
Publication number | Publication date |
---|---|
US20070271417A1 (en) | 2007-11-22 |
US7584326B2 (en) | 2009-09-01 |
CN101443740B (zh) | 2012-12-05 |
US7673102B2 (en) | 2010-03-02 |
KR101041647B1 (ko) | 2011-06-14 |
CN101443740A (zh) | 2009-05-27 |
EP2035937A2 (en) | 2009-03-18 |
US20070271416A1 (en) | 2007-11-22 |
JP5259866B2 (ja) | 2013-08-07 |
WO2007137141A2 (en) | 2007-11-29 |
JP2009537912A (ja) | 2009-10-29 |
JP5080564B2 (ja) | 2012-11-21 |
WO2007137141A3 (en) | 2008-02-28 |
KR20090025243A (ko) | 2009-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5259866B2 (ja) | キャッシュメモリの最大レジデンシー交換のための方法およびシステム | |
US9569270B2 (en) | Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts | |
KR101361928B1 (ko) | 스레드 이송 시의 캐시 프리필링 | |
US6119204A (en) | Data processing system and method for maintaining translation lookaside buffer TLB coherency without enforcing complete instruction serialization | |
US8321634B2 (en) | System and method for performing memory operations in a computing system | |
CN108334458B (zh) | 存储器高效的末级高速缓存架构 | |
CN108268385B (zh) | 具有集成目录高速缓存的优化的高速缓存代理 | |
RU2662394C2 (ru) | Инструкция и логика для доступа к памяти в кластерной машине широкого исполнения | |
US20070094478A1 (en) | Pointer computation method and system for a scalable, programmable circular buffer | |
US5621896A (en) | Data processor with unified store queue permitting hit under miss memory accesses | |
US20040139295A1 (en) | Acceleration of input/output (I/O) communication through improved address translation | |
CN111353156A (zh) | 可缩放多密钥总存储器加密引擎 | |
US20190196968A1 (en) | Supporting adaptive shared cache management | |
WO2023165317A1 (zh) | 内存访问方法和装置 | |
GB2532545A (en) | Processors and methods for cache sparing stores | |
US10133669B2 (en) | Sequential data writes to increase invalid to modified protocol occurrences in a computing system | |
US6363471B1 (en) | Mechanism for handling 16-bit addressing in a processor | |
US8429383B2 (en) | Multi-processor computing system having a JAVA stack machine and a RISC-based processor | |
WO2023239671A1 (en) | Virtual memory paging system and translation lookaside buffer with pagelets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20130326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130424 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160502 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5259866 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |