IP Library Granted Patent US 8,042,116
Granted Patent B2
US 8,042,116 · App. 11/661,273 · Granted Oct 18, 2011

Task switching based on the execution control information held in register groups

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,042,116
App. No.
11/661,273
Granted
Oct 18, 2011
Kind
B2
Abstract

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.

Claims (21)

1. A processor that cyclically executes a plurality of tasks in accordance with an execution time period allotted to each of the tasks, the processor comprising:

a storage unit operable to store pieces of execution control information respectively corresponding to each of the tasks;

a plurality of register groups;

an execution unit operable to sequentially use one of the register groups to execute a task based on the execution control information held in the register group being used;

a selection unit operable to select a next task to be executed among the tasks;

a restoration unit operable to, while a current task is being executed for an execution time period allotted thereto, restore a piece of the execution control information corresponding to the next task from the storage unit into one of the register groups other than the register group being used by the current task;

a detection unit operable to detect a suspension cause for the current task being executed; and

a control unit operable to, (i) if the suspension cause is detected before the restoration starts, have the execution unit suspend the execution of the current task and execute a previous unfinished task based on a piece of the execution control information held in one of the register groups other than the register group having been used for the execution of the current task, and (ii) if the register group holding the piece of the execution control information corresponding to the previous unfinished task is the register group the restoration into which is to be started, have the restoration unit cancel the restoration.

2. The processor of claim 1 wherein

the storage unit further stores pieces of time information each showing a time period until a suspension cause that occurs while each of the tasks is being executed is resolved, and

only if the suspension cause is detected before the restoration completes and the control unit judges that the suspension cause is resolved after the restoration completes based on a corresponding piece of the time information,

the control unit has the execution unit suspend the execution and execute one of the tasks based on a piece of the execution control information held in one of the register groups other than the register group having been used for the execution.

3. The processor of claim 1 , wherein

the storage unit further stores pieces of information each relating to a suspension cause that might occur while each of the tasks is being executed,

the detection unit detects a plurality of types of suspension causes,

if the control unit has the execution unit suspend an execution of one of the tasks based on a detected suspension cause, the selection unit selects another one of the tasks in which a suspension cause whose type is the same as the detected suspension cause does not occur with reference to a corresponding piece of the stored information relating to the suspension cause.

4. The processor of claim 1 further comprising

a resolution detection unit operable to detect a resolution of the suspension cause, wherein

the detection unit detects a plurality of types of suspension causes, and

if (i) after the execution of the task having been executed is suspended by the detected suspension cause, another one of the tasks is being executed, and (ii) another one suspension cause whose type is the same as the detected suspension cause is detected before the resolution of the suspension cause is detected,

the control unit has the execution unit suspend the execution of the another one of the tasks and execute no task until the resolution is detected.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2020
From: PANASONIC CORPORATION
To: PANASONIC SEMICONDUCTOR SOLUTIONS CO., LTD.
Reel/Frame 052755/0917 →
CHANGE OF NAME Recorded Nov 21, 2008
From: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
To: PANASONIC CORPORATION
Reel/Frame 021897/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2008
From: KURATA, KAZUSHI
To: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Reel/Frame 021101/0848 →