Communication method, cascade communication device, source end device and electronic device

By continuously scheduling packets with the same scheduling value are scheduled in the current node of the cascading network according to the scheduled coding rules in the predefined coding rules, the arbitration fairness problem in the cascading network is solved, and fair scheduling and bandwidth balance of the nodes are achieved.

CN120151289APending Publication Date: 2025-06-13HYGON INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510290088.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-12
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

There is a problem of arbitration fairness in the scheduling process in the cascading network, which leads to the farther the node is from the destination, the lower the bandwidth allocated, and data delay, attenuation and errors are prone to occur.

Method used

In the current node of the cascading network, messages sent by the first source end and the previous node connected to the current node are received, and scheduling marks are carried respectively. According to the scheduled value set by the predetermined encoding rules, object packets with the same scheduled value are continuously scheduled to be sent from the current node.

Benefits of technology

Through this method, fair scheduling of nodes is achieved, ensuring that the bandwidth allocated to each source end in the cascading network is balanced, and data delay, attenuation and error phenomena are avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120151289A_ABST
    Figure CN120151289A_ABST
Patent Text Reader

Abstract

The invention discloses a communication method, a cascade communication device, a source end device and an electronic device. The communication method is used for a current node in a cascade network and comprises the steps that at least one first message sent by a first source end connected with the current node is received, at least one second message sent by the current node in a previous-level node in the cascade network is received, each of the first message and the second message carries a scheduling mark, and the scheduling mark is sent to the current node; the scheduling value of the scheduling mark is set according to a preset coding rule; and continuously scheduling the object messages with the same scheduling value in the at least one first message and the at least one second message so as to send the object messages from the current node. The communication method realizes fair scheduling in the cascade network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to a communication method, a cascaded communication device, a source device, and an electronic device. Background Art

[0002] With the development of integrated circuit technology, especially the popularization of multi-core processors and system-on-chips (SoCs), cascaded networks such as networks-on-chip have become increasingly important. A cascaded network serves as a communication network within a single chip to connect various functional modules (such as processor cores, memories, I / O interfaces, etc.), responsible for transmitting data and control signals between modules to ensure the efficient operation of the system. There are a large number of packets in the cascaded network. Summary of the Invention

[0003] At least one embodiment of the present disclosure provides a communication method for a current node in a cascaded network. The communication method includes: receiving at least one first packet sent by a first source connected to the current node, and receiving at least one second packet sent by a previous-level node of the current node in the cascaded network, where each of the first packets and the second packets carries a scheduling tag, and the scheduling value of the scheduling tag is set according to a predetermined coding rule; continuously scheduling object packets with the same scheduling value among the at least one first packet and the at least one second packet to be sent out from the current node.

[0004] For example, in the communication method provided by at least one embodiment of the present disclosure, the at least one second packet includes at least one third packet sent by a second source connected to the previous-level node received by the previous-level node and at least one fourth packet sent by a pre-previous-level node of the previous-level node in the cascaded network received by the previous-level node, where each of the third packets and the fourth packets carries the scheduling tag.

[0005] For example, in the communication method provided by at least one embodiment of the present disclosure, continuously scheduling object packets with the same scheduling value among the at least one first packet and the at least one second packet to be sent out from the current node includes: grouping the first packets and the second packets according to the scheduling value of the scheduling tag; scheduling the grouped first packets and second packets one by one by group to be sent out from the current node.

[0006] For example, in the communication method provided by at least one embodiment of the present disclosure, according to the predetermined coding rule, the scheduling value has multiple candidate values, and the multiple candidate values represent different priorities.

[0007] For example, in the communication method provided by at least one embodiment of the present disclosure, the object messages with the same scheduling value in the at least one first message and the at least one second message are continuously scheduled to be sent from the current node, including: sorting the continuously scheduled object messages according to the source ends respectively corresponding to the object messages, and scheduling them in sequence to be sent from the current node.

[0008] For example, in the communication method provided by at least one embodiment of the present disclosure, the object messages are continuously scheduled to be sent from the current node to one or more corresponding destinations; and, the first source end includes a processor core, and the one or more destinations include a memory.

[0009] For example, in the communication method provided by at least one embodiment of the present disclosure, the cascaded network includes a network on chip.

[0010] At least one embodiment of the present disclosure further provides another communication method for a source end connected to a current node in a cascaded network, including: obtaining a plurality of messages to be sent; respectively setting scheduling tags for the plurality of messages according to a predetermined coding rule; sending the plurality of messages respectively provided with the scheduling tags to the current node, so that the current node schedules according to the scheduling value of the scheduling tag.

[0011] For example, in the communication method provided by at least one embodiment of the present disclosure, according to the predetermined coding rule, the scheduling value has a plurality of candidate values, and the step of respectively setting scheduling tags for the plurality of messages according to the predetermined coding rule includes: setting the scheduling tags for the plurality of messages respectively in turn according to the plurality of candidate values.

