Network-on-chip, routing method, and electronic device

By deploying a monitoring module and a global threshold configuration module in the on-chip network, the timeout detection threshold is dynamically adjusted, which solves the problem of low-priority access requests being blocked for a long time and improves access efficiency and bandwidth utilization.

CN122489487APending Publication Date: 2026-07-31XIANGDIXIAN COMPUTING TECH (CHONGQING) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
XIANGDIXIAN COMPUTING TECH (CHONGQING) CO LTD
Filing Date
2026-04-08
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

In existing on-chip networks, low-priority access requests are blocked by high-priority requests for a long time, resulting in increased latency and reduced bandwidth. Existing solutions have failed to effectively solve this problem.

Method used

By deploying a monitoring module and a global threshold configuration module in the on-chip network, the timeout detection threshold can be dynamically adjusted by monitoring the latency and bandwidth information of the access path, thereby optimizing the arbitration strategy of the routing nodes and preventing access requests from being blocked for a long time.

Benefits of technology

It enables reasonable control of access request routing based on the performance requirements of the main module, avoiding long-term blocking of access requests and improving access efficiency and bandwidth utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122489487A_ABST
    Figure CN122489487A_ABST
Patent Text Reader

Abstract

This disclosure provides an on-chip network, a routing method, and an electronic device. The on-chip network includes a plurality of routing nodes, wherein any routing node is used for routing at least one set of access paths between master modules and slave modules. The on-chip network is deployed with a global threshold configuration module and a monitoring module. The monitoring module is configured to monitor access statistics of the access path between the corresponding master module and at least one target slave module according to a preset monitoring period, determine timeout detection threshold adjustment information for the access path based on the access statistics, and send the timeout detection threshold adjustment information to the global threshold configuration module. The global threshold configuration module is configured to send adjustment instructions to the routing nodes on the on-chip network in response to the received timeout detection threshold adjustment information. The routing nodes are configured to adjust the timeout detection threshold based on the adjustment instructions for their local location, and perform timeout detection on access requests based on the timeout detection threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of graphics processing technology, and more particularly to an on-chip network, a routing method, and an electronic device. Background Technology

[0002] Modern System-on-Chip (SoC) chips often employ a multi-core architecture. To minimize bandwidth and latency performance issues, on-chip networks are typically used to interconnect modules. When multiple master modules access multiple slave modules simultaneously, a suitable routing mechanism is needed to arbitrate and schedule multi-path communication, preventing excessive latency or low bandwidth for any master module accessing a slave module.

[0003] Existing routing mechanisms typically use a priority-based arbitration method. This means that when the main module issues an access command, it carries a sideband signal representing the priority of that access. When multiple access requests simultaneously reach the arbitrator, the arbitrator arbitrates and outputs the request with the highest priority. The impact of this mechanism is that low-priority accesses are always the last to pass through the route, leading to increased latency for the main module sending low-priority accesses and reduced average bandwidth. Although this situation can be improved by increasing the priority of accesses issued by the main module, low-priority requests that have already been sent may be blocked by higher-priority requests for an extended period, thus affecting access efficiency. Summary of the Invention

[0004] The purpose of this disclosure is to provide an on-chip network, a routing method, and an electronic device to solve the problem of long-term blocking of access requests in an on-chip network.

[0005] According to a first aspect of this disclosure, an on-chip network is provided, the on-chip network including a plurality of routing nodes for implementing communication between a master module and a slave module on a system-on-a-chip, wherein any routing node is used for routing at least a set of access paths between the master module and the slave module; the on-chip network is deployed with a global threshold configuration module and a monitoring module, and any monitoring module corresponds to a master module; The monitoring module is configured to monitor access statistics of the access path between the corresponding local master module and at least one target slave module according to a preset monitoring cycle, determine timeout detection threshold adjustment information for the access path based on the access statistics, and send the timeout detection threshold adjustment information to the global threshold configuration module. The global threshold configuration module is configured to send adjustment instructions to the routing nodes on the on-chip network in response to the received timeout detection threshold adjustment information; The routing node is configured to adjust the timeout detection threshold based on local adjustment instructions and to perform timeout detection on access requests based on the timeout detection threshold.

[0006] In one embodiment, the monitoring module is specifically configured to monitor the latency of each access path between the local corresponding master module and any target slave module within the preset monitoring period, and determine timeout detection threshold adjustment information for the access path based on the latency.

[0007] In one embodiment, the monitoring module is specifically configured to monitor the latency of M access requests along the access path between the local master module and any target slave module within the preset monitoring period. If the latency of P access requests among the M access requests is greater than a first preset latency threshold, the timeout detection threshold adjustment information is determined to be a decrease in the timeout detection threshold. If the latency of P access requests among the M access requests is less than a second preset latency threshold, the timeout detection threshold adjustment information is determined to be an increase in the timeout detection threshold. The first preset latency threshold is greater than the second preset latency threshold.

