Claims
- 1. A system adapted to enable any processor in a processing engine having a plurality of processors to communicate directly with any other processor of the engine, the system comprising:
a control plane communication path separate from a data plane path of the engine and configured to accommodate control information flow among the processors; and at least one inter-chip communication (ICC) interface logic circuit coupled to the control plane path and associated with the processors, the ICC interface logic circuit configured to create a multi-bit ICC message in response to an ICC request issued by any source processor and forward the message over the control plane communication path to any destination processor of the engine.
- 2. The system of claim 1 wherein the control plane communication path is a low-latency communication path.
- 3. The system of claim 2 wherein the low-latency communication path accommodates information flow in a direction opposite to that of the data plane path.
- 4. The system of claim 1 wherein the multi-bit ICC message includes unique addresses of the source processor initiating generation of the message and the destination processor receiving the message.
- 5. The system of claim 1 wherein the processors are arrayed into multiple rows and columns, and wherein each row of processors is organized as a cluster.
- 6. The system of claim 5 wherein the ICC interface logic circuit associated with the processors is contained on one of an application specific integrated circuit (ASIC) and data feeder device of the processing engine.
- 7. The system of claim 6 wherein the ICC interface logic circuit comprises an ICC send block coupled to an ICC receive block.
- 8. The system of claim 7 wherein the ICC interface logic circuit further comprises an ICC on-chip first-in first-out (FIFO) that connects the ICC send block to the control plane communication path, the ICC on-chip FIFO configured to store a first ICC message issued by a source processor internal to a device.
- 9. The system of claim 8 wherein the ICC interface logic circuit further comprises an ICC off-chip FIFO configured to store a second ICC message that passes through the ICC interface logic circuit on route to a destination processor of the processing engine.
- 10. The system of claim 7 wherein the ICC interface logic circuit further comprises an ICC receive first-in first-out (FIFO) that connects the ICC receive block to the control plane communication path, the ICC receive FIFO configured to store a first ICC message issued by a source processor external to the device on which the ICC interface logic is contained.
- 11. The system of claim 10 wherein the ICC receive block comprises a receive memory configured to store the first ICC message destined for at least one destination processor on the device.
- 12. The system of claim 11 wherein the receive memory is configured to operate in a row mode that enables the first ICC message to be directed to a specific destination processor on the device.
- 13. The system of claim 11 wherein the receive memory is configured to operate in a column mode that enables the first ICC message to be directed to a column of destination processors on the device.
- 14. The system of claim 5 further comprising an ICC bus coupling each cluster to the ICC interface logic circuit, such that each processor of a cluster shares the ICC bus.
- 15. The system of claim 14 further comprising an arbiter of each cluster adapted to arbitrate between simultaneous requests issued by the processors of a cluster to access the ICC bus.
- 16. A method for enabling a source processor in a processing engine to communicate directly with a destination processor of the engine, the source processor located on a first device of the processing engine, the method comprising the steps of:
generating an inter-chip communication (ICC) request at the source TMC processor, the ICC request including a data word and a To address of the destination processor; receiving the ICC request at an ICC send block of an ICC interface logic circuit associated with the source processor; producing a From address at the ICC send block to create an ICC message in response to the ICC request; determining a location of the destination processor receiving the message; and if the destination processor is located on another device of the processing engine, forwarding the ICC message over a control plane communication path to the destination processor.
- 17. The method of claim 16 wherein the step of producing comprises the steps of:
acquiring a From chip identifier (ID) associated with the first device; obtaining a From processor row ID associated with a cluster of the source processor by identifying an ICC bus segment carrying the ICC request from the source processor cluster; and capturing a From processor column ID from a state of a request line of the ICC bus segment associated with the source processor.
- 18. The method of claim 17 wherein the step of determining comprises the step of comparing a To chip ID of the ICC message with an ICC chip ID of the device.
- 19. The method of claim 18 further comprising the step of, if the chip IDs match, passing the ICC message to an ICC receive block for storage in a receive memory.
- 20. Apparatus adapted to enable a source processor in a processing engine to communicate directly with a destination processor of the engine, the source processor located on a first device of the processing engine, the apparatus comprising:
means for generating an inter-chip communication (ICC) request at the source processor, the ICC request including a data word and a To address of the destination processor; means for receiving the ICC request at an ICC send block of an ICC interface logic circuit associated with the source processor; means for producing a From address at the ICC send block to create an ICC message in response to the ICC request; means for determining a location of the destination processor receiving the message; and if the destination processor is located on another device of the processing engine, means for forwarding the ICC message over a control plane communication path to the destination processor.
- 21. The apparatus of claim 20 wherein the means for producing comprises:
means for acquiring a From chip identifier (ID) associated with the first device; means for obtaining a From processor row ID associated with a cluster of the source processor; and means for capturing a From processor column ID from a state of a request line of the ICC bus segment associated with the source processor.
- 22. A computer readable medium containing executable program instructions for enabling a source processor in a processing engine to communicate directly with a destination processor of the engine, the source processor located on a first device of the processing engine, the executable program instructions comprising program instructions for:
generating an inter-chip communication (ICC) request at the source TMC processor, the ICC request including a data word and a To address of the destination processor; receiving the ICC request at an ICC send block of an ICC interface logic circuit associated with the source processor; producing a From address at the ICC send block to create an ICC message in response to the ICC request; determining a location of the destination processor receiving the message; and if the destination processor is located on another device of the processing engine, forwarding the ICC message over a control plane communication path to the destination processor.
- 23. The computer readable medium of claim 22 wherein the program instruction for producing comprises program instructions for:
acquiring a From chip identifier (ID) associated with the first device; obtaining a From processor row ID associated with a cluster of the source processor by identifying an ICC bus segment carrying the ICC request from the source processor cluster; and capturing a From processor column ID from a state of a request line of the ICC bus segment associated with the source processor.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to the following co-pending and commonly assigned U.S. patent application Ser. No. 09/663,777 titled, Packet Striping Across a Parallel Header Processor, filed on Sep. 18, 2000 and assigned to the assignee of the present invention.