Load Store Unit Dependency Tracking for Deadlock Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Out-of-order processing in data processing systems can lead to deadlocks when all access slot circuits are busy with bypassing instructions, preventing the issuance of bypassed instructions, resulting in inefficient resource utilization.

Innovation Solution

Implementing dependency tracking circuitry to manage access slot circuits, allowing issuance of bypassing instructions only when a minimum freeable number of circuits is available, ensuring deadlock avoidance while optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If out-of-order processing is implemented to improve instruction throughput, then productivity increases, but deadlock situations may arise when all access slot circuits are busy with bypassing instructions

Engineering Contradiction:
Improveinstruction throughputVSAvoiddeadlock prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by checking the number of busy access slot circuits before issuing a bypassing instruction. The issue control circuitry prevents issuance of bypassing instructions when the number of busy circuits exceeds a threshold, proactively avoiding deadlock situations before they occur. This anticipatory control mechanism ensures system reliability while maintaining out-of-order processing capability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a minimum number of access slot circuits are kept empty to prevent deadlocks, then reliability improves, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvedeadlock preventionVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamics by making the effective number of accessible circuits dynamic rather than static. The issue control circuitry continuously monitors the number of busy access slot circuits and adjusts the availability of circuits dynamically. When the number of busy circuits is below the threshold, bypassing instructions can utilize all available circuits. When the threshold is exceeded, further bypassing is prevented. This dynamic adjustment optimizes resource utilization while maintaining deadlock prevention.

Inventive Principle:
Principle #15Dynamics

3Reliability

If access slot circuits are held empty to guarantee availability for bypassed instructions, then deadlock avoidance is ensured, but loss of time occurs due to unused resources

Engineering Contradiction:
Improvedeadlock avoidanceVSAvoidresource idle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies feedback by implementing a monitoring mechanism that tracks the number of busy access slot circuits and uses this information to control instruction issuance. The issue control circuitry receives feedback about the current state of access slot circuits and adjusts its control decisions accordingly. This feedback loop eliminates the need to permanently hold circuits empty, as circuits are only restricted when necessary to prevent deadlock, thereby reducing resource idle time while maintaining deadlock avoidance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9047092B2Resource management within a load store unit
Publication Date: 2015.06.02 ARM LTD
  • US9047092B2 patent drawing
  • US9047092B2 patent drawing
  • US9047092B2 patent drawing

AI summary

A load store pipeline 18 includes an issue queue 20 and load store circuitry 24. The load store circuitry 24 includes the plurality of access slot circuits 26 to 40. Dependency tracking circuitry 42, 44, 46, 48 serves to track a freeable number of access slot circuits 26 to 42 corresponding to the sum of access slot circuits that are empty and those processing data access instructions which have not bypassed any preceding data access instructions within the program execution order.