[0008] In one embodiment, the monitoring module is specifically configured to monitor the access bandwidth of the access path between the local corresponding master module and any target slave module within the preset monitoring period, and determine the timeout detection threshold adjustment information of the access path based on the access bandwidth.

[0009] In one embodiment, the monitoring module is specifically configured to monitor the total bandwidth of the access path between the local corresponding master module and any target slave module within the preset monitoring period, determine the average bandwidth of the access path based on the monitoring period, and if the average bandwidth is greater than a first preset bandwidth threshold, determine the timeout detection threshold adjustment information to increase the timeout detection threshold of the access path; if the average bandwidth is less than the first preset bandwidth threshold, determine the timeout detection threshold adjustment information to decrease the timeout detection threshold of the access path.

[0010] In one implementation, the timeout detection threshold is used to perform timeout detection for access requests along any access path between the master module and the slave module. The global threshold configuration module is specifically configured to, after receiving timeout detection threshold adjustment information, determine the target routing node traversed by the access path corresponding to the timeout detection threshold adjustment information; determine an adjustment instruction based on the timeout detection threshold adjustment information and send it to the target routing node; The routing node is specifically configured to adjust the timeout detection threshold of the access path corresponding to the timeout detection threshold adjustment information based on the adjustment instruction received for the local area.

[0011] In one implementation, the timeout detection threshold is used to perform timeout detection for any access request to the main module; The global threshold configuration module is specifically configured to query all access paths corresponding to each routing node and the main module of each access path; for any target routing node, based on the received timeout detection threshold adjustment information of all access paths corresponding to the same main module, determine the comprehensive threshold adjustment information of the main module, and package the comprehensive threshold adjustment information of the main module into an adjustment command and send it to the target routing node. The routing node is specifically configured to, upon receiving an adjustment instruction for the local area, adjust the timeout detection threshold of the main module corresponding to the comprehensive threshold adjustment information based on the comprehensive threshold adjustment information contained therein.

[0012] In one implementation, the timeout detection threshold is used to perform timeout detection for access requests to any routing node; The global threshold configuration module is specifically configured to query all target access paths corresponding to each routing node; for any target routing node, based on the received timeout detection threshold adjustment information of all access paths corresponding to the target routing node, determine the comprehensive threshold adjustment information of the routing node, and package the comprehensive threshold adjustment information of the target routing node into an adjustment command and send it to the target routing node; The routing node is specifically configured to adjust its local comprehensive threshold adjustment information based on the comprehensive threshold adjustment information contained in the adjustment instruction received for the local area.

[0013] In one implementation, the global threshold configuration module is specifically configured to, for any target routing node, linearly combine the received timeout detection threshold adjustment information for all access paths corresponding to the target routing node based on a preset correction coefficient corresponding to each access path to obtain the comprehensive threshold adjustment information for that routing node.

[0014] According to a second aspect of this disclosure, the method is applied to an on-chip network, the on-chip network including a plurality of routing nodes for implementing communication between a master module and a slave module on a system-on-a-chip, wherein any routing node is used for routing at least a set of access paths between the master module and the slave module; the on-chip network is deployed with a global threshold configuration module and a monitoring module, each monitoring module corresponding to a master module; the method includes: The monitoring module monitors the access statistics of the access path between the corresponding local master module and at least one target slave module according to a preset monitoring cycle, determines the timeout detection threshold adjustment information of the access path based on the access statistics, and sends the timeout detection threshold adjustment information to the global threshold configuration module. The global threshold configuration module sends adjustment instructions to the routing nodes on the on-chip network in response to the received timeout detection threshold adjustment information; The routing node adjusts the timeout detection threshold based on the local adjustment instructions. The timeout detection threshold is used to perform timeout detection on access requests sent from the master module to the slave module.

[0015] According to a third aspect of this disclosure, a graphics processing system is provided, including an on-chip network of the first aspect.

[0016] According to a fourth aspect of this disclosure, an electronic device is provided, including the graphics processing system of the third aspect.

[0017] According to a fifth aspect of this disclosure, an electronic device is provided, including the electronic device of the fourth aspect. Attached Figure Description

[0018] Figure 1 This is a schematic diagram of the structure of an on-chip network provided in one embodiment of the present disclosure; Figure 2 This is a schematic diagram of the structure of a storage matrix provided in one embodiment of the present disclosure; Figure 3 This is a schematic diagram of the structure of a routing node provided in one embodiment of the present disclosure; Figure 4 This is a flowchart illustrating a routing method provided in one embodiment of the present disclosure; Figure 5 This is a schematic diagram of a graphics processing system structure provided in one embodiment of the present disclosure. Detailed Implementation

