Flexible buffering scheme for inter-module on-chip communications
First Claim
1. A system for interconnecting a plurality of modules on a single computer chip in an on-chip network comprising:
- a inter-module link providing an electrical path for data communication;
a plurality of modules comprised on said chip, wherein each of said plurality of modules is different;
a plurality of inter-module ports, wherein at least one inter-module port is coupled between an associated module and said inter-module link;
wherein said inter-module link electrically couples said inter-module ports, wherein said inter-module link is configured to provide a communications pathway between said modules;
wherein each of said plurality of inter-module ports provide a common interface to each of said associated modules and to said inter-module link;
wherein said each of said plurality of inter-module ports is configured to be connectable to any of said plurality of modules on a side of said inter-module port opposite a side coupled to said inter-module link.
1 Assignment
0 Petitions
Accused Products
Abstract
A single chip integrated circuit comprises a plurality of modules interconnected in an on-chip network. The modules are processors or memory devices or hybrids. An inter-module link provides an electrical path for data communication among the modules. The modules are connected to the inter-module link by inter-module ports, with at least one inter-module port coupled between an associated module and the inter-module link. The inter-module link electrically couples the inter-module ports and provides a communications pathway between the modules. Each inter-module port provides a common, universal interface to any of the modules, i.e., modules of different types are connectable to any inter-module port. Each inter-module port operates to receive data from the inter-module link, to determine if the data from the inter-module link is addressed to the associated module, to provide the data from the inter-module link to the associated module if the inter-module port determines that the data from the inter-module link is addressed to the associated module, to accept data from the associated module for transmission on the inter-module link, and to transmit the data from the associated module on the inter-module link. The on-chip network may also include an inter-module network switch for joining circuits of the inter-module link and routing data packets from one inter-module links to another or an inter-chip network bridge to join two single chip integrated circuits into a single communications network and route data packets from modules on one computer chip to modules on another computer chip.
81 Citations
35 Claims
-
1. A system for interconnecting a plurality of modules on a single computer chip in an on-chip network comprising:
-
a inter-module link providing an electrical path for data communication; a plurality of modules comprised on said chip, wherein each of said plurality of modules is different; a plurality of inter-module ports, wherein at least one inter-module port is coupled between an associated module and said inter-module link; wherein said inter-module link electrically couples said inter-module ports, wherein said inter-module link is configured to provide a communications pathway between said modules; wherein each of said plurality of inter-module ports provide a common interface to each of said associated modules and to said inter-module link; wherein said each of said plurality of inter-module ports is configured to be connectable to any of said plurality of modules on a side of said inter-module port opposite a side coupled to said inter-module link. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An on-chip inter-module port for coupling a module comprised on a computer chip to an inter-module link comprised on said computer chip for communications between a plurality of modules comprised on said computer chip, said inter-module port comprising:
-
an off-ramp demultiplexer for coupling to said inter-module link, wherein said off-ramp demultiplexer receives data from said inter-module link; an on-ramp multiplexer for coupling to said inter-module link and for providing data onto said inter-module link, wherein said on-ramp multiplexer is further coupled to said off-ramp demultiplexer, wherein said off-ramp demultiplexer is operable to provide data to said on-ramp multiplexer; an input buffer coupled to said off-ramp demultiplexer, wherein said input buffer includes connections for coupling to said module; an output buffer coupled to said on-ramp multiplexer, wherein said output buffer includes connections for coupling to said module; and wherein said off-ramp demultiplexer is operable to receive data from said inter-module link and demultiplex a portion of said data intended for said module and provide said portion of said data intended for said module to said input buffer; wherein said input buffer is operable to receive and store said portion of said data intended for said module and provide said portion of said data intended for said module to said module; wherein said input buffer is operable to receive and store data from said module and provide said data from said module to said on-ramp multiplexer; wherein said on-ramp multiplexer is operable to receive said data from said module and multiplex said data from said module with other data received from said off-ramp demultiplexer to form multiplexed data, wherein said on-ramp multiplexer is operable to provide said multiplexed data to said inter-module link; wherein said inter-module port provides a common interface to each of said plurality of modules; wherein a module of different types is connectable to said inter-module port on a side of said inter-module port opposite a side coupled to said inter-module link. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A system for interconnecting a plurality of modules on a single computer chip in an on-chip network comprising:
-
an inter-module link comprised on said chip providing an electrical path for data communication; a plurality of modules comprised on said chip, wherein each of said modules perform operations and/or store data, wherein at least one of said plurality of modules is a processor, and wherein at least one of said plurality of modules is a memory; a plurality of inter-module ports comprised on said chip, wherein at least one inter-module port is coupled between an associated module and said inter-module link; wherein said inter-module link electrically couples said inter-module ports, wherein said inter-module link is configured to provide a communications pathway between said modules; wherein each of said plurality of inter-module ports provides a common interface to each of said associated modules; wherein modules of different types are connectable to any of said inter-module ports on a side of said inter-module port opposite a side coupled to said inter-module link. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system for interconnecting a plurality of modules on a single computer chip in an on-chip network comprising:
-
an inter-module link comprised on said chip for providing an electrical path for data communication; an inter-module network switch comprised on said chip for coupling a plurality of inter-module links, wherein said inter-module network switch includes; a plurality of connectors for connecting to said plurality of inter-module links; an input buffer and an output buffer for coupling to each of said plurality of inter-module links; switching logic coupled to each of said input buffers and coupled to each of said output buffers, wherein said switching logic is configured to transfer communications from a first input buffer coupled to a first inter-module link to a second output buffer coupled to a second inter-module link; and a controller coupled to said switching logic for controlling operations of said switching logic; an inter-chip network bridge comprised on said chip for coupling two computer chips, wherein said inter-chip network bridge includes; a plurality of connectors for coupling to a plurality of corresponding connectors comprised on said second computer chip; one or more output buffers operable to accept outgoing data destined for an address on said second computer chip; one or more input buffers operable to receive incoming data destined for an associated address on said associated computer chip; a switching logic coupled to each of said output buffets, wherein said switching logic is further coupled to each of said input buffers, wherein said switching logic is operable to transfer said outgoing data from a first output buffer to said second computer chip, wherein said switching logic is further operable to receive said incoming data from said second computer chip into a first input buffer; and a controller coupled to control said switching logic; a plurality of modules comprised on said chip, wherein at least one of said plurality of modules is a processor, and wherein at least one of said plurality of modules is a memory; a plurality of inter-module ports comprised on said chip, wherein at least one inter-module port is coupled between an associated module and said inter-module link; wherein each of said inter-module ports is operable to (i) receive data from said inter-module link, (ii) determine if said data from said inter-module link is addressed to said associated module, (iii) provide said data from said inter-module link to said associated module if said inter-module port determines that said data from said inter-module link is addressed to said associated module, (iv) accept data from said associated module for transmission on said inter-module link, and (v) transmit said data from said associated module on said inter-module link; wherein each inter-module port includes; an off-ramp demultiplexer for coupling to said inter-module link, wherein said off-ramp demultiplexer receives said data from said inter-module link; an on-ramp multiplexer for coupling to said inter-module link and for providing data to said inter-module link, wherein said on-ramp multiplexer is further coupled to said off-ramp demultiplexer, wherein said off-ramp demultiplexer is operable to provide data to said on-ramp multiplexer; an input buffer coupled to said off-ramp demultiplexer, wherein said input buffer includes connections for coupling to said module; an output buffer coupled to said on-ramp multiplexer, wherein said output buffer includes connections for coupling to said module; and a port controller coupled to control said operations of said off-ramp demultiplexer, said on-ramp multiplexer, said input buffer, and said output buffer; wherein said off-ramp demultiplexer is operable to receive said data from said inter-module link and demultiplex a portion of said data from said inter-module link which comprises data intended for said module and provide said data intended for said module to said input buffer; wherein said input buffer is operable to receive and store said data intended for said module and provide said data intended for said module to said module; wherein said input buffer is operable to receive and store data from said module and provide said data from said module to said on-ramp multiplexer; wherein said on-ramp multiplexer is operable to receive said data from said module and multiplex said data from said module with other data received from said off-ramp demultiplexer to form multiplexed data, wherein said on-ramp multiplexer is operable to provide said multiplexed data to said inter-module link; wherein said inter-module link electrically couples said inter-module ports, wherein said inter-module link is configured to provide a communications pathway between said modules; wherein each of said plurality of inter-module ports provide a common interface to each of said associated modules; wherein modules of different types are connectable to only of said inter-module ports on a side of said inter-module port opposite a side coupled to said inter-module link. - View Dependent Claims (33, 34)
-
-
35. A system for interconnecting a plurality of modules on a single computer chip in an on-chip network comprising:
-
an inter-module link comprised on said chip providing an electrical path for data communication; a plurality of modules comprised on said chip, wherein each of said modules perform operations and/or store data, wherein at least one of said plurality of modules is a processor, and wherein at least one of said plurality of modules is a memory; a plurality of inter-module ports comprised on said chip, wherein at least one inter-module port is coupled between an associated module and said inter-module link; wherein said inter-module link electrically couples said inter-module ports, wherein said inter-module link is configured to provide a communications pathway between said modules; wherein each of said plurality of inter-module ports provides a common interface to each of said associated modules; wherein modules of different types are connectable to any of said inter-module ports; and wherein at least one module of said plurality of modules is coupled to at least two of said plurality of inter-module ports on a side of said inter-module port opposite a side coupled to said inter-module link.
-
Specification