Vector Permute Instruction with Write Mask for Register Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current image processing methods, particularly ray tracing, face inefficiencies in vector data processing due to dependencies between instructions, the need for temporary registers, and increased computational power requirements, which hinder fast rendering of complex scenes.

Innovation Solution

The introduction of a permute instruction with a write mask allows for efficient data rearrangement in target registers, reducing the number of instructions and dependencies, and eliminating the need for temporary registers by specifying exact locations for data transfer within a register.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional vector processing instructions are used for data rearrangement, then data can be transferred between registers, but multiple instructions and temporary registers are required increasing device complexity

Engineering Contradiction:
Improvedata rearrangement efficiencyVSAvoidnumber of instructions and temporary registers
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent combines multiple separate operations (data transfer and mask generation) into a single permute instruction. The instruction simultaneously performs data rearrangement from source to destination register while generating the write mask in parallel, eliminating the need for separate mask generation instructions and temporary registers.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The permute instruction serves multiple functions: it transfers data between registers, rearranges data according to permute indices, generates write masks for selective writing, and controls pipeline behavior. This multi-functionality reduces the total number of instructions needed in the instruction stream.

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

2Ease of operation

If multiple permute instructions are used to rearrange vector data, then data can be assembled in target registers, but instruction dependencies cause pipeline stalls reducing productivity

Engineering Contradiction:
Improvevector data assemblyVSAvoidrendering speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The write mask is generated in advance during the execution of the permute instruction itself, before the data write-back stage. This preliminary generation of the mask allows subsequent instructions to proceed without waiting for mask computation, eliminating dependency-induced pipeline stalls.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The permute instruction maintains continuous pipeline flow by generating the write mask in parallel with data transfer operations rather than sequentially. This allows the pipeline to remain full and productive, with no stalls waiting for mask generation or data assembly.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If write masks are generated for each permute operation, then selective data writing is enabled, but additional computational power is required increasing energy consumption

Engineering Contradiction:
Improveselective data writing capabilityVSAvoidcomputational power for mask generation
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The permute instruction generates its own write mask as an internal byproduct of its execution, without requiring separate computational resources or additional instructions. The mask generation is self-contained within the permute operation itself, utilizing the same execution units already engaged in data transfer.

Inventive Principle:
Principle #25Self-service

4Reliability

If traditional rendering methods are used, then image processing can be performed, but increasing scene complexity directly increases computational requirements

Engineering Contradiction:
Improveimage processing capabilityVSAvoidcomputational power requirements
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The patent changes the operational parameters of vector processing by implementing a unified permute instruction that operates on word-sized data elements with integrated mask generation. This parameter change optimizes the processing efficiency for complex scenes by reducing the total number of operations required.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9495724B2Single precision vector permute immediate with “word” vector write mask
Publication Date: 2016.11.15 BEIJING ZITIAO NETWORK TECH CO LTD
  • US9495724B2 patent drawing
  • US9495724B2 patent drawing
  • US9495724B2 patent drawing

AI summary

The present invention is generally related to the field of image processing, and more specifically to an instruction set for processing images. Vector processing may involve performing a plurality of permute operations to arrange vector operands in desired locations of a register prior to performing vector operation, for example, a cross product. The permute instructions may be dependent on one another and may require the use of temporary registers. Embodiments of the invention provide a permute instruction wherein a mask field may be used to specify a particular location of a target register in which to transfer data, thereby reducing the number of instructions for arranging data, reducing dependencies between instructions, and the usage of temporary registers.