Bus arbitration algorithm and apparatus
First Claim
Patent Images
1. A method for arbitrating use of a bus comprising the steps of:
- (a) individually assigning a separate maximum packet count to each of a plurality of nodes on said bus;
(b) one or more of said plurality of nodes asserting requests to use said bus;
(c) identifying a highest priority node of the requesting nodes from a serial wrap-around list of said plurality of nodes;
(d) granting the bus to the highest priority node of the requesting nodes on said serial wrap-around list;
(e) repeatedly decrementing a counting value, initially set at the maximum packet count assigned to the node which was granted the bus, at intervals corresponding to a packet being transmitted on said bus from said node;
(f) changing the highest priority node to the next highest priority node on said serial wrap-around list which follows the node which was granted the bus;
(g) repeating steps d, e and f when the counting value equals zero or when the request from the node granted the bus is deasserted, whichever comes first.
0 Assignments
0 Petitions
Accused Products
Abstract
A bus arbitration algorithm using round robin and variable packet counts. In addition, each node is assigned a maximum packet size which can be adjusted by the operating system. The round robin determines which node will be granted the bus based on priority on a serial wrap-around list. The packet count is one factor in determining how long the node granted the bus may use it. The maximum packet size is a second factor in determining the permitted duration on the bus.
98 Citations
10 Claims
-
1. A method for arbitrating use of a bus comprising the steps of:
-
(a) individually assigning a separate maximum packet count to each of a plurality of nodes on said bus; (b) one or more of said plurality of nodes asserting requests to use said bus; (c) identifying a highest priority node of the requesting nodes from a serial wrap-around list of said plurality of nodes; (d) granting the bus to the highest priority node of the requesting nodes on said serial wrap-around list; (e) repeatedly decrementing a counting value, initially set at the maximum packet count assigned to the node which was granted the bus, at intervals corresponding to a packet being transmitted on said bus from said node; (f) changing the highest priority node to the next highest priority node on said serial wrap-around list which follows the node which was granted the bus; (g) repeating steps d, e and f when the counting value equals zero or when the request from the node granted the bus is deasserted, whichever comes first. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of arbitrating use of a bus comprising the steps of:
-
(a) individually assigning a separate maximum packet count to each of three or more nodes on said bus; (b) one or more of said three or more nodes asserting requests to use said bus; (c) identifying a highest priority node of the requesting nodes from a serial wrap-around list of said three or more nodes; (d) granting the bus to the highest priority node of the requested nodes on said serial wrap-around list; (e) repeatedly decrementing a counting value, initially set at the maximum packet count assigned to the node which was granted the bus, at intervals corresponding to a packet being transmitted on said bus from said node; (f) changing the highest priority node to the next highest priority node on said serial wrap-around list which follows the node which was granted the bus; (g) repeating steps d, e and f when the counting value equals zero of when the request from the node granted the bus is deasserted, whichever comes first. - View Dependent Claims (7, 8, 9, 10)
-
Specification