Network-on-chip topological structure and method for sending routing request

By using a ring network topology and XOR operation to determine the routing path in the Spidergon structure, the network delay and bottleneck problems during Spidergon structure expansion are solved, and more efficient data transmission is achieved.

CN120200919APending Publication Date: 2025-06-24SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510396698.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2025-06-24

AI Technical Summary

Technical Problem

The existing Spidergon structure causes the data transmission network to be delayed when expanded, and the intermediate routing nodes become communication bottlenecks.

Method used

A new on-chip network topology is adopted to form a ring network topology through 2N sub-network topology, each sub-network topology includes M routing nodes, M≥3. The specific method is to obtain the number of the source routing node and the target routing node, determine the routing path through XOR operation, and send the routing request through adjacent subnet topology connections.

Benefits of technology

It effectively reduces the network delay of data transmission in the network, improves the efficiency of data transmission, and solves the delay and bottleneck problems when Spidergon structure is expanded.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120200919A_ABST
    Figure CN120200919A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an on-chip network topology structure and a method for sending a routing request, the network topology structure comprises: 2N sub-network topology structures, each sub-network topology structure comprises M routing nodes, N is an integer greater than 1, M is an integer greater than or equal to 3, and N is an integer greater than 1; the 2N sub-network topology structures are connected to form a ring network topology structure, and the M routing nodes in each sub-network topology structure are connected to form the ring network topology structure. According to the data transmission method and device, the problem of long network delay in the data transmission process in the prior art is solved, and the effect of reducing the network delay of data transmission in the network is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and more particularly, to an on-chip network topology structure and a method for sending routing requests. Background Art

[0002] On-chip networks have been widely used in on-chip systems because they can well overcome the limitations of bus structures in terms of latency, clock synchronization, scalability, etc.

[0003] The Spidergon structure is an easy-to-expand, regular, point-to-point planar topology structure and is one of the common structures in on-chip networks. It consists of multiple processor cores and interconnected communication channels, similar to a spider web, where the processor cores are located at the routing nodes of the grid, and the communication channels connect these routing nodes along the edges of the grid. Processor cores can communicate directly with adjacent cores or through multi-hop paths with distant cores, enabling data to be transmitted in the network through multiple paths.

[0004] Currently, the main expansion methods of the Spidergon structure are to connect two Spidergon structures through an intermediate routing node, or to expand each routing node in the Spidergon structure into a Spidergon structure. However, these expansion methods not only result in high network latency for data transmission, but the intermediate routing node connecting the two Spidergon structures also becomes a communication bottleneck.

[0005] In view of the above problems, there is currently no effective solution. Summary of the Invention

[0006] The embodiments of the present application provide an on-chip network topology structure and a method for sending routing requests to at least solve the problem of long network latency during data transmission in related technologies.

[0007] According to an embodiment of the present application, there is provided an on-chip network topology structure, including: 2N sub-network topology structures, each of the sub-network topology structures includes M routing nodes, where N is an integer greater than 1, and M is an integer greater than or equal to 3, and the 2N sub-network topology structures are connected to form a ring network topology structure, and the M routing nodes in each of the sub-network topology structures are connected to form a ring network topology structure.

[0008] In an exemplary embodiment, the 2N sub-network topology structures are connected to form a ring network topology structure, including: each of the sub-network topology structures is respectively connected to two adjacent sub-network topology structures and the sub-network topology structure located opposite to this sub-network topology structure.

[0009] In an exemplary embodiment, each of the sub-network topologies is connected to two adjacent sub-network topologies and the sub-network topology located opposite to it, including: three routing nodes in each of the sub-network topologies are respectively connected to corresponding routing nodes in two adjacent sub-network topologies and the sub-network topology located opposite to it.

[0010] In an exemplary embodiment, three routing nodes in each of the sub-network topologies are respectively connected to corresponding routing points in two adjacent sub-network topologies and the sub-network topology located opposite to it, including: the routing node numbered (i, j) in each of the sub-network topologies is connected to the routing node numbered (j, i) in two adjacent sub-network topologies and the sub-network topology located opposite to it, where i and j are the numbers of the sub-network topologies.

[0011] In an exemplary embodiment, it further includes: when N is 4, the numbers of the 2N sub-network topologies are successively: 0000, 0001, 0011, 0111, 1111, 1110, 1100, 1000.

[0012] According to another embodiment of the present application, a method for sending a routing request is provided, which is applied to an on-chip network topology and includes: when M is equal to 3, obtaining the number (i s , j s ) of the source routing node and the number (i D , j D ) of the target routing node; performing an exclusive OR calculation on i S and i D to obtain a first exclusive OR result; and sending the target routing request from the source routing node to the target routing node according to the first exclusive OR result.

[0013] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node according to the first exclusive OR result includes: when the first exclusive OR result is 0000, determining that the source routing node and the target routing node are located in the same target sub-network topology, and sending the target routing request to the target routing node inside the target sub-network topology.

[0014] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node according to the first exclusive-OR result further includes: when a non-zero value is included in the first exclusive-OR result, determining that a first sub-network topology structure where the source routing node is located is adjacent to a second sub-network topology structure where the target routing node is located; and sending the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure.

[0015] In an exemplary embodiment, sending the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure includes: when j S is equal to i D , sending the target routing request from the source routing node to the target routing node.

[0016] In an exemplary embodiment, sending the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure further includes: when j S is not equal to i D , in the first sub-network topology structure, sending the target routing request from the source routing node (i s , j s ) to the routing node (i s , i D ), and sending the target routing request to the routing node (i s , i D ) through the routing node (i D , i s ); when i s is not equal to j D , in the second sub-network topology structure, sending the target routing request to the target routing node (i D , j s ) through the routing node (i D , i D ).

[0017] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node according to the first exclusive-OR result further includes: when two non-zero values are included in the first exclusive-OR result, determining that a third sub-network topology structure exists between a first sub-network topology structure where the source node is located and a second sub-network topology structure where the target routing node is located; and sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure.

[0018] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure includes: splitting the first exclusive-OR result into two one-hot codes, where the two one-hot codes include: a first one-hot code and a second one-hot code; determining the number of the third sub-network topology structure according to the first one-hot code and the second one-hot code, and sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure.

[0019] In an exemplary embodiment, determining the number of the third sub-network topology structure according to the first one-hot code and the second one-hot code includes: performing exclusive-OR operations on the i S with the first one-hot code and the second one-hot code respectively to obtain a second exclusive-OR result and a third exclusive-OR result; determining the number of the third sub-network topology structure from the second exclusive-OR result and the third exclusive-OR result.

[0020] In an exemplary embodiment, determining the number of the third sub-network topology structure from the second exclusive-OR result and the third exclusive-OR result includes: determining the exclusive-OR result with consecutive 0s and 1s in the second exclusive-OR result and the third exclusive-OR result as the number of the third sub-network topology structure.