[0012] For example, in the communication method provided by at least one embodiment of the present disclosure, the plurality of candidate values represent different priorities, and the step of setting the scheduling tags for the plurality of messages respectively in turn according to the plurality of candidate values includes: setting the candidate value representing the high priority for the messages that need to be set with high priority among the plurality of messages.

[0013] At least one embodiment of the present disclosure further provides a cascaded communication device for a current node in a cascaded network, including: a first receiving unit configured to receive at least one first message sent by a first source end (master) connected to the current node; a second receiving unit configured to receive at least one second message sent by a previous node of the current node in the cascaded network, wherein each of the first messages and the second messages carries a scheduling tag, and the scheduling value of the scheduling tag is set according to a predetermined coding rule; a scheduling unit configured to continuously schedule the object messages with the same scheduling value in the at least one first message and the at least one second message to be sent from the current node.

[0014] At least one embodiment of the present disclosure further provides a source device, which is used to connect to a current node in a cascaded network. The source device includes: an acquisition unit configured to acquire a plurality of packets to be sent; a marking unit configured to respectively set scheduling marks for the plurality of packets according to a predetermined coding rule; and an output unit configured to send the plurality of packets respectively set with the scheduling marks to the current node, so that the current node performs scheduling according to the scheduling values of the scheduling marks.

[0015] At least one embodiment of the present disclosure further provides an electronic device, including a cascaded network, where the cascaded network includes a plurality of nodes, and each of the plurality of nodes includes a cascaded communication device according to any embodiment of the present disclosure.

[0016] For example, the electronic device provided by at least one embodiment of the present disclosure further includes at least one source end, and each of the at least one source ends includes a source device according to any embodiment of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] 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 and do not limit the present disclosure.

[0018] Figure 1 It is a schematic diagram of a cascaded network communication scheme.

[0019] Figure 2 It is a schematic diagram of another cascaded network communication scheme.

[0020] Figure 3 It is a flowchart of a communication method provided by at least one embodiment of the present disclosure.

[0021] Figure 4 It is an example of a first packet provided by at least one embodiment of the present disclosure.

[0022] Figure 5 It is a flowchart of a scheduling scheme provided by at least one embodiment of the present disclosure.

[0023] Figure 6 It is a flowchart of another scheduling scheme provided by at least one embodiment of the present disclosure.

[0024] Figure 7 It is an example of another scheduling scheme provided by at least one embodiment of the present disclosure;

[0025] Figure 8 It is a flowchart of another communication method provided by at least one embodiment of the present disclosure.

[0026] Figure 9 A schematic block diagram of a cascaded communication device provided by at least one embodiment of the present disclosure.

[0027] Figure 10 A schematic block diagram of a source device provided by at least one embodiment of the present disclosure.

[0028] Figure 11 A schematic block diagram of an electronic device provided by at least one embodiment of the present disclosure. Detailed implementation manners

[0029] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present disclosure. Apparently, the described embodiments are some but not all of the embodiments of the present disclosure. All other embodiments obtained by those of ordinary skill in the art based on the described embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.

[0030] Unless otherwise defined, the technical terms or scientific terms used in the present disclosure shall have the ordinary meanings understood by those of ordinary skill in the art to which the present disclosure pertains. The "first", "second", and similar terms used in the present disclosure do not denote any order, quantity, or importance, but are only used to distinguish different components. Similarly, the terms such as "a", "an", or "the" do not denote a quantity limitation, but mean that there is at least one. The terms such as "including" or "comprising" mean that the elements or items appearing before the term cover the elements or items listed after the term and their equivalents, without excluding other elements or items. The terms such as "connected" or "coupled" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The terms such as "upper", "lower", "left", and "right" are only used to represent relative positional relationships, and when the absolute position of the object being described changes, the relative positional relationship may also change accordingly.

[0031] The cascaded network has the characteristics of modular design, hierarchical structure, efficient communication, and fault tolerance, and is applicable to application scenarios such as multi-core processors, system-on-chips, high-performance computing, and embedded systems.

[0032] Figure 1 A schematic diagram of a cascaded network communication solution. As Figure 1As shown, the cascaded network includes multiple nodes R0 - R5, to which source ends C0 - C5 are respectively connected. Node R0 is also connected to the destination end. For example, these source ends are processor cores (Core), DMA (Direct Memory Access) controllers, I / O controllers, etc., and the destination end is, for example, memory, I / O controllers, etc. These nodes are cascaded with each other, where the node at the level above node R0 is node R1, and so on; in this cascaded network, messages are transmitted in a serial cascading manner through each node. For example, a message sent from source end C5 to the destination end will need to pass through nodes R5, R4, R3, R2, R1, and R0 in sequence. Of course, node R0 may not be the final level and there may be a next-level node. Thus, during the transmission of the message, it needs to be sent backward node by node to ensure that during the transmission of the message, data attenuation will not be caused due to factors such as the excessive length of the cascading line and the interfaces of each layer.

