Vector Micro-operation Replacement for Pipeline Flush Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing techniques for vector operands often waste resources when all elements in a vector register portion are non-selected, as they require additional guarding branch instructions that can lead to branch mispredictions and performance degradation.

Innovation Solution

A data processing apparatus and method that detects whether control information indicates no selected elements in a source vector register portion, allowing for either processing the original vector micro-operation if elements are selected or replacing it with a lower-latency micro-operation if not, eliminating the need for guarding branch instructions and optimizing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If guarding branch instructions are used to detect whether selected elements exist in vector register portion, then processing correctness is ensured, but pipeline flushes due to branch mispredictions occur and performance degrades

Engineering Contradiction:
Improveprocessing correctnessVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the detection of zero-length micro-operations from the normal execution flow and handles them separately through replacement with alternative micro-operations. This removes the need for guarding branch instructions that cause pipeline flushes, thereby maintaining processing correctness while eliminating performance degradation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The control circuitry performs preliminary detection of zero-length micro-operations before they enter the main execution pipeline. By identifying and replacing these operations in advance with alternative micro-operations having the same effect, the system prevents pipeline flushes and maintains high processing performance while ensuring correctness.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If original vector micro-operation is processed even when no elements are selected, then processing simplicity is maintained, but processing resources are wasted and efficiency decreases

Engineering Contradiction:
Improveprocessing simplicityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent changes the parameter of micro-operation selection based on the detected condition of zero-length operations. When no selected elements are present, the system transitions from processing the original vector micro-operation to processing a replacement micro-operation with lower latency, thereby improving processing efficiency without significantly increasing complexity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of always performing the full vector processing operation, the system applies partial action by replacing zero-length micro-operations with alternative operations that have the same effect but lower latency. This avoids unnecessary processing of non-selected elements while maintaining correctness.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If replacement micro-operation with lower latency is used when no elements are selected, then processing speed is improved, but additional control logic is required to detect and replace micro-operations

Engineering Contradiction:
Improveprocessing speedVSAvoidcontrol logic complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges the detection and replacement functionality into the existing control circuitry that already handles micro-operation dispatch. By integrating the zero-length detection and replacement logic with the existing control structure, the system achieves faster processing speed while minimizing the increase in control logic complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10514919B2Data processing apparatus and method for processing vector operands
Publication Date: 2019.12.24 ARM LTD
  • US10514919B2 patent drawing
  • US10514919B2 patent drawing
  • US10514919B2 patent drawing

AI summary

A data processing apparatus has processing circuitry for processing vector operands from a vector register store in response to vector micro-operations, some of which have control information identifying which data elements of the vector operands are selected for processing. Control circuitry detects vector micro-operations for which the control information specifies that a portion of the vector operand to be processed has no selected elements. If this is the case, then the control circuitry controls the processing circuitry to process a lower latency replacement micro-operation instead of the original micro-operation. This provides better performance than if a branch instruction is used to bypass the micro-operation if there are no selected elements.