Move and Zero Instruction for Array Storage Data Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems with array storage face inefficiencies in freeing up resources for subsequent operations, as they require multiple instructions to move data elements out of the array storage and clear associated storage elements.
Innovation Solution
The introduction of a 'move and zero' instruction that identifies vectors within a two-dimensional array storage, allowing both data elements to be moved out of the array storage and the associated storage elements to be cleared to a logic zero value with a single instruction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple instructions are used to move data elements out of array storage and clear storage elements, then data can be properly transferred and storage freed, but instruction overhead increases and performance decreases
Solution Approach 1:
The patent combines two separate operations (moving data elements out of array storage and clearing storage elements to zero) into a single compound instruction called 'move and zero'. This merging eliminates the need for multiple sequential instructions, reducing instruction overhead and improving execution efficiency while achieving both data transfer and storage cleanup in one operation.
2Productivity
If a compound move and zero instruction is implemented, then instruction overhead is reduced and performance improves, but instruction set complexity increases
Solution Approach 1:
The compound 'move and zero' instruction is segmented into two distinct functional components that can be independently decoded and executed. The instruction decoder recognizes the compound instruction format and separates the move operation (transferring data elements) from the zero operation (clearing storage elements), allowing the complex functionality to be implemented through coordinated simpler sub-operations rather than a monolithic complex decoder.
Data Source
AI summary
An apparatus is provided comprising processing circuitry to perform operations, instruction decoder circuitry to decode instructions to control the processing circuitry to perform the operations specified by the instructions, and array storage comprising storage elements to store data elements. The array storage is arranged to store at least one two dimensional array of data elements accessible to the processing circuitry when performing the operations, each two dimensional array of data elements comprising a plurality of vectors of data elements, where each vector is one dimensional. The instruction decoder circuitry is arranged, in response to decoding a zero vectors instruction that identifies multiple vectors of data elements of a given two dimensional array of data elements within the array storage, to also decode a subsequent accumulate instruction arranged to operate on the identified multiple vectors of data elements, and to control the processing circuitry to perform a non-accumulating variant of an accumulate operation specified by the accumulate instruction to produce result data elements for storing in the identified multiple vectors within the array storage.


