Dynamic Vector Register File Allocation for Integer Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional microprocessors face inefficiencies in handling varying workloads between integer and vector operations due to static allocation of vector registers, leading to suboptimal performance in workloads dominated by integer instructions.

Innovation Solution

A dynamically allocatable vector register file that reallocates a portion of its registers to non-vector processing circuits based on the relative workload of integer and vector instructions, allowing for dynamic adjustment to optimize performance in mixed workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If vector registers are statically allocated to the vector execution circuit, then vector instruction processing capability is ensured, but integer instruction processing throughput is reduced when vector workload is light

Engineering Contradiction:
Improveinteger instruction processing throughputVSAvoidworkload adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic allocation of vector registers to the integer execution circuit based on real-time detection of integer instruction throughput performance. When throughput falls below a threshold, vector registers are allocated to the integer circuit, transforming the static register allocation into a dynamic system that adapts to workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the allocation parameter (vector register assignment) based on detected performance parameters (integer instruction throughput). By monitoring throughput and adjusting register allocation accordingly, the system optimizes performance for varying workload conditions without requiring a complete redesign of the architecture.

Inventive Principle:
Principle #35Parameter changes

2Loss of energy

If the integer register file size is reduced to improve efficiency, then power consumption and area are reduced, but performance for heavy integer workloads may be compromised

Engineering Contradiction:
Improvepower consumptionVSAvoidinteger workload performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent makes the vector register file serve dual purposes: it functions as vector registers for the vector execution circuit and as additional integer registers for the integer execution circuit when needed. This multi-functionality allows the system to reduce the dedicated integer register file size while maintaining performance capability through dynamic borrowing of vector registers.

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

Solution Approach 2:

The system enables the vector register file to serve the integer execution circuit's needs when integer workload performance requires additional registers. Instead of requiring a separate large integer register file, the vector registers dynamically support integer operations, allowing the system to self-adjust to workload demands.

Inventive Principle:
Principle #25Self-service

3Productivity

If a dedicated large integer register file is provided, then integer instruction processing performance is maximized, but device area and power consumption increase

Engineering Contradiction:
Improveinteger instruction processing performanceVSAvoidregister file area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The vector register file is designed to serve multiple functions: vector register operations and integer register operations. By detecting integer instruction throughput and dynamically allocating vector registers to the integer execution circuit when needed, the system eliminates the need for a separate large dedicated integer register file, reducing overall device area while maintaining performance.

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

Solution Approach 2:

The patent merges the functionality of vector registers and integer registers by allowing the same physical register file to serve both execution circuits. The detection mechanism determines when to allocate vector registers to integer instructions, effectively combining resources to reduce total area requirements while maintaining both vector and integer processing capabilities.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12405792B2Processing unit including a dynamically allocatable vector register file for non-vector instruction processing
Publication Date: 2025.09.02 QUALCOMM INC
  • US12405792B2 patent drawing
  • US12405792B2 patent drawing
  • US12405792B2 patent drawing

AI summary

A processing unit including a dynamically allocatable vector register file for non-vector instruction processing is disclosed. The processing unit includes an integer execution circuit and integer register file for processing integer instructions. The processing unit also includes a vector execution circuit and a vector register file for processing vector instructions. The integer and vector register files are each sized at design time. A processing unit may be called upon to execute varying workloads that vary between integer and vector operations. Rather than statically dedicating the entire vector register file to vector registers, the processor is configured to dynamically allocate a portion(s) of the vector registers in the vector register file for use in the execution of integer instructions.