Vector Register Access Circuitry for Parallel Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in efficiently accessing vector registers due to limitations in accessing different components of vectors simultaneously, which affects the performance of vector instructions and the overlap of instruction execution.

Innovation Solution

The system logically divides vector registers into columns and uses register access circuitry with multiple access blocks to access different columns for each vector register, allowing simultaneous access to portions of vector registers and columns, enabling various access patterns and overlapping instruction execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single access block is used to access vector registers, then the device complexity is reduced, but the productivity and instruction execution efficiency deteriorate due to inability to access multiple components simultaneously

Engineering Contradiction:
Improveinstruction execution efficiencyVSAvoidregister access circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The register access circuitry is divided into multiple access blocks (first access block, second access block, etc.), where each access block is responsible for accessing specific portions of vector registers. This segmentation allows simultaneous access to multiple vector register portions through different access blocks, thereby improving instruction execution efficiency without requiring a single complex access mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The vector registers are logically divided into columns, creating a two-dimensional organization (registers × columns). This dimensional organization enables the access blocks to simultaneously access different columns of different vector registers, providing multiple access paths and improving parallelism in data processing operations.

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

2Loss of time

If vector registers are accessed sequentially one component at a time, then the device complexity is reduced, but the loss of time increases due to inability to access multiple components simultaneously

Engineering Contradiction:
Improveregister access timeVSAvoidaccess block configuration
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The vector registers are pre-organized into a column-based logical structure before access operations occur. This preliminary organization of data into columns allows the access blocks to directly access multiple components in parallel without requiring complex runtime reconfiguration, thereby reducing access time while maintaining manageable device complexity.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the register access circuitry accesses the same column for all vector registers, then the device complexity is reduced, but the adaptability deteriorates due to inability to support different access patterns

Engineering Contradiction:
Improveaccess pattern flexibilityVSAvoidaccess block configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Each access block is designed with universal access capability to access any column of any vector register. This multi-functional design allows the same access block structure to support various access patterns (horizontal, vertical, interleaved, etc.) by configuring which columns are accessed, thereby providing high adaptability without requiring separate dedicated access circuits for each pattern.

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

4Productivity

If multiple access blocks are used to access different columns simultaneously, then the productivity is improved, but the device complexity increases

Engineering Contradiction:
Improvedata processing throughputVSAvoidregister access circuitry structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple access blocks are merged into a unified register access circuitry structure that shares common control logic and address generation resources. This merging approach allows simultaneous access to multiple vector register portions through different access blocks while avoiding the need for completely separate access circuits, thereby improving productivity while controlling device complexity through resource sharing.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10963251B2Vector register access
Publication Date: 2021.03.30 ARM LTD
  • US10963251B2 patent drawing
  • US10963251B2 patent drawing
  • US10963251B2 patent drawing

AI summary

There is provided an apparatus that includes a set of vector registers, each of the vector registers being arranged to store a vector comprising a plurality of portions. The set of vector registers is logically divided into a plurality of columns, each of the columns being arranged to store a same portion of each vector. The apparatus also includes register access circuitry that comprises a plurality of access blocks. Each access block is arranged to access a portion in a different column when accessing one of the vector registers than when accessing at least one other of the vector registers. The register access circuitry is arranged to simultaneously access portions in any one of: the vector registers and the columns.