[0021] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure further includes: when the number of the third sub-network topology structure is Tri mid , sending the target routing request from (i s , j s ) to (i s , Tri mid ) in the first sub-network topology structure where the source routing node is located; sending the target routing request from (i s , Tri mid ) in the first sub-network topology structure to (Tri mid , i s ) in the third sub-network topology structure; sending the target routing request from (Tri mid , i s ) in the third sub-network topology structure to (Tri mid , i D ); sending the target routing request from (Tri mid , i D ) in the third sub-network topology structure to (i D , Tri mid ) in the second sub-network topology structure; when the Trimid When not equal to the said j D , in the case of (i D , Tri mid ) in the second sub-network topology structure, send the target routing request to the (i D , j D ).

[0022] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node according to the first exclusive-OR result further includes: when there are three non-zero values in the first exclusive-OR result, determining that there are two sub-network topology structures between the first sub-network topology structure where the source routing node is located and the second sub-network topology structure where the target routing node is located; sending the target routing request from the source routing node to the target routing node through the fourth sub-network topology structure located opposite the first sub-network topology structure.

[0023] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node through the fourth sub-network topology structure located opposite the first sub-network topology structure includes: performing an exclusive-OR operation on the i S and 1111 to obtain a fourth exclusive-OR result Tri now ; determining a routing node (i s , Tri now ) in the first sub-network topology structure, and sending the target routing request to the target routing node through the routing node (i s , Tri now ).

[0024] In an exemplary embodiment, sending the target routing request to the target routing node through the routing node (i s , Tri now ) includes: in the first sub-network topology structure, sending the target routing request from (i s , j s ) to (i s , Tri now ); sending the target routing request from (i s , Tri now ) in the first sub-network topology structure to (Tri now , i s ) in the fourth sub-network topology structure; sending the target routing request from (Tri now , i s ) in the fourth sub-network topology structure to (Tri now , i D); send the target routing request from (Tri now , i D ) in the fourth sub-network topology to (i D , Tri now ) in the second sub-network topology; when Tri now is not equal to j D , send the target routing request from (i D , Tri now ) in the second sub-network topology to (i D , j D ).

[0025] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node according to the first XOR result further includes: when the first XOR result contains four non-zero values, sending the target routing request from the source routing node to the target routing node through a fourth sub-network topology located opposite the first sub-network topology.

[0026] In an exemplary embodiment, sending the target routing request from the source routing node to the target routing node through a fourth sub-network topology located opposite the first sub-network topology includes: performing an XOR operation on i S and 1111 to obtain a fourth XOR result Tri now ; in the first sub-network topology, sending the target routing request from (i s , j s ) to (i s , Tri now ); sending the target routing request from (i s , Tri now ) in the first sub-network topology to (Tri now , i s ) in the fourth sub-network topology; when (Tri now , i s ) is not equal to (i D , j D ), send the target routing request from (Tri now , i s ) in the fourth sub-network topology to (i D , j D ).

[0027] According to another embodiment of the present application, there is also provided a device for sending a routing request, including: an obtaining module, configured to obtain the numbers of a source routing node (i s , j s ) and a destination routing node (i D , j D ) when M is equal to 3; a calculating module, configured to perform an exclusive OR calculation on the i S and the i D to obtain a first exclusive OR result; a sending module, configured to send a destination routing request from the source routing node to the destination routing node according to the first exclusive OR result.

[0028] According to still another embodiment of the present application, there is also provided a computer-readable storage medium, in which a computer program is stored, and the computer program is configured to execute the steps in any one of the above method embodiments when running.

[0029] According to still another embodiment of the present application, there is also provided an electronic device, including a memory and a processor, a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0030] According to still another embodiment of the present application, there is also provided a computer program product, including a computer program, and the computer program realizes the steps in any one of the above method embodiments when being executed by a processor.

[0031] Through the present application, there are 2N sub-network topologies, each sub-network topology includes M routing nodes, N is an integer greater than 1, M is an integer greater than or equal to 3, the 2N sub-network topologies are connected to form a ring network topology, and the M routing nodes in each sub-network topology are connected to form a ring network topology.

[0032] Since an Octagon network is combined with a network having a spidergon structure with three routing nodes to form a network-on-chip having 24 routing nodes, the number of Octagon routing nodes is tripled, the network scale is large, and at the same time, the out-degree, in-degree and network diameter of each routing node are small. Therefore, the problem of long network delay in the related art during data transmission can be solved, and the effect of reducing the network delay of data transmission in the network is achieved. Description of the Drawings

[0033] Figure 1 is a network topology diagram of a Spidergon structure according to an embodiment of the present application;

[0034] Figure 2It is a network topology diagram of the Octagon structure according to an embodiment of the present application;

[0035] Figure 3 It is a first network expansion method of the Octagon structure according to an embodiment of the present application;

[0036] Figure 4 It is a second network expansion method of the Octagon structure according to an embodiment of the present application;

[0037] Figure 5 It is a schematic diagram of the on-chip network topology structure according to an embodiment of the present application;

[0038] Figure 6 It is a schematic diagram of the sub-network topology structure with 3 routing nodes according to an embodiment of the present application;

[0039] Figure 7 It is a schematic diagram of cyclic shift according to an embodiment of the application;

[0040] Figure 8 It is a schematic diagram of the encoding method of the on-chip network according to an embodiment of the present application;

[0041] Figure 9 It is a hardware structure block diagram of a server device for a method of sending a routing request according to an embodiment of the present application;

[0042] Figure 10 It is a flowchart of a method of sending a routing request according to an embodiment of the present application;

[0043] Figure 11 It is a structure block diagram of a device for sending a routing request according to an embodiment of the present application. Detailed implementation manners

[0044] The on-chip network is an integrated circuit proposed at the end of the last century, which integrates processors, memories, input / output interfaces, and other key components. Because it can well overcome various limitations brought by the bus structure, the on-chip network has become one of the core technologies of modern electronic devices. Specifically, the on-chip network has the following advantages:

[0045] (1) The on-chip network borrows the network structure in computer networks. The entire network is connected by multiple point-to-point lines and will not interfere with each other, meeting the requirements of multiple user communications.

[0046] (2) The on-chip network adopts the method of global asynchrony and local synchrony to solve the clock synchronization problem. The local network can work at its own clock frequency, avoiding the global clock synchronization problem, solving the clock offset problem, and greatly reducing the power consumption of the network.

[0047] (3) The network-on-chip supports multi-point parallel transmission. Multiple lines of data can be transmitted simultaneously, with relatively high communication efficiency. Moreover, the addressing of the network-on-chip is completed within the local network, and the expansion of the network scale has little impact on addressing. The number of bits occupied by addressing in the bandwidth will not increase, and the bandwidth will not become a bottleneck for network scale expansion.

