Thread Control Registers for Multithread Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern multi-core processors face performance penalties when switching between threads due to increased power consumption and area requirements, and there is a need for efficient multithread handling, especially during debugging and optimization tasks where disabling threads is necessary.

Innovation Solution

A multithread processing system with an instruction dispatch block and registers that allow for selective disabling of threads using thread-control bits and operation locks, enabling efficient management of thread execution and preventing conflicts between threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multithread processing is implemented on a single processor core, then productivity is improved, but use of energy worsens due to power consumption increases

Engineering Contradiction:
Improvemultithread processing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by implementing thread disabling functionality before threads are fully activated. Thread-control bits are pre-configured in registers to allow selective disabling of individual threads, preventing energy-wasting thread execution before it starts or during debugging phases, thus improving energy efficiency while maintaining multithread capability

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If thread switching is performed in single pipeline processors, then adaptability is improved, but loss of time worsens due to performance penalties

Engineering Contradiction:
Improvethread switching capabilityVSAvoidthread switch overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent prepares thread execution states in advance by maintaining thread-control registers with pre-configured control bits for each thread. This allows the processor to quickly enable or disable threads without extensive switching overhead, as the control mechanism is pre-established rather than created during switching operations

Inventive Principle:
Principle #10Preliminary action

3Reliability

If debugging and testing operations are performed on multithread systems, then reliability is improved, but productivity worsens due to thread disabling requirements

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsystem performance during testing
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the multithread system into individually controllable units by providing separate thread-control bits in registers for each thread. This segmentation allows debuggers to disable only specific threads that need testing while keeping other threads active and productive, rather than requiring complete system shutdown or universal thread disabling

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8850169B1Disabling threads in multithread environment
Publication Date: 2014.09.30 MARVELL ASIA PTE LTD
  • US8850169B1 patent drawing
  • US8850169B1 patent drawing
  • US8850169B1 patent drawing

AI summary

A system, apparatus and method for multithread handling on a multithread processing device are described herein. Embodiments of the present invention provide a multithread processing device for multithread handling including a plurality of registers operatively coupled to an instruction dispatch block, including thread-control registers for selectively disabling threads. In various embodiments, the multithread processing device may include a thread-operation register for selectively providing a lock to a first thread to prevent a second thread from disabling the first thread while the first thread has the lock. In still further embodiments, the multithread processing device may be configured to atomically disable and release a lock held by a thread. Other embodiments may be described and claimed.