[0019] Before introducing the embodiments of this disclosure, it should be noted that: Some embodiments of this disclosure are described as processing flows. Although the various operational steps of the flow may be numbered sequentially, the operational steps may be performed in parallel, concurrently, or simultaneously.

[0020] The embodiments disclosed herein may use terms such as "first," "second," etc., to describe various features, but these features should not be limited by these terms. These terms are used merely to distinguish one feature from another.

[0021] The term “and / or” may be used in embodiments of this disclosure, and “and / or” includes any and all combinations of one or more of the associated features listed.

[0022] It should be understood that when describing the connection or communication relationship between two components, unless it is explicitly stated that the two components are directly connected or communicate directly, the connection or communication between the two components can be understood as a direct connection or communication, or it can be understood as an indirect connection or communication through an intermediate component.

[0023] To make the technical solutions and advantages of the embodiments of this disclosure clearer, the exemplary embodiments of this disclosure will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not an exhaustive list of all embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this disclosure can be combined with each other.

[0024] To prevent access requests from a master module to a slave module from being blocked for an extended period, some on-chip network solutions implement timeout detection mechanisms for master-slave module requests or timeout detection mechanisms for routing node requests that fail to win arbitration. However, these solutions do not organically combine the two. For example, the routing node may be configured to route the request to the next destination (routing node or slave module) if a request fails to win arbitration more than N times. However, since the routing node cannot know the performance requirements of the master module, the setting of the value of N may not be reasonable; moreover, the setting of the value of N may not be completely consistent in different application scenarios.

[0025] To address the aforementioned issues, this disclosure proposes an on-chip network and a routing information configuration method. The on-chip network monitors each access path and dynamically adjusts the timeout detection threshold in the routing nodes based on the monitoring data. Subsequently, the routing nodes allow access requests based on the timeout detection threshold. This allows for reasonable control of the arbitration strategy of the routing nodes for access requests according to the actual performance requirements of the main module, while also preventing long-term blocking of access requests from the main module to the slave module.

[0026] Specifically, such as Figure 1 As shown, this disclosure presents an on-chip network (ISP). The ISP includes several routing nodes (i.e., routers in the figure) for communication between master and slave modules on the system-on-a-chip (SoC). Each routing node is used for routing at least one set of access paths between master and slave modules. The ISP deploys a global threshold configuration module and a monitoring module (i.e., interface monitoring module in the figure), with each monitoring module corresponding to a master module. Combined with... Figure 1 The example shown includes four main modules: main module 1, main module 2, main module 3, and main module 4; and two slave modules: slave module 1 and slave module 2. It also includes three routing nodes: routing node A, routing node B, and routing node C, which will be referred to as routing node A, routing node B, and routing node C in the following description.

[0027] Routing node A is used for routing access paths between master module 1 and slave module 1, master module 1 and slave module 2, master module 2 and slave module 1, and master module 2 and slave module 2. Other routing nodes follow the same principle and will not be elaborated here. The interface monitoring module below master module 1 in the diagram is used to monitor master module 1, the interface monitoring module below master module 2 is used to monitor master module 2, and so on.

[0028] The specific execution methods for each module are described below.

[0029] The monitoring module is configured to monitor the access statistics of the access path between the corresponding local master module and at least one target slave module according to a preset monitoring cycle, determine the timeout detection threshold adjustment information of the access path based on the access statistics, and send the timeout detection threshold adjustment information to the global threshold configuration module. The global threshold configuration module is configured to send adjustment instructions to the routing nodes on the on-chip network in response to the received timeout detection threshold adjustment information; The routing node is configured to adjust the timeout detection threshold based on local adjustment instructions and to perform timeout detection on access requests based on the timeout detection threshold.

[0030] By using the above method, a timeout detection threshold is pre-configured in the routing node, and then the timeout detection threshold is dynamically adjusted according to the actual access information of the access path between the master module and the target slave module. This allows for targeted adjustment of the timeout detection threshold in the routing node based on the actual needs of the master module, thereby preventing the access path between the master module and the target slave module from being blocked for a long time due to a large timeout detection threshold, or from blocking other access paths due to a small timeout detection threshold.

[0031] The methods for each module in the on-chip network are explained in detail below.

[0032] For the monitoring module, it can determine the timeout detection threshold adjustment information based on the monitoring delay time.

[0033] Specifically, the monitoring module is configured to monitor the latency of each access path between the local master module and any target slave module within a preset monitoring period, and determine the timeout detection threshold adjustment information for the access path based on the latency.

[0034] In one implementation, the monitoring module is specifically configured to monitor the latency of M access requests along the access path between the local main module and any target slave module within a preset monitoring period. If the latency of P access requests out of the M requests is greater than a first preset latency threshold, the timeout detection threshold adjustment information is determined to be a decrease in the timeout detection threshold. If the latency of P access requests out of the M requests is less than a second preset latency threshold, the timeout detection threshold adjustment information is determined to be an increase in the timeout detection threshold. The first preset latency threshold is greater than the second preset latency threshold. Furthermore, the timeout detection threshold adjustment information includes not only the direction of adjustment (increase or decrease) but also the specific adjustment magnitude (adjustment value). This adjustment data is related to the latency sensitivity of the main module; the higher the latency sensitivity, the smaller the adjustment data, and the lower the latency sensitivity, the larger the adjustment data, in order to more effectively adjust the timeout detection threshold.

