Routing method, device, equipment, medium and computer program product

By adopting a two-layer full Internet network structure in the on-chip network, the resource waste and implementation difficulty caused by the increase in the number of routing nodes in the traditional full Internet network are solved, and efficient communication and resource conservation are achieved.

CN119917451AInactive Publication Date: 2025-05-02SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510397822.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-01
Publication Date
2025-05-02
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

With the increase in the number of on-chip network routing nodes, while ensuring communication efficiency, traditional Internet networks have resulted in wasting network resources, complex layout and routing and difficulty in hardware implementation.

Method used

A two-layer full Internet network structure is adopted, including the first layer full Internet network and the second layer full Internet network. By grouping the nodes and establishing a two-layer network structure, it is determined whether the source routing node and the destination routing node are in the same layer of network combination. If so, it is routed directly, otherwise it will be routed through the intermediate routing node.

Benefits of technology

While ensuring communication efficiency, it saves network resources, simplifies layout and routing, reduces the difficulty of hardware implementation, and reduces the outflow and incoming of each routing node, and reduces the number of links in the entire network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119917451A_ABST
    Figure CN119917451A_ABST
Patent Text Reader

Abstract

The invention discloses a routing method, device and equipment, a medium and a computer program product, and relates to the technical field of communication, and the method comprises the steps: determining a source routing node and a destination routing node in a preset double-layer full-internet network structure; vertexes in the double-layer full-interconnection network structure correspond to routing nodes in the network-on-chip and comprise a first-layer full-interconnection network and a second-layer full-interconnection network; judging whether the source routing node and the destination routing node are both located in the same node combination in the first layer of full interconnection network or the same node combination in the second layer of full interconnection network; if yes, routing the target data from the source routing node to the destination routing node; if not, determining an intermediate routing node based on the source routing node, the target routing node and a preset coding rule, and routing the target data from the source routing node to the target routing node through the intermediate routing node; and the intermediate routing node, the source routing node and the destination routing node are respectively positioned in the same node combination of the same layer of full interconnection network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a routing method, device, equipment, medium and computer program product. Background Art

[0002] Traditional System on Chip (SoC) uses bus structure for communication, which has problems such as large delay, difficult clock synchronization, poor scalability, high energy consumption, and low reusability. Network on Chip (NoC) has greatly improved the limitations of bus structure communication by introducing computer network technology, and effectively improved data transmission performance.

[0003] Current on-chip networks usually use a fully interconnected fully connected network topology. For example, when there are three routing nodes, Figure 1 This ring network topology has a network diameter of 1, and the out-degree and in-degree of each routing node are both 2. When there are four routing nodes, use Figure 2 In this fully interconnected network topology, the network diameter is 1, and the out-degree and in-degree of each routing node are both 3. That is, for a fully interconnected network with n routing nodes, the network diameter is 1, indicating that the destination routing node can be reached from the source routing node in one step, and the out-degree and in-degree of the routing node are n-1.

[0004] However, as the number of interconnected routing nodes increases, although the network diameter of the entire network is still 1, the out-degree and in-degree of each routing node are constantly growing linearly, and the number of links in the entire network reaches n×(n-1), resulting in complex layout and wiring, waste of network resources, and difficulty in hardware implementation.

[0005] In summary, how to save network resources and facilitate layout and wiring while ensuring communication efficiency is a problem that needs to be solved. Summary of the invention

[0006] In view of this, the purpose of the present invention is to provide a routing method, device, equipment, medium and computer program product, which can save network resources and facilitate layout and wiring while ensuring communication efficiency. The specific scheme is as follows:

[0007] In a first aspect, the present application discloses a routing method, comprising:

[0008] Determine a source routing node and a destination routing node in a preset two-layer fully interconnected network structure; wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network;

[0009] Determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network;

[0010] If yes, the target data is directly routed from the source routing node to the destination routing node;

[0011] If not, the intermediate routing node is determined based on the source routing node, the destination routing node and the preset coding rule, and the target data is routed from the source routing node to the destination routing node through the intermediate routing node; the intermediate routing node is located in the same node combination of the same layer of the fully interconnected network as the source routing node and the destination routing node.

[0012] Optionally, the process of establishing a two-layer fully interconnected network structure based on each routing node in the on-chip network includes:

[0013] Grouping each routing node in the network on chip to obtain a plurality of first node combinations, and establishing a first-layer fully interconnected network based on the routing nodes in each first node combination;

[0014] A second node combination is constructed based on the routing nodes with the same structural position in each first node combination, and a second-layer fully interconnected network is established based on the routing nodes in each second node combination.

[0015] Optionally, each routing node in the network on chip is grouped to obtain a plurality of first node combinations, and a first-layer fully interconnected network is established based on the routing nodes in each first node combination, including:

[0016] Divide each routing node in the on-chip network into a first number of first node combinations; wherein each first node combination includes a second number of routing nodes, and the product of the first number and the second number is the total number of routing nodes in the on-chip network;

[0017] The second number of routing nodes within each first node combination are interconnected to establish a first-layer fully interconnected network.

[0018] Optionally, building a second node combination based on routing nodes with the same structural position in each first node combination, and establishing a second-layer fully interconnected network based on the routing nodes in each second node combination, including:

[0019] Selecting routing nodes located at the same structural position from each first node combination to obtain a second node combination; wherein the number of the second node combinations is the second number, and each second node combination includes the first number of routing nodes;

[0020] The first number of routing nodes within each second node combination are interconnected to establish a second layer fully interconnected network.

[0021] Optionally, the network diameter of each first node combination in the first-layer fully interconnected network is 1, the network diameter of each second node combination in the second-layer fully interconnected network is 1, and the network diameter of the double-layer fully interconnected network structure is 2.

[0022] Optionally, the out-degree and in-degree of each routing node in the double-layer fully interconnected network structure are smaller than the out-degree and in-degree of a preset fully connected network.

[0023] Optionally, the calculation expressions of the out-degree and in-degree of each routing node in the two-layer fully interconnected network structure are:

[0024] Out-degree / in-degree = (first quantity - 1) + (second quantity - 1);

