On-chip network transmission information arbitration method and related equipment

By calculating the weight values to be sent in the on-chip network and sorting them, the problem of traffic load imbalance is solved, and a fairer resource allocation is achieved and fault tolerance is improved.

CN120263759AActive Publication Date: 2025-07-04SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD

Patent Information

Application Number
CN202510741445.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-05
Publication Date
2025-07-04
Estimated Expiration
2045-06-05

AI Technical Summary

Technical Problem

There is a problem of traffic load imbalance in on-chip networks, and the existing technology has not been effectively solved.

Method used

By determining the set of requests to be sent on the target node, and according to the fault status of the node closest to the target node in the message transmission path, the number of space idles in the microchip size, the number of historical requests in the same transmission direction, and the historical weight value, the weight values of each request to be sent are calculated, and the weight values are sorted and responded in the order of the weight values from high to low.

Benefits of technology

It effectively avoids traffic load imbalance in the on-chip network, improves the fault tolerance of transmission information and the fairness of resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120263759A_ABST
    Figure CN120263759A_ABST
Patent Text Reader

Abstract

The invention provides a network-on-chip transmission information arbitration method and related equipment, and belongs to the technical field of computers, and the method comprises the following steps: determining a request to be sent by a target node in each input direction in a current round of arbitration period, and obtaining a target set; determining a weight value corresponding to each to-be-sent request in a target set according to a fault state of a node closest to a target node in a message transmission path of the target request, a space idle number of a flit size, a historical request number in the same transmission direction and a historical weight value; the historical weight value is a corresponding weight value when the target node sends each to-be-sent request in the last round of arbitration period; and sorting the to-be-sent requests in the target set according to a sequence of the weight values from high to low so as to respond to the sorted to-be-sent requests by using a crossbar switch on the target node. According to the method, the technical problem that the flow load of the network-on-chip is unbalanced in the related technology can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technologies, and particularly to an arbitration method for transmitting information in a network-on-chip and related devices. Background Art

[0002] A Network-on-Chip (NoC) is a new communication architecture applied to a System-on-Chip (SoC). It connects multiple processor cores, memories, and other functional modules inside the chip in a networked manner, and can solve the bottleneck problem of on-chip communication.

[0003] Generally, each node in the network-on-chip is arranged in a grid pattern, and an arbiter is provided on each node of the network-on-chip. Among them, the main function of the arbiter is to solve the problem that multiple requests preempt the same resource at the same time. The arbitration mechanism set in the arbiter can strive for a more fair response opportunity for each request. However, in the related art, the arbiter in the network-on-chip designs the arbitration mechanism with reference to the information of this node, without considering the change of the overall traffic in the network-on-chip, which will lead to the problem of unbalanced traffic load in the network-on-chip. At present, there is no relatively effective solution to this technical problem. Summary of the Invention

[0004] The purpose of the embodiments of the present invention is to provide an arbitration method for transmitting information in a network-on-chip and related devices to solve the technical problem of unbalanced traffic load in the network-on-chip in the related art.

[0005] To solve the above technical problem, the present invention provides an arbitration method for transmitting information in a network-on-chip, which is applied to a target node in a network-on-chip arranged in a grid pattern. The target node is any node of the network-on-chip, and includes: Determining requests to be sent in each input direction of the target node in the current arbitration cycle to obtain a target set; Determining the weight value corresponding to each request to be sent in the target set according to the failure state of the node closest to the target node in the message transmission path of the target request, the spatial free number of micro-package sizes, the historical request quantity in the same transmission direction, and the historical weight value; the target request is any request to be sent in the target set; the historical weight value is the weight value corresponding to each request to be sent when the target node sends them in the previous arbitration cycle; Sorting the requests to be sent in the target set in descending order of the weight value, so as to use the crossbar switch on the target node to respond to the sorted requests to be sent.

[0006] In a specific implementation of the present application, determining the requests to be sent by the target node in each input direction in the current arbitration cycle to obtain the target set includes: Taking the position of the target node in the on-chip network as a reference point, determine the requests to be sent by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction in the current arbitration cycle, and determine the requests to be sent that are retained by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction in the previous arbitration cycle, to obtain the target set.

[0007] In a specific implementation of the present application, it also includes: The data packet header flit of each to-be-sent request in the target set is parsed to determine the output direction of each to-be-sent request in the target set relative to the target node.

[0008] In a specific implementation of the present application, parsing the header flit of each data packet of the request to be sent in the target set includes: The router in the target node is used to parse the header fragments of each data packet of the request to be sent in the target set.

[0009] In a specific implementation manner of the present application, the determining of the requests to be sent by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction, and the local incoming direction in the current round of arbitration cycle, and the determining of the requests to be sent retained by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction, and the local incoming direction in the previous round of arbitration cycle, to obtain the target set, includes: Determine the to-be-sent requests cached by the target node in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area in the current arbitration cycle, and determine the to-be-sent requests that are respectively retained in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area in the previous arbitration cycle, to obtain a first subset, a second subset, a third subset, a fourth subset, and a fifth subset; The target set includes the first subset, the second subset, the third subset, the fourth subset and the fifth subset; The first buffer area, the second buffer area, the third buffer area, the fourth buffer area, and the fifth buffer area are respectively the buffer areas corresponding to the target node in the incoming direction from the east, the incoming direction from the west, the incoming direction from the south, the incoming direction from the north, and the incoming direction from the local area; The arbitration period is: starting from the processing of the pending transmission requests cached and held in the first buffer area, the second buffer area, the third buffer area, the fourth buffer area, and the fifth buffer area, and the time required until the processing of the pending transmission requests cached and held in the first buffer area, the second buffer area, the third buffer area, the fourth buffer area, and the fifth buffer area is completed.

[0010] In a specific implementation manner of the present application, the sorting of each pending transmission request in the target set in descending order of the weight value to use the crossbar on the target node to respond to the sorted pending transmission requests includes: First, respond to the pending transmission requests with the destination address being local in the first subset, the second subset, the third subset, the fourth subset, and the fifth subset, and sort the other pending transmission requests except those with the destination address being local in the first subset, the second subset, the third subset, the fourth subset, and the fifth subset in descending order of the weight value to obtain a first request sequence, a second request sequence, a third request sequence, a fourth request sequence, and a fifth request sequence; Send the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node to use the crossbar to respond to each pending transmission request in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence.

[0011] In a specific implementation manner of the present application, the sending of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node to use the crossbar to respond to each pending transmission request in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence includes: If there is only one pending request in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then send the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar can simultaneously respond to the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence; If there is more than one pending request in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then send the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar can respond to the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence based on the first-in-first-out principle.

[0012] In a specific implementation manner of the present application, determining the weight values corresponding to the pending requests in the target set according to the failure status of the node closest to the target node in the message transmission path of the target request, the available space of the microchip size, the historical request quantity in the same transmission direction, and the historical weight value includes: Determine the weight values corresponding to the pending requests other than those with the destination address being local in the target set according to the weight setting model; Among them, the expression of the weight setting model is: ; In the formula, represents the weight value corresponding to the target cache request in the target cache area, and the target cache area is any one of the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area; the target cache request is any pending request other than those with the destination address being local in the target cache area; is the failure status of the neighboring node, and the neighboring node is the node closest to the target node in the message transmission path of the target cache request; when the neighboring node fails, , when the neighboring node does not fail, ; Indicates the spatial free number of the microchip size of the peripheral node in the peripheral cache area; the direction of the peripheral cache area relative to the peripheral node is: the corresponding direction of the target cache area relative to the target node; Indicates the value re-assigned according to the weight value of other pending transmission requests of the target node in the previous arbitration cycle and in the target cache area except for the pending transmission requests with the destination address being local; Indicates a preset coefficient; Indicates the number of pending transmission requests with the same output direction as the target cache request of the target node in the previous arbitration cycle and in the target cache area. When there is no pending transmission request with the same output direction as the target cache request of the target node in the previous arbitration cycle and in the target cache area, let .

[0013] In a specific embodiment of the present application, it further includes: In the previous arbitration cycle and in the target cache area, obtain the weight values of other pending transmission requests of the target node except for the pending transmission requests with the destination address being local, and sort each pending transmission request in descending order of the weight value to obtain a first sequence; If there is a pending transmission request sent in the target output direction in the first sequence, determine the pending transmission request sent in the target output direction in the first sequence to obtain a target screening set; the target output direction is the same as the output direction of the target cache request; Determine the pending transmission request corresponding to the largest weight value in the target screening set to obtain a target screening request, and screen out the pending transmission requests that first appear in different output directions from the first sequence to obtain a second sequence; According to the arrangement order of the target screening request in the second sequence, is assigned a value.

