Processor Verification Using Timestamp Engine and Store Buffer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-performance microprocessors face significant performance losses due to long memory access latency, and the integration of multiprocessor cache coherence complicates the interaction between execution pipelines and memory systems, especially when instructions are executed out of order.
Innovation Solution
A method and system for verifying that a processor design conforms to a specified memory model using a checker, timestamp engine, and store buffering scheme to identify errors and ensure correct load values, involving a load queue, store queue, and global store buffer to maintain memory order and coherence across caches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the processor executes instructions out of order to hide memory latency, then the processor performance is improved, but the complexity of ensuring memory coherence and correctness increases
Solution Approach 1:
The patent introduces a verification system with intermediaries (checker, timestamp engine, load queue, store queue, global store buffer) that mediate between the speculative execution engine and the memory system. These intermediaries track memory operations, enforce ordering constraints, and verify coherence without interfering with the actual execution performance, thus resolving the contradiction between performance and complexity.
Solution Approach 2:
The patent creates a virtual copy of the memory system state through the global store buffer and timestamp engine, which records memory operations and their ordering relationships. This copy allows verification of coherence properties without duplicating the actual hardware complexity, enabling validation of out-of-order execution correctness while maintaining system simplicity.
2Reliability
If the processor stalls on memory accesses to ensure correctness, then memory coherence is maintained, but the processor performance deteriorates
Solution Approach 1:
The patent performs preliminary actions by recording memory operation timestamps and ordering information in the load queue and store queue before execution completes. The timestamp engine captures memory commit information in advance, allowing the verification system to later determine correct memory ordering and coherence without requiring stalls during execution.
Solution Approach 2:
The verification system implements feedback mechanisms where the checker compares actual memory operations against recorded timestamps and ordering constraints. This feedback loop detects coherence violations without affecting the execution flow, maintaining both performance and reliability by identifying issues post-execution rather than stalling during execution.
3Reliability
If a verification system is added to ensure memory model compliance, then the reliability of processor design is improved, but the device complexity increases
Solution Approach 1:
The verification system is segmented into distinct functional modules: timestamp engine for capturing timing information, load queue for tracking load operations, store queue for tracking store operations, global store buffer for maintaining memory state, and checker for verification. This segmentation allows each component to be simple and focused, reducing overall complexity while maintaining comprehensive verification capability.
Data Source
AI summary
A system and method for verifying that a processor design having caches conforms to a specific memory model. The caches might not be maintained coherent in real time. Specifically, the system and method make use of a checker that conforms to the memory model, a time-stamping scheme, and a store buffering scheme to identify a bug(s) in the processor design that violates the memory model and/or loads an incorrect value in response to a load instruction.


