Segment Load and Store With Byte-Wise Mux Shuffling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for loading and storing data with interleaved data types in processing systems are inefficient, either being slow or requiring costly dedicated logic.

Innovation Solution

Utilize a byte-wise anything-to-anything mux present in the CPU to rearrange data within registers and memory to ensure same-type data is stored together, eliminating the need for additional dedicated logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dedicated logic is used to load all data into memory, shuffle the data, and write to correct registers, then data loading efficiency is improved, but device area cost increases

Engineering Contradiction:
Improvedata loading efficiencyVSAvoiddevice area cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The existing byte-wise mux in the CPU is made to perform the data shuffling function that would otherwise require dedicated logic. The mux, already present for other purposes, is repurposed to reorder data elements during segment load operations, eliminating the need for additional dedicated shuffling logic and reducing device area cost while maintaining data loading efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The byte-wise mux is used for multiple purposes: its original function plus the additional function of shuffling data elements during segment loads. This multi-functional use of existing hardware eliminates the need for dedicated shuffling logic, resolving the contradiction between efficiency and area cost

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

2Ease of operation

If data is loaded one element at a time into the correct register, then data is placed in the correct register, but processing speed decreases

Engineering Contradiction:
Improvedata placement accuracyVSAvoidprocessing speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

All data elements are loaded into a temporary buffer register first, before any shuffling or reordering operations are performed. This preliminary loading of all elements simultaneously, followed by subsequent shuffling, maintains high processing speed while ensuring correct final placement of each element type in its designated register

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data loading process is segmented into two distinct phases: first, loading all data elements into a temporary buffer; second, shuffling the elements within the buffer to reorder them by type. This segmentation allows simultaneous loading of multiple elements while maintaining placement accuracy through the subsequent organized shuffling phase

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If segment store operations use existing methods, then data is stored in memory, but processing efficiency is slow

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The existing byte-wise mux is utilized to perform the data shuffling required for segment store operations. Instead of implementing a separate store mechanism, the system uses the same mux infrastructure already present for load operations, achieving efficient segmented data storage while maintaining implementation simplicity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The byte-wise mux serves dual purposes: handling both segment load and segment store operations. This universal application of the mux to both loading and storing functions eliminates the need for separate dedicated store logic, improving processing efficiency while keeping the implementation simple and reuseable

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

Data Source

PatentEP4586082A1Segment load and stores
Publication Date: 2025.07.16 IMAGINATION TECH LTD
  • EP4586082A1 patent drawingFigure 1
  • EP4586082A1 patent drawingFigure 2
  • EP4586082A1 patent drawingFigure 3

AI summary

Segment load operations are performed by processing data through an anything-to-anything mux, and sections writing elements to respective storage locations based on corresponding indices of the elements and the storage locations. Once all of the elements are loaded into the correct storage location, each location is read again with the elements of that storage location being sent through the mux, arranged) into the correct order, and written back to the same register.