[0033] However, Figure 1 the shown communication scheme has a problem of arbitration fairness in the scheduling process, that is, the farther a node is from the destination end, the lower the finally allocated bandwidth. Since the arbiter of each source end performs fair arbitration, the bandwidth for source end C5 to reach the destination end is 1 / 32 (arbitration probability), the bandwidth for source end C4 to reach the destination end is 1 / 32, the bandwidth for source end C3 to reach the destination end is 1 / 16, the bandwidth for source end C2 to reach the destination end is 1 / 8, the bandwidth for source end C1 to reach the destination end is 1 / 4, and the bandwidth for source end C0 to reach the destination end is 1 / 2. It can be seen that Figure 1 in the shown allocation and arbitration scheme, there is no fairness in the bandwidth allocated to each node in the cascaded network. In the case of too many nodes, data delay, attenuation, and error phenomena are likely to occur during the message transmission process.

[0034] Figure 2 is a schematic diagram of another cascaded network communication scheme. Figure 2 The communication scheme of Figure 1 is an improved communication scheme based on the communication scheme of

[0035] In summary, Figure 1 the communication scheme of Figure 2The communication schemes cannot achieve fair scheduling of nodes regardless of the number of source ends working simultaneously. That is to say, these communication schemes cannot guarantee fair scheduling of nodes in a cascaded network regardless of how the network is cascaded and regardless of the number of source ends working simultaneously.

[0036] Some embodiments of the present disclosure provide a communication method for a current node in a cascaded network. The communication method includes: receiving at least one first message sent by a first source end connected to the current node, and receiving at least one second message sent by a previous node of the current node in the cascaded network, where each of the first message and the second message carries a scheduling tag, and the scheduling value of the scheduling tag is set according to a predetermined coding rule; continuously scheduling the object messages with the same scheduling value in at least one first message and at least one second message to be sent from the current node.

[0037] Some other embodiments of the present disclosure provide another communication method for a source end connected to a current node in a cascaded network. The communication method includes: obtaining a plurality of messages to be sent; respectively setting scheduling tags for the plurality of messages according to a predetermined coding rule; sending the plurality of messages respectively provided with scheduling tags to the current node for the current node to perform scheduling according to the scheduling value of the scheduling tag.

[0038] Some embodiments of the present disclosure also provide a cascaded communication device, a source end device, and an electronic device corresponding to the above communication method.

[0039] The communication method for a cascaded network provided by at least one of the above embodiments of the present disclosure can ensure the arbitration fairness of nodes and further achieve fair scheduling of nodes by continuously scheduling the first message and the second message carrying scheduling tags in the cascaded network according to the scheduling tags, so that after scheduling the messages with one scheduling tag (such as the first message and the second message), the messages with another scheduling tag (such as the first message and the second message) are scheduled.

[0040] The embodiments and examples of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0041] The communication method provided by at least one embodiment of the present disclosure can be used, for example, in a communication scenario of a cascaded network, such as a network-on-chip or an Ethernet communication scenario. The embodiments of the present disclosure do not limit this. For example, in the case where the cascaded network is a network-on-chip, the network-on-chip includes multiple nodes, a source end (Master, or host), and a destination end (Slave, or slave). Each node is a routing node (Router). For example, the source end can be a processor core (Core), a DMA controller, an I / O controller, etc., and the destination end can be a memory (Memory), an I / O controller, etc. For example, in the case where the cascaded network is an Ethernet, the node is a switch, and the type of the first source end is a host (Master), and the type of the destination end is not limited.

[0042] For example, the communication method of at least one embodiment can be implemented on the source end and the routing node in the form of software, hardware, firmware, or any combination thereof, and is loaded and executed in a network-on-chip in user devices such as mobile phones, digital cameras, tablet computers, laptop computers, desktop computers, and network servers.

[0043] For example, the communication method of at least one embodiment is applicable to an electronic device, such as a mobile phone, a digital camera, a laptop computer, a tablet computer, a desktop computer, a network server, etc., which can load and execute the communication method. The embodiments of the present disclosure do not limit this. For example, the electronic device can include a central processing unit (Central Processing Unit, CPU) or a graphics processing unit (Graphics Processing Unit, GPU), a digital signal processor (DSP), and other forms of processing units with data processing capabilities and / or instruction execution capabilities, a storage unit, etc. An operating system and an application programming interface (such as OpenGL (Open Graphics Library), etc.) can also be installed on the electronic device, and the communication method provided by the embodiments of the present disclosure is implemented by running code or instructions.