[0025] The calculation expressions of the out-degree and in-degree of the preset fully connected network are:

[0026] Out-degree / in-degree=first quantity×second quantity-1.

[0027] Optionally, determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network includes:

[0028] Determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network;

[0029] If so, the step of directly routing the target data from the source routing node to the destination routing node is performed;

[0030] If not, determining whether the source routing node and the destination routing node are both located in the same node combination in the second layer fully interconnected network;

[0031] If so, the step of directly routing the target data from the source routing node to the destination routing node is performed.

[0032] Optionally, determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network includes:

[0033] Determine the first node number of the source routing node in the double-layer fully interconnected network structure;

[0034] Determine the second node number of the destination routing node in the double-layer fully interconnected network structure;

[0035] Based on the first node number and the second node number, it is determined whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network.

[0036] Optionally, the node number includes a first code for representing any node combination in the first-layer fully interconnected network where the routing node is located and a second code for characterizing a target structural position of the routing node in any node combination.

[0037] Optionally, judging whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network based on the first node number and the second node number includes:

[0038] Determine whether the first code in the first node number and the first code in the second node number are the same, and if they are the same, determine that the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network;

[0039] It is determined whether the second code in the first node number is the same as the second code in the second node number. If they are the same, it is determined that the source routing node and the destination routing node are both located in the same node combination in the second layer fully interconnected network.

[0040] Optionally, determining the intermediate routing node based on the source routing node, the destination routing node and a preset coding rule includes:

[0041] Obtain the first node number corresponding to the source routing node;

[0042] Obtaining a second node number corresponding to the destination routing node;

[0043] An intermediate routing node is determined based on the first node number, the second node number and a preset coding rule.

[0044] Optionally, determining the intermediate routing node based on the first node number, the second node number and a preset coding rule includes:

[0045] Determine, based on the first node number, a first target node combination where the source routing node is located in the first layer fully interconnected network;

[0046] An intermediate routing node is determined in the first target node combination based on a preset coding rule and a second node number corresponding to the destination routing node.

[0047] Optionally, determining the intermediate routing node in the first target node combination based on a preset coding rule and a second node number corresponding to the destination routing node includes:

[0048] Determine the node number information of the remaining routing nodes in the first target node combination except the source routing node;

[0049] Based on the node number information, a routing node with the same second code as the second node number corresponding to the destination routing node is selected from the remaining routing nodes as an intermediate routing node; wherein the first code corresponding to the intermediate routing node is the first code of the source routing node, and the second code corresponding to the intermediate routing node is the second code of the destination routing node.

[0050] Optionally, determining the intermediate routing node based on the first node number, the second node number and a preset coding rule includes:

[0051] Determine a second target node combination where the destination routing node is located in the first layer fully interconnected network based on the second node number;

[0052] In the second target node combination, an intermediate routing node is determined based on a preset coding rule and a first node number corresponding to the source routing node.

[0053] Optionally, determining the intermediate routing node in the second target node combination based on a preset coding rule and a first node number corresponding to the source routing node includes:

[0054] Determine the node number information of the remaining routing nodes in the second target node combination except the destination routing node;

[0055] Based on the node number information, a routing node with the same second code as the first node number corresponding to the source routing node is selected from the remaining routing nodes as an intermediate routing node; wherein the first code corresponding to the intermediate routing node is the first code of the destination routing node, and the second code corresponding to the intermediate routing node is the second code of the source routing node.

[0056] In a second aspect, the present application discloses a routing device, including:

[0057] A node determination module, used to determine a source routing node and a destination routing node in a preset two-layer fully interconnected network structure; wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network;

[0058] A determination module, used to determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer of the fully interconnected network or the same node combination in the second layer of the fully interconnected network;

[0059] A first routing module, configured to directly route the target data from the source routing node to the destination routing node if yes;

[0060] The second routing module is used to determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rule, and route the target data from the source routing node to the destination routing node through the intermediate routing node; the intermediate routing node is located in the same node combination of the source routing node and the destination routing node in the same layer of the fully interconnected network.

[0061] In a third aspect, the present application discloses an electronic device, including:

[0062] Memory, used to store computer programs;

[0063] The processor is used to execute the computer program to implement the steps of the aforementioned routing method.

[0064] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the steps of the aforementioned disclosed routing method are implemented.

[0065] In a fifth aspect, the present application discloses a computer program product, including a computer program / instruction, which implements the steps of the aforementioned disclosed routing method when executed by a processor.

[0066] It can be seen that the present application determines the source routing node and the destination routing node in a preset two-layer fully interconnected network structure; wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network; it is determined whether the source routing node and the destination routing node are both located in the same node combination in the first-layer fully interconnected network or the same node combination in the second-layer fully interconnected network; if so, the target data is directly routed from the source routing node to the destination routing node; if not, the intermediate routing node is determined based on the source routing node, the destination routing node and the preset coding rule, and the target data is routed from the source routing node to the destination routing node through the intermediate routing node; the intermediate routing node is located in the same node combination of the same layer of the fully interconnected network as the source routing node and the destination routing node.

[0067] Beneficial effects: The present application discloses a preset two-layer fully interconnected network structure, in which each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network, and the first-layer fully interconnected network and the second-layer fully interconnected network respectively have node combination information belonging to the layer network. After the source routing node and the destination routing node are determined in the two-layer fully interconnected network structure, it is first necessary to determine whether the source routing node and the destination routing node are both located in the same node combination in the first-layer fully interconnected network or in the same node combination in the second-layer fully interconnected network. If so, it means that the source routing node and the destination routing node are directly connected. At this time, the target data can be directly routed from the source routing node to the destination routing node. That is to say, in this case, its communication efficiency is consistent with that of the fully connected network, and the source routing node can reach the destination routing node after one-step routing. In addition, if the source routing node and the destination routing node are not located in the same node combination in the first layer of the fully interconnected network, and are not located in the same node combination in the second layer of the fully interconnected network, then it is necessary to determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rules, and then route the target data from the source routing node to the destination routing node through the intermediate routing node. At this time, the intermediate routing node and the source routing node are located in the same node combination in the same layer of the fully interconnected network, and are also located in the same node combination in the same layer of the fully interconnected network as the destination routing node. That is, in this case, the source routing node only needs to go through two steps of routing to reach the destination routing node. In this way, under the double-layer fully interconnected network structure disclosed in the present application, the source routing node can reach the destination routing node through one-step routing, and at most only two-step routing is required, which ensures the communication efficiency between nodes to a certain extent. In addition, since the double-layer fully interconnected network structure includes the first-layer fully interconnected network and the second-layer fully interconnected network, that is, not every node is interconnected, the out-degree and in-degree of each routing node are greatly reduced. Correspondingly, the number of links in the entire network is also greatly reduced, which is more conducive to the layout and wiring of the back-end, saves network resources, and makes hardware implementation simpler. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0069] Figure 1 A schematic diagram of a network topology with three fully interconnected nodes disclosed in this application;

