Dynamic Instruction Splitting for Multi-Core Resource Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data processing apparatuses face inefficiencies when handling multiple operation instructions, as resource allocation can lead to underutilization of data processing units, resulting in suboptimal performance due to inactive units while others are fully occupied with multiple operations.
Innovation Solution
An instruction arbitration unit dynamically subdivides multiple operation instructions into sub-instructions and allocates them among data processing units based on current resource availability, ensuring efficient use of resources such as read/write ports and instruction execution units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a multiple operation instruction is allocated to a single data processing unit, then the instruction can be executed atomically, but other data processing units remain idle resulting in resource underutilization
Solution Approach 1:
The patent divides a multiple operation instruction into multiple sub-instructions, where each sub-instruction can be allocated to different data processing units. This segmentation allows parallel execution across multiple units while maintaining logical atomicity through coordination mechanisms, thereby resolving the contradiction between atomic execution and resource utilization.
2Productivity
If multiple data processing units are used to execute sub-instructions, then resource utilization improves, but the complexity of instruction allocation and coordination increases
Solution Approach 1:
The patent introduces an instruction arbitration unit as an intermediary that manages the allocation of sub-instructions to data processing units. This mediator handles the complexity of coordination and resource management, allowing multiple data processing units to work efficiently while keeping the control logic centralized and manageable.
3Adaptability or versatility
If data processing units are kept ready for dynamic allocation, then responsiveness to resource availability improves, but idle time and energy consumption increase
Solution Approach 1:
The patent implements dynamic allocation where data processing units can transition between active and idle states based on real-time resource availability. The instruction arbitration unit monitors resource status and dynamically assigns sub-instructions, allowing units to remain ready without permanent activation, thus balancing responsiveness with energy efficiency.
Data Source
AI summary
A data processing apparatus and method are provided. The data processing apparatus is configured to perform data processing operations in response to data processing instructions including a multiple operation instruction, in response to which multiple data processing operations are performed. The data processing apparatus comprises two or more data processing units configured to perform the data processing operations and an instruction arbitration unit configured to perform sub-division of a multiple operation instruction into a plurality of sub-instructions and to perform allocation of the plurality of sub-instructions amongst the two or more data processing units, wherein each sub-instruction is arranged to cause one of the two or more data processing units to perform at least one data processing operation of the multiple data processing operations. The instruction arbitration unit is configured to perform the sub-division and the allocation dynamically in dependence on a current availability of a resource for each of the two or more data processing units, enabling more efficient usage of the resources of each of the data processing units to be made.


