Concurrent-multitasking processor
OwnerJames E Howardinventor
Life of this patent
Estimating the term…
Abstract
A concurrent multitasking processor for a real-time operating system (RTOS) device includes a plurality of execution units for executing a plurality of tasks simultaneously and a task selector for comparing priorities of a plurality of tasks and for selecting one or more high priority tasks requesting execution. An instruction fetcher fetches instructions from memory for the tasks selected by the task selector and stores the instructions for each task in one or more instruction queues. An instruction issue unit attaches priority tags to instructions and sends instructions from the instruction queues to a plurality of execution units for execution.
Claims8
A concurrent multitasking processor for a real-time operating system (RTOS) device comprising:
- (a) a plurality of execution units for executing a plurality of tasks simultaneously;
- (b) a task selector for comparing priorities of a plurality of tasks and for selecting one or more high priority tasks requesting execution;
- (c) an instruction fetcher for retrieving instructions from memory for the tasks selected by the task selector and for storing said instructions for each task in one or more instruction queues;
- and
- (d) an instruction issue unit for attaching priority tags to instructions and for sending instructions from a plurality of said instruction queues to a plurality of execution units for execution.
In a superscalar processor coupled to a real time operating system having a plurality of execution units for executing a plurality of tasks substantially simultaneously, a task instruction cache for storing in memory a plurality of task instructions, each task instruction having an assigned priority code, the improvement comprising, a task issue unit having outputs coupled to said plurality of execution units for issuing at a predetermined time a plurality of task instructions simultaneously to said execution units, said task instructions being chosen based upon the priority codes of each of the task instructions available for execution at said predetermined time.
Dependencies are inferred from the claim text.