[0070] Figure 2A schematic diagram of a network topology with four fully interconnected nodes disclosed in this application;

[0071] Figure 3 A flow chart of a routing method disclosed in this application;

[0072] Figure 4 A topological structure diagram of a first-layer fully interconnected network disclosed in this application;

[0073] Figure 5 A topological structure diagram of the first second-layer fully interconnected network disclosed in this application;

[0074] Figure 6 A topological structure diagram of the second layer 2 fully interconnected network disclosed in this application;

[0075] Figure 7 A topological structure diagram of the third second-layer fully interconnected network disclosed in this application;

[0076] Figure 8 A topological diagram of a double-layer fully interconnected network structure disclosed in this application;

[0077] Fig. 9 A specific routing method flow chart disclosed in this application;

[0078] Fig.10 A diagram showing the encoding result of a double-layer fully interconnected network structure disclosed in this application;

[0079] Fig.11 A coding result diagram of a fully interconnected network disclosed in this application;

[0080] Fig.12 A diagram showing the encoding results of another fully interconnected network disclosed in this application;

[0081] Fig.13 A schematic diagram of a 16-node double-layer fully interconnected network structure disclosed in this application;

[0082] Fig.14 A schematic diagram of a 15-node double-layer fully interconnected network structure disclosed in this application;

[0083] Fig.15 A schematic diagram of a 10-node double-layer fully interconnected network structure disclosed in this application;

[0084] Fig.16 A schematic diagram of the structure of a routing device disclosed in this application;

[0085] Fig.17 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0086] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0087] Current on-chip networks usually adopt a fully interconnected network topology. For a fully interconnected network with n routing nodes, the network diameter is 1, which means that the destination routing node can be reached from the source routing node through one step of routing, and the out-degree and in-degree of the routing node are n-1. However, as the number of interconnected routing nodes increases, although the network diameter of the entire network is still 1, the out-degree and in-degree of each routing node are constantly increasing linearly, and the number of links in the entire network reaches n×(n-1), resulting in complex layout and wiring, waste of network resources, and difficulty in hardware implementation.

[0088] To this end, the embodiments of the present application disclose a routing method, apparatus, device, medium and computer program product, which can save network resources and facilitate layout and wiring while ensuring communication efficiency.

[0089] See also Figure 3 As shown, an embodiment of the present application discloses a routing method, which includes:

[0090] Step S11: Determine a source routing node and a destination routing node in a preset two-layer fully interconnected network structure; wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network.

[0091] This embodiment discloses a preset two-layer fully interconnected network structure, wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network, and the first-layer fully interconnected network and the second-layer fully interconnected network respectively contain node combination information belonging to the network of that layer.

[0092] In a specific implementation, the process of establishing a double-layer fully interconnected network structure based on each routing node in the on-chip network includes: grouping each routing node in the on-chip network to obtain a number of first node combinations, and establishing a first-layer fully interconnected network based on the routing nodes in each first node combination; constructing a second node combination based on the routing nodes in the same structural position in each first node combination, and establishing a second-layer fully interconnected network based on the routing nodes in each second node combination. That is, when establishing a double-layer fully interconnected network structure, it is first necessary to group each routing node in the on-chip network to obtain a number of first node combinations, and establish a first-layer fully interconnected network based on each routing node in each first node combination, and further, find routing nodes in the same structural position from each first node combination, and construct a second node combination based on these routing nodes in the same structural position, so as to establish a second-layer fully interconnected network based on the routing nodes in each second node combination. In other words, the first-layer fully interconnected network and the second-layer fully interconnected network are essentially obtained by dividing the same batch of routing nodes into different node combinations according to different rules, and then establishing them based on each node combination under different rules.

[0093] The routing nodes in the on-chip network are grouped to obtain a number of first node combinations, and a first-layer fully interconnected network is established based on the routing nodes in each first node combination, including: dividing the routing nodes in the on-chip network into a first number of first node combinations; wherein each first node combination includes a second number of routing nodes, and the product of the first number and the second number is the total number of routing nodes in the on-chip network; interconnecting the second number of routing nodes in each first node combination to establish a first-layer fully interconnected network. Let the first number be k and the second number be m. Therefore, when establishing a first-layer fully interconnected network, all routing nodes in the on-chip network are first evenly divided into k first node combinations, each first node combination includes m routing nodes, and k×m is the total number of routing nodes in the on-chip network. Then, the m routing nodes in each first node combination are fully interconnected, so that k groups of fully interconnected nodes are formed, thereby establishing a first-layer fully interconnected network. For example, if there are 12 routing nodes in the on-chip network, and assuming k=4, m=3, all routing nodes can be evenly divided into 4 groups, each with 3 routing nodes, and then the 3 routing nodes in each group are fully interconnected, forming Figure 4 The first layer of the fully interconnected network is shown.

