Claims
- 1. An apparatus for computation comprising:
a first main cluster crossbar connected to a first plurality of statically scheduled routing processors; a first sub-cluster crossbar associated with a first one of the first plurality of statically scheduled routing processors, wherein the first sub-cluster crossbar is connected to a first plurality of execution processors; and a second sub-cluster crossbar associated with a second one of the first plurality of statically scheduled routing processors, wherein the second sub-cluster crossbar is connected to a second plurality of execution processors.
- 2. The apparatus of claim 1, further comprising:
a first input/output buffer associated with a third one of the first plurality of statically scheduled routing processors.
- 3. The apparatus of claim 2, further comprising:
a second input/output buffer associated with a fourth one of the first plurality of statically scheduled routing processors, wherein the second input/output buffer is operatively connected to a host computer.
- 4. The apparatus of claim 2, wherein the first input/output buffer communicates with a second main cluster crossbar.
- 5. The apparatus of claim 1, further comprising:
a second main cluster crossbar connected to a second plurality of statically scheduled routing processors, wherein the second main cluster crossbar communicates with the first main cluster crossbar; and a third sub-cluster crossbar associated with a first one of the second plurality of statically scheduled routing processors, wherein the third sub-cluster crossbar is connected to a third plurality of execution processors.
- 6. The apparatus of claim 5, farther comprising:
a fourth sub-cluster crossbar associated with a second one of the second plurality of statically scheduled routing processors, wherein the fourth sub-cluster crossbar is connected to a fourth plurality of execution processors.
- 7. The apparatus of claim 5, wherein the first main cluster crossbar and the second main cluster crossbar are partitioned to perform computations for different simulations as defined by a simulation domain boundary.
- 8. The apparatus of claim 1, wherein at least one of the first plurality of execution processors comprises an execution unit capable of executing a simulation instruction.
- 9. The apparatus of claim 8, wherein the simulation instruction comprises a design logic instruction translated from a hardware description language source code.
- 10. The apparatus of claim 8, wherein the simulation instruction comprises a design logic instruction translated from a Verilog source code.
- 11. The apparatus of claim 8, wherein the simulation instruction comprises a design logic instruction translated from a register transfer language source code.
- 12. The apparatus of claim 1, further comprising:
a static random access memory interface associated with a third one of the first plurality of statically scheduled routing processors.
- 13. The apparatus of claim 1, further comprising:
a register file unit associated with a third one of the first plurality of statically scheduled routing processors.
- 14. The apparatus of claim 1, further comprising:
a global control register file unit associated with a third one of the first plurality of statically scheduled routing processors.
- 15. The apparatus of claim 1, wherein at least one of the first plurality of execution processors is temporally synchronized using an instruction.
- 16. The apparatus of claim 1, wherein at least one of the first plurality of execution processors is temporally synchronized using a global clock.
- 17. The apparatus of claim 1, wherein at least one of the first plurality of statically scheduled routing processors uses a routing table.
- 18. The apparatus of claim 1, wherein at least one of the first plurality of execution processors uses a register file.
- 19. The apparatus of claim 18, wherein the register file allows message packing.
- 20. The apparatus of claim 18, wherein the register file is bit addressable.
- 21. The apparatus of claim 1, wherein at least one of the first plurality of execution processors transmits and receives a tag identification.
- 22. The apparatus of claim 21, wherein the tag identification is verified by at least one of the first plurality of statically scheduled routing processors.
- 23. The apparatus of claim 1, further comprising:
a control network that operatively accesses a state of at least one of the first plurality of execution processors.
- 24. The apparatus of claim 23, wherein the state is altered by a control mode.
- 25. The apparatus of claim 1, further comprising:
an attention tree indicating when at least one of the first plurality of execution processors requires attention.
- 26. The apparatus of claim 1, wherein at least one of the first plurality of execution processors executes an instruction during a run mode.
- 27. The apparatus of claim 1, wherein at least one of the first plurality of execution processors comprises an error correction mechanism.
- 28. The apparatus of claim 1, wherein at least one of the first plurality of statically scheduled routing processors comprises an error correction mechanism.
- 29. The apparatus of claim 1, wherein the first sub-cluster crossbar provides communication between the first plurality of execution processors.
- 30. The apparatus of claim 1, wherein the first main cluster crossbar provides communication between the first sub-cluster crossbar and the second sub-cluster crossbar.
- 31. An apparatus for computation comprising:
a first main cluster crossbar connected to a first plurality of statically scheduled routing processors; a first sub-cluster crossbar associated with a first one of the first plurality of statically scheduled routing processors, wherein the first sub-cluster crossbar is connected to a first plurality of execution processors; a second sub-cluster crossbar associated with a second one of the first plurality of statically scheduled routing processors, wherein the second sub-cluster crossbar is connected to a second plurality of execution processors; a second main cluster connected to a second plurality of statically scheduled routing processors, wherein the second main cluster crossbar communicates with the first main cluster crossbar; a third sub-cluster crossbar associated with a first one of the second plurality of statically scheduled routing processors, wherein the third sub-cluster crossbar is connected to a third plurality of execution processors; and a fourth sub-cluster crossbar associated with a second one of the second plurality of statically scheduled routing processors, wherein the fourth sub-cluster crossbar is connected to a fourth plurality of execution processors.
- 32. A method of routing information in a multiprocessor system comprising:
employing a first main cluster crossbar to communicate with a first plurality of statically scheduled routing processors; employing a first sub-cluster crossbar to communicate with a first plurality of execution processors, wherein the first sub-cluster crossbar communicates with the first main cluster crossbar via a first one of the first plurality of statically scheduled routing processors; and employing a second sub-cluster crossbar to communicate with a second plurality of execution processors, wherein the second sub-cluster crossbar communicates with the first main cluster crossbar via a second one of the first plurality of statically scheduled routing processors.
- 33. The method of claim 32, further comprising:
communicating with a first input/output buffer via a third one of the first plurality of statically scheduled routing processors.
- 34. The method of claim 33, further comprising:
employing a second input/output buffer to communicate with a host computer, wherein the second input/output buffer communicates with the first main cluster crossbar via a fourth one of the first plurality of statically scheduled routing processors.
- 35. The method of claim 33, wherein the first input/output buffer communicates with a second main cluster crossbar.
- 36. The method of claim 32, further comprising:
employing a second main cluster crossbar to communicate with a second plurality of statically scheduled routing processors, wherein the second main cluster crossbar communicates with the first main cluster crossbar; and employing a third sub-cluster crossbar to communicate with a third plurality of execution processors, wherein the third sub-cluster crossbar communicates with the second main cluster crossbar via a first one of the second plurality of statically scheduled routing processors.
- 37. The method of claim 36, further comprising:
employing a fourth sub-cluster crossbar to communicate with a fourth plurality of execution processors, wherein the fourth sub-cluster crossbar communicates with the second main cluster crossbar via a second one of the second plurality of statically scheduled routing processors.
- 38. The method of claim 36, wherein the first main cluster crossbar and the second main cluster crossbar are partitioned to perform computations for different simulations as defined by a simulation domain boundary.
- 39. The method of claim 32, wherein at least one of the first plurality of execution processors comprises an execution unit capable of executing a simulation instruction.
- 40. The method of claim 39, wherein the simulation instruction comprises a design logic instruction translated from a hardware description language source code.
- 41. The method of claim 39, wherein the simulation instruction comprises a design logic instruction translated from a Verilog source code.
- 42. The method of claim 39, wherein the simulation instruction comprises a design logic instruction translated from a register transfer language source code.
- 43. The method of claim 32, further comprising:
communicating with a static random access memory interface via a third one of the first plurality of statically scheduled routing processors.
- 44. The method of claim 32, further comprising:
communicating with a register file unit via a third one of the first plurality of statically scheduled routing processors.
- 45. The method of claim 32, further comprising:
communicating with a global control register file unit via a third one of the first plurality of statically scheduled routing processors.
- 46. The method of claim 32, wherein at least one of the first plurality of execution processors is temporally synchronized using an instruction.
- 47. The method of claim 32, wherein at least one of the first plurality of execution processors is temporally synchronized using a global clock.
- 48. The method of claim 32, wherein at least one of the first plurality of statically scheduled routing processors uses a routing table.
- 49. The method of claim 32, wherein at least one of the first plurality of execution processors uses a register file.
- 50. The method of claim 49, wherein the register file allows message packing.
- 51. The method of claim 49, wherein the register file is bit addressable.
- 52. The method of claim 32, wherein at least one of the plurality of execution processors transmits and receives a tag identification.
- 53. The method of claim 52, wherein the tag identification is verified by at least one of the first plurality of statically scheduled routing processors.
- 54. The method of claim 32, further comprising:
communicating with a control network that operatively accesses a state of the first plurality of execution processors.
- 55. The method of claim 54, wherein the state is altered by a control mode.
- 56. The method of claim 32, further comprising:
forming an attention tree, wherein the attention tree indicates when at least one of the first plurality of execution processors requires attention.
- 57. The method of claim 32, wherein at least one of the first plurality of execution processors executes an instruction during a run mode.
- 58. The method of claim 32, wherein at least one of the first plurality of execution processors comprises an error correction mechanism.
- 59. The method of claim 32, wherein at least one of the first plurality of statically scheduled routing processors comprises an error correction mechanism.
- 60. The method of claim 32, wherein the first sub-cluster crossbar provides communication between the first plurality of execution processors.
- 61. The method of claim 32, wherein the first main cluster crossbar provides communication between the first sub-cluster crossbar and the second sub-cluster crossbar.
- 62. A method of routing information in a multiprocessor system comprising:
employing a first main cluster crossbar to communicate with a first plurality of statically scheduled routing processors; employing a first sub-cluster crossbar to communicate with a first plurality of execution processors, wherein the first sub-cluster crossbar communicates with the main cluster crossbar via a first one of the first plurality of statically scheduled routing processors; employing a second sub-cluster crossbar to communicate with a second plurality of execution processors, wherein the second sub-cluster crossbar communicates with the main cluster crossbar via a second one of the first plurality of statically scheduled routing; employing a second main cluster to communicate with a second plurality of statically scheduled routing processors, wherein the second main cluster crossbar communicates with the first main cluster crossbar; employing a third sub-cluster crossbar to communicate with a third plurality of execution processors, wherein the third sub-cluster crossbar communicates with the second main cluster crossbar via a first one of the second plurality of statically scheduled routing processors; and employing a fourth sub-cluster crossbar to communicate with a fourth plurality of execution processors, wherein the fourth sub-cluster crossbar communicates with the second main cluster crossbar via a second one of the second plurality of statically scheduled routing processors.
- 63. An apparatus for routing information in a multiprocessor system comprising:
first means for communicating with a first plurality of statically scheduled routing processors; second means for communicating with a first plurality of execution processors, wherein the second means communicates with the first means via a first one of the first plurality of statically scheduled routing processors; and third means for communicating with a second plurality of execution processors, wherein the third means communicates with the first means via a second one of the first plurality of statically scheduled routing processors.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit of U.S. Provisional Application Serial No. 60/313,735, filed Aug. 20, 2001, entitled “System Related Inventions,” in the names of Thomas M. McWilliams, Jeffrey B. Rubin, Michael Parkin, Oyenkunle Olukotun, Derek Pappas, Jeffrey Broughton, David R. Emberson, Ashley Saulsbury, Earl T. Cohen, William Lam, Liang T. Chen, Ihao Chen, Jay Reynolds, Ankur Narang, David Chenevert, Nyles Nettleton, Tom Riddle, Jim Burr, and David Allison.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60313735 |
Aug 2001 |
US |