Vector Broadcast Immediate Instructions for Register Pressure Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer processor architectures face performance degradation and inefficient power consumption due to vector register spillage when handling vector operations with constant values, particularly in graphics applications where multiple graphical objects require translation by different amounts, leading to increased register allocation and memory access.

Innovation Solution

The extension of processor instruction sets to enable vector operations with immediate values, allowing for efficient broadcasting of constant values directly into vector registers without the need for additional registers or memory access, through instructions like VBROADCASTIMM, VBROADCASTVREG, and others that support immediate operands and strided operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vector registers are allocated for each constant value in vector operations, then the vector operations can be performed correctly, but the register pressure increases and causes vector register spillage leading to performance degradation

Engineering Contradiction:
Improvecorrect execution of vector operationsVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the constant value from register storage and embeds it directly into the instruction as an immediate operand. This removes the need to allocate vector registers for storing constant values, thereby reducing register pressure and preventing register spillage while maintaining correct vector operation execution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The extended instruction set enables vector operations to function with both register operands and immediate constant values. This multi-functionality allows the same instruction format to handle different operand types, eliminating the need for separate instructions or additional registers dedicated to constant values.

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

2Adaptability or versatility

If additional vector registers are allocated to store different constant values for translating graphical objects, then the translation operations can be performed, but the device complexity and power consumption increase

Engineering Contradiction:
Improveability to translate multiple graphical objects with different constantsVSAvoidnumber of vector registers required
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The constant values are extracted from register storage and embedded directly into the instruction stream as immediate operands. This eliminates the need to allocate additional vector registers for storing different constant values for translating multiple graphical objects, thereby reducing device complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The constant values are prepared and embedded into the instructions in advance during compilation or assembly, rather than being loaded into registers at runtime. This preliminary action eliminates the need for additional registers to hold these constants during execution.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If vector registers are used to store constant values instead of immediate operands, then the existing instruction set can be used, but memory access is required causing performance degradation

Engineering Contradiction:
Improvecompatibility with existing instruction setVSAvoidperformance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The instruction is segmented to include an immediate operand field that can directly contain constant values. This segmentation allows the instruction to carry both operational codes and constant data within the same instruction structure, eliminating the need for separate memory access to retrieve constants.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The immediate operand field acts as an intermediary that bridges the gap between the instruction and the constant value. Instead of requiring memory access to retrieve constants, the immediate field directly provides the constant value to the execution unit, improving performance while maintaining instruction set compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11579881B2Instructions for vector operations with constant values
Publication Date: 2023.02.14 INTEL CORP
  • US11579881B2 patent drawing
  • US11579881B2 patent drawing
  • US11579881B2 patent drawing

AI summary

Disclosed embodiments relate to instructions for vector operations with immediate values. In one example, a system includes a memory and a processor that includes fetch circuitry to fetch the instruction from a code storage, the instruction including an opcode, a destination identifier to specify a destination vector register, a first immediate, and a write mask identifier to specify a write mask register, the write mask register including at least one bit corresponding to each destination vector register element, the at least one bit to specify whether the destination vector register element is masked or unmasked, decode circuitry to decode the fetched instruction, and execution circuitry to execute the decoded instruction, to, use the write mask register to determine unmasked elements of the destination vector register, and, when the opcode specifies to broadcast, broadcast the first immediate to one or more unmasked vector elements of the destination vector register.