[0094] Furthermore, a second node combination is constructed based on the routing nodes with the same structural position in each first node combination, and a second-layer fully interconnected network is established based on the routing nodes in each second node combination, including: respectively selecting routing nodes located at the same structural position from each first node combination to obtain a second node combination; wherein the number of second node combinations is the second number, and each second node combination includes the first number of routing nodes; interconnecting the first number of routing nodes within each second node combination to establish a second-layer fully interconnected network. That is, respectively selecting k routing nodes located at the same structural position from the k first node combinations to obtain m second node combinations, and interconnecting the k routing nodes within each second node combination to establish a second-layer fully interconnected network. Similarly, in the case where there are 12 routing nodes in the on-chip network, Figure 4 Based on the combination of the four first nodes shown in FIG. 1 , the four nodes with the same structural position are fully interconnected to form a second-layer full interconnection, as shown in FIG. Figures 5 to 7 As shown, the final formation is as follows Figure 8 The topology diagram of the two-layer fully interconnected network structure is shown.

[0095] In addition, the network diameter of each first node combination in the first-layer fully interconnected network is 1, the network diameter of each second node combination in the second-layer fully interconnected network is 1, and the network diameter of the double-layer fully interconnected network structure is 2. First of all, it should be pointed out that the network diameter refers to the maximum value of the shortest distance between two nodes in the network. The smaller the network diameter, the shorter the network communication delay. Since each routing node in each node combination in the first-layer fully interconnected network and the second-layer fully interconnected network are interconnected, the network diameter of each first node combination in the first-layer fully interconnected network and the network diameter of each second node combination in the second-layer fully interconnected network are both 1, and the network diameter of the entire double-layer fully interconnected network structure is 2.

[0096] Moreover, in the double-layer fully interconnected network structure disclosed in the present application, since not every node is interconnected, the out-degree and in-degree of its routing node are smaller than the out-degree and in-degree of the preset fully connected network. The node degree refers to the number of channels connecting a node with its neighboring nodes, or the number of ports of the router in the node.

[0097] Among them, through Figure 8 From the topological structure of , we can know that the calculation expressions of the out-degree and in-degree of each routing node in the two-layer fully interconnected network structure are:

[0098] Out-degree / in-degree = (first quantity - 1) + (second quantity - 1);

[0099] The calculation expressions of the out-degree and in-degree of the preset fully connected network are:

[0100] Out-degree / in-degree=first quantity×second quantity-1.

[0101] It can be seen that the present application discloses a two-layer fully interconnected network structure containing k×m nodes. The network diameter of the entire network is 2, and the out-degree and in-degree of each routing node are (k-1)+(m-1), which is much smaller than the k×m-1 of the fully connected network, and the out-degree and in-degree of the routing node can be minimized by adjusting the values ​​of k and m. That is, compared with the fully connected network, the out-degree and in-degree of each routing node are greatly reduced through the two-layer fully interconnected network structure in the present application. Correspondingly, the number of links in the entire network is also greatly reduced, which is more conducive to the layout and wiring of the backend, saves network resources, and makes the hardware implementation simpler.

[0102] Step S12: Determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network.

[0103] In this embodiment, after the source routing node and the destination routing node are determined in the two-layer fully interconnected network structure, it is first necessary to determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer of the fully interconnected network or are both located in the same node combination in the second layer of the fully interconnected network.

[0104] Specifically, determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer of the fully interconnected network or the same node combination in the second layer of the fully interconnected network includes: determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer of the fully interconnected network; if so, executing the step of directly routing the target data from the source routing node to the destination routing node; if not, determining whether the source routing node and the destination routing node are both located in the same node combination in the second layer of the fully interconnected network; if so, executing the step of directly routing the target data from the source routing node to the destination routing node.

[0105] That is, the present application first determines whether the source routing node and the destination routing node are both located in the same node combination in the first layer of the fully interconnected network. Figure 4 For example, it is equivalent to judging whether the source routing node and the destination routing node are both located Figure 4 In the ring structure composed of three routing nodes, if yes, it means that the source routing node and the destination routing node are directly connected, so the target data can be directly routed from the source routing node to the destination routing node. Otherwise, it is further determined whether the source routing node and the destination routing node are both located in the same node combination in the second-layer fully interconnected network. Figures 5 to 7 For example, it is equivalent to judging whether the source routing node and the destination routing node are both located Figures 5 to 7In the rectangular frame structure shown in , if , it means that the source routing node and the destination routing node are also directly interconnected, so the target data can be directly routed from the source routing node to the destination routing node.

[0106] Step S13: If yes, the target data is directly routed from the source routing node to the destination routing node.

[0107] In this embodiment, if yes, it means that the source routing node and the destination routing node are directly connected. At this time, the target data can be directly routed from the source routing node to the destination routing node. That is to say, in this case, its communication efficiency is consistent with that of a fully connected network, and the source routing node can reach the destination routing node after one step of routing.

[0108] Step S14: If not, determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rule, and route the target data from the source routing node to the destination routing node through the intermediate routing node; the intermediate routing node is located in the same node combination of the same layer of the fully interconnected network as the source routing node and the destination routing node.

[0109] In this embodiment, if the source routing node and the destination routing node are not located in the same node combination in the first layer of the fully interconnected network, and are not located in the same node combination in the second layer of the fully interconnected network, then it is necessary to determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rules, and then route the target data from the source routing node to the destination routing node through the intermediate routing node. At this time, the intermediate routing node and the source routing node are located in the same node combination in the same layer of the fully interconnected network, and are also located in the same node combination in the same layer of the fully interconnected network as the destination routing node. That is, in this case, the source routing node only needs to go through two steps of routing to reach the destination routing node. In this way, under the two-layer fully interconnected network structure disclosed in the present application, the source routing node can reach the destination routing node through one step of routing, and at most only two steps of routing are required, which guarantees the communication efficiency between nodes to a certain extent.