[0035] For example, after enabling the interface monitoring function, a counter starts counting. The monitoring module records the current counter value based on the time each monitored access is sent, called the access sending time. When the access returns a response, the access return time is obtained based on the current counter value. Finally, the latency of the access is obtained by the difference between the sending and return times. When monitoring ends, all measured access latency times and expected latency times are compared. Based on the difference between the actual latency time and the expected latency time, the threshold adjustment request information that the monitoring module should send is calculated.

[0036] In a specific implementation, the threshold adjustment calculation method is as follows: (1) Set an upper limit (the first preset delay threshold) and a lower limit (the second preset delay threshold) for the expected delay time, and these two values can be configured through registers. For each monitoring module, the delay times of M accesses are counted, where M represents the number of accesses passing through the monitoring module within the user-set time (i.e., within the preset monitoring period); (2) If the actual delay times of P accesses are all less than the lower limit of the expected delay time, the monitoring module will issue a request to increase the timeout detection threshold; (3) If the delay times of P accesses are all greater than the upper limit of the expected delay time, the monitoring module will issue a request to decrease the timeout detection threshold; (4) If the delay times of the M accesses do not conform to the above two situations in (2) and (3), although the monitoring module will issue a request, the content of the request is not to change the timeout detection threshold. (5) The information carried by the threshold adjustment request includes: the master module ID, the slave module ID, and the threshold gear to be adjusted, i.e., the adjustment value. This gear can be a positive value, a negative value, or 0. It is a positive value in (2) and a negative value in (3); (6) Give a reasonable timeout threshold gear according to the master-slave module combination corresponding to the monitoring module. This gear is set according to the delay sensitivity of the master module. In the SoC, the sensitivity of the master module to delay is different and can be divided into delay-sensitive type, general-delay type, and delay-indifferent type. The delay-sensitive type is given a lower absolute value of the threshold gear, the general-delay type is given a medium absolute value of the threshold gear, and the delay-indifferent type is given a higher absolute value of the threshold gear. All absolute values of the threshold gears are set according to experience and can be reconfigured through software; (7) In the above description, 0 < P <= M / 2 and P can be configured through registers. The threshold adjustment gear corresponding to each master-slave module usually uses an empirical value as the default value and can also be configured through registers.

[0037] In another implementation, the monitoring module is specifically configured to monitor the average delay time of M access requests for the access path between the local corresponding master module and any target slave module within the preset monitoring period. If the average delay time is greater than the preset average delay time, it is determined that the timeout detection threshold adjustment information is to decrease the timeout detection threshold; otherwise, it is determined that the timeout detection threshold adjustment information is to increase the timeout detection threshold.

[0038] In addition, for the monitoring module, it can also determine the timeout detection threshold adjustment information based on the monitoring bandwidth.

[0039] Specifically, the monitoring module is specifically configured to monitor the access bandwidth of the access path between the local corresponding master module and any target slave module within the preset monitoring period, and determine the timeout detection threshold adjustment information for this access path based on the access bandwidth.

[0040] In one embodiment, the monitoring module is specifically configured to monitor the total bandwidth of the access path between the corresponding local master module and any target slave module within a preset monitoring period, determine the average bandwidth of the access path based on the monitoring period, and if the average bandwidth is greater than a first preset bandwidth threshold, determine the timeout detection threshold adjustment information to increase the timeout detection threshold of the access path; if the average bandwidth is less than a second preset bandwidth threshold, determine the timeout detection threshold adjustment information to decrease the timeout detection threshold of the access path, wherein the second preset bandwidth threshold is less than the first preset bandwidth threshold.