[0014] In a specific embodiment of the present application, it further includes: If there is no pending transmission request sent in the target output direction in the first sequence, then according to the target output direction, is assigned a value.

[0015] In a specific embodiment of the present application, it further includes: Send a target detection signal to the peripheral node, and determine whether the peripheral node has a fault according to the feedback signal returned by the peripheral node.

[0016] In a specific embodiment of the present application, sending a target detection signal to the peripheral node and determining whether the peripheral node fails according to the feedback signal returned by the peripheral node includes: Sending the target detection signal to the peripheral node and determining whether the peripheral node can return a feedback signal corresponding to the target detection signal within a preset time; If so, it is determined that the peripheral node has not failed; If not, it is determined that the peripheral node has failed.

[0017] In a specific embodiment of the present application, it further includes: When it is determined that the peripheral node has failed, determining the destination node corresponding to the target cache request, and recalculating the routing transmission path between the target node and the destination node corresponding to the target cache request according to the routing algorithm.

[0018] Before recalculating the routing transmission path between the target node and the target node corresponding to the target cache request according to the routing algorithm in a specific embodiment of the present application, it further includes: Storing the target cache request in the cache area where the target cache request is located, and adding the target cache request to the next arbitration cycle.

[0019] In a specific embodiment of the present application, it further includes: Obtaining the credit information of the peripheral node, and determining the number of free spaces of the microchip size of the peripheral node in the peripheral cache area according to the credit information of the peripheral node.

[0020] In a specific embodiment of the present application, it further includes: Pre-establishing a first table, a second table, and a third table; Using the first table to record the failure status of the peripheral node; Using the second table to record the number of free spaces of the microchip size of the peripheral node in the peripheral cache area; Using the third table to record the weight values corresponding to other pending transmission requests of the target node in the previous arbitration cycle and in each cache area except for the pending transmission requests with the destination address being local.

[0021] To solve the above technical problems, the present invention further provides an arbitration device for transmitting information in a network-on-chip, which is applied to a target node in a network-on-chip arranged in a grid pattern, and the target node is any node of the network-on-chip, including: A request acquisition module, configured to obtain requests to be sent by the target node in each input direction in the current arbitration cycle, so as to obtain a target set; A weight calculation module, configured to determine weight values corresponding to respective requests to be sent in the target set according to the failure status of the node closest to the target node in the message transmission path of the target request, the number of free spaces of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value; the target request is any one of the requests to be sent in the target set; the historical weight value is the weight value corresponding to each request to be sent when the target node sent them in the previous arbitration cycle; A request response module, configured to sort the requests to be sent in the target set in descending order of weight values, so as to use the crossbar switch on the target node to respond to the sorted requests to be sent.

[0022] To solve the above technical problems, the present invention further provides an arbitration device for on-chip network transmission information, including: A memory, configured to store a computer program; A processor, configured to execute the computer program to implement the steps of an arbitration method for on-chip network transmission information as disclosed above.

[0023] To solve the above technical problems, the present invention further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of an arbitration method for on-chip network transmission information as disclosed above are implemented.

[0024] To solve the above technical problems, the present invention further provides a computer program product, including a computer program / instructions, and when the computer program / instructions are executed by a processor, the steps of an arbitration method for on-chip network transmission information as disclosed above are implemented.

[0025] Beneficial effects: In an arbitration method for on-chip network transmission information provided by the present invention, the target node first determines requests to be sent by the target node in each input direction in the current arbitration cycle to obtain a target set; then, according to the failure status of the node closest to the target node in the message transmission path of the target request, the number of free spaces of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value, weight values corresponding to respective requests to be sent in the target set are determined; wherein, the target request is any one of the requests to be sent in the target set; the historical weight value is the weight value corresponding to each request to be sent when the target node sent them in the previous arbitration cycle; finally, the requests to be sent in the target set are sorted in descending order of weight values, so as to use the crossbar switch on the target node to respond to the sorted requests to be sent.

[0026] Compared with the related art, in the present invention, since the weight value corresponding to each request to be sent in the target set is determined according to the failure state of the node closest to the target node in the message transmission path of the target request, the number of free spaces of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value, and the requests to be sent in the target set are sorted in descending order of the weight value, so as to use the crossbar switch on the target node to respond to the sorted requests to be sent. In this setting method, when the target node transmits information in the on-chip network, it is equivalent to considering the change of the overall traffic load in the on-chip network, thereby avoiding the problem of unbalanced traffic load in the on-chip network. And when the link transmission state of the request to be sent is also incorporated into the arbitration strategy of the target node, the fault tolerance of the on-chip network when transmitting information can also be improved.

[0027] Correspondingly, an arbitration device, equipment, computer-readable storage medium, and program product for transmitting information in an on-chip network provided by the present invention also have the above beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the embodiments of the present invention, the drawings required for the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention, and those of ordinary skill in the art can obtain other drawings based on these drawings without creative efforts.

[0029] Figure 1 It is a flowchart of an arbitration method for transmitting information in an on-chip network provided by an embodiment of the present invention; Figure 2 It is a schematic structural diagram of an on-chip network provided by an embodiment of the present invention; Figure 3 It is a schematic diagram when the target node determines the weight value corresponding to each request to be sent in the target set according to the failure state of the node closest to the target node in the message transmission path of the target request, the number of free spaces of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value; Figure 4 It is a schematic diagram when the requests to be sent in each cache area in the target node are sent to the crossbar switch; Figure 5 It is a schematic diagram when the target node calculates the weight value corresponding to each request to be sent in the target set by calling the data in the first table, the second table, and the third table and according to the weight setting model; Figure 6 It is a structural diagram of an arbitration device for transmitting information in an on-chip network provided by an embodiment of the present invention; Figure 7 The structural diagram of an arbitration device for transmitting information in a network-on-chip provided by an embodiment of the present invention. Detailed implementation manners

[0030] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the protection scope of the present invention.

[0031] The terms "include" and "have" in the specification of the present invention and the accompanying drawings above, as well as any variations related to "include" and "have", are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.

[0032] In order to enable those skilled in the art of the present technology to better understand the solution of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.

[0033] Please refer to Figure 1 , Figure 1 which is a flowchart of an arbitration method for transmitting information in a network-on-chip provided by an embodiment of the present invention. This method is applied to a target node in a network-on-chip arranged in a grid pattern. The target node is any node in the network-on-chip and includes: Step S11: Determine the requests to be sent by the target node in each input direction in the current arbitration cycle to obtain a target set; Step S12: Determine the weight value corresponding to each request to be sent in the target set according to the failure state of the node closest to the target node in the message transmission path of the target request, the available space number of the microchip size, the historical request quantity in the same transmission direction, and the historical weight value; the target request is any request to be sent in the target set; the historical weight value is the weight value corresponding to each request to be sent when the target node sends them in the previous arbitration cycle; Step S13: Sort the requests to be sent in the target set in descending order of the weight value, so as to use the crossbar switch on the target node to respond to the sorted requests to be sent.

[0034] In this embodiment, an arbitration method for transmitting information in a network-on-chip is provided. Using this method, the problem of unbalanced traffic load in the network-on-chip can be avoided. Please refer to Figure 2 , Figure 2A schematic diagram of the structure of a network-on-chip provided by an embodiment of the present invention. Figure 2 All nodes in the shown network-on-chip are arranged in a 3*3 grid, and each node can transmit information to adjacent connected nodes. If node 5 is the target node, then nodes 2, 8, 4, and 6 are the transmission nodes of the target node in the north input direction, south input direction, west input direction, and east input direction respectively, and node 5 itself is the transmission node of node 5 in the local input direction.

[0035] In practical applications, the target node may receive pending transmission requests from multiple input directions at the same time, and the target node cannot respond to all these pending transmission requests at the same time. At this time, it is necessary to determine the priority corresponding to each pending transmission request among these pending transmission requests, and use the crossbar switch on the target node to respond to these requests in turn. Therefore, in this embodiment, the target node first needs to determine the requests to be transmitted by the target node in each input direction in the current arbitration cycle to obtain a target set.

[0036] After obtaining the target set, in order to determine the priority of each pending transmission request in the target set, it is necessary to determine the weight value corresponding to each pending transmission request in the target set according to the fault status of the node closest to the target node in the message transmission path of the target request, the number of free spaces of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value.

[0037] Among them, the target request is any one of the pending transmission requests in the target set; the historical weight value is the weight value corresponding to each pending transmission request when the target node transmits them in the previous arbitration cycle; the number of free spaces of the microchip size refers to: after the input buffer of the target node divides its buffer space by the microchip size, a series of spaces will be segmented on the input buffer area of the target node, and these spaces will wait to receive microchips, and the number of spaces not occupied by microchips.

