Arbitrating command requests in a parallel multi-threaded processing system
First Claim
Patent Images
1. A parallel, multi-threaded processor system, comprising:
- a plurality of microengines, each including at least one command register;
a plurality of system resource interface units connected to the microengines, each including at least one commands queue; and
a global command arbiter including a pointer for storing the identity of the last microengine that had a request granted, the global command arbiter connected to each of the microengines and to the system resource interface units for determining whether a particular microengine command request should be granted.
2 Assignments
0 Petitions
Accused Products
Abstract
A parallel, multi-threaded processor system and technique for arbitrating command requests is described. The system includes a plurality of microengines, a plurality of shared system resources and a global command arbiter. The global command arbiter uses a command request protocol that is based on the shared system resources and command type to grant or deny a microengine command request for a shared resource.
-
Citations
35 Claims
-
1. A parallel, multi-threaded processor system, comprising:
-
a plurality of microengines, each including at least one command register;
a plurality of system resource interface units connected to the microengines, each including at least one commands queue; and
a global command arbiter including a pointer for storing the identity of the last microengine that had a request granted, the global command arbiter connected to each of the microengines and to the system resource interface units for determining whether a particular microengine command request should be granted. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for arbitrating command requests for access to shared system resources in a parallel, multi-threaded processor system, comprising:
-
establishing a command request protocol based on the shared system resources and command types;
selecting a command request from output command queues of a plurality of microengines according to a command priority which is part of the protocol;
granting a microengine command request to a shared system resource destination queue if the protocol is satisfied; and
denying a microengine command request if the protocol is not satisfied. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An article comprising a computer-readable medium which stores computer executable instructions for arbitrating command requests for shared system resources in a parallel, multi-threaded system, the instructions causing a computer to:
-
establish a command request protocol based on the shared system resources and command types;
select a command request from output command queues of a plurality of microengines according to a command priority which is part of the protocol;
grant a microengine command request to a shared system resource destination queue if the protocol is satisfied; and
deny a microengine command request if the protocol is not satisfied. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for arbitrating command requests for access to shared system resources, in a parallel, multi-threaded processor system, comprising:
-
arbitrating command requests of a plurality of microengines based on a command protocol;
granting a command request for transmission to a queue in a system resource;
storing the command in the queue of the system resource;
generating a full status queue signal if there are less than an adequate number of spaces available to store further commands in the queue; and
denying further command requests for storage in that queue if the full status queue signal was generated. - View Dependent Claims (29, 30, 31)
-
-
32. An article comprising a computer-readable medium which stores computer executable instructions for arbitrating command request for access to shared system resources in a parallel, multi-threaded processor system, the instructions causing a computer to:
-
arbitrate command requests of a plurality of microengines based on a command protocol;
grant a command request for transmission to a queue in a system resource;
store the command in the queue of the system resource;
a full status queue signal if there are less than an adequate number of spaces available to store further commands in the queue; and
deny further command requests for storage in that queue if the full status queue signal was generated. - View Dependent Claims (33, 34, 35)
-
Specification