[0044] Figure 3 It is a flowchart of a communication method provided by at least one embodiment of the present disclosure. This communication method is used for the current node in the cascaded network; the "current node" is the routing node as the object of description, and is any one of the multiple nodes included in the cascaded network.

[0045] Next, in combination with Figure 3 A detailed introduction to the communication method provided by at least one embodiment of the present disclosure will be given. For example, as Figure 3 shown, this communication method includes step S110 - step S130.

[0046] Step S110: Receive at least one first message sent by the first source end connected to the current node.

[0047] Step S120: Receive at least one second message sent by the previous node of the current node in the cascaded network.

[0048] Each of the first message and the second message carries a scheduling tag, and the scheduling value of the scheduling tag is set according to a predetermined coding rule. Embodiments of the present disclosure do not limit the specific composition of the first message, the second message, etc. For example, in addition to the scheduling tag, the structure design of the message is designed to ensure the correct transmission, parsing, and processing of data. For example, the message structure may include a message header, a data part, and a message tail, and each part may further include multiple fields, and each field has a specific function and format.

[0049] Step S130: Continuously schedule the object messages with the same scheduling value in at least one first message and at least one second message to be sent from the current node.

[0050] It should be noted that in the above embodiments of the present disclosure, the execution order of step S110 and step S120 is not limited. After receiving the first message and the second message, they can be cached in the waiting queue for subsequent processing. Although the execution process of each step is described in a specific order above, this does not constitute a limitation on the embodiments of the present disclosure. For example, in the cascaded network, the input end of the current node is connected to a first source end and the previous node of the current node in the cascaded network, and its output end is connected to the next node or the destination end of the current node in the cascaded network.

[0051] For step S110, for example, the first source end connected to the current node may send one or more first messages to the current node. Each first message carries a scheduling tag. According to the predetermined coding rule, the scheduling value of the scheduling tag has multiple candidate values. For example, the multiple candidate values respectively represent multiple different priorities, so that the messages with high-priority scheduling tags are given priority scheduling. For example, the predetermined coding rule adopts an alternating coding rule of 0 and 1, that is, for each node as the current node, the scheduling tags of the messages sent by the first source end obtained are 0-1 alternating. In addition, the predetermined coding rule may also adopt a rotating coding rule of multiple scheduling values, and the scheduling values have more than 3 different candidate values, for example, they can be 0, 1, and 2. For example, it rotates and codes in the way of 0-1-2-0-1-2-0-1-2.

[0052] Figure 4 This is an example of the first message provided by at least one embodiment of the present disclosure. Figure 4 In the shown cascaded network, nodes R0 - R3 work simultaneously to access the destination end. The messages are scheduled and tagged using an alternating coding rule of 0 and 1. For example, as Figure 4As shown, the sequence of messages sent by the source end C3 is C3-0, C3-1, C3-0, C3-1..., and the messages are alternately marked with 0 and 1; similarly, the sequence of messages sent by the source end C2 is C2-0, C2-1, C2-0, C2-1..., the sequence of messages sent by the source end C1 is C1-0, C1-1, C1-0, C1-1..., and the sequence of messages sent by the source end C0 is C0-0, C0-1, C0-0, C0-1.... It can be seen that the messages sent by the corresponding source ends connected to each node are alternately marked with 0 and 1.

[0053] For step S120, for example, the previous-level node connected to the current node may send one or more second messages to the current node. Each second message also carries a scheduling mark. The scheduling mark of the second message shares the same set of predetermined coding rules as the scheduling mark of the first message.

[0054] For example, at least one second message includes at least one third message sent by a second source end connected to the previous-level node received by the previous-level node and at least one fourth message sent by the node at the level immediately before the previous-level node of the previous-level node in the cascaded network. That is to say, for the case where the cascaded network has multiple levels of nodes, one or more third messages sent by a second source end indirectly connected to the current node, one or more corresponding fourth messages sent by a third source end, etc. are also transmitted to the current node. Similarly, each of the third messages and the fourth messages carries a scheduling mark. That is to say, the messages sent by different source ends share the same set of predetermined coding rules.

[0055] For example, taking the node R1 as the current node, the messages C1-0, C1-1, C1-0, C1-1... etc. are the corresponding "first messages"; the node R2 is the previous-level node of R1, and the messages C2-0, C2-1, C2-0, C2-1... etc. and the messages C2-0, C3-1, C3-0, C3-1... etc. as a whole are the corresponding "second messages", among which, C2-0, C2-1, C2-0, C2-1... etc. are the corresponding "third messages", and C2-0, C3-1, C3-0, C3-1... etc. are the corresponding "fourth messages".

[0056] Figure 5 It is a flowchart of a scheduling scheme provided by at least one embodiment of the present disclosure. That is to say,

[0057] Figure 5 For Figure 3 it is a flowchart of at least one example of step S130 in Figure 5 As shown, the process of this scheduling scheme includes step S131 and step S132 to implement the function of scheduling the first message and the second message.