[0038] Please refer to Figure 3 , Figure 3 is a schematic diagram when the target node determines the weight value corresponding to each pending transmission request in the target set according to the fault status of the node closest to the target node in the message transmission path of the target request, the number of free spaces of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value. In Figure 3Among them, the left arrows outside the target node respectively represent the requests to be sent received by the target node in four incoming directions, namely the incoming direction from the east, the incoming direction from the west, the incoming direction from the south, and the incoming direction from the north. The right arrows outside the target node respectively represent the requests sent by the target node in four outgoing directions, namely the outgoing direction to the east, the outgoing direction to the west, the outgoing direction to the south, and the outgoing direction to the north.

[0039] When determining the weight values corresponding to the requests to be sent in the target set, the purpose of introducing the failure status of the node closest to the target node in the message transmission path of the target request is to determine whether there is a failure or abnormality in the node closest to the target node in the message transmission path of the target node. The purpose of introducing the number of free spaces of the microchip size in the message transmission path of the target request for the node closest to the target node is to judge the overall traffic load situation in the on-chip network. The purpose of introducing the historical request quantity and historical weight value in the same transmission direction is to prevent some nodes from obtaining transmission resources multiple times when transmitting the transmission information in the on-chip network. In this setting method, it is equivalent to incorporating the influencing factors in the above four aspects into the arbitration strategy of the target node. In this way, when the target node transmits information, it will not design the arbitration mechanism only with reference to the information of this node, but will comprehensively consider the influence of the above four factors, and then incorporate the change situation of the overall traffic load in the on-chip network and the fault information into the arbitration design of the target node.

[0040] After determining the weight values corresponding to the requests to be sent in the target set, sort the requests to be sent in the target set in descending order of the weight values, and send the sorted requests to be sent to the crossbar switch on the target node to use the crossbar switch on the target node to respond to the sorted requests to be sent. In this setting method, it can enable the target node to respond to these requests in a more fair and reasonable manner when multiple requests compete for the same resource.

[0041] Obviously, when determining the weight values corresponding to the requests to be sent in the target set, due to considering the failure status of the node closest to the target node in the message transmission path of the target request, the number of free spaces of the microchip size, the historical request quantity, and the historical weight value in the same transmission direction, it is equivalent to incorporating the change situation of the overall traffic load in the on-chip network and the fault information into the arbitration design of the target node. In this way, the arbitration strategy of the target node can reasonably allocate resources and effectively disperse the traffic, thereby avoiding the problem of uneven traffic load in the on-chip network, and also improving the fault tolerance of the on-chip network when transmitting information.

[0042] Based on the above embodiments, the present embodiment further describes and optimizes the technical solution. As a preferred implementation manner, the above steps: determining the requests to be sent by the target node in each input direction in the current arbitration cycle to obtain a target set, including: Taking the position of the target node in the on-chip network as a reference point, determining the requests to be sent by the target node in the current arbitration cycle in the incoming directions from the east, from the west, from the south, from the north, and from the local, and determining the requests to be sent that were held up by the target node in the incoming directions from the east, from the west, from the south, from the north, and from the local in the previous arbitration cycle, to obtain a target set.

[0043] In this embodiment, the process of the target node obtaining the target set is specifically described. When the target node obtains the target set, it first takes the position of the target node in the on-chip network as a reference point, and then determines the requests to be sent by the target node in the current arbitration cycle in the incoming directions from the east, from the west, from the south, from the north, and from the local, and determines the requests to be sent that were held up by the target node in the incoming directions from the east, from the west, from the south, from the north, and from the local in the previous arbitration cycle, so as to obtain a target set.

[0044] It should be noted that the requests to be sent that were held up by the target node in the incoming directions from the east, from the west, from the south, from the north, and from the local in the previous arbitration cycle include both the requests to be sent that were held up due to downstream node congestion by the target node in the incoming directions from the east, from the west, from the south, from the north, and from the local in the previous arbitration cycle, and the requests to be sent that were held up due to downstream node failure by the target node in the incoming directions from the east, from the west, from the south, from the north, and from the local in the previous arbitration cycle.

[0045] Obviously, through the technical solution provided by this embodiment, the target node can accurately obtain the target set.

[0046] As a preferred implementation manner, the above arbitration method for on-chip network transmission information further includes: Parsing the data packet micro-slice of each request to be sent in the target set to determine the output direction of each request to be sent in the target set relative to the target node.

[0047] In this embodiment, when determining the output direction of each to-be-sent request in the target set relative to the target node, the output direction of each to-be-sent request in the target set relative to the target node is determined by parsing the data packet header flits of each to-be-sent request in the target set. Since the data packet header flit of a request contains information such as the source address, destination address, and length of the data packet, the output direction of each to-be-sent request in the target set relative to the target node can be determined by parsing the data packet flits of each to-be-sent request in the target set.

[0048] Obviously, through the technical solution provided in this embodiment, the output direction of each to-be-sent request in the target set relative to the target node can be accurately determined.

[0049] As a preferred implementation manner, the above step: parsing the data packet header flits of each to-be-sent request in the target set includes: Using the router in the target node to parse the data packet header flits of each to-be-sent request in the target set.

[0050] It can be understood that since the router is a key component in each node of the on-chip network responsible for forwarding data packets, in this embodiment, the router in the target node can be used to parse the data packet flits of each to-be-sent request in the target set. When the router in the target node obtains the data packet header flits of each to-be-sent request in the target set, by parsing the data packet header flits of each to-be-sent request, the destination address of each to-be-sent request can be determined, and thus the output direction of each to-be-sent request in the target set relative to the target node can be determined.

[0051] Obviously, through the technical solution provided in this embodiment, the output direction of each to-be-sent request in the target set relative to the target node can be determined efficiently and reliably.

[0052] As a preferred implementation manner, the above step: determining the requests to be sent by the target node in the current arbitration cycle in the east incoming direction, west incoming direction, south incoming direction, north incoming direction, and local incoming direction, and determining the requests to be sent that are retained by the target node in the previous arbitration cycle in the east incoming direction, west incoming direction, south incoming direction, north incoming direction, and local incoming direction, to obtain the target set, includes: Determine the to-be-sent requests cached by the target node in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area in the current arbitration cycle, and determine the to-be-sent requests of the target node that are respectively retained in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area in the previous round of arbitration cycle, to obtain a first subset, a second subset, a third subset, a fourth subset, and a fifth subset; The target set includes a first subset, a second subset, a third subset, a fourth subset, and a fifth subset; The first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area are cache areas corresponding to the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction respectively; The arbitration cycle is: starting from processing the pending requests cached and retained in the first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area, and the time required to complete the processing of the pending requests cached and retained in the first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area.

[0053] In actual applications, five cache areas are usually set on the target node, which are the first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area. The first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area are the cache areas corresponding to the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction respectively.

[0054] When the target node receives the requests to be sent from each input direction, it will cache these requests in the first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area according to the incoming direction of the requests to be sent. Under this setting mode, when the target node obtains the target set, it will obtain the requests to be sent in the first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area in the current round of arbitration cycle, and will obtain the requests to be sent that the target node is stranded in the first cache area, the second cache area, the third cache area, the fourth cache area and the fifth cache area in the previous round of arbitration cycle, thereby obtaining the first subset, the second subset, the third subset, the fourth subset and the fifth subset.

[0055] That is, the first subset is the requests to be sent obtained by the target node from the first buffer area in the current arbitration cycle and the previous arbitration cycle. The second subset is the requests to be sent obtained by the target node from the second buffer area in the current arbitration cycle and the previous arbitration cycle. The third subset is the requests to be sent obtained by the target node from the third buffer area in the current arbitration cycle and the previous arbitration cycle. The fourth subset is the requests to be sent obtained by the target node from the fourth buffer area in the current arbitration cycle and the previous arbitration cycle. The fifth subset is the requests to be sent obtained by the target node from the fifth buffer area in the current arbitration cycle and the previous arbitration cycle.

[0056] It should be noted that the arbitration cycle in the present invention refers to: starting from processing the requests to be sent cached and held in the first buffer area, the second buffer area, the third buffer area, the fourth buffer area, and the fifth buffer area, and the time required until the requests to be sent cached and held in the first buffer area, the second buffer area, the third buffer area, the fourth buffer area, and the fifth buffer area are all processed.