[0041] For example, after enabling the interface monitoring function, a counter starts counting, parses the burst length carried by the monitored access, multiplies it by the data bit width of each access to obtain the number of bytes per access, and the monitoring module records the number of bytes for the first access. The number of bytes for subsequent accesses is accumulated based on this, and finally, the total number of bytes accessed between the master and slave modules through the monitoring module within the measured time is obtained. Dividing the total number of bytes by the measurement time represented by the counter gives the average bandwidth. When monitoring ends, the measured average bandwidth is compared with the expected average bandwidth. By comparing the average bandwidth with the expected average bandwidth, the monitoring module issues timeout detection threshold adjustment information. The threshold adjustment calculation method is as follows: (1) Set an upper limit (first preset bandwidth threshold) and a lower limit (second preset bandwidth threshold) for the expected average bandwidth. These two values ​​can be configured through registers. (2) If the actual measured average bandwidth is less than the expected average bandwidth lower limit, the monitoring module will issue an adjustment message to lower the routing timeout detection threshold. (3) If the actual measured average bandwidth is greater than the expected average bandwidth upper limit, the interface monitoring module will issue an adjustment message to raise the timeout detection threshold. (4) Each adjustment message will carry the absolute value of the threshold adjustment level. This value is set by the user through registers according to the sensitivity of the main module to the average bandwidth. (5) Except for the above (2) and (3) cases, although the interface monitoring module will issue a request, the requested threshold adjustment value is 0. (6) The information carried by the threshold adjustment request includes: main module ID, slave module ID, and the threshold level to be adjusted. This level can be positive, negative or 0. When increasing the routing node timeout threshold, it is a positive value, and when decreasing the routing node timeout threshold, it is a negative value.

[0042] In another implementation, the monitoring module is specifically configured to monitor the total bandwidth of the access path between the local corresponding master module and any target slave module within a preset monitoring period. If the total bandwidth is greater than a preset total bandwidth threshold, the timeout detection threshold adjustment information is determined to be to increase the timeout detection threshold of the access path; otherwise, the timeout detection threshold adjustment information is determined to be to decrease the timeout detection threshold of the access path.

[0043] For the global threshold configuration module and routing nodes, the execution method is as follows.

[0044] In one implementation, the timeout detection threshold is used to detect timeouts for access requests on any access path between the master module and the slave module. That is, a timeout detection threshold is set for each access path in the routing node. Within the routing node, the timeout detection threshold for each access path is set independently. The routing node performs timeout detection and access control for each access path based on the timeout detection threshold.

[0045] Specifically, the global threshold configuration module is configured to, upon receiving timeout detection threshold adjustment information, determine the target routing node traversed by the access path corresponding to the timeout detection threshold adjustment information; determine the adjustment instruction based on the timeout detection threshold adjustment information and send it to the target routing node; The routing node is specifically configured to adjust the timeout detection threshold of the access path corresponding to the timeout detection threshold adjustment information based on the adjustment instruction received for the local area.

[0046] In practice, the global threshold configuration module internally stores a threshold storage matrix. This matrix is ​​related to the topology and is a fixed matrix. The threshold storage matrix is ​​a two-dimensional array, indexed by the master module ID and slave module ID, recording the timeout detection threshold corresponding to each combination of master and slave modules. Figure 1 The on-chip network topology, and the specific format of the storage matrix are shown below. Figure 2 When the master and slave module IDs in the threshold adjustment request match the storage matrix, the timeout detection threshold stored in the corresponding location is adjusted according to the timeout detection threshold adjustment information in the request. For example, for routing node A, the storage matrix records four combinations of timeout detection thresholds: master module 1-slave module 1, master module 1-slave module 2, master module 2-slave module 1, and master module 2-slave module 2. When the global threshold configuration module receives the timeout detection threshold adjustment request for the above four ID combinations, it can calculate the corresponding timeout detection threshold and send it to routing node A. When sending the adjustment command to routing node A, it can be sent via broadcast. The broadcast adjustment instruction carries two pieces of information: the routing node ID and the timeout detection threshold. The broadcast passes through all routing nodes in sequence. When a routing node determines that the ID carried in the broadcast is equal to its own ID, it will receive the broadcast adjustment instruction and adjust the timeout detection threshold of the access path corresponding to the timeout detection threshold adjustment information based on the adjustment instruction. Subsequently, when the number of timeouts detected on the access path reaches the timeout detection threshold, the requests in the access path will be directly prioritized and arbitrated and allowed.

[0047] In another implementation, the timeout detection threshold is used to perform timeout detection for access requests of any main module. That is, a timeout detection threshold is set for each main module in the routing node. Within the routing node, the timeout detection thresholds of each main module are independent of each other. The routing node performs timeout detection and access control for each main module based on the timeout detection threshold.

[0048] Specifically, the global threshold configuration module is configured to query all access paths corresponding to each routing node and the main module of each access path; for any target routing node, based on the received timeout detection threshold adjustment information of all access paths corresponding to the same main module, the comprehensive threshold adjustment information of the main module is determined, and the comprehensive threshold adjustment information of the main module is packaged into an adjustment command and sent to the target routing node. The routing node is specifically configured to, upon receiving an adjustment instruction for the local area, adjust the timeout detection threshold of the main module corresponding to the comprehensive threshold adjustment information based on the comprehensive threshold adjustment information contained therein.

[0049] In specific implementation, the global threshold configuration module is configured to, for any main module in any routing node, linearly combine the received timeout detection threshold adjustment information corresponding to all access paths of that main module with a preset correction coefficient corresponding to each access path to obtain the comprehensive threshold adjustment information of that main module.

