Switching method in a multi-threaded processor
First Claim
1. A computing system comprising:
- at least part of a memory hierarchy; and
a processor that stores plural execution contexts in a pipeline thereof, the processor performing a context switch between a first one and a second one of the execution contexts by freezing the first execution context in the pipeline and resuming execution using previously frozen state corresponding to the second execution context, the context switching performed without draining the first execution context from the pipeline.
0 Assignments
0 Petitions
Accused Products
Abstract
A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system'"'"'s software saving and restoring of registers.
-
Citations
19 Claims
-
1. A computing system comprising:
-
at least part of a memory hierarchy; and
a processor that stores plural execution contexts in a pipeline thereof, the processor performing a context switch between a first one and a second one of the execution contexts by freezing the first execution context in the pipeline and resuming execution using previously frozen state corresponding to the second execution context, the context switching performed without draining the first execution context from the pipeline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operating a processor, the method comprising:
-
executing plural execution contexts in a pipeline of the processor; and
performing a context switch between a first one and a second one of the execution contexts by freezing the first execution context in the pipeline and resuming execution using previously frozen state corresponding to the second execution context, the context switching performed without draining the first execution context from the pipeline. - View Dependent Claims (12, 13, 14)
-
-
15. A processor comprising:
-
at least one pipeline, including storage distributed throughout the pipeline for at least two concurrently executing execution contexts, the processor supporting a context switch between a first one and a second one of the execution contexts by freezing the first execution context in the pipeline and resuming execution using previously frozen state corresponding to the second execution context, the context switching performable without draining the first execution context from the pipeline; and
a context-selectable register file coupled to the pipeline to represent architectural states for at least the two concurrently executing execution contexts.
-
-
16. A method comprising:
-
simultaneously representing throughout a processor pipeline, state information corresponding to plural active execution contexts; and
switching between a first one and a second one of the active execution contexts by freezing the first execution context in the pipeline and resuming execution using previously frozen state corresponding to the second execution context, the switching performed without draining the first execution context from the pipeline.
-
-
17. An apparatus comprising:
-
a processor coupled to at least part of a memory hierarchy; and
means defined in the processor for storing plural execution contexts in a pipeline thereof, the processor performing a context switch between a first one and a second one of the execution contexts by freezing the first execution context in the pipeline and resuming execution using previously frozen state corresponding to the second execution context, the context switching performed without draining the first execution context from the pipeline.
-
-
18. An method of making a processor integrated circuit product, the method comprising:
-
defining a pipelined processor; and
fabricating the pipelined processor as an integrated circuit with in-pipeline storage for plural execution contexts thereof, the in-pipeline storage allowing a context switch between a first one and a second one of the execution contexts by freezing the first execution context in the pipeline and resuming execution using previously frozen state corresponding to the second execution context, the context switching performable in the fabricated pipelined processor without draining the first execution context from the pipeline. - View Dependent Claims (19)
-
Specification