Claims
- 1. In a processor, a distributed resource allocation system for dynamically allocating a plurality of resources, comprising:
a deallocation block for assigning a first available resource and sending a notification of the assignment, during a first clock cycle; and an allocation block, at a location distributed from the deallocation block, for allocating the first available resource to an execution machine responsive to performing a task utilizing the first available resource, during a second clock cycle.
- 2. The system of claim 1, wherein the allocation block further returns the first available resource to the deallocation block during a third clock cycle responsive to not utilizing the first available resource, during the second clock cycle.
- 3. The system of claim 1, wherein the allocation block sends a second available resource to the deallocation block during the first clock cycle responsive to not utilizing the second available resource, during the first clock cycle.
- 4. The system of claim 1, wherein the allocation block and an allocation control point associated with the execution machine are located physically proximate to each other.
- 5. The system of claim 1, wherein the deallocation block is located physically proximate to a deallocation control point associated with the execution machine and the deallocation block receives the first available resource responsive to the deallocation control point freeing up a resource, during a third clock cycle.
- 6. The system of claim 1, wherein the deallocation block further includes OR and AND logic blocks and the first available resource is represented by a unary vector determined by the logic blocks.
- 7. In a processor, a distributed resource allocation system for dynamically allocating a plurality of resources, comprising:
a deallocation means for assigning a first available resource and sending a notification of the assignment, during a first clock cycle; and an allocation means, at a location distributed from the deallocation means, for allocating the first available resource to an execution means responsive to performing a task utilizing the first available resource, during a second clock cycle.
- 8. The system of claim 7, wherein the allocation means further returns the first available resource to the deallocation agent during a third clock cycle responsive to not utilizing the first available resource, during the second clock cycle.
- 9. The system of claim 7, wherein the allocation means sends a second available resource to the deallocation means during the first clock cycle responsive to not utilizing the second available resource, during the first clock cycle.
- 10. The system of claim 7, wherein the allocation means and the execution machine are located physically proximate to each other.
- 11. The system of claim 7, wherein the deallocation means receives the first available resource responsive to the execution means completing the task, during a third clock cycle.
- 12. The system of claim 7, wherein the deallocation means comprises a central reservation station.
- 13. The system of claim 7, wherein the allocation means is a DECODE.
- 14. The system of claim 7, wherein the execution means comprises an arithmetic logic unit.
- 15. The system of claim 7, wherein the resource is one from the group consisting of: a buffer, a reorder buffer, a cache, and a memory element.
- 16. In a processor, a method for distributing resource allocation from resource deallocation, comprising:
assigning a first available resource and sending a notification of the assignment, at a first location, during a first clock cycle; and allocating the first available resource responsive to performing a task utilizing the first available resource, at a second location distributed from the first location, during a second clock cycle.
- 17. The method of claim 16, further comprising returning the first available resource to the first location during a third clock cycle responsive to not utilizing the first available resource, during the second clock cycle.
- 18. The method of claim 16, further comprising sending a second available resource to the first location from the second location during the first clock cycle responsive to not utilizing the second available resource, during the first clock cycle.
- 19. A method of claim 16, further comprising executing the task.
- 20. A distributed resource allocation system in a processor capable of issuing more instructions than available resources, wherein each instruction uses an available resource, comprising:
a centralized reservation station for deallocating freed resources and continuously assigning a plurality of available resources to an allocation block independent of the allocation block's current need for available resources; and the allocation block, decoupled from the allocation block, for allocating the assigned plurality of resources as needed to an execution machine and sending remaining assigned resources to the deallocation block; and the execution machine for performing a task based on an instruction and, responsive to completing the task, notifying the deallocation unit of freed resources.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part to U.S. patent application Ser. No. 10/327,262, filed on Dec. 20, 2002, entitled “Distributed Resource Allocation Mechanism,” from which priority is claimed under 35 U.S.C. § 120 and which application is incorporated by reference herein in its entirety.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10327262 |
Dec 2002 |
US |
Child |
10459233 |
Jun 2003 |
US |