Thread Yield Mapping for Underutilized Processor Functional Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware processors face underutilization of functional units due to the unavailability of threads with instructions that can be performed in parallel, leading to inefficiency and increased latency.

Innovation Solution

A compiler modifies the binary file to insert yield functions and increase thread counts, allowing underutilized functional units to execute additional threads, thereby optimizing processor utilization without altering the source code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If threads are executed sequentially without yielding, then thread execution simplicity is maintained, but functional units become underutilized and processor efficiency decreases

Engineering Contradiction:
Improveprocessor efficiencyVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically detects underutilized functional units and inserts yield instructions into the binary file without requiring source code modification. The compiler self-adjusts thread scheduling to optimize functional unit utilization, allowing the system to serve itself by identifying and resolving the underutilization problem autonomously.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention changes the execution parameters of threads by inserting yield instructions at specific points in the binary file. This modifies the thread scheduling behavior, allowing threads to voluntarily yield execution when functional units are underutilized, thereby enabling better resource allocation and improved processor efficiency.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If yield instructions are inserted to increase thread switching, then functional unit utilization improves, but execution latency increases

Engineering Contradiction:
Improvefunctional unit utilizationVSAvoidexecution latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system inserts yield instructions selectively rather than uniformly throughout all threads. Yield instructions are inserted only at specific locations where functional unit underutilization is detected, applying partial action rather than excessive switching. This optimizes functional unit utilization while minimizing unnecessary thread switches and associated latency.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The compiler analyzes the binary file to identify patterns of functional unit underutilization and uses this feedback to strategically insert yield instructions. The feedback mechanism allows the system to understand where yielding will be most beneficial for functional unit utilization while avoiding unnecessary yields that would increase latency, achieving an optimized balance between the two competing objectives.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20260079708A1Mapping instructions included in threads to functional units of processors
Publication Date: 2026.03.19 SAMSUNG ELECTRONICS CO LTD
  • US20260079708A1 patent drawing
  • US20260079708A1 patent drawing
  • US20260079708A1 patent drawing

AI summary

Mapping instructions included in threads to functional units of processors is disclosed. A first functional unit of a first processor may be identified that is underutilized for a first instruction included in a first thread of threads generated from a loop within source code. The first thread may be yielded to a second thread of the threads generated from the loop. A second instruction included in the second thread may be mapped to the first functional unit of the first processor.