Claims
- 1. A context controller for managing multitasking in a processor, comprising:memory that contains contexts corresponding to background tasks to be executed in said processor, said contexts having status indicators associated therewith; and a background task controller that reads said status indicators associated with said contexts and cyclicly activates said contexts based on said status indicators.
- 2. The context controller as recited in claim 1 wherein said status indicator is embodied in a flip-flop within said context controller.
- 3. The context controller as recited in claim 1 wherein said background task controller cyclically activates only contexts having status indicators indicating that said contexts are active.
- 4. The context controller as recited in claim 1 further comprising a foreground task controller that activates contexts corresponding to foreground tasks based on priority and in response to events, said background task controller cyclicly activating said contexts corresponding to said background tasks subject to activation of said contexts corresponding to said foreground tasks.
- 5. The context controller as recited in claim 1 wherein said background task controller activates said contexts corresponding to said background tasks based on numbers of instructions executed by each of said background tasks.
- 6. The context controller as recited in claim 1 wherein said contexts are stored in separate register sets.
- 7. The context controller as recited in claim 1 wherein said context controller places said processor in an idle state when all foreground tasks and all of said background tasks are inactive.
- 8. A context controller for managing multitasking in a processor, comprising:forming contexts corresponding to background tasks to be executed in said processor, said contexts having status indicators associated therewith; and cyclicly activating said contexts based on said status indicators.
- 9. The method as recited in claim 8 further comprising the step of changing said status indicators by changing a state in a flip-flop within said context controller.
- 10. The method as recited in claim 8 wherein said step of cyclically activating comprises the step of cyclically activating only contexts having status indicators indicating that said contexts are active.
- 11. The method as recited in claim 8 further comprising the step of activating contexts corresponding to foreground tasks based on priority and in response to events, said step of cyclically activating comprising the step of cyclicly activating said contexts corresponding to said background tasks subject to activation of said contexts corresponding to said foreground tasks.
- 12. The method as recited in claim 8 wherein said step of cyclically activating comprises the step of activating said contexts corresponding to said background tasks based on numbers of instructions executed by each of said background tasks.
- 13. The method as recited in claim 8 wherein said step of forming comprises the step of storing said contexts in separate register sets.
- 14. The method as recited in claim 8 further comprising the step of placing said processor in an idle state when all foreground tasks and all of said background tasks are inactive.
- 15. A processor, comprising:an instruction decoder that decodes instructions received into said processor and corresponding to a plurality of tasks; a plurality of register sets, corresponding to said plurality of tasks, that contain operands to be manipulated; an execution core, coupled to said instruction decoder and said plurality of register sets, that executes instructions corresponding to an active one of said plurality of tasks to manipulate ones of said operands; and a context controller, coupled to said instruction decoder and said execution core, that manages multitasking with respect to said plurality of tasks, including: memory that contains contexts corresponding to background tasks to be executed in said processor, said contexts having status indicators associated therewith, and a background task controller that reads said status indicators associated with said contexts and cyclicly activates said contexts based on said status indicators.
- 16. The processor as recited in claim 15 wherein said status indicator is embodied in a flip-flop within said context controller.
- 17. The processor as recited in claim 15 wherein said background task controller cyclically activates only contexts having status indicators indicating that said contexts are active.
- 18. The processor as recited in claim 15 wherein said context controller further includes a foreground task controller that activates contexts corresponding to foreground tasks based on priority and in response to events, said background task controller cyclicly activating said contexts corresponding to said background tasks subject to activation of said contexts corresponding to said foreground tasks.
- 19. The processor as recited in claim 15 wherein said background task controller activates said contexts corresponding to said background tasks based on numbers of instructions executed by each of said background tasks.
- 20. The processor as recited in claim 15 wherein said contexts are stored in separate register sets.
- 21. The processor as recited in claim 15 wherein said context controller places said processor in an idle state when all foreground tasks and all of said background tasks are inactive.
- 22. The processor as recited in claim 15 wherein said processor forms a portion of a general-purpose computer.
CROSS-REFERENCE TO RELATED APPLICATIONS
The above-listed applications are commonly assigned with the present invention and are incorporated herein by reference as if reproduced herein in their entirety.
This application also claims the benefit of U.S. Provisional Application Ser. No. 60/077,461, filed on Mar. 10, 1998, and entitled “Context Controller Having Status-based Background Task Resource Allocation Capability and Processor Employing the Same,” commonly assigned with the present invention and incorporated herein by reference.
US Referenced Citations (9)