IP Library › Granted Patent US 12,487,825
Granted Patent B2
US 12,487,825 · App. 18/585,283 · Granted Dec 2, 2025

Controlling speculative actions based on a hit/miss predictor

Inventors: David Trilla Rodriguez (New York, NY); Alper Buyuktosunoglu (White Plains, NY); Dominic DiTomaso (Hyde Park, NY); Craig R Walters (Highland, NY); Ram Sai Manoj Bamdhamravuri (Boston, MA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/30047G06F9/3842G06F9/3861
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,487,825
App. No.
18/585,283
Granted
Dec 2, 2025
Kind
B2
Abstract

Processing within a computing environment is facilitated by using cache hit-miss predictions. A cache hit-miss prediction is determined for a memory access instruction using a predictor. One or more speculative actions are controlled, based on determining the cache hit-miss prediction is a miss. The controlling is further based on a type of cache design.

Claims (39)

1 . A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:

determining a cache hit-miss prediction for a memory access instruction, the determining the cache hit-miss prediction for the memory access instruction using a predictor;

ascertaining a type of cache design to be accessed by the memory access instruction, the type of cache design being one cache design of a bank/directory-based cache design and a coherent-based cache design; and

controlling one or more speculative actions, based on determining the cache hit-miss prediction is a miss, wherein the controlling is further based on the type of cache design ascertained to be accessed by the memory access instruction.

2 . The computer-implemented method of claim 1 , wherein the controlling the one or more speculative actions comprises suppressing one or more speculative cache accesses.

3 . The computer-implemented method of claim 1 , wherein the type of cache design is the bank/directory-based cache design, and wherein the controlling the one or more speculative actions comprises suppressing one or more speculative cache accesses.

4 . The computer-implemented method of claim 1 , wherein the controlling the one or more speculative actions comprises performing one or more speculative off-cache requests for data.

5 . The computer-implemented method of claim 1 , wherein the type of cache design is the coherent-based cache design, and wherein the controlling the one or more speculative actions comprises performing one or more speculative off-cache requests for data.

6 . The computer-implemented method of claim 1 , further comprising:

controlling one or more other speculative actions, based on determining that the cache hit-miss prediction for another memory access instruction is a hit, wherein the controlling is further based on the type of cache design.

7 . The computer-implemented method of claim 6 , wherein the type of cache design is the bank/directory-based cache design, and wherein the controlling the one or more other speculative actions comprises performing one or more speculative cache accesses.

8 . The computer-implemented method of claim 6 , wherein the type of cache design is the coherent-based cache design, and wherein the controlling the one or more other speculative actions comprises suppressing one or more speculative off-cache requests for data.

9 . The computer-implemented method of claim 1 , wherein the predictor includes a saturating counter, and wherein the determining the cache hit-miss prediction for the memory access instruction includes checking a most significant bit of the saturating counter.

10 . The computer-implemented method of claim 9 , wherein based on the most significant bit of the saturating counter being a selected value, the cache hit-miss prediction is a miss.

11 . The computer-implemented method of claim 1 , wherein the determining the cache hit-miss prediction for the memory access instruction includes:

obtaining a value of a counter of the predictor;

comparing the value of the counter to a hit-miss threshold; and

determining the cache hit-miss prediction, based on a comparison of the value of the counter with the hit-miss threshold.

12 . The computer-implemented method of claim 11 , wherein the determining the cache hit-miss prediction for the memory access instruction further comprises:

ascertaining a prediction confidence level of the cache hit-miss prediction; and

using the prediction confidence level of the cache hit-miss prediction to determine the cache hit-miss prediction.

13 . A computer system for facilitating processing within a computing environment, the computer system comprising:

at least one computing device; and

program instructions, collectively stored in a set of one or more computer readable storage media, for causing the at least one computing device to perform the following computer operations including:

determining a cache hit-miss prediction for a memory access instruction, the determining the cache hit-miss prediction for the memory access instruction using a predictor;

ascertaining a type of cache design to be accessed by the memory access instruction, the type of cache design being one cache design of a bank/directory-based cache design and a coherent-based cache design; and

controlling one or more speculative actions, based on determining the cache hit-miss prediction is a miss, wherein the controlling is further based on the type of cache design ascertained to be accessed by the memory access instruction.

14 . The computer system of claim 13 , wherein the controlling the one or more speculative actions comprises suppressing one or more speculative cache accesses.

15 . The computer system of claim 13 , wherein the controlling the one or more speculative actions comprises performing one or more speculative off-cache requests for data.

16 . A computer program product for facilitating processing within a computing environment, the computer program product comprising:

a set of one or more computer readable storage media; and

program instructions, collectively stored in the set of one or more computer readable storage media, for causing at least one computing device to perform the following computer operations including:

determining a cache hit-miss prediction for a memory access instruction, the determining the cache hit-miss prediction for the memory access instruction using a predictor;

ascertaining a type of cache design to be accessed by the memory access instruction, the type of cache design being one cache design of a bank/directory-based cache design and a coherent-based cache design; and

controlling one or more speculative actions, based on determining the cache hit-miss prediction is a miss, wherein the controlling is further based on the type of cache design ascertained to be accessed by the memory access instruction.

17 . The computer program product of claim 16 , wherein the controlling the one or more speculative actions comprises suppressing one or more speculative cache accesses.

18 . The computer program product of claim 16 , wherein the controlling the one or more speculative actions comprises performing one or more speculative off-cache requests for data.

19 . The computer-implemented method of claim 1 , wherein the one or more speculative actions comprises one speculative action based on the type of cache design being the bank/directory-based cache design and a different speculative action than the one speculative action based on the type of cache design being the coherent-based cache design.

20 . The computer-implemented method of claim 19 , wherein the one speculative action includes suppressing one or more speculative cache accesses and the different speculative action includes performing one or more speculative off-cache requests for data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2024
From: TRILLA RODRIGUEZ, DAVID; BUYUKTOSUNOGLU, ALPER; DITOMASO, DOMINIC; WALTERS, CRAIG R; BAMDHAMRAVURI, RAM SAI MANOJ
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066541/0061 →
Continuity (1)
Related Publication 20250272098A1 · Aug 28, 2025
References Cited (34)
US 10007523B2 · Srinivasan et al. · 2018 [cited by applicant]
US 10127044B2 · Williams et al. · 2018 [cited by applicant]
US 10157137B1 · Jain · 2018 [cited by examiner]
US 10503538B2 · Gschwind et al. · 2019 [cited by applicant]
US 10719441B1 · Yin et al. · 2020 [cited by applicant]
US 10936319B2 · Srinivasan et al. · 2021 [cited by applicant]
US 11080062B2 · Pota et al. · 2021 [cited by applicant]
US 11709679B2 · Al Sheikh et al. · 2023 [cited by applicant]
US 11829764B2 · Pota et al. · 2023 [cited by applicant]
US 20110191546A1 · Qureshi · 2011 [cited by examiner]
US 20140143783A1 · Bose · 2014 [cited by examiner]
US 20230108964A1 · Isen · 2023 [cited by examiner]
US 20230409478A1 · Chofleming · 2023 [cited by examiner]
US 20240231887A1 · Ma · 2024 [cited by examiner]
US 20250045206A1 · Shyvers · 2025 [cited by examiner]
Anonymous, “Method for Pipelining Line Predictor,” IP.com No. IPCOM000018664D, Jul. 30, 2003, pp. 1-7 (including cover sheet). [cited by applicant]
Anonymous, “Value Prediction Implementation,” IP.com No. IPCOM0000263479D, Sep. 3, 2020, pp. 1-5 (including cover sheet). [cited by applicant]
Anonymous, “Most Frequent Miss Interval Instruction Prefetcher,” IP.com No. IPCOM000266711D, Aug. 12, 2021, pp. 1-2 (including cover sheet). [cited by applicant]
Yoaz, Adi et al., “Speculation Techniques for Improving Load Related Instruction Scheduling,” Proceedings of the 26th International Symposium on Computer Architecture, Aug. 2002, pp. 1-12. [cited by applicant]
Peir, Jih-Kwon et al., “Bloom Filtering Cache Misses for Accurate Data Speculation and Prefetching,” ICS '02: Proceedings of the 16th international conference on Supercomputing, Jun. 2002, pp. 189-198. [cited by applicant]
Bennett, James E. et al., “Reducing Cache Miss Rates Using Prediction Caches,” Computer Systems Laboratory, Stanford University, Technical Report No. CSL-TR_96-707, Oct. 1996, pp. 1-26. [cited by applicant]
CSE 471—Advanced Caching Techniques, Spring 2014 (no further date information available) pp. 1-9. [cited by applicant]
Jalili, Majid et al., “Reducing Load Latency with Cache Level Prediction,” University of Texas at Austin, Mar. 2021, pp. 1-12. [cited by applicant]
Tyson, Gary et al., “A Modified Approach to Data Cache Management,” Proceedings of the 28th Annual International Symposium on Microarchitecture, Nov. 1995, pp. 93-103. [cited by applicant]
Lee, Jongmin et al., “Filter Data Cache: An Energy-Efficient Small L0 Data Cache Architecture Driven by Miss Cost Reduction,” IEEE Transactions on Computers, vol. 64, No. 7, Jul. 2015, pp. 1927-1939. [cited by applicant]
Qureshi, Moinuddin et al., “Fundamental Latency Trade-offs in Architecting DRAM Caches,” 2012 IEEE/ACM 45th Annual International Symposium on Microarchitecture, Dec. 2012, pp. 235-246. [cited by applicant]
Anonymous, “Avoiding Deadlocks in a Multi-Processor Environment with a First Level Cache Using a Logical Directory,” IP.com No. IPCOM000271077D, Oct. 12, 2022, 5 pages (including cover). [cited by applicant]
Wu, Carole-Jean et al., “SHIP: Signature-based Hit Predictor for High Performance Caching,” Micro-44: Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture, Dec. 2011, pp. 430-441. [cited by applicant]
Tullen, Dean, “Improving Cache Performance—Reducing Misses,” 2020 (no further date information), 9 pages. [cited by applicant]
Xiao, Jun et al., “Floria: A Fast and Featherlight Approach for Predicting Cache Performance,” ICS '23: Proceedings of the 37th International Conference on Supercomputing, Jun. 2023, pp. 25-36. [cited by applicant]
Sim, Jaewoong et al., “A Mostly-Clean DRAM Cache for Effective Hit Speculation and Self-Balancing Dispatch,” Micro-45: Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, Dec. 2012… [cited by applicant]
Anonymous, “Dynamic Cache Reservation for Virtual Machine Applications in Cloud,” IP.com No. IPCOM000233167D, Nov. 28, 2013, pp. 1-6 (+ cover). [cited by applicant]
Lu, Xiaoyang et al., “CARE: A Concurrency-Aware Enhanced Lightweight Cache Management Framework,” Illinois Tech, 2022 (no further date information available), 30 pages. [cited by applicant]
Anonymous, “Method and Apparatus for Dynamic Cache Bypass and Insertion,” IP.com No. IPCOM000223644D, Nov. 20, 2012, pp. 1-6 (+ cover). [cited by applicant]