Decorated Instruction Cache Bypass for Atomic Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiple processor or multiple core data processing systems, conventional atomic update mechanisms like software semaphores or locks cause system delays due to network delays and resource consumption, especially when multiple cores update shared counters, and existing solutions do not effectively handle cache hits for decorated operations.
Innovation Solution
A data processing system that executes decorated instructions with cache bypass, where the processor determines an instruction operation and decoration value, and the intelligent memory performs modifications without updating the cache, ensuring atomic operations and bypassing cache allocation even on cache hits to maintain accurate data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional atomic update mechanisms (software semaphore or software lock) are used to ensure atomic operations on shared counters, then data integrity is maintained, but system delays increase and performance degrades
Solution Approach 1:
The patent extracts the atomic update logic from the processor core and implements it directly in the cache controller hardware. The cache controller now independently handles atomic operations (increment, decrement, read-modify-write) without requiring processor-level locks or semaphores, thereby eliminating the time-consuming software synchronization mechanisms while maintaining data integrity.
Solution Approach 2:
The cache controller acts as an intermediary between the processor and memory, handling atomic operations on shared counters. When a decorated instruction requests an atomic operation, the cache controller mediates the access, ensuring atomicity through hardware-based control of the cache and memory interfaces, avoiding the need for software locks.
2Speed
If cache is used for decorated operations to improve access speed, then processing speed increases, but data integrity is compromised due to cache coherence issues
Solution Approach 1:
The patent applies different caching policies based on the operation type. For decorated operations (atomic updates), the cache is bypassed or invalidated to ensure data integrity. For non-decorated operations, normal cache behavior is maintained. This local differentiation allows the system to optimize for speed where safe and ensure integrity where required.
Solution Approach 2:
Instead of allowing cache operations for all instructions and managing coherence, the patent inverts the approach by defaulting to cache bypass for decorated operations and only using cache for non-decorated operations. This inversion ensures that atomic operations maintain integrity while still allowing performance optimization where applicable.
3Reliability
If lock variables are used to limit access to counters during atomic updates, then data integrity is maintained, but processing cycles are consumed and system performance decreases
Solution Approach 1:
The patent replaces the software-based lock variable mechanism with a hardware-based solution in the cache controller. The cache controller uses hardware logic to manage atomic operations, eliminating the need for software lock variables and the associated processing overhead. This substitution of mechanical/software control with hardware control maintains integrity while improving performance.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A method includes determining if a data processing instruction (300) is a decorated access instruction with cache bypass, and determining if the data processing instruction generates a cache hit to a cache (43). When the data processing instruction is determined to be a decorated access instruction with cache bypass and the data processing instruction is determined to generate a cache hit, the method further includes invalidating a cache entry of the cache associated with the cache hit; and performing by a memory controller (72) of the memory (40), a decoration operation specified by the data processor instruction on a location in the memory designated by a target address of the data processor instruction, wherein the performing the decorated access includes the memory controller performing a read of a value of the location in memory, modifying the value to generate a modified value, and writing the modified value to the location.