Vector Data Access Ordering Circuitry for Interleaved Memory Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, vector operations often require multiple cycles to complete, and existing methods struggle to efficiently interleave data access instructions due to the need for extensive address comparisons to ensure safety, which is costly and inefficient, especially when dealing with large numbers of vector memory operations.

Innovation Solution

A vector data access unit with data access ordering circuitry that determines the next data access to perform based on the relative positions of elements within vector data access instructions, allowing limited interleaving of data accesses while ensuring safety constraints are met, thereby reducing the need for extensive address comparisons and enabling parallel execution of data access requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive address comparisons are performed to ensure safe interleaving of data accesses, then reliability of data access ordering is improved, but device complexity and processing time increase

Engineering Contradiction:
Improvedata access ordering safetyVSAvoidaddress comparison circuitry
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the safety assurance mechanism from extensive address comparisons to a simpler element position tracking system. Instead of comparing actual memory addresses, the system only tracks and compares the positions of elements within vector instructions, which are simpler integer values that can be processed with minimal circuitry while still guaranteeing safe interleaving.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent inverts the traditional approach by not comparing addresses directly to ensure safety, but rather by tracking element positions and using position-based ordering rules to implicitly ensure safety. This inversion simplifies the comparison operation from complex address matching to simple integer position comparison.

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If extensive address comparisons are performed to ensure safe interleaving of data accesses, then reliability of data access ordering is improved, but processing time increases

Engineering Contradiction:
Improvedata access ordering safetyVSAvoiddata access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the safety verification from time-consuming address comparisons to efficient element position tracking. By monitoring only the positional indices of elements within vector instructions and comparing these simple integers, the system maintains reliability while dramatically reducing the time required for safety verification.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary tracking of element positions as vector instructions are decoded and queued, before actual memory access occurs. This preliminary action maintains position information in ready-state registers, so that when interleaving decisions need to be made, the position comparisons can be performed instantly without adding latency to the critical memory access path.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data accesses are issued in strict instruction stream order, then reliability of data access is improved, but productivity decreases due to inability to exploit parallelism

Engineering Contradiction:
Improvedata access correctnessVSAvoiddata access throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces dynamic ordering based on element positions rather than static instruction stream order. The data access unit can dynamically adjust the issuance order of memory access requests by comparing element positions, allowing later instructions to overtake earlier ones when their element positions indicate it is safe to do so, thereby enabling parallelism while maintaining correctness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the ordering parameter from instruction issue time to element position within vector instructions. By using element position as the ordering criterion instead of temporal order, the system enables reordering of memory accesses to exploit parallelism while ensuring that accesses maintain their logical ordering relative to their element positions, preserving correctness.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If limited interleaving of data accesses is enabled, then productivity increases through parallel execution, but device complexity increases due to ordering circuitry

Engineering Contradiction:
Improvedata access throughputVSAvoiddata access ordering circuitry
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the ordering function from complex address comparison logic to simple element position tracking. The ordering circuitry only needs to monitor and compare the positional indices of elements within vector instructions, which are simple integers already available during instruction decoding, rather than performing complex address matching operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The element position tracking mechanism serves multiple functions: it enables safe interleaving decisions, determines issuance order of memory requests, and provides ordering information for multiple data access units. This universal position-based approach replaces multiple specialized circuits that would otherwise be needed for address comparison and ordering decisions.

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

Data Source

PatentUS9483243B2Interleaving data accesses issued in response to vector access instructions
Publication Date: 2016.11.01 ARM LTD
  • US9483243B2 patent drawing
  • US9483243B2 patent drawing
  • US9483243B2 patent drawing

AI summary

A vector data access unit includes data access ordering circuitry, for issuing data access requests indicated by elements of earlier and a later vector instructions, one being a write instruction. An element indicating the next data access for each of the instructions is determined. The next data accesses for the earlier and the later instructions may be reordered. The next data access of the earlier instruction is selected if the position of the earlier instruction's next data element is less than or equal to the position of the later instruction's next data element minus a predetermined value. The next data access of the later instruction may be selected if the position of the earlier instruction's next data element is higher than the position of the later instruction's next data element minus a predetermined value. Thus data accesses from earlier and later instructions are partially interleaved.