Clause Chaining for Parallel Graphics Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graphics processing in mobile devices faces challenges in power consumption and processor area efficiency due to the need to execute the same instructions in parallel for different graphics elements and multiple times, which existing technologies have not adequately addressed.
Innovation Solution
The implementation of clause-based execution of program instructions using execution circuitry that receives clauses of instructions and groups of input data, allowing for parallel operations and efficient management of state information based on whether clauses operate on the same or different instruction streams, thereby reducing power consumption and maintaining performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the same instruction is executed in parallel for different graphics elements multiple times, then graphics processing functionality is achieved, but power consumption increases
Solution Approach 1:
The patent applies preliminary action by storing state information in storage elements before execution circuitry needs it. The scheduling circuitry predicts whether future clauses will need state information from the same instruction stream and pre-maintains this information, avoiding costly flushes and reloads. This predictive pre-action reduces the energy required for repeated graphics processing operations.
Solution Approach 2:
The patent implements continuity of useful action by maintaining state information continuously in storage elements for predicted instruction streams. Instead of flushing and reloading state information with each clause execution, the system keeps the information continuously available, eliminating redundant operations and reducing power consumption during parallel graphics processing.
2Productivity
If state information is maintained for multiple instruction streams, then processing efficiency improves, but device complexity increases
Solution Approach 1:
The system applies self-service through automated prediction and management of state information. The scheduling circuitry automatically determines which instruction streams will need state information and configures storage elements accordingly, without requiring manual intervention or complex control logic. This self-managing approach handles multiple instruction streams efficiently while keeping the control mechanism relatively simple.
3Reliability
If state information is flushed between different instruction streams, then data accuracy is maintained, but processing time increases
Solution Approach 1:
The patent extracts the state information management decision from the general execution flow by using separate prediction logic in the scheduling circuitry. The system extracts and separately manages state information for different instruction streams based on prediction, allowing accurate data handling without requiring time-consuming flush operations between all clause executions.
Solution Approach 2:
By predicting in advance whether clauses will operate on the same or different instruction streams, the system performs preliminary actions to either maintain or flush state information appropriately. This predictive approach eliminates the need for conservative flush operations between all clauses, maintaining data accuracy while significantly reducing processing time delays.
Data Source
AI summary
Techniques are disclosed relating to clause-based execution of program instructions, which may be single-instruction multiple data (SIMD) computer instructions. In some embodiments, an apparatus includes execution circuitry configured to receive clauses of instructions and SIMD groups of input data to be operated on by the clauses. In some embodiments, the apparatus further includes one or more storage elements configured to store state information for clauses processed by the execution circuitry. In some embodiments, the apparatus further includes scheduling circuitry configured to send instructions of a first clause and corresponding input data for execution by the execution circuitry and indicate, prior to sending instruction and input data of a second clause to the execution circuitry for execution, whether the second clause and a first clause are assigned to operate on groups of input data corresponding to the same instruction stream. In some embodiments, the apparatus is configured to determine, based on the indication, whether to maintain as valid, for use by the second clause, stored state information for the first clause.