[0048] (4) The network-on-chip uses a random arbitration mechanism and does not have significant latency issues.

[0049] (5) The network-on-chip adopts a local decision-making strategy and distributively completes an independent functional unit in the line, with good reusability. At the same time, the routing devices in the network can also be used in multiple environments, with a very high degree of reusability.

[0050] All in all, due to the good reusability of network components, the network-on-chip has the characteristics of high cohesion, high scalability and portability, greatly shortening the system development time and improving the development efficiency, which is particularly important in current very large-scale network design.

[0051] The Spidergon structure is an easy-to-expand, regular, point-to-point planar topology and a new type of network structure in the network-on-chip. It is similar to the ring structure. The basic framework of the network is a ring, on which multiple routing nodes are hung. Each routing node is connected to a resource node and also connected to the two adjacent routing nodes on the left and right. In addition, it is also connected to the opposite routing node through the center of the ring. Each routing node has four links, and each link is composed of two unidirectional links.

[0052] In the Spidergon structure, the number of routing nodes in the network is an even number P = 2p (P = 2, 4,...). As Figure 1 shown, each node i (0 ≤ i < P) is connected to three other routing nodes through three unidirectional links, namely: clockwise connected to node (i + 1) mod P; counterclockwise connected to node (i - 1) mod P; cross-connected to node (i + p) mod P. Due to this topological structure, Spidergon has the advantages of convenient design, few connection numbers, low network complexity, and simple routing scheme.

[0053] At the same time, according to the Spidergon topology, a deterministic shortest path routing algorithm is defined: when the number of hops d required from the source routing node to the target routing node is d ≤ [P / 4], then move along the ring in the appropriate direction; when the number of hops d required from the source routing node to the target routing node is d > [P / 4], then use the cross-link to jump to the routing node on the opposite side of the network, and then move along the ring in the appropriate direction.

[0054] The Octagon structure is a special case of the Spidergon structure when P = 8. As Figure 2 shown, the most prominent feature of this structure is the short network distance. Communication between any two routing nodes can be completed in at most two steps, that is, the network diameter is 2.

[0055] Figure 3 is Network Expansion Method 1 of the Octagon structure according to an embodiment of the present application. As Figure 3 shown, it is a structure in which two Octagons are connected by an intermediate routing node. The network diameter of this structure is 6, and the maximum values of the out-degree and in-degree of the routing nodes are 4. However, the intermediate routing node of this structure will become a bottleneck for communication, resulting in a relatively high network latency.

[0056] Figure 4 is Network Expansion Method 2 of the Octagon structure according to an embodiment of the present application. In this expansion method, each routing node in an Octagon structure is expanded into an Octagon structure, and then the routing nodes at the corresponding positions are connected. The network diameter in this structure is 8. However, the wiring complexity of this method is too high, thus increasing the network latency.

[0057] Therefore, in order to solve the prominent bottlenecks of the above two expansion methods, taking the Octagon structure as an example, the present invention proposes a new expansion method, which effectively reduces the network latency of data transmission in the network.

[0058] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in conjunction with the embodiments.

[0059] It should be noted that the terms "first", "second", etc. in the description and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence.

[0060] In this embodiment, a network-on-chip topology structure is provided. Figure 5 is a schematic diagram of the network-on-chip topology structure according to an embodiment of the present application. As Figure 5 shown, it includes: 2N sub-network topology structures, each of the sub-network topology structures includes M routing nodes, N is an integer greater than 1, M is an integer greater than or equal to 3, the 2N sub-network topology structures are connected to form a ring network topology structure, and the M routing nodes in each of the sub-network topology structures are connected to form a ring network topology structure.

[0061] The above-mentioned network-on-chip can be composed of the combination of two Spidergon-structured networks. Among them, the main network can be a Spidergon-structured network, which includes 2N sub-networks, where N is an integer greater than 1. The 2N sub-networks in the main network topology are sequentially connected to form a ring. At the same time, each sub-network can be a Spidergon-structured network, which includes M routing nodes, where M is an integer greater than or equal to 3. The M routing nodes in the sub-network topology are also sequentially connected to form a ring.

[0062] As an optional implementation manner, M can take 3 and N can take 4. Among them, the main network topology is an Octagon structure, and the sub-network topology is a Spidergon structure with 3 routing nodes. Each sub-network topology is formed by circularly connecting three routing nodes. Each routing node in the main network topology is replaced by a sub-network topology, and all sub-network topologies are sequentially connected into a ring structure.

[0063] As an optional implementation manner, Figure 6 is a schematic diagram of the sub-network topology with 3 routing nodes according to the embodiment of the present application. As Figure 6 shown, this network is composed of three routing nodes, and each routing node is respectively connected to the routing nodes on its left and right sides.

[0064] Through the above network topology, the Octagon network is combined with the network with a spidergon structure containing three routing nodes to form a network-on-chip with 24 routing nodes, tripling the number of Octagon routing nodes and having a large network scale. At the same time, the out-degree and in-degree of each routing node are 3, and the network diameter is 5. Communication between any two nodes can be completed through fewer steps, solving the problem of long network delay during data transmission in the related art and reducing the network delay of data transmission in the network.

[0065] As an optional implementation manner, the 2N sub-network topologies are connected to form a ring network topology, including: each sub-network topology is respectively connected to the two adjacent sub-network topologies and the sub-network topology located opposite to this sub-network topology.

[0066] As an optional implementation manner, each sub-network topology is respectively connected to the two adjacent sub-network topologies and the sub-network topology located opposite to this sub-network topology, including: the three routing nodes in each sub-network topology are respectively connected to the corresponding routing nodes in the two adjacent sub-network topologies and the sub-network topology located opposite to this sub-network topology.

[0067] Specifically, a routing node numbered (i, j) in each of the sub-network topologies is connected to two adjacent sub-network topologies and a routing node numbered (j, i) in the sub-network topology opposite to this sub-network topology, where i and j are the numbers of the sub-network topologies.

[0068] As an alternative embodiment, when N = 4, the numbers of the 2N sub-network topologies are in sequence: 0000, 0001, 0011, 0111, 1111, 1110, 1100, 1000.

[0069] The numbers of the above-mentioned sub-network topologies can be obtained by cyclic shift of bit values. For example, Figure 7 is a schematic diagram of cyclic shift according to an embodiment of the application. As shown in Figure 7 it, the four bit positions with a value of 1 in the binary number "00001111" are cyclically shifted in order, and the values of the first four bit positions of the binary number after cyclic shift from left to right are determined as the numbers of each sub-network.

