Predicate Indicator Count Pre-computation for Vector Processing Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, the execution of critical instructions is hindered by the need to calculate the count of predicate indicators during performance-critical stages, leading to delays and inefficiencies, as instructions that require this count are often dependent on it but the generation of predicate indicators is not performance-critical.

Innovation Solution

A predicate store is used to pre-derive and store a count value of predicate indicators in a given state, allowing this information to be readily available during execution of performance-critical instructions, thereby reducing processing time and improving efficiency by separating the generation of predicate indicators and their count from the execution stage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If predicate indicator count is calculated during performance-critical execution stage, then instruction accuracy is ensured, but processing speed deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidexecution delay
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent applies preliminary action by calculating and storing the predicate indicator count during the non-critical predicate generation stage, before the performance-critical execution stage. This pre-computation ensures that when performance-critical instructions need the count, it is already available, eliminating execution delays while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the processing into distinct stages: a non-critical predicate generation stage where the count is calculated and stored, and a performance-critical execution stage where pre-stored counts are used. This segmentation allows count calculation to occur outside the critical path, improving overall processing speed without sacrificing accuracy.

Inventive Principle:
Principle #1Segmentation

2Productivity

If predicate indicator generation is performed during performance-critical stage, then data accuracy is maintained, but processing efficiency deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs predicate indicator generation and count calculation as preliminary actions during a non-critical stage. The results are stored and reused during performance-critical stages, maintaining data accuracy while significantly improving processing efficiency by avoiding redundant calculations in the critical path.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the predicate indicator count during the non-critical generation stage and stores it for reuse. This copying mechanism allows multiple performance-critical instructions to access the pre-computed count without recalculation, maintaining accuracy while boosting productivity.

Inventive Principle:
Principle #26Copying

3Productivity

If real-time calculation of predicate indicator count is performed, then instruction dependency is satisfied, but throughput deteriorates

Engineering Contradiction:
ImprovethroughputVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent calculates and stores predicate indicator counts as preliminary data during non-critical stages. This pre-computation satisfies instruction dependencies in advance, allowing multiple instructions to proceed in parallel without waiting for real-time calculations, thereby increasing throughput while managing complexity through staged processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary storage mechanism that holds pre-computed predicate indicator counts. This intermediary structure decouples the count calculation from the performance-critical instruction execution, allowing independent optimization of each stage and improving overall throughput without excessive complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11036503B2Predicate indicator generation for vector processing operations
Publication Date: 2021.06.15 ARM LTD
  • US11036503B2 patent drawing
  • US11036503B2 patent drawing
  • US11036503B2 patent drawing

AI summary

Processing circuitry selectively applies vector processing operations to one or more data items of one or more data vectors. Each data vector comprises a plurality of data items at respective vector positions in the data vector according to the state of respective predicate indicators associated with the vector positions. Predicate generation circuitry apply a processing operation to generate a set of predicate indicators, each associated with a respective one of the vector positions, to generate a count value indicative of the number of predicate indicators in the set having a given state, and to store the generated set of predicate indicators and the count value in a predicate store.