[0050] For example, combining Figure 1 and Figure 2 For routing node A, the storage matrix records the timeout threshold levels for four combinations: master module 1-slave module 1, master module 1-slave module 2, master module 2-slave module 1, and master module 2-slave module 2. When the global threshold configuration module receives a threshold adjustment request for master module 1 or master module 2, it calculates the comprehensive threshold adjustment information of master module 1 or master module 2 according to the formula, packages the comprehensive threshold adjustment information of master module 1 into an adjustment command, and sends it to routing node A. For example, for master module 1 in routing node A, the comprehensive threshold adjustment information of master module 1 is obtained by using the timeout threshold adjustment information of master module 1-slave module 1 and master module 1-slave module 2.

[0051] The specific calculation method for its comprehensive threshold adjustment information is as follows: timeout_threshold = α11 * β11 + α12 * β12 Wherein, timeout_threshold is the comprehensive threshold adjustment information, αij represents the timeout detection threshold corresponding to the i-th master module to the j-th slave module, and βij represents the correction coefficient corresponding to the i-th master module to the j-th slave module.

[0052] In another implementation, the timeout detection threshold is used to detect timeouts for access requests routed to any routing node. That is, there is only one timeout detection threshold in the routing node, and all access requests passing through the routing node use the same timeout detection threshold for timeout detection and access control. This timeout detection threshold comprehensively considers the access requirements of all access paths passing through the routing node.

[0053] Specifically, the global threshold configuration module is configured to query all target access paths corresponding to each routing node; for any target routing node, based on the received timeout detection threshold adjustment information of all access paths corresponding to that target routing node, determine the comprehensive threshold adjustment information of that routing node, and package the comprehensive threshold adjustment information of that target routing node into an adjustment command and send it to that target routing node. The routing node is specifically configured to adjust its local comprehensive threshold adjustment information based on the comprehensive threshold adjustment information contained in the adjustment instruction received for the local area.

[0054] In specific implementation, the global threshold configuration module is configured to, for any target routing node, linearly combine the received timeout detection threshold adjustment information of all access paths corresponding to the target routing node with a preset correction coefficient corresponding to each access path to obtain the comprehensive threshold adjustment information of the routing node.

[0055] For example, combining Figure 1 and Figure 2 For routing node A, the storage matrix records four timeout threshold levels: Master Module 1-Slave Module 1, Master Module 1-Slave Module 2, Master Module 2-Slave Module 1, and Master Module 2-Slave Module 2. When the global threshold configuration module receives these four threshold adjustment requests, it calculates the comprehensive threshold adjustment information for routing node A according to the formula, packages this comprehensive threshold adjustment information into an adjustment command, and sends it to routing node A. The timeout threshold is: timeout_threshold = α11 * β11 + α12 * β12 + α21 * β21 + α22 * β22 Where αij represents the timeout detection threshold corresponding to the i-th master module to the j-th slave module, and βij represents the correction coefficient corresponding to the i-th master module to the j-th slave module. That is, the timeout threshold of a certain routing node is calculated as a linear combination of the timeout threshold levels corresponding to all master modules and slave modules passing through that routing node. Assuming that requests from M master modules to N slave modules all pass through a certain routing node, there will be M×N timeout threshold levels. Here, αij (1≤i≤M, 1≤j≤N) represents the timeout threshold level corresponding to the i-th master module to the j-th slave module, and βij (1≤i≤M, 1≤j≤N) represents the correction coefficient corresponding to the i-th master module to the j-th slave module. This correction coefficient register is configurable. Therefore, the timeout threshold of this routing node is:

[0056] The routing nodes proposed in this disclosure are described below.

[0057] like Figure 3 As shown, in one specific approach, the routing node adds a timeout detection module to each input port on top of the original "decoder + arbitrator" structure. The routing node structure is shown in the figure below. The timeout detection module is located between the input end of each port and the decoder. The counting conditions for triggering the timeout detection module are: (1) the monitored port has a new request, but it does not win in the arbitration of the arbitrator, and the counter is incremented by one; (2) the monitored port has a new request, and it wins in the arbitration of this arbitrator, and the counter is cleared to zero. When the value of the timeout counter exceeds the specified timeout threshold, the timeout flag of the port is raised, and according to the current output port of the decoder, the input port in the target arbitrator is given the highest priority, ensuring that in the next arbitration, the request waiting for the timeout at the input port of the routing node can win and be routed to the next destination. If the value of the timeout counter of the timeout detection module inside the routing node is greater than the new timeout threshold, the timeout mechanism is directly triggered and the timeout flag is raised; if the value of the counter of the timeout detection module inside the routing node is less than the new timeout threshold, the timeout threshold inside the routing node is directly updated. When a transaction is being transmitted on a routing node, the threshold is not configured. Only when there is no transmission, or when the current transmission is complete, is backpressure applied to the upstream transmission, and then the routing node is configured. This process consumes 0-1 clock cycles, which may impact performance, so the threshold update interval should be set appropriately.

