Claims
- 1. An interconnection device comprising a plurality of links wherein a link of the plurality of links comprises:
a plurality of link input ports; a plurality of link output ports; an input selection switch operable to couple to a selected link input port of the plurality of link input ports and to receive a current input data token therefrom; a plurality of storage registers coupled to the input selection switch and operable to store the current input data token and a plurality of prior input data tokens; a storage access switch coupled to the input selection switch and to the plurality of storage registers and operable to select the input data token or an input data token of the plurality of prior input data tokens as an output data token; and an output selection switch coupled to the storage access switch and operable to receive the output data token and provide it to a selected link output port of the plurality of link output ports.
- 2. An interconnection device in accordance with claim 1, wherein the link of the plurality of links further comprises a clock input for receiving a signal from a processor clock.
- 3. An interconnection device in accordance with claim 1, wherein the link of the plurality of links further comprises a control input for receiving a control signal and wherein the input selection switch, the storage access switch and the output selection switch are responsive to the control signal.
- 4. An interconnection device in accordance with claim 3, wherein the control signal comprises:
a source address specifying the link input port to be selected; a destination address, specifying the link output port to be selected; and a delay, specifying which of the plurality of storage registers and the selected link input port should provide the output data token.
- 5. An interconnection device in accordance with claim 1, wherein the plurality of storage registers operate as shift register, with the oldest stored data token being discarded when a new input data token is stored.
- 6. An interconnection device in accordance with claim 1, wherein the plurality of storage registers allow random access.
- 7. An interconnection device in accordance with claim 1, wherein the storage access switch and the output selection switch are combined.
- 8. An interconnection device in accordance with claim 1, wherein the interconnection device further comprises a plurality of device input ports and wherein the plurality of link inputs ports are coupled to at least a subset of the plurality of device input ports.
- 9. An interconnection device in accordance with claim 8, wherein a first link of the plurality of links is coupled to a first subset of the plurality of device input ports and a second link of the plurality of links is coupled to a second subset of the plurality of device input ports.
- 10. An interconnection device in accordance with claim 1, wherein the interconnection device further comprises a plurality of device output ports and wherein the plurality of link outputs ports are coupled to at least a subset of the plurality of device output ports.
- 11. An interconnection device in accordance with claim 1, wherein the number of link input ports is greater than the number of links.
- 12. An interconnection device in accordance with claim 1, wherein the number of output ports is greater than the number of links.
- 13. An interconnection device in accordance with claim 1, wherein the plurality of storage registers form a queue and the device is programmable to perform one of the actions of:
pushing a data token on a specified link input port into the queue and routing a specified queue location to a specified link output port; routing a specified link input port to a specified link output port; pushing a data token on a specified link input port into the queue; retrieving the data token in a specified queue location and routing it to a specified link output port; and no action.
- 14. A method for routing a data signal from a selected input of a plurality of inputs to a selected output of a plurality of outputs, the method comprising:
controlling an input selection switch to couple to the selected input; and controlling an output selection switch to couple one of the input selection switch and a plurality of storage registers to the selected output.
- 15. A method in accordance with claim 14, further comprising:
discarding the contents of a first register of the plurality of storage registers which contains the oldest stored data signal; and storing the data signal from the selected input in a second register of the plurality of storage registers.
- 16. A method in accordance with claim 15, further comprising operating the plurality of storage registers as a delay line.
- 17. A method in accordance with claim 15, wherein the first register and second registers are the same register.
- 18. A method in accordance with claim 14, further comprising latching the selected data signal at the selected output.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to co-pending patent applications titled “MEMORY INTERFACE WITH FRACTIONAL ADDRESSING” and identified by Attorney Docket No. CML00102D, “RE-CONFIGURABLE STREAMING VECTOR PROCESSOR” and identified by Attorney Docket No. CML00107D, “SCHEDULER FOR STREAMING VECTOR PROCESSOR” and identified by Attorney Docket No. CML00108D, “METHOD OF PROGRAMMING LINEAR GRAPHS FOR STREAMING VECTOR COMPUTATION” and identified by Attorney Docket No. CML00109D, which are filed on even day herewith and are hereby incorporated herein by reference.