Computer device, request processing method and electronic equipment
By using a multi-routing network architecture and arbitration selector to handle different types of requests in computer systems, the problems of low efficiency and long delay in the prior art are solved, and more efficient request transmission and memory access performance are achieved.
Patent Information
- Application Number
- CN202411203496.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2024-12-24
AI Technical Summary
When existing computer systems face a large number of requests that require high-speed response, the request processing efficiency is low and the delay is long, especially the memory access delay is long, making it difficult to meet the fast response needs of processors and memory.
Using a multi-routing network architecture, different types of requests are processed through the first routing network and the second routing network respectively. The first routing network is used to transmit formal processing requests, and the second routing network is used to transmit preprocessing requests. The arbitration selector is used to process the requests according to Arbitration Rules arbitrate the second category of requests to determine the target request and reduce delays.
It effectively reduces the transmission delay of requests on the Internet between the requesting end and the response end, improves the transmission efficiency of requests, shortens the time when preprocessing requests arrive at the destination response end, and improves the memory access efficiency of the processor.
Smart Images

Figure CN119182827A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to a computer device, a request processing method, and an electronic device. Background Art
[0002] As computer specifications grow, the number of processor cores and the demand for main memory in computers also gradually increase. Processors and memories need to meet the growing performance requirements and respond to instructions and requests faster. Summary of the invention
[0003] At least one embodiment of the present disclosure provides a computer device, including: multiple request ends, multiple responding ends, a first routing network, and a second routing network, wherein the first routing network is configured to communicatively connect the multiple request ends and the multiple responding ends, and the second routing network is configured to communicatively connect the multiple request ends and the multiple responding ends, the multiple request ends are configured to send a first type of request to at least one of the multiple responding ends through the first routing network, and are configured to send a second type of request to at least one of the multiple responding ends through the second routing network, and the first type of request is different from the second type of request.
[0004] For example, in a computer device provided by at least some embodiments of the present disclosure, a transmission delay requirement for a first type of request is greater than a transmission delay requirement for a second type of request.
[0005] For example, in a computer device provided by at least some embodiments of the present disclosure, the second routing network includes multiple routing nodes, each of the multiple routing nodes includes an arbitration selector, and the arbitration selector is configured to arbitrate one or more second-class requests received by the corresponding routing node according to arbitration rules to determine how the corresponding routing node sends the one or more second-class requests.
[0006] For example, in a computer device provided in at least some embodiments of the present disclosure, an arbitration selector includes an output end and an input end, and the arbitration selector of at least one routing node in at least one routing path of a plurality of routing nodes is coupled to the input end of the arbitration selector of the next level routing node via the output end.
[0007] For example, in a computer device provided by at least some embodiments of the present disclosure, the arbitration selector includes at least two input terminals and at least one output terminal.
[0008] For example, in a computer device provided in at least some embodiments of the present disclosure, the arbitration rules are configured to, in response to the arbitration selector receiving at least two second-class requests in the same operation cycle, arbitrate at least two second-class requests to determine a target second-class request to output, or, in response to the arbitration selector receiving a second-class request in the same operation cycle, determine a second-class request to output.
[0009] For example, in a computer device provided by at least some embodiments of the present disclosure, the arbitration rules are further configured to, in response to the arbitration selector receiving at least two second-class requests in the same operation cycle, discard other second-class requests other than the target second-class request determined to be output.
[0010] For example, in a computer device provided by at least some embodiments of the present disclosure, the arbitration selector includes an arbitrator and a selector, the arbitrator is coupled to the selector, and the arbitrator is configured to control the output of the selector using an arbitration result obtained by arbitration according to arbitration rules.
[0011] At least some embodiments of the present disclosure also provide an electronic device, including the computer device provided by any embodiment of the present disclosure.
[0012] At least some embodiments of the present disclosure also provide a request processing method, including: in response to a first type of request sent by at least one of multiple request ends, transmitting the first type of request to at least one of multiple response ends through a first routing network; in response to a second type of request sent by at least one of the multiple request ends, transmitting the second type of request to at least one of the multiple response ends through a second routing network; the second type of request is different from the first type of request, and the first routing network and the second routing network are respectively configured to connect the multiple request ends and the multiple response ends for communication.
[0013] For example, at least some embodiments of the present disclosure provide a request processing method in which the transmission delay requirement of a first type of request is greater than the transmission delay requirement of a second type of request.
[0014] For example, in at least some embodiments of the present disclosure, a request processing method is provided, in which the second routing network includes multiple routing nodes, the routing nodes include an arbitration selector, and transmitting the first type of request to at least one of the multiple response ends through the second routing network includes: at the routing node, arbitrating one or more second type requests received by the corresponding routing node according to the arbitration rules by the arbitration selector to determine how the corresponding routing node sends the one or more second type requests.
[0015] For example, in at least some embodiments of the present disclosure, a request processing method is provided in which one or more second-class requests received by a corresponding routing node are arbitrated according to arbitration rules by an arbitration selector, including: in response to the arbitration selector receiving at least two second-class requests in the same operation cycle, arbitrating the at least two second-class requests to determine a target second-class request to output, or, in response to the arbitration selector receiving a second-class request in the same operation cycle, determining a second-class request to output.
[0016] For example, in at least some embodiments of the present disclosure, a request processing method is provided in which arbitrating the second class of requests through an arbitration selector according to arbitration rules also includes: in response to receiving at least two second class of requests in the same operation cycle of the arbitration selector, discarding other second class of requests other than the target second class request determined to be output.
[0017] For example, in at least some embodiments of the present disclosure, a request processing method is provided in which at least two second-class requests are arbitrated to determine a target second-class request for output, including: arbitrating at least two second-class requests based on at least one of priority, polling or weighting. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments will be briefly introduced below. Obviously, the drawings in the following description only relate to some embodiments of the present disclosure, but are not intended to limit the present disclosure.
[0019] Figure 1 A schematic diagram of the architecture of a computer device provided by at least one embodiment of the present disclosure is shown;
[0020] Figure 2 A schematic diagram of the architecture of a processor and a memory provided by at least one embodiment of the present disclosure is shown;
[0021] Figure 3 A schematic diagram showing the structure of a second routing network provided by at least one embodiment of the present disclosure is shown;
[0022] Figure 4A A connection diagram of an arbitration selector provided by at least one embodiment of the present disclosure is shown;
[0023] Figure 4B A connection diagram of another arbitration selector provided by at least one embodiment of the present disclosure is shown;
[0024] Figure 5 A schematic diagram of the internal structure of an arbitration selector provided by at least one embodiment of the present disclosure is shown;
[0025] Figure 6 A flowchart showing a request processing method provided by at least one embodiment of the present disclosure; and
[0026] Figure 7 A schematic structural diagram of an electronic device provided by at least one embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0027] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings of the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0028] Unless otherwise defined, the technical terms or scientific terms used in the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. The "first", "second" and similar words used in the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, similar words such as "one", "one" or "the" do not indicate quantity restrictions, but indicate that there is at least one. Similar words such as "include" or "comprise" mean that the elements or objects appearing before the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Similar words such as "connect" or "connected" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0029] The present disclosure is described below through several specific embodiments. In order to keep the following description of the embodiments of the present disclosure clear and concise, the present disclosure omits the detailed description of known functions and known components. When any component of the embodiments of the present disclosure appears in more than one figure, the component is represented by the same or similar reference numeral in each figure.
[0030] The terms used in the present disclosure are those common terms currently widely used in the art in consideration of the functions of the present disclosure, but these terms may vary according to the intention of a person of ordinary skill in the art, precedents, or new technologies in the art. In addition, specific terms may be selected by the applicant, and in this case, their detailed meanings will be described in the detailed description of the present disclosure. Therefore, the terms used in the specification should not be understood as simple names, but rather as an overall description based on the meaning of the terms and the present disclosure.
[0031] Flowcharts are used in this disclosure to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed precisely in order. On the contrary, various steps may be processed in reverse order or simultaneously as required. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0032] As computer specifications grow, latency has become an important factor affecting computer system performance. For example, memory access latency has a significant impact on computer system performance, so many technologies have emerged to reduce memory access latency. For example, one technology to reduce memory access latency is to notify the memory controller in advance to precharge the memory where the data to be accessed is located (hereinafter referred to as "preprocessing"). When the memory access request actually reaches the memory controller, the precharged data can be taken out, which saves precharging time and reduces the overall latency of memory access.
[0033] Due to the growth of the scale of central processing units (CPUs), the number of processor cores and memory in CPU chips has also increased, resulting in more complex positions and connections between processor cores and memory in the CPU. In related technologies, requests from multiple processors are often aggregated and transmitted to multiple response terminals respectively through bus transmission. This results in low efficiency and long delay in request processing by the computer system when multiple processors issue a large number of requests that require high-speed responses. For example, for the above-mentioned method of reducing delay by preprocessing, although it saves precharging time to a certain extent and reduces the overall delay of memory access, there is still a problem of long memory access delay and low processing efficiency when facing a large number of requests that require high-speed responses.
[0034] To this end, the present disclosure provides a computer device. The computer device includes multiple request terminals, multiple response terminals, a first routing network, and a second routing network. The first routing network is configured to connect multiple request terminals and multiple response terminals in communication; the second routing network is configured to connect multiple request terminals and multiple response terminals in communication; the multiple request terminals are configured to send the first type of request sent to at least one of the multiple response terminals through the first routing network, and are configured to send the second type of request to at least one of the multiple response terminals through the second routing network, and the first type of request is different from the second type of request. The computer device can reduce the transmission delay of the request in the Internet network of the request terminal and the response terminal, and improve the transmission efficiency of the request.
[0035] Figure 1 The schematic block diagram of a computer device provided by at least one embodiment of the present disclosure is shown. It should be noted that the schematic block diagram is shown to facilitate understanding of the contents disclosed in the embodiments of the present disclosure, and the embodiments of the present disclosure are not limited to Figure 1 shown.
[0036] refer to Figure 1, the computer device 100 may include multiple requesting terminals 10, multiple responding terminals 11, a routing network 12, and a routing network 13. For the embodiments of the present disclosure, the routing network 12 is an example of a first routing network, and the routing network 13 is an example of a second routing network. The multiple requesting terminals 10 include, for example, a requesting terminal A, a requesting terminal B, a requesting terminal C, and a requesting terminal D. The multiple responding terminals 11 include, for example, a responding terminal a, a responding terminal b, a responding terminal c, and a responding terminal d.
[0037] It should be noted that, although the figure shows that the multiple request ends 10 include 4 request ends and the multiple response ends 11 include 4 response ends, this does not limit the embodiments of the present disclosure, and the computer device may include any number of request ends and response ends.
[0038] The multiple requesting ends 10 may include, for example, a processor, a controller, an input / output port (IO), a cache, or any other device capable of implementing the function of issuing a request.
[0039] In some embodiments of the present disclosure, the multiple requesters 10 may be the same type of requesters, or may be multiple different types of requesters (i.e., a combination of multiple different types of requesters). For example, requester A, requester B, requester C, and requester D are all processors. For another example, requester A and requester B are processors, and requester C and requester D are caches, etc.
[0040] For example, the multiple responding ends 11 may include devices that can respond to requests issued by the multiple requesting ends 10. The multiple responding ends 11 may be regarded as devices corresponding to the multiple requesting ends 10. For example, when the processor issues a memory access instruction as a requesting end, the memory responds as a responding end, and when the controller issues a computing processing request as a requesting end, the processor responds as a responding end. The multiple responding ends 11 may include, for example, a memory, a processor, a controller, etc.
[0041] The routing network 12 and the routing network 13 are respectively configured to connect multiple requesting ends 10 and multiple responding ends 11 in communication. The routing network 12 and the routing network 13 transmit different types of requests issued by the requesting ends. For example, the routing network 12 is different from the routing network 13 in structure or function. For example, the complexity of the connection structure of the routing network 12 is higher than that of the routing network 13. For another example, the routing network 12 is a routing network without arbitration function, which is used to transmit all requests, and the routing network 13 is a network with arbitration function, which is used to transmit some requests.
[0042] In some embodiments, the transmission time of a request transmitted through routing network 12 is greater than the transmission time of a request transmitted through routing network 13 .
[0043] In some embodiments, multiple request ends 10 are configured to send a first type of request to at least one of multiple response ends 11 through a routing network 12, and are configured to send a second type of request to at least one of multiple response ends 11 through a routing network 13, and the first type of request is different from the second type of request.
[0044] For example, not all of the multiple requesting terminals 10 need to send requests at the same time, and at least one of the multiple requesting terminals 10 may send a request. When sending the first type of request and the second type of request, the multiple requesting terminals 10 may send them at the same time, or may send the first type of request first or the second type of request first, which is not limited here.
[0045] By setting different routing networks between the request end and the responder to respectively process different types of requests provided by the request end, the request provided by the request end can be more efficiently routed to the target responder, which is at least one of the multiple responders 11.
[0046] In some embodiments of the present disclosure, the first type of request may be a formal processing request sent by at least one of the multiple request terminals 10 to the destination response terminal, and the second type of request may be a pre-processing request sent by at least one of the multiple request terminals 10 to the destination response terminal. The pre-processing request is a request by the multiple request terminals 10 to cause the destination response terminal to pre-process the formal processing request in order to enable the destination response terminal to quickly respond to the formal processing request. The request content of the formal processing request may be different from the request content of the pre-processing request. For example, the request content of the formal processing request includes reading target data from the memory, and the request content of the pre-processing request includes pre-charging the memory where the target data is located.
[0047] For example, the first type of request (i.e., formal processing request) is a memory access request, and the second type of request is a pre-processing request, and the requesting end provides the pre-processing request before providing the memory access request. For example, the processor (as the requesting end) provides the pre-processing request to the memory (as the responding end) in advance, so that the memory controller pre-processes the memory where the data to be accessed (e.g., the target data mentioned above) is located.
[0048] In some embodiments, routing network 12 may be a routing network for transmitting formal processing requests, and routing network 13 may be a routing network for transmitting pre-processing requests. Since the formal request sent by the request end usually contains more content, routing network 12 is more complex than routing network 13, and the transmission time of transmitting the request through routing network 12 is longer than the transmission time of transmitting the request through routing network 13.
[0049] The embodiments of the present disclosure transmit and process requests through a less complex second routing network, which can reduce the delay of the Internet between the request end and the response end, reduce the delay of the request transmission in the network, and improve the transmission efficiency. In addition, the computer device provided by the present disclosure has a simple structure, occupies fewer resources, and has a low cost.
[0050] In some embodiments, multiple requesting ends 10 are configured to send the sent formal processing request to the destination responding end through a routing network with a higher degree of complexity, and are configured to send the pre-processing request to the destination responding end through a routing network with a lower degree of complexity. When sending the formal processing request and the pre-processing request, the multiple requesting ends 10 may send them at the same time, or may send the pre-processing request first and then the formal processing request, which is not limited here.
[0051] In some embodiments of the present disclosure, when the destination response end needs to perform preprocessing first, the preprocessing request and the formal processing request sent by the request end are respectively transmitted through their respective corresponding routing networks, so that the preprocessing request sent by the request end can arrive before the formal processing request, thereby shortening the request delay in the scenario where the destination response end needs to perform preprocessing first, and improving the efficiency of request processing.
[0052] In some embodiments, for example, the multiple requesting ends 10 may be multiple processors, the multiple responding ends 11 may be multiple memories, and the multiple processors are connected to the multiple memories through the routing network 12 and the routing network 13. The first type of request may be a memory access request provided by at least one of the multiple processors, and the second type of request may be a pre-processing request provided by at least one of the multiple processors. At least one of the multiple memories responds to the memory access request and the pre-processing request as a responding end. The multiple processors are configured to send the sent memory access request to at least one of the multiple memories through the routing network 12, and are configured to send the pre-processing request to at least one of the multiple memories through the routing network 13.
[0053] For example, the above-mentioned processor is not limited to a central processing unit (CPU), but can also be an accelerator (for example, a graphics accelerator or a digital signal processing unit), a graphics processor (GPU, Graphics Processing Unit), a programmable logic array or any other processor with instruction execution function, wherein each processor has at least one processor core.
[0054] The operations corresponding to the preprocessing requests for different types of memories may be different. For example, if the memory is a dynamic random access memory (DRAM), the preprocessing operation may be a precharge operation for the memory where the access data is located. For other memories, such as random access memory (RAM) and static random access memory (SRAM), the preprocessing operation may be other preprocessing operations such as pre-powering on and pre-dividing storage resources, which are not limited here.
[0055] Figure 2 A schematic diagram of a processor and memory architecture provided by at least one embodiment of the present disclosure is shown. The processor and memory architecture is applied, for example, to Figure 1 The computer device 100.
[0056] refer to Figure 2 The multiple memories may be multiple memory memories, and the memory memories may include, for example, a memory controller 101 and multiple memories, such as memory a1, memory b1, memory c1, and memory d1. The memory controller 101 is in communication with each memory and can control the operation of each memory respectively. For example, the memory controller 101 may include multiple memory sub-controllers, each corresponding to the multiple memories to control the operation of the multiple memories respectively. It should be noted that although the present disclosure Figure 2 The number of memories shown in is 4, but this does not limit the solution of the embodiment of the present disclosure. The number of memories in the embodiment of the present disclosure can be any number. When the preprocessing request sent by the processor is sent to the memory controller 101 through the routing network 13, the memory controller 101 controls the preprocessing operation on the target memory where the access data is located. The target memory can be one or more, which is not limited by the present disclosure. For example, the target memory corresponding to the access data is memory a1, then the memory controller 101 controls the memory a1 to perform the preprocessing operation after receiving the preprocessing request. When the memory access request sent by the processor reaches the memory controller 101, since the memory controller 101 has started the memory access preprocessing for the memory according to the preprocessing request, for example, when the memory access request of the processor reaches the memory controller 101, the memory a1 has completed the preprocessing or has completed part of the preprocessing at this time, then the memory controller 101 will perform the access operation on the data of the memory a1 after the memory has completed the preprocessing operation. Therefore, during the transmission of the memory access request, the target memory corresponding to the access data has already started the preprocessing operation, thereby saving the time of the memory access request waiting for preprocessing and reducing the overall delay of the processor in memory access.
[0057] In some embodiments, the transmission delay requirement of the first type of request is greater than the transmission delay requirement of the second type of request. For example, in a scenario where the destination responder needs to pre-process the second type of request before processing the first type of request, the transmission delay requirement of the second type of request is set to be less than the transmission delay requirement of the first type of request, so that the responder first receives the second type of request and starts processing the second type of request, and then receives the first type of request and then processes the first type of request. During the transmission of the first type of request, the second type of request may have been processed, thereby reducing the processing delay of the first type of request.
[0058] For example, since the pre-processing request of memory access request needs to arrive at the memory controller earlier than the formal request to have a positive benefit, the relatively simple and direct network structure and function help reduce the pre-processing request of memory access request sent to the memory controller, reducing the processing delay of the first type of request.
[0059] Figure 3 A schematic diagram of the structure of a second routing network provided by at least one embodiment of the present disclosure is shown.
[0060] like Figure 3 As shown, routing network 13 is an example of a second routing network. Routing network 13 includes multiple routing nodes 131, and each of the multiple routing nodes 131 includes an arbitration selector 20. Arbitration selector 20 is configured to arbitrate one or more second-class requests received by the corresponding routing node according to arbitration rules to determine how the corresponding routing node sends one or more second-class requests.
[0061] In some embodiments of the present disclosure, a routing node is used, for example, to receive a request sent by at least one of a plurality of requesting terminals 10. The request includes, for example, an identifier of the target responding terminal, such as a port number or a routing address of the target responding terminal. The routing node between the requesting terminal and the target responding terminal identifies the identifier of the target responding terminal and determines to which destination the request is forwarded (the destination may be the next routing node or the final target responding terminal).
[0062] For example, the plurality of routing nodes 131 may include routing node 1311 and routing node 1312. Routing node 1311 is, for example, a first-level routing node, and routing node 1312 is, for example, a second-level routing node. Routing node 1311 may be a routing node that first receives the second-class request sent by the requesting end in routing network 13, or may be a routing node that the second-class request first passes through in routing network 13. For example, routing node 1312 may be a destination forwarded by routing node 1311.
[0063] In some embodiments of the present disclosure, determining how the corresponding routing node sends one or more second-class requests includes, for example, determining which request the corresponding routing node selects to output from the one or more second-class requests. That is, the arbitration selector can select the target second-class request from the one or more second-class requests according to the arbitration rule and output it to the next routing node or the target response end.
[0064] In some embodiments of the present disclosure, determining how a corresponding routing node sends one or more second-class requests, for example, also includes: determining how to process other second-class requests except for the target second-class request.
[0065] For example, other second-class requests except the target second-class request are discarded, and please refer to the description below for this example. For another example, other second-class requests except the target second-class request are cached, and other second-class requests are routed when the routing node is idle.
[0066] When at least one of the requesting end A, the requesting end B, the requesting end C and the requesting end D sends a second type of request, in the routing network 13, at least one second type of request is first arbitrated by the arbitration selector in the routing node 1311 to determine the target second type of request output by the routing node 1311 (hereinafter also referred to as the "first target request") from the at least one second type of request, and the first target request is one of the at least one second type of request. According to the first target request, the destination to which the first target request is sent is determined. In this embodiment, the destination is, for example, the routing node 1312. The second type of request (including but not limited to the above-mentioned first target request) received by the routing node 1312 is arbitrated by the arbitration selector in the routing node 1312 to determine the target second type of request (hereinafter also referred to as the "second target request") output by the routing node 1312.
[0067] It should be noted that the routing node 1312 in the above embodiment is not only connected to the routing node 1311 as its input, that is, the above routing node 1312 may also be the routing node in the routing network 13 that first receives the second type of request sent by another request end. If the routing node 1312 receives the second type of request sent by another routing node in addition to the first target request, the routing node 1312 will arbitrate the first target request and the second type of request provided by the other routing node through the arbitration selector in the routing node 1312 to determine the second target request output by the routing node 1312. At this time, the second target request is not necessarily consistent with the first target request, and the routing node 1312 will route according to the destination pointed to by the second target request arbitrated by itself. And so on, until the target response end pointed to by the target second type request arbitrated by the last level of routing nodes is reached.
[0068] In some embodiments of the present disclosure, the arbitration rule may also be configured to arbitrate at least two second-class requests based on at least one of priority, polling, or weighting. For example, in an embodiment of the present disclosure, the "arbitration rule" may be implemented based on hard wiring or microcode.
[0069] In some embodiments, the arbitration rules can be set according to actual needs. For example, if the routing node includes multiple ports, each port receives the second type of request, then the arbitration can be performed in a round-robin manner to select the target second type of request.
[0070] For another example, the arbitration rule may be randomly selected. For example, a second-class request is randomly selected from multiple second-class requests as the target second-class request. For another example, the arbitration rule may be related to the priority or processing difficulty of multiple second-class requests. The embodiments of the present disclosure do not specifically limit the arbitration rules, and those skilled in the art may set the arbitration rules according to actual needs.
[0071] In some embodiments, the arbitration selector 20 includes an input terminal 201 and an output terminal 202 , and the arbitration selector 20 of at least one routing node in the plurality of routing paths is coupled to the input terminal 201 of the arbitration selector of the next level routing node via the output terminal 202 .
[0072] Figure 4A A connection diagram of an arbitration selector provided by at least one embodiment of the present disclosure is shown; Figure 4B A connection diagram of another arbitration selector provided by at least one embodiment of the present disclosure is shown.
[0073] like Figure 4A and Figure 4B As shown, the number of input terminals 201 and the number of output terminals 202 of the arbitration selector 20 are not limited. Figure 4A FIG. 2 shows a coupling connection mode of a plurality of arbitration selectors 20 having two input terminals 201 and one output terminal 202. For example, Figure 4A As shown, two input terminals 201 of a certain arbitration selector 20 are coupled to the request terminal A and the request terminal B respectively, and one output terminal 202 is coupled to the input terminal 201 of another arbitration selector. Figure 4B FIG. 2 shows a coupling connection mode of an arbitration selector 20 having three input terminals 201 and two output terminals 202. Figure 4B As shown, three input terminals 201 of a certain arbitration selector 20 are coupled to the request terminal A, the request terminal B and the request terminal C respectively, and two output terminals 202 of the arbitration selector 20 are coupled to the response terminal a and the response terminal b respectively.
[0074] In some embodiments, multiple arbitration selectors 20 are coupled to each other, including but not limited to one or a combination of cascade, parallel or series connection. The multiple arbitration selectors 20 coupled to each other may have the same number of input terminals and the same number of output terminals, or may have different numbers of input terminals and output terminals.
[0075] In some embodiments, the arbitration selector 20 includes at least two input terminals 201 and at least one output terminal 202. A portion of the at least two input terminals 201 of the arbitration selector 20 is connected to a corresponding request terminal among the multiple request terminals 10, and another portion can be connected to an output terminal 202 of the previous arbitration selector 20; or, all of the input terminals 201 of the arbitration selector 20 can be connected to a corresponding output terminal 202 of the previous arbitration selector 20; or, all of the input terminals 201 of the arbitration selector 20 can be connected to a corresponding plurality of request terminals 10. For example, the input terminals 201 of the arbitration selector 20 are usually connected to a corresponding request terminal or an output terminal 202 of the previous arbitration selector 20. In some cases, such as when the number of the input terminals 201 of the arbitration selector 20 is greater than the number of the request terminals to be connected and the number of the output terminals 202 of the previous arbitration selector 20, it can be considered to set the default value for the redundant input terminals 201 that are not connected in the arbitration selector 20 so as not to interfere with the normal operation of the arbitration selector 20.
[0076] In some embodiments of the present disclosure, the arbitration rules are configured to, in response to the arbitration selector 20 receiving at least two second-class requests in the same operation cycle, arbitrate the at least two second-class requests to determine a target second-class request to output, or, in response to the arbitration selector 20 receiving a second-class request in the same operation cycle, determine a second-class request to output.
[0077] In some embodiments of the present disclosure, the operation cycle may be, for example, a clock cycle or a machine cycle, that is, the second type of requests received by the arbitration selector 20 in the same operation cycle may include: all the second type of requests sent by multiple request terminals 10 in the same operation cycle of the request terminal, or all the second type of requests received by the input terminal 201 of the arbitration selector 20 in the same operation cycle of the arbitration selector 20. For another example, when the multiple request terminals 10 are multiple processors, the operation cycle may also be a time period in the instruction pipeline of the processor for completing a beat of operation. For a processor, the execution process of an instruction generally includes several stages, and each stage completes a basic operation (for example, instruction fetching, memory reading, memory writing, etc.). The time required to complete a basic operation is called a machine cycle, also known as a CPU cycle.
[0078] In some embodiments, if at least one of the multiple requesting ends 10 sends multiple second-class requests, the routing node 1311 in the routing network 13 that first receives the second-class request sent by the requesting end may first perform arbitration through the arbitration selector in the routing node 1311. If at least two second-class requests are received in the same operation cycle of the arbitration selector in the routing node 1311, the at least two second-class requests are arbitrated to determine one second-class request as the target second-class request of the routing node 1311.
[0079] Further, if the arbitration selector of routing node 1312 coupled to routing node 1311 receives only one second-class request output from routing node 1311 in the same operation cycle, the second-class request received by routing node 1312 from routing node 1311 is directly determined as the target second-class request output by routing node 1312.
[0080] If the arbitration selector of routing node 1312 coupled to routing node 1311 receives at least two target second-class requests output by routing node 1311 in the same operation cycle, or the arbitration selector of routing node 1312 receives one target second-class request provided by routing node 1311 and at least one second-class request issued by at least one of multiple request ends 10 in the same operation cycle, the arbitration selector of routing node 1312 will arbitrate the received target second-class request provided by routing node 1311 and the received second-class request issued by at least one of multiple request ends 10 to determine the target second-class request output by routing node 1312.
[0081] In some embodiments, as described above, the arbitration rule may also be configured to, in response to the arbitration selector 20 receiving at least two second-class requests in the same operation cycle, discard other second-class requests except the target second-class request determined to be output.
[0082] For example, at least one of the multiple request terminals 10 sends multiple second-class requests, which are second-class request A-request, second-class request B-request, and second-class request C-request. If the arbitration selector 20 includes three input terminals 201 and one output terminal 202, the arbitration selector 20 will determine an output target second-class request from the second-class request A-request, the second-class request B-request, and the second-class request C-request, and discard the other second-class requests other than the determined output target second-class request. If the arbitration selector 20 determines that the output is the second-class request A-request, the second-class request B-request and the second-class request C-request will be discarded at the arbitration selector 20. If the arbitration selector 20 includes three input terminals 201 and two output terminals 202, when the arbitration selector 20 selects the second-class request B-request and the second-class request C-request as outputs, the second-class request A-request will be discarded.
[0083] In some embodiments of the present disclosure, discarding other second-class requests other than the target second-class request can improve the situation of request congestion to a certain extent, achieve the purpose of self-adaptation, and reduce the probability of congestion. For example, when the pre-processing requests for memory access are intensively sent to the memory controller, it may cause negative benefits to the performance of the memory controller. Therefore, automatic arbitration and discarding can improve the situation of request congestion, achieve the purpose of self-adaptation, and reduce the probability of congestion sent to the memory controller.
[0084] It should be noted that the arbitration selector 20 of each routing node in the multiple routing nodes 131 in the routing network 13 can be set with different arbitration rules, and the arbitration selector 20 of each routing node can perform separate arbitration according to the second type of request received by the current routing node.
[0085] Figure 5 A schematic diagram of the internal structure of an arbitration selector provided by at least one embodiment of the present disclosure is shown.
[0086] like Figure 5 As shown, the arbitration selector 20 includes an arbitrator 21 and a selector 22 , wherein the arbitrator 21 is coupled to the selector 22 , and the arbitrator 21 is configured to control the output of the selector 22 using an arbitration result obtained by arbitration according to an arbitration rule.
[0087] The selector 22 may be a data selector (MUX, Multiplexers), a multiplexer, etc. The selector 22 may be implemented by a combination of multiple gate circuits of an analog circuit, or may be implemented by a digital circuit, such as by using a programmable logic array (FPGA, Field Programmable Gate Array). The arbitrator 21 may be implemented based on an FPGA, and the arbitrator 21 may be at least one arbitrator or a combination of multiple arbitrators, such as a round-robin arbiter, a fixed-priority arbiter, etc., which is not limited in the present disclosure.
[0088] The arbiter 21 includes an output terminal and an input terminal, and the selector 22 includes an output terminal and an input terminal.
[0089] The coupling connection mode of the arbitrator 21 and the selector 22 is not limited in the embodiment of the present disclosure. For example, the input end of the arbitrator 21 and the input end of the selector 22 respectively input the same second-class request, the output end of the arbitrator 21 is connected to the input end of the selector 22, and the arbitration result outputted from the output end of the arbitrator 21 is inputted into the selector 22, so that the selector 22 can determine the output of the output end of the selector 22 according to the arbitration result obtained by the arbitrator 21 arbitrating the second-class request. For example, after the input end of the selector 22 receives the second-class request, the request information of the second-class request (such as the identifier of the second-class request, priority information, etc.) can be provided to the arbitrator 21, and the arbitrator 21 arbitrates the second-class request according to the request information of the second-class request. Optionally, the arbitrator 21 can output a control signal to the selector 22 according to the arbitration result, so as to control the selector 22 to output according to the arbitration result. For another example, the arbitrator 21 can be arranged inside the selector 22, or arranged outside the selector 22. For example, the arbitrator 21 determines that the second-class request A-request is the target second-class request from the second-class request A-request, the second-class request B-request, and the second-class request C-request, and then the arbitrator 21 controls the selector 22 to input the second-class request A-request. In some embodiments of the present disclosure, the arbitration result can be used to determine the second-class request output by the arbitration selector, or to determine the second-class request that the arbitration selector chooses to discard. If the arbitration result is used to determine the second-class request to be output, the second-class request corresponding to the arbitration result can be directly used as the output of the arbitration selector 20. For example, the selector 22 can output the second-class request corresponding to the arbitration result, or when the arbitration result is a certain second-class request, the selector 22 can directly use the arbitration result of the arbitrator 21 as the output.
[0090] If the arbitration result is used to determine the second-class requests to be discarded, the second-class requests corresponding to the arbitration result may be discarded, and the remaining second-class requests may be output from the arbitration selector 20. For example, the selector 22 may discard the corresponding second-class requests according to the arbitration result of the arbitrator 21, and output the remaining second-class requests.
[0091] In some embodiments of the present disclosure, a request processing method is provided, which can be applied to a computer device or electronic device described in at least one of the above embodiments of the present disclosure. The request processing method can reduce the transmission delay of the request in the Internet network between the request end and the response end, and improve the transmission efficiency of the request.
[0092] Figure 6 A flowchart of a request processing method provided by at least one embodiment of the present disclosure is shown.
[0093] like Figure 6 As shown, the request processing method includes: step S30 and step S31.
[0094] Step S30: In response to a first type of request sent by at least one of the multiple requesting ends, transmit the first type of request to at least one of the multiple responding ends through a first routing network.
[0095] Step S31: In response to a second type of request sent by at least one of the multiple requesting ends, the second type of request is transmitted to at least one of the multiple responding ends through a second routing network, the second type of request is different from the first type of request, and the first routing network and the second routing network are respectively configured to connect the multiple requesting ends and the multiple responding ends for communication.
[0096] The instruction for causing at least one of the multiple requesting terminals to send a request may be triggered by a trigger mechanism preset in the requesting terminal, or may be triggered by a device (such as a controller, etc.) that is in communication with the corresponding requesting terminal, or may be directly triggered by an operation request from a user, etc., and the present disclosure does not limit this. When multiple requesting terminals send the first type of request and the second type of request, they may send them simultaneously, or they may send the first type of request first or the second type of request first, and this is not limited here.
[0097] In some embodiments of the present disclosure, for a request that has been issued by the requesting end, a judgment device can be used to perform type judgment on the request to determine whether the request is a first-category request or a second-category request. The requesting end may also issue a request including a preset type identifier, and the first routing network and the second routing network may determine whether to transmit the request. Alternatively, different output ends of the requesting end may be communicatively connected to the first routing network and the second routing network, respectively, that is, the requesting end outputs the first-category request that needs to be transmitted by the first routing network through the output end that is communicatively connected to the first routing network, and outputs the second-category request that needs to be transmitted by the second routing network through the output end that is communicatively connected to the second routing network. The present disclosure does not make any restrictions on this.
[0098] For example, both the first type of request and the second type of request issued by the requesting end may carry information of the destination response end, and the information may include, for example, the address of the destination response end or the routing identifier of the destination response end, etc. The identifier of the destination response end is used to enable the first routing network and the second routing network to route the requests transmitted to them to the destination response end.
[0099] The first routing network is different from the second routing network in structure or function. For example, the connection structure of the first routing network is more complex than that of the second routing network. For another example, the first routing network is configured as a routing network without arbitration function, which is used to transmit all requests, and the second routing network is configured as a network with arbitration function, which is used to transmit some requests.
[0100] In some embodiments, a first transmission time for transmitting the request through the first routing network is greater than a second transmission time for transmitting the request through the second routing network.
[0101] Different types of requests sent by the request end are processed separately through different routing networks, so that the requests sent by the request end can be more efficiently routed to the target response end for processing. The target response end is at least one of the multiple response ends.
[0102] In some embodiments, the first type of request may be a formal processing request sent by at least one of the multiple requesting ends to the destination responding end, and the second type of request may be a pre-processing request sent by at least one of the multiple requesting ends to the destination responding end, wherein the destination responding end is at least one of the multiple responding ends. The pre-processing request is a request by multiple requesting ends to make the destination responding end perform pre-processing in order to enable the formal processing request to be quickly responded to by the destination responding end. It is understandable that the request content of the formal processing request is different from the request content of the pre-processing request. Please refer to the above description for the formal processing request.
[0103] In some embodiments, the first routing network may be a routing network for routing formal processing requests, and the second routing network may be a routing network for routing pre-processing requests. Since the formal request sent by the request end generally contains more content, the first routing network may be more complex than the second routing network, so the transmission time of transmitting the request through the first routing network is greater than the transmission time of transmitting the request through the second routing network. In some embodiments, the request processing method includes: in response to a formal processing request sent by at least one of multiple request ends, transmitting the formal processing request to at least one of multiple responding ends through the first routing network; in response to a pre-processing request sent by at least one of the multiple request ends, transmitting the pre-processing request to at least one of the multiple responding ends through the second routing network, the pre-processing request is different from the formal processing request, and the first routing network and the second routing network are respectively configured to connect the multiple request ends and the multiple responding ends in communication.
[0104] In this way, when the destination response end needs to perform preprocessing first, the preprocessing request and the formal processing request sent by the request end are transmitted through their respective corresponding routing networks, so that the preprocessing request sent by the request end can arrive before the formal processing request, shortening the request delay in the scenario where the destination response end needs to perform preprocessing first, and improving the efficiency of request processing.
[0105] In some embodiments of the present disclosure, the multiple request ends may be multiple processors, the multiple response ends may be multiple memories, the first type of request may be a memory access request sent by the processor to the memory, and the second type of request may be a pre-processing request sent by the processor to the memory. The request processing method includes a memory access processing method, including: in response to a memory access request sent by at least one of the multiple processors, transmitting the memory access request to at least one of the multiple memories through a first routing network; in response to a pre-processing request sent by at least one of the multiple processors, transmitting the pre-processing request to at least one of the multiple memories through a second routing network, wherein the pre-processing request is different from the memory access request, and the first routing network and the second routing network are respectively configured to connect the multiple processors and the multiple memories in communication. Please refer to the above for the description of the processor and the memory.
[0106] In this way, during the memory access processing, the memory access request and preprocessing request issued by the processor are transmitted through their respective corresponding routing networks, so that the preprocessing request can arrive before the memory access request, and the memory can preprocess the storage unit to be accessed in advance, shortening the memory access delay of the processor during the memory access process and improving the memory access efficiency of the processor.
[0107] In some embodiments, the multiple memories may be multiple memory memories, and the memory memories include a memory controller and a memory. When the preprocessing request sent by the processor is sent to the memory controller through the second routing network, the memory controller controls the preprocessing operation on the target memory where the access data is located. When the memory access request sent by the processor reaches the memory controller, since the memory controller has already started the memory access preprocessing for the memory according to the preprocessing request, the preprocessing time can be saved and the overall latency of the processor for memory access can be reduced. Please refer to the above for the description of the memory controller and the memory.
[0108] In some embodiments, the transmission delay requirement of the first type of request is greater than the transmission delay requirement of the second type of request. For example, in a scenario where the destination responder needs to process the second type of request before processing the first type of request, the transmission delay requirement of the second type of request is set to be less than the transmission delay requirement of the first type of request, so that the responder first receives the second type of request and starts processing the second type of request, and then receives the first type of request and then processes the first type of request. During the transmission of the first type of request, the second type of request may have been processed, thereby reducing the processing delay of the first type of request. For example, since the pre-processing request of the memory access request needs to arrive at the memory controller earlier than the formal request to have a positive benefit, the relatively simple and direct network structure and function help to reduce the pre-processing request of the memory access request sent to the memory controller, thereby reducing the processing delay of the first type of request.
[0109] In some embodiments of the present disclosure, the second routing network includes multiple routing nodes, each of the multiple routing nodes includes an arbitration selector, and the request processing method also includes: arbitrating one or more second-class requests received by the corresponding routing node according to arbitration rules through the arbitration selector to determine how the corresponding routing node sends one or more second-class requests.
[0110] In some embodiments, the plurality of routing nodes included in the second routing network may include a first-level routing node and a second-level routing node, wherein the first-level routing node and the second-level routing node are coupled and connected. The request processing method further includes: in response to a second-class request sent by at least one of the plurality of requesting ends, arbitrating the received second-class request through an arbitration selector in the first-level routing node to determine an output first target request, the first target request being at least one of the second-class requests received by the first-level routing node; in response to a second-class request received by the second-level routing node, arbitrating through an arbitration selector in the second-level routing node to determine an output second target request, the second-class request received by the second-level routing node including the first target request, and the second-level routing node being the destination to which the first target request is routed.
[0111] It should be noted that the second target request is not necessarily consistent with the first target request. The second-level routing node will determine the destination to which the second target request points for routing. And so on, until the target response end to which the second type of request points is arbitrated by the last-level routing node is reached. Please refer to the above description of the first-level routing node and the second-level routing node.
[0112] In some embodiments, the request processing method further includes: determining a second-level routing node according to a first target request, wherein the first target request is a target second-class request of the first-level routing node, and the second target request is a target second-class request of the second-level routing node.
[0113] In some embodiments, one or more second-class requests received by a corresponding routing node are arbitrated according to arbitration rules by an arbitration selector, including: in response to the arbitration selector receiving at least two second-class requests in the same operation cycle, arbitrating the at least two second-class requests to determine a target second-class request to output, or, in response to the arbitration selector receiving a second-class request in the same operation cycle, determining a second-class request to output.
[0114] In some embodiments of the present disclosure, the operation cycle may be, for example, a clock cycle or a machine cycle, that is, the second type of requests received by the arbitration selector 20 in the same operation cycle may include: all the second type of requests sent by multiple request terminals 10 in the same operation cycle of the request terminal, or all the second type of requests received by the input terminal 201 of the arbitration selector 20 in the same operation cycle of the arbitration selector 20. For another example, when the multiple request terminals 10 are multiple processors, the operation cycle may also be a time period in the instruction pipeline of the processor for completing a beat of operation. For a processor, the execution process of an instruction generally includes several stages, and each stage completes a basic operation (for example, instruction fetching, memory reading, memory writing, etc.). The time required to complete a basic operation is called a machine cycle, also known as a CPU cycle.
[0115] In some embodiments, arbitrating the second class requests through the arbitration selector according to the arbitration rules also includes: in response to the arbitration selector receiving at least two second class requests in the same operation cycle, discarding other second class requests except the target second class request determined to be output.
[0116] For example, at least one of the multiple request terminals sends multiple second-class requests, which are second-class request A-request, second-class request B-request, and second-class request C-request. If the arbitration selector includes three input terminals and one output terminal, the arbitration selector will determine an output target second-class request from the second-class request A-request, the second-class request B-request, and the second-class request C-request, and discard the other second-class requests other than the output target second-class request. If the arbitration selector determines that the output is the second-class request A-request, the second-class request B-request and the second-class request C-request will be discarded at the arbitration selector. If the arbitration selector includes three input terminals and two output terminals, when the arbitration selector selects the second-class request B-request and the second-class request C-request as output, the second-class request A-request will be discarded.
[0117] In some embodiments of the present disclosure, discarding other second-class requests other than the target second-class request can improve the situation of request congestion to a certain extent, achieve the purpose of self-adaptation, and reduce the probability of congestion. For example, when the pre-processing requests for memory access are intensively sent to the memory controller, it may cause negative benefits to the performance of the memory controller. Therefore, automatic arbitration and discarding can improve the situation of request congestion, achieve the purpose of self-adaptation, and reduce the probability of congestion sent to the memory controller.
[0118] In some embodiments, the arbitration selector includes an arbitrator and a selector, the arbitrator is coupled to the selector, and the arbitrator controls the output of the selector according to the arbitration result obtained by arbitration according to the arbitration rules. Please refer to the above for the description of the arbitrator and the selector.
[0119] In some embodiments of the present disclosure, the arbitration result can be used to determine the second-class request output by the arbitration selector, or to determine the second-class request that the arbitration selector chooses to discard. If the arbitration result is used to determine the second-class request to be output by the selector, the second-class request corresponding to the arbitration result can be directly used as the output of the arbitration selector. For example, the selector can output the second-class request corresponding to the arbitration result, or when the arbitration result is a certain second-class request, the selector can directly use the arbitration result of the arbitrator as the output.
[0120] If the arbitration result is used to determine the second-class requests that the selector needs to discard, the second-class requests corresponding to the arbitration result can be discarded, and the remaining second-class requests can be used as the output of the arbitration selector. For example, the selector can discard the corresponding second-class requests according to the arbitration result of the arbitrator, and output the remaining second-class requests.
[0121] In some embodiments, arbitrating at least two second-class requests to determine a target second-class request to output includes: arbitrating at least two second-class requests based on at least one of priority, polling, or weighting.
[0122] In some embodiments, the arbitration rules can be set according to actual needs. For example, if the routing node includes multiple ports, each port receives the second type of request, then the arbitration can be performed in a round-robin manner to select the target second type of request.
[0123] For another example, the arbitration rule may be randomly selected. For example, a second-class request is randomly selected from multiple second-class requests as the target second-class request. For another example, the arbitration rule may be related to the priority or processing difficulty of multiple second-class requests. The embodiments of the present disclosure do not specifically limit the arbitration rules, and those skilled in the art may set the arbitration rules according to actual needs.
[0124] At least one embodiment of the present disclosure further provides an electronic device, wherein the electronic device includes the computer device described in at least one of the above embodiments.
[0125] Figure 7 A schematic block diagram of an electronic device provided for at least one embodiment of the present disclosure.
[0126] The electronic devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 7 The electronic device 1000 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0127] For example, refer to Figure 7In some examples, the electronic device 1000 includes a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1008 to a random access memory (RAM) 1003. For example, the processing device 1001 can be used as a request end in the embodiment of the present disclosure, and the RAM 1003 can be used as a response end in the embodiment of the present disclosure. In the RAM 1003, various programs and data required for the operation of the computer system are also stored. The processing device 1001, the ROM 1002, and the RAM 1003 are connected to each other through an Internet 1004. The input / output (I / O) interface 1005 is also connected to the Internet 1004. The Internet 1004 includes, for example, the first routing network and the second routing network described above. Each component in the electronic device 1000 can be used as a request end or a response end, for example, the processing device 1001 is used as a request end, and the storage device 1008 is used as a response end.
[0128] For example, the following components may be connected to the I / O interface 1005: an input device 1006 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 1007 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1008 including, for example, a magnetic tape, a hard disk, etc.; a communication device 1009 which may also include, for example, a network interface card such as a LAN card, a modem, etc. The communication device 1009 may allow the electronic device 1000 to communicate with other devices wirelessly or by wire to exchange data, and perform communication processing via a network such as the Internet. The drive 1010 is also connected to the I / O interface 1005 as needed. A removable medium 1011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1010 as needed, so that a computer program read therefrom is installed into the storage device 1008 as needed. Although the electronic device 1000 including various devices is shown, it should be understood that it is not required to implement or include all the devices shown. More or fewer devices may be implemented or included alternatively.
[0129] For example, the electronic device 1000 may further include a peripheral interface (not shown in the figure), etc. The peripheral interface may be various types of interfaces, such as a USB interface, a lightning interface, etc. The communication device 1009 may communicate with a network and other devices through wireless communication, such as the Internet, an intranet and / or a wireless network such as a cellular phone network, a wireless local area network (LAN) and / or a metropolitan area network (MAN). Wireless communication may use any of a variety of communication standards, protocols, and techniques, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wi-Fi (e.g., based on IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and / or IEEE 802.11n standards), Voice over Internet Protocol (VoIP), Wi-MAX, protocols for email, instant messaging and / or Short Message Service (SMS), or any other suitable communication protocol.
[0130] For example, the electronic device 1000 can be any device such as a mobile phone, a tablet computer, a laptop computer, an e-book, a game console, a television, a digital photo frame, a navigator, a server, etc., or it can be any combination of data processing devices and hardware, and the embodiments of the present disclosure are not limited to this.
[0131] There are a few points to note about this disclosure:
[0132] (1) In the drawings of the embodiments of the present disclosure, only the structures related to the embodiments of the present disclosure are involved, and other structures can refer to the general design.
[0133] (2) In the absence of conflict, features in the same embodiment or in different embodiments of the present disclosure may be combined with each other.
[0134] The above are only specific embodiments of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present disclosure, which should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.
Claims
1. A computer device, comprising: Multiple requesters; Multiple responders; A first routing network is configured to communicatively connect the plurality of requesting ends and the plurality of responding ends; A second routing network is configured to communicatively connect the plurality of requesting ends and the plurality of responding ends; Among them, the multiple request ends are configured to send the first type of requests to at least one of the multiple response ends through the first routing network, and are configured to send the second type of requests to at least one of the multiple response ends through the second routing network, and the first type of requests are different from the second type of requests.
2. The computer device of claim 1, wherein: The transmission delay requirement of the first type of request is greater than the transmission delay requirement of the second type of request.
3. The computer device of claim 1, wherein: The second routing network includes a plurality of routing nodes, Each of the plurality of routing nodes includes an arbitration selector configured to arbitrate one or more second-type requests received by the corresponding routing node according to an arbitration rule to determine how the corresponding routing node sends the one or more second-type requests.
4. The computer device of claim 3, wherein: The arbitration selector comprises an output terminal and an input terminal; The arbitration selector of at least one routing node in at least one routing path of the plurality of routing nodes is coupled to the input end of the arbitration selector of the next-stage routing node via the output end.
5. The computer device of claim 4, wherein: The arbitration selector includes at least two input terminals and at least one output terminal.
6. The computer device of claim 3, wherein: The arbitration rules are configured to, in response to the arbitration selector receiving at least two second-class requests in the same operation cycle, arbitrate the at least two second-class requests to determine a target second-class request to output, or, in response to the arbitration selector receiving one second-class request in the same operation cycle, determine the one second-class request to output.
7. The computer device of claim 6, wherein: The arbitration rule is further configured to, in response to the arbitration selector receiving at least two second-category requests in the same operation cycle, discard other second-category requests except the target second-category request determined to be output.
8. The computer device according to any one of claims 3 to 7, wherein: The arbitration selector includes an arbitrator and a selector. The arbitrator is coupled to the selector, and is configured to control an output of the selector using an arbitration result obtained by performing arbitration according to the arbitration rule.
9. A request processing method, comprising: In response to a first type of request sent by at least one of the plurality of requesting ends, transmitting the first type of request to at least one of the plurality of responding ends through a first routing network; In response to a second type of request sent by at least one of the plurality of requesting ends, transmitting the second type of request to at least one of the plurality of responding ends through a second routing network; The second type of request is different from the first type of request, and the first routing network and the second routing network are respectively configured to connect the multiple request ends and the multiple responding ends for communication.
10. The method of claim 9, wherein: The transmission delay requirement of the first type of request is greater than the transmission delay requirement of the second type of request.
11. The method of claim 9, wherein: The second routing network includes a plurality of routing nodes, each of which includes an arbitration selector. The transmitting the first type of request to at least one of the multiple responders through the second routing network comprises: At the routing node, the arbitration selector arbitrates one or more second-type requests received by the corresponding routing node according to arbitration rules to determine how the corresponding routing node sends the one or more second-type requests.
12. The method of claim 11, wherein: The arbitrating one or more second-category requests received by the corresponding routing node according to the arbitration rule by the arbitration selector includes: In response to the arbitration selector receiving at least two second-class requests in the same operation cycle, the at least two second-class requests are arbitrated to determine a target second-class request to be output, or, in response to the arbitration selector receiving one second-class request in the same operation cycle, the one second-class request is determined to be output.
13. The method of claim 12, wherein: The arbitrating the second type of request through the arbitration selector according to the arbitration rules also includes: In response to the arbitration selector receiving at least two second-category requests in the same operation cycle, other second-category requests except the target second-category request determined to be output are discarded.
14. The method of claim 12, wherein: The arbitrating the at least two second-category requests to determine a target second-category request to output comprises: The at least two second-category requests are arbitrated based on at least one of priority, polling, or weighting.
15. An electronic device comprising the computer device according to any one of claims 1-8.
