Processor Dependency Tracking Circuit for Hazard Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processor-based systems, existing technologies face challenges in efficiently tracking and communicating direct and indirect source dependencies between producer and consumer instructions, leading to potential hazards and suboptimal execution due to unpredictable dataflow order processing.

Innovation Solution

The implementation of an instruction dependency tracking circuit that records and communicates source dependencies through a data structure, such as a rename map table and influencer tracking table, to facilitate optimal scheduling and execution of consumer instructions, even in the presence of hazards like branch mispredictions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dataflow order processing is used to execute instructions based on availability of input data rather than program order, then processor throughput and utilization are improved, but execution predictability and control over instruction ordering deteriorate

Engineering Contradiction:
Improveprocessor throughputVSAvoidexecution predictability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary actions by recording source dependencies in data structures (rename map table, influencer tracking table) before execution hazards occur. This allows the processor to proactively identify and manage dependency relationships, enabling safe out-of-order execution while maintaining correctness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the instruction dependency tracking circuit continuously monitors and communicates source dependencies back to the scheduler and execution units. This feedback loop enables dynamic adjustment of instruction scheduling while maintaining execution correctness despite unpredictable dataflow ordering.

Inventive Principle:
Principle #23Feedback

2Reliability

If instruction dependency tracking is implemented to ensure correct execution values, then execution reliability is improved, but processor complexity and overhead increase

Engineering Contradiction:
Improveexecution correctnessVSAvoidtracking circuit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The instruction dependency tracking circuit serves multiple functions simultaneously: it records source dependencies, communicates them to consumer instructions, and enables hazard detection. By consolidating these functions into a single circuit, the design achieves high reliability without proportionally increasing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses existing processor structures (rename map table, influencer tracking table) for dependency tracking rather than introducing entirely new hardware. These structures serve their primary purposes while also enabling dependency tracking, thereby improving reliability with minimal additional complexity.

Inventive Principle:
Principle #25Self-service

3Reliability

If source dependencies are tracked and communicated to consumer instructions, then ability to handle hazards (e.g., branch mispredictions) is improved, but information processing overhead increases

Engineering Contradiction:
Improvehazard handling capabilityVSAvoidinformation processing overhead
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system records source dependencies in advance in data structures before hazards occur. This preliminary recording allows the processor to quickly identify affected consumer instructions when hazards are detected, enabling efficient hazard handling without extensive real-time information processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces complex real-time dependency analysis with pre-computed dependency information stored in data structures. This substitution reduces the information processing overhead during hazard handling by using stored data rather than performing complex analysis at the moment of hazard detection.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11068272B2Tracking and communication of direct/indirect source dependencies of producer instructions executed in a processor to source dependent consumer instructions to facilitate processor optimizations
Publication Date: 2021.07.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11068272B2 patent drawing
  • US11068272B2 patent drawing
  • US11068272B2 patent drawing

AI summary

Tracking and communication of direct/indirect source dependencies of producer instructions executed in a processor to source dependent consumer instructions to facilitate processor optimizations. The processor includes instruction processing circuit configured to process and execute fetched instructions in an instruction stream according to a dataflow execution. The instruction processing circuit includes mechanisms to communicate dependencies to dependent, consumer instructions in an instruction pipeline to facilitate processor optimizations, such as replay of consumer instructions. The instruction processing circuit is configured to track producer instructions and consumer instruction dependencies on its producer instructions in the instruction pipeline in a data structure circuit before the instructions are scheduled for execution. These recorded source dependencies in the source dependency indicators can then be communicated to later stages in the instruction pipeline, such as scheduling, to facilitate for example, replay of dependent consumer instructions, if for example, its producer instruction incurs a hazard.