Claims
- 1. A dispatcher which is operable to route an ordered stream of instructions received on a first number of input channels to designated ones of a second number of output channels according to instruction routing information, the dispatcher comprising dispatch circuitry which is operable to route the instructions to each output channel in a deterministic manner thereby preserving a partial ordering for each output channel defined in the ordered stream, wherein instructions on different output channels are uncorrelated.
- 2. The dispatcher of claim 1 wherein the dispatch circuitry employs M by 1ofN encoding for the instructions where M is an integer greater than or equal to one and N is an integer greater than or equal to two.
- 3. The dispatcher of claim 1 wherein the dispatch circuitry employs 1ofN encoding for the instruction routing information where N is an integer greater than or equal to two.
- 4. The dispatcher of claim 1 wherein the instruction routing information comprises input control information and output control information, the input control information being encoded using 1ofA and 1ofB encoding where A*B is the second number, and the output control information being encoded using 1ofC and 1ofD encoding where C*D is the first number.
- 5. The dispatcher of claim 1 wherein the dispatch circuitry is operable to route the instructions between each of the input channels and each of the output channels asynchronously.
- 6. The dispatcher of claim 5 wherein the dispatch circuitry is operable to route the instructions asynchronously using a handshake protocol.
- 7. The dispatcher of claim 6 wherein the handshake protocol between a first sender and a first receiver on a link between a first input channel and a first output channel comprises:
the first sender sets a data signal valid when an enable signal from the first receiver goes high; the first receiver lowers the enable signal upon receiving the valid data signal; the first sender sets the data signal neutral upon receiving the low enable signal; and the first receiver raises the enable signal upon receiving the neutral data signal.
- 8. The dispatcher of claim 6 wherein the handshake protocol is delay- insensitive.
- 9. The dispatcher of claim 1 wherein the dispatch circuitry comprises a crossbar operable to receive the instructions from the input channels and transmit the instructions to the output channels, the dispatch circuitry further comprising input control circuitry and output control circuitry which are operable to control the crossbar.
- 10. The dispatcher of claim 9 wherein the input control circuitry is operable to generate split control information for the crossbar with reference to the instruction routing information, the input control circuitry further being operable to generate a request bit corresponding to each pair of the input and output channels, each request bit indicating whether or not the corresponding input channel is to form a link with the corresponding output channel, the request bits also being generated with reference to the instruction routing information.
- 11. The dispatcher of claim 10 wherein the output control circuitry is operable to generate merge control information for the crossbar with reference to the request bits.
- 12. The dispatcher of claim 11 wherein the output control circuitry comprises a binary tree structure.
- 13. The dispatcher of claim 11 wherein the output control circuitry comprises a rippling ring circuit.
- 14. The dispatcher of claim 9 wherein the crossbar is operable to route the instructions to each output channel in the deterministic manner.
- 15. An integrated circuit comprising the dispatcher of claim 1.
- 16. The integrated circuit of claim 15 wherein the integrated circuit comprises any of a CMOS integrated circuit, a GaAs integrated circuit, and a SiGe integrated circuit.
- 17. At least one computer-readable medium having data structures stored therein representative of the dispatcher of claim 1.
- 18. The at least one computer-readable medium of claim 17 wherein the data structures comprise a simulatable representation of the dispatcher.
- 19. The at least one computer-readable medium of claim 18 wherein the simulatable representation comprises a netlist.
- 20. The at least one computer-readable medium of claim 17 wherein the data structures comprise a code description of the dispatcher.
- 21. The at least one computer-readable medium of claim 20 wherein the code description corresponds to a hardware description language.
- 22. A set of semiconductor processing masks representative of at least a portion of the dispatcher of claim 1.
- 23. The dispatcher of claim 1 wherein the dispatch circuitry is operable to route the instructions to at least one output channel based on at least one timing assumption.
- 24. The dipatcher of claim 23 wherein the at least one timing assumption comprises any of a pulse timing assumption, an interference timing assumption, and an implied-data-neutrality timing assumption.
- 25. The dispatcher of claim 24 wherein the pulse timing assumption is applied to an otherwise delay insensitive four-phase handshake.
- 26. The dispatcher of claim 24 wherein the implied-data-neutrality timing assumption is applied to an otherwise delay insensitive four-phase handshake.
- 27. The dispatcher of claim 24 wherein the interference timing assumes an adequate timing margin between interfering operators.
RELATED APPLICATION DATA
[0001] The present application is a divisional application of U.S. patent application Ser. No. 10/136,025 for ASYNCHRONOUS CROSSBAR WITH DETERMINISTIC OR ARBITRATED CONTROL filed on Apr. 30, 2002 (Attorney Docket No. FULCP001) which claims priority from U.S. Provisional Patent Application No. 60/352,131 for ASYNCHRONOUS CROSSBAR CIRCUIT WITH DETERMINISTIC OR ARBITRATED CONTROL filed on Jan. 25, 2002 (Attorney Docket No. FULCP001P), the entire disclosures of both of which are incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60352131 |
Jan 2002 |
US |
Divisions (1)
|
Number |
Date |
Country |
Parent |
10136025 |
Apr 2002 |
US |
Child |
10237358 |
Sep 2002 |
US |