[0110] It can be seen that the present application discloses a preset two-layer fully interconnected network structure, each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network, and the first-layer fully interconnected network and the second-layer fully interconnected network respectively have node combination information belonging to the layer network. After the source routing node and the destination routing node are determined in the two-layer fully interconnected network structure, it is first necessary to determine whether the source routing node and the destination routing node are both located in the same node combination in the first-layer fully interconnected network or the same node combination in the second-layer fully interconnected network. If so, it means that the source routing node and the destination routing node are directly connected. At this time, the target data can be directly routed from the source routing node to the destination routing node. That is to say, in this case, its communication efficiency is consistent with that of the fully connected network, and the source routing node can reach the destination routing node after one-step routing. In addition, if the source routing node and the destination routing node are not located in the same node combination in the first layer of the fully interconnected network, and are not located in the same node combination in the second layer of the fully interconnected network, then it is necessary to determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rules, and then route the target data from the source routing node to the destination routing node through the intermediate routing node. At this time, the intermediate routing node and the source routing node are located in the same node combination in the same layer of the fully interconnected network, and are also located in the same node combination in the same layer of the fully interconnected network as the destination routing node. That is, in this case, the source routing node only needs to go through two steps of routing to reach the destination routing node. In this way, under the double-layer fully interconnected network structure disclosed in the present application, the source routing node can reach the destination routing node through one-step routing, and at most only two-step routing is required, which ensures the communication efficiency between nodes to a certain extent. In addition, since the double-layer fully interconnected network structure includes the first-layer fully interconnected network and the second-layer fully interconnected network, that is, not every node is interconnected, the out-degree and in-degree of each routing node are greatly reduced. Correspondingly, the number of links in the entire network is also greatly reduced, which is more conducive to the layout and wiring of the back-end, saves network resources, and makes hardware implementation simpler.

[0111] See also Fig. 9 As shown, the embodiment of the present application discloses a specific routing method. Compared with the previous embodiment, this embodiment further explains and optimizes the technical solution. Specifically, it includes:

[0112] Step S21: Determine a source routing node and a destination routing node in a preset two-layer fully interconnected network structure; wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network.

[0113] Step S22: Determine the first node number of the source routing node in the double-layer fully interconnected network structure, and determine the second node number of the destination routing node in the double-layer fully interconnected network structure.

[0114] This embodiment pre-numbers each routing node in the two-layer fully interconnected network structure. The node number includes a first code for representing any node combination in the first layer of the fully interconnected network where the routing node is located and a second code for representing the target structure position of the routing node in any node combination. Figure 8 Taking the double-layer fully interconnected network structure shown in FIG. 1 as an example, firstly, the four groups of fully interconnected networks with three routing nodes in the first layer of the fully interconnected network are respectively coded as 00, 01, 10, and 11, and a first code for representing any node combination in the first layer of the fully interconnected network where the routing node is located is obtained; secondly, each node inside the ring structure is sequentially coded as 00, 01, and 10, and a second code for representing the target structural position of the routing node in any node combination is obtained, thereby finally forming the following structure: Fig.10 The encoding result is shown in Figure 1. Each routing node is numbered as , where i represents the first code and j represents the second code. Fig.10 The topological structure shown in the figure shows that routing nodes with equal i (such as i=01) are directly connected to form a Fig.11 The fully interconnected network shown in Figure 1 The structure shown in the figure is consistent; the routing nodes with equal j (such as j=10) are directly connected to form Fig.12 The fully interconnected network shown in Figure 2 The structure shown is consistent.

[0115] Therefore, the first node number and the second node number of the source routing node and the destination routing node in the double-layer fully interconnected network structure can be determined by this encoding method.

[0116] Step S23: Based on the first node number and the second node number, determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network.

[0117] In this embodiment, based on the first node number and the second node number obtained above, it is determined whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or are both located in the same node combination in the second layer fully interconnected network.

[0118] Specifically, judging whether the source routing node and the destination routing node are both located in the same node combination in the first layer of the fully interconnected network or the same node combination in the second layer of the fully interconnected network based on the first node number and the second node number includes: judging whether the first code in the first node number and the first code in the second node number are the same; if they are the same, judging that the source routing node and the destination routing node are both located in the same node combination in the first layer of the fully interconnected network; judging whether the second code in the first node number and the second code in the second node number are the same; if they are the same, judging that the source routing node and the destination routing node are both located in the same node combination in the second layer of the fully interconnected network.

[0119] Assume that the first node number corresponding to the source routing node is , the second node number corresponding to the target routing node is , first determine the first code in the first node number and the first code in the second node number Are they the same? If , it means that the source routing node and the destination routing node are both located in the same node combination in the first-layer fully interconnected network, and the target data can be directly routed from the source routing node to the destination routing node. , indicating that the source routing node and the destination routing node are not in the same node combination in the first layer of the fully interconnected network. Further, determine the second code in the first node number and the second encoding in the second node number Are they the same? If , it means that the source routing node and the destination routing node are both located in the same node combination in the second-layer fully interconnected network, and the target data can be directly routed from the source routing node to the destination routing node. , indicating that the source routing node and the destination routing node are not in the same node combination in the second-layer fully interconnected network.

[0120] Step S24: If yes, the target data is directly routed from the source routing node to the destination routing node.

[0121] Step S25: If not, obtain the first node number corresponding to the source routing node, obtain the second node number corresponding to the destination routing node, and determine the intermediate routing node based on the first node number, the second node number and the preset coding rule.

[0122] In this embodiment, if and , then further determine the intermediate routing node based on the first node number corresponding to the source routing node, the second node number corresponding to the destination routing node and the preset coding rule.

[0123] In a specific embodiment, the intermediate routing node is determined based on the first node number, the second node number and the preset coding rule, including: determining the first target node combination where the source routing node is located in the first layer of the fully interconnected network based on the first node number; determining the intermediate routing node in the first target node combination based on the preset coding rule and the second node number corresponding to the destination routing node. It can be understood that, according to the topological diagram of the aforementioned disclosed two-layer fully interconnected network structure, in the first target node combination where the source routing node S is located in the first layer of the fully interconnected network, there is a routing node directly connected to the destination routing node D, which is recorded as , It can be determined based on the preset coding rule and the second node number corresponding to the destination routing node. , ,from Fig.10 It can be seen that the source routing node S has a routing node in the node combination in the first layer of the fully interconnected network. Directly connected to the destination routing node D, therefore, That is the determined intermediate routing node.