[0058] Step S131: Group the first message and the second message according to the scheduling value of the scheduling tag.

[0059] Step S132: Schedule the grouped first message and second message one by one by group to be sent out from the current node.

[0060] For example, the predetermined coding rule generally has a fixed scheduling period. Within a set number of scheduling periods, by sequentially executing Step S131 and Step S132, the same group of the first message and the second message are placed together for scheduling until all groups are scheduled, achieving fair scheduling of the first message and the second message, and finally making the bandwidths allocated to the first source end that sends the first message and other source ends (such as the second source end) that send the second message completely balanced.

[0061] Figure 6 It is a flowchart of another scheduling scheme provided by at least one embodiment of the present disclosure. That is, Figure 6 For Figure 1 It is a flowchart of at least one example of Step S130 in Figure 6 As shown, the process of the scheduling scheme further includes Step S133 to implement the function of scheduling the first message and the second message.

[0062] Step S133: Sort the object messages that are continuously scheduled according to the source ends corresponding to the object messages respectively, and schedule them in sequence to be sent out from the current node.

[0063] For Step S133, for example, the object messages are continuously scheduled to be sent out from the current node to one or more corresponding destinations. Here, the "object message" refers to the message used as the description object. The above-mentioned first source end, second source end, etc. include processor cores, and one or more destinations include memories. Through Step S133, the function of in-group scheduling is realized on the basis of the foregoing Step S132, that is, within the same group, sorting and scheduling are performed according to the source end. For example, according to the distance between the source end and the destination end, the corresponding messages are scheduled in sequence.

[0064] Figure 7 It is an example of another scheduling scheme provided by at least one embodiment of the present disclosure. As Figure 7 shown, there is only the source end C3 as the first source end at node R3, and there is no previous-level node. The message sending order from the source end C3 is C3-0, C3-1, C3-0, C3-1.

[0065] Node R2 has a source end C2, and node R3 is its previous-level node; the message sequence sent by the source end C2 is C2-0, C2-1, C2-0, C2-1. At the same time, node R2 also receives messages C3-0, C3-1, C3-0, C3-1 from node R3. Thus, node R2 first schedules the messages marked with 0, and then schedules the messages marked with 1. The scheduled message sequence is C2-0, C3-0; C2-1, C3-1; C2-0, C3-0; C2-1, C3-1. Here, C2-0 and C3-0 are in a group, and the two are scheduled continuously. The message of C3 is scheduled first, and the message of C2 is scheduled later. The same applies to other groups and will not be elaborated.

[0066] Node R1 has a source end C1, and node R2 is its previous-level node; the message sequence sent by the source end C1 is C1-0, C1-1, C1-0, C1-1. At the same time, node R1 also receives messages C2-0, C3-0, C2-1, C3-1, C2-0, C3-0, C2-1, C3-1 from node R2. Thus, node R1 first schedules the messages marked with 0, and then schedules the messages marked with 1. The scheduled message sequence is C1-0, C2-0, C3-0; C1-1, C2-1, C3-1; C1-0, C2-0, C3-0; C1-1, C2-1, C3-1. Here, C1-0, C2-0, and C3-0 are in a group, and the three are scheduled continuously. The message of C3 is scheduled first, the message of C2 is scheduled later, and the message of C1 is scheduled last. The same applies to other groups and will not be elaborated.

[0067] Node R0 has a source end C0, and node R1 is its previous-level node; the message sequence sent by the source end C0 is C0-0, C0-1, C0-0, C0-1. At the same time, node R0 also receives messages C1-0, C2-0, C3-0, C1-1, C2-1, C3-1, C1-0, C2-0, C3-0, C1-1, C2-1, C3-1 from node R1. Thus, node R0 first schedules the messages marked with 0, and then schedules the messages marked with 1. The scheduled message sequence is C0-0, C1-0, C2-0, C3-0; C0-1, C1-1, C2-1, C3-1; C0-0, C1-0, C2-0, C3-0; C1-1, C1-1, C2-1, C3-1, and the scheduled messages are sent to the destination end. Here, C0-0, C1-0, C2-0, and C3-0 are in a group, and the four are scheduled continuously. The scheduling order is the messages of C3, C2, C1, and C2 in sequence. The same applies to other groups and will not be elaborated.

[0068] In the above specific application example, the source end sends a message with a scheduling tag. After the arbitration logic completes the arbitration according to the same scheduling tag and then arbitrates the next scheduling tag, the fairness of the arbitration can be ensured. It can be seen that the arbitration bandwidth of all source ends is completely balanced.

[0069] Figure 8 The flowchart of another communication method provided by at least one embodiment of the present disclosure. This communication method is used for the source end connected to the current node in the cascaded network. The following will be combined with Figure 8 to introduce in detail the communication method provided by at least one embodiment of the present disclosure. For example, in some examples, as Figure 8 shown, this communication method includes step S210 - step S230.

