| CPC G06F 12/0802 (2013.01) [G06F 2212/60 (2013.01)] | 20 Claims |

|
1. An apparatus, comprising:
two or more request handling pipes respectively comprising:
a first-level token store; and
two or more request buffers configured to store requests from a processor for accessing different devices, wherein at least some of the requests are required to be sent to the different devices according to a temporal order;
a second-level token store;
a bank selection circuit configured to:
for an individual one of the at least some requests from the processor:
select one request handling pipe and one request buffer of the selected one request handling pipe to store the individual request;
store, at the first-level token store of the selected one request handling pipe, a value indicating the selected one request buffer of the selected one request handling pipe in which the individual request is stored; and
store, at the second-level token store, a value indicating the selected one request handling pipe in which the individual request is stored; and
a request selection circuit configured to:
receive an indication of a request handling pipe selected out of the two or more request handling pipes based on the value at the second-level token store that stores an oldest request out of the at least some requests stored at the two or more request handling pipes;
for respective ones of the two or more request handling pipes, receive an indication of a request buffer selected out of the two or more request buffers of the respective ones of the request handling pipes based on the values at the first-level token stores of the respective ones of the request handling pipes that stores an oldest request out of a subset of the at least some requests stored at the two or more request buffers of the respective ones of the request handling pipes; and
send the oldest request stored at the indicated request buffer of the indicated request handling pipe to one of the devices.
|