Saving/Restoring Task State Data From/To Device Controller Host Interface Upon Command From Host Processor To Handle Task Interruptions
A system and method for performing an interface save/restore procedure in an electronic device includes a processor that begins to execute a first task in conjunction with a host interface of a display processor. The processor subsequently receives an interrupt request for executing a second task that has a higher priority than the first task. A save/restore module responsively stores task states from the host interface into an interface states register. The task states correspond to an interrupted execution point in the first task. The processor temporarily stops the first task to execute the second task. The save/restore module restores the stored task states to the host interface after the second task is completed, and the processor may then efficiently resume the first task.
Latest SEIKO EPSON CORPORATION Patents:
This application is a divisional of U.S. patent application Ser. No. 11/153,122 filed Jun. 15, 2005, the contents of which are incorporated herein by reference.
BACKGROUND SECTION1. Field of Invention
This invention relates generally to electronic display controller systems, and relates more particularly to a system and method for performing an interface save/restore procedure in an electronic device.
2. Description of the Background Art
Implementing efficient methods for handling electronic data is a significant consideration for designers and manufacturers of contemporary electronic devices. However, efficiently handling data with electronic devices may create substantial challenges for system designers. For example, enhanced demands for increased device functionality and performance may require more system operating power and require additional hardware resources. An increase in power or hardware requirements may also result in a corresponding detrimental economic impact due to increased production costs and operational inefficiencies.
Furthermore, enhanced device capability to perform various advanced operations may provide additional benefits to a system user, but may also place increased demands on the control and management of various device components. For example, an enhanced electronic device that efficiently manipulates, transfers, and displays digital image data may benefit from an efficient implementation because of the large amount and complexity of the digital data involved.
Due to growing demands on system resources and substantially increasing data magnitudes, it is apparent that developing new techniques for controlling the handling of electronic data is a matter of concern for related electronic technologies. Therefore, for all the foregoing reasons, developing efficient systems for handling electronic data remains a significant consideration for designers, manufacturers, and users of contemporary electronic devices.
SUMMARYIn accordance with the present invention, a system and method are disclosed for performing an interface save/restore procedure in an electronic device. In certain embodiments, the electronic device may be implemented to include a central-processing unit (CPU), a display, and a display controller with a deformation module.
In one embodiment, the CPU begins executing a task 1 in conjunction with the display controller. For example, the CPU may communicate with the display controller via a host interface to perform task 1. Subsequently, the CPU receives a task 2 interrupt from any appropriate interrupt source to perform a higher-priority task 2 in conjunction with the display controller. In response to the task 2 interrupt, the CPU issues a Save_Interface_States command to the display controller. A save/restore module of the display controller saves current task 1 states into an interface states register in response to the Save_Interface_States command received from the CPU.
The CPU then executes the higher-priority task 2 in conjunction with the display controller. When task 2 has been successfully completed, the CPU issues a Restore_Interface_States command to the display controller. The save/restore module of the display controller then restores the saved task 1 states from the interface states register to the host interface (or other appropriate entity) in response to the Restore_Interface_States command received from the CPU. Finally, the CPU may resume executing the interrupted task 1 with all corresponding states, values, and conditions being the same as when task 1 was originally interrupted in favor of higher-priority task 2.
The foregoing save/restore procedure may be extended to support any desired number of interrupted tasks by utilizing multi-tiered save/restore procedures. For at least the foregoing reasons, the present invention provides an improved system and method for performing an interface save/restore procedure in an electronic device.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention relates to an improvement in display controller systems. The following description is presented to enable one of ordinary skill in the art to make and use the invention, and is provided in the context of a patent application and its requirements. Various modifications to the embodiments disclosed herein will be apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.
The present invention comprises a system and method for performing an interface save/restore procedure in an electronic device, and includes a processor that begins to execute a first task in conjunction with a host interface of a display processor. The processor subsequently receives an interrupt request for executing a second task that has a higher priority than the first task. A save/restore module responsively stores task states from the host interface into an interface states register. The task states correspond to an interrupted execution point in the first task. The processor temporarily stops the first task to execute the second task. The save/restore module restores the stored task states to the host interface after the second task is completed, and the processor may then efficiently resume the first task.
Referring now to
In the
In the
In the
Referring now to
In the
In the
In accordance with the present invention, display controller 128 may advantageously utilize save/restore module 226 to save interface states 228 from host interface 224 (or other appropriate source) whenever a given lower-priority task must be interrupted in order to service another higher-priority task. After the higher-priority task has been executed, display controller may then restore the saved interface states 228 to host interface 224 (or other appropriate source) in order to efficiently and effectively complete the interrupted lower-priority task. The utilization of display controller is further discussed below in conjunction with
Referring now to
In the
Referring now to
In the
Referring now to
In the
In the
Referring now to
In the
Referring now to
In the
In response to the task 2 interrupt, in step 720, CPU 122 issues a Save_Interface_States command to display controller 128. In step 724, a save/restore module 226 (
In step 728, CPU 122 performs higher-priority task 2 in conjunction with display controller 128. In step 732, when task 2 has been successfully completed, CPU 122 issues a Restore_Interface_States command to display controller 128. In step 736, the save/restore module 226 of display controller 128 restores the saved task 1 states 614(a) from interface states register 228 to the host interface 224 (or other appropriate entity) in response to the Restore_Interface_States command received from CPU 122. Finally, in step 740, CPU 122 may resume executing the interrupted task 1 with all corresponding states, values, and conditions being the same as when task 1 was originally interrupted.
The
Referring now to
In the
In the
In the
In step 878, after task 3 has been successfully completed, CPU 122 issues a Restore_Interface_States command to display controller 128, and display controller responsively restores the task 2 states 614(b) from interface states 228 to host interface 224. In the
In the
In the
The invention has been explained above with reference to certain preferred embodiments. Other embodiments will be apparent to those skilled in the art in light of this disclosure. For example, the present invention may be implemented using certain configurations and techniques other than those described in the embodiments above. Additionally, the present invention may effectively be used in conjunction with systems other than those described above as the preferred embodiments. Therefore, these and other variations upon the foregoing embodiments are intended to be covered by the present invention, which is limited only by the appended claims.
Claims
1. A system that performs a save/restore procedure in an electronic device,
- the system interrupting a first task after the system receives a first signal indicating an interruption by a second task during a period in which the system performs the first task,
- the system saving first information indicating a status of the first task at a time the first task is interrupted by the second task,
- the system restarting the first task after the second task is completed,
- the system interrupting a third task after the system receives a second signal indicating an interruption by a fourth task during a period in which the system performs the third task,
- the system saving second information indicating a status of the third task at a time the third task is interrupted by the fourth task, and
- the system restarting the third task after the fourth task is completed.
2. The system according to claim 1,
- the system saving the first information in a first register, and
- the system saving the second information in a second register different from the first register.
3. The system according to claim 1,
- the system saving the first information in a first region of a memory included in the system, and
- the system saving the second information in a second region of the memory different from the first region.
4. The system according to claim 1,
- the first information including at least one of a register value, an address, a counter value, and an internal value.
5. The system according to claim 1,
- the first information including third information obtained by the system for performing the first task.
6. The system according to claim 2, comprising:
- a host interface that reads out the first information from the first register after the second task is completed.
7. The system according to claim 6,
- the system restarting the first task after the host interface reads out the first information from the first register.
8. The system according to claim 1,
- the second task having a priority higher than the first task, and
- the fourth task having a priority higher than the third task.
9. A CPU,
- the CPU interrupting a first task after a system receives a first signal indicating an interruption by a second task during a period in which the CPU performs the first task,
- the CPU restarting the first task after the CPU refers to first information indicating a status of the first task at a time the first task is interrupted by the second task,
- the CPU interrupting a second task after the system receives a second signal indicating an interruption by a fourth task during a period in which the CPU performs the third task, and
- the CPU restarting the third task after the CPU refers to second information indicating a status of the third task at a time the third task is interrupted by the fourth task.
10. The CPU according to claim 9, wherein the CPU refers to
- the first information saved in a first register, and
- the second information saved in a second register different from the first register.
11. A CPU,
- the CPU interrupting a first task after a system receives a first signal indicating an interruption by a second task during a period in which the CPU performs the first task,
- the CPU restarting the first task after the CPU receives first information indicating a status of the first task at a time the first task is interrupted by the second task,
- the CPU interrupting a second task after the system receives a second signal indicating an interruption by a fourth task during a period in which the CPU performs the third task, and
- the CPU restarting the third task after the CPU receives second information indicating a status of the third task at a time the third task is interrupted by the fourth task.
12. A electronic device, comprising:
- a CPU; and
- a display,
- the CPU interrupting a first task after a system receives a first signal indicating an interruption by a second task during a period in which the CPU performs the first task,
- the CPU restarting the first task after the CPU receives first information indicating a status of the first task at a time the first task is interrupted by the second task,
- the CPU interrupting a second task after the system receives a second signal indicating an interruption by a fourth task during a period in which the CPU performs the third task, and
- the CPU restarting the third task after the CPU receives second information indicating a status of the third task at a time the third task is interrupted by the fourth task,
- the display displaying results the first task, the second task, the third task, and the fourth task.
13. A controller, comprising:
- a first register that saves first information indicating a status of a first task at a time the first task is interrupted by a second task;
- a second register that saves second information indicating a status of a third task at a time the third task is interrupted by a fourth task,
- wherein the first task is interrupted by a CPU after a system receives a first signal indicating an interruption by the second task during a period in which the CPU performs the first task,
- the first task being restarted by the CPU after the CPU refers to the first information,
- the third task being interrupted by the CPU after a system receives a second signal indicating an interruption by the fourth task during a period in which the CPU performs the third task,
- the third task being restarted by the CPU after the CPU refers to the second information.
14. A controller, comprising:
- a first register that saves first information indicating a status of a first task at a time the first task is interrupted by a second task;
- a second register that saves second information indicating a status of a third task at a time the third task is interrupted by a fourth task,
- wherein the first task is interrupted by a CPU after a system receives a first signal indicating an interruption by the second task during a period in which the CPU performs the first task,
- the first information being referred to by the CPU after the second task is completed,
- the first task being restarted by the CPU after the CPU refers to the first information,
- wherein the third task is interrupted by the CPU after a system receives a second signal indicating an interruption by the fourth task during a period in which the CPU performs the third task,
- the second information being referred to by the CPU after the fourth task is completed,
- the third task being restarted by the CPU after the CPU refers to the second information.
Type: Application
Filed: Nov 12, 2007
Publication Date: Apr 3, 2008
Applicant: SEIKO EPSON CORPORATION (Tokyo)
Inventors: Juraj Bystricky (Richmond), Doug McFadyen (Delta), Keith Kejser (New Westminster)
Application Number: 11/938,600
International Classification: G06F 9/46 (20060101); G06F 9/30 (20060101);