Processor Task Switching Using Register Groups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multitasking processors, tasks often experience suspension due to cache misses or other causes, leading to idle program execution mechanisms and inefficient use of processing resources, as existing methods fail to effectively manage remaining time slices and suspension causes.

Innovation Solution

A processor with a storage unit, multiple register groups, a selection unit, restoration unit, detection unit, and control unit that switches tasks based on execution control information, detects suspension causes, and manages task execution to prevent idle periods by selecting tasks with similar suspension causes and optimizing task switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a task is suspended due to cache miss or other causes during its allotted execution time period, then the task execution is interrupted, but the program execution mechanism becomes idle and processing capability is wasted

Engineering Contradiction:
Improvetask execution continuityVSAvoidprogram execution mechanism utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by restoring execution control information of the next task into a standby register group before the current task's time slice ends. When a suspension is detected, the system can immediately switch to the pre-restored task, eliminating idle periods. This preliminary restoration enables rapid task switching without wasting the remaining execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system ensures continuity of useful action by detecting suspensions and immediately switching to alternative tasks using the program execution mechanism. Instead of leaving the processor idle during suspension events, the system continuously executes useful tasks by leveraging multiple register groups and dynamic task switching, thereby maintaining productive utilization throughout the entire time period.

Inventive Principle:
Principle #20Continuity of useful action

2Ease of operation

If the execution of a task is temporarily suspended and control information is stored in memory, then the task can be restarted later, but time is lost and efficiency decreases

Engineering Contradiction:
Improvetask suspension and resumption capabilityVSAvoidexecution time period
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system segments execution control information across multiple register groups (active and standby) rather than relying on a single register group. This segmentation allows the system to maintain multiple task contexts simultaneously, enabling rapid switching without the time penalty of full memory I/O operations. Each register group holds a complete task context, allowing instant restoration when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The standby register group acts as an intermediary between the active execution and memory storage. Instead of directly storing/restoring contexts to/from memory during task switches, the system uses the standby register group as a buffer, enabling faster context switching while maintaining the ability to suspend and resume tasks efficiently.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If a task to be executed next is waited for after storage of its context in the register group completes, then correct execution order is maintained, but the program execution mechanism remains idle

Engineering Contradiction:
Improvetask execution orderVSAvoidprogram execution mechanism utilization
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system performs preliminary restoration of the next task's execution control information into the standby register group before the current task's time slice expires. This advance preparation ensures that when the current task is suspended or completes, the next task is already ready for immediate execution, eliminating idle waiting periods while maintaining correct execution order through controlled switching.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If multiple register groups are used to execute tasks in parallel, then efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidregister group management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The multiple register groups serve universal functions: they can each independently hold execution control information for any task, act as both active and standby groups depending on the current state, and enable both normal sequential execution and rapid suspension/recovery operations. This multi-functionality justifies the added complexity by providing versatile task management capabilities.

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

Data Source

PatentUS8042116B2Task switching based on the execution control information held in register groups
Publication Date: 2011.10.18 PANASONIC SEMICON SOLUTIONS CO LTD
  • US8042116B2 patent drawing
  • US8042116B2 patent drawing
  • US8042116B2 patent drawing

AI summary

In a processor including a plurality of register groups, while a task is being executed using one of the register groups, a context of a task to be executed next is restored into another one of the register groups. If the execution of the task currently being executed is suspended before the restoration starts, the task execution is continued by using one of the register groups in which a context of a task executed previously remains and executing the task.