[0124] Specifically, in the first target node combination, the intermediate routing node is determined based on the preset coding rule and the second node number corresponding to the destination routing node, including: determining the node number information of the remaining routing nodes except the source routing node in the first target node combination; based on the node number information, filtering out the routing nodes with the same second code as the second node number corresponding to the destination routing node from the remaining routing nodes to serve as the intermediate routing nodes; wherein the first code corresponding to the intermediate routing node is the first code of the source routing node, and the second code corresponding to the intermediate routing node is the second code of the destination routing node. That is, first determine the intermediate routing nodes except the source routing node in the first target node combination. The node number information of the remaining routing nodes other than the destination routing node is (01,01) and (01,10) respectively, and then the second node number corresponding to the destination routing node is selected from the remaining routing nodes based on the node number information. The second code "10" in the same routing node is used as the intermediate routing node, that is, (01,10) is found as the intermediate routing node. It should be pointed out that the intermediate routing node Number It can be obtained through the node numbers of the source routing node and the destination routing node. The first code corresponding to the intermediate routing node is the first code of the source routing node, and the second code corresponding to the intermediate routing node is the second code of the destination routing node, which is specifically expressed as: , .

[0125] In another specific embodiment, the intermediate routing node is determined based on the first node number, the second node number and the preset coding rule, including: determining the second target node combination where the destination routing node is located in the first layer of the fully interconnected network based on the second node number; determining the intermediate routing node in the second target node combination based on the preset coding rule and the first node number corresponding to the source routing node. It can be understood that, according to the topological diagram of the aforementioned disclosed two-layer fully interconnected network structure, in the second target node combination where the destination routing node D is located in the first layer of the fully interconnected network, there is also a routing node directly connected to the source routing node S, which is recorded as , It can be determined based on the preset coding rule and the first node number corresponding to the source routing node. , ,from Fig.10 It can be seen that the destination routing node D has a routing node in the node combination in the first layer of the fully interconnected network. Directly connected to the source routing node S, therefore, That is the determined intermediate routing node.

[0126] Specifically, in the second target node combination, the intermediate routing node is determined based on the preset coding rule and the first node number corresponding to the source routing node, including: determining the node number information of the remaining routing nodes except the destination routing node in the second target node combination; based on the node number information, filtering out the routing nodes with the same second code as the first node number corresponding to the source routing node from the remaining routing nodes to serve as the intermediate routing nodes; wherein the first code corresponding to the intermediate routing node is the first code of the destination routing node, and the second code corresponding to the intermediate routing node is the second code of the source routing node. That is, first determine the routing nodes except the destination routing node in the second target node combination, The node number information of the remaining routing nodes other than the source routing node is (10,00) and (10,01), respectively. Then, based on the node number information, the first node number corresponding to the source routing node is selected from the remaining routing nodes. The second code "00" in the same routing node is used as the intermediate routing node, that is, (10,00) is found as the intermediate routing node. It should be pointed out that the intermediate routing node Number It can be obtained through the node numbers of the source routing node and the destination routing node. The first code corresponding to the intermediate routing node is the first code of the destination routing node, and the second code corresponding to the intermediate routing node is the second code of the source routing node, which is specifically expressed as: , .

[0127] Step S26: Routing the target data from the source routing node to the destination routing node via the intermediate routing node; the intermediate routing node is located in the same node combination of the same layer of the fully interconnected network as the source routing node and the destination routing node.

[0128] In a specific embodiment, the target data is sent from the source routing node Through intermediate routing nodes Routing to the destination routing node .

[0129] In another specific embodiment, the target data is sent from the source routing node Through intermediate routing nodes Routing to the destination routing node .

[0130] For more specific processing procedures of the above steps S21 and S24, reference may be made to the corresponding contents disclosed in the above embodiments, which will not be described in detail here.

[0131] It can be seen that the present application has pre-numbered each routing node in the double-layer fully interconnected network structure. Among them, the node number includes a first code for representing any node combination in the first-layer fully interconnected network where the routing node is located and a second code for characterizing the target structure position of the routing node in any node combination. Therefore, through this coding method, the first node number and the second node number of the source routing node and the destination routing node in the double-layer fully interconnected network structure can be determined first, and then the first node number and the second node number can be used to quickly determine whether the source routing node and the destination routing node are both located in the same node combination in the first-layer fully interconnected network or the same node combination in the second-layer fully interconnected network. In the case of not being located in the same node combination in the same layer of the fully interconnected network, the intermediate routing node can also be quickly determined according to the first node number, the second node number and the preset coding rule, so that the target data can be routed from the source routing node to the destination routing node through the intermediate routing node.

[0132] Below Fig.10 As an example, assume that the source routing node , destination routing node , the technical solution of this application is described in detail:

[0133] Step 1: Judgement and Are they equal? , indicating that S and D are not located in the same node combination in the first-layer fully interconnected network at the same time, and proceed to the second step;

[0134] Step 2: Judgement and Are they equal? , indicating that S and D are not located in the same node combination in the second-layer fully interconnected network at the same time, and then proceed to the third step;

[0135] Step 3: Route the target data from the source routing node S to the destination routing node D through the intermediate routing nodes:

[0136] The first routing method: routing from S to , and then from Route to D. Encoding It can be obtained by encoding S and D, where , Specific expression is .

[0137] The second routing method: routing from S to , and then from Route to D. Encoding It can be obtained by encoding S and D, where , Specific expression is .

[0138] Furthermore, in addition to the aforementioned method of dividing the 12 routing nodes into 4 groups, each with three routing nodes, the following is obtained: Figure 8 In addition to the topology diagram of the double-layer fully interconnected network structure shown in the figure, the present application also discloses the following different topologies of double-layer fully interconnected network structures.

[0139] Fig.13 The 16 routing nodes are evenly divided into 4 groups, each group includes 4 routing nodes, and then the 4 routing nodes in each group are fully interconnected, and the 4 routing nodes with the same structural position in each group are fully interconnected, resulting in a topological structure diagram of the corresponding double-layer fully interconnected network structure.

[0140] Fig.14 The 15 routing nodes are evenly divided into 5 groups, each group includes 3 routing nodes, and then the 3 routing nodes in each group are fully interconnected, and the 5 routing nodes with the same structural position in each group are fully interconnected, and the topological structure diagram of the corresponding two-layer fully interconnected network structure is obtained.