[0057] In this setting, the duration corresponding to each arbitration cycle may be different. For example: in the first arbitration cycle, the target node only obtains one request to be sent in the east-incoming direction, the west-incoming direction, and the south-incoming direction respectively, and there are no requests to be sent held in each incoming direction during this arbitration cycle. Then the duration corresponding to the first arbitration cycle is the time required for the target node to process the three requests. In the second arbitration cycle, the target node obtains one request to be sent in the east-incoming direction, the west-incoming direction, the south-incoming direction, the north-incoming direction, and the local-incoming direction respectively. At the same time, the target node also obtains one request to be sent held in the east-incoming direction and the west-incoming direction during the first arbitration cycle. Then the duration corresponding to the second arbitration cycle is the time required for the target node to process the seven requests.

[0058] Obviously, through the technical solution provided in this embodiment, the accuracy and reliability of the target set acquisition result can be guaranteed.

[0059] As a preferred implementation manner, the above step: sorting the requests to be sent in the target set in descending order of the weight value, so as to use the crossbar on the target node to respond to the sorted requests to be sent, includes: First, respond to the requests to be sent in the first subset, second subset, third subset, fourth subset, and fifth subset whose destination addresses are local, and sort the other requests to be sent in the first subset, second subset, third subset, fourth subset, and fifth subset except for the requests to be sent with local destination addresses in descending order of weight values to obtain the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence; Send the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence to the crossbar on the target node to use the crossbar to respond to each request to be sent in the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence.

[0060] In this embodiment, when using the crossbar on the target node to respond to each sorted request to be sent, since the resource overhead required for the requests to be sent with local destination addresses in the target set is smaller and the latency is shorter, therefore, when the crossbar on the target node responds to each request to be sent, it will first respond to the requests to be sent with local destination addresses in the first subset, second subset, third subset, fourth subset, and fifth subset.

[0061] Then, the target node will sort the other requests to be sent in the first subset, second subset, third subset, fourth subset, and fifth subset except for the requests to be sent with local destination addresses in descending order of weight values to obtain the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence, and send the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence to the crossbar on the target node to use the crossbar to respond to each request to be sent in the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence.

[0062] Obviously, through the technical solution provided in this embodiment, the resource overhead required by the target node can be reduced.

[0063] As a preferred implementation manner, the above step: sending the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence to the crossbar on the target node to use the crossbar to respond to each request to be sent in the first request sequence, second request sequence, third request sequence, fourth request sequence, and fifth request sequence includes: If there is only one request to be sent in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then send the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar can respond to the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence simultaneously; If there is more than one request to be sent in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then send the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar can respond to the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence based on the first-in, first-out principle.

[0064] Please refer to Figure 4 , Figure 4 FIG. [FIG ID] is a schematic diagram when sending requests to be sent in each buffer area of the target node to the crossbar. Since the crossbar is a multi-port switching network used to connect multiple input ports and multiple output ports in the on-chip network, the input end of the crossbar of the target node can be respectively connected to the first buffer area, the second buffer area, the third buffer area, the fourth buffer area, and the fifth buffer area of the target node. And the crossbar has 5 output ports, namely output port 1, output port 2, output port 3, output port 4, and output port 5. These 5 output ports can be respectively used to independently arbitrate the requests to be sent in the first buffer area, the second buffer area, the third buffer area, the fourth buffer area, and the fifth buffer area of the target node.

[0065] In this embodiment, if there is only one request to be sent in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then the target node will send the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node. When the crossbar on the target node receives the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, it will use output port 1, output port 2, output port 3, output port 4, and output port 5 on the crossbar to respond to the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence simultaneously.

[0066] If there is more than one request to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then after the target node sends the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, the crossbar will use its output ports 1, 2, 3, 4, and 5 to respond to the requests to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence respectively based on the first-in-first-out principle.

[0067] Obviously, through the technical solution provided in this embodiment, the target node can respond to these requests in a more fair and reasonable manner when multiple requests compete for the same resource.

[0068] As a preferred implementation manner, the above step: determining the weight value corresponding to each request to be sent in the target set according to the failure state of the node closest to the target node in the message transmission path of the target request, the free space of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value, includes: Determining the weight value corresponding to the requests to be sent other than the requests to be sent with the destination address being local in the target set according to the weight setting model; Among them, the expression of the weight setting model is: ; In the formula, represents the weight value corresponding to the target cache request in the target cache area, and the target cache area is any one of the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area; the target cache request is any request to be sent other than the request to be sent with the destination address being local in the target cache area; is the failure state of the neighboring node, and the neighboring node is the node closest to the target node in the message transmission path of the target cache request; when the neighboring node fails, when the neighboring node does not fail, ; represents the free space of the microchip size in the neighboring cache area of the neighboring node; the direction of the neighboring cache area relative to the neighboring node is: the corresponding direction of the target cache area relative to the target node; represents the value re-assigned according to the weight value of the requests to be sent other than the requests to be sent with the destination address being local in the target cache area under the previous arbitration cycle of the target node; represents the preset coefficient; Indicates the number of requests to be sent in the same output direction as the target cache request for the target node in the previous arbitration cycle and in the target cache area. When there is no request to be sent in the same output direction as the target cache request for the target node in the previous arbitration cycle and in the target cache area, let .

[0069] In this embodiment, in order to accurately quantify the weight values corresponding to each request to be sent in the target set, a weight setting model is used to determine the weight values corresponding to the requests to be sent in the target set except for the requests to be sent with the destination address being local.

[0070] Here, the target cache area, the target cache request, the neighboring node, and the neighboring cache area will be specifically described first. Among them, the target cache area refers to any one of the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area. The target cache request refers to any request in the target cache area except for the requests to be sent with the destination address being local. The neighboring node refers to the node closest to the target node in the message transmission path of the target cache request. Please refer to Figure 2 , assuming that node 5 is the target node. If node 5 has a request A to be sent in its third cache area (that is, node 5 receives a request A to be sent in the incoming direction from the south), then when calculating the weight value corresponding to the request A to be sent, first, the request A to be sent is parsed. After parsing, it is found that the transmission path corresponding to the request A to be sent is: node 5 → node 6. Then node 6 is the node closest to node 5 in the message transmission path of the request A to be sent, that is, node 6 is the neighboring node of node 5. Since the direction of the neighboring cache area relative to the neighboring node is: the corresponding direction of the target cache area relative to the target node, the neighboring cache area is the cache area corresponding to node 5 in the northward transmission direction, that is, the fourth cache area on node 5 is the neighboring cache area of node 5.

[0071] When it indicates that the neighboring node has failed. At this time . From this, it can be concluded that when the neighboring node fails, has a veto power over the weight value, and at this time the target node will not perform any action on the target cache request.

[0072] Indicates the number of free spaces of the microchip size of the peripheral nodes in the peripheral cache area. The purpose of introducing this parameter in the weight setting model is to introduce the overall traffic load change of the on-chip network into the arbitration strategy of the target node, so that the target node will not only refer to the information of this node when designing the arbitration strategy, but will adjust the arbitration strategy of the target node according to the overall traffic load change of the on-chip network, so as to achieve efficient traffic load control and optimize the utilization of network resources.

[0073] Indicates the value re-assigned according to the weight value of the other pending requests except the pending requests with the destination address being local in the target cache area under the previous arbitration cycle of the target node. Indicates the number of pending requests in the same output direction as the target cache request in the target cache area under the previous arbitration cycle of the target node. The purpose of introducing these two parameters in the weight setting model is to prevent a certain node in the on-chip network from obtaining transmission resources multiple times and evenly distribute the transmission resources.

[0074] Obviously, through the technical solution provided by this embodiment, the weight values corresponding to each pending request in the target set can be quantified, and then the weight value set can be obtained.

[0075] As a preferred implementation manner, the arbitration method for on-chip network transmission information further includes: Under the previous arbitration cycle and in the target cache area, obtain the weight values of the other pending requests except the pending requests with the destination address being local on the target node, and sort each pending request in descending order of the weight value to obtain the first sequence; If there is a pending request sent by the target output direction in the first sequence, determine the pending request sent by the target output direction in the first sequence to obtain the target screening set; the target output direction is the same as the output direction of the target cache request; Determine the pending request corresponding to the largest weight value in the target screening set to obtain the target screening request, and screen out the pending requests that first appear in different output directions from the first sequence to obtain the second sequence; According to the arrangement order of the target screening request in the second sequence Perform assignment.

[0076] In this embodiment, in order to evenly distribute the transmission resources, it is necessary to set the value in the weight setting model according to the weight values of the other pending requests except the pending requests with the destination address being local in the target cache area under the previous arbitration cycle of the target node of the value.

