Processor Issue Circuit Null Predicate Early Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The difficulty in vectorizing loops due to the need for source operands and predicate operands to be available before scheduling vector instructions, which prevents large-scale adoption of vector processors.

Innovation Solution

An issue circuit that monitors source operands and can issue instruction operations even if some operands are not yet resolved, specifically allowing instructions with a null predicate to be executed early, reducing dependency wait times and improving processor efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vector instructions require all source operands and predicate operands to be resolved before scheduling, then instruction correctness is ensured, but processor productivity is reduced due to increased dependency wait times

Engineering Contradiction:
Improveinstruction correctnessVSAvoidprocessor efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The issue circuit performs preliminary detection of null predicates before full operand resolution is required. By identifying null predicates early in the instruction lifecycle, the system can schedule instructions sooner without compromising correctness, as null predicates indicate no actual data dependency exists for those operand positions

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the scheduling parameter from requiring complete operand resolution to requiring only partial resolution (specifically, detecting null predicates). This parameter change allows instructions to be issued earlier in the pipeline, reducing dependency wait times while maintaining correctness through the null predicate mechanism

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If the issue circuit waits for all source operands to be resolved before issuing instructions, then data accuracy is maintained, but the instruction execution time is extended

Engineering Contradiction:
Improvedata accuracyVSAvoidinstruction execution time
Core Design Contradiction:
Manufacturing precisionVSDuration of action of moving object

Solution Approach 1:

The issue circuit performs preliminary analysis of predicate operands to identify null predicates before the instruction reaches the execution stage. This preliminary action allows the instruction to be scheduled and executed earlier, reducing the overall execution time while data accuracy is maintained through proper dependency tracking for non-null operands

Inventive Principle:
Principle #10Preliminary action

3Reliability

If vector processors implement strict dependency resolution before instruction issuance, then computational correctness is ensured, but the complexity of the issue circuit increases

Engineering Contradiction:
Improvecomputational correctnessVSAvoidissue circuit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The issue circuit extracts and separately handles the null predicate detection function from the general operand resolution process. By isolating this specific functionality, the circuit can efficiently identify instructions that don't require full operand resolution, simplifying the overall control logic while maintaining computational correctness through targeted dependency management

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9400651B2Early issue of null-predicated operations
Publication Date: 2016.07.26 APPLE INC
  • US9400651B2 patent drawing
  • US9400651B2 patent drawing
  • US9400651B2 patent drawing

AI summary

In an embodiment, a processor includes an issue circuit configured to issue instruction operations for execution. The issue circuit may be configured to monitor the source operands of the instruction operations, and to issue instruction operations for which the source operands (including predicate operands, as appropriate) are resolved. Additionally, the issue circuit may be configured to detect a null predicate that indicates that none of the vector elements will be modified by a corresponding instruction operation. The issue circuit may be configured to issue the corresponding instruction operation with the null predicate even if other source operands are not yet resolved.