[0058] Based on the same inventive concept, such as Figure 4As shown, this disclosure also proposes a routing method applied to an on-chip network. The on-chip network includes several routing nodes for implementing communication between master modules and slave modules on the system-on-a-chip, wherein any routing node is used for routing at least one set of access paths between master modules and slave modules; the on-chip network is deployed with a global threshold configuration module and a monitoring module, and any monitoring module corresponds to a master module; the method includes: The monitoring module monitors the access statistics of the access path between the corresponding main module and at least one target slave module according to the preset monitoring cycle, determines the timeout detection threshold adjustment information of the access path based on the access statistics, and sends the timeout detection threshold adjustment information to the global threshold configuration module. The global threshold configuration module sends adjustment instructions to the routing nodes on the on-chip network in response to the received timeout detection threshold adjustment information; The routing node adjusts the timeout detection threshold based on the local adjustment instructions, and uses the timeout detection threshold to perform timeout detection on the access requests sent from the master module to the slave module.

[0059] The specific methods for executing the aforementioned monitoring module, global threshold configuration module, and routing node can be found in the description above, and will not be repeated here.

[0060] Based on the same inventive concept, this disclosure also proposes a graphics processing system, which is as follows: Figure 5 As shown, it includes at least: A GPU core can be understood as the graphics processor mentioned above, used to process commands, such as drawing commands, and execute the image rendering pipeline based on the drawing commands. The GPU core mainly contains computing units, which execute the compiled instructions of shaders; these are programmable modules composed of numerous ALUs; a cache (memory) used to cache data from the GPU core to reduce memory access; and a controller (not shown in the diagram). In addition, the GPU core also has various functional modules, such as rasterization (a fixed stage in the 3D rendering pipeline), tilling (slicing a frame in TBR and TBDR GPU architectures), clipping (a fixed stage in the 3D rendering pipeline that clips primitives outside the viewing area or those not displayed on the back), and post-processing (scaling, clipping, rotating, etc., of the drawn image).

[0061] General-purpose DMA is used to perform data transfer between host memory and GPU memory. For example, for vertex data used in 3D drawing, general-purpose DMA moves vertex data from host memory to GPU memory. On-chip networking is used for data exchange between various masters and slaves on the SOC, and for implementing the routing methods mentioned above. The application processor is used to schedule tasks of various modules on the SOC. For example, after the GPU finishes rendering a frame, it notifies the application processor, which then starts the display controller to display the image drawn by the GPU on the screen. The PCIe controller is the interface used for communication with the host computer. It implements the PCIe protocol, allowing the GPU (graphics card) to connect to the host computer via the PCIe interface. The host computer runs graphics APIs and graphics card drivers, among other programs. The memory controller is used to connect memory devices and store data on the SOC. The display controller is used to control the output of the frame buffer in memory to the monitor via a display interface (HDMI, DP, etc.); A video decoder is used to decode encoded video on the host hard drive into a displayable image; A video encoder is used to encode the raw video stream on the host hard drive into a specified format and return it to the host.

[0062] Based on the same inventive concept, this disclosure also provides an electronic component that includes the graphics processing system described in any of the above embodiments. In some use cases, the electronic component is presented as a graphics card; in other use cases, the electronic component is presented as a CPU motherboard.

[0063] This disclosure also provides an electronic device that includes the aforementioned electronic components. In some usage scenarios, the electronic device is in the form of a portable electronic device, such as a smartphone, tablet computer, or VR device; in other usage scenarios, the electronic device is in the form of a personal computer or game console.

[0064] Although preferred embodiments of this disclosure have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this disclosure.

[0065] Obviously, those skilled in the art can make various modifications and variations to this disclosure without departing from its spirit and scope. Therefore, if such modifications and variations fall within the scope of the claims of this disclosure and their equivalents, this disclosure is also intended to include such modifications and variations.

Claims

1. An on-chip network, the on-chip network comprising a plurality of routing nodes for implementing communication between a master module and a slave module on a system-on-a-chip, wherein, Each routing node is used for routing at least one set of access paths between master and slave modules; The on-chip network is deployed with a global threshold configuration module and a monitoring module, with each monitoring module corresponding to a main module; The monitoring module is configured to monitor access statistics of the access path between the corresponding local master module and at least one target slave module according to a preset monitoring cycle, determine timeout detection threshold adjustment information for the access path based on the access statistics, and send the timeout detection threshold adjustment information to the global threshold configuration module. The global threshold configuration module is configured to send adjustment instructions to the routing nodes on the on-chip network in response to the received timeout detection threshold adjustment information; The routing node is configured to adjust the timeout detection threshold based on local adjustment instructions and to perform timeout detection on access requests based on the timeout detection threshold.