[0077] Specifically, when setting in the weight setting model, the target node will, in the previous arbitration cycle and in the target cache area, obtain the weight values of other pending requests to be sent on the target node except for the pending requests to be sent with the destination address being local, and sort each pending request to be sent in descending order of the weight value to obtain the first sequence; then, the target node will determine whether there is a pending request to be sent in the target output direction in the first sequence; if there is a pending request to be sent in the target output direction in the first sequence, the target node will determine the pending requests to be sent in the target output direction in the first sequence to obtain the target screening set, and will determine the pending request corresponding to the largest weight value in the target screening set to obtain the target screening request, and will also screen out the pending requests that first appear in different output directions from the first sequence to obtain the second sequence, and will assign values to according to the arrangement order of the target screening request in the second sequence. If there is no pending request to be sent in the target output direction in the first sequence, the target node will forcefully assign values to according to the target output direction.

[0078] A specific example is given here to illustrate. To calculate the weight value corresponding to the pending request A0 of node 5 in the third cache area, first, the pending request A0 is parsed. After parsing, it is found that the transmission path corresponding to the pending request A0 is: node 5 → node 6. Then node 6 is the neighboring node of node 5, and the fourth cache area on node 6 is the neighboring cache area. Since the destination address of the pending request A0 is node 6, and node 6 is in the eastward output direction relative to node 5, the target output direction is the eastward output direction.

[0079] When determining the weight value corresponding to the pending request A0 according to the weight setting model , it is necessary to determine , , and in the weight setting model. Assume that node 6 has no faults, and the number of free spaces of the microchip size in the fourth cache area on node 6 is: 3. Then , . To determine the value corresponding to , it is necessary to obtain the weight values corresponding to other pending requests to be sent on node 5 in the previous arbitration cycle and in the third cache area except for the pending requests to be sent with the destination address being local.

[0080] Assume that in the previous arbitration cycle, node 5 had four requests to be sent, A1, A2, A3, and A4, in the third cache area. These four requests to be sent, A1, A2, A3, and A4, were requests to be sent in the west output direction, north output direction, west output direction, and east output direction respectively, and the corresponding weight values of these four requests to be sent, A1, A2, A3, and A4, were 0.4, 0.3, 0.2, and 0.1 respectively. After sorting each request to be sent, A1, A2, A3, and A4, in descending order of weight value, the first sequence obtained was: A1, A2, A3, and A4. Since there was a request to be sent in the same output direction as request A0 in the first sequence A1, A2, A3, and A4 (that is, there was a request to be sent in the east output direction in the first sequence A1, A2, A3, and A4), and there was only 1 request to be sent in the east output direction, then A4 was the target screening request; then, the requests to be sent that first appeared in different output directions were screened out from the first sequence A1, A2, A3, and A4 to obtain the second sequence, that is, the second sequence was A1, A2, and A4; finally, according to the arrangement order of the target screening request A4 in the second sequence A1, A2, and A4 to perform assignment. At this time, was assigned the value of 3, and was taken as 1.

[0081] In another application scenario, in order to calculate the weight value corresponding to the request B0 to be sent by node 5 in the third cache area, first, the request B0 to be sent was parsed. After parsing, it was found that the transmission path corresponding to the request B0 to be sent was: node 5 → node 4. Then node 4 was the neighboring node of node 5, and the fourth cache area on node 4 was the neighboring cache area. Since the destination address of the request B0 to be sent was node 4, and node 4 was in the west output direction relative to node 5, the target output direction was the west output direction.

[0082] When determining the weight value corresponding to the request B0 to be sent according to the weight setting model it was necessary to determine the , , and in the weight setting model. Assume that node 4 had no faults, and the number of free spaces of the microchip size in the fourth cache area on node 4 was: 4. Then , . In order to determine the corresponding value, it was necessary to obtain the weight values corresponding to the requests to be sent other than those with the destination address being local in the third cache area of node 4 in the previous arbitration cycle.

[0083] Assume that in the previous arbitration cycle, node 5 had four requests to be sent, B1, B2, B3, and B4, in the third cache area. These four requests to be sent, B1, B2, B3, and B4, were requests to be sent in the west output direction, north output direction, west output direction, and east output direction respectively, and the corresponding weight values of these four requests to be sent, B1, B2, B3, and B4, were 0.8, 0.7, 0.6, and 0.5 respectively. After sorting the requests to be sent, B1, B2, B3, and B4, in descending order of weight value, the first sequence obtained was: B1, B2, B3, and B4. Since there was a request to be sent in the same output direction as request B0 in the first sequence B1, B2, B3, and B4 (i.e., there was a request to be sent in the west output direction in the first sequence B1, B2, B3, and B4), and there were 2 requests to be sent in the west output direction in the first sequence, the target screening request was the request to be sent with the highest weight value among the two requests to be sent in the west output direction in the first sequence, that is, the target screening request was B1. Then, the requests to be sent that appeared for the first time in different output directions were screened out from the first sequence B1, B2, B3, and B4 to obtain the second sequence, that is, the second sequence was B1, B2, and B4; finally, according to the arrangement order of the target screening request B1 in the second sequence B1, B2, and B4 to perform assignment. At this time, is assigned the value 1, and takes the value 2.

[0084] In another application scenario, in order to calculate the weight value corresponding to the request C0 to be sent by node 5 in the second cache area, first, the request C0 to be sent is parsed. After parsing, it is found that the transmission path corresponding to the request C0 to be sent is: node 5 → node 2. Then node 2 is the neighboring node of node 5, and the first cache area on node 2 is the neighboring cache area. Since the destination address of the request C0 to be sent is node 2, and node 2 is in the north output direction relative to node 5, the target output direction is the north output direction.

[0085] When determining the weight value corresponding to the request C0 to be sent according to the weight setting model it is necessary to determine the , , and in the weight setting model. Assume that node 2 has no faults, and the number of free spaces of the microchip size in the first cache area on node 2 is: 1, then , . In order to determine For the corresponding value, it is necessary to obtain the weight values corresponding to other pending transmission requests except for the pending transmission requests with the destination address being local in the second buffer area of node 5 in the previous arbitration cycle.

[0086] Assume that there are four pending transmission requests C1, C2, C3, and C4 in the second buffer area of node 5 in the previous arbitration cycle. These four pending transmission requests C1, C2, C3, and C4 are respectively pending transmission requests in the west output direction, north output direction, west output direction, and east output direction, and the weight values corresponding to these four pending transmission requests C1, C2, C3, and C4 are 0.8, 0.6, 0.4, and 0.3 respectively. After sorting each of the pending transmission requests C1, C2, C3, and C4 in descending order of the weight value, the obtained first sequence is: C1, C2, C3, and C4. Since there is no pending transmission request in the first sequence C1, C2, C3, and C4 with the same output direction as the pending transmission request C0 (that is, there is no pending transmission request in the north output direction in the first sequence C1, C2, C3, and C4), then at this time, it can be forced to assign a value according to the target output direction, and, at this time for forced assignment, and, at this time .

[0087] Here, we can pre-agree that the corresponding to the pending transmission requests in the east transmission direction, south transmission direction, west transmission direction, and north transmission direction are 4, 5, 6, and 7 respectively. In other words, since there is no pending transmission request in the north output direction in the first sequence C1, C2, C3, and C4, at this time, can be forced to be assigned the value of 7.

[0088] Obviously, through the technical solution provided by this embodiment, the weight values corresponding to other pending transmission requests except for the pending transmission requests with the destination address being local in the target set can be accurately determined according to the weight setting model.

[0089] As a preferred implementation manner, the arbitration method for on-chip network transmission information further includes: Sending a target detection signal to the surrounding nodes and determining whether the surrounding nodes have failed according to the feedback signal returned by the surrounding nodes.

[0090] In this embodiment, in order to determine whether the surrounding nodes have failed, the target node can also send a target detection signal to the surrounding nodes and determine whether the surrounding nodes have failed according to the feedback signal returned by the surrounding nodes.

[0091] Since the target detection signal sent by the target node to the surrounding nodes is a special signal, through which the connectivity and status of the connection link between the target node and the surrounding nodes can be tested. After the surrounding nodes receive the target detection signal sent by the target node, the feedback signal returned by them to the target node can carry information such as whether the target node has successfully reached the surrounding nodes and the link status information between the target node and the surrounding nodes. Therefore, by analyzing the feedback signal returned by the surrounding nodes, the target node can determine whether the surrounding nodes have failed.

[0092] Obviously, through the technical solution provided by this embodiment, it is possible to accurately determine whether the surrounding nodes have failed.