[0070] As an alternative embodiment, Figure 8 is a schematic diagram of the numbering method of the network-on-chip according to an embodiment of the present application. As shown in Figure 8 it, each sub-network in the network-on-chip is numbered in order, and according to the number of each sub-network, the number of each routing node in the sub-network is determined. For example, the sub-network numbered 0001 is respectively connected to the sub-networks numbered 0000, 0011, and 1110. The three nodes in sub-network 0001 are numbered (0001, 0000), (0001, 0011), and (0001, 1110) in sequence. Among them, the routing node (0001, 0000) is the routing node in sub-network 0001 connected to sub-network 0000, the routing node (0001, 0011) is the routing node in sub-network 0001 connected to sub-network 0011, and the routing node (0001, 0011) is the routing node in sub-network 0001 connected to sub-network 0011.

[0071] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 9 is a hardware structure block diagram of a server device for a method of sending a routing request according to an embodiment of the present application. As shown in Figure 9 it, the server device may include one or more ( Figure 9Only one processor 902 is shown (the processor 902 may include, but is not limited to, a processing device such as a microprocessor MCU or a field programmable gate array FPGA), and a memory 904 for storing data. Among them, the above server device may further include a transmission device 906 for communication functions and an input / output device 908. Those of ordinary skill in the art can understand that Figure 9 The structure shown is only schematic and does not limit the structure of the above server device. For example, the server device may further include more or fewer components than those Figure 1 shown in, or have a different configuration from Figure 9 that shown.

[0072] The memory 904 can be used to store computer programs. For example, software programs and modules of application software, such as the computer program corresponding to the method of sending a routing request in the embodiments of the present application. The processor 902 executes various functional applications and data processing by running the computer program stored in the memory 904, that is, implements the above method. The memory 904 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 904 may further include a memory remotely disposed relative to the processor 902, and these remote memories may be connected to the server device through a network. Examples of the above network include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.

[0073] The transmission device 906 is used to receive or send data via a network. Specific examples of the above network may include a wireless network provided by a communication provider of the server device. In one instance, the transmission device 906 includes a network adapter (abbreviated as NIC), which can be connected to other network devices through a base station and thus communicate with the Internet. In one instance, the transmission device 906 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0074] In this embodiment, a method for sending a routing request is provided, which is applied to the above on-chip network topology structure. Figure 10 It is a flowchart of the method for sending a routing request according to the embodiments of the present application, as Figure 10 shown, and the process includes the following steps:

[0075] Step S1002, when M is equal to 3, obtain the numbers of the source routing node (i s , j s ) and the target routing node (i D , jD );

[0076] The above-mentioned i S may be the number of the sub-network where the source routing node S is located, and j S may be the number of the sub-network connected to the source routing node S, and i D may be the number of the sub-network where the target routing node D is located, and j D may be the number of the sub-network connected to the target routing node D, and obtain the numbers of the source routing node and the target routing node.

[0077] Step S1004, perform an exclusive OR calculation on the said i S and the said i D to obtain a first exclusive OR result;

[0078] Step S1006, send the target routing request from the source routing node to the target routing node according to the first exclusive OR result.

[0079] Through the above steps, when M is equal to 3, obtain the numbers of the source routing node (i s , j s ) and the target routing node (i D , j D ); perform an exclusive OR on i S and i D to obtain a first exclusive OR result; send the target routing request from the source routing node to the target routing node according to the first exclusive OR result. Solve the problem of long data transmission delay in the prior art and improve the efficiency of data transmission.

[0080] Among them, the execution subject of the above steps may be a server, a terminal, etc., but is not limited thereto.

[0081] As an optional implementation manner, sending the target routing request from the source routing node to the target routing node according to the first exclusive OR result includes: when the first exclusive OR result is 0000, determine that the source routing node and the target routing node are located in the same target sub-network topology structure, and send the target routing request to the target routing node inside the target sub-network topology structure.

[0082] When the exclusive OR result of the above first exclusive OR is 0000, it indicates that i S and i D are exactly equal, the source routing node S and the target routing node D are located in the same sub-network. Since all routing nodes in each sub-network are pairwise connected, the target routing request can be directly sent from the source routing node to the target routing node.

[0083] As an optional implementation manner, sending the target routing request from the source routing node to the target routing node according to the first exclusive OR result further includes: when a non-zero value is included in the first exclusive OR result, determining that a first sub-network topology structure where the source routing node is located is adjacent to a second sub-network topology structure where the target routing node is located; sending the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure.

[0084] When a non-zero value is included in the exclusive OR result of the above first exclusive OR, such as 0001, 0010, 0100, etc., it indicates that the source routing node S and the target routing node D are located in two directly connected sub-networks, and through the two directly connected sub-networks, the source routing node sends the target routing request to the target routing node.

[0085] Specifically, when S j is equal to D i, send the target routing request from the source routing node to the target routing node.

[0086] The above j S may be the number of the sub-network connected to the source routing node S, and i D may be the number of the sub-network where the target routing node D is located. If j S and i D are equal, it indicates that the source routing node S is directly connected to the target routing node D, so directly send the target routing request from the source routing node to the target routing node.

[0087] As an optional implementation manner, sending the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure further includes: when S j is not equal to D i, in the first sub-network topology structure, send the target routing request from the source routing node (i s , j s ) to the routing node (i s , i D ), and send the target routing request to the routing node (i s , i D ) through the routing node (i D , i s ); when s i is not equal to D j, in the second sub-network topology structure, through the routing node (i D , i s)Send the target routing request to the target routing node (i D , j D ).

[0088] As an alternative implementation, assume that the source routing node S = (i S , j S ) = (0000, 1111), and the target routing node D = (i D , j D ) = (0001, 0011). Then, perform an exclusive OR operation on i S and i D to obtain i S ^i D = 0001. Since the exclusive OR result contains a "1", it indicates that S and D are located in two directly connected ring structures. Determine whether j S and i D are equal: j S ≠i D , and perform the following routing:

[0089] First, perform routing within the subnetwork where S is located: (0000, 1111) → (0000, 0001); then, route to the subnetwork where D is located: (0000, 0001) → (0001, 0000); finally, determine whether j S and i D are equal. Since (i D , j D )≠(i D , i S ), perform the next routing (0001, 0000) → (0001, 0011), and the routing ends.

[0090] As an alternative implementation, according to the first exclusive OR result, sending the target routing request from the source routing node to the target routing node further includes: when the first exclusive OR result includes two non-zero values, determining that there is a third subnetwork topology structure between the first subnetwork topology structure where the source node is located and the second subnetwork topology structure where the target routing node is located; sending the target routing request from the source routing node to the target routing node through the third subnetwork topology structure.

[0091] If the above first exclusive OR result contains two non-zero values, such as 0011, 0110, 0101, etc., it indicates that there is a subnetwork interval between the subnetwork where the source routing node S is located and the subnetwork where the target routing node D is located. Then, send the target routing request from the source routing node to the target routing node through the third subnetwork between the two subnets.

