Tunable broadcast/point-to-point packet arbitration
First Claim
1. An apparatus that is configured to facilitate packet communication between a device of a computing system and one or more of a plurality of additional devices within the computing system, comprising:
- a receiving mechanism that is configured to receive a packet from the device;
an inspecting mechanism that is configured to inspect a header of the packet to determine a type for the packet, wherein the type can be one of broadcast and point-to-point;
a determining mechanism that is configured to determine a state of the computing system, wherein the state is one of, broadcast preferred and point-to-point only, wherein the determining mechanism comprises;
an n-counter that is configured to count available packet slots, an m-counter that is configured to count broadcast preferred packet slots, and a combining mechanism that is configured to combine the n-counter and the m-counter to determine the state of the computing system;
a sending mechanism that is configured to send the packet to the plurality of additional devices if the type of the packet is broadcast and the state of the computing system is broadcast preferred;
wherein the sending mechanism is further configured to delay sending the packet until the state of the computing system changes to broadcast preferred if the type of the packet is broadcast and the state of the computing system is point-to-point only;
wherein the sending mechanism is further configured to delay sending the packet while broadcast packets are available to be sent if the type is point-to-point and the state of the computing system is broadcast preferred; and
wherein the sending mechanism is further configured to send the packet to an addressed one of the plurality of additional devices if the type is point-to-point and the state of the computing system is point-to-point only.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that facilitates packet communication between a device within a computing system and one or more additional devices of the computing system. The system receives either a point-to-point packet or a broadcast packet from the devices and inspects the header of the packet to determine the type of packet. The system also examines the state of the computing system to determine whether the state of the computer system is broadcast preferred or point-to-point only. If the type of the packet is broadcast and the state of the computing system is broadcast preferred, the system sends the packet to all of the additional devices. If the type of the packet is broadcast and the state of the computing system is point-to-point only, the system delays sending the packet until the state of the computing system changes to broadcast preferred. If the type of the packet is point-to-point and the state of the computing system is broadcast preferred, the system delays sending the packet while broadcast packets are available to be sent. Finally, if the type of the packet is point-to-point and the state of the computing system is point-to-point only, the system sends the packet to the addressed device.
14 Citations
20 Claims
-
1. An apparatus that is configured to facilitate packet communication between a device of a computing system and one or more of a plurality of additional devices within the computing system, comprising:
-
a receiving mechanism that is configured to receive a packet from the device;
an inspecting mechanism that is configured to inspect a header of the packet to determine a type for the packet, wherein the type can be one of broadcast and point-to-point;
a determining mechanism that is configured to determine a state of the computing system, wherein the state is one of, broadcast preferred and point-to-point only, wherein the determining mechanism comprises;
an n-counter that is configured to count available packet slots, an m-counter that is configured to count broadcast preferred packet slots, and a combining mechanism that is configured to combine the n-counter and the m-counter to determine the state of the computing system;
a sending mechanism that is configured to send the packet to the plurality of additional devices if the type of the packet is broadcast and the state of the computing system is broadcast preferred;
wherein the sending mechanism is further configured to delay sending the packet until the state of the computing system changes to broadcast preferred if the type of the packet is broadcast and the state of the computing system is point-to-point only;
wherein the sending mechanism is further configured to delay sending the packet while broadcast packets are available to be sent if the type is point-to-point and the state of the computing system is broadcast preferred; and
wherein the sending mechanism is further configured to send the packet to an addressed one of the plurality of additional devices if the type is point-to-point and the state of the computing system is point-to-point only. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
a broadcast arbiter that is configured to issue a broadcast grant to the input queue in response to a broadcast request;
a plurality of point-to-point arbiters, wherein a point-to-point arbiter is configured to issue a point-to-point grant to one of the plurality of input queues in response to a point-to-point request; and
a plurality of output multiplexers, an output multiplexer being configured to route the packet from the input queue to a selected device, wherein the output multiplexer receives switching information from one of the broadcast arbiter and an associated point-to-point arbiter.
-
-
5. The apparatus of claim 4, wherein the n-counter is configured to be reset to the number of available packet slots upon receiving an external command or when the n-counter decrements to zero.
-
6. The apparatus of claim 4, wherein the m-counter is configured to be reset to a number of broadcast preferred slots upon receiving an external command or when the n-counter decrements to zero.
-
7. The apparatus of claim 6, wherein the m-counter is configured to decrement to zero and to hold at zero waiting for a reset command.
-
8. The apparatus of claim 4,
wherein the combining mechanism is configured to combine the n-counter and m-counter to determine the state of the computing system; -
wherein the state is broadcast preferred if both the n-counter and the m-counter are counting; and
wherein the state is point-to-point only if the n-counter is counting and the m-counter is zero.
-
-
9. The apparatus of claim 4, wherein the broadcast arbiter receives broadcast requests from the plurality of input queues and provides a broadcast grant signal to a requesting input queue based on the state of the computing system and other grant signals.
-
10. The apparatus of claim 4, wherein the point-to-point arbiter receives point-to-point requests from the plurality of input queues and provides a point-to-point grant signal to a requesting input queue based on the state of the computing system and other grant signals.
-
11. The apparatus of claim 4, wherein the output multiplexer is configured to route the packet from a selected input queue from the plurality of input queues to the device that is coupled with the output multiplexer.
-
12. A computing system that is configured to facilitate packet communication between a device of the computing system and one or more of a plurality of additional devices of the computing system, comprising:
-
a central processing unit;
a memory;
an input/output device;
a receiving mechanism that is configured to receive a packet from the device;
an inspecting mechanism that is configured to inspect a header of the packet to determine a type for the packet, wherein the type can be one of broadcast and point-to-point;
a determining mechanism that is configured to determine a state of the computing system, wherein the state is one of broadcast preferred and point-to-point only, wherein the determining mechanism comprises;
an n-counter that is configured to count available packet slots, an m-counter that is configured to count broadcast preferred packet slots, and a combining mechanism that is configured to combine the n-counter and the m-counter to determine the state of the computing system;
a sending mechanism that is configured to send the packet to the plurality of additional devices if the type is broadcast and the state of the computing system is broadcast preferred;
wherein the sending mechanism is further configured to delay sending the packet until the state of the computing system changes to broadcast preferred if the type is broadcast and the state of the computing system is point-to-point only;
wherein the sending mechanism is further configured to delay sending the packet while broadcast packets are available to be sent if the type is point-to-point and the state of the computing system is broadcast preferred; and
wherein the sending mechanism is further configured to send the packet to an addressed one of the plurality of additional devices if the type is point-to-point and the state of the computing system is point-to-point only.
-
-
13. A method for facilitating packet communication between a device of a computing system and one or more of a plurality of additional devices of the computing system, comprising:
-
receiving a packet from the device;
inspecting a header of the packet to determine a type for the packet, wherein the type can be one of broadcast and point-to-point;
determining a state of the computing system wherein determining the state of the computing system involves;
examining an n-counter that counts available packet slots, examining an m-counter that counts broadcast preferred packet slots, and combining the n-counter and the m-counter to determine the state of the computing system, wherein the state of the computing system is one of point-to-point only and broadcast preffered;
if the type is broadcast and the state of the computing system is point-to-point only, delaying sending the packet until the state of the computing system changes to broadcast preferred; and
if the type is point-to-point and the state of the computing system is broadcast preferred, delaying sending the packet while broadcast packets are available to be sent. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
a central processing unit;
an input/output device; and
a memory.
-
-
16. The method of claim 14, wherein inspecting the header involves determining if the routing prefix indicates one of:
-
broadcast; and
point-to-point.
-
-
17. The method of claim 13, wherein the state of the computing system is switched periodically between:
-
broadcast preferred; and
point-to-point only.
-
-
18. The method of claim 16, wherein if the routing prefix indicates broadcast and the state of the computing system is broadcast preferred, the method further comprises sending the packet to the other devices.
-
19. The method of claim 16, wherein if the routing prefix indicates point-to-point and the state is point-to-point only, the method further comprises sending the packet to an addressed one of the other devices.
-
20. The method of claim 17, wherein the state of the computing system is switched periodically to achieve a substantially optional ratio of broadcast packets to point-to-point packets.
Specification