Mode Control Register for Multi-Threaded Processor Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As portable computing devices become more powerful, managing multiple program threads to optimize power usage and reduce overhead in microprocessors becomes a challenge, particularly in complex applications like video decoding.

Innovation Solution

A multithreaded processor with a mode control register that allows for the execution of multiple program threads in different modes, including a low power mode, enabling one thread to control the mode of another, and utilizing a global mode control register to manage these threads efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple program threads are executed in active mode, then processing capability and productivity are improved, but power consumption and overhead increase

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

Solution Approach 1:

The patent segments the execution modes of multiple program threads by introducing separate control registers (first execution mode register and second execution mode register) that can independently control different threads. This allows selective activation of threads based on power consumption requirements, enabling the system to maintain high productivity when needed while reducing power consumption during low-activity periods.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic control of thread execution modes through registers that can change the operational state of threads in real-time. The first execution mode register can place threads in active or suspended states, while the second execution mode register can transition threads to low-power modes, allowing the system to dynamically adapt between high productivity and low power consumption based on operational needs.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple program threads are executed in active mode, then processing capability is improved, but overhead requirements increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidoverhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent reduces overhead by segmenting thread control into separate registers (first execution mode register and second execution mode register), each managing specific threads independently. This segmentation allows the system to maintain processing capability for active threads while minimizing the overhead impact on suspended threads, as each register can be optimized for its specific control function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality control by assigning different execution modes to different threads based on their specific requirements. Not all threads are treated uniformly; instead, each thread can be independently controlled to be in active or low-power mode, reducing the overall overhead burden on the system while maintaining the processing capability of threads that need it.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7849466B2Controlling execution mode of program threads by applying a mask to a control register in a multi-threaded processor
Publication Date: 2010.12.07 QUALCOMM INC
  • US7849466B2 patent drawing
  • US7849466B2 patent drawing
  • US7849466B2 patent drawing

AI summary

A multithreaded processor device is disclosed and includes a processor that is configured to execute a plurality of executable program threads and a mode control register. The mode control register includes a first data field to control a first execution mode of a first of the plurality of executable program threads and a second data field to control a second execution mode of a second of the plurality of executable program threads. In a particular embodiment, the first execution mode is a run mode and the second execution mode is a low power mode.