[0093] As a preferred implementation manner, the above steps: sending a target detection signal to the surrounding nodes and determining whether the surrounding nodes have failed according to the feedback signal returned by the surrounding nodes include: Sending a target detection signal to the surrounding nodes and determining whether the surrounding nodes can return a feedback signal corresponding to the target detection signal within a preset time; If so, it is determined that the surrounding nodes have not failed; If not, it is determined that the surrounding nodes have failed.

[0094] It can be understood that if the surrounding nodes have not failed, then after the target node sends a target detection signal to the surrounding nodes, the surrounding nodes will surely be able to return a feedback signal corresponding to the target detection signal within a preset time. Therefore, in this embodiment, it is possible to more quickly determine whether the surrounding nodes have failed according to the above attribute characteristics.

[0095] That is to say, when the target node sends a target detection signal to the surrounding nodes, if the surrounding nodes can return a feedback signal corresponding to the target detection signal within a preset time, it means that the surrounding nodes have not failed. If the surrounding nodes cannot return a feedback signal corresponding to the target detection signal within a preset time, it means that the surrounding nodes have failed.

[0096] Obviously, through the technical solution provided by this embodiment, it is possible to more quickly determine whether the surrounding nodes have failed.

[0097] As a preferred implementation manner, the above arbitration method for on-chip network transmission information further includes: When it is determined that the surrounding nodes have failed, determine the destination node corresponding to the target cache request, and recalculate the routing transmission path between the target node and the destination node corresponding to the target cache request according to the routing algorithm.

[0098] In this embodiment, when it is determined that a peripheral node fails, it indicates that the target node can no longer send the target cache request to its corresponding destination address through the original routing transmission path. In this case, in order to ensure that the target cache request can still accurately reach the destination node of the on-chip network, it is also necessary to determine the destination node corresponding to the target cache request and recalculate the routing transmission path between the target node and the destination node corresponding to the target cache request according to the routing algorithm.

[0099] Specifically, the routing algorithm can be set to Distance-Vector Routing, Link-State Routing, Path-Vector Routing, and so on.

[0100] Obviously, through the technical solution provided in this embodiment, the fault tolerance of the on-chip network can be further improved.

[0101] As a preferred implementation manner, before the above step: recalculating the routing transmission path between the target node and the target node corresponding to the target cache request according to the routing algorithm, it further includes: Storing the target cache request in the cache area where the target cache request is located, and adding the target cache request to the next arbitration cycle.

[0102] In this embodiment, before recalculating the routing transmission path between the target node and the peripheral node according to the routing algorithm, the target cache request can also be stored in the cache area where the target cache request is located, and the target cache request is added to the next arbitration cycle. By such a setting method, not only can the phenomenon of packet loss in the on-chip network be avoided, but also the orderliness of the target node when processing and responding to each request to be sent can be ensured.

[0103] Obviously, through the technical solution provided in this embodiment, the working performance and execution efficiency of the target node can be relatively improved.

[0104] As a preferred implementation manner, the above arbitration method for on-chip network transmission information further includes: Obtaining the credit information of the peripheral node, and determining the number of free spaces of the microchip size in the peripheral cache area according to the credit information of the peripheral node.

[0105] In this embodiment, when determining the parameters in the weight setting model it is possible to obtain the credit information (credit) of the peripheral node, and determine the number of free spaces of the microchip size in the peripheral cache area according to the credit information of the peripheral node.

[0106] Since the credit information of the surrounding nodes can characterize the buffer status of the surrounding nodes, usually, the higher the credit value, the more free space of the microchip size in the surrounding cache area, and the lower the credit value, the fewer free space of the microchip size in the surrounding cache area. Therefore, in practical applications, the free space of the microchip size of the surrounding nodes in the surrounding cache area can be determined according to the credit information of the surrounding nodes.

[0107] Obviously, through the technical solution provided by this embodiment, the free space of the microchip size of the surrounding nodes in the surrounding cache area can be accurately calculated.

[0108] As a preferred implementation manner, the arbitration method for on-chip network transmission information further includes: Pre-establish a first table, a second table, and a third table; Use the first table to record the fault status of the surrounding nodes; Use the second table to record the free space of the microchip size of the surrounding nodes in the surrounding cache area; Use the third table to record the weight values corresponding to other pending transmission requests of the target node in the previous arbitration cycle and in each cache area except for the pending transmission requests with the destination address being local.

[0109] In this embodiment, a first table, a second table, and a third table can also be pre-established, and the first table is used to record the fault status of the surrounding nodes, the second table is used to record the free space of the microchip size of the surrounding nodes in the surrounding cache area, and the third table is used to record the weight values corresponding to other pending transmission requests of the target node in the previous arbitration cycle and in each cache area except for the pending transmission requests with the destination address being local.

[0110] In this setting mode, when the target node determines the weight values corresponding to each pending transmission request in the target set according to the weight setting model, it can directly call the values corresponding to each parameter in the weight setting model from the first table, the second table, and the third table, so as to further improve the working performance of the target node and improve the response speed to each pending transmission request. Please refer to Figure 5 , Figure 5 FIG. is a schematic diagram when the target node calculates the weight values corresponding to each pending transmission request in the target set by calling the data in the first table, the second table, and the third table and according to the weight setting model.

[0111] Obviously, through the technical solution provided by this embodiment, the working performance of the target node can be further improved, and the response speed to each pending transmission request can be improved.

[0112] Please refer toFigure 6 , Figure 6 This is a structural diagram of an arbitration device for transmitting information in a network-on-chip provided by an embodiment of the present invention. The device is applied to a target node in a network-on-chip arranged in a grid pattern. The target node is any node of the network-on-chip and includes: A request acquisition module 21, configured to obtain requests to be sent by the target node in each input direction in the current arbitration cycle, and obtain a target set; A weight calculation module 22, configured to determine weight values corresponding to each request to be sent in the target set according to the failure status of the node closest to the target node in the message transmission path of the target request, the spatial free number of microtiles of the microtile size, the historical request quantity in the same transmission direction, and the historical weight value; the target request is any request to be sent in the target set; the historical weight value is the weight value corresponding to each request to be sent by the target node in the previous arbitration cycle; A request response module 23, configured to sort each request to be sent in the target set in descending order of weight values, so as to respond to each sorted request to be sent by using a crossbar switch on the target node.

[0113] In a specific implementation manner of the present application, the request acquisition module 21 includes: A request acquisition sub-module, configured to use the position of the target node in the network-on-chip as a reference point to determine requests to be sent by the target node in the current arbitration cycle in the east incoming direction, west incoming direction, south incoming direction, north incoming direction, and local incoming direction, and determine requests to be sent that are retained by the target node in the previous arbitration cycle in the east incoming direction, west incoming direction, south incoming direction, north incoming direction, and local incoming direction, so as to obtain the target set.

[0114] In a specific implementation manner of the present application, it further includes: A data parsing sub-module, configured to parse the data header microtiles of each request to be sent in the target set, so as to determine the output direction of each request to be sent in the target set relative to the target node.

[0115] In a specific implementation manner of the present application, the data parsing sub-module includes: A data parsing unit, configured to use a router in the target node to parse the data header microtiles of each request to be sent in the target set.

[0116] In a specific implementation manner of the present application, the request acquisition sub-module includes: A request acquisition unit, configured to determine the requests to be sent that are cached in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area by the target node in the current arbitration cycle respectively, and determine the requests to be sent that are stranded in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area by the target node in the previous arbitration cycle respectively, to obtain a first subset, a second subset, a third subset, a fourth subset, and a fifth subset; Wherein, the target set includes the first subset, the second subset, the third subset, the fourth subset, and the fifth subset; The first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area are the cache areas corresponding to the target node in the incoming direction from the east, the incoming direction from the west, the incoming direction from the south, the incoming direction from the north, and the incoming direction from the local respectively; The arbitration cycle is: starting from processing the requests to be sent cached and stranded in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area, and the time required when the requests to be sent cached and stranded in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area are processed completely.

[0117] In a specific embodiment of the present application, the request response module 23 includes: A request sorting sub-module, configured to preferentially respond to the requests to be sent with the destination address being local in the first subset, the second subset, the third subset, the fourth subset, and the fifth subset respectively, and sort the requests to be sent other than the requests to be sent with the destination address being local in the first subset, the second subset, the third subset, the fourth subset, and the fifth subset respectively in descending order of the weight value, to obtain a first request sequence, a second request sequence, a third request sequence, a fourth request sequence, and a fifth request sequence; A request response sub-module, configured to send the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar switch on the target node, so as to use the crossbar switch to respond to each request to be sent in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence.

[0118] In a specific embodiment of the present application, the request response sub-module includes: A first response unit, configured to, if there is only one pending request in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, send the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar simultaneously responds to the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence; A second response unit, configured to, if there is more than one pending request in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, send the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar responds to the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence based on the first-in-first-out principle.