2. The on-chip network according to claim 1, The monitoring module is specifically configured to monitor the latency of each access path between the local master module and any target slave module within the preset monitoring period, and determine the timeout detection threshold adjustment information of the access path based on the latency.

3. The on-chip network according to claim 2, The monitoring module is specifically configured to monitor the latency of M access requests along the access path between the local master module and any target slave module within the preset monitoring period. If the latency of P access requests among the M access requests is greater than a first preset latency threshold, the timeout detection threshold adjustment information is determined to be a decrease in the timeout detection threshold. If the latency of P access requests among the M access requests is less than a second preset latency threshold, the timeout detection threshold adjustment information is determined to be an increase in the timeout detection threshold. The first preset latency threshold is greater than the second preset latency threshold.

4. The on-chip network according to claim 1, The monitoring module is specifically configured to monitor the access bandwidth of the access path between the local corresponding master module and any target slave module within the preset monitoring period, and determine the timeout detection threshold adjustment information of the access path based on the access bandwidth.

5. The on-chip network according to claim 4, The monitoring module is specifically configured to monitor the total bandwidth of the access path between the local master module and any target slave module within the preset monitoring period, determine the average bandwidth of the access path based on the monitoring period, and if the average bandwidth is greater than a first preset bandwidth threshold, determine that the timeout detection threshold adjustment information is to increase the timeout detection threshold of the access path; if the average bandwidth is less than a second preset bandwidth threshold, determine that the timeout detection threshold adjustment information is to decrease the timeout detection threshold of the access path. The second preset bandwidth threshold is less than the first preset bandwidth threshold.

6. The on-chip network according to claim 1, wherein the timeout detection threshold is used to perform timeout detection for access requests along any access path between the master module and the slave module; The global threshold configuration module is specifically configured to, upon receiving timeout detection threshold adjustment information, determine the target routing node traversed by the access path corresponding to the timeout detection threshold adjustment information; determine an adjustment instruction based on the timeout detection threshold adjustment information and send it to the target routing node; The routing node is specifically configured to adjust the timeout detection threshold of the access path corresponding to the timeout detection threshold adjustment information based on the adjustment instruction received for the local area.

7. The on-chip network according to claim 1, wherein the timeout detection threshold is used to perform timeout detection for access requests of any main module; The global threshold configuration module is specifically configured to query all access paths corresponding to each routing node and the main module of each access path; for any target routing node, based on the received timeout detection threshold adjustment information of all access paths corresponding to the same main module, determine the comprehensive threshold adjustment information of the main module, and package the comprehensive threshold adjustment information of the main module into an adjustment command and send it to the target routing node. The routing node is specifically configured to, upon receiving an adjustment instruction for the local area, adjust the timeout detection threshold of the main module corresponding to the comprehensive threshold adjustment information based on the comprehensive threshold adjustment information contained therein.

8. The on-chip network according to claim 1, wherein the timeout detection threshold is used to perform timeout detection on access requests for routing to any routing node; The global threshold configuration module is specifically configured to query all target access paths corresponding to each routing node; for any target routing node, based on the received timeout detection threshold adjustment information of all access paths corresponding to the target routing node, determine the comprehensive threshold adjustment information of the routing node, and package the comprehensive threshold adjustment information of the target routing node into an adjustment command and send it to the target routing node; The routing node is specifically configured to adjust its local comprehensive threshold adjustment information based on the comprehensive threshold adjustment information contained in the adjustment instruction received for the local area.

9. The on-chip network according to claim 8, The global threshold configuration module is specifically configured to, for any target routing node, linearly combine the received timeout detection threshold adjustment information for all access paths corresponding to that target routing node with a preset correction coefficient corresponding to each access path to obtain the comprehensive threshold adjustment information for that routing node.

10. A routing method applied to an on-chip network, wherein the on-chip network includes a plurality of routing nodes for implementing communication between a master module and a slave module on a system-on-a-chip, wherein, Each routing node is used for routing at least one set of access paths between master and slave modules; The on-chip network is deployed with a global threshold configuration module and a monitoring module, with each monitoring module corresponding to a main module; the method includes: The monitoring module monitors the access statistics of the access path between the corresponding local master module and at least one target slave module according to a preset monitoring cycle, determines the timeout detection threshold adjustment information of the access path based on the access statistics, and sends the timeout detection threshold adjustment information to the global threshold configuration module. The global threshold configuration module sends adjustment instructions to the routing nodes on the on-chip network in response to the received timeout detection threshold adjustment information; The routing node adjusts the timeout detection threshold based on the local adjustment instructions. The timeout detection threshold is used to perform timeout detection on access requests sent from the master module to the slave module.

11. A graphics processing system comprising the on-chip network according to any one of claims 1-9.

12. An electronic device comprising the graphics processing system of claim 11.

13. An electronic device comprising the electronic device of claim 12.