Claims
- 1. A computer based system for switching between program contexts comprising:
an embedded pipelined processor capable having a first program thread and a second program thread in an execution pipeline; a first set of data storage devices capable of storing a first state of said embedded processor; a second set of data storage devices capable of storing a second state of said embedded processor; and a thread scheduler for identifying which of said program threads said embedded processor executes; wherein said processor switches between said first and second state in a time period between the end of the execution of a first program instruction in the first thread and the beginning of the execution of a second program instruction in the second thread.
- 2. The system of claim 1, wherein said first state is the state of the embedded processor during the execution of the first program thread.
- 3. The system of claim 1, wherein said second state is the state of the embedded processor during the execution of the second program thread.
- 4. The system of claim 1, wherein said processor switches between said first and second states by changing a state selection register.
- 5. The system of claim 1, wherein said thread scheduler includes:
a thread identifier for identifying at least one hard-real-time (HRT) thread and at least one non-real-time thread; a HRT scheduler for regularly scheduling said HRT thread in available time quanta such that said HRT thread is scheduled to ensure the execution of the HRT in a predetermined time.
- 6. The system of claim 5, wherein said time quanta is at least one instruction cycle.
- 7. The system of claim 5, wherein said thread scheduler schedules a non-real-time (NRT) thread to replace a scheduled HRT thread if said HRT is complete.
- 8. The system of claim 5, wherein said thread scheduler schedules the execution of non-real-time (NRT) threads in quanta not allocated to HRT threads.
- 9. The system of claim 8, wherein said thread scheduler regularly schedules NRT threads to be executed.
- 10. The system of claim 5, further comprising:
a first storage device for storing program instructions, said processor fetching instructions from the first storage device within a first fetch period; a second storage device for storing program instructions, said processor fetching instructions from the second storage device within a second fetch period; wherein said first fetch period is substantially shorter than said second fetch period.
RELATED APPLICATIONS
[0001] This application claims priority from U.S. provisional application No. 60/171,731 filed on Dec. 22, 1999 U.S. provisional application No. 60/213,745 filed on Jun. 22, 2000, and U.S. provisional application No. 60/250,781 filed on Dec. 1, 2000, which are all incorporated by reference herein in their entirety.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60171731 |
Dec 1999 |
US |
|
60213745 |
Jun 2000 |
US |
|
60250781 |
Dec 2000 |
US |