Predicated Vector Instruction Micro-operation Composition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems that support vector instructions, the generation of fixed micro-operations for predicated vector instructions, regardless of the predicate value, can lead to inefficient usage of processing hardware due to the presence of many inactive data elements, resulting in unnecessary resource utilization and energy consumption.

Innovation Solution

The instruction decoding circuitry reads or predicts the estimated predicate value at the decode stage to vary the composition of micro-operations, allowing for more efficient use of processing hardware by adjusting the vector size, number of micro-operations, or fusing instructions based on the sparsity of active elements, thereby optimizing resource utilization and power savings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fixed micro-operations are generated for predicated vector instructions regardless of predicate value, then the instruction decoding is simple and fast, but processing hardware resources are wasted due to inactive data elements

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The micro-operation composition is made dynamic by adjusting it based on the estimated predicate value. The instruction decoding circuitry varies the composition of micro-operations depending on whether active data elements are sparse or dense, transitioning from a static fixed composition approach to a dynamic adaptive approach that optimizes resource utilization and energy consumption based on runtime conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes parameters of micro-operations (such as vector length, number of operations) based on the estimated predicate value. When active elements are sparse, the system reduces vector size and number of micro-operations, effectively changing operational parameters to match the actual workload and reduce energy consumption

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the composition of micro-operations is varied based on estimated predicate value, then resource utilization is improved, but the complexity of instruction decoding increases

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidinstruction decoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary estimation of the predicate value at the instruction decoding stage, before full execution. This preliminary action allows the system to pre-determine the appropriate micro-operation composition, avoiding the need for complex runtime adjustments during execution and distributing complexity to an earlier, more efficient stage

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An estimated predicate value acts as an intermediary between the instruction and the micro-operation generation. This intermediary provides guidance information that simplifies the decoding process by enabling conditional selection of micro-operation compositions without requiring complex analysis of the actual predicate value at execution time

Inventive Principle:
Principle #24Intermediary (Mediator)

3Power

If vector operations are performed on all data elements regardless of predicate value, then the hardware can operate at full capacity, but energy is wasted on inactive elements

Engineering Contradiction:
Improveprocessing powerVSAvoidenergy waste
Core Design Contradiction:
PowerVSLoss of energy

Solution Approach 1:

The system extracts and processes only the necessary subset of data elements based on the estimated predicate value. When active elements are sparse, it extracts and processes only those specific elements rather than all elements, removing the waste of processing power on inactive elements while maintaining full utilization of processing power on the relevant subset

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10963253B2Varying micro-operation composition based on estimated value of predicate value for predicated vector instruction
Publication Date: 2021.03.30 ARM LTD
  • US10963253B2 patent drawing
  • US10963253B2 patent drawing
  • US10963253B2 patent drawing

AI summary

An apparatus comprises instruction decoding circuitry to generate micro-operations in response to program instructions; and processing circuitry to perform data processing in response to the micro-operations generated by the instruction decoding circuitry. In response to a predicated vector instruction, the instruction decoding circuitry reads or predicts an estimated value of the predicate value, and depending on the estimated value, varies a composition of at least one micro-operation generated in response to the predicated vector instruction. This can enable more efficient use of hardware resources in the processing circuitry.