[0119] In a specific embodiment of the present application, the weight calculation module 22 includes: A weight calculation sub-module, configured to determine the weight value corresponding to the pending requests other than the pending requests with the destination address being local in the target set according to a weight setting model; Wherein, the expression of the weight setting model is: ; In the formula, represents the weight value corresponding to the target cache request in the target cache area, and the target cache area is any one of the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area; the target cache request is any one of the pending requests other than the pending requests with the destination address being local in the target cache area; is the failure state of the peripheral node, and the peripheral node is the node closest to the target node in the message transmission path of the target cache request; when the peripheral node fails, , when the peripheral node does not fail, ; represents the number of free spaces of the microchip size in the peripheral cache area of the peripheral node; the direction of the peripheral cache area relative to the peripheral node is: the corresponding direction of the target cache area relative to the target node; represents the value re-assigned according to the weight values of other pending requests of the target node in the previous arbitration cycle and in the target cache area except for the pending requests with the destination address being local; represents a preset coefficient; represents the number of pending requests of the target node in the previous arbitration cycle and in the target cache area that have the same output direction as the target cache request. When there is no pending request of the target node in the previous arbitration cycle and in the target cache area that has the same output direction as the target cache request, let .

[0120] In a specific embodiment of the present application, it further includes: A first sorting unit, configured to obtain the weight values of other pending requests of the target node in the previous arbitration cycle and in the target cache area except for the pending requests with the destination address being local, and sort each pending request in descending order of the weight value to obtain a first sequence; A request screening unit, configured to, if there is a pending request sent in the target output direction in the first sequence, determine the pending requests sent in the target output direction in the first sequence to obtain a target screening set; the target output direction is the same as the output direction of the target cache request; A second sorting unit, configured to determine the pending request corresponding to the largest weight value in the target screening set to obtain a target screening request, and screen out the pending requests that first appear in different output directions from the first sequence to obtain a second sequence; A numerical value assignment unit, configured to perform assignment on according to the arrangement order of the target screening request in the second sequence.

[0121] In a specific embodiment of the present application, it further includes: A forced assignment unit, configured to, if there is no pending request sent in the target output direction in the first sequence, perform assignment on according to the target output direction.

[0122] In a specific embodiment of the present application, it further includes: A node determination unit, configured to send a target detection signal to the peripheral node, and determine whether the peripheral node fails according to the feedback signal returned by the peripheral node.

[0123] In a specific embodiment of the present application, the node determination unit includes: A signal sending subunit, configured to send the target detection signal to the peripheral node and determine whether the peripheral node can return a feedback signal corresponding to the target detection signal within a preset time; A first determination subunit, configured to determine that the peripheral node has no fault when the determination result of the signal sending subunit is yes; A second determination subunit, configured to determine that the peripheral node has a fault when the determination result of the signal sending subunit is no.

[0124] In a specific embodiment of the present application, it further includes: A path calculation unit, configured to determine the destination node corresponding to the target cache request when it is determined that the peripheral node has a fault, and recalculate the routing transmission path between the target node and the destination node corresponding to the target cache request according to a routing algorithm.

[0125] In a specific embodiment of the present application, it further includes: A request retention unit, configured to retain the target cache request in the cache area where the target cache request is located and add the target cache request to the next arbitration cycle before recalculating the routing transmission path between the target node and the target node corresponding to the target cache request according to a routing algorithm.

[0126] In a specific embodiment of the present application, it further includes: A credit acquisition unit, configured to acquire the credit information of the peripheral node and determine the number of free spaces of the microchip size in the peripheral cache area according to the credit information of the peripheral node.

[0127] In a specific embodiment of the present application, it further includes: A table establishment unit, configured to establish a first table, a second table, and a third table in advance; A first recording unit, configured to record the fault status of the peripheral node by using the first table; A second recording unit, configured to record the number of free spaces of the microchip size in the peripheral cache area of the peripheral node by using the second table; A third recording unit, configured to record the weight values corresponding to other pending transmission requests except for the pending transmission requests with the destination address being local in each cache area under the previous arbitration cycle of the target node by using the third table.

[0128] An arbitration device for on-chip network transmission information provided by an embodiment of the present invention has the beneficial effects of an arbitration method for on-chip network transmission information disclosed above.

[0129] Please refer to Figure 7 , Figure 7 which is a structural diagram of an arbitration device for transmitting information in a network-on-chip provided by an embodiment of the present invention. The device includes: A memory 31 for storing computer programs; A processor 32 for executing the computer programs to implement the steps of an arbitration method for transmitting information in a network-on-chip as disclosed above.

[0130] The arbitration device for transmitting information in a network-on-chip provided in this embodiment may include, but is not limited to, a smart phone, a tablet computer, a laptop computer, or a desktop computer, etc.

[0131] Among them, the processor 32 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 32 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), or programmable logic array (PLA). The processor 32 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the wake state, also known as the central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 32 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 32 may further include an artificial intelligence (AI) processor, and the AI processor is used to process computational operations related to machine learning.

[0132] The memory 31 may include one or more computer-readable storage media, which may be non-transitory. The memory 31 may also include high-speed random access memory, as well as non-volatile memory, such as one or more disk storage devices and flash storage devices. In this embodiment, the memory 31 is at least used to store the following computer program 301. After the computer program is loaded and executed by the processor 32, the relevant steps of the arbitration method for on-chip network information transmission disclosed in any of the foregoing embodiments can be implemented. In addition, the resources stored in the memory 31 may also include an operating system 302, data 303, etc., and the storage method may be transient storage or permanent storage. Among them, the operating system 302 may include Windows, Unix, Linux, etc. The data 303 may include, but is not limited to, the data involved in the arbitration method for on-chip network information transmission.

[0133] In some embodiments, the arbitration device for on-chip network information transmission may further include a display screen 33, an input / output interface 34, a communication interface 35, a power supply 36, and a communication bus 37.

[0134] Those skilled in the art can understand that Figure 7 the shown structure does not constitute a limitation on the arbitration device for on-chip network information transmission, and may include more or fewer components than shown.

[0135] It can be understood that if the method in the above embodiments is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the current technology, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and executes all or part of the steps of the methods in the various embodiments of the present invention. The foregoing storage media include: USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, magnetic disks, or optical disks, etc., which can store program codes.

[0136] The arbitration device for on-chip network information transmission provided by the embodiments of the present invention has the beneficial effects of the arbitration method for on-chip network information transmission disclosed above.

[0137] Correspondingly, the embodiments of the present invention also provide a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the arbitration method for on-chip network information transmission disclosed above are implemented.

[0138] A computer-readable storage medium provided by an embodiment of the present invention has the beneficial effects of an arbitration method for transmitting information on a network-on-chip disclosed above.

[0139] Correspondingly, an embodiment of the present invention further provides a computer program product, including a computer program / instructions, and when the computer program / instructions are executed by a processor, the steps of an arbitration method for transmitting information on a network-on-chip disclosed above are implemented.

[0140] A computer program product provided by an embodiment of the present invention has the beneficial effects of an arbitration method for transmitting information on a network-on-chip disclosed above.

[0141] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.

[0142] The above has introduced in detail an arbitration method for transmitting information on a network-on-chip and related devices provided by the present invention. Specific examples are used herein to elaborate on the principles and implementation manners of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the claims of the present invention.

Claims

1. An arbitration method for transmitting information in a network-on-chip, characterized in that, The method is applied to a target node in a network on chip arranged in a grid shape, wherein the target node is any node of the network on chip, and comprises: Determine the requests to be sent by the target node in each input direction in the current arbitration cycle to obtain a target set; Determine the weight value corresponding to each request to be sent in the target set according to the failure state of the node closest to the target node in the message transmission path of the target request and the number of free spaces of the micro-slice size, the number of historical requests in the same transmission direction, and the historical weight value; the target request is any request to be sent in the target set; the historical weight value is the weight value corresponding to the target node when sending each request to be sent in the previous arbitration cycle; The requests to be sent in the target set are sorted in descending order of weight value, so as to respond to the sorted requests to be sent by using the crossbar switch on the target node.

2. The arbitration method for transmitting information in the network-on-chip according to claim 1, wherein The step of determining the requests to be sent by the target node in each input direction in the current arbitration cycle to obtain a target set includes: Taking the position of the target node in the on-chip network as a reference point, determine the requests to be sent by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction in the current arbitration cycle, and determine the requests to be sent that are retained by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction in the previous arbitration cycle, to obtain the target set.

