Processor Non-Write-Back Lock Control for Real-Time Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current processor architectures face issues with non-write-back locks, which can lead to data starvation for real-time software due to bus locks, preventing real-time operating systems from accessing memory effectively, especially when general-purpose software issues memory requests that cause non-write-back locks.
Innovation Solution
A new architecture is introduced that allows for selective disabling of non-write-back lock accesses by adding a bit in the control register, causing a general protection fault when a non-write-back lock access is attempted, thereby preventing bus locks and allowing real-time software to run without interference from other software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If non-write-back lock accesses are enabled, then general-purpose software can use memory locking mechanisms, but real-time software experiences data starvation due to bus locks
Solution Approach 1:
The patent introduces a control register bit that allows selective disabling of non-write-back lock accesses. This enables different quality levels of memory access control: when enabled, general-purpose software can use locking mechanisms; when disabled, real-time software achieves uninterrupted memory access. The system can locally adjust the locking behavior based on software type needs.
Solution Approach 2:
The patent makes the lock access behavior dynamic by introducing a configurable control register bit. The system can transition between two states: allowing non-write-back lock accesses for general-purpose software or blocking them to enable real-time software performance. This dynamic adjustment resolves the contradiction by adapting the locking mechanism to current operational needs.
2Productivity
If non-write-back lock accesses are disabled, then real-time software can access memory without interference, but general-purpose software loses locking functionality
Solution Approach 1:
The control register bit provides dynamic control over lock access behavior. When set to disable non-write-back lock accesses, real-time software achieves optimal performance. When cleared, general-purpose software regains locking functionality. The system dynamically adapts between these modes based on operational requirements.
Solution Approach 2:
The patent applies local quality by allowing different locking behaviors for different software types through the control register. The system can provide full locking capability to general-purpose software when needed, while providing uninterrupted access to real-time software when required, effectively creating quality tiers for memory access control.
3Reliability
If bus locks are implemented, then memory access control is achieved, but data starvation occurs for real-time software
Solution Approach 1:
The patent extracts the harmful effect of bus locks by introducing a control mechanism that can disable non-write-back lock accesses. When real-time software needs uninterrupted memory access, the system can take out the bus locking mechanism entirely, allowing real-time software to proceed without waiting for general-purpose software to release locks.
Solution Approach 2:
The control register bit provides preliminary anti-action by allowing the system to prevent bus locks from forming in the first place when real-time software is running. By disabling non-write-back lock accesses before they can cause data starvation, the system proactively protects real-time software performance.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
Systems, methods, and apparatuses relating to processor non-write-back capabilities are described. In one embodiment, a processor includes a plurality of logical processors, a control register comprising a non-write-back lock disable bit, a cache shared by the plurality of logical processors, a bus to couple the cache to a memory to service a memory request for the memory from the plurality of logical processors, and a memory controller to disable a non-write-back lock access of the bus for a read-modify-write type of the memory request issued by a logical processor of the plurality of logical processors when the non-write-back lock disable bit is set to a first value, and implement the non-write-back lock access of the bus for the read-modify-write type of the memory request when the non-write-back lock disable bit is set to a second value.