Dynamic Thread Control via Watchpoint Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multithreaded processing systems require explicit register writes to enable or disable threads, making it necessary to recompile application code for thread control, which is often infeasible and affects performance.

Innovation Solution

The use of watchpoint logic for dynamic thread control, allowing threads to be enabled, disabled, or throttled without modifying existing code by setting and clearing flags in thread priority registers in response to watchpoint triggers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If explicit register writes are used to enable or disable threads, then thread control is achieved, but code must be recompiled and performance is affected

Engineering Contradiction:
Improvethread controlVSAvoidperformance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a hardware intermediary mechanism (watchpoint logic and control registers) that mediates between the application code and thread execution control. Instead of requiring explicit register writes in the code, the system uses hardware-based watchpoints that automatically trigger thread enable/disable actions, thus maintaining performance while achieving thread control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables threads to control their own execution through hardware mechanisms rather than requiring external intervention via register writes. The watchpoint logic automatically monitors execution and triggers thread control actions based on predefined conditions, allowing the system to self-regulate thread execution without compromising performance.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If explicit register writes are required for thread control, then thread execution can be controlled, but application code must be recompiled

Engineering Contradiction:
Improvethread controlVSAvoidcode modification
Core Design Contradiction:
Ease of operationVSEase of manufacture

Solution Approach 1:

The hardware intermediary (watchpoint logic and control registers) acts as a bridge that allows thread control without requiring changes to application code. The system intercepts and controls thread execution at the hardware level, eliminating the need to recompile code with explicit register write instructions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent moves thread control from the software dimension (register writes in compiled code) to the hardware dimension (watchpoint logic and control registers). This dimensional shift allows control to be implemented in hardware without requiring any modifications to the application software, thus avoiding recompilation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If watchpoint logic is used for dynamic thread control, then code recompilation is avoided, but system complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The watchpoint logic and control registers are designed to serve multiple functions: they control thread execution, monitor program counters, and trigger enable/disable actions. This multi-functionality reduces the need for separate dedicated hardware components, thereby limiting the increase in system complexity while maintaining performance benefits.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Loss of energy

If threads are dynamically enabled or disabled, then power consumption is reduced, but thread control flexibility is required

Engineering Contradiction:
Improvepower consumptionVSAvoidthread control flexibility
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The system implements dynamic thread control where threads can be enabled or disabled based on runtime conditions monitored by watchpoint logic. This dynamic approach allows the system to adapt thread execution to current needs, reducing power consumption by disabling unused threads while maintaining the flexibility to re-enable them when required.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10445133B2Data processing system having dynamic thread control
Publication Date: 2019.10.15 NXP USA INC
  • US10445133B2 patent drawing
  • US10445133B2 patent drawing
  • US10445133B2 patent drawing

AI summary

A method for managing thread execution in a processing system is provided. The method includes setting a first watchpoint, and generating a first watchpoint trigger corresponding to the first watchpoint. In response to the first watchpoint trigger, execution of a first thread is controlled in accordance with a value stored in a first control register. Controlling the first thread may further include disabling execution of the first thread. The disabling execution of the first thread may occur within the first watchpoint region.