[0070] Step S210: Obtain multiple messages to be sent;

[0071] Step S220: Set scheduling tags for the multiple messages respectively according to a predetermined coding rule;

[0072] Step S230: Send the multiple messages respectively set with scheduling tags to the current node, so that the current node performs scheduling according to the scheduling value of the scheduling tag.

[0073] For step S210, for example, the source end (for example, in different scenarios, it can also be called the first source end, the second source end, etc. for convenience of distinction) can send one or more messages. For example, source ends in all working states can send messages simultaneously or non-simultaneously.

[0074] For step S220, for example, according to the predetermined coding rule, the scheduling value of the scheduling tag has multiple candidate values, and the multiple candidate values represent different priorities, so that messages with a scheduling tag of high priority are given priority scheduling. For example, the predetermined coding rule adopts an alternating coding rule of 0 and 1, that is, for each node as the current node, the scheduling tags of the messages sent by its first source end are all alternating 0-1. In addition, the predetermined coding rule can also adopt a rotation coding rule of multiple scheduling values, and the scheduling value has more than two different candidate values.

[0075] For step S230, for example, the current node schedules the messages sent by the source end to obtain messages with alternating (2 scheduling values) or rotating (more than 3 scheduling values) scheduling values of the scheduling tag.

[0076] By sequentially executing step S210 - step S230, the current node performs arbitration scheduling on the messages sent by the source end connected to the current node, and obtains messages with alternating or rotating scheduling values of the scheduling tag.

[0077] At least one embodiment of the present disclosure also provides a cascaded communication device. Figure 9Schematic block diagram of a cascaded communication device provided by at least one embodiment of the present disclosure. The cascaded communication device 100 is used for the current node in the cascaded network. For example, the following will be combined with Figure 9 to provide a detailed introduction to the cascaded communication device 100 provided by at least one embodiment of the present disclosure.

[0078] For example, in some examples, such as Figure 9 shown, the cascaded communication device 100 includes a first receiving unit 110, a second receiving unit 120, and a scheduling unit 130. For example, these units can be implemented by hardware (such as circuits) modules, software modules, firmware modules, or any combination of the three. For example, these units can be implemented by a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), a field programmable gate array (FPGA), or other forms of processing units with data processing capabilities and / or instruction execution capabilities, as well as corresponding computer instructions.

[0079] The first receiving unit 110 is configured to receive at least one first message sent by a first source end connected to the current node. For example, step S110 can be implemented through the first receiving unit 110, and the specific implementation method can refer to the relevant description of step S110, which will not be elaborated here.

[0080] The second receiving unit 120 is configured to receive at least one second message sent by the previous-level node of the current node in the cascaded network.

[0081] Each of the first message and the second message carries a scheduling tag, and the scheduling value of the scheduling tag is set according to a predetermined coding rule. For example, step S120 can be implemented through the second receiving unit 120, and the specific implementation method can refer to the relevant description of step S120, which will not be elaborated here.

[0082] The scheduling unit 130 is configured to continuously schedule the object messages with the same scheduling value in at least one first message and at least one second message to be sent from the current node. For example, step S130 can be implemented through the scheduling unit 130, and the specific implementation method can refer to the relevant description of step S130, which will not be elaborated here.

[0083] For example, in the above at least one embodiment of the present disclosure, at least one second message includes at least one third message sent by a second source end connected to the previous-level node received by the previous-level node and at least one fourth message sent by the previous-previous-level node of the previous-level node in the cascaded network received by the previous-level node. Each of the third message and the fourth message carries the scheduling tag.

[0084] For example, in at least one of the above embodiments of the present disclosure, the scheduling unit 130 includes a grouping module and a first scheduling module. The grouping module is configured to group the first message and the second message according to the scheduling value of the scheduling tag. The first scheduling module is configured to schedule the grouped first message and second message one by one in groups to be sent out from the current node.

[0085] For example, in at least one of the above embodiments of the present disclosure, according to a predetermined coding rule, the scheduling value has a plurality of candidate values, and the plurality of candidate values represent different priorities.

[0086] For example, in at least one of the above embodiments of the present disclosure, the scheduling unit 130 further includes a second scheduling module. The second scheduling module is configured to sort the object messages that are continuously scheduled according to the respective source ends corresponding to the object messages, and schedule them in sequence to be sent out from the current node.

[0087] For example, in at least one of the above embodiments of the present disclosure, the object messages are continuously scheduled to be sent out from the current node to one or more corresponding destinations; for example, the first source end includes a processor core, and one or more destinations include a memory.

[0088] For example, in at least one of the above embodiments of the present disclosure, the cascaded network includes a network on chip.