[0141] Fig.15 The topological structure diagram of the corresponding two-layer fully interconnected network structure is obtained by dividing 10 routing nodes into 5 groups evenly, each group includes 2 routing nodes, and then fully interconnecting the 2 routing nodes within each group, and fully interconnecting the 5 routing nodes with the same structural position in each group.

[0142] See also Fig.16 As shown, the present application discloses a routing device, including:

[0143] A node determination module 11 is used to determine a source routing node and a destination routing node in a preset double-layer fully interconnected network structure; wherein each vertex in the double-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the double-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network;

[0144] A determination module 12, used to determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network;

[0145] A first routing module 13, configured to directly route the target data from the source routing node to the destination routing node if yes;

[0146] The second routing module 14 is used to determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rule, and route the target data from the source routing node to the destination routing node through the intermediate routing node; the intermediate routing node is located in the same node combination of the same layer of the fully interconnected network as the source routing node and the destination routing node.

[0147] It can be seen that the present application discloses a preset two-layer fully interconnected network structure, each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first-layer fully interconnected network and a second-layer fully interconnected network, and the first-layer fully interconnected network and the second-layer fully interconnected network respectively have node combination information belonging to the layer network. After the source routing node and the destination routing node are determined in the two-layer fully interconnected network structure, it is first necessary to determine whether the source routing node and the destination routing node are both located in the same node combination in the first-layer fully interconnected network or the same node combination in the second-layer fully interconnected network. If so, it means that the source routing node and the destination routing node are directly connected. At this time, the target data can be directly routed from the source routing node to the destination routing node. That is to say, in this case, its communication efficiency is consistent with that of the fully connected network, and the source routing node can reach the destination routing node after one-step routing. In addition, if the source routing node and the destination routing node are not located in the same node combination in the first layer of the fully interconnected network, and are not located in the same node combination in the second layer of the fully interconnected network, then it is necessary to determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rules, and then route the target data from the source routing node to the destination routing node through the intermediate routing node. At this time, the intermediate routing node and the source routing node are located in the same node combination in the same layer of the fully interconnected network, and are also located in the same node combination in the same layer of the fully interconnected network as the destination routing node. That is, in this case, the source routing node only needs to go through two steps of routing to reach the destination routing node. In this way, under the double-layer fully interconnected network structure disclosed in the present application, the source routing node can reach the destination routing node through one-step routing, and at most only two-step routing is required, which ensures the communication efficiency between nodes to a certain extent. In addition, since the double-layer fully interconnected network structure includes the first-layer fully interconnected network and the second-layer fully interconnected network, that is, not every node is interconnected, the out-degree and in-degree of each routing node are greatly reduced. Correspondingly, the number of links in the entire network is also greatly reduced, which is more conducive to the layout and wiring of the back-end, saves network resources, and makes hardware implementation simpler.

[0148] Since the embodiments of the apparatus part and the embodiments of the method part correspond to each other, the embodiments of the apparatus part refer to the description of the embodiments of the method part, which will not be described here. In addition, the invention has the same beneficial effects as the above-mentioned routing method.

[0149] Fig.17A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Specifically, it may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. Among them, the memory 22 is used to store a computer program, and the computer program is loaded and executed by the processor 21 to implement the relevant steps in the routing method performed by the electronic device disclosed in any of the aforementioned embodiments.

[0150] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0151] Among them, the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 can be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 21 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 21 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 21 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0152] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon include an operating system 221, a computer program 222 and data 223, etc. The storage method can be temporary storage or permanent storage.

[0153] Among them, the operating system 221 is used to manage and control the hardware devices and computer programs 222 on the electronic device 20, so as to realize the operation and processing of the massive data 223 in the memory 22 by the processor 21, which can be Windows, Unix, Linux, etc. In addition to including a computer program that can be used to complete the routing method performed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks. In addition to data transmitted from an external device received by the electronic device, the data 223 can also include data collected by its own input and output interface 25, etc.

[0154] Furthermore, an embodiment of the present application also discloses a computer-readable storage medium, in which a computer program is stored. When the computer program is loaded and executed by a processor, the routing method steps disclosed in any of the aforementioned embodiments are implemented.

[0155] Furthermore, an embodiment of the present application also discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the routing method disclosed in any of the aforementioned embodiments.

[0156] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0157] Those skilled in the art may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0158] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art.

[0159] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0160] The above describes in detail a routing method, apparatus, device, medium and computer program product provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A routing method, characterized in that: include: Determine a source routing node and a destination routing node in a preset two-layer fully interconnected network structure; wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first layer fully interconnected network and a second layer fully interconnected network; Determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network; If yes, directly routing the target data from the source routing node to the destination routing node; If not, an intermediate routing node is determined based on the source routing node, the destination routing node and the preset coding rule, and the target data is routed from the source routing node to the destination routing node through the intermediate routing node; the intermediate routing node is located in the same node combination of the same layer of the fully interconnected network as the source routing node and the destination routing node.

2. The routing method according to claim 1, characterized in that: The process of establishing the two-layer fully interconnected network structure based on each routing node in the on-chip network includes: Grouping each routing node in the on-chip network to obtain a plurality of first node combinations, and establishing the first layer fully interconnected network based on the routing nodes in each of the first node combinations; A second node combination is constructed based on the routing nodes with the same structural position in each of the first node combinations, and the second layer fully interconnected network is established based on the routing nodes in each of the second node combinations.

3. The routing method according to claim 2, characterized in that: The step of grouping the routing nodes in the network on chip to obtain a plurality of first node combinations, and establishing the first layer fully interconnected network based on the routing nodes in each of the first node combinations, includes: Divide each routing node in the network on chip into a first number of first node combinations; wherein each of the first node combinations includes a second number of routing nodes, and the product of the first number and the second number is the total number of routing nodes in the network on chip; The second number of routing nodes within each of the first node combinations are interconnected to establish the first layer fully interconnected network.

