JPWO2021045814A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2021045814A5
JPWO2021045814A5 JP2022514238A JP2022514238A JPWO2021045814A5 JP WO2021045814 A5 JPWO2021045814 A5 JP WO2021045814A5 JP 2022514238 A JP2022514238 A JP 2022514238A JP 2022514238 A JP2022514238 A JP 2022514238A JP WO2021045814 A5 JPWO2021045814 A5 JP WO2021045814A5
Authority
JP
Japan
Prior art keywords
entry
cache
speculative
data request
target address
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.)
Pending
Application number
JP2022514238A
Other languages
Japanese (ja)
Other versions
JP2022545848A (en
Publication date
Priority claimed from US16/558,843 external-priority patent/US11061824B2/en
Application filed filed Critical
Publication of JP2022545848A publication Critical patent/JP2022545848A/en
Publication of JPWO2021045814A5 publication Critical patent/JPWO2021045814A5/ja
Pending legal-status Critical Current

Links

Claims (15)

プロセッサベースのシステムにおける非投機的キャッシュメモリであって、
前記プロセッサベースのシステムのメモリシステムにおけるメモリアドレスに関連づけられたキャッシュデータを記憶するように各々構成された複数のキャッシュエントリを含むメインデータアレイと、
前記メモリシステムにおけるメモリアドレスに関連づけられたキャッシュデータを記憶するように構成されたデータエントリを各々含む複数のバッファエントリを含む投機的バッファメモリと、
キャッシュコントローラであり、
ターゲットアドレスと、前記プロセッサベースのシステム内のプロセッサにより処理される前記ターゲットアドレスを含むロード命令を識別する命令識別(ID)とを含む、要求元からのデータ要求を受信し、
前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内のキャッシュエントリについて検索し、
前記データ要求の前記ターゲットアドレスに関連づけられたバッファエントリについて前記投機的バッファメモリを検索し、
前記メインデータアレイ内のキャッシュデータが前記ターゲットアドレスに関連づけられ、前記投機的バッファメモリ内のバッファエントリ内のキャッシュデータが前記ターゲットアドレスに関連づけられていることに基づいて、前記データ要求に対するデータ応答を前記要求元に送信し、
非投機的である命令の命令IDを含むコミットインジケータを受信し、
前記コミットインジケータ内の受信した命令IDが、前記データ要求の前記ロード命令が非投機的であると示すことに応答して、
前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内のキャッシュエントリのキャッシュ状態を更新する、
ように構成される、キャッシュコントローラと、
を含む非投機的キャッシュメモリ。
A non-speculative cache memory in a processor-based system, comprising:
a main data array including a plurality of cache entries each configured to store cache data associated with a memory address in a memory system of the processor-based system;
a speculative buffer memory including a plurality of buffer entries each including a data entry configured to store cache data associated with a memory address in the memory system;
is a cache controller,
receiving a data request from a requestor including a target address and an instruction identification (ID) identifying a load instruction containing the target address to be processed by a processor in the processor-based system;
searching for a cache entry in the main data array associated with the target address of the data request;
searching the speculative buffer memory for a buffer entry associated with the target address of the data request;
a data response to the data request based on cache data in the main data array associated with the target address and cache data in a buffer entry in the speculative buffer memory associated with the target address; to the requestor;
receiving a commit indicator including an instruction ID for an instruction that is non-speculative;
in response to the received instruction ID in the commit indicator indicating that the load instruction of the data request is non-speculative;
updating the cache state of a cache entry in the main data array associated with the target address of the data request;
a cache controller configured to:
Non-speculative cache memory, including
前記キャッシュコントローラはさらに、前記メインデータアレイ内のキャッシュエントリが前記データ要求の前記ターゲットアドレスに関連づけられているかを決定するように構成され、
前記メインデータアレイ内のキャッシュエントリが前記データ要求の前記ターゲットアドレスに関連づけられていることに応答して、前記キャッシュコントローラは、前記データ要求の前記ターゲットアドレスに関連づけられた前記ターゲットアドレスを有する前記メインデータアレイ内の前記キャッシュエントリ内のキャッシュデータを含む、前記データ要求に対する前記データ応答を、前記要求元に送信するように構成される、
請求項1に記載の非投機的キャッシュメモリ。
the cache controller is further configured to determine if a cache entry in the main data array is associated with the target address of the data request;
In response to a cache entry in the main data array being associated with the target address of the data request, the cache controller causes the main data array to have the target address associated with the target address of the data request. configured to send the data response to the data request to the requester, including cached data in the cache entry in a data array;
2. The non-speculative cache memory of claim 1.
前記キャッシュコントローラは、前記コミットインジケータ内の前記受信した命令IDが、前記データ要求の前記ロード命令が非投機的であると示すことに応答して、前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内の前記キャッシュエントリのキャッシュ置換状態を含む前記キャッシュ状態を更新するように構成される、請求項2に記載の非投機的キャッシュメモリ。 The cache controller associated with the target address of the data request in response to the received instruction ID in the commit indicator indicating that the load instruction of the data request is non-speculative. 3. The non-speculative cache memory of claim 2, configured to update said cache state including cache replacement state of said cache entry in a main data array. 命令IDエントリとメインデータアレイエントリとを含む投機的アクセスレコード(SAR)エントリを記憶するように構成されたSAR回路、をさらに含み、
前記キャッシュコントローラはさらに、
前記メインデータアレイ内のキャッシュエントリが前記データ要求の前記ターゲットアドレスに関連づけられていることに応答して、前記キャッシュコントローラはさらに、
前記SAR回路内のSARエントリを割り当て、前記SARエントリは、前記データ要求の前記ロード命令の前記命令IDを含む命令IDエントリと、前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内のキャッシュエントリに対するインデックスを含むメインデータアレイエントリとを含む
ように構成され、
前記コミットインジケータ内の前記受信した命令IDが、前記データ要求の前記ロード命令が非投機的であると示すことに応答して、
前記受信した命令IDが前記SAR回路内のSARエントリ内の命令IDエントリに含まれるかを決定し、
前記受信した命令IDが前記SAR回路内のSARエントリに含まれると決定することに応答して、前記受信した命令IDを含む前記SARエントリ内の前記メインデータアレイエントリ内の前記インデックスに対応する前記メインデータアレイ内の前記キャッシュエントリの前記キャッシュ置換状態を更新する
ように構成される、請求項3に記載の非投機的キャッシュメモリ。
SAR circuitry configured to store speculative access record (SAR) entries including instruction ID entries and main data array entries;
The cache controller further:
In response to a cache entry in the main data array being associated with the target address of the data request, the cache controller further:
Allocate a SAR entry in the SAR circuit, the SAR entry comprising an instruction ID entry containing the instruction ID of the load instruction of the data request and an instruction ID entry in the main data array associated with the target address of the data request. a main data array entry containing an index to the cache entry;
in response to the received instruction ID in the commit indicator indicating that the load instruction of the data request is non-speculative;
determining if the received instruction ID is contained in an instruction ID entry in a SAR entry in the SAR circuit;
responsive to determining that the received instruction ID is included in a SAR entry in the SAR circuit corresponding to the index in the main data array entry in the SAR entry containing the received instruction ID; 4. The non-speculative cache memory of claim 3, configured to: update the cache replacement status of the cache entry in a main data array.
前記キャッシュコントローラはさらに、前記メインデータアレイ内のキャッシュエントリが前記データ要求の前記ターゲットアドレスに関連づけられていないことに応答して、
前記投機的バッファメモリ内のバッファエントリが前記データ要求の前記ターゲットアドレスに関連づけられているかを決定し、
前記投機的バッファメモリ内のバッファエントリが前記データ要求の前記ターゲットアドレスに関連づけられていることに応答して、前記キャッシュコントローラは、前記データ要求の前記ターゲットアドレスに関連づけられた前記ターゲットアドレスを有する前記投機的バッファメモリ内の前記バッファエントリ内のキャッシュデータを含む、前記データ要求に対する前記データ応答を、前記要求元に送信するように構成される
ように構成される、請求項2に記載の非投機的キャッシュメモリ。
The cache controller is further responsive to a cache entry in the main data array not being associated with the target address of the data request;
determining if a buffer entry in the speculative buffer memory is associated with the target address of the data request;
In response to a buffer entry in said speculative buffer memory being associated with said target address of said data request, said cache controller having said target address associated with said target address of said data request. 3. The non-speculation of claim 2, configured to send to the requestor the data response to the data request, comprising cached data in the buffer entry in a speculative buffer memory. cache memory.
前記キャッシュコントローラはさらに、前記投機的バッファメモリ内のバッファエントリが前記データ要求の前記ターゲットアドレスに関連づけられていないことに応答して、
前記データ要求を前記プロセッサベースのシステム内の次により上位レベルのメモリに送信し、
前記次により上位レベルのメモリから前記データ要求に対するデータを受信し、
前記投機的バッファメモリ内のバッファエントリがキャッシュデータを記憶するために利用可能かを決定し、
前記投機的バッファメモリ内のバッファエントリがキャッシュデータを記憶するために利用可能であると決定することに応答して、前記投機的バッファメモリ内の利用可能なバッファエントリ及び前記データ要求の前記ターゲットアドレスに関連づけられた利用可能なバッファエントリに、前記次により上位レベルのメモリから受信した前記データ要求に対する前記データを書き込む
ように構成される、請求項5に記載の非投機的キャッシュメモリ。
The cache controller is further responsive to a buffer entry in the speculative buffer memory not being associated with the target address of the data request;
sending the data request to the next higher level of memory in the processor-based system;
receiving data for said data request from said next higher level memory;
determining if a buffer entry in the speculative buffer memory is available for storing cache data;
available buffer entries in the speculative buffer memory and the target address of the data request in response to determining that a buffer entry in the speculative buffer memory is available for storing cache data; 6. The non-speculative cache memory of claim 5, configured to write the data for the data request received from the next higher level memory into an available buffer entry associated with the .
前記キャッシュコントローラは、前記コミットインジケータ内の前記受信した命令IDが、前記データ要求の前記ロード命令が非投機的であると示すことに応答して、
前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内の前記バッファエントリ内の前記データ要求に対するデータを、前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内のキャッシュエントリに書き込むように構成されることにより、前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内の前記キャッシュエントリの前記キャッシュ状態を更新する
ように構成される、請求項6に記載の非投機的キャッシュメモリ。
in response to the received instruction ID in the commit indicator indicating that the load instruction of the data request is non-speculative;
storing data for the data request in the buffer entry in the speculative buffer memory associated with the target address of the data request in a cache entry in the main data array associated with the target address of the data request; 7. The non-speculation of claim 6, configured to write to update the cache state of the cache entry in the main data array associated with the target address of the data request. cache memory.
前記キャッシュコントローラはさらに、それぞれのバッファエントリの非投機的インジケータ内の投機的状態に基づいて、前記投機的バッファメモリ内の前記複数のバッファエントリの中で、前記投機的バッファメモリから追い出すべきバッファエントリを選択するように構成される、請求項7に記載の非投機的キャッシュメモリ。 The cache controller further determines which of the plurality of buffer entries in the speculative buffer memory should be evicted from the speculative buffer memory based on the speculative state in the non-speculative indicator of each buffer entry. 8. The non-speculative cache memory of claim 7, configured to select . 前記投機的バッファメモリ内の各バッファエントリは、前記バッファエントリが非投機的であるかを示す非投機インジケータをさらに含み、
前記キャッシュコントローラはさらに、
前記投機的バッファメモリ内のバッファエントリが前記データ要求の前記ターゲットアドレスに関連づけられていることに応答して、
前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内の前記バッファエントリ内の非投機的インジケータを投機的状態に設定し、
前記コミットインジケータ内の前記受信した命令IDが、前記データ要求の前記ロード命令が非投機的であると示すことに応答して、
前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内の前記バッファエントリ内の前記非投機的インジケータを非投機的状態に設定し、
前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内の前記バッファエントリ内の前記非投機的インジケータが非投機的状態に設定されていることに応答して、
前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内の前記バッファエントリ内の前記データ要求に対するデータを、前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内のキャッシュエントリに書き込むように構成されることにより、前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内の前記キャッシュエントリの前記キャッシュ状態を更新する
ように構成される、請求項6に記載の非投機的キャッシュメモリ。
each buffer entry in the speculative buffer memory further includes a non-speculative indicator indicating whether the buffer entry is non-speculative;
The cache controller further:
in response to a buffer entry in the speculative buffer memory being associated with the target address of the data request;
setting a non-speculative indicator in the buffer entry in the speculative buffer memory associated with the target address of the data request to a speculative state;
in response to the received instruction ID in the commit indicator indicating that the load instruction of the data request is non-speculative;
setting the non-speculative indicator in the buffer entry in the speculative buffer memory associated with the target address of the data request to a non-speculative state;
in response to the non-speculative indicator in the buffer entry in the speculative buffer memory associated with the target address of the data request being set to a non-speculative state;
storing data for the data request in the buffer entry in the speculative buffer memory associated with the target address of the data request in a cache entry in the main data array associated with the target address of the data request; 7. The non-speculation of claim 6, configured to write to update the cache state of the cache entry in the main data array associated with the target address of the data request. cache memory.
命令IDエントリと仮想フィルバッファ(VFB)インデックスエントリとを含む投機的アクセスレコード(SAR)エントリを記憶するように構成されたSAR回路と、
命令IDエントリとVFBインデックスエントリとを含むVFBエントリを記憶するように構成されたVFB回路と、
をさらに含み、
前記キャッシュコントローラはさらに、
前記投機的バッファメモリ内のバッファエントリが前記データ要求の前記ターゲットアドレスに関連づけられていないことに応答して、
前記VFB回路内のVFBエントリを割り当て、前記VFBエントリは、前記データ要求の前記ロード命令の前記命令IDを含む命令IDエントリと、前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内のバッファエントリに対するインデックスを含むVFBインデックスエントリとを含み、
前記SAR回路内のSARエントリを割り当て、前記SARエントリは、前記データ要求の前記ロード命令の前記命令IDを記憶する前記命令IDエントリと、前記命令IDを含む命令IDエントリを有する前記VFB回路内のVFBエントリに対するインデックスを記憶する前記VFBインデックスエントリとを含み、
前記コミットインジケータ内の前記受信した命令IDが、前記データ要求の前記ロード命令が非投機的であると示すことに応答して、
前記受信した命令IDを含む命令IDエントリを有する前記SAR回路内のSARエントリ内の前記VFBインデックスエントリ内のインデックスに基づいて、インデキシングされた命令IDを含む命令IDエントリを有する関連づけられた前記VFB回路内のVFBエントリを決定し、
前記VFB回路内の前記決定されたVFBエントリ内の前記VFBインデックスエントリ内のインデックスに基づいて、非投機的状態に設定された前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内の前記バッファエントリを決定し、
前記キャッシュコントローラは、
前記データ要求の前記ターゲットアドレスに関連づけられた前記投機的バッファメモリ内の前記決定されたバッファエントリ内の前記バッファエントリ内の前記非投機的インジケータを非投機的状態に設定するように構成される、
ように構成される、請求項9に記載の非投機的キャッシュメモリ。
SAR circuitry configured to store speculative access record (SAR) entries including instruction ID entries and virtual fill buffer (VFB) index entries;
a VFB circuit configured to store a VFB entry including an instruction ID entry and a VFB index entry;
further comprising
The cache controller further:
in response that no buffer entry in the speculative buffer memory is associated with the target address of the data request;
allocating a VFB entry in said VFB circuit, said VFB entry being an instruction ID entry containing said instruction ID of said load instruction of said data request and in said speculative buffer memory associated with said target address of said data request; a VFB index entry containing an index to the buffer entry of
assigning a SAR entry in said SAR circuit, said SAR entry having said instruction ID entry storing said instruction ID of said load instruction of said data request and an instruction ID entry containing said instruction ID in said VFB circuit said VFB index entry storing an index to a VFB entry;
in response to the received instruction ID in the commit indicator indicating that the load instruction of the data request is non-speculative;
The associated VFB circuit having an instruction ID entry containing the instruction ID indexed based on the index in the VFB index entry in the SAR entry in the SAR circuit having the instruction ID entry containing the received instruction ID. determine the VFB entry in
within the speculative buffer memory associated with the target address of the data request set to a non-speculative state based on the index within the VFB index entry within the determined VFB entry within the VFB circuit; determine the buffer entry;
The cache controller
configured to set the non-speculative indicator in the buffer entry in the determined buffer entry in the speculative buffer memory associated with the target address of the data request to a non-speculative state;
10. The non-speculative cache memory of claim 9, configured to:
前記キャッシュコントローラはさらに、前記SAR回路内の前記SARエントリを割り当てることに応答して、
前記SAR回路に含まれる別のSARエントリが、その命令IDエントリ内に前記命令IDを、及びそのVFBエントリ内に前記VFBインデックスエントリを含むかを決定し、
前記別のSARエントリが前記SAR回路に含まれると決定することに応答して、前記SAR回路内の前記SARエントリを割り当て解除する
ように構成される、請求項10に記載の非投機的キャッシュメモリ。
The cache controller is further responsive to allocating the SAR entry in the SAR circuit to:
determining if another SAR entry included in the SAR circuit includes the instruction ID in its instruction ID entry and the VFB index entry in its VFB entry;
11. The non-speculative cache memory of claim 10, configured to deallocate the SAR entry within the SAR circuit in response to determining that the another SAR entry is included in the SAR circuit. .
前記キャッシュコントローラはさらに、前記投機的バッファメモリ内のバッファエントリを、前記メインデータアレイ内のキャッシュエントリが前記バッファエントリに対応するメモリアドレスに対応して追い出されることに応答して、追い出すように構成される、請求項1に記載の非投機的キャッシュメモリ。 The cache controller is further configured to evict a buffer entry in the speculative buffer memory in response to a cache entry in the main data array being evicted corresponding to a memory address corresponding to the buffer entry. 2. The non-speculative cache memory of claim 1, wherein: プロセッサベースのシステム内の非投機的キャッシュメモリにおけるキャッシュ状態を更新する方法であって、
ターゲットアドレスと、前記プロセッサベースのシステム内のプロセッサにより処理される前記ターゲットアドレスを含むロード命令を識別する命令識別(ID)とを含む、要求元からのデータ要求を受信するステップと、
前記プロセッサベースのシステムのメモリシステム内のメモリアドレスに関連づけられたキャッシュデータを記憶するように各々構成された複数のキャッシュエントリの中の、前記データ要求の前記ターゲットアドレスに関連づけられたキャッシュエントリについて、メインデータアレイを検索するステップと、
前記メモリシステム内のメモリアドレスに関連づけられたキャッシュデータを記憶するように各々構成された複数のバッファエントリの中の、前記データ要求の前記ターゲットアドレスに関連づけられたバッファエントリについて、投機的バッファメモリを検索するステップと、
前記メインデータアレイ内のキャッシュエントリが前記ターゲットアドレスに関連づけられ、前記投機的バッファメモリ内のバッファエントリ内のキャッシュデータが前記ターゲットアドレスに関連づけられていることに基づいて、前記データ要求に対するデータ応答を前記要求元に送信するステップと、
非投機的である命令の命令IDを含むコミットインジケータを受信するステップと、
前記コミットインジケータ内の受信した命令IDが、前記データ要求の前記ロード命令が非投機的であると示すことに応答して、前記データ要求の前記ターゲットアドレスに関連づけられた前記メインデータアレイ内のキャッシュエントリのキャッシュ状態を更新するステップと、
を含む方法。
A method for updating cache state in non-speculative cache memory in a processor-based system, comprising:
receiving a data request from a requestor comprising a target address and an instruction identification (ID) identifying a load instruction containing the target address to be processed by a processor in the processor-based system;
among a plurality of cache entries each configured to store cache data associated with a memory address in a memory system of the processor-based system, for a cache entry associated with the target address of the data request; searching the main data array;
a speculative buffer memory for a buffer entry associated with the target address of the data request among a plurality of buffer entries each configured to store cache data associated with a memory address in the memory system; a searching step;
a data response to the data request based on cache entries in the main data array associated with the target address and cache data in buffer entries in the speculative buffer memory associated with the target address; sending to the requestor;
receiving a commit indicator that includes an instruction ID for an instruction that is non-speculative;
a cache in the main data array associated with the target address of the data request in response to the received instruction ID in the commit indicator indicating that the load instruction of the data request is non-speculative; updating the cache state of the entry;
method including.
さらに、前記メインデータアレイ内のキャッシュエントリが前記データ要求の前記ターゲットアドレスに関連づけられているかを決定するステップ、を含み、
前記メインデータアレイ内のキャッシュエントリが前記データ要求の前記ターゲットアドレスに関連づけられていることに応答して、前記データ要求の前記ターゲットアドレスに関連づけられた前記ターゲットアドレスを有する前記メインデータアレイ内の前記キャッシュエントリ内のキャッシュデータを含む、前記データ要求に対する前記データ応答を、前記要求元に送信するステップ、を含む請求項13に記載の方法。
further comprising determining if a cache entry in the main data array is associated with the target address of the data request;
said cache entry in said main data array having said target address associated with said target address of said data request, in response to said cache entry in said main data array being associated with said target address of said data request; 14. The method of claim 13, comprising sending the data response to the data request, including cached data in a cache entry, to the requester.
前記メインデータアレイ内のキャッシュエントリが前記データ要求の前記ターゲットアドレスに関連づけられていないことに応答して、
前記投機的バッファメモリ内のバッファエントリが前記データ要求の前記ターゲットアドレスに関連づけられているかを決定するステップと、
前記データ要求の前記ターゲットアドレスに関連づけられた前記ターゲットアドレスを有する前記投機的バッファメモリ内の前記バッファエントリ内のキャッシュデータを含む、前記データ要求に対する前記データ応答を、前記要求元に送信するステップと、
をさらに含む請求項14に記載の方法。
in response that no cache entry in the main data array is associated with the target address of the data request;
determining if a buffer entry in the speculative buffer memory is associated with the target address of the data request;
sending to the requestor the data response to the data request including cached data in the buffer entry in the speculative buffer memory having the target address associated with the target address of the data request; ,
15. The method of claim 14, further comprising:
JP2022514238A 2019-09-03 2020-06-17 Deferring cache state updates in non-speculative cache memory in a processor-based system in response to a speculative data request until the speculative data request becomes non-speculative Pending JP2022545848A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/558,843 2019-09-03
US16/558,843 US11061824B2 (en) 2019-09-03 2019-09-03 Deferring cache state updates in a non-speculative cache memory in a processor-based system in response to a speculative data request until the speculative data request becomes non-speculative
PCT/US2020/037990 WO2021045814A1 (en) 2019-09-03 2020-06-17 Deferring cache state updates in a non-speculative cache memory in a processor-based system in response to a speculative data request until the speculative data request becomes non-speculative

Publications (2)

Publication Number Publication Date
JP2022545848A JP2022545848A (en) 2022-10-31
JPWO2021045814A5 true JPWO2021045814A5 (en) 2023-05-26

Family

ID=71409583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022514238A Pending JP2022545848A (en) 2019-09-03 2020-06-17 Deferring cache state updates in non-speculative cache memory in a processor-based system in response to a speculative data request until the speculative data request becomes non-speculative

Country Status (12)

Country Link
US (1) US11061824B2 (en)
EP (1) EP4025996B1 (en)
JP (1) JP2022545848A (en)
KR (1) KR20220054625A (en)
CN (1) CN114341820A (en)
AU (1) AU2020343169A1 (en)
BR (1) BR112022001901A2 (en)
CA (1) CA3150177A1 (en)
IL (1) IL290984A (en)
MX (1) MX2022002605A (en)
WO (1) WO2021045814A1 (en)
ZA (1) ZA202201948B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663130B1 (en) * 2020-12-11 2023-05-30 Marvell Asia Pte, Ltd. Cache replacement mechanisms for speculative execution
US11568932B2 (en) * 2021-02-22 2023-01-31 Micron Technology, Inc. Read cache for reset read disturb mitigation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321328B1 (en) 1999-03-22 2001-11-20 Hewlett-Packard Company Processor having data buffer for speculative loads
WO2003001369A2 (en) * 2001-06-26 2003-01-03 Sun Microsystems, Inc. Method and apparatus for facilitating speculative stores in a multiprocessor system
WO2004001527A2 (en) * 2001-06-26 2003-12-31 Sun Microsystems, Inc. Method and apparatus for facilitating speculative loads in a multiprocessor system
US8943273B1 (en) 2008-08-14 2015-01-27 Marvell International Ltd. Method and apparatus for improving cache efficiency
US8521961B2 (en) * 2009-08-20 2013-08-27 International Business Machines Corporation Checkpointing in speculative versioning caches
US9195465B2 (en) * 2012-12-28 2015-11-24 Intel Corporation Cache coherency and processor consistency
US10318295B2 (en) * 2015-12-22 2019-06-11 Intel Corporation Transaction end plus commit to persistence instructions, processors, methods, and systems

Similar Documents

Publication Publication Date Title
US6901485B2 (en) Memory directory management in a multi-node computer system
US6760809B2 (en) Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory
US6615322B2 (en) Two-stage request protocol for accessing remote memory data in a NUMA data processing system
US6711652B2 (en) Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data
US6760817B2 (en) Method and system for prefetching utilizing memory initiated prefetch write operations
US6754782B2 (en) Decentralized global coherency management in a multi-node computer system
US6886079B2 (en) Dynamic history based mechanism for the granting of exclusive data ownership in a non-uniform memory access (NUMA) computer system
US6633959B2 (en) Non-uniform memory access (NUMA) data processing system that provides notification of remote deallocation of shared data
US6782453B2 (en) Storing data in memory
CN111344684A (en) Multi-level cache placement mechanism
US20110161597A1 (en) Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller
US7103728B2 (en) System and method for memory migration in distributed-memory multi-processor systems
US6654857B2 (en) Non-uniform memory access (NUMA) computer system having distributed global coherency management
KR100987996B1 (en) Memory access control apparatus and memory access control method
JP3463292B2 (en) Method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
EP3411798B1 (en) Cache and method
US9996478B1 (en) No allocate cache policy
CN114217861A (en) Data processing method and device, electronic device and storage medium
CN107506139B (en) Write request optimization device for phase change memory
WO2024045586A1 (en) Cache supporting simt architecture and corresponding processor
CN114341820A (en) Deferring cache state updates in non-speculative cache memories in processor-based systems in response to speculative data requests until the speculative data requests become non-speculative
JPWO2021045814A5 (en)
JP5348146B2 (en) Cache memory and control method thereof
US20080320238A1 (en) Snoop control method and information processing apparatus
US20050033920A1 (en) Cache structure and methodology