[0092] As an optional implementation, sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure includes: splitting the first XOR result into two unique hot codes, wherein the two unique hot codes include: a first unique hot code and a second unique hot code; determining the number of the third sub-network topology structure according to the first unique hot code and the second unique hot code, and sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure.

[0093] The first unique-hot code and the second unique-hot code may be a binary representation, such as 0010, 0100, etc., and the number of the third sub-network topology structure is determined according to the first unique-hot code and the second unique-hot code.

[0094] As an optional implementation, the determining the number of the third sub-network topology structure according to the first one-hot code and the second one-hot code includes: S Performing XOR with the first one-hot code and the second one-hot code respectively to obtain a second XOR result and a third XOR result; determining the number of the third sub-network topology structure in the second XOR result and the third XOR result.

[0095] Specifically, the XOR result in which both 0 and 1 are continuous in the second XOR result and the third XOR result is determined as the serial number of the third sub-network topology structure.

[0096] As an optional implementation, the sending of the target routing request from the source routing node to the target routing node through the third sub-network topology structure further includes: in the third sub-network topology structure numbered Tri mid In the case of, the target routing request is sent from the first sub-network topology structure where the source routing node is located (i s , j s )Send to(i s , Tri mid ); from the first sub-network topology (i s , Tri mid ) sends the target routing request to the third sub-network topology structure (Tri mid ,i s ); from the third sub-network topology (Tri mid ,i s ) sends the target routing request to (Tri mid ,i D ); from the third sub-network topology (Tri mid ,i D)Send the target routing request to (i in the topology of the second subnetwork D , Tri mid ); When Tri mid is not equal to j D , send the target routing request from (i in the topology of the second subnetwork D , Tri mid ) to (i D , j D ).

[0097] As an alternative implementation, assume that the source routing node S = (i S , j S ) = (1000, 0111), and the target routing node D = (i D , j D ) = (0001, 0011). Then perform an exclusive OR operation on i S and i D to obtain I = i S ^ i D = 1001. Since the exclusive OR result contains two "1"s, it indicates that there is a third subnetwork between the subnetwork where S is located and the subnetwork where D is located. Then split the exclusive OR result I into two one-hot codes I = I1^I2 = 1000^0001, and perform exclusive OR operations on the number of the subnetwork where S is located and the two one-hot codes I1 and I2 respectively, to obtain Tri1 = i S ^ 1000 = 0000, Tri2 = i S ^ 0001 = 1001. Check whether the "1"s and "0"s in Tri1 and Tri2 are continuous. Among them, the numbers "0" in Tri mid = Tri1 = 0000 are continuous. Then determine the subnetwork corresponding to 0000 as the third subnetwork and perform the following routing:

[0098] First, perform routing within the subnetwork where S is located: (1000, 0111) → (1000, 0000); then route to the third subnetwork: (1000, 0000) → (0000, 1000); perform routing within the third subnetwork: (0000, 1000) → (0000, 0001); then route to the subnetwork where D is located: (0000, 0001) → (0001, 0000); finally, perform routing within the subnetwork where D is located (0001, 0000) → (0001, 0011), and the routing ends.

[0099] As an alternative embodiment, sending the target routing request from the source routing node to the target routing node according to the first exclusive-OR result further includes: when there are three non-zero values in the first exclusive-OR result, determining that there are two sub-network topologies between the first sub-network topology where the source routing node is located and the second sub-network topology where the target routing node is located; sending the target routing request from the source routing node to the target routing node through a fourth sub-network topology located opposite the first sub-network topology.

[0100] If there are three non-zero values in the above first exclusive-OR result, such as 0111, 1110, 1101, etc., it indicates that there are two sub-networks between the sub-network where the source routing node S is located and the sub-network where the target routing node D is located. Then, the target routing request is sent from the source routing node to the target routing node through the sub-network opposite to the sub-network where the source routing node is located.

[0101] Specifically, exclusive-OR the i S with 1111 to obtain a fourth exclusive-OR result Tri now ; determine a routing node (i s , Tri now ) in the first sub-network topology, and send the target routing request to the target routing node through the routing node (i s , Tri now ).

[0102] As an alternative embodiment, sending the target routing request to the target routing node through the routing node (i s , Tri now ) includes: in the first sub-network topology, sending the target routing request from (i s , j s ) to (i s , Tri now ); sending the target routing request from (i s , Tri now ) in the first sub-network topology to (Tri now , i s ) in the fourth sub-network topology; sending the target routing request from (Tri now , i s ) in the fourth sub-network topology to (Tri now , i D ); sending the target routing request from (Tri now , i D ) in the fourth sub-network topology to (iD , Tri now ); In the case where Tri now is not equal to the j D , the target routing request is sent from (i D , Tri now ) in the second sub-network topology to (i D , j D ).

[0103] As an alternative embodiment, assume that the source routing node S = (i S , j S ) = (1110, 1100), and the target routing node D = (i D , j D ) = (0011, 0111). Then, perform an exclusive OR operation on i S and i D to obtain i S ^i D = 1101. Since the exclusive OR result contains three "1"s, it indicates that there are two sub-networks between the sub-network where S is located and the sub-network where D is located. Then, through the sub-network opposite to the sub-network where S is located, perform the following routing:

[0104] First, perform routing within the sub-network where S is located: (1110, 1100) → (1110, 0001); then, route through the cross-link to the sub-network opposite to the sub-network where S is located: (1110, 0001) → (0001, 1110); perform routing within the above-mentioned opposite sub-network: (0001, 1110) → (0001, 0011); then, route to the sub-network where D is located: (0001, 0011) → (0011, 0001); finally, perform routing within the sub-network where D is located (0011, 0001) → (0011, 0111), and the routing ends.

[0105] As an alternative embodiment, according to the first exclusive OR result, sending the target routing request from the source routing node to the target routing node further includes: in the case where the first exclusive OR result contains four non-zero values, sending the target routing request from the source routing node to the target routing node through the fourth sub-network topology located opposite to the first sub-network topology.

[0106] When the above first XOR result is four non-zero values, that is, the XOR result of the first XOR is 1111, it indicates that the source routing node S and the destination routing node D are located in two subnets of the cross-connection. That is to say, the subnet where S is located is on the opposite side of the subnet where D is located. Then, directly use the cross-link routing to jump from the subnet where S is located to the subnet where D is located on the opposite side, and send the destination routing request from the source routing node to the destination routing node.

[0107] Specifically, XOR the i S with 1111 to obtain the fourth XOR result Tri now ; in the first sub-network topology, send the destination routing request from (i s , j s ) to (i s , Tri now ); from (i s , Tri now ) in the first sub-network topology, send the destination routing request to (Tri now , i s ) in the fourth sub-network topology; when (Tri now , i s ) is not equal to (i D , j D ), send the destination routing request from (Tri now , i s ) in the fourth sub-network topology to (i D , j D ).

