WO2011148925A1 - 半導体装置とネットワークルーティング方法とシステム - Google Patents

半導体装置とネットワークルーティング方法とシステム Download PDF

Info

Publication number
WO2011148925A1
WO2011148925A1 PCT/JP2011/061831 JP2011061831W WO2011148925A1 WO 2011148925 A1 WO2011148925 A1 WO 2011148925A1 JP 2011061831 W JP2011061831 W JP 2011061831W WO 2011148925 A1 WO2011148925 A1 WO 2011148925A1
Authority
WO
WIPO (PCT)
Prior art keywords
routing
information
network
routing information
network interface
Prior art date
Application number
PCT/JP2011/061831
Other languages
English (en)
French (fr)
Inventor
淳 鳥居
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2012517269A priority Critical patent/JPWO2011148925A1/ja
Publication of WO2011148925A1 publication Critical patent/WO2011148925A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Definitions

  • the present invention relates to a semiconductor device, and in particular, data between IP cores in, for example, System on a Chip (also abbreviated as SoC) which is an LSI (Large Scale Integration) integrated circuit in which a plurality of IP (Intellectual Property) cores are integrated.
  • SoC System on a Chip
  • LSI Large Scale Integration
  • the present invention relates to an apparatus configuration, method, and system suitable for application to a network on a chip for communication (also abbreviated as Network on a Chip: NoC).
  • a bus is used for connection between IP cores in a System on a Chip (SoC) or the like which is an LSI integrated circuit in which a plurality of IP (Intellectual Property) cores are integrated.
  • SoC System on a Chip
  • AMBA advocated by ARM has become the industry standard for such buses.
  • AMBA has evolved to be an Advanced High-performance Bus (AHB), a multi-layer AHB, an Advanced eXtensible Interface (AXI), etc. in response to the increase in the number of cores and the complexity of chips.
  • AHB Advanced High-performance Bus
  • AXI Advanced eXtensible Interface
  • the wiring length is long, and as a result, it is difficult to cope with the improvement of the frequency.
  • NoC Network on Chip
  • NoC Network on Chip
  • TILE 64 of TILERA 80 core chip or 48 core chip of Intel
  • FAUST chip of CEA-Leti MAGALI chip and the like
  • NoC: 4x4 Mesh Structure These basically constitute a network by a router (Router) 302 and a communication channel 305 as shown in FIG.
  • the IP cores 303 forming the network node connect to the corresponding routers (Routers) 302 via the communication interface 305 via the network interface (NI) 304 and communicate with the network.
  • Data transfer is performed between the network interface 304 and the router 302 in units of packets. Data transfer on the network after the router is performed by dividing the packet into a plurality of units called flits.
  • the router 302 realizes communication by sending packets composed of a plurality of flits to these networks.
  • the packet is composed of destination IP position information 323, flit length 324, control information 325, access address 326, access attribute 327 (packet header), and data 328 (payload), and in the example of FIG. It is divided into n + 1 frits from 0 to frit n.
  • Each flit is composed of a sideband signal (frit attribute information) 322 and a packet body signal (control information / payload) 321.
  • Each router 302 sends the received packet to an appropriate output port for sending to a destination network interface (NI) 304 via the network. That time, (A) A distributed routing system in which the destination for the next hop is determined based on a predetermined rule determined in advance after looking at the address and ID of the destination in the router 302, (B) In the network interface of the data transmission source, all routing to the transmission destination is determined, and the routing information is included in the packet, and there is a source routing system.
  • NI network interface
  • the output channel information in each router 302 is embedded in the packet in advance on the network interface on the transmitting side, and each router completes the routing only by extracting this information. be able to. Therefore, the router can be simplified.
  • Non-Patent Document 2 the 80-Tile 1.28 TFLOPS Network-on-Chip of Intel Corporation adopts this source routing method (Non-Patent Document 2).
  • FIG. 10 shows the leading flit (flit 0) of the packet in the chip of this related art.
  • DID Destination IDs
  • the CH Chained Header 342 is a pointer to the header of the link destination.
  • the router 302 determines the output port according to the DID. Therefore, each router 302 can perform routing only by extracting the value of DID. Thus, the source routing scheme can simplify the structure of each router 302.
  • the method of calculating the routing by subtracting the reference table is, for example, as described in Non-Patent Document 3, by subtracting the reference table (routing reference table) in the network interface 304 and routing according to it.
  • the packet is routed and forwarded by the process of 302.
  • FIG. 11 when the IP core on the transmission side, here, the CPU 361 updates (writes data etc.) to the memory 368 which is the IP core of the reception destination, it transmits a request to the network interface 362, and the network interface 362 converts the address of the destination of the packet into routing information according to its own lookup table 363, and writes the routing information in the header of the packet.
  • the CPU 361 updates (writes data etc.) to the memory 368 which is the IP core of the reception destination, it transmits a request to the network interface 362, and the network interface 362 converts the address of the destination of the packet into routing information according to its own lookup table 363, and writes the routing information in the header of the packet.
  • Each of the routers 364 365 determines an output port based on the routing information written in the packet header and delivers the packet to the receiving network interface 366.
  • the reception destination network interface 366 decodes the received packet, and passes data to the reception destination memory 368, whereby update (data write) is established.
  • Non-Patent Document 3 as a mounting method of a reference table, as shown in FIG. (A) Hard wired type, (B) register-based reconfigurable (c) RAM-based reconfigurable (D) mentions the choice hard wired type.
  • the hard-wired type includes a multiplexer (Mux nx 1) that selects one of n pieces of routing information, and an address encoder that inputs a PE address and provides a selection signal to the multiplexer.
  • the fully-configurable register based (Fully Configurable-Register Based) consists of a Scan Register row in which SCAN of SCAN IN is controlled by SCAN EN, and a multiplexer (Mux nx 1) that selects one out of n
  • An address encoder is provided which inputs a PE address and provides a multiplexer selection signal.
  • the partially reconfigurable type includes a selector ix1 that selects one of a plurality of pieces of routing information of the hard wired circuit of (a) with the output of the Scan Register, and the output of the selector ix1 is supplied to the multiplexer.
  • Non-Patent Document 3 discusses reconfigurable hardware and area cost that can dynamically change routing information according to the degree of congestion, etc., and selects one from a plurality of pieces of routing information in advance ((d It is concluded that the choice of hard wired type) has low area cost, low hardware cost, and can cope with the target dynamic routing change.
  • the reference table according to Non-Patent Document 3 holds routing information 383 for the packet reception destination addresses 382 of all the routing information tables 381.
  • the routing information table 381 holds all the entries considered as transmission destinations.
  • W indicates a router located one hop west of the current node
  • S indicates a router located one hop south of the current node
  • IP indicates an IP core connected to the current router ing.
  • FIG. 14 is a block diagram showing an example of the configuration proposed in the prior application (Japanese Patent Application No. 2009-125580, WO 2010/137572).
  • the main router 403 is provided with the routing calculation capability as the network interface 402, and the remote communication is performed by the network interface 402 for routing to the main router 403 in the packet receiving destination direction. Perform packet transfer.
  • this configuration most of the routers on the network become sub-routers 404 without the routing calculation function, and the cost can be reduced.
  • Patent Document 1 proposes a communication node apparatus for effectively utilizing the memory capacity of a routing table (cache memory) provided in each line interface of the communication node apparatus and improving a search hit rate of routing information.
  • each line interface board is provided with a sub-routing table (cache memory), and sends out a received packet based on a destination address included in the header of the variable-length packet received from the input line.
  • a communication node device (route management device) that specifies an output line number to be output is disclosed.
  • Patent Document 2 discloses a network on chip (NOC) including an integrated processor (IP) block, a router, a memory communication controller and a network interface controller The IP block is coupled to the router via the memory communication controller and the network interface controller, each memory communication controller controlling communication between the IP block and the memory, and the network of each being A network on chip (NOC) is disclosed, in which an interface controller controls inter IP block communication via the router.
  • IP integrated processor
  • Patent Document 1 Japanese Patent Application Publication No. 2001-045061 JP, 2009-110512, A WO 2010/137572
  • Non-Patent Document 3 concludes that the selected hard-wired type shown in FIG. 12 (d) is advantageous in area and hardware cost.
  • routing candidate can be selected from a plurality of routing candidates, it is necessary to identify and define those routings in hardware design. And routings that fall outside these definitions can not be selected.
  • FIG. 12 (b) register-based reconfigurable type and FIG. 12 (c) RAM-based reconfigurable type can determine routing information after chip manufacture, and further, it is possible to dynamically Can be rewritten. For this reason, according to these configurations, it is possible to avoid the above-mentioned problems that occur in the selected hard wired type of FIG. 12 (d).
  • an object of the present invention is to provide a semiconductor device, method and system which can flexibly cope with dynamic changes in routing, etc., and can simplify the configuration and reduce the cost, with the routing reference table of the network interface. It is to do.
  • a semiconductor is provided with a plurality of at least one unit of an information processing unit, a storage unit, and an interface unit, and an on-chip network composed of a communication channel and a router and the unit are connected via a network interface.
  • the network interface holds routing information composed of one or more pieces of output information individually designated for each router as to which communication channel to be output in each router existing on a desired route of the on-chip network.
  • a routing lookup table the routing lookup table holds a part of routing information of network communications that the network interface to which the routing lookup table belongs may transmit, and when routing Routing information necessary for computing determines whether held in the routing lookup table, the semiconductor device (the method, system) is provided.
  • the configuration can be simplified and the total chip cost can be reduced while flexibly coping with the routing reference table of the network interface while dynamically changing the routing.
  • FIG. 6 is a block diagram showing a routing lookup table equipped with a power switch according to an embodiment of the present invention. It is a block diagram of SoC which adopted the network on chip of related art.
  • FIG. 1 is an entire block diagram of a multi-core SoC using an on-chip network proposed in a prior application (Japanese Patent Application No. 2009-125580, WO 2010/137572).
  • the routing lookup table a virtualized structure as well as the processor cache memory and TLB (Translation Look-aside Buffer).
  • TLB Translation Look-aside Buffer
  • the cache memory holds data most recently used by the processor and prepares for the next use. Further, the TLB holds the conversion rule used most recently in the memory conversion information, and prepares for the next use.
  • forwarding of most subsequent packets can be performed by keeping the most recently used routing information in the routing reference table in the network interface as well. It is thought that the routing can be determined by referring to the routing information currently held by.
  • the network interface chip routing reference table in the network on chip adopting the source routing method can reduce the amount of hardware and power consumption while coping with the dynamic change of the routing. It is possible to reduce the total chip cost.
  • the first to third aspects of the present invention define the basic principle of the present invention. That is, in the first mode (Mode) of the present invention, the routing lookup table holds a part of the routing information of the network communication to which the network interface to which the routing lookup table belongs may transmit, and at the time of routing And a mechanism for determining whether or not the routing reference table holds routing information necessary for the routing.
  • the routing reference table has a structure in which the contents can be rewritten as the routing information and the tag information for subtracting the information as a RAM structure or a register structure.
  • the network interface determines the presence or absence of routing information necessary for the routing reference table, and determines that the routing reference table holds the necessary routing information. And attaching the routing information held by the routing lookup table to a flit of a network packet to send out the packet. If necessary information is stored in the routing information reference table, it is a hit (Hit). If not stored, it is a miss (Miss). At Hit, the routing information stored in the routing lookup table is taken into the routing flit in the packet, and the packet is sent out to the network. The operation at the time of Miss is defined in the later aspect.
  • ⁇ Aspect 4-6> In the fourth to sixth aspects of the present invention, reference is made to a routing reference table. Each of them has an ID number on the receiving side, an address on the receiving side, and a mask bit in the address, and proposes address bit matching in an arbitrary bit range. More specifically, in the fourth aspect of the present invention, the network interface receives the network packet reception destination stored in the tag information as to whether or not necessary routing information is held in the routing reference table. The identification number of the packet is compared with the identification number of the destination of the packet currently being sent.
  • the network interface determines whether or not the routing information required in the routing reference table is held, the address information of the network packet receiving destination stored in the tag information. And the destination address of the packet currently to be sent.
  • the network interface includes a mask bit for ignoring a specific bit of an address bit in the logic for checking a match between the routing information and an address on the routing lookup table. It is added as tag information of each routing information, and the presence or absence of the routing information is judged based on the match / mismatch of the addresses other than the bits masked by the mask bit.
  • the seventh aspect of the present invention proposes an operation of rewriting the routing reference table when a miss occurs.
  • the network interface is configured to register the newly requested routing information in the routing reference table and make the matching state, when the routing information is not matched on the routing reference table. Are copied to a predetermined position in the flit of the network packet to send out the network packet.
  • a specific rewriting method is defined in the eighth to thirteenth aspects of the present invention.
  • the defined IP is interrupted.
  • the interrupt processing handler can also perform processing for newly writing in the routing reference table by calculating or loading a route to the receiving side that has caused Miss from a prescribed memory space or the like. Alternatively, it is possible to make an interrupt request for updating the routing reference table to another IP or the like. Since these depend on the respective software implementation policies, they can ensure the maximum freedom, but since software intervenes in processing, a certain delay occurs.
  • the ninth to twelfth aspects of the present invention propose a method of rewriting the routing reference table by hardware.
  • the hardware reference method is to load routing information from a defined memory area, perform routing calculation by hardware based on certain logic, and make a request for obtaining routing information toward another IP.
  • the network interface when there is a mismatch on the routing lookup table, the network interface reads out routing information for matching from a prescribed memory, and the information is stored in the routing lookup table. sign up.
  • the network interface calculates routing information for matching from the destination information when the routing information is not matched on the routing lookup table, and refers to the result as a routing Register in the table.
  • the network interface generates a predetermined packet when the routing information is not matched on the routing lookup table, and transmits the packet to the information processing unit. It sends out and notifies the information processing unit connected to the other point of the network of the situation which has become unmatched.
  • the network interface defines a control packet of a network that requests rewriting of the routing lookup table, and when the network interface receives the control packet, routing is performed according to the content of the packet. Register information.
  • a packet having a receiver causing Miss is transmitted with the receiver changed. This is rerouting in the main router by using the routing method shown in the prior application (Japanese Patent Application No. 2009-125580, International Publication No. 2010/137572), and finally the packet is transmitted to the receiving destination Are supposed to do. As a result, it is necessary to rewrite the routing lookup table on the sending side which has caused Miss, but at least at the time of occurrence of Miss.
  • a fourteenth aspect of the present invention a plurality of processing operations at the time of the previous Miss are prepared, and processing operations can be selected dynamically or statically. That is, the network interface is provided with a mechanism capable of performing a plurality of processing operations when the routing information does not match on the routing lookup table, and performs any one or a plurality of processes designated in advance.
  • the network interface changes the number of valid entries for each entry of the routing lookup table.
  • the network interface in the routing lookup table invalidates a logic circuit that determines match or non-match with routing information, and operates the sending of the network packet based on a predetermined unique routing.
  • a seventeenth aspect of the present invention proposes an operation of invalidating or updating routing information according to an external factor. This is because, when a routing information invalidation message or an update message arrives, it is judged whether or not its own routing reference table holds the routing information by searching tag information, and the hit is made.
  • the routing reference table is implicitly rewritten by hardware, such as invalidation or updating. As a result, it is possible to realize a function of avoiding a root path which has caused a failure, congestion, power disconnection, or the like.
  • a description will be given below in the context of an exemplary embodiment (exemplary embodiment).
  • FIG. 1 is a diagram showing the configuration of an embodiment of the present invention.
  • FIG. 1 is a block diagram showing the internal structure of the network interface.
  • FIG. 2 is a block diagram illustrating the details of the routing lookup table in one embodiment of the present invention.
  • the whole block diagram of the multi-core chip using the network on chip is equivalent at the level of FIG. 8, and the routing reference table is included in the network interface 304 of FIG. It is. That is, the network interface 1 of FIG. 1 is an application of the present invention to the network interface 304 of FIG. Therefore, in the following description, FIG. 8 is also appropriately referred to in connection with the network on chip.
  • a bus signal 2 from an IP core is connected to the bus interface 3 and decoded and separated into a control signal 21, an address signal 22, and a data signal 23.
  • the control signal 21 and the address signal 22 are stored in a control FIFO (First In First Out) 4, and the data signal 23 is stored in a data FIFO 5.
  • control FIFO First In First Out
  • an identifier (mainly, an address signal) specifying the IP on the receiving side is sent to the routing reference table 7, and other access control information is sent to the information generator unit (Information Generator) 8.
  • Information Generator Information Generator
  • the routing lookup table (Routing LUT) 7 sends routing information based on source routing to the packet generation unit (Packet Composer) 9.
  • the information generation unit (Information Generator) 8 sends control signal information to the packet generation unit 9.
  • the data FIFO 5 sends the contents of the data to the packet generation unit 9.
  • the packet generation unit 9 sends the packet signal 25 to the router (302 in FIG. 8).
  • the router (302 in FIG. 8) sends information as to whether or not the packet can be received to the network interface 1 by the back pressure signal (Back Pressure) 24.
  • a packet control sequencer (Packet Control Sequencer) 6 manages overall control from these pieces of information.
  • the network interface 1 also receives the packet 26 from the router (302 in FIG. 8).
  • the received packet 26 is separated into a data signal and a control signal in a packet decomposition unit (Packet Decomposer) 10.
  • the control signal is decoded by the packet decoding unit (Packet Decoder) 11 and then stored in the control FIFO 12, and the data signal is stored directly in the data FIFO 13.
  • Control signal 27 and address signal 28 are sent from control FIFO 12 and data signal 29 is sent from data FIFO 13.
  • the bus interface (Bus I / F) 3 composes a bus signal, which is directed to the IP core (303 in FIG. 8). The data is sent out on bus 2.
  • the routing reference table 41 includes a routing information table 42, an address table 43, a mask table 44, valid bits 45, matching logic 46, hit / miss judging logic. 47, the Miss operation rule table 48, and routing information validation logic 49 are provided.
  • the matching logic 46 refers to the appropriate address table 43, mask table 44, and valid bit 45 to determine whether the routing information corresponding to the packet reception destination address 51 is held in the routing information table 42 or not, and determines Hit / Miss. This is determined by logic 47.
  • the validation signal 52 is validated and the routing information 53 is sent out.
  • the operation instruction signal 54 for Miss operation is output.
  • the SoC using NoC assumed in the following description is a SoC composed of 16 IP cores shown in FIG. 8, and the address (hexadecimal display) shown in Table 1 is equally applied to each IP position. It shall be allocated. Also, it is assumed that the routing information is encoded in 3 bits (binary representation) for each hop according to Table 2.
  • the NoC has a 4 ⁇ 4 mesh structure, as shown in FIG.
  • the number of router hops (the number of routers to be routed) is 7.
  • the hop number field has seven entries.
  • the attribute 61 (flit attribute signal field) of the sideband signal indicates the leading flit (flit 0).
  • the packet body signal is composed of destination IP position information 62 (11 bits) and routing information 63.
  • the number of hops is 3 bits each, and in order to accommodate 7 hops, 20 bits (3 ⁇ 7 bits) from the 0th bit (LSB) are allocated as the routing information 63.
  • the router 302 reads the routing information 63 located at hop0, determines the output destination of the packet, and shifts the routing information 63 in FIG. 3 by one entry to the right while preparing for the routing of the next router. That is, by performing processing (right shift) in which the information of hop1 is in hop0 and the information of hop2 is in hop1, the router 302 at the next stage similarly performs routing by reading the routing information 63 located in hop0. It can be carried out.
  • routing lookup table 41 is composed of three entries as an example.
  • the routing reference table 41 of the network interface located at A1 holds the routing information to A2, D3 and D4, the routing reference table 41 has the contents shown in FIG.
  • ⁇ Routing reference table 41 Hit operation>
  • the IP core 303 of A1 of FIG. 8 transmits a message to the IP core located at A2 of FIG. 8, the upper 4 bits of the address are 0x1. This corresponds to the routing information 42 corresponding to the entry 0.
  • the Hit / Miss determination logic 47 determines that the routing reference table 41 is Hit, and the routing contents “IP, S” of the entry 0 are output as the routing information 53, and finally, the packet generation unit 9 ( According to FIG. 1), the leading frit (frit 0) shown in FIG. 5 is generated.
  • the sideband attribute signal 61 indicates the leading flit at 100, and the routing information 63 (LSB to 20 bits) of the packet body signal indicates that the content "IP, S" of the routing information 42 of entry 0 of the routing reference table 41 is 0 bits It is stored in 5 bits from (LSB).
  • the Hit / Miss determination logic 47 can determine the bit position to be compared by the mask value of the mask table 44, so it can adjust the range in which the address is matched in one entry.
  • ⁇ Routing reference table 41 Miss>
  • the IP core 303 of A1 of FIG. 8 transmits a message to the IP core of B3 of FIG. 8, access to the IP of B3 is performed.
  • the upper 4 bits of are 0x6.
  • This Miss judgment is made by Hit / Miss judgment logic 47 as well as Hit time. Here, it is determined as Miss.
  • the Miss-time operation definition table 48 is table logic that holds information that defines what operation the network interface 1 performs when a Miss occurs.
  • the Miss operation specification table logic 48 can be added to the hardware as needed. Alternatively, if the operation at the time of Miss is always fixed, there is no need to make the table rewritable. The following describes the operations that can be taken at the time of Miss.
  • the network interface 304 requests the IP core 303 to generate an interrupt for updating the routing reference table 41.
  • the IP core 303 is basically connected to the corresponding network interface 304, but it does not deny that the other IP core 303 is interrupted.
  • the interrupt processing handler In the other IP core 303 (FIG. 8) to which the interrupt has been issued, the interrupt processing handler (program) identifies the cause of the miss in the routing reference table 41 (FIG. 2, FIG. 4).
  • the interrupt processing handler can specify that the upper 4 bits of access are 0x6 by reading the interrupt factor register or the like.
  • the interrupt handler determines routing information from A1 to B3 (FIG. 8). This can also be calculated by a program if it is a simple dimensional order routing. Alternatively, data stored in advance in a memory or the like (implemented in the network interface 304) may be loaded. Here, the routing from A1 to B3 in FIG. S ⁇ S ⁇ E ⁇ IP (A1 ⁇ A2 ⁇ A3 and +2 in the Y direction, +1 hop in the X direction).
  • the interrupt processing handler that has determined the routing information to B3 determines, for example, the replacement of the entry 2 in the routing reference table 41 of FIG. 4, and the routing reference table 41 is updated to the content shown in FIG.
  • the table entry rewrite rule is not particularly defined in the present invention, but a method (replacement algorithm) (for example, LRU (Least Recently Used)) adopted by similar mechanisms such as cache memory and TLB can be adopted. is there.
  • the updating of the routing reference table 41 by the interrupt processing handler is highly flexible because of the processing by software. Therefore, when software can collect network congestion information, failure information, etc. and more than one routing candidate can be considered even if the IP of the receiving destination is the same, more flexible routing information can be written in the routing reference table 41. It is possible.
  • the ninth to twelfth aspects of the present invention propose a method of performing processing at the time of Miss by hardware.
  • routing information is generated by calculating routing by hardware, and the routing lookup table 41 is rewritten.
  • priority is given to either the NS direction or the EW direction in consideration of a predetermined logical or dynamic network situation.
  • the hardware processes routing calculations mainly in the network interface 1 that has generated Miss, and the hardware logic with such capability can be It is also possible to combine several.
  • the hardware logic and each network interface 1 are connected by a dedicated control signal or the like.
  • the IP that has received the routing information request packet calculates or loads necessary routing information by interpreting the packet, and transmits the routing information according to the request as a routing information reply packet to the requested IP.
  • the packet deciphering unit 11 (FIG. 1) recognizes that the network interface 1 having received the routing information reply packet is a special packet, and the received routing information is directly received from the routing information 42 (see FIG. 7). Write to 2). After this operation, transmission of the Missed packet is performed.
  • processing relating to these special routing information request packets and routing information reply packets is premised to be executed by hardware, but can also be generated by software such as an interrupt processing handler. This is included in the eighth aspect of the present invention.
  • the routing information is requested to another IP, and after waiting for an answer, the original communication packet is transmitted after the Miss state is eliminated, while the prior application It is also possible to use the inventions of 2009-125580 and WO 2010/137572) in combination.
  • the thirteenth aspect of the present invention corresponds to this.
  • a packet with a miss is transmitted to an IP core having routing information defined in advance or its router as a receiver, unlike the original receiver.
  • the received IP core or its router re-routes to the original receiver, and re-fills the leading flit (flit 0) to retransmit the Missed packet to the original receiver.
  • This also has the meaning of preventing the frequent reference routing information in the routing table 42 of the lookup table from being evicted by the communication that occurs very rarely.
  • the routing information is entered only in the leading flit (flit 0) of the packet that has caused Miss, and the routing information 42 is not rewritten. It is also possible to select a method to
  • the processing method at the time of Miss according to the first to thirteenth aspects can be independently implemented on the network interface on the SoC, it is possible to systematically support a plurality of operations, and By setting the Miss operation in the Miss operation specification table 48, it is possible to control the NoC more flexibly according to the system status.
  • FIG. 7 is a block diagram of a routing lookup table in a fifteenth aspect of the present invention.
  • routing lookup table 81 is substantially equivalent to routing lookup table 41 of FIG. 2, but there are individual power supply areas 85, 86, 87 controlled by power switches 82, 83, 84, respectively. .
  • the individual power supply regions 85, 86, 87 can cut off the power supply when unnecessary, by the on / off control of the power supply switches 82, 83, 84, and can mainly reduce the leak current.
  • the power switches 82 and 83 are turned off to shut off the power supply to the individual power regions 85 and 86.
  • the number (number of entries) of the routing information table 42 of the routing reference table 81 is reduced, but it is effective when the communication pattern is limited to only a specific IP core. In this case, it is necessary to invalidate the valid bit 45 corresponding to the entry of the routing information table 42 in which the power is shut off.
  • Hit / Miss determination logic 47 it is also possible to turn off the power supply switch 84 to shut off the individual power supply area 87 in which the operation specification table 48 for miss operation is included.
  • address comparison, validity comparison and the like are not performed, and all transmission packets are routed to the same IP core. As a result, it is possible to save power including power used for address comparison and effectiveness comparison.
  • the seventeenth aspect of the present invention is to invalidate a specific entry of the routing information table 42 from the outside.
  • a seventeenth aspect of the present invention is similar to the operation of the twelfth aspect of the present invention, but in the twelfth aspect, new routing information is registered in the routing information table 42 by a routing information reply packet. However, due to other factors such as failure and congestion, it may be necessary to update or invalidate existing routing information.
  • special packets such as a special routing information update packet and a routing information invalidation packet are defined and prepared to cope with these.
  • the packet decryption unit 11 When the network interface 1 (FIG. 1) receives these packets (routing information update packet, special packet, etc.), the packet decryption unit 11 (FIG. 1) recognizes that the packet is a special packet and receives it.
  • the routing information is directly updated or invalidated in the routing information 42 in the routing reference table 41. This makes it possible to perform control of the entire NoC by transmitting a message packet from one or several IP cores, and enables more flexible control.
  • a plurality of units of at least one of an information processing unit, a storage unit, and an interface unit are connected, and the units are connected by a network composed of a network interface, a communication channel, and a router, and information communication between the units is
  • the network interface of the on-chip network which transmits and receives packets carrying the information through the network, includes a routing reference table holding routing information;
  • the routing lookup table holds a part of the routing information of network communication that the network interface to which the routing lookup table belongs may transmit; It is determined at routing time whether or not routing information necessary for the routing is held in the routing lookup table.
  • the routing lookup table comprises a rewritable device, The network routing method according to claim 1, further comprising tag information for retrieving routing information.
  • Necessary routing information is held in the routing reference table by checking whether the identification number of the network packet receiving destination stored in the tag information matches the receiving destination identification number of the packet currently being sent.
  • Necessary routing information is held in the routing lookup table by checking whether the address information of the network packet receiving destination stored in the tag information matches the receiving address of the packet currently being sent.
  • the control packet of the network which requests the rewriting of the routing reference table is defined, and when the network interface receives the control packet, the routing information is registered according to the content of the packet.
  • the network routing method according to any one of the above.
  • the packet is transmitted to an information processing unit connected to another point of the network defined in advance when the routing information does not match on the routing reference table.
  • the network routing method according to any one.
  • the operation when the routing information does not match on the routing reference table includes a mechanism capable of performing a plurality of operations, and performs any one or several processes designated in advance.
  • the network routing method according to any one of the above.
  • routing reference table a logic circuit that determines matching with the routing information or invalidating the routing information is invalidated, and transmission of all network packets is operated based on a predetermined unique routing. 15. The network routing method according to any one of 15.
  • the network interface creates a control packet of a network that makes a request for invalidation or update of the routing lookup table,
  • the network according to any one of appendices 1 to 16, characterized in that when the network interface receives the control packet, the routing information in the routing lookup table is updated or updated according to the content of the control packet. Routing method.
  • a semiconductor device comprising a plurality of units of at least one of an information processing unit, a storage unit, and an interface unit, wherein an on-chip network including a communication channel and a router and the unit are connected via a network interface.
  • the network interface is a routing reference that holds routing information composed of one or more pieces of output information specified for each router as to which communication channel to be output in each router present on a desired route of the on-chip network. Equipped with a table, The routing lookup table holds a part of the routing information of the network communication that the network interface to which the routing lookup table belongs may transmit, and at the time of routing, the routing lookup table necessary for the routing is the routing lookup table. It is determined whether it is hold
  • the routing lookup table comprises a rewritable device, 24.
  • the network interface is required in the routing lookup table by checking whether the identification number of the network packet destination stored in the tag information matches the receiver identification number of the packet currently being sent.
  • the network interface is configured to perform routing information necessary for the routing lookup table by checking whether the address information of the network packet receiver stored in the tag information matches the receiver address of the packet currently being sent.
  • a mask bit for ignoring predetermined specific bits of the address bits is included in the logic for checking whether the routing information matches the address of the routing information registered in the routing reference table. , Has been added as tag information of each routing information, The semiconductor device according to claim 22, wherein the presence or absence of the routing information is determined based on coincidence or noncoincidence of an address other than the bit masked by the mask bit.
  • the network interface interrupts the other information processing unit when the required routing information is not held in the routing reference table as a result of determining the presence or absence of the routing information necessary for the routing reference table.
  • 24 The semiconductor device according to any one of appendices 18 to 24.
  • the network interface reads the corresponding routing information from the memory defined in advance, when the necessary routing information is not held in the routing reference table as a result of determining the presence or absence of the routing information necessary in the routing reference table.
  • 24 The semiconductor device according to any one of appendices 18 to 25, wherein the read out routing information is registered in the routing reference table.
  • the network interface calculates routing information from the reception destination information when the required routing information is not held in the routing reference table as a result of determining the presence or absence of the routing information necessary for the routing reference table. Register routing information in the routing reference table, The network interface is characterized in that, when the routing information is not matched on the routing reference table, the routing information for matching is calculated from the receiving destination information, and the result is registered in the routing reference table.
  • the semiconductor device according to any one of appendices 18 to 25.
  • the network interface generates a predetermined packet when the routing information does not match on the routing lookup table, and sends the packet to the information processing unit.
  • 24 The semiconductor device according to any one of appendices 18 to 25, wherein an information processing unit connected to another point of the network is notified of the unmatched situation.
  • the network interface defines a control packet of a network for requesting the rewriting of the routing lookup table, and when the network interface receives the control packet, registers the routing information according to the content of the packet.
  • the semiconductor device according to any one of appendixes 18 to 28.
  • the network interface transmits the packet to an information processing unit connected to another point on the network defined in advance, when the routing information does not match on the routing lookup table.
  • the semiconductor device according to any one of appendices 18 to 29.
  • the network interface is characterized in that the operation when the routing information does not match on the routing lookup table includes a mechanism capable of performing a plurality of operations and performs any one or several processes designated in advance.
  • the semiconductor device according to any one of appendices 18 to 30.
  • the network interface is characterized in that, in the routing lookup table, the logic circuit for judging the match with the routing information and the mismatch is invalidated, and the sending of the network packet is operated based on a predetermined unique routing.
  • the semiconductor device according to any one of appendices 18 to 32.
  • the network interface creates a control packet of a network that makes a request for invalidation or update of the routing lookup table,
  • the semiconductor according to any one of appendages 18 to 33, characterized in that when the network interface receives the control packet, the routing information in the routing lookup table is updated or updated according to the content of the control packet. apparatus.
  • Network interface 2 bus (bus connecting IP core and network interface) 3 bus interface 4 control FIFO 5 Data FIFO 6 Packet Control Sequencer 7 Routing Reference Table 8 Information Generation Unit 9 Packet Generation Unit 10 Packet Resolution Unit 11 Packet Decoding Unit 12 Control FIFO 13 Data FIFO 21 control signal 22 address signal 23 data signal 24 back pressure signal 25 packet 26 packet 27 control signal 28 address signal 29 data signal 41 routing reference table 42 routing information table 43 address table 44 mask table 45 valid bit 46 collation logic 47 Hit / Miss Judgment logic 48 Miss operation specification table 49 Routing information validation logic 51 Packet receiving address 52 validation signal 53 Routing information 54 Miss information operation indication signal 61 Flit attribute signal field 62 Destination IP location information field 63 Routing information field 81 Routing reference table 82, 83, 84 Power switch 85, 86, 87 Individual power supply area 301 Multi-core SoC (Syst) m on a Chip) 302 router 303 IP core 304 network interface 305 communication channel 321 packet body signal 322 side band signal (f

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 本発明は、ネットワークインタフェースのルーティング参照表をルーティングの動的な変更等に柔軟に対応可能とし構成を簡易化可能としコストを低減する装置と方法、システムを提供する。情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置であって、前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する半導体装置が提供される。

Description

半導体装置とネットワークルーティング方法とシステム
 (関連出願についての記載)
 本発明は、日本国特許出願:特願2010-118084号(2010年5月24日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、半導体装置に関し、特に、例えば複数のIP(Intellectual Property)コアを集積したLSI(Large Scale Integration)集積回路であるSystem on a Chip(SoCとも略記される)等においてIPコア間のデータ交信用ネットワークオンチップ(Network on a Chip: NoCとも略記される)等に適用して好適な装置構成及び方法とシステムに関する。
 従来、複数のIP(Intellectual Property)コアを集積したLSI集積回路であるSystem on a Chip(SoC)等において、IPコア間の接続にはバスが用いられている。例えば、ARM社が提唱するAMBAは、このようなバスの業界標準となっている。AMBAは、コア数の増加、チップの複雑化に対応し、AHB(Advanced High-performance Bus)、マルチレイヤAHB、AXI(Advanced eXtensible Interface)というように進化してきた。
 しかしながら、上記のようなバス構成では、配線長が長くなり、その結果、周波数の向上への対応が難しくなっている。また、同一チップ内の複数IPコアからのアクセス競合に対する調停を集中的に行う必要がある。そのため、同一チップ内に搭載されるIPコアの数の変動に対して、バスを作り直す必要が生じる、等といった問題が生じている。
 これらの問題に対処すべく、バスを階層的に接続することによって、ローカリティを持たせて対処する方法が、高性能なSoCでは、積極的に行われてきた。
<NoC>
 上記とは別に、データをパケット化して送ることにより、通信のローカリティを有効に活用しつつ、調停を各ルータに分散させることによってスケーラビリティを確保可能なNoC(Network on Chip)は、米国Stanford大学のDally, W.J.等による非特許文献1で提案されており、近年積極的に研究されてきた。
 実際のチップにNoCを採用した例として、例えばTILERA社のTILE64、Intel社の80コアチップや48コアチップ、CEA-LetiのFAUSTチップ、MAGALIチップ等があげられる。
<NoCの一例:4x4メッシュ構造>
 これらは、基本的に、図8に示すようなルータ(Router)302と、通信チャネル305によってネットワークを構成している。ネットワークノードをなすIPコア303はネットワークインタフェース(NI)304により通信チャネル305を介して各々に対応するルータ(Router)302に接続し、ネットワークと交信する。ネットワークインタフェース304とルータ302間は、パケット単位にデータの転送が行われる。ルータ以降のネットワーク上でのデータ転送は、パケットを複数のフリットという単位に分割して行われる。
 より詳細には、ルータ302は、図9に示すように、複数のフリットから構成されたパケットをこれらのネットワークに流すことによって交信を実現する。パケットは、受信先IP位置情報323、フリット長324、制御情報325、アクセスアドレス326、アクセス属性327(パケットヘッダー)と、データ328(ペイロード)からなり、図9の例では、先頭フリットであるフリット0からフリットnまでのn+1個のフリットに分割される。各フリットは、サイドバンド信号(フリットの属性情報)322とパケットボディ信号(制御情報/ペイロード)321からなる。
 各ルータ302は、受け取ったパケットを、ネットワークを介して送信先(宛先)のネットワークインタフェース(NI)304に送るために、適切な出力ポートに送出する。その際、
(A)ルータ302内で送信先のアドレスやIDを見た上で、予め定められた所定の規則に基づき、次のホップに向けた送出先を決定する分散ルーティング方式と、
(B)データの送信元のネットワークインタフェースにおいて、送信先までのルーティングを全て決定してしまい、ルーティング情報をパケットに含めソースルーティング方式
 が存在する。
<ソースルーティング方式>
 このうち(B)のソースルーティング方式では、各ルータ302における出力チャネル情報を、送信側のネットワークインタフェースにおいて、あらかじめパケットに埋め込むことにより、各ルータでは、この情報を抽出するだけで、ルーティングを完了することができる。このため、ルータの簡単化を図ることができる。
 例えば、Intel社の80-Tile 1.28TFLOPS Network-on-Chipでは、このソースルーティング方式を採用している(非特許文献2)。
 図10は、この関連技術のチップにおけるパケットの先頭フリット(フリット0)を示している。図10に示すように、このチップでは、出力側ネットワークインタフェースで、ルータ毎に出力先を示したDID(Destination IDs)341を10ホップ分生成し(DID0~DID10)、パケット内に定義している。なお、CH(Chained Header)342はリンク先のヘッダーへのポインタである。
 ルータ302は、DIDに従って出力ポートを決定する。従って、各ルータ302は、DIDの値を抽出するだけでルーティングが可能である。このように、ソースルーティング方式は、各ルータ302の構造を簡単化することができる。
 しかしながら、ソースルーティング方式では、送信側のネットワークインタフェース304でルーティング計算を行う必要が生じる。
 ネットワークインタフェース304におけるルーティング計算としては、
・行き先に応じた参照表(Look-up Table)を引く、
・行き先番号から、ハードウェアもしくはソフトウェアによってルーティングを計算する、
 等の適用が考えられる。
<参照表>
 このうち、参照表を引いてルーティング計算する手法は、例えば非特許文献3に記載されているように、ネットワークインタフェース304内で参照表(ルーティング参照表)を引いて、それに従ったルーティングを各ルータ302が行うことによって、パケットをルーティング、転送する。
 これらの処理イメージを、図11に示す。図11において、送信側のIPコア、ここではCPU361が、受信先のIPコアであるメモリ368に対して更新(データの書き込み等)を行う場合には、要求をネットワークインタフェース362に伝え、ネットワークインタフェース362は、自身が持つ参照表363によって、パケットの受信先のアドレスをルーティング情報に変換し、該ルーティング情報を、当該パケットのヘッダーに書き込む。
 ルータ364、365は、それぞれ、パケット・ヘッダーに書き込まれたルーティング情報に基づき、出力ポートを決定し、パケットを、受信先のネットワークインタフェース366に届ける。
 受信先のネットワークインタフェース366において、受信したパケットをデコードした上、受信先のメモリ368にデータを渡すことで更新(データの書き込み)が成立する。
<参照表の実装例>
 非特許文献3では、参照表の実装方法として、図12に示すように、
(a)ハードワイヤード型、
(b)レジスタベースの再構成可能型
(c)RAMベースの再構成可能型、
(d)選択ハードワイヤード型
を挙げている。
 ハードワイヤード型は、n個のルーティング情報の中から1つを選択するマルチプレクサ(Mux nx1)と、PEアドレスを入力しマルチプレクサに対して選択信号を与えるアドレスエンコーダを備える。レジスタベースの完全再構成可能型(Fully Configurable-Register Based)は、SCAN ENでSCAN INのSCANが制御されるScan Register列と、n個の中から1つを選択するマルチプレクサ(Mux nx1)と、PEアドレスを入力しマルチプレクサの選択信号を与えるアドレスエンコーダを備える。RAMベースの完全再構成可能型(Fully Configurable-RAM Based)は、SCAN ENでSCAN INのSCANが制御されるScan Registerと、Scan Registerの出力をデータ入力端子DINに受けるRAMと、PEアドレスを入力しRAMのアクセスアドレスを与えるアドレスエンコーダを備える。部分再構成型(Partially Configurable)は、(a)のハードワイヤード回路の複数個のルーティング情報の1つをScan Registerの出力で選択するセレクタix1を備え、セレクタix1の出力がマルチプレクサに供給される。
 非特許文献3では、ルーティング情報を混雑度などに応じて、動的に変更できる再構成可能型のハードウェア及び面積コストを論じており、あらかじめ複数のルーティング情報から一つを選択する、(d)の選択ハードワイヤード型が、面積コスト、ハードウェア・コストが低く、かつ目的としている動的ルーティング変更に対応可能と結論づけている。
 非特許文献3による参照表は、図13に示すように、ルーティング情報テーブル381すべてのパケット受信先アドレス382に対するルーティング情報383を保持している。図13に示す例では、ルーティング情報テーブル381は、送信先として考えられるエントリを全て保持している。Wは現在のノードに対して西に1ホップ分離れた位置のルータ、Sは現在のノードに対して南に1ホップ離れた位置のルータ、IPは現在のルータに接続するIPコアを指示している。
 ソースルーティング方式では、図10に示したように、ルーティング情報をフリット内にすべて書き込む必要があるため、ルータ数が増加した場合に、フリットのサイズが大きくなったり、あるいは、すべてのIPコアと交信することができなくなる、という問題が生じる。
<先願発明>
 本願の発明者は、先願(特願2009-125580号、国際公開第2010/137572号)において、上記問題に対応する技術を提案している。
 図14は、先願(特願2009-125580号、国際公開第2010/137572号)で提案した構成例を示すブロック図である。図14に示す例では、メインルータ403は、ネットワークインタフェース402と同様にルーティング計算能力を備えたものであり、遠方への交信はネットワークインタフェース402が、パケット受信先方向のメインルータ403までのルーティングを行い、パケット転送を行う。この構成によれば、ネットワーク上のほとんどのルータは、ルーティング計算機能を持たないサブルータ404となり、コストを削減することができる。
<特許文献1>
 特許文献1には、通信ノード装置の各回線インタフェースに設けたルーティングテーブル(キャッシュメモリ)のメモリ容量有効活用と、ルーティング情報の検索ヒット率向上を図る通信ノード装置が提案されている。この特許文献1には、各回線インタフェースボードは、サブ・ルーティングテーブル(キャッシュメモリ)を備えており、入力回線から受信した可変長パケットのヘッダに含まれる宛先アドレスに基づいて、受信パケットを送出すべき出力回線番号を特定する通信ノード装置(ルート管理装置)が開示されている。
<特許文献2>
 また、ネットワークオンチップ(NOC)の構成として、特許文献2には、集積プロセッサ(IP)ブロック、ルーター、メモリ通信コントローラおよびネットワーク・インターフェイス・コントローラを含むネットワークオンチップ(NOC)であって、各々の前記IPブロックが、前記メモリ通信コントローラおよび前記ネットワーク・インターフェイス・コントローラを介して、前記ルーターに結合され、各々の前記メモリ通信コントローラが、前記IPブロックおよびメモリ間の通信を制御し、各々の前記ネットワーク・インターフェイス・コントローラが、前記ルーターを介してIPブロック間通信を制御する、ネットワークオンチップ(NOC)が開示されている。
特開2001-045061号公報 特開2009-110512号公報 国際公開第2010/137572号公報
"Route packets, not wires: on-chip interconnection networks", Dally W.J., Towles B., Design Automation Conference, 2001. page: 684- 689 "An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS", Sriram Vangal, Jason Howard, Gregory Ruhl, Saurabh Dighe, Howard Wilson, James Tschanz, David Finan, Priya Iyer, Arvind Singh, Tiju Jacob, Shailendra Jain, Sriram Venkataraman, Yatin Hoskote, Nitin Borkar IEEE International Solid State Circuit Conference 2007, pp98-99 "Synthesis of Low-Overhead Configurable Source Routing Tables for Network Interfaces", Igor Loi, Federico Angiolini, and Luca Benini, Design, Automation & Test in Europe 2009, pp262-267
 以下に関連技術の分析を与える。
 先に述べたように、非特許文献3では、図12(d)に示した選択ハードワイヤード型が、面積及びハードウェア・コスト上有利である旨が結論されている。
 しかしながら、複数のルーティング候補から1つのルーティング候補を選択できるとしても、ハードウェア設計時に、それらのルーティングを洗い出して定義する必要が生じる。そして、これらの定義から外れたルーティングは、選択することができない。
 また、各々のIPコア303に接続したネットワークインタフェース(NI)304が、それぞれの位置情報に基づいた固有のルーティング情報を持つ必要が生じるため、論理の単純コピーによる設計は不可能となり、検証のコストが増大する。
 これに対して、図12(b)レジスタベースの再構成可能型、図12(c)RAMベースの再構成可能型は、ルーティング情報をチップ製造後に決定することが可能であり、さらに、動的に書き換え可能である。このため、これらの構成によれば、図12(d)の選択ハードワイヤード型で生じた上記問題点を回避することはできる。
 しかしながら、図12(b)のレジスタベースの再構成可能型、及び、図12(c)のRAMベースの再構成可能型では、
・書き換え可能領域が増加することで参照表のエントリ数が増加した場合や、
・ネットワークオンチップの規模の増大によるホップ数の増加により、
 必要な1エントリあたりのサイズが増大すると、そのまま、ハードウェア・コストの増大に繋がる、という問題が生じる。
 したがって、本発明の目的は、ネットワークインタフェースのルーティング参照表をルーティングの動的な変更等に対して柔軟に対応可能とし、構成を簡易化可能とし、コストを低減する半導体装置、方法、システムを提供することにある。
 本発明によれば、情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置において、前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、半導体装置(方法、システム)が提供される。
 本発明によれば、ネットワークインタフェースのルーティング参照表を、ルーティングの動的な変更等に柔軟対応しつつ、構成を簡易化可能とし、トータルのチップコストを低減することができる。
本発明を適用したオンチップネットワークのネットワークインタフェースを示したブロック図である。 本発明を適用したネットワークインタフェース中のルーティング参照表を示したブロック図である。 本発明を適用したネットワークパケットの先頭フリットの構成を示す図である。 本発明の実施の形態を説明する参照テーブルの内容を示す図である。 本発明を適用したネットワークパケットの先頭フリットの構成を示す図である。 本発明の実施の形態を説明する参照テーブルの内容を示す図である。 本発明の実施の形態に基づき電源スイッチを具備したルーティング参照表を示すブロック図である。 関連技術のネットワークオンチップを採用したSoCのブロック図である。 関連技術のネットワークオンチップにおけるパケットのフォーマット図である。 関連技術のルート情報を示したパケットのフォーマット図である。 関連技術のルーティング参照表を用いたソースルーティング方式によるパケット伝送概略図である。 非特許文献3で示されているルーティング参照表の構成例を示す図である。 ルーティング参照表のイメージ図である。 先願(特願2009-125580号、国際公開第2010/137572号)で提案したオンチップネットワークを用いたマルチコアSoCの全体ブロック図である。
 以下、本発明の好ましい態様(Modes)について説明する。本発明の好ましい態様の1つにおいては、ルーティング参照表をプロセッサのキャッシュメモリやTLB(Translation Look-aside Buffer)と同様に、仮想化した構造とすることを提案する。オンチップネットワークを用いたマルチコア、メニーコア上のIPコア間の交信の組み合わせは、例えば、ごく限られた時間内では、限定された数個から数十個の組み合わせに限定できるアプリケーションも多い。そのような特性の中で、ネットワークインタフェースで保持するルーティング参照表が、チップ上の高価なメモリやレジスタを用いて、そのすべての組み合わせのデータを保持しておくことの必要性は低いと云える。
 キャッシュメモリは、プロセッサで直近に使ったデータを保持しておき、次の利用に備えるものである。また、TLBは、メモリの変換情報で直近に使った変換規則を保持しておき、次の利用に備えるものである。
 本発明の好ましい態様の1つにおいては、ネットワークインタフェース内のルーティング参照表においても、同様にして、直近に使ったルーティング情報を保持しておくことで、ほとんどの後続パケットの転送は、ルーティング参照表が現在保持しているルーティング情報を参照することによって、ルーティングを決定することができるものと思料される。
 本発明の好ましい態様の1つにおいては、ソースルーティング方式を採用するネットワークオンチップにおける、ネットワークインタフェースのルーティング参照表を、ルーティングの動的な変更に対応しつつ、ハードウェア量、消費電力を削減可能とし、トータルのチップコストを低減することが可能である。
<第1-3の態様>
 本発明の第1-3の態様では、本発明の基本原理について規定している。すなわち、本発明の第1の態様(Mode)では、ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時に、前記ルーティング参照表に、該ルーティングに必要なルーティング情報が保持されているか否かを判定する機構を備えている。
 本発明の第2の態様においては、ルーティング参照表には、ルーティング情報と、それを引くためのタグ情報を、RAM構造もしくはレジスタ構造等として内容を書き換えられる構造を有する。
 本発明の第3の態様においては、前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表が、必要なルーティング情報を保持していると判断した場合に、前記ルーティング参照表が保持している前記ルーティング情報をネットワークパケットのフリットに付与してパケットを送出する。ルーティング情報の参照表に、必要な情報が格納されている場合には、ヒット(Hit)となり、格納されていない場合には、ミス(Miss)となる。Hitの際には、ルーティング参照表に格納されているルーティング情報を、パケット内のルーティング・フリットに取り込み、ネットワークに、当該パケットを送出する。Miss時の動作については、後の態様において規定される。
<第4-6の態様>
 本発明の第4-6の態様においては、それぞれルーティング参照表の参照方法について提案する。各々、受信側のID番号、受信側のアドレス、さらにアドレスにマスクビットを備え、任意ビット範囲でのアドレスビットマッチングを行う提案をする。より詳細には、本発明の第4の態様において、ネットワークインタフェースは、前記ルーティング参照表において必要なルーティング情報が保持されているか否かの判定を、前記タグ情報に格納されているネットワークパケット受信先の識別番号と、現在送ろうとしているパケットの受信先識別番号との一致、不一致を調べることによって行う。
 本発明の第5の態様においては、前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報が保持されているか否かの判定を、前記タグ情報に格納されているネットワークパケット受信先のアドレス情報と、現在送ろうとしているパケットの受信先アドレスとの一致、不一致を調べることによって行う。
 本発明の第6の態様では、前記ネットワークインタフェースは、前記ルーティング情報と、前記ルーティング参照表上のアドレスとの一致、不一致を調べる論理に、アドレスビットの特定ビットを無視するためのマスクビットを、各ルーティング情報のタグ情報として付加し、マスクビットでマスクされたビット以外のアドレスの一致、不一致によってルーティング情報の有無の判定を行う。
<第7の態様>
 本発明の第7の態様では、Missが発生したときにルーティング参照表を書き換える動作を提案する。前記ネットワークインタフェースは、前記ルーティング情報が、前記ルーティング参照表上で不一致の際には、前記ルーティング参照表に、新たに要求のあったルーティング情報を登録して一致状態とした上で、前記ルーティング情報を、ネットワークパケットのフリット内の所定の位置にコピーして、ネットワークパケットを送出する。具体的な書き換え方法は、本発明の第8-13の態様で規定する。
<第8の態様>
 本発明の第8の態様では、規定されたIPに割り込みをかける。割り込み処理ハンドラは、Missを起こした受信側までのルートを計算もしくは規定のメモリ空間などからロードして、ルーティング参照表に新たに書き込む処理を行うことも可能である。あるいは、他のIPなどにルーティング参照表を更新するための割り込み要求などをかけることも可能である。これらは、それぞれのソフトウェア実装方針に依存するため、最大限の自由度を確保することができるが、ソフトウェアが処理に介在することから、一定の遅延が発生する。
<第9-12の態様>
 本発明の第9-12の態様では、ハードウェアによって、ルーティング参照表を書き換える手法を提案する。ハードウェアの参照方法としては、規定されたメモリ領域からルーティング情報をロードする、一定の論理に基づいたハードウェアによってルーティング計算を行う、ルーティング情報を得るための要求を他のIPに向けて行い、その応答によってルーティング情報を得る方法等が挙げられる。これらによって得られた情報により、必要に応じてルーティング参照表の必要なエントリを更新した上で、パケットを送信する。
 本発明の第9の態様では、前記ネットワークインタフェースは、前記ルーティング参照表上で不一致となった場合には、規定されたメモリから、一致するためのルーティング情報を読み出し、当該情報をルーティング参照表に登録する。
 本発明の第10の態様では、前記ネットワークインタフェースは、前記ルーティング情報がルーティング参照表上で不一致となった場合には、受信先情報から一致するためのルーティング情報を計算し、その結果をルーティング参照表に登録する。
 本発明の第11の態様では、前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知する。
 本発明の第12の態様では、前記ネットワークインタフェースは、前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する。
<第13の態様>
 本発明の第13の態様では、Missを生じさせた受信先を持ったパケットを、受信先を変更して送出する。これは、先願(特願2009-125580号、国際公開第2010/137572号)で示したルーティング方法を併用することにより、メインルータにおいて、再度ルーティングを行い、最終的に受信先にパケットを送信することを想定している。これにより、Missを生じさせた送信側のルーティング参照表は書き換える必要が、少なくとも、Missの発生時点ではなくなる。
<第14の態様>
 本発明の第14の態様は、これまでのMiss時の処理動作を複数用意しておき、動的もしくは、静的に、処理動作を、選択可能とするものである。すなわち、前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致の際、複数の処理動作が可能な機構を備え、予め指定したいずれか1つ又は複数の処理を行う。
<第15、16の態様>
 本発明の第15、16の態様では、低電力化や低コスト化のためルーティング参照表の一部エントリを工夫することを提案する。第15の態様では、前記ネットワークインタフェースは、前記ルーティング参照表の各々のエントリに対して、有効なエントリ数を変更する。第16の態様では、前記ネットワークインタフェースは、前記ルーティング参照表において、ルーティング情報との一致、不一致を判定する論理回路を無効化し、前記ネットワークパケットの送出を予め定められた一意のルーティングに基づいて動作させる。第15、16の態様では、一部エントリの電力供給を遮断したりして無効化することによって、消費電力を削減する。1エントリまで絞った上で、すべてのデータの送出先を決定することも可能で、この場合には、すべてのパケットを同一受信先に送ることになるものの、ルーティング参照表のHit/Miss判定論理で消費する電力を含めて省電力化が可能である。
<第17の態様>
 本発明の第17の態様では、外部要因によって、ルーティング情報を無効化したり更新したりする動作を提案する。これは、ルーティング情報無効化メッセージや更新メッセージが到着した際に、自らのルーティング参照表が当該ルーティング情報を保持しているか否かを、タグ情報を検索することによって判定し、Hitした場合には、無効化や更新など、ハードウェアによって暗黙的にルーティング参照表を書き換えるものである。これによって、不具合、混雑、電源切断などの生じたルートパスを回避する機能を実現することができる。以下、例示的な実施形態(exemplary embodiment)に即して説明する。
<一実施形態>
 図1は、本発明の一実施形態の構成を示す図である。図1には、ネットワークインタフェースの内部構造がブロック図にて示されている。図2は、本発明の一実施形態におけるルーティング参照表の詳細を示したブロック図である。なお、本発明の一実施形態において、ネットワークオンチップを利用したマルチコアチップの全体ブロック図は、図8のレベルでは同等であり、図8のネットワークインタフェース304中にルーティング参照表が含まれているものである。すなわち、図1のネットワークインタフェース1は、図8のネットワークインタフェース304に本発明を適用したものである。したがって、以下の説明では、ネットワークオンチップに関連して図8も適宜参照される。
<ネットワークインタフェース>
 図1を参照すると、ネットワークインタフェース1において、IPコアからのバス信号2は、バスインタフェース3に接続され、制御信号21、アドレス信号22、データ信号23にデコード、分離される。制御信号21、アドレス信号22は、制御FIFO(First In First Out)4に、データ信号23はデータFIFO5に格納される。
 制御FIFO4からは、受信側のIPを特定する識別子(主に、アドレス信号)をルーティング参照表7に、その他のアクセス制御情報を、情報生成ユニット(Information Genarator)8に送る。
 ルーティング参照表(Routing LUT)7は、ソースルーティングに基づくルーティング情報をパケット生成ユニット(Packet Composer)9に送る。
 情報生成ユニット(Information Generator)8は、制御信号情報をパケット生成ユニット9に送る。
 データFIFO5は、データの内容をパケット生成ユニット9に送る。
 パケット生成ユニット9は、パケット信号25をルータ(図8の302)に向けて送出する。
 一方、ルータ(図8の302)は、パケットを受領可能か否かの情報をバックプレッシャー信号(Back Pressure)24で、ネットワークインタフェース1に送っている。
 ネットワークインタフェース1において、パケット制御シーケンサ(Packet Control Sequenser)6は、これらの情報から、全体の制御を司る。ネットワークインタフェース1は、ルータ(図8の302)からのパケット26も受領する。
 受領したパケット26は、パケット分解ユニット(Packet Decomposer)10でデータ信号と制御信号に分離される。制御信号は、パケット解読ユニット(Packet Decoder)11でデコードされた上、制御FIFO12に格納され、データ信号は、直接、データFIFO13に格納される。
 制御FIFO12からは、制御信号27とアドレス信号28、データFIFO13からはデータ信号29が送出され、バスインタフェース(Bus I/F)3でバス信号を構成し、IPコア(図8の303)に向けてバス2でデータを送出する。
<ルーティング参照表>
 図2を参照すると、本発明の一実施形態において、ルーティング参照表41は、ルーティング情報テーブル42、アドレステーブル43、マスクテーブル44、有効ビット(Valid bit)45、照合論理46、Hit/Miss判定論理47、Miss時動作規定テーブル48、ルーティング情報有効化論理49を備えている。
 パケット受信先アドレス51に相当するルーティング情報が、ルーティング情報テーブル42で保持されているか否かを、適切なアドレステーブル43、マスクテーブル44、有効ビット45を照合論理46が参照し、Hit/Miss判定論理47によって判定する。
 Hitの際には、有効化信号52を有効化し、ルーティング情報53を送出する。
 一方、Missの際には、Miss時動作規定テーブル48に登録された動作に基づきMiss時動作指示信号54を出力する。
 以下、本発明の第1から第5の態様を詳細に説明するために、動作例を、ステップを追って説明する。以下の説明において想定するNoCを利用したSoCは、図8に示された16個のIPコアから構成されるSoCとし、表1に示したアドレス(ヘキサデシマル表示)がそれぞれのIP位置に均等に割り付けられるものとする。また、ルーティング情報は表2に従って、各ホップ毎に、3ビット(バイナリ表示)でエンコーディングされるものとする。
(表1)アドレスとIPの位置(ID番号)対応表
Figure JPOXMLDOC01-appb-I000001
(表2)ルーティング情報のエンコーディング表
Figure JPOXMLDOC01-appb-I000002
 本実施例によれば、NoCは、図8に示すように、4x4のメッシュ構造とされる。この場合、最短ルートのルーティングを行うとすれば、ルータホップ数(経由するルータ数)は7となる。
<フリット>
 したがって、図3に示すようなルーティング情報を、先頭フリット(フリット0)に書き込むものとする。パケットボティ信号において、ホップ数のフィールドは、7エントリとしている。特に制限されないが、図3に示すフリットにおいて、サイドバンド信号の属性61(フリット属性信号フィールド)は、先頭フリット(フリット0)を示している。また、パケットボディ信号は、受信先IP位置情報62(11ビット)とルーティング情報63から構成される。ホップ数は各3ビットであり、7ホップ分を収容するため、ルーティング情報63として、第0ビット(LSB)から20ビット(3x7ビット)が割当てられている。
 ルータ302は、hop0に位置するルーティング情報63を読み取り、パケットの出力先を決定すると共に、次のルータのルーティングに備え、図3のルーティング情報63を1エントリ分、右シフトする。すなわち、hop1の情報はhop0に、hop2の情報はhop1にという処理(右シフト)を行うことにより、次段のルータ302も、同様に、hop0に位置するルーティング情報63を読み取ることによって、ルーティングを行うことができる。
<ルーティング参照表41>
 特に制限されないが、以下では、ルーティング参照表41が一例として3エントリから構成されるものとする。図8において、A1に位置するネットワークインタフェースのルーティング参照表41が、A2、D3、D4へのルーティング情報を保持しているものとすると、ルーティング参照表41は、図4に示す内容となる。
<ルーティング参照表41:Hit動作>
 ここで、図8のA1のIPコア303が、図8のA2に位置するIPコアにメッセージを送信する場合、アドレスの上位4ビットは0x1となる。これはエントリ0に該当するルーティング情報42に相当する。
 従って、ルーティング参照表41は、Hitであると、Hit/Miss判定論理47は判断し、エントリ0のルーティング内容”IP、S”がルーティング情報53として出力され、最終的に、パケット生成ユニット9(図1)により、図5に示す、先頭フリット(フリット0)が生成される。サイドバンドの属性信号61は100で先頭フリットを示し、パケットボディ信号のルーティング情報63(LSBから20ビット)は、ルーティング参照表41のエントリ0のルーティング情報42の内容”IP,S”が0ビット(LSB)から5ビットに格納される。
 Hit/Miss判定論理47は、マスクテーブル44のマスク値により比較するビット位置を決定することができるため、1エントリでアドレスをマッチする範囲を調整することができる。
<ルーティング参照表41:Miss>
 一方、図8のA1のIPコア303が、図8のB3に位置するIPコアにメッセージを送信する場合、B3に位置するIPへのアクセスが行われ、これは、表1によれば、アドレスの上位4ビットは0x6となる。このエントリは、図4に示すルーティング参照表41には、該当するエントリが存在しない。これは、本発明の最も基本的な特徴の1つであり、すべての送信先に対するルーティング情報をルーティング参照表を保持せず、エントリが存在しない場合には、Missの処理を行う。
 このMiss判定は、Hit時と同様に、Hit/Miss判定論理47によって行われる。ここでは、Missと判定される。
 Missと判定された結果、図2のMiss時動作規定テーブル48の参照が行われる。Miss時動作規定テーブル48は、Missを起こした際に、ネットワークインタフェース1がどのような動作を行うかを規定する情報を保持するテーブル論理である。
 Miss時動作規定テーブル論理48は、必要に応じて、ハードウェアに追加することも可能である。あるいは、Miss時の動作を、常時、固定的とする場合には、書き換え可能なテーブルとする必要はない。以下、Miss時に採りうる動作について説明する。
 まず、本発明の第8の態様として提案した構成では、図8において、当該ネットワークインタフェース304から、IPコア303に対して、ルーティング参照表41を更新するための割り込みを要求する。
 IPコア303は、基本的に、対応するネットワークインタフェース304に接続されたものとなるが、他のIPコア303に割り込みをかけることを何等否定するものではない。
 割り込みをかけられた側の他のIPコア303(図8)においては、割り込み処理ハンドラ(プログラム)によって、ルーティング参照表41(図2、図4)のミス要因を特定する。ここで、割り込み処理ハンドラは、アクセスの上位4ビットが0x6であることを、割り込み要因レジスタ等を読み出すことによって特定できる。
 このため、次に、割り込み処理ハンドラでは、A1からB3(図8)へのルーティング情報を求める。これは、単純な次元順ルーティングであれば、プログラムによって計算でも求めることが可能である。あるいは、メモリ等(ネットワークインタフェース304に実装される)にあらかじめ格納したデータをロードするようにしてもよい。ここでは、図8のA1からB3へのルーティングは、
 S→S→E→IP
 である(A1→A2→A3とY方向に+2、X方向に+1ホップ)。
 B3へのルーティング情報を求めた割り込み処理ハンドラは、図4のルーティング参照表41において、例えばエントリ2の置き換えを決定し、ルーティング参照表41は、図6に示す内容に更新される。テーブルのエントリ書き換え規則は、本発明では、特に規定しないが、キャッシュメモリやTLBなどの類似の機構が採っている手法(置換アルゴリズム)(例えばLRU(Least Recently Used))を採用することが可能である。
 割り込み処理ハンドラによるルーティング参照表41の更新は、ソフトウェアによる処理のため自由度が高い。従って、ネットワークの混雑情報や故障情報などをソフトウェアが収集することによって、受信先のIPが同じでも複数のルーティング候補が考えられる場合には、より柔軟なルーティング情報をルーティング参照表41に書き込むことが可能である。
 また、何らかの追加ハードウェアによってネットワークの形状が拡張された際にも対応が容易である。一方で、ソフトウェアに割り込みをかけることにより、処理時間のオーバヘッドが大きくなる。そこで、ハードウェアによって、Miss時の処理を行う方法を提案しているのが、本発明の第9乃至第12の態様である。
 第9の態様では、Missが生じた際に、あらかじめ設定している安価なメモリデバイスにハードウェアによってアクセスを行い、ルーティング情報をロードし、ルーティング参照表41を書き換える。この場合、当該安価なメモリデバイスはネットワークインタフェース1から直接アクセスできる必要がある。
 ルーティング参照表41のエントリ数を増加させる方が効率的な可能性も生じるが、メモリデバイスにはデータを圧縮して格納すれば、メモリ収納効率を向上させることも可能である。
 本発明の第10の態様では、メモリデバイスからロードする替わりに、ルーティングをハードウェアによって計算することによって、ルーティング情報を生成して、ルーティング参照表41を書き換えるものである。
 図8に示した例では、ネットワークの形状やメモリ空間のアロケーションが規則的であるため、比較的簡単な論理で計算することが可能である。例えば、先のB3への計算論理であるが、A1からは、X方向に+1、Y方向に+2ホップ進んだところに、受信先があるということが、表1のようなアドレスと、IPの位置(ID番号)対応表からわかる。E方向1回とS方向2回をルーティングとして組み合わせればよいことがわかる。
 あとは、NS方向とEW方向のどちらを優先するかあらかじめ決められた論理もしくは動的なネットワーク状況を鑑みた上で決定する。
 例えば、
 S→S→E→IPや
 E→S→S→IP
 などのルーティングが計算される。
<Miss時のその他の態様例>
 一方で、本発明の第11、12の態様では、Miss時に、他のIPコアにルーティング計算を依頼したり、他のIPコアが保持するルーティング情報をロードしたりする際の処理を提案するものである。
 本発明の第9、10の態様では、主に、Missを生じたネットワークインタフェース1内で、ハードウェアがルーティング計算を処理したが、このような能力を持ったハードウェア論理をチップ中の1ないし数個に集約することも可能である。本発明の第9、10の態様では、このハードウェア論理と各ネットワークインタフェース1との間は、専用の制御信号などで接続することを想定している。
 一方、このような専用信号を用いることは、チップのコストアップ、設計複雑度の上昇を招くことになる。そこで、本発明の第11、12の態様では、この問題に対処するため、通常のネットワークオンチップ上で、ルーティング情報を得るための特別なパケットを転送することを提案する。
 まず、Missが発生した際には、あらかじめ規定されているもしくはレジスタなどで指定されているIPに向けて、
 ルーティング情報Missの発生と、
 送信元、受信先のIP位置
 を記録した特別なルーティング情報要求パケットを生成して、Missを生じたパケットよりも前に送信する。
 当該ルーティング情報要求パケットを受領したIPは、パケットを解釈することにより、必要なルーティング情報を計算もしくはロードし、要求に従ったルーティング情報を、ルーティング情報回答パケットとして、要求されたIPへ送信する。
 当該ルーティング情報回答パケットを受領したネットワークインタフェース1は、特別なパケットであることを、パケット解読ユニット11(図1)が把握し、受領したルーティング情報を直接ルーティング参照表7中のルーティング情報42(図2)に書き込む。この動作の後に、前記Missしたパケットの送信を行う。
 これらの特別なルーティング情報要求パケット、ルーティング情報回答パケットに関わる処理はハードウェアによって実行されることを前提にしているが、割り込み処理ハンドラのようなソフトウェアによって生成することも可能である。これは本発明の第8の態様に含まれる。
 本発明においては、他のIPにルーティング情報を要求し、その回答を待って、Miss状態を解消させた上で本来の交信パケットが送信されることになるが、一方で、先願(特願2009-125580号、国際公開第2010/137572号)発明を併用することも可能である。本発明の第13の態様がこれに該当する。
 第13の態様によれば、Missが生じたときには、本来の受信先とは異なり、あらかじめ規定されたルーティング情報を持ったIPコア、もしくはそのルータを受信先として、Missしたパケットを送信する。
 受領したIPコア、もしくはそのルータは、本来の受信先までのルーティングを再度行い、先頭フリット(フリット0)に記入し直すことによって、当該Missしたパケットを本来の受信先に再送する。
 これにより、ルーティング情報42を書き直すことなく、Missしたパケットも転送することが可能になる。これは、ごく稀に発生する通信によって、参照テーブルのルーティング情報42中の高頻度参照ルーティング情報が追い出されることを防ぐ意味もある。 もちろん、本発明の第1-12の態様においても、正しいルーティング情報を得た後に、Missを生じさせたパケットの先頭フリット(フリット0)のみに、ルーティング情報を記入し、ルーティング情報42を書き直さないとする手法を選択することも可能である。
 以上、第1~第13の態様によるMiss時の処理方法は、それぞれ単独にSoC上のネットワークインタフェース上に実装することも可能であるが、複数の動作をシステム的にサポートするようにし、現在のMiss時動作をMiss時動作規定テーブル48に設定しておくことにより、より柔軟にシステム状況に応じたNoCの制御が可能になる。
<低電力化、低コスト化対応の態様例>
 さらに、第15-16の態様では、低電力化や低コスト化のため、ルーティング参照表41のエントリ数や論理を制御することを提案する。
 本実施例では、電源スイッチでは、図7に示すように、電源スイッチを設けて、省電力化を図るように適用している。図7は、本発明の第15-16の態様におけるルーティング参照表のブロック図である。
 図7を参照すると、ルーティング参照表81は、図2のルーティング参照表41とほぼ同等であるが、電源スイッチ82、83、84によって、各々制御される個別電源領域85、86、87が存在する。
 個別電源領域85、86、87は、電源スイッチ82、83、84のOn/Off制御により、不要なときには、電源を遮断し、主に、リーク電流を削減することができる。
 まず、ルーティング情報テーブル42のエントリ数が、現在の当該IPコアにおける交信パターンに対して過剰である時には、電源スイッチ82や83を切り、個別電源領域85、86に対する電源供給を遮断する。
 こうすることで、ルーティング参照表81のルーティング情報テーブル42の数(エントリ数)が削減されるが、交信パターンが特定のIPコアに対してのみに限られる場合には有効である。この場合、電源を遮断したルーティング情報テーブル42のエントリに対応する有効ビット(Valid bit)45は、無効にする必要がある。
 さらに、ルーティング情報テーブル42の電源遮断により、有効なルーティング情報が1エントリしかなくなった場合、かつ当該IPコアの交信先が1つのIPコアに限定される場合には、Hit/Miss判定論理47やMiss時動作規定テーブル48が含まれる個別電源領域87を、電源スイッチ84をOffにして遮断することも可能である。
 この場合、アドレス比較、有効性比較等は行わず、すべての送信パケットが同一のIPコアに向けてルーティングされる。これにより、アドレス比較、有効性比較に用いられる電力を含めて省電力化が可能である。
 本発明の第17の態様は、ルーティング情報テーブル42の特定のエントリを外部から無効化するものである。本発明の第17の態様は、本発明の第12の態様の動作と似ているが、第12の態様では、ルーティング情報回答パケットにより、ルーティング情報テーブル42に新たなルーティング情報を登録するものであったが、障害や混雑など他の要因から、既存のルーティング情報を更新したり、無効化したりする必要が生じる可能性もある。
 そこで、本発明の第17の態様では、これらに対処すべく、特別なルーティング情報更新パケット、ルーティング情報無効化パケットという特殊なパケットを定義、用意する。
 これらのパケット(ルーティング情報更新パケット、特殊パケット等)を、ネットワークインタフェース1(図1)が受信した場合には、特別なパケットであることを、パケット解読ユニット11(図1)が把握し、受領したルーティング情報を、直接、ルーティング参照表41中のルーティング情報42を更新したり、無効化したりする。これにより、NoC全体の制御を一つないし数個のIPコアからのメッセージパケット送信によって行うことが可能となり、より機動性に富んだ制御が可能になる。
 なお、上記の特許文献、非特許文献、先願(特願2009-125580号、国際公開第2010/137572号)の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
 特に制限されるものではないが、上記した本発明の実施形態は、以下のように付記される。
 (付記1)
 情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、ネットワークインタフェース、交信チャネル、ルータから構成されるネットワークにて前記ユニット間を接続し、前記ユニット間での情報交信を、該情報を搭載したパケットを前記ネットワークを介して送受することで行うオンチップネットワークの前記ネットワークインタフェースが、ルーティング情報を保持するルーティング参照表を備え、
 前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
 ルーティング時に、前記ルーティング参照表に、該ルーティングに必要なルーティング情報が保持されているか否かを判定する、ことを特徴とするネットワークルーティング方法。
(付記2)
 前記ルーティング参照表は、書き換え可能なデバイスを備え、
 ルーティング情報を検索するためのタグ情報を具備する、ことを特徴とする付記1記載のネットワークルーティング方法。
(付記3)
 前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表に必要なルーティング情報が保持されていると判断した場合に、
 前記ルーティング参照表が保持している前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記1又は2記載のネットワークルーティング方法。
(付記4)
 前記タグ情報に格納されているネットワークパケット受信先の識別番号と、現在送ろうとしているパケットの受信先識別番号との一致、不一致を調べることによって、前記ルーティング参照表において必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記1又は2記載のネットワークルーティング方法。
(付記5)
 前記タグ情報に格納されているネットワークパケット受信先のアドレス情報と、現在送ろうとしているパケットの受信先アドレスとの一致、不一致を調べることによって、前記ルーティング参照表に必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記2記載のネットワークルーティング方法。
(付記6)
 前記ルーティング情報と、前記ルーティング参照表に登録されているルーティング情報のアドレスとの一致、不一致を調べる論理に、アドレスビットの予め定められた特定ビットを無視するためのマスクビットを、各ルーティング情報のタグ情報として付加し、
 前記マスクビットでマスクされたビット以外のアドレスの一致、不一致によってルーティング情報の有無の判定を行う、ことを特徴とする付記5記載のネットワークルーティング方法。
(付記7)
 前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
 前記ルーティング参照表に、新たに要求のあったルーティング情報を登録し、必要なルーティング情報と前記ルーティング参照表のルーティング情報を一致した状態とした上で、前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記1乃至6のいずれか一に記載のネットワークルーティング方法。
(付記8)
 前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
 他の情報処理ユニットに対して割り込みをかける、ことを特徴とする付記1乃至7のいずれか一に記載のネットワークルーティング方法。
(付記9)
 前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
 予め規定されたメモリから対応するルーティング情報を読み出し、該読み出したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする付記1乃至8のいずれか一に記載のネットワークルーティング方法。
(付記10)
 前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
 受信先情報からルーティング情報を計算し、該計算したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする付記1乃至8のいずれか一に記載のネットワークルーティング方法。
(付記11)
 前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、
 不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知することを特徴とする付記1乃至8のいずれか一に記載のネットワークルーティング方法。
(付記12)
 前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する、ことを特徴とする付記1乃至11のいずれか一に記載のネットワークルーティング方法。
(付記13)
 前記ルーティング情報が前記ルーティング参照表上で不一致の際には、予め規定されたネットワークの他の地点に接続された情報処理ユニットに、当該パケットを送信する、ことを特徴とする付記1乃至12のいずれか一に記載のネットワークルーティング方法。
(付記14)
 前記ルーティング情報がルーティング参照表上で不一致の際の動作は、複数の動作が可能な機構を備え、予め指定したいずれか1つ又は数個の処理を行う、ことを特徴とする付記1乃至13のいずれか一に記載のネットワークルーティング方法。
(付記15)
 前記ルーティング参照表の各々のエントリに対して、有効なエントリ数を変更する、ことを特徴とする付記1乃至14のいずれか一に記載のネットワークルーティング方法。
(付記16)
 前記ルーティング参照表において、ルーティング情報との一致、不一致を判定する論理回路を無効化し、すべてのネットワークパケットの送出を予め定められた一意のルーティングに基づいて動作させる、ことを特徴とする付記1乃至15のいずれか一に記載のネットワークルーティング方法。
(付記17)
 前記ネットワークインタフェースは、前記ルーティング参照表の無効化は又は更新の要求を行うネットワークの制御パケットを作成し、
 前記ネットワークインタフェースが前記制御パケットを受領した際には、前記制御パケットの内容に従って、前記ルーティング参照表のルーティング情報を又は更新する、ことを特徴とする付記1乃至16のいずれか一に記載のネットワークルーティング方法。
(付記18)
 情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置において、
 前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
 前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とする半導体装置。
(付記19)
 前記ルーティング参照表は、書き換え可能なデバイスを備え、
 ルーティング情報を検索するためのタグ情報を具備する、ことを特徴とする付記18記載の半導体装置。
(付記20)
 前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表に必要なルーティング情報が保持されていると判断した場合に、
 前記ルーティング参照表が保持している前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記18又は19記載の半導体装置。
(付記21)
 前記ネットワークインタフェースは、前記タグ情報に格納されているネットワークパケット受信先の識別番号と、現在送ろうとしているパケットの受信先識別番号との一致、不一致を調べることによって、前記ルーティング参照表において必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記19記載の半導体装置。
(付記22)
 前記ネットワークインタフェースは、前記タグ情報に格納されているネットワークパケット受信先のアドレス情報と、現在送ろうとしているパケットの受信先アドレスとの一致、不一致を調べることによって、前記ルーティング参照表に必要なルーティング情報が保持されているか否かの判定を行う、ことを特徴とする付記19記載の半導体装置。
(付記23)
 前記ネットワークインタフェースにおいて、前記ルーティング情報と、前記ルーティング参照表に登録されているルーティング情報のアドレスとの一致、不一致を調べる論理に、アドレスビットの予め定められた特定ビットを無視するためのマスクビットが、各ルーティング情報のタグ情報として付加されており、
 前記マスクビットでマスクされたビット以外のアドレスの一致、不一致によってルーティング情報の有無の判定を行う、ことを特徴とする付記22記載の半導体装置。
(付記24)
 前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、前記ルーティング参照表に、新たに要求のあったルーティング情報を登録し、必要なルーティング情報と前記ルーティング参照表のルーティング情報を一致した状態とした上で、前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする付記18乃至23のいずれか一に記載の半導体装置。
(付記25)
 前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、他の情報処理ユニットに対して割り込みをかける、ことを特徴とする付記18乃至24のいずれか一に記載の半導体装置。
(付記26)
 前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、予め規定されたメモリから対応するルーティング情報を読み出し、該読み出したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする付記18乃至25のいずれか一に記載の半導体装置。
(付記27)
 前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、受信先情報からルーティング情報を計算し、該計算したルーティング情報を前記ルーティング参照表に登録する、
 前記ネットワークインタフェースは、前記ルーティング情報がルーティング参照表上で不一致となった場合には、受信先情報から一致するためのルーティング情報を計算し、その結果をルーティング参照表に登録する、ことを特徴とする付記18乃至25のいずれか一に記載の半導体装置。
(付記28)
 前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、
 不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知することを特徴とする付記18乃至25のいずれか一に記載の半導体装置。
(付記29)
 前記ネットワークインタフェースは、前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する、ことを特徴とする付記18乃至28のいずれか一に記載の半導体装置。
(付記30)
 前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致の際には、予め規定されたネットワークの他の地点に接続された情報処理ユニットに、当該パケットを送信する、ことを特徴とする付記18乃至29のいずれか一に記載の半導体装置。
(付記31)
 前記ネットワークインタフェースは、前記ルーティング情報がルーティング参照表上で不一致の際の動作は、複数の動作が可能な機構を備え、予め指定したいずれか1つ又は数個の処理を行う、ことを特徴とする付記18乃至30のいずれか一に記載の半導体装置。
(付記32)
 前記ネットワークインタフェースは、前記ルーティング参照表の各々のエントリに対して、有効なエントリ数を変更する、ことを特徴とする付記18乃至31のいずれか一に記載の半導体装置。
(付記33)
 前記ネットワークインタフェースは、前記ルーティング参照表において、ルーティング情報との一致、不一致を判定する論理回路を無効化し、前記ネットワークパケットの送出を予め定められた一意のルーティングに基づいて動作させる、ことを特徴とする付記18乃至32のいずれか一に記載の半導体装置。
(付記34)
 前記ネットワークインタフェースは、前記ルーティング参照表の無効化は又は更新の要求を行うネットワークの制御パケットを作成し、
 前記ネットワークインタフェースが前記制御パケットを受領した際には、前記制御パケットの内容に従って、前記ルーティング参照表のルーティング情報を又は更新する、ことを特徴とする付記18乃至33のいずれか一に記載の半導体装置。
 1 ネットワークインタフェース
 2 バス(IPコアとネットワークインタフェースを結ぶバス)
 3 バスインタフェース
 4 制御FIFO
 5 データFIFO
 6 パケット制御シーケンサ
 7 ルーティング参照表
 8 情報生成ユニット
 9 パケット生成ユニット
 10 パケット分解ユニット
 11 パケット解読ユニット
 12 制御FIFO
 13 データFIFO
 21 制御信号
 22 アドレス信号
 23 データ信号
 24 バックプレッシャー信号
 25 パケット
 26 パケット
 27 制御信号
 28 アドレス信号
 29 データ信号
 41 ルーティング参照表
 42 ルーティング情報テーブル
 43 アドレステーブル
 44 マスクテーブル
 45 有効ビット
 46 照合論理
 47 Hit/Miss判定論理
 48 Miss時動作規定テーブル
 49 ルーティング情報有効化論理
 51 パケット受信先アドレス
 52 有効化信号
 53 ルーティング情報
 54 Miss時動作指示信号
 61 フリット属性信号フィールド
 62 受信先IP位置情報などフィールド
 63 ルーティング情報フィールド
 81 ルーティング参照表
 82、83、84 電源スイッチ
 85、86、87 個別電源領域
 301 マルチコアSoC(System on a Chip)
 302 ルータ
 303 IPコア
 304 ネットワークインタフェース
 305 通信チャネル
 321 パケットボディ信号
 322 サイドバンド信号(フリット属性情報)
 323 受信先(ターゲット)IP位置情報
 324 フリット長
 325 制御情報
 326 アクセスアドレス
 327 アクセス属性
 328 データ
 341 DID(Destination IDs)
 342 Chained Header
 361 CPU
 362 ネットワークインタフェース
 363 参照表
 364、365 ルータ
 366 ネットワークインタフェース
 367 参照表
 368 メモリ
 381 ルーティング情報テーブル
 382 パケット受信先アドレス
 383 ルーティング情報
 402 ネットワークインタフェース
 403 メインルータ
 404 サブルータ

Claims (10)

  1.  情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続される半導体装置であって、
     前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
     前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
     ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とする半導体装置。
  2.  前記ルーティング参照表は、書き換え可能なデバイスを備え、
     前記ルーティング情報を検索するためのタグ情報を具備する、ことを特徴とする請求項1記載の半導体装置。
  3.  前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定し、前記ルーティング参照表に必要なルーティング情報が保持されていると判断した場合に、
     前記ルーティング参照表が保持している前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする請求項1又は2記載の半導体装置。
  4.  前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
     前記ルーティング参照表に、新たに要求のあったルーティング情報を登録し、必要なルーティング情報と前記ルーティング参照表のルーティング情報を一致した状態とした上で、前記ルーティング情報を、ネットワークパケットのフリットに付与してパケットを送出する、ことを特徴とする請求項1乃至3のいずれか一に記載の半導体装置。
  5.  前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
     他の情報処理ユニットに対して割り込みをかける、ことを特徴とする請求項1乃至4のいずれか一に記載の半導体装置。
  6.  前記ネットワークインタフェースは、前記ルーティング参照表に必要なルーティング情報の有無を判定した結果、必要なルーティング情報が前記ルーティング参照表に保持されていない場合、
     受信先情報からルーティング情報を計算し、該計算したルーティング情報を前記ルーティング参照表に登録する、ことを特徴とする請求項1乃至5のいずれか一に記載の半導体装置。
  7.  前記ネットワークインタフェースは、前記ルーティング情報が前記ルーティング参照表上で不一致となった場合には、予め定められたパケットを生成して、当該パケットを前記情報処理ユニットに送出し、
     不一致となった状況を、ネットワークの他の地点に接続された情報処理ユニットに通知する、ことを特徴とする請求項1乃至5のいずれか一に記載の半導体装置。
  8.  前記ネットワークインタフェースは、前記ルーティング参照表の書き換えの要求を行うネットワークの制御パケットを定義し、ネットワークインタフェースが上記制御パケットを受領した際には、パケットの内容に従ってルーティング情報を登録する、ことを特徴とする請求項1乃至7のいずれか一に記載の半導体装置。
  9.  情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続されるシステムのネットワークルーティング方法であって、
     前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
     前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とするネットワークルーティング方法。
  10.  情報処理ユニット、記憶ユニット、インタフェースユニットのうちの少なくとも一つのユニットを複数備え、交信チャネルとルータから構成されるオンチップネットワークと前記ユニットはネットワークインタフェースを介して接続されるネットワークシステムであって、
     前記ネットワークインタフェースは、前記オンチップネットワークの所望経路上に存在する各ルータにおいてどの交信チャネルへ出力するかを、ルータ個々に指定した一又は複数の出力情報から構成されるルーティング情報を保持するルーティング参照表を備え、
     前記ルーティング参照表は、前記ルーティング参照表の属するネットワークインタフェースが送信する可能性があるネットワーク交信のルーティング情報のうちの一部を保持し、
     ルーティング時、該ルーティングに必要なルーティング情報が前記ルーティング参照表に保持されているか否かを判定する、ことを特徴とするネットワークシステム。
PCT/JP2011/061831 2010-05-24 2011-05-24 半導体装置とネットワークルーティング方法とシステム WO2011148925A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012517269A JPWO2011148925A1 (ja) 2010-05-24 2011-05-24 半導体装置とネットワークルーティング方法とシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-118084 2010-05-24
JP2010118084 2010-05-24

Publications (1)

Publication Number Publication Date
WO2011148925A1 true WO2011148925A1 (ja) 2011-12-01

Family

ID=45003915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/061831 WO2011148925A1 (ja) 2010-05-24 2011-05-24 半導体装置とネットワークルーティング方法とシステム

Country Status (2)

Country Link
JP (1) JPWO2011148925A1 (ja)
WO (1) WO2011148925A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015535991A (ja) * 2012-09-25 2015-12-17 クゥアルコム・テクノロジーズ・インコーポレイテッド チップソケットプロトコル上のネットワーク
JP5943115B1 (ja) * 2015-03-27 2016-06-29 日本電気株式会社 集積回路、半導体装置、カード及びデータ転送方法
JP2021052385A (ja) * 2019-08-16 2021-04-01 ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited システムオンチップのためのアドレス指定メカニズム
WO2022085409A1 (ja) * 2020-10-20 2022-04-28 株式会社オートネットワーク技術研究所 車載装置、車載通信システムおよび通信制御方法
JP7491180B2 (ja) 2020-10-20 2024-05-28 株式会社オートネットワーク技術研究所 車載装置、車載通信システムおよび通信制御方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197111A (ja) * 1992-10-26 1994-07-15 Hitachi Ltd インタネットワーク装置
JPH06261078A (ja) * 1993-03-03 1994-09-16 Hitachi Ltd テーブル検索方法及びルータ装置
JPH07273787A (ja) * 1994-03-30 1995-10-20 Sumitomo Electric Ind Ltd ルーティング情報管理方式
JP2001045061A (ja) * 1999-08-02 2001-02-16 Hitachi Ltd 通信ノード装置
JP2003078555A (ja) * 2001-09-04 2003-03-14 Nec Corp 適応的ネットワーク負荷分散方式およびパケット交換装置
JP2004023450A (ja) * 2002-06-17 2004-01-22 Nec Corp ルータ装置
JP2004193720A (ja) * 2002-12-09 2004-07-08 Yaskawa Electric Corp 中継装置
JP2004221807A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd 分散ルーティングテーブル管理方式およびルータ
JP2009110512A (ja) * 2007-10-29 2009-05-21 Internatl Business Mach Corp <Ibm> ネットワークオンチップ、およびネットワークオンチップで以ってデータを処理する方法
WO2011030462A1 (ja) * 2009-09-14 2011-03-17 日本電気株式会社 通信システム、ノード、制御サーバ、通信方法およびプログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197111A (ja) * 1992-10-26 1994-07-15 Hitachi Ltd インタネットワーク装置
JPH06261078A (ja) * 1993-03-03 1994-09-16 Hitachi Ltd テーブル検索方法及びルータ装置
JPH07273787A (ja) * 1994-03-30 1995-10-20 Sumitomo Electric Ind Ltd ルーティング情報管理方式
JP2001045061A (ja) * 1999-08-02 2001-02-16 Hitachi Ltd 通信ノード装置
JP2003078555A (ja) * 2001-09-04 2003-03-14 Nec Corp 適応的ネットワーク負荷分散方式およびパケット交換装置
JP2004023450A (ja) * 2002-06-17 2004-01-22 Nec Corp ルータ装置
JP2004193720A (ja) * 2002-12-09 2004-07-08 Yaskawa Electric Corp 中継装置
JP2004221807A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd 分散ルーティングテーブル管理方式およびルータ
JP2009110512A (ja) * 2007-10-29 2009-05-21 Internatl Business Mach Corp <Ibm> ネットワークオンチップ、およびネットワークオンチップで以ってデータを処理する方法
WO2011030462A1 (ja) * 2009-09-14 2011-03-17 日本電気株式会社 通信システム、ノード、制御サーバ、通信方法およびプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015535991A (ja) * 2012-09-25 2015-12-17 クゥアルコム・テクノロジーズ・インコーポレイテッド チップソケットプロトコル上のネットワーク
JP5943115B1 (ja) * 2015-03-27 2016-06-29 日本電気株式会社 集積回路、半導体装置、カード及びデータ転送方法
US10027579B2 (en) 2015-03-27 2018-07-17 Nec Corporation Integrated circuit, semiconductor device, card and data transfer method
JP2021052385A (ja) * 2019-08-16 2021-04-01 ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited システムオンチップのためのアドレス指定メカニズム
JP7369104B2 (ja) 2019-08-16 2023-10-25 シーメンス インダストリー ソフトウェア インコーポレイテッド システムオンチップのためのアドレス指定メカニズム
WO2022085409A1 (ja) * 2020-10-20 2022-04-28 株式会社オートネットワーク技術研究所 車載装置、車載通信システムおよび通信制御方法
JP7491180B2 (ja) 2020-10-20 2024-05-28 株式会社オートネットワーク技術研究所 車載装置、車載通信システムおよび通信制御方法

Also Published As

Publication number Publication date
JPWO2011148925A1 (ja) 2013-07-25

Similar Documents

Publication Publication Date Title
KR101725755B1 (ko) 적응형 라우팅을 이용하여 자원 활용도를 제어하기 위한 메커니즘
US8214845B2 (en) Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US10169080B2 (en) Method for work scheduling in a multi-chip system
US8843706B2 (en) Memory management among levels of cache in a memory hierarchy
US8473667B2 (en) Network on chip that maintains cache coherency with invalidation messages
US8429325B1 (en) PCI express switch and method for multi-port non-transparent switching
US6490661B1 (en) Maintaining cache coherency during a memory read operation in a multiprocessing computer system
US6370621B1 (en) Memory cancel response optionally cancelling memory controller&#39;s providing of data in response to a read operation
US9219695B2 (en) Switch, information processing apparatus, and communication control method
JP5419107B2 (ja) マルチコア処理システム
JP2002304328A (ja) マルチプロセッサシステム用コヒーレンスコントローラ、およびそのようなコントローラを内蔵するモジュールおよびマルチモジュールアーキテクチャマルチプロセッサシステム
TW201339836A (zh) 資訊處理設備、算術裝置及資訊傳送方法
US9009372B2 (en) Processor and control method for processor
US20120054380A1 (en) Opportunistic improvement of mmio request handling based on target reporting of space requirements
US9164907B2 (en) Information processing apparatus, parallel computer system, and control method for selectively caching data
TWI502346B (zh) 根據窺探回應資訊之目錄快取分配技術
WO2011148925A1 (ja) 半導体装置とネットワークルーティング方法とシステム
US20070253410A1 (en) Integrated Circuit and Method for Packet Switching Control
US10938709B2 (en) Mechanism for dynamic latency-bandwidth trade-off for efficient broadcasts/multicasts
US9983994B2 (en) Arithmetic processing device and method for controlling arithmetic processing device
US10042766B1 (en) Data processing apparatus with snoop request address alignment and snoop response time alignment
JP2004260532A (ja) ネットワークプロセッサ
JP2012113604A (ja) 計算機システム、方法、及びi/oスイッチ
US11327890B1 (en) Partitioning in a processor cache
JP2004252838A (ja) データ転送方法およびこれによるネットワークシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11786624

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012517269

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11786624

Country of ref document: EP

Kind code of ref document: A1