Fifo Load Instruction For Byte-Aligned Data Shifting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current FIR and motion estimation techniques in multimedia devices require expensive custom hardware for loading data streams at any byte alignment, which is not desirable in small devices like mobile phones, and often use multiple instructions for data loading and shifting, increasing code size and execution cycles.

Innovation Solution

A single instruction that performs data load, shift, and insert operations, allowing for efficient FIR filtering and motion estimation without additional custom hardware, by loading an item from memory and shifting data in a register to insert the item, all within the same execution cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom hardware is used to load data streams at any byte alignment, then data loading capability is improved, but device cost and space occupation increase

Engineering Contradiction:
Improvedata loading capabilityVSAvoiddevice space
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal data loading mechanism that can handle any byte alignment using standard processor instructions. The load instruction combines multiple operations (loading, shifting, inserting) into a single instruction that works with regular registers and memory, eliminating the need for specialized custom hardware while maintaining the ability to load data at any alignment.

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

Solution Approach 2:

The patent merges multiple separate operations (data loading, shifting, and inserting) into a single combined instruction. This consolidation allows the processor to perform what would traditionally require multiple instructions or custom hardware, using only standard processor components and a single unified instruction sequence.

Inventive Principle:
Principle #5Merging (Combining)

2Ease of operation

If multiple instructions are used for data loading and shifting, then data processing is achieved, but code size and execution cycles increase

Engineering Contradiction:
Improvedata processing capabilityVSAvoidexecution cycles
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent combines loading, shifting, and inserting operations into a single instruction that executes in one cycle. This eliminates the need for multiple sequential instructions, reducing both code size and execution time while maintaining full data processing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The instruction performs preliminary shifting and positioning of data during the load operation itself, rather than requiring separate shift instructions afterward. This preliminary action integrates multiple steps into one operation, reducing the total number of execution cycles required.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9823928B2FIFO load instruction
Publication Date: 2017.11.21 QUALCOMM INC
  • US9823928B2 patent drawing
  • US9823928B2 patent drawing
  • US9823928B2 patent drawing

AI summary

An instruction identifies a register and a memory location. Upon execution of the instruction by a processor, an item is loaded from the memory location and a shift and insert operation is performed to shift data in the register and to insert the item into the register.