EP1413098A2

Communications system using rings architecture

Abstract

This record has no abstract on file.

EP1413098A2, drawing sheet 1
Sheet 1 of 52

Term

Term ended

Projected expiry passed 2 July 2022, 4.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

351 claims: 34 independent, 317 dependent

  1. 1
    Claims of equivalent WO 03005152 A2 CLAIMS We claim: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. 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 infoπnation 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.
  3. 39
    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.
  4. 57
    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.
  5. 74
    A communication system using a ring network architecture, comprising:a plurality of ring members connected in point-to-point fashion along the ring network;a transaction based connectivity for communicating a message among the ring members, wherein the message is a configuration message that causes ring members to assign address space in the ring network.
  6. 92
    A method of assigning address space in a ring network architecture system including a plurality of ring members, comprising:issuing a configuration message;processing the configuration message at each ring member to assign address space for that ring member in the ring network;modifying the configuration message based on the assigned address space;and passing the configuration message to the next ring member.
  7. 101
    A rings-based system on a chip, comprising:a plurality of ring members on a ring that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving at a given ring member the message is processed by that 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;the system being adapted to process both read messages and write messages;the plurality of ring members including a CPU and at least one peripheral that exchanges date with the CPU;wherein the peripheral includes at least one status memory that stores data describing the status of the peripheral;and wherein the system is configured to write ahead status changes that are accessible by the CPU.
  8. 111
    A method for processing in a rings based communication system, comprising:identifying at least one module in a ring network that includes status registers that store status infoπnation of regular interest to a processor in the ring network;identifying which status information can be transmitted to the processor as a write ahead operation initiated by the at least one module instead of a read operation initiated by the processing;programming the at least one module to transmit the identified status information as a write ahead operation.
  9. 116
    A rings-based system on a chip, comprising:a plurality of ring members on a ring that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;wherein at least one of the ring members comprises a bridge.
  10. 134
    A rings-based system on a chip, comprising:a plurality of ring members on a ring network that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that, during normal operation, 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;wherein the system is further adapted for a scan testing mode in which one of the ring members is enabled for a scan output and the other ring members deactivated.
  11. 148
    A method of scanning in a ring network having a plurality of ring members, comprising:observing a defect or anomaly during normal operation of the ring network;issuing at least one message that causes one ring member to enter a scan output mode and other ring members to be deactivated;resuming operation of the ring network;and outputting scan data from the one ring member onto the ring network as messages.
  12. 154
    A rings-based system on a chip, comprising:a plurality of ring members on a ring network that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;and the system being adapted so that downstream adjacent ring members provide a signal to their upstream adjacent ring members that indicates whether a slot is available for the upstream ring member to pass the message to the downstream ring member on a given clock cycle.
  13. 167
    A method of controlling the transmission of messages on a ring network comprising a plurality of ring members, comprising:providing a message at a first upstream ring member that is available for output to a second adjacent downstream ring member;receiving a signal at the upstream ring member from the downstream ring member that indicates whether a slot is available for outputting the message on a clock cycle;and outputting the message from the upstream ring member to the downstream ring member if a slot is available and holding the message if a slot is not available.
  14. 174
    A rings-based system, comprising:a plurality of ring members on a ring network that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;and means for providing an external ring interface enables communication with at least one external peripheral device.
  15. 186
    A rings-based system, comprising:a plurality of ring members on a ring network that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;and wherein the message causes a reset of the given ring member if the message is applicable to that ring member.
  16. 196
    A rings-based system, comprising:a plurality of ring members on a ring network that communicate using point-to-point coimectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;and further comprising a reset control signal that causes multiple members of the ring network to be reset.
  17. 204
    A rings-based system, comprising:a plurality of ring members on a ring network that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;and wherein the system includes a message that can cause a reset of the given ring member if the message is applicable to that ring member;and wherein the system further includes a reset control signal that causes multiple members of the ring network to be reset.
  18. 206
    A rings-based system, comprising:a plurality of ring members on a ring network that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;and a system clock signal for controlling timing on the ring network wherein the system clock signal is aligned between groups of ring members instead of among all of the ring members.
  19. 216
    A network processor implemented on a chip, comprising:means for processing a plurality of protocols including ATM, frame relay, Ethernet, and IP;said means being programmable using a set of library commands to process additional protocols;wherein said means comprises an arithmetic logic unit (ALU), a load/store unit (LSU), a preload/bump unit (PBU), a register file unit (RFU), an agent interface, and an internal memory.
  20. 232
    A communications processor implemented on a chip, comprising:a network processor including means for processing a plurality of protocols including ATM, frame relay, Ethernet, and IP, said means being programmable using a set of library commands to process additional protocols, wherein said means comprises an arithmetic logic unit (ALU), a load/store unit (LSU), a preload/bump unit (PBU), a register file unit (RFU), an agent interface, and an internal memory;a protocol processor for controlling the network processor;wherein the protocol processor performs control plane processing and the network processor performs data plane processmg.
  21. 242
    A method for efficient processing of tasks in a communications system, comprising:sampling a cuπent task identifier and a next task identifier;providing a first register file for storing values for a cuπent task;providing a second register file for storing values for the cuπent task that are not in the first register file;providing a third register file for preloading values for the next task;and performing a task switch by making the next task identifier the cuπent task identifier and sampling a further next task identifier.
  22. 253
    A system for efficient processing of tasks in a communications system, comprising:means for sampling a cuπent task identifier and a next task identifier;a first register file for storing values for a cuπent task;a second register file for storing values for the cuπent task that are not in the first register file;a third register file for preloading values for the next task;and means for performing a task switch by making the next task identifier the cuπent task identifier and sampling a further next task identifier.
  23. 265
    A method of employing semaphores to limit access to a shared resource used by a multi-tasking processor, comprising:providing a first bitmap in a register that prevents specified tasks from running because the specified tasks are awaiting access to an occupied semaphore;storing an indication in memory that indicates whether the semaphore is occupied;storing a second bitmap in memory that identifies tasks that are awaiting access to the semaphore;and attempting to access the semaphore based on checking the indication in memory.
  24. 273
    A system employing semaphores to limit access to a shared resource used by a multitasking processor, comprising:a first bitmap in a register that prevents specified tasks from running because the specified tasks are awaiting access to an occupied semaphore;an indication in memory that indicates whether the semaphore is occupied;a second bitmap in memory that identifies tasks that are awaiting access to the semaphore;and means for attempting to access the semaphore based on checking the indication in memory.
  25. 279
    A method for executing machine instructions in a processing device, comprising the steps of:executing a first instruction;identifying whether an outcome of the execution of the first instruction satisfies a first specified condition, and setting an accumulative flag result which reflects whether the first instruction satisfies the first specified condition;executing at least a second additional instruction;identifying whether an outcome of the execution of the second instruction satisfies a second specified condition, and updating the accumulative flag depending on whether either the first instruction or the second instruction satisfy their respective first and second specified conditions;and executing a third instruction based on the value of the accumulative flag subsequent to the execution of the first and second instructions.
  26. 284
    A computer readable medium containing program code for execution by a processing device, wherein medium includes:a first instruction for performing a first operation, which, when executed by the processing device, generates a first outcome result;at least a second additional instruction for performing a second operation, which, when executed by the processing device, generates a second outcome result;and at least an additional third instruction for performing a third operation based on an accumulative flag, wherein the accumulative flab represents the logical OR of the first and second outcomes.
  27. 293
    294. An apparatus for executing machine instmctions, comprising:a storage for storing an accumulative flag;logic for executing instructions, and for determining whether the outcomes of the instmctions satisfy respective prescribed conditions;instmctions, wherem the logic for setting the accumulative flag includes logic for determining the value of the accumulative flag based on whether at least one instmction within a group of at least two instmctions had an outcome which satisfied its respective prescribed condition;another storage for storing a program that comprises plural instmctions, including: a first instmction for performing a first operation, which, when executed by the processing device, generates a first outcome result;at least a second additional instmction for performing a second operation, which, when executed by the logic for executing, generates a second outcome result;at least an additional third instmction for performing a third operation based on an accumulative flag.
  28. 298
    299. A communications processor implemented as on at least one ring network, comprising:a plurality of processors comprising ring members on the at least one ring network;controlling servicing of DMA requests by the plurality of processors;a plurality of DMA agents coupled to the plurality of processors, each DMA agent being part of a ring member including a processor;each DMA agent adapted to service processor DMA requests by determining whether a valid token exists from a pool of tokens reflecting available DMA controllers.
  29. 312
    314. A communications processor implemented as on at least one ring network, comprising:a plurality of processors comprising ring members on the at least one ring network;a plurality of DMA controllers on the at least one ring network, the DMA controllers controlling servicing of DMA requests by the plurality of processors;a plurality of DMA agents coupled to the plurality of processors, each DMA agent being part of a ring member including a processor;each DMA agent adapted to issue an indicator to a request counter coupled to the DMA agent for each DMA request issued by the DMA agent to a DMA controller;requests that have been issued on behalf of the processor associated with the DMA agent.
  30. 319
    321. A method of controlling access to DMA controllers in a multi-tasking communications processor implemented as on at least one ring network, comprising:issuing DMA requests to a target DMA controller;maintaining a count of DMA requests on a per-task basis;issuing an acknowledgement that a DMA request has been satisfied by the target DMA controller;reducing the count based on the acknowledgement;and enabling a processor responsible for issuing the DMA requests to perform new activity when the count has returned to zero. least one ring network.
  31. 321
    324. A method for performing address computation for a data stmcture address command in a communications processor, comprising:providing a library of read commands and write commands for a network processor in a rings based architecture;including an option bit in the read commands and write commands for an address calculation modification mode;providing an agent module for forwarding read requests and write requests to a DMA controller in response to requests including an address issued by the network processor;and modifying the value of the address when the option bit is set before forwarding the read requests and write requests to the DMA controller.
  32. 325
    328. A communications processor implemented on a chip, comprising:a network processor including means for processing a plurality of protocols including ATM, frame relay, Ethernet, and IP, said means being programmable using a set of library commands to process additional protocols;a protocol processor for controlling the network processor;wherein the protocol processor performs control plane processing and the network processor performs data plane processing;and least one ring network, and further comprising a plurality of other ring members on the at least one ring network.
  33. 340
    344. A rings-based system on a chip, comprising:a plurality of ring members on a ring that communicate using point-to-point connectivity;a message traversing the ring from member to member;the system being adapted so that upon the message aπiving 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;wherein the message includes information indicating whether the message has already passed through one of the ring members.
  34. 347
    351. A method of detecting stray messages in a rings-based system, comprising:providing a message including information designating whether the message has passed by a ring member on a ring with a plurality of members;modifying the information when the message passes by the ring member a first time;and determining that the message is a stray message when the message aπives at the ring member a second time.
Independent claims34