Dynamic Instruction Splitting for Multi-Core Resource Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveAtomic execution of multiple operation instructionVSAvoidResource utilization of data processing units
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
ImproveResource utilization of data processing unitsVSAvoidInstruction arbitration and coordination mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImproveDynamic resource allocation responsivenessVSAvoidEnergy consumption of idle data processing units
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8782378B2Dynamic instruction splitting
Publication Date: 2014.07.15 ARM LTD
  • US8782378B2 patent drawing
  • US8782378B2 patent drawing
  • US8782378B2 patent drawing

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.