[0089] It should be noted that, in the embodiments of the present disclosure, the cascaded communication device 100 may include more or fewer circuits or units, and the connection relationship between the respective circuits or units is not limited and may be determined according to actual requirements. The specific composition manner of each circuit is not limited and may be composed of analog devices according to circuit principles, or may be composed of digital chips, or in other applicable manners.

[0090] At least one embodiment of the present disclosure further provides a source end device. Figure 10 It is a schematic block diagram of a source end device provided by at least one embodiment of the present disclosure. The source end device 200 is used to connect to the current node in the cascaded network. For example, the following combination Figure 10 A detailed introduction to the source end device 200 provided by at least one embodiment of the present disclosure will be given.

[0091] For example, in some examples, such as Figure 10As shown, the source device 200 includes an acquisition unit 210, a marking unit 220, and an output unit 230. For example, these units can be implemented by hardware (such as circuits) modules, software modules, firmware modules, or any combination of the three. For example, these units can be implemented by a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), a field programmable gate array (FPGA), or other forms of processing units with data processing capabilities and / or instruction execution capabilities, as well as corresponding computer instructions.

[0092] The acquisition unit 210 is configured to acquire a plurality of packets to be sent. For example, step S210 can be implemented by the acquisition unit 210, and the specific implementation method can refer to the relevant description of step S210, which will not be elaborated here.

[0093] The marking unit 220 is configured to respectively set scheduling marks for the plurality of packets according to a predetermined coding rule. For example, step S220 can be implemented by the marking unit 220, and the specific implementation method can refer to the relevant description of step S220, which will not be elaborated here.

[0094] The output unit 230 is configured to send the plurality of packets respectively set with scheduling marks to the current node, so that the current node performs scheduling according to the scheduling value of the scheduling mark. For example, step S230 can be implemented by the acquisition unit 230, and the specific implementation method can refer to the relevant description of step S230, which will not be elaborated here.

[0095] For example, in at least one of the above embodiments of the present disclosure, according to the predetermined coding rule, the scheduling value has a plurality of candidate values, and the marking unit 220 alternately sets the scheduling marks for the plurality of packets according to the plurality of candidate values.

[0096] For example, in at least one of the above embodiments of the present disclosure, the plurality of candidate values represent different priorities, and the marking unit 220 sets the candidate value representing the high priority for the packets that need to be set with high priority among the plurality of packets.

[0097] It should be noted that in the embodiments of the present disclosure, the source device 200 may include more or fewer circuits or units, and the connection relationship between each circuit or unit is not limited and can be determined according to actual needs. The specific composition manner of each circuit is not limited and can be composed of analog devices according to circuit principles, or can be composed of digital chips, or in other applicable manners.

[0098] At least some embodiments of the present disclosure further provide an electronic device. The electronic device includes a cascaded network, where the cascaded network includes a plurality of nodes, and each of the plurality of nodes includes the cascaded communication device 100 provided in any embodiment of the present disclosure.

[0099] Figure 11 Schematic block diagram of an electronic device provided for at least one embodiment of the present disclosure.

[0100] 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), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 11 The illustrated electronic device 1000 is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present disclosure.

[0101] For example, as Figure 11 shown, in some examples, the electronic device 1000 includes a processing device (such as a central processing unit, a graphics processing unit, etc.) 1001. For example, the processing device 1001 may include the cascaded communication device of any of the above embodiments, and may perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 1002 or the program loaded from the storage device 1008 into the random access memory (RAM) 1003. 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 a bus 1004. The input / output (I / O) interface 1005 is also connected to the bus 1004.

[0102] 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, such as, 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 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 wiredly to exchange data and perform communication processing via a network such as the Internet. A driver 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 driver 1010 as needed so that the computer program read from it can be installed into the storage device 1008 as needed. Although Figure 10 the electronic device 1000 including various devices is shown, it should be understood that it is not required to implement or include all the shown devices. Instead, more or fewer devices may be implemented or included.

[0103] 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 the network and other devices through wireless communication. The network may be, for example, 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). The wireless communication may use any one of a variety of communication standards, protocols, and technologies, 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), WiMAX, protocols for email, instant messaging, and / or Short Message Service (SMS), or any other suitable communication protocol.

[0104] For example, the electronic device 1000 may 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 may be any combination of a data processing device and hardware. The embodiments of the present disclosure are not limited thereto.

[0105] For example, the electronic device 1000 further includes at least one source end connected to a cascaded network (not shown in the figure). Each of the at least one source ends includes a source end device 200 provided in any embodiment of the present disclosure. For example, the source end initiates a data transmission request, and may include, for example, a processor core, a DMA controller, an I / O interface, an accelerator, a network interface controller, a sensor interface, a peripheral device controller, etc. The source end is connected to a routing node in the cascaded network. Correspondingly, the electronic device 1000 further includes at least one destination end connected to the cascaded network. For example, the destination end responds to the data transmission request and may include, for example, a memory, a peripheral device, a register file, etc.

