Fifo Load Instruction For Byte-Aligned Data Shifting
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


