Hashed Store-Load Forwarding for Lower Memory Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storing data to memory and then loading it back shortly afterwards is wasteful of resources in computer systems.
Innovation Solution
A data processing apparatus that decodes store and load instructions and predicts data loading based on a hash of a program counter value, using a memory rename table and store buffer to enable store/load forwarding techniques, allowing parallel execution and reducing memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored to memory and then loaded back shortly afterwards, then the data can be accessed, but memory bandwidth and energy are wasted
Solution Approach 1:
The patent introduces a store buffer as an intermediary structure between the store instruction and main memory. The store buffer temporarily holds stored data, allowing subsequent load instructions to retrieve data from the buffer rather than accessing main memory, thus reducing energy consumption while maintaining data accessibility
Solution Approach 2:
The patent performs preliminary action by storing data in the store buffer before the actual memory access occurs. The store buffer pre-positions data in a readily accessible location, so when a load instruction follows, the data is already available locally without requiring a full memory access cycle
2Reliability
If data is stored to memory and then loaded back shortly afterwards, then the data can be accessed, but memory bandwidth is consumed
Solution Approach 1:
The store buffer acts as an intermediary that intercepts store operations and holds data locally. When load instructions follow, they can be satisfied from the store buffer rather than consuming memory bandwidth for repeated access to main memory
Solution Approach 2:
The patent creates a copy of the stored data in the store buffer. This copy allows subsequent load instructions to retrieve data without accessing the original memory location, thereby preserving memory bandwidth while ensuring data accessibility
3Reliability
If store/load forwarding is implemented without hashing, then prediction accuracy may be higher, but the table size would be too large
Solution Approach 1:
The patent transforms the program counter value through a hashing function, changing its parameter representation from full address to a condensed hash value. This parameter transformation enables the use of a compact table size while maintaining the ability to accurately identify and predict store-load dependencies
Data Source
AI summary
A data processing apparatus is provided. Decode circuitry decodes a stream of instructions including a store instruction and a load instruction. Prediction circuitry predicts that the load instruction loads data from memory that is stored to the memory by the store instruction and the prediction is based on a hash of a program counter value of the store instruction.