[0108] As an optional implementation manner, assume that the source routing node S = (i S , j S ) = (1000,0000), and the destination routing node D = (i D , j D ) = (0111, 1111). Then, perform an XOR operation on i S and i D to obtain i S ^i D = 1111. Since the XOR result contains four "1"s, it indicates that the subnet where S is located is on the opposite side of the subnet where D is located, and perform the following routing:

[0109] First, route within the sub-network where S is located: (1000,0000) → (1000,0111); then route to the sub-network where D is located: (1000,0111) → (0111,1000); finally, route within the sub-network where D is located (0111,1000) → (0111,1111), and the routing ends.

[0110] As an alternative implementation, based on the above on-chip network topology, the specific routing steps are as follows:

[0111] Step S1, determine whether i S and i D are equal:

[0112] If i S ^i D = 0000, it indicates that S and D are in the same sub-network structure, S and D are directly connected, and direct routing within the sub-network structure can be performed; if i S ^i D ≠ 0000, it indicates that S and D are not in the same sub-network structure, and proceed to step S2.

[0113] Step S2, calculate i S ^i D :

[0114] Check the calculation result. If it contains one "1", proceed to step S3; if it contains two "1", proceed to step S4; if it contains three "1", proceed to step s5; if it contains four "1", proceed to step S6.

[0115] Step s3, i S ^i D contains one "1":

[0116] If the calculation result contains one "1", it indicates that S and D are in two directly connected sub-network structures. Determine whether j S and i D are equal: If j S = i D , it indicates that S and D are directly connected, and direct routing can be performed; if j S ≠ i D , then perform the following routing:

[0117] S301, route within the sub-network where S is located: (i S , j S ) → (i S , i D );

[0118] S302, route to the sub-network where D is located: (iS , i D ) → (i D , i S );

[0119] S303, if (i D , j D ) = (i D , i S ), the routing ends; if (i D , j D ) ≠ (i D , i S ), then perform the next routing: (i D , i S ) → (i D , j D ), the routing ends.

[0120] Step S4, i S ^i D contains two "1"s:

[0121] If the calculation result contains two "1"s, it indicates that there is a third sub-network between the sub-network where S is located and the sub-network where D is located, then perform the following routing:

[0122] S401, let I = i S ^i D , and split I into two one-hot codes I = I1^I2;

[0123] S402, perform bitwise XOR on i S with I1 and I2 respectively, and record the results as Tri1 and Tri2;

[0124] S403, check whether the "1"s in Tri1 and Tri2 are consecutive. If they are consecutive and recorded as Tri mid , then Tri mid is the third sub-network;

[0125] S404, perform routing inside the sub-network where S is located: (i S , j S ) → (i S , Tri mid );

[0126] S405, route to the third sub-network Tri mid : (i S , Tri mid ) → (Tri mid , i S );

[0127] S406, in the third sub-network Tri midInternal routing: (Tri mid , i S ) → (Tri mid , i D );

[0128] S407, Route to the sub-network where D is located: (Tri mid , i D ) → (i D , Tri mid ), if at this time (i D , Tri mid ) = (i D , j D ), then the routing ends, otherwise proceed to the next step;

[0129] S408, Perform routing within the sub-network where D is located (i D , Tri mid ) → (i D , j D ), the routing ends.

[0130] Step S5, i S ^i D contains three "1"s:

[0131] If the calculation result contains three "1"s, it indicates that there are two sub-networks between the sub-network where S is located and the sub-network where D is located. Then, through the sub-network opposite to the sub-network where S is located, perform the following routing:

[0132] S501, Perform routing within the sub-network where S is located: (i S , j S ) → (i S , i S ^1111);

[0133] S502, Route to the sub-network opposite to the sub-network where S is located through the cross-link Tri now : (i S , i S ^1111) → (i S ^1111, i S );

[0134] S503, Perform routing within the above-mentioned opposite sub-network Tri now : (i S ^1111, i S ) → (i S ^1111, i D );

[0135] S504, Route to the sub-network where D is located: (iS ^1111, i D ) → (i D , i S ^1111), if (i D , i S ^1111) = (i D , j D ), the routing ends; otherwise, proceed to the next step;

[0136] S505, perform routing within the subnetwork where D is located (i D , i S ^1111) → (i D , j D ), the routing ends.

[0137] Step S6, i S ^i D contains four "1"s:

[0138] If the calculation result contains four "1"s, it indicates that the subnetwork where S is located is on the opposite side of the subnetwork where D is located. Through the use of a cross - link, perform the following routing:

[0139] S601, perform routing within the subnetwork where S is located: (i S , j S ) → (i S , i S ^1111);

[0140] S602, route to the subnetwork where D is located: (i S , i S ^1111) → (i S ^1111, i S ), if (i S ^1111, i S ) = (i D , j D ), the routing ends; otherwise, proceed to the next step;

[0141] S603, perform routing within the subnetwork where D is located (i S ^1111, i S ) → (i D , j D ), the routing ends.

[0142] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation manner. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions for causing a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in various embodiments of the present application.

[0143] In this embodiment, a device is further provided. This device is used to implement the above embodiments and preferred implementation manners, and those that have been described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that can achieve a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware is also possible and contemplated.

[0144] Figure 11 is a structural block diagram of a device for sending a routing request according to an embodiment of the present application. As Figure 11 shown, the device includes: an acquisition module 1102, configured to, when M is equal to 3, acquire the numbers of the source routing node (i s , j s ) and the target routing node (i D , j D ); a calculation module 1104, configured to perform an exclusive OR calculation on the i S and the i D to obtain a first exclusive OR result; a sending module 1106, configured to send the target routing request from the source routing node to the target routing node according to the first exclusive OR result.

[0145] As an optional implementation manner, the device is further configured to, when the first exclusive OR result is 0000, determine that the source routing node and the target routing node are located in the same target sub-network topology structure, and send the target routing request to the target routing node inside the target sub-network topology structure.

[0146] As an optional implementation manner, the device is further configured to, when the first exclusive OR result contains a non-zero value, determine that the first sub-network topology structure where the source routing node is located is adjacent to the second sub-network topology structure where the target routing node is located; send the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure.

[0147] As an alternative embodiment, the device is further configured to, when the j S is equal to the i D , send the target routing request from the source routing node to the target routing node.

[0148] As an alternative embodiment, the device is further configured to, when the j S is not equal to the i D , in the first sub-network topology, send the target routing request from the source routing node (i s , j s ) to the routing node (i s , i D ), and send the target routing request to the routing node (i s , i D ) through the routing node (i D , i s ); when the i s is not equal to the j D , in the second sub-network topology, send the target routing request to the target routing node (i D , i s ) through the routing node (i D , j D ).

