Claims
- 1. A rings-based system on a chip, comprising:
a plurality of ring members on a ring that communicate using point-to-point connectivity; a plurality of ring interfaces for interfacing the ring members with the ring; a message traversing the ring; wherein the message travels one ring member per clock cycle; and wherein the system is adapted so that upon the message arriving at a given ring member the message is processed by that ring member if the message is applicable to that ring member, and if the message is not applicable to that ring member, the message is passed on to the next ring member.
- 2. The system of claim 2, wherein the message is applicable to the given ring member based on at least one of an identifier identifying that ring member and an identifier indicating that the message applies to multiple ring members.
- 3. The system of claim 3, wherein the identifier identifying the given ring member comprises an address for that ring member.
- 4. The system of claim 3, wherein the identifier indicating that the message applies to multiple ring members comprises message data designating the message as a supervisory message.
- 5. The system of claim 1, wherein the message comprises a type field, an address field, and a data field.
- 6. The system of claim 1 , wherein the message comprises an enumeration message.
- 7. The system of claim 6, wherein the enumeration message is processed by the ring members in order to assign address space consumed by each ring member.
- 8. The system of claim 7, wherein a subsequent supervisory message causes the results of the enumeration message to be returned, thereby allowing a central member comprising a CPU to infer the topology of the system.
- 9. The system of claim 1, further comprising a land bridge that allows the message to proceed from one side of the ring to an other side of the ring without traversing some of the intermediate ring members.
- 10. The system of claim 1, wherein the plurality of ring members and plurality of ring interfaces comprise a first ring, and further comprising a plurality of second ring members and a plurality of second ring interfaces defining a second ring, both the first ring and the second ring implemented as a system on a chip, and wherein the first ring and the second ring are coupled using a sea bridge.
- 11. The system of claim 9, wherein the logic of the land bridge is configured based on the results of an enumeration message.
- 12. The system of claim 10, wherein the logic of the sea bridge is configured based on the results of an enumeration message.
- 13. The system of claim 1, wherein the ring includes an external ring interface allowing the ring to communicate with modules that are not part of the ring.
- 14. The system of claim 1, wherein the ring members comprise a CPU and a plurality of peripherals, and wherein the peripherals are adapted to write ahead changes in peripheral status, thereby reducing the quantity of read messages that are issued by the CPU.
- 15. The system of claim 1, wherein the message comprises a reset message that is processed by the plurality of ring members in order to reset the system.
- 16. The system of claim 1, wherein the message comprises a request from a CPU ring member that causes the other ring members to report out their address information.
- 17. The system of claim 1, wherein the message comprises an activate message that is processed by the plurality of ring members in order to activate the system.
- 18. The system of claim 1, wherein the message comprises a write message that is processed by one of the plurality of ring members to write data thereto.
- 19. The system of claim 1, wherein the message comprises a read message that is processed by one of the plurality of ring messages to read data therefrom.
- 20. The system of claim 1, wherein the message includes stray message indicia so that the system can identify stray messages.
- 21. The system of claim 1, wherein subsequent ring members are adapted to supply backpressure signals to prior ring members.
- 22. A communications processing system utilizing a ring network architecture, comprising:
a plurality of ring members connected in point-in-point fashion along the ring network, a transaction based connectivity for communicating at least one message among at least a portion of the ring members, wherein the message includes information indicative of a destination ring member for which the message is intended and the message is passed around the ring network until reaching the destination ring member; and the destination ring member being adapted to receive the message and remove it from the ring network.
- 23. The communication processing system of claim 22, wherein the information indicative of a destination ring member comprises a ring member identifier.
- 24. The communication processing system of claim 22, wherein the information indicative of a destination ring member comprises an address corresponding to the destination ring member.
- 25. The communication processing system of claim 22, wherein the transaction based connectivity provides for messages to be passed around the ring network according to a clocking scheme.
- 26. The communication processing system of claim 25, wherein the clocking scheme provides for the messages to travel one ring member per clock cycle.
- 27. The communication processing system of claim 26, wherein the transaction based connectivity provides for a plurality of messages to travel the ring network, each message traveling one ring member per clock cycle unless a message is consumed at a particular ring member.
- 28. The communication processing system of claim 22, wherein the message arriving at a non-destination ring member will be passed to the next ring member on the ring network.
- 29. The communication processing system of claim 22, wherein the message arriving at a destination ring member will be consumed by the destination ring member.
- 30. The communication processing system of claim 29, wherein the message is removed from the ring network while being consumed so that a slot on the ring network is made available.
- 31. The communication processing system of claim 30, wherein the available slot enables a downstream ring member to insert a message in the slot.
- 32. The communication processing system of claim 22, wherein the connectivity provides for messages comprising transactions to travel the ring network, and wherein the messages comprise one or more of a command, an instruction, a type, an address, and data.
- 33. The communication processing system of claim 22, wherein each ring member receiving a message checks a destination address portion of the message to determine if the message is intended for that ring member, and if the destination address portion corresponds to that ring member, the ring member takes the message off of the ring network and consumes the message.
- 34. The communication processing system of claim 22, wherein the at least one message comprises a message that causes ring members to assign address space during configuration of the ring network.
- 35. The communication processing system of claim 34, wherein the message comprises an enumeration message.
- 36. The communication processing system of claim 34, wherein the assignment of address space during configuration allows a processing ring member to subsequently infer the configuration of the ring network.
- 37. The communication processing system of claim 22, wherein the ring network includes a bridge across the ring network that allows messages to travel from one side to another side without passing through intermediate ring members.
- 38. The communication processing system of claim 22, wherein the system is implemented on a single chip.
- 39. The communication processing system of claim 22, wherein the system is implemented on more than one chip.
- 40. A communications processing system utilizing a ring network architecture, comprising:
a plurality of ring members having unique addresses and connected in a point-in-point fashion along the ring network, a transaction based connectivity for communicating at least one message among at least a portion of the ring members, wherein the message includes a destination ring member address for which the message is intended and the message is passed around the ring network until reaching the destination ring member; and the destination ring member being adapted to receive the message and remove it from the ring network.
- 41. The communication processing system of claim 40, wherein the destination ring member address comprises a starting address for the destination ring member.
- 42. The communication processing system of claim 40, wherein the destination ring member address comprises an address within the address space assigned for the destination ring member.
- 43. The communication processing system of claim 40, wherein the transaction based connectivity provides for messages to be passed around the ring network according to a clocking scheme.
- 44. The communication processing system of claim 43, wherein the clocking scheme provides for the messages to travel one ring member per clock cycle.
- 45. The communication processing system of claim 40, wherein the transaction based connectivity provides for a plurality of messages to travel the ring network, each message traveling one ring member per clock cycle unless a message is consumed at a particular ring member.
- 46. The communication processing system of claim 40, wherein the message arriving at a non-destination ring member will be passed to the next ring member on the ring network.
- 47. The communication processing system of claim 40, wherein the message arriving at a destination ring member will be consumed by the destination ring member.
- 48. The communication processing system of claim 47, wherein the message is removed from the ring network while being consumed so that a slot on the ring network is made available.
- 49. The communication processing system of claim 48, wherein the available slot enables a downstream ring member to insert a message in the slot.
- 50. The communication processing system of claim 40, wherein the connectivity provides for messages comprising transactions to travel the ring network, and wherein the messages comprise one or more of a command, an instruction, a type, an address, and data.
- 51. The communication processing system of claim 40, wherein each ring member receiving a message checks the destination ring member address of the message to determine if the message is intended for that ring member, and if the destination ring member address corresponds to that ring member, the ring member takes the message off of the ring network and consumes the message.
- 52. The communication processing system of claim 40, wherein the at least one message comprises a message that causes ring members to assign address space during configuration of the ring network.
- 53. The communication processing system of claim 52, wherein the message comprises an enumeration message.
- 54. The communication processing system of claim 52, wherein the assignment of address space during configuration allows a processing ring member to subsequently infer the configuration of the ring network.
- 55. The communication processing system of claim 40, wherein the ring network includes a bridge across the ring network that allows messages to travel from one side to another side without passing through intermediate ring members.
- 56. The communication processing system of claim 40, wherein the system is implemented on a single chip.
- 57. The communication processing system of claim 40, wherein the system is implemented on more than one chip.
- 58. A communications processing system utilizing a ring network architecture, comprising:
a plurality of ring members having unique addresses and communicatively connected in a point-in-point fashion along the ring network; and a transaction based connectivity for communicating at least one message among at least a portion of the ring members, wherein the message is travels from a first ring member to a second ring member based at least in part on an address assigned to the second ring member, the second ring member being the destination ring member for which the message is intended, the message being passed along the ring network from the first ring member to the second ring member by one or more other ring members each having an address intermediate the addresses of the first and second ring members, wherein the message is received and removed from the ring network upon receipt by the second ring member.
- 59. The communication processing system of claim 58, wherein the message includes information indicative of the address of second ring member.
- 60. The communication processing system of claim 58, wherein the transaction based connectivity provides for messages to be passed around the ring network according to a clocking scheme.
- 61. The communication processing system of claim 60, wherein the clocking scheme provides for the messages to travel one ring member per clock cycle.
- 62. The communication processing system of claim 58, wherein the transaction based connectivity provides for a plurality of messages to travel the ring network, each message traveling one ring member per clock cycle unless a message is consumed at a particular ring member.
- 63. The communication processing system of claim 58, wherein the message arriving at a non-destination ring member will be passed to the next ring member on the ring network.
- 64. The communication processing system of claim 58, wherein the message arriving at a destination ring member will be consumed by the destination ring member.
- 65. The communication processing system of claim 64, wherein the message is removed from the ring network while being consumed so that a slot on the ring network is made available.
- 66. The communication processing system of claim 65, wherein the available slot enables a downstream ring member to insert a message in the slot.
- 67. The communication processing system of claim 58, wherein the connectivity provides for messages comprising transactions to travel the ring network, and wherein the messages comprise one or more of a command, an instruction, a type, an address, and data.
- 68. The communication processing system of claim 58, wherein each ring member receiving a message checks a destination address portion of the message to determine if the message is intended for that ring member, and if the destination address portion corresponds to that ring member, the ring member takes the message off of the ring network and consumes the message.
- 69. The communication processing system of claim 58, wherein the at least one message comprises a message that causes ring members to assign address space during configuration of the ring network.
- 70. The communication processing system of claim 69, wherein the message comprises an enumeration message.
- 71. The communication processing system of claim 69, wherein the assignment of address space during configuration allows a processing ring member to subsequently infer the configuration of the ring network.
- 72. The communication processing system of claim 58, wherein the ring network includes a bridge across the ring network that allows messages to travel from one side to another side without passing through intermediate ring members.
- 73. The communication processing system of claim 58, wherein the system is implemented on a single chip.
- 74. The communication processing system of claim 58, wherein the system is implemented on more than one chip.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] Priority is claimed based on U.S. Provisional Application No. 60/301,843 entitled Communication System Using Rings Architecture, filed Jul. 2, 2001, U.S. Provisional Application No. 60/333,516 entitled Flexible Packet Processor For Use in Communications System, filed Nov. 28, 2001, and U.S. Provisional Application No. 60/347,235 entitled High Performance Communications Processor Supporting Multiple Communications Applications, filed Jan. 14, 2002.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60301843 |
Jul 2001 |
US |
|
60335516 |
Oct 2001 |
US |
|
60347235 |
Jan 2002 |
US |