4. The routing method according to claim 3, characterized in that: The step of constructing a second node combination based on the routing nodes having the same structural position in each of the first node combinations, and establishing the second layer fully interconnected network based on the routing nodes in each of the second node combinations, includes: Selecting routing nodes located at the same structural position from each of the first node combinations to obtain second node combinations; wherein the number of the second node combinations is the second number, and each of the second node combinations includes the first number of routing nodes; The first number of routing nodes within each of the second node combinations are interconnected to establish the second layer fully interconnected network.

5. The routing method according to claim 4, characterized in that: The network diameter of each of the first node combinations in the first-layer fully interconnected network is 1, the network diameter of each of the second node combinations in the second-layer fully interconnected network is 1, and the network diameter of the double-layer fully interconnected network structure is 2.

6. The routing method according to claim 4, characterized in that: The out-degree and in-degree of each routing node in the double-layer fully interconnected network structure are smaller than the out-degree and in-degree of the preset fully connected network.

7. The routing method according to claim 6, characterized in that: The calculation expressions of the out-degree and in-degree of each routing node in the two-layer fully interconnected network structure are: Out-degree / in-degree = (first quantity - 1) + (second quantity - 1); The calculation expressions of the out-degree and in-degree of the preset fully connected network are: Out-degree / in-degree=first quantity×second quantity-1.

8. The routing method according to claim 1, characterized in that: The determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network includes: Determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network; If yes, then executing the step of directly routing the target data from the source routing node to the destination routing node; If not, determining whether the source routing node and the destination routing node are both located in the same node combination in the second layer fully interconnected network; If so, the step of directly routing the target data from the source routing node to the destination routing node is performed.

9. The routing method according to any one of claims 1 to 8, characterized in that: The determining whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network includes: Determine a first node number of the source routing node in the double-layer fully interconnected network structure; Determine a second node number of the destination routing node in the double-layer fully interconnected network structure; Based on the first node number and the second node number, it is determined whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network.

10. The routing method according to claim 9, characterized in that: The node number includes a first code for indicating any node combination in the first layer fully interconnected network where the routing node is located and a second code for characterizing a target structural position where the routing node is located in any node combination.

11. The routing method according to claim 10, characterized in that: The determining, based on the first node number and the second node number, whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network includes: Determine whether the first code in the first node number and the first code in the second node number are the same, and if they are the same, determine that the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network; Determine whether the second code in the first node number is the same as the second code in the second node number; if they are the same, determine that the source routing node and the destination routing node are both located in the same node combination in the second layer fully interconnected network.

12. The routing method according to claim 10, characterized in that: The determining of the intermediate routing node based on the source routing node, the destination routing node and a preset coding rule includes: Obtaining the first node number corresponding to the source routing node; Obtaining the second node number corresponding to the destination routing node; An intermediate routing node is determined based on the first node number, the second node number and a preset coding rule.

13. The routing method according to claim 12, characterized in that: The determining of the intermediate routing node based on the first node number, the second node number and a preset coding rule includes: Determine, based on the first node number, a first target node combination where the source routing node is located in the first layer fully interconnected network; An intermediate routing node is determined in the first target node combination based on a preset coding rule and the second node number corresponding to the destination routing node.

14. The routing method according to claim 13, characterized in that: The determining of the intermediate routing node in the first target node combination based on a preset coding rule and the second node number corresponding to the destination routing node includes: Determine node number information of remaining routing nodes in the first target node combination except the source routing node; Based on the node number information, a routing node with the same second code as the second node number corresponding to the destination routing node is selected from the remaining routing nodes as an intermediate routing node; wherein the first code corresponding to the intermediate routing node is the first code of the source routing node, and the second code corresponding to the intermediate routing node is the second code of the destination routing node.

15. The routing method according to claim 12, characterized in that: The determining of the intermediate routing node based on the first node number, the second node number and a preset coding rule includes: Determine, based on the second node number, a second target node combination where the destination routing node is located in the first layer fully interconnected network; An intermediate routing node is determined in the second target node combination based on a preset coding rule and the first node number corresponding to the source routing node.

16. The routing method according to claim 15, characterized in that: The determining of the intermediate routing node in the second target node combination based on a preset coding rule and the first node number corresponding to the source routing node includes: Determine node number information of remaining routing nodes in the second target node combination except the destination routing node; Based on the node number information, a routing node having the same second code as the first node number corresponding to the source routing node is selected from the remaining routing nodes as an intermediate routing node; wherein the first code corresponding to the intermediate routing node is the first code of the destination routing node, and the second code corresponding to the intermediate routing node is the second code of the source routing node.

17. A routing device, characterized in that: include: A node determination module, used to determine a source routing node and a destination routing node in a preset two-layer fully interconnected network structure; wherein each vertex in the two-layer fully interconnected network structure corresponds to each routing node in the on-chip network, and the two-layer fully interconnected network structure includes a first layer fully interconnected network and a second layer fully interconnected network; A determination module, used to determine whether the source routing node and the destination routing node are both located in the same node combination in the first layer fully interconnected network or the same node combination in the second layer fully interconnected network; A first routing module, configured to directly route the target data from the source routing node to the destination routing node; The second routing module is used to determine the intermediate routing node based on the source routing node, the destination routing node and the preset coding rule, and route the target data from the source routing node to the destination routing node through the intermediate routing node; the intermediate routing node is respectively located in the same node combination of the source routing node and the destination routing node in the same layer of the fully interconnected network.

18. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the steps of the routing method according to any one of claims 1 to 16.

19. A computer-readable storage medium, characterized in that: Used to store a computer program; wherein, when the computer program is executed by a processor, the steps of the routing method according to any one of claims 1 to 16 are implemented.

20. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the routing method according to any one of claims 1 to 16 are implemented.

Citation Information

Patent Citations

  • Network on chip system and establishment method of network on chip communication link

    CN105450555A

  • Distributed routing implementation method and device, equipment and medium

    CN117135116A

  • Routing path determination method, device and equipment of bidirectional topology network and medium

    CN117354230A

  • Method for determining location information of routing node, computer device, storage medium, program product and network assembly

    CN119135598A

  • Routing path generation method and device, program product and storage medium

    CN119583433A