[0149] As an alternative embodiment, the device is further configured to, when the first XOR result includes two non-zero values, determine that there is a third sub-network topology between the first sub-network topology where the source node is located and the second sub-network topology where the target routing node is located; send the target routing request from the source routing node to the target routing node through the third sub-network topology.

[0150] As an alternative embodiment, the device is further configured to split the first XOR result into two one-hot codes, where the two one-hot codes include: a first one-hot code and a second one-hot code; determine the number of the third sub-network topology according to the first one-hot code and the second one-hot code, and send the target routing request from the source routing node to the target routing node through the third sub-network topology.

[0151] As an alternative embodiment, the device is further configured to perform XOR operations on the i S with the first one-hot code and the second one-hot code respectively to obtain a second XOR result and a third XOR result; determine the number of the third sub-network topology from the second XOR result and the third XOR result.

[0152] As an alternative embodiment, the apparatus is further configured to determine, as the number of the third sub-network topology, the exclusive-OR results in which both 0 and 1 are consecutive in the second exclusive-OR result and the third exclusive-OR result.

[0153] As an alternative embodiment, the apparatus is further configured to, when the number of the third sub-network topology is Tri mid , send the target routing request from the first sub-network topology where the source routing node is located from (i s , j s ) to (i s , Tri mid ); send the target routing request from (i s , Tri mid ) in the first sub-network topology to (Tri mid , i s ) in the third sub-network topology; send the target routing request from (Tri mid , i s ) in the third sub-network topology to (Tri mid , i D ); send the target routing request from (Tri mid , i D ) in the third sub-network topology to (i D , Tri mid ) in the second sub-network topology; when Tri mid is not equal to j D , send the target routing request from (i D , Tri mid ) in the second sub-network topology to (i D , j D ).

[0154] As an alternative embodiment, the apparatus is further configured to, when the first exclusive-OR result contains three non-zero values, determine that there are two sub-network topologies between the first sub-network topology where the source routing node is located and the second sub-network topology where the target routing node is located; and send the target routing request from the source routing node to the target routing node through a fourth sub-network topology located opposite to the first sub-network topology.

[0155] As an alternative embodiment, the apparatus is further configured to exclusive-OR i S with 1111 to obtain a fourth exclusive-OR result Tri now ; determine a routing node (i s, Tri now ), and send the target routing request to the target routing node through the routing node (i s , Tri now ).

[0156] As an optional implementation, the device is further configured to send the target routing request from (i s , j s ) to (i s , Tri now ) in the first sub-network topology; send the target routing request from (i s , Tri now ) in the first sub-network topology to (Tri now , i s ) in the fourth sub-network topology; send the target routing request from (Tri now , i s ) in the fourth sub-network topology to (Tri now , i D ); send the target routing request from (Tri now , i D ) in the fourth sub-network topology to (i D , Tri now ) in the second sub-network topology; when Tri now is not equal to j D , send the target routing request from (i D , Tri now ) in the second sub-network topology to (i D , j D ).

[0157] As an optional implementation, when there are four non-zero values in the first XOR result, the device is further configured to send the target routing request from the source routing node to the target routing node through the fourth sub-network topology located opposite the first sub-network topology.

[0158] As an optional implementation, the device is further configured to perform an XOR operation on i S and 1111 to obtain a fourth XOR result Tri now ; send the target routing request from (i s , j s ) to (i s , Tri now ) in the first sub-network topology; from (i s, Tri now ) Send the target routing request to (Tri now , i s ) in the fourth sub-network topology; in the case where (Tri now , i s ) is not equal to (i D , j D ), send the target routing request from (Tri now , i s ) in the fourth sub-network topology to (i D , j D ).

[0159] It should be noted that the above-mentioned modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above-mentioned modules are all located in the same processor; or, the above-mentioned modules are respectively located in different processors in any combination form.

[0160] An embodiment of the present application also provides a computer-readable storage medium, in which a computer program is stored. Wherein, the computer program is configured to execute the steps in any one of the above method embodiments when running.

[0161] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: USB flash drive, read-only memory (abbreviation: ROM), random access memory (abbreviation: RAM), mobile hard disk, magnetic disk or optical disc and other various media that can store computer programs.

[0162] An embodiment of the present application also provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0163] In an exemplary embodiment, the above electronic device may further include a transmission device and an input / output device. Wherein, the transmission device is connected to the above processor, and the input / output device is connected to the above processor.

[0164] An embodiment of the present application also provides a computer program product. The above computer program product includes a computer program, and the steps in any one of the above method embodiments are implemented when the computer program is executed by a processor.

[0165] Specific examples in this embodiment may refer to the examples described in the above embodiments and exemplary embodiments, and will not be repeated here.

[0166] Obviously, those skilled in the art should understand that the various modules or steps of the present application described above can be implemented by a general-purpose computing device. They can be concentrated on a single computing device or distributed on a network composed of multiple computing devices. They can be implemented by program code executable by the computing device. Thus, they can be stored in a storage device and executed by the computing device. And in some cases, the steps shown or described can be executed in a sequence different from that here, or they can be separately fabricated into individual integrated circuit modules, or multiple modules or steps among them can be fabricated into a single integrated circuit module for implementation. In this way, the present application is not limited to any specific combination of hardware and software.

[0167] The above are only the preferred embodiments of the present application and are not used to limit the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the principle of the present application shall be included within the protection scope of the present application.

Claims

1. A network-on-chip topology structure, characterized in that: It includes 2N sub-network topology structures, each of which includes M routing nodes, N is an integer greater than 1, M is an integer greater than or equal to 3, the 2N sub-network topology structures are connected to form a ring network topology structure, and the M routing nodes in each of the sub-network topology structures are connected to form a ring network topology structure.

2. The network-on-chip topology structure according to claim 1, characterized in that: The 2N sub-network topology structures are connected to form a ring network topology structure, including: Each of the sub-network topologies is respectively connected to its two adjacent sub-network topologies and the sub-network topology located opposite to the sub-network topology.

3. The network-on-chip topology structure according to claim 2, characterized in that: Each of the sub-network topology structures is respectively connected to its two adjacent sub-network topology structures and the sub-network topology structure opposite to the sub-network topology structure, including: The three routing nodes in each of the sub-network topology structures are respectively connected to corresponding routing nodes in two adjacent sub-network topology structures and a sub-network topology structure opposite to the sub-network topology structure.