[0106] It should be noted that, for the sake of clarity and conciseness, the embodiments of the present disclosure do not show all the components of the electronic device 1000. Those skilled in the art may provide and set other components not shown according to specific needs to implement the necessary functions of the electronic device 1000. The embodiments of the present disclosure are not limited thereto.

[0107] Regarding the technical effects of the electronic device 1000 in the above embodiments, reference may be made to the technical effects of the communication method provided in any embodiment of the present disclosure, which will not be elaborated here.

[0108] The following points need to be explained:

[0109] (1) The accompanying drawings of the embodiments of the present disclosure only relate to the structures involved in the embodiments of the present disclosure, and other structures can refer to the general design.

[0110] (2) Without conflict, the embodiments of the present disclosure and the features in the embodiments can be combined with each other to obtain new embodiments.

[0111] The above is only an exemplary implementation manner of the present disclosure, rather than being used to limit the protection scope of the present disclosure. The protection scope of the present disclosure is determined by the appended claims.

Claims

1. A communication method for a current node in a cascade network, comprising: receiving at least one first message sent by a first source end connected to the current node, Receiving at least one second message sent by a node at a previous level of the current node in the cascade network, wherein each of the first message and the second message carries a scheduling tag, and a scheduling value of the scheduling tag is set according to a predetermined coding rule; The object messages having the same scheduling value in the at least one first message and the at least one second message are continuously scheduled to be sent from the current node.

2. The communication method according to claim 1, wherein: The at least one second message includes at least one third message sent by the second source end connected to the previous level node and received by the previous level node, and at least one fourth message sent by the previous level node in the cascade network, wherein: The third message and the fourth message each carry the scheduling flag.

3. The communication method according to claim 1, wherein: The method further comprises: continuously scheduling object messages having the same scheduling value in the at least one first message and the at least one second message to be sent from the current node, comprising: Grouping the first message and the second message according to the scheduling value of the scheduling mark; The grouped first message and the second message are scheduled one by one in groups to be sent out from the current node.

4. The communication method according to claim 1, wherein: According to the predetermined coding rule, the scheduling value has multiple candidate values, and the multiple candidate values ​​represent different priorities.

5. The communication method according to claim 1, wherein: The method further comprises: continuously scheduling object messages having the same scheduling value in the at least one first message and the at least one second message to be sent from the current node, comprising: The continuously scheduled object messages are sorted according to the source ends to which the object messages respectively correspond, and are scheduled in sequence to be sent out from the current node.

6. The communication method according to claim 1, wherein: The object message is continuously scheduled to be sent from the current node to one or more corresponding destination ends; and, The first source end includes a processor core, and the one or more destination ends include a memory.

7. The communication method according to claim 1, wherein: The cascaded network includes a network on chip.

8. A communication method for a source end connected to a current node in a cascade network, comprising: Get multiple messages to be sent; For the plurality of messages, respectively, a scheduling mark is set according to a predetermined coding rule; The multiple messages respectively provided with the scheduling marks are sent to the current node, so that the current node performs scheduling according to the scheduling values ​​of the scheduling marks.

9. The communication method according to claim 8, wherein: According to the predetermined coding rule, the scheduling value has multiple candidate values, and, The step of respectively setting scheduling marks for the plurality of messages according to a predetermined coding rule comprises: According to the multiple candidate values, the scheduling flags are set for the multiple messages in turn.

10. The communication method according to claim 8, wherein: The multiple candidate values ​​represent different priorities. The step of setting the scheduling flags for the multiple messages in turn according to the multiple candidate values ​​includes: A candidate value representing a high priority is set for a message that needs to be set with a high priority among the multiple messages.

11. A cascade communication device, used for a current node in a cascade network, comprising: A first receiving unit, configured to receive at least one first message sent by a first source end connected to the current node; A second receiving unit is configured to receive at least one second message sent by a previous node of the current node in the cascade network, wherein each of the first message and the second message carries a scheduling tag, and the scheduling value of the scheduling tag is set according to a predetermined coding rule; The scheduling unit is configured to continuously schedule the object messages having the same scheduling value in the at least one first message and the at least one second message to be sent from the current node.

12. A source device, used to connect to a current node in a cascade network, comprising: An acquisition unit, configured to acquire a plurality of messages to be sent; a marking unit, configured to respectively set scheduling marks for the plurality of messages according to a predetermined coding rule; The output unit is configured to send the multiple messages respectively provided with the scheduling marks to the current node, so that the current node performs scheduling according to the scheduling values ​​of the scheduling marks.

13. An electronic device comprising a cascade network, in, The cascade network includes a plurality of nodes, each of the plurality of nodes including the cascade communication device according to claim 11.

14. The electronic device according to claim 13, further comprising at least one source terminal, in, Each of the at least one source terminal comprises a source terminal device according to claim 12.