Register Addressing with Base-Plus-Immediate for Scalable Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data transfer instructions in register storage lack flexibility to handle scalable data storage sizes and efficient loop unrolling, particularly for processing 2D arrays, leading to performance bottlenecks in applications like machine learning and matrix operations.

Innovation Solution

Implement data transfer instructions using a base register identifier and an immediate value to dynamically select target portions of register storage, enabling scalable code and loop unrolling, with support for 2D array operations and variable data element sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data transfer instructions use fixed register addressing modes, then instruction encoding is simple, but flexibility to handle scalable data storage sizes and loop unrolling is limited

Engineering Contradiction:
Improveflexibility to handle scalable data storage sizesVSAvoidinstruction encoding complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The register addressing information is segmented into multiple components: a base register identifier and an immediate value. This segmentation allows the addressing mode to be extended for scalable data storage sizes while maintaining a relatively simple instruction encoding structure, as each component serves a specific function in the addressing calculation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to register addressing by combining base register identification with immediate value offsetting. This dimensional expansion enables the addressing mechanism to handle scalable data storage sizes and supports loop unrolling capabilities, transforming a simple fixed addressing mode into a more versatile system.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If data transfer instructions use base register and immediate value addressing, then loop unrolling and parallelism are improved, but instruction decoding and processing complexity increases

Engineering Contradiction:
Improveloop unrolling efficiencyVSAvoidinstruction decoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The base register and immediate value are prepared and combined in advance during the instruction decoding phase to generate the final register identifier. This preliminary action enables the processing circuitry to execute loop unrolling operations more efficiently, as the addressing information is ready before the data transfer operation begins, reducing runtime complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The immediate value acts as an intermediary element that bridges the base register identifier and the final target register. This intermediary mechanism simplifies the overall decoding process by providing a straightforward addition operation to generate the target address, making the instruction processing more manageable despite the enhanced capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If register addressing information includes base register identifier and immediate value, then adaptability for varying array sizes is improved, but the number of instruction bits required increases

Engineering Contradiction:
Improveadaptability for varying array sizesVSAvoidinstruction bit length
Core Design Contradiction:
Adaptability or versatilityVSLength of moving object

Solution Approach 1:

Different portions of the instruction are allocated different qualities of precision: the base register identifier uses a fixed number of bits for register selection, while the immediate value uses a variable number of bits depending on the required offset magnitude. This local quality differentiation allows the instruction to adapt to varying array sizes without uniformly increasing the entire instruction length.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent employs parameter changes in the immediate value field to accommodate different array sizes. By varying the immediate value parameter based on the specific addressing requirements, the system achieves adaptability for varying array sizes while minimizing the overall instruction bit length through efficient parameter utilization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4189537B1Register addressing information for data transfer instruction
Publication Date: 2026.04.15 ARM LTD
  • EP4189537B1 patent drawingFigure 1
  • EP4189537B1 patent drawingFigure 2A~2B
  • EP4189537B1 patent drawingFigure 2C

AI summary

A data transfer instruction is provided which specifies register addressing information for identifying a target portion of the register storage. In response to the data transfer instruction, instruction decoding circuitry 30 controls processing circuitry to perform a data transfer operation to transfer data to or from the target portion of the register storage. The register addressing information includes at least: a base register identifier identifying a base register of the register storage for storing a base value; and an immediate value specified in an encoding of the data transfer instruction, the immediate value representing a value to be added to the base value to provide an index value for selecting the target portion of the register storage. This can be useful to provide an instruction set architecture which supports code that is scalable to variable data structure sizes, and which supports loop unrolling.