4. The network-on-chip topology structure according to claim 3, characterized in that: The three routing nodes in each of the sub-network topology structures are respectively connected to corresponding routing points in two adjacent sub-network topology structures and a sub-network topology structure opposite to the sub-network topology structure, including: The routing node numbered (i, j) in each of the sub-network topology structures is connected to the routing nodes numbered (j, i) in its two adjacent sub-network topologies and the sub-network topology structure opposite to the sub-network topology structure, wherein i and j are the numbers of the sub-network topology structures.

5. The network on chip topology structure according to claim 1, characterized in that: Also includes: When N is 4, the 2N sub-network topology structures are numbered as follows: 0000, 0001, 0011, 0111, 1111, 1110, 1100, 1000.

6. A method for sending a routing request, characterized in that: The network-on-chip topology structure applied to any one of claims 1 to 5 above comprises: When M is equal to 3, obtain the number of the source routing node (i s , j s ) and the number of the target routing node (i D , j D );Write the i S With the i D Perform XOR calculation to obtain a first XOR result; A target routing request is sent from the source routing node to the target routing node according to the first XOR result.

7. The method according to claim 6, characterized in that Sending a target routing request from the source routing node to the target routing node according to the first XOR result includes: When the first XOR result is 0000, it is determined that the source routing node and the target routing node are located in the same target sub-network topology structure, and the target routing request is sent to the target routing node within the target sub-network topology structure.

8. The method according to claim 6, characterized in that Sending a target routing request from the source routing node to the target routing node according to the first XOR result, further comprising: In a case where the first XOR result includes a non-zero value, determining that the first sub-network topology structure where the source routing node is located is adjacent to the second sub-network topology structure where the target routing node is located; The target routing request is sent to the target routing node through the first sub-network topology structure and the second sub-network topology structure.

9. The method according to claim 8, characterized in that Sending the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure includes: In the j S is equal to the i D In the case of, the target routing request is sent from the source routing node to the target routing node.

10. The method according to claim 8, characterized in that The method further comprises: sending the target routing request to the target routing node through the first sub-network topology structure and the second sub-network topology structure; In the j S Not equal to the i D In the case of s , j s ) is sent to the routing node (i s ,i D ), through the routing node (i s ,i D ) sends the target routing request to routing node (i D ,i s ); In the i s With the j D If they are not equal, in the second sub-network topology structure, the routing node (i D ,i s ) sends the target routing request to the target routing node (i D , j D ).

11. The method according to claim 6, characterized in that Sending a target routing request from the source routing node to the target routing node according to the first XOR result, further comprising: In the case where the first XOR result includes two non-zero values, determining that there is a third sub-network topology structure between the first sub-network topology structure where the source node is located and the second sub-network topology structure where the target routing node is located; The target routing request is sent from the source routing node to the target routing node through the third sub-network topology.

12. The method according to claim 11, characterized in that Sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure includes: Splitting the first XOR result into two one-hot codes, wherein the two one-hot codes include: a first one-hot code and a second one-hot code; The number of the third sub-network topology structure is determined according to the first one-hot code and the second one-hot code, and the target routing request is sent from the source routing node to the target routing node through the third sub-network topology structure.

13. The method according to claim 12, characterized in that The determining the number of the third sub-network topology structure according to the first one-hot code and the second one-hot code includes: The i S Performing XOR with the first unique hot code and the second unique hot code respectively to obtain a second XOR result and a third XOR result; The number of the third sub-network topology structure is determined in the second XOR result and the third XOR result.

14. The method according to claim 13, characterized in that Determining the serial number of the third sub-network topology structure from the second XOR result and the third XOR result includes: The XOR result in which both 0 and 1 are continuous among the second XOR result and the third XOR result is determined as the serial number of the third sub-network topology structure.

15. The method according to claim 11, characterized in that The sending the target routing request from the source routing node to the target routing node through the third sub-network topology structure further includes: The number of the third sub-network topology structure is Tri mid In the case of, the target routing request is sent from the first sub-network topology structure where the source routing node is located (i s , j s )Send to(i s , Tri mid ); From the first sub-network topology (i s , Tri mid ) Each of the target routing requests is sent to the (Tri mid , is); From the third sub-network topology (Tri mid ,i s ) sends the target routing request to (Tri mid ,i D ); From the third sub-network topology (Tri mid ,i D ) sends the target routing request to (i D , Tri mid ); In the Tri mid With the j D If they are not equal, then from the second sub-network topology (i D , Tri mid ) sends the target routing request to the (i D , j D ).

16. The method according to claim 6, characterized in that Sending a target routing request from the source routing node to the target routing node according to the first XOR result, further comprising: When the first XOR result contains three non-zero values, it is determined that there are two sub-network topologies between the first sub-network topology structure where the source routing node is located and the second sub-network topology structure where the target routing node is located; and the target routing request is sent from the source routing node to the target routing node through a fourth sub-network topology structure located opposite the first sub-network topology structure.

17. The method according to claim 16, characterized in that The method includes sending the target routing request from the source routing node to the target routing node through a fourth sub-network topology structure located opposite to the first sub-network topology structure, comprising: The i S XOR with 1111 to get the fourth XOR result Tri now ; Determine a routing node (i) in the first sub-network topology structure s , Tri now ), and through the routing node (i s , Tri now ) sends the target routing request to the target routing node.

18. The method according to claim 17, characterized in that Through the routing node (i s , Tri now ) sending the target routing request to the target routing node, comprising: In the first sub-network topology, the target routing request is sent from (i s , j s )Send to(i s , Tri now ); From the first sub-network topology (i s , Tri now ) sends the target routing request to (Tri now ,i s ); From the fourth sub-network topology (Tri now ,i s ) sends the target routing request to (Tri now ,i D ); From the fourth sub-network topology (Tri now ,i D ) sends the target routing request to (i D , Tri now ); In the Tri now With the j D If they are not equal, then from the second sub-network topology (i D , Tri now ) sends the target routing request to the (i D , j D ).

19. The method according to claim 6, characterized in that Sending a target routing request from the source routing node to the target routing node according to the first XOR result, further comprising: In a case where the first XOR result includes four non-zero values, the target routing request is sent from the source routing node to the target routing node via a fourth sub-network topology structure located opposite to the first sub-network topology structure where the source routing node is located.

20. The method according to claim 19, characterized in that The method includes sending the target routing request from the source routing node to the target routing node through a fourth sub-network topology structure located opposite to the first sub-network topology structure, comprising: The i S XOR with 1111 to get the fourth XOR result Tri now ; In the first sub-network topology, the target routing request is sent from (i s , j s )Send to(i s , Tri now ); From the first sub-network topology (i s , Tri now ) sends the target routing request to (Tri now ,i s ); In the (Tri now ,i s ) and (i D , j D ) are not equal, from the fourth sub-network topology structure (Tri now ,i s ) sends the target routing request to the (i D , j D ).

21. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 6 to 20 when executed by a processor.

22. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 6 to 20 are implemented.