Load and Store Unit Handling Unaligned Vector Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face inefficiencies when handling unaligned memory references, requiring additional processing for lane extraction and complex operations in both forward and reverse stride accesses, which degrades performance.

Innovation Solution

A memory system with a Load and Store Unit (LSU) that includes an alignment register, current memory reference register, and vector register, enabling efficient loading and storing of aligned and unaligned memory references by aligning and conjoining portions of memory lines, and using subset vectors and multiplexors to handle stride operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If unaligned memory references are handled by loading multiple memory lines and performing lane extraction, then the processor can return appropriate content to applications, but efficiency is reduced due to additional processing overhead

Engineering Contradiction:
Improveability to handle unaligned memory referencesVSAvoidmemory access efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The alignment register pre-loads and stores alignment information before the actual memory access operation. This preliminary action allows the system to quickly determine whether an access is aligned or unaligned, and prepares the necessary alignment data in advance, reducing the processing overhead during the actual memory operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The alignment register acts as an intermediary component between the memory system and the computational unit. It handles the complexity of alignment determination and data reorganization, shielding the computational unit from these complexities and enabling efficient handling of both aligned and unaligned references without requiring lane extraction operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If the processor performs operations using lines of set line lengths, then data can be processed in fixed-width operations, but lane extraction is required to pull data elements from memory lines, adding processing complexity

Engineering Contradiction:
Improvefixed-width operation capabilityVSAvoidprocessing complexity for lane extraction
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The alignment register serves as an intermediary that performs the lane extraction and data reorganization operations, rather than requiring the computational unit to perform these operations. This transfers the complexity from the computational unit to a dedicated alignment mechanism, simplifying the overall processing architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory access operation is segmented into distinct phases: alignment determination, selective loading into alignment register, and final data assembly. This segmentation allows each phase to be handled independently and efficiently, avoiding the need for complex lane extraction operations during the main processing path.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If the memory system supports both forward stride and reverse stride loads and stores, then versatility is improved, but complexity increases and efficiency is reduced

Engineering Contradiction:
Improvesupport for forward and reverse stride operationsVSAvoidcomplexity of load and store operations
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The alignment register is designed as a universal component that handles both forward stride and reverse stride operations through the same mechanism. By using a single alignment register that can be configured for different access patterns, the system achieves multi-functionality without duplicating hardware components, thereby reducing overall complexity.

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

Data Source

PatentUS20210182063A1Memory systems and methods for handling vector data
Publication Date: 2021.06.17 MOTOROLA SOLUTIONS INC
  • US20210182063A1 patent drawing
  • US20210182063A1 patent drawing
  • US20210182063A1 patent drawing

AI summary

Some example memory systems include a load and store unit (LSU) operable to load a memory reference. The LSU may include an alignment register, a current memory reference register, and a vector register. The memory system may include a memory coupled to the LSU. The memory may be operable to store a memory reference. The memory reference may be aligned or unaligned in the memory, and the LSU may be operable to efficiently load both unaligned and aligned memory references. Some example memory systems include a load and store unit (LSU) operable to store to the memory at a memory address. The LSU may be operable to efficiently store to both unaligned and aligned memory addresses. The LSU may perform loads and stores in forward and reverse stride.