Resource mapping in multi-threaded central processor units
First Claim
1. A method of a processor supporting multiple execution of threads in parallel, the method comprising:
- determining, by a processor, that processing of a first thread of a plurality of threads is suspended due to limited availability of a first processing resource, wherein the processor supports execution of the plurality of threads in parallel;
obtaining, by the processor, a first lock on a second processing resource that is a substitutable substitute for the first processing resource during processing of the first thread, wherein the second processing resource is included as part of a component that is external to the processor, wherein the component supports a number of threads that is less than the plurality of threads, and wherein the processing of the first thread is suspended until the first lock is available;
processing, by the processor, the first thread using the second processing resource, wherein the processor includes a shared register to support mapping of a portion of the plurality of threads to the component, and wherein that portion of the plurality of threads is equal to, at most, the number of threads that are supported by component;
determining, by the processor, whether the first thread has been processed; and
responsive to a determination that the first thread has been processed, releasing, by the processor, the first lock on the second processing resource.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor determines that processing of a thread is suspended due to limited availability of a processing resource. The processor supports execution of the plurality of threads in parallel. The processor obtains a lock on a second processing resource that is substitutable as a resource during processing of the first thread. The second processing resource is included as part of a component that is external to the processor. The component supports a number of threads that is less than the plurality of threads. The processing of the thread is suspended until the lock is available. The processor processes the first thread using the second processing resource. The processor includes a shared register to support mapping a portion of the plurality of threads to the component. The portion of the plurality of threads is equal to, at most, the number of threads supported by component.
48 Citations
6 Claims
-
1. A method of a processor supporting multiple execution of threads in parallel, the method comprising:
-
determining, by a processor, that processing of a first thread of a plurality of threads is suspended due to limited availability of a first processing resource, wherein the processor supports execution of the plurality of threads in parallel; obtaining, by the processor, a first lock on a second processing resource that is a substitutable substitute for the first processing resource during processing of the first thread, wherein the second processing resource is included as part of a component that is external to the processor, wherein the component supports a number of threads that is less than the plurality of threads, and wherein the processing of the first thread is suspended until the first lock is available; processing, by the processor, the first thread using the second processing resource, wherein the processor includes a shared register to support mapping of a portion of the plurality of threads to the component, and wherein that portion of the plurality of threads is equal to, at most, the number of threads that are supported by component; determining, by the processor, whether the first thread has been processed; and responsive to a determination that the first thread has been processed, releasing, by the processor, the first lock on the second processing resource. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification