Round robin arbitration using random access memory
AssigneeMicrosoft Technology Licensing, LLC
InventorTama Gal
Life of this patent
Estimating the term…
Abstract
A circuit performs a method of arbitrating requests between multiple requestors. The method includes accessing, via an arbitration processor, a requestor random access memory (RRAM) having multiple entries. Each entry corresponds to a requestor and includes a valid field indicating whether or not the requestor is requesting. One of the multiple entries is selected in a round robin manner as a function of a value in the valid field indicative of the corresponding requestor requesting. The corresponding requestor requesting arbitration is notified.
Claims19
A method of arbitrating requests between multiple requestors, the method comprising:
- performing round robin arbitration using a group RAM having multiple group entries, each group entry corresponding to a group of requestors and including a group valid field indicating whether or not the group of requestors is requesting, a start pointer to a corresponding requestor random access memory (RRAM), an end pointer to the corresponding RRAM, and a last chosen pointer;
- selecting one of the multiple entries in the group RAM in a round robin manner as a function of a value in the group valid field indicative of the corresponding group of requestors requesting;
- accessing, via an arbitration processor, a portion of the RRAM containing the corresponding group of requestors and having multiple entries, each entry corresponding to a requestor and including a valid field indicating whether or not the requestor is requesting;
- selecting one of the multiple entries in a round robin manner as a function of a value in the valid field indicative of the corresponding requestor requesting;
- and
- notifying the corresponding requestor requesting arbitration.
An arbitration system comprising:
- a requestor random access memory (RRAM) having multiple entries, each entry corresponding to a requestor and including a valid field indicating whether or not the requestor is requesting;
- a group RAM having multiple group entries, each group entry corresponding to a group of requestors and including a group valid field indicating whether or not the group of requestors is requesting, a start pointer to a corresponding to the RRAM, an end pointer to the corresponding RRAM, and a last chosen pointer wherein one of the multiple entries in the group RAM is selectable in a round robin manner as a function of a value in the group valid field indicative of the corresponding group of requestors requesting;
- and
- arbitration circuitry configured to:
- receive requests for arbitration between the multiple requestors;
- perform round robin arbitration using the group RAM to select one of the multiple entries in the group RAM corresponding to a portion of the RRAM;
- access the RRAM to select one of the multiple entries in a round robin manner from the corresponding portion of the RRAM as a function of a value in the valid field indicative of the corresponding requestor requesting;
- and
- send an indication to the corresponding requesting requestor.
A method comprising:
- receiving arbitration requests at an arbitration processor from multiple requestors;
- performing round robin arbitration for each request using a group RAM having multiple group entries, each group entry corresponding to a group of requestors and including a group valid field indicating whether or not the group of requestors is requesting, a start pointer to a corresponding requestor random access memory (RRAM), an end pointer to the corresponding RRAM, and a last chosen pointer;
- selecting one of the multiple entries in the group RAM in a round robin manner as a function of a value in the group valid field indicative of the corresponding group of requestors requesting;
- sending set valid field request to the RRAM having multiple entries, each entry corresponding to a requestor and including a valid field;
- accessing a portion of the RRAM containing the corresponding group of requestors to select one of the multiple entries in a round robin manner as a function of a value in the valid field indicative of the corresponding requestor requesting;
- resetting the value in the valid field of the selected one of the multiple entries;
- and
- sending an arbitration done indication to the corresponding requestor.
Dependencies are inferred from the claim text.