3. The arbitration method for transmitting information in the network-on-chip according to claim 2, wherein Also includes: The data packet header flit of each to-be-sent request in the target set is parsed to determine the output direction of each to-be-sent request in the target set relative to the target node.

4. The arbitration method for transmitting information in a network-on-chip according to claim 3, characterized in that, The parsing of the data packet header flit of each to-be-sent request in the target set includes: The router in the target node is used to parse the header fragments of each data packet of the request to be sent in the target set.

5. The arbitration method for transmitting information in a network-on-chip according to claim 2, wherein The determining of the requests to be sent by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction in the current arbitration cycle, and the determining of the requests to be sent retained by the target node in the east incoming direction, the west incoming direction, the south incoming direction, the north incoming direction and the local incoming direction in the previous arbitration cycle, to obtain the target set, includes: Determine the to-be-sent requests cached by the target node in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area in the current arbitration cycle, and determine the to-be-sent requests that are respectively retained in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area in the previous arbitration cycle, to obtain a first subset, a second subset, a third subset, a fourth subset, and a fifth subset; Among them, the target set includes the first subset, the second subset, the third subset, the fourth subset, and the fifth subset; The first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area are respectively the cache areas corresponding to the target node in the incoming direction from the east, the incoming direction from the west, the incoming direction from the south, the incoming direction from the north, and the incoming direction from the local; The arbitration period is: starting from processing the pending transmission requests cached and held in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area, and the time required when the processing of the pending transmission requests cached and held in the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area is completed.

6. The arbitration method for transmitting information in a network-on-chip according to claim 5, wherein, Sorting the pending transmission requests in the target set in descending order of weight value to use the crossbar on the target node to respond to the sorted pending transmission requests includes: Prioritizing the response to the pending transmission requests with the destination address being local in the first subset, the second subset, the third subset, the fourth subset, and the fifth subset, and sorting the other pending transmission requests except those with the destination address being local in the first subset, the second subset, the third subset, the fourth subset, and the fifth subset in descending order of weight value to obtain a first request sequence, a second request sequence, a third request sequence, a fourth request sequence, and a fifth request sequence; Sending the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node to use the crossbar to respond to the pending transmission requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence.

7. The arbitration method for transmitting information in a network-on-chip according to claim 6, characterized in that Sending the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node to use the crossbar to respond to the pending transmission requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence includes: If there is only one pending request in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then send the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar simultaneously responds to the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence; If there is more than one pending request in each of the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence, then send the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence to the crossbar on the target node, so that the crossbar responds to the pending requests in the first request sequence, the second request sequence, the third request sequence, the fourth request sequence, and the fifth request sequence based on the first-in-first-out principle.

8. An arbitration method for transmitting information in a network-on-chip according to claim 6, characterized in that, Determining the weight values corresponding to the pending requests in the target set according to the failure status of the node closest to the target node in the message transmission path of the target request, the available space of the microchip size, the number of historical requests in the same transmission direction, and the historical weight value includes: Determining the weight values corresponding to the pending requests in the target set other than the pending requests with the destination address being local according to the weight setting model; wherein, the expression of the weight setting model is: ; In the formula, represents the weight value corresponding to the target cache request in the target cache area, where the target cache area is any one of the first cache area, the second cache area, the third cache area, the fourth cache area, and the fifth cache area; the target cache request is any one of the pending requests in the target cache area except the pending request with the destination address being local; is the failure status of the peripheral node, where the peripheral node is the node closest to the target node in the message transmission path of the target cache request; when the peripheral node fails, when the peripheral node does not fail, ; represents the number of free spaces of the microchip size in the peripheral cache area of the peripheral node; the direction of the peripheral cache area relative to the peripheral node is: the corresponding direction of the target cache area relative to the target node; represents the value re-assigned according to the weight values of other pending requests in the target cache area except the pending request with the destination address being local under the previous arbitration cycle of the target node; represents a preset coefficient; represents the number of pending requests with the same output direction as the target cache request in the target cache area under the previous arbitration cycle of the target node. When there is no pending request with the same output direction as the target cache request in the target cache area under the previous arbitration cycle of the target node, let .

9. The arbitration method for transmitting information in the network on chip according to claim 8, wherein It further includes: In the previous arbitration cycle and in the target cache area, obtain the weight values of the pending requests on the target node other than the pending requests with the destination address being local, and sort each pending request in descending order of the weight value to obtain the first sequence; If there is a pending request sent in the target output direction in the first sequence, then determine the pending request sent in the target output direction in the first sequence to obtain the target screening set; The target output direction is the same as the target cache request output direction; Determine the pending request corresponding to the largest weight value in the target screening set to obtain the target screening request, and screen out the pending requests that first appear in different output directions from the first sequence to obtain the second sequence; Assign values according to the arrangement order of the target screening requests in the second sequence to perform the assignment.

10. The arbitration method for transmitting information in a network-on-chip according to claim 9, wherein It further includes: If there is no pending request to be sent in the first sequence sent by the target output direction, then assign a value to according to the target output direction.

11. An arbitration method for transmitting information in a network-on-chip according to claim 8, characterized in that, It further includes: Send a target detection signal to the peripheral node, and determine whether the peripheral node has failed according to the feedback signal returned by the peripheral node.

12. The arbitration method for transmitting information in a network-on-chip according to claim 11, wherein, Sending the target detection signal to the peripheral node and determining whether the peripheral node has failed according to the feedback signal returned by the peripheral node includes: Send the target detection signal to the peripheral node, and determine whether the peripheral node can return a feedback signal corresponding to the target detection signal within a preset time; If so, it is determined that the peripheral node has not failed; If not, it is determined that the peripheral node has failed.

13. The arbitration method for transmitting information in a network-on-chip according to claim 12, characterized in that, It further includes: When it is determined that the peripheral node has failed, the destination node corresponding to the target cache request is determined, and the routing transmission path between the target node and the destination node corresponding to the target cache request is recalculated according to the routing algorithm.

14. The arbitration method for transmitting information in a network-on-chip according to claim 13, wherein Before recalculating the routing transmission path between the target node and the destination node corresponding to the target cache request according to the routing algorithm, it further includes: The target cache request is retained in the cache area where the target cache request is located, and the target cache request is added to the next arbitration cycle.

15. The arbitration method for transmitting information in a network-on-chip according to claim 8, characterized in that, It further includes: Obtain the credit information of the peripheral node, and determine the number of free spaces of the microchip size in the peripheral cache area according to the credit information of the peripheral node.

16. The arbitration method for transmitting information in a network-on-chip according to claim 8, characterized in that It further includes: Pre-establish a first table, a second table, and a third table; Use the first table to record the failure status of the peripheral node; Use the second table to record the number of free spaces of the microchip size in the peripheral cache area of the peripheral node; Use the third table to record the weight values corresponding to other pending requests except the requests to be sent with the destination address being local in each cache area under the previous arbitration cycle of the target node.

17. An arbitration device for transmitting information in a network-on-chip, characterized in that, Applied to a target node in a network-on-chip arranged in a grid pattern, the target node is any node of the network-on-chip, including: A request acquisition module, configured to acquire requests to be sent by the target node in each input direction in the current arbitration cycle to obtain a target set; A weight calculation module, configured to determine the weight values corresponding to the pending requests in the target set according to the failure status and the number of free spaces of the microchip size of the node closest to the target node in the message transmission path of the target request, the historical request quantity in the same transmission direction, and the historical weight value; the target request is any pending request in the target set; the historical weight value is the weight value corresponding to each pending request sent by the target node in the previous arbitration cycle; A request response module, configured to sort the pending requests in the target set in descending order of weight values, so as to respond to the sorted pending requests by using the crossbar switch on the target node.

18. An arbitration device for transmitting information in a network-on-chip, characterized in that, It includes: A memory, configured to store a computer program; A processor, configured to execute the computer program to implement the steps of an arbitration method for transmitting information in a network-on-chip according to any one of claims 1 to 16.

19. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of an arbitration method for transmitting information in a network-on-chip 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 an arbitration method for transmitting information in a network-on-chip according to any one of claims 1 to 16 are implemented.

Citation Information

Patent Citations

  • Network on chip resource arbitration method and arbitration unit of additional request number priority

    CN105022717A

  • Low-time delay crossbar switch scheduling method suitable for network on chip

    CN107360107A

  • Routing device and routing method of network-on-chip

    CN110620731A

  • Distributed network resource optimization scheduling method and system under load balancing strategy

    CN119232741A

  • Network-on-chip data processing method and device, computer equipment and storage medium

    CN119449743A

Cited By

  • Arbitration method, device and equipment, storage medium and computer program product

    CN120692227A

  • Request scheduling method and system

    CN122027698A