Patent ID: 7509447

Claim:
An apparatus for selecting one of N requestors of a shared resource in a round-robin fashion, wherein one or more of the N requestors may be disabled from being selected in a selection cycle, the apparatus comprising: a first input, for receiving a first value specifying which of the N requestors was last selected; a second input, for receiving a second value specifying which of the N requestors is enabled to be selected; a requestor enabled module configured to output an N-bit intermediate result wherein each bit is enabled only if a corresponding requestor is not enabled and that requestor was not last selected; a rotating module configured to output a rotated value by using said first input to create an N-bit vector wherein each bit is enabled if the corresponding requestor was last selected, and then rotating that value one bit to the left; a barrel incrementer, coupled to receive said intermediate result and said rotated value, and configured to generate a sum from said intermediate result and said rotated value; and combinational logic, coupled to said barrel incrementer, configured to receive said sum and said second value and to generate in response thereto a third value specifying which of the N requestors is selected next.