Data stream transmission method, device, chip, equipment, network interface card, storage medium and program product
By dynamically adjusting the destination identification information of the data stream and optimizing the transmission link, the problem of bandwidth and power consumption waste in the on-chip interconnect structure is solved, and the interface utilization of the interconnect network and the flexibility of chip design are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN JAGUAR MICROSYSTEMS CO LTD
- Filing Date
- 2026-01-26
- Publication Date
- 2026-05-12
AI Technical Summary
In existing technologies, the buses and cross switches in the on-chip interconnect structure have defects in terms of bandwidth and scalability, resulting in wasted bandwidth and power consumption. Furthermore, the address decoding is determined in the early stages of RTL design and cannot be modified later, which affects chip performance or leads to failure.
By receiving and parsing the transmission identification information and matching address information in the data stream, the destination identification information of the data stream is dynamically adjusted using the decoding information entries in the buffer unit to achieve dynamic address decoding, and the data stream transmission is optimized through idle transmission links and bit width conversion.
It achieves bandwidth and power consumption optimization, improves the interface utilization of interconnected networks, reduces output port waste, and enhances the flexibility and scalability of chip design.
Smart Images

Figure CN121567649B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of chip technology, and in particular to a data stream transmission method, apparatus, chip, device, network interface card, storage medium, and program product. Background Technology
[0002] As computer technology matures, on-chip interconnect (ITI) technology becomes increasingly diverse and complex. The design of ITI architectures depends on the communication requirements of multi-core architectures. With the increasing number of on-chip computing cores, scalable, low-latency, and high-bandwidth communication structures for connecting these cores become crucial.
[0003] In related technologies, bus and crossbar structures are the mainstream interconnect structures for peripheral interconnection in small central processing units (CPUs) or large systems on chips (SoCs). Buses can provide lower transmission latency but cannot provide sufficient bandwidth. Crossbars can provide sufficient bandwidth but have poor scalability; both have their drawbacks.
[0004] Meanwhile, for buses and crossbar switches, the address decoding is determined early in the Register Transfer Level (RTL) design and cannot be changed. Modifying the RTL before tape-out becomes increasingly costly as the project progresses. After tape-out, if it is discovered that the address decoding structure needs to be modified due to manufacturing or design reasons, it cannot be modified because the chip has been tape-out. This can range from affecting performance to potentially causing the entire chip / project to fail. Furthermore, static address decoding technology also limits each input data stream to outputting from only certain outputs. When some input streams are not used, some output ports will never output data, resulting in wasted bandwidth and power consumption, i.e., insufficient network port multiplexing. Summary of the Invention
[0005] Therefore, it is necessary to provide a data stream transmission method, device, and chip that can reduce bandwidth and power consumption waste in response to the above-mentioned technical problems.
[0006] In a first aspect, this application provides a data stream transmission method applied to a communication component between a first component and a second component, comprising:
[0007] Receive and parse the data stream from the first component to obtain the transmission identification information, matching address information, and data packets in the data stream;
[0008] The corresponding decoding information entry is obtained from the cache unit based on the transmission identification information;
[0009] The destination identifier information of the data stream is determined based on the decoded information entries and the matching address information;
[0010] A new data stream is formed based on the data packet, the transmission identification information, and the destination identification information, and the new data stream is sent to the second component.
[0011] In one embodiment, prior to receiving and parsing the data stream from the first component, the method further includes:
[0012] The system receives a decoding update request for a decoding information entry from the central processing unit and writes the updated decoding information entry to the corresponding address in the cache unit.
[0013] In one embodiment, determining the destination identifier information of the data stream based on the decoded information entry and the matching address information includes:
[0014] Based on the decoding information entries, address decoding is performed to obtain the decoded address range and the corresponding output port address of the decoded address range;
[0015] If the matching address information is within the decoding address range, then the output port address corresponding to the decoding address range is determined as the destination identifier information of the data stream.
[0016] In one embodiment, the transmission identification information includes routing identification bit information; obtaining the corresponding decoding information entry from the cache unit based on the transmission identification information includes:
[0017] If there is no decoding update request for the decoding information entry corresponding to the transmission identification information, then the corresponding decoding information entry is obtained from the cache unit according to the routing unit corresponding to the routing identifier bit of the transmission identification information.
[0018] If there is a decoding update request for the decoding information entry corresponding to the transmission identifier information, then the corresponding decoding information entry is obtained from the decoding update request.
[0019] In one embodiment, sending the new data stream to the second component includes:
[0020] Identify the first transmission link that is idle from among multiple transmission links;
[0021] The new data stream is bit-width converted, and the bit-width converted data stream is forwarded to the intermediate routing unit through the first transmission link;
[0022] The intermediate routing unit sends the bit-width converted data stream to the output port corresponding to the destination identifier information, so that it can be sent to the second component through the output port.
[0023] In one embodiment, the method further includes:
[0024] Based on the input interface of the data stream, generate the source identification information of the data stream;
[0025] The source identifier information and the transmission identifier information are concatenated to generate the response identifier information of the data stream;
[0026] The response identification information of the data stream is sent to the second component.
[0027] In one embodiment, the method further includes:
[0028] Receive a response message corresponding to the data stream sent by the second component, wherein the response message contains the response identification information;
[0029] Extract the source identification information from the response identification information;
[0030] The response message corresponding to the data stream is sent to the input interface corresponding to the source identifier information, so as to send the response message to the first component.
[0031] Secondly, this application provides a data stream transmission device for communication between a first component and a second component, comprising: an input module, a routing module, and an output module; the routing module includes multiple routing units.
[0032] The input module is used to receive and parse the data stream from the first component to obtain the transmission identification information, matching address information and data packets in the data stream;
[0033] The routing module is configured to obtain the corresponding decoding information entry from the cache unit according to the transmission identification information; determine the destination identification information of the data stream according to the decoding information entry and the matching address information; and form a new data stream according to the data packet, the transmission identification information and the destination identification information.
[0034] The output module is used to send the new data stream to the second component.
[0035] In one embodiment, the device further includes:
[0036] The address update module is used to receive a decoding update request for a decoding information entry issued by the central processing unit, and write the updated decoding information entry into the corresponding address of the cache unit.
[0037] In one embodiment, the routing module is further configured to perform address decoding based on the decoded information entry to obtain a decoded address range and the output port address corresponding to the decoded address range; if the matching address information is within the decoded address range, then the output port address corresponding to the decoded address range is determined as the destination identifier information of the data stream.
[0038] In one embodiment, the transmission identification information includes routing identification bit information; the routing module is further configured to, if there is no decoding update request for the decoding information entry corresponding to the transmission identification information, obtain the corresponding decoding information entry from the cache unit according to the routing unit corresponding to the routing identification bit of the transmission identification information; if there is a decoding update request for the decoding information entry corresponding to the transmission identification information, obtain the corresponding decoding information entry from the decoding update request.
[0039] In one embodiment, the routing module is further configured to determine a first transmission link that is idle from multiple transmission links; perform bit-width conversion on the new data stream and forward the bit-width converted data stream to an intermediate routing unit through the first transmission link; and send the bit-width converted data stream to the output port corresponding to the destination identification information through the intermediate routing unit, so as to send it to the second component through the output port.
[0040] In one embodiment, the output module is further configured to generate source identification information of the data stream based on the input interface of the data stream; concatenate the source identification information and the transmission identification information to generate response identification information of the data stream; and send the response identification information of the data stream to the second component.
[0041] In one embodiment, the output module is further configured to receive a response message corresponding to the data stream sent by the second component, the response message containing the response identification information; separate source identification information from the response identification information; and send the response message corresponding to the data stream to the input interface corresponding to the source identification information, so as to send the response message to the first component.
[0042] Thirdly, this application also provides a chip that includes the data stream transmission device described in the second aspect above.
[0043] Fourthly, this application also provides a computer device, including a processor and the chip described in the third aspect above, wherein the chip is used to schedule messages to the processor or to process them on its own, and the processor is used to process messages scheduled by the chip.
[0044] Fifthly, this application also provides a network interface card, including the chip and interface as described in the third aspect above, wherein the chip communicates externally through the interface.
[0045] Sixthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the data stream transmission method of the first aspect described above.
[0046] In a seventh aspect, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the data stream transmission method of the first aspect described above.
[0047] The aforementioned data stream transmission method, apparatus, chip, device, network interface card, storage medium, and program product receive and parse the data stream from the first component, obtaining transmission identification information, matching address information, and data packets from the data stream; obtain the corresponding decoding information entry from the buffer unit based on the transmission identification information; determine the destination identification information of the data stream based on the decoding information entry and matching address information; form a new data stream based on the data packets, transmission identification information, and destination identification information, and send the new data stream to the second component. Because the corresponding decoding information entry is obtained from the corresponding buffer unit through the transmission identification information, and the destination identification information of the data stream is determined based on the decoding information entry and matching address information, each data stream transmission has a dedicated decoding method. This allows the same transmission address information to be sent through different output ports, improving the interface utilization of the interconnected network and reducing bandwidth and power consumption waste. Attached Figure Description
[0048] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0049] Figure 1 An application environment diagram of a data stream transmission method provided in an embodiment of this application;
[0050] Figure 2 A flowchart illustrating a data stream transmission method provided in an embodiment of this application;
[0051] Figure 3 A schematic diagram of the data format of a decoding information entry provided in an embodiment of this application;
[0052] Figure 4A flowchart illustrating another data stream transmission method provided in an embodiment of this application;
[0053] Figure 5 This is a schematic diagram of the structure of a communication component provided in an embodiment of this application;
[0054] Figure 6 This is a schematic diagram of the structure of a routing module provided in an embodiment of this application;
[0055] Figure 7 A structural block diagram of a data stream transmission device provided in an embodiment of this application;
[0056] Figure 8 This is an internal structural diagram of a computer device provided in an embodiment of this application. Detailed Implementation
[0057] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0058] To address the aforementioned problems, embodiments of this application provide a data stream transmission method, apparatus, and chip. The destination port of the data stream is determined by decoding information entries and matching address information, thereby completing address decoding. Since the decoding information entries are cached in a cache unit and can be updated via decoding update requests, address decoding is not static but can be updated in real time. By updating the decoding information entries, the output port corresponding to any input data stream can be adjusted in real time, breaking the static correspondence between data streams and output ports, allowing output ports to be reused, and reducing bandwidth and power consumption waste.
[0059] Furthermore, by writing the decoding entries into the buffer unit and obtaining the corresponding decoding entries through the transmission of identification information, and obtaining the output port through the decoding entries, each data stream has its own dedicated decoding method, and the same address can be sent out through different output interfaces, thereby improving the interface utilization of the Internet.
[0060] The application scenarios of the data stream transmission method provided in the embodiments of this application will be described below.
[0061] The data stream transmission method provided in this application embodiment can be applied to, for example, Figure 1 The application environment shown. A communication component 103 is provided between the first component 101 and the second component 102.
[0062] The communication component 103 first receives and parses the data stream from the first component 101, obtaining the transmission identification information, matching address information, and data packets from the data stream. Secondly, the communication component 103 obtains the corresponding decoding information entry from the buffer unit based on the transmission identification information. Thirdly, the communication component 103 determines the destination identification information of the data stream based on the decoding information entry and the matching address information. Finally, the communication component 103 forms a new data stream based on the data packets, transmission identification information, and destination identification information, and sends the new data stream to the second component 102.
[0063] The first component 101 can be the component that initially sends the data stream, and the second component 102 is the final destination component for the data stream transmission. For example, in a System-on-a-Chip (SoC), the first component 101 may include a Central Processing Unit (CPU), a Data Processing Unit (DPU), a Direct Memory Access (DMA) controller, etc. In the SoC, the second component 102 may include memory, a peripheral controller, a graphics processing subunit, a wireless module, etc.
[0064] In one exemplary embodiment, such as Figure 2 As shown, a data stream transmission method is provided, which is applied to... Figure 1 The following explanation uses the communication component between the first and second components as an example, including S201-S204:
[0065] S201. Receive and parse the data stream from the first component to obtain the transmission identification information, matching address information and data packets in the data stream.
[0066] In this step, when the first component sends a data stream to the second component through the communication component, the communication component can first receive and parse the data stream to be transmitted sent by the first component.
[0067] The aforementioned data stream may include business data streams, control command streams, etc., and this application embodiment does not impose any restrictions on this.
[0068] In some embodiments, the communication component may include an input module with multiple input ports, each connected to a first component to receive data streams sent by the first components that need to be transmitted to the Internet. Accordingly, after receiving the data streams to be transmitted, the input ports in the input module can parse the data streams to obtain transmission identification information, matching address information, and data packets.
[0069] The aforementioned matching address information is used to indicate the address of the second component to be transmitted in the data stream, and the transaction ID information is used to indicate each data stream. In some embodiments, after parsing the data stream, not only the transaction ID information and matching address information in the data stream can be obtained, but also the data packets in the data stream can be obtained. The data packets may include all information in the data stream except for the transaction ID information and matching address information.
[0070] In some embodiments, after receiving and parsing the data stream from the first component, the communication component can also generate source identification information for the data stream based on the input interface of the data stream. For example, the input module in the communication component can mark each data stream with source identification information (Source ID, SrID) specific to that data stream. This source identification information indicates the input port that received the data stream, so that when the communication component receives a response message from the data stream, it can determine the transmission direction of the response message through the source identification information.
[0071] In some embodiments, after receiving and parsing the data stream to be transmitted, the input module in the communication component may also send the source identification information, data packet, transmission identification information and matching address information together to a routing unit in the routing module of the communication component, such as a first routing unit. The first routing unit may be preset or randomly assigned, and this application embodiment does not limit this.
[0072] For example, the routing unit may further include a Transaction Identifier Buffer (TID Buffer) subunit and a Data Buffer subunit. After receiving source identification information, data packets, transmission identification information, and matching address information related to the data stream, the first routing unit can cache the transmission identification information in the TID Buffer subunit. Simultaneously, the first routing unit can cache the source identification information, data packets, transmission identification information, and matching address information in the Data Buffer subunit.
[0073] S202. Obtain the corresponding decoding information entry from the buffer unit based on the transmission identification information.
[0074] In this step, after the communication component receives and parses the data stream from the first component, it can obtain the corresponding decoding information entry from the cache unit of the target routing unit corresponding to the transmission identification information.
[0075] In some embodiments, the transmission identification information includes routing identifier information and cache address information. The communication component can determine the cache unit of the target routing unit storing the decoded information entry based on the routing identifier information. If there is no decoded update request corresponding to the transmission identification information, the corresponding decoded information entry is obtained from the cache unit based on the routing unit corresponding to the routing identifier of the transmission identification information. If there is a decoded update request corresponding to the transmission identification information, the corresponding decoded information entry is obtained from the decoded update request.
[0076] The decoding update request is used to update the decoding information in the cache unit corresponding to the routing unit. In some embodiments, the communication component further includes an address update module, which can communicate with the central processing unit to receive decoding update requests for decoding information entries issued by the central processing unit and write the updated decoding information entries to the corresponding address in the cache unit.
[0077] For example, after receiving a decoding update request, the address update module can determine the cache unit where the decoded information entry to be updated in the decoding update request is stored or updated, based on the transaction ID information in the decoding update request. Each cache unit corresponds to a routing unit. Furthermore, while updating the decoded information entry in the cache unit corresponding to the transaction ID information, the address update module can also update the transaction ID information or the routing identifier information within the transaction ID information (e.g., the highest bit of the transaction ID information), so that the routing unit corresponding to the decoded information entry of different data streams can be quickly determined based on the routing identifier information.
[0078] In particular, the cache address information corresponding to the decoded information entry updated in the decoded update request corresponding to the transmission identification information is the same as the matching address information in the transmission identification information.
[0079] For example, the aforementioned decoding update request can be monitored by the processing (WR Arbiter) subunit in the routing unit. For example, the WR Arbiter subunit monitors the TID Buffer subunit and Data Buffer subunit in the routing unit. If the WR Arbiter subunit determines that the TID Buffer subunit and Data Buffer subunit are not empty, it can determine that there is a data stream to be transmitted. At this time, the WR Arbiter subunit can detect whether the address update module has received the decoding update request and choose to read the TID Buffer subunit and Data Buffer subunit simultaneously and sequentially.
[0080] It should be understood that since the decoding update request is sent to the communication component in real time, the decoding update request and the data stream transmission may occur simultaneously. Therefore, when the communication component obtains the decoding information entry corresponding to the transmission address information, it can determine whether there is a decoding update request corresponding to the transmission identifier information, that is, whether there is a situation where the same cache address is being read and written.
[0081] For example, if there is no decoding update request corresponding to the transmission identification information, the decoding information entry can be obtained normally from the cache unit corresponding to the target routing unit. That is, when there is no read / write operation on the same cache address, the decoding information entries can be read and written from the read / write ports of the cache unit respectively, without affecting each other.
[0082] For example, if a decoding update request corresponding to the transmission identification information exists, the communication component can directly obtain the corresponding decoding information entry from the decoding update request. That is, when reading and writing to the same cache address, the communication component can directly provide feedback on the updated decoding information entry from the decoding update request corresponding to the transmission identification information, and simultaneously write the updated decoding information entry into the corresponding cache.
[0083] The transmission identification information contains different identifier bits, which are used to represent routing identifier information and cached address information, respectively. For example, the high-order bits of the transmission identification information represent the routing unit number, and the low-order bits represent the cached address information. If the routing module includes two routing units, the high-order bits of the transmission identification information can be used to indicate the identifier information using only 1 bit.
[0084] For example, if the bit width of the transaction ID is B, then the maximum number of decoding information types supported by the transaction ID is [number]. There are [number] cache units, and the depth of each cache unit is [depth]. If the routing module includes two routing units with decoding address caching functions, the highest bit of the transmission identification information can be used as the routing identification bit information. When the highest bit is 0, it indicates that the transmission identification information corresponds to the first routing unit (Router0-1) of the two routing units. When the highest bit is 1, it indicates that the transmission identification information corresponds to the second routing unit (Router0-2) of the two routing units.
[0085] In this application, because the decoding information entries are cached in the cache unit and can be updated through decoding update requests, the address decoding is non-static and can be updated in real time. By updating the decoding information entries, the output port corresponding to any input data stream can be adjusted in real time, breaking the static correspondence between data streams and output ports, allowing output ports to be reused, and reducing bandwidth and power consumption waste.
[0086] Furthermore, by writing the decoding entries into the buffer unit and obtaining the corresponding decoding entries through the transmission of identification information, and obtaining the output port through the decoding entries, each data stream has its own dedicated decoding method, and the same address can be sent out through different output interfaces, thereby improving the interface utilization of the Internet.
[0087] In some embodiments, if the target routing unit corresponding to the decoded information entry is not the current routing unit of the cached data stream, a first transmission link that is idle can be determined from multiple transmission links. Subsequently, the data stream is sent from the current routing unit to the target routing unit using the first transmission link.
[0088] For example, if the current routing unit is the first routing unit (Router0-1), the WRArbiter subunit in the first routing unit can sequentially read the information cached in the TID Buffer subunit and the Data Buffer subunit. The WRArbiter subunit can latch the relevant information in the Data Buffer onto the bus, and determine whether the decoded information entry is stored in the buffer unit of the first routing unit based on the routing identifier bit information at the highest bit of the transaction ID read from the TID Buffer subunit. If the highest bit is 0, it can be determined that the decoded information is stored in the buffer unit of the first routing unit. Then, the WR Arbiter subunit of the first routing unit can directly read the decoded information entry corresponding to the transaction ID and send it to the address decoder subunit in the first routing unit for address decoding.
[0089] For example, if the highest bit is 1, it can be determined that the decoded information is not stored in the buffer unit of the first routing unit. In this case, the WR Arbiter subunit can send the transmission identification information (or the routing identification bit information in the transmission identification information) to the address update module. The address update module determines the target routing unit as the second routing unit (Router0-2) based on the routing identification bit information in the transmission identification information, and sends the identification information of the second routing unit (Router0-2) to the WR Arbiter subunit of the first routing unit. Subsequently, the WR Arbiter subunit of the first routing unit determines the first transmission link that is idle from multiple transmission links. And using the first transmission link, it sends the data stream from the current routing unit to the corresponding target routing unit.
[0090] In some embodiments, the routing unit may include a link detection (QoS Arbiter) subunit, which monitors the status of the transmission link and determines which transmission link is in an idle state.
[0091] In some embodiments, the communication component further includes a bit width conversion module, which can be used to convert different data bit widths for data transmission between different routing units and between input and output modules.
[0092] For example, after receiving the target routing unit's identification information (e.g., Router0-2) from the address update module, the WR Arbiter subunit of the first routing unit can send the target routing unit's identification information to the QoS Arbiter subunit. Subsequently, the QoS Arbiter subunit monitors multiple transmission links and selects the first transmission link that is idle, such as transmission link 2 and transmission link 3. Then, the QoS Arbiter subunit sends all data related to the data stream to transmission link 2, performs bit-width conversion via the bit-width conversion module, and then sends it to Router0-2 via transmission link 3.
[0093] For example, after all data related to the data flow is sent to Router0-2, the processing submodule in Router0-2 can repeatedly perform the confirmation of the target routing unit mentioned above to determine whether the decoding information corresponding to the transmission address information is stored in the cache unit of Router0-2. Subsequently, the processing submodule in Router0-2 can retrieve the decoding information entry from the corresponding cache unit and send the decoding information entry to the address decoding subunit for decoding.
[0094] In this embodiment, by storing the decoding information entries in the cache units of each routing unit, the chip design area and power consumption can be reduced. Simultaneously, the link detection subunit in the routing unit monitors the occupancy of each transmission link in real time, selecting the newest and idle transmission link to transmit the data stream, thus achieving time-division multiplexing on the transmission links and improving the utilization rate of the transmission links.
[0095] S203. Determine the destination identifier information of the data stream based on the decoded information entries and the matching address information.
[0096] In this step, once the communication component obtains the corresponding decoding information entry, it can determine the destination identifier information of the data stream based on the decoding information entry and the matching address information.
[0097] It should be understood that the embodiments of this application do not limit how the destination identifier information of the data stream is determined based on the decoded information entries and the matching address information. In some embodiments, the communication component can perform address decoding based on the decoded information entries to obtain the decoded address range and the corresponding output port address. If the matching address information is within the decoded address range, then the output port address corresponding to the decoded address range is determined as the destination identifier information of the data stream.
[0098] The Target ID information is used to indicate the output port in the output module corresponding to the data stream. The decoding address range is used to indicate the range of address segments controlled by the Decode Page Table (DPT).
[0099] For example, Figure 3 This is a schematic diagram of the data format of a decoding information entry provided in an embodiment of this application. If the bit width of Target ID and Source ID is 16 bits, the maximum supported input and output ports are... If the cache address width is 96 bits, then the data format of the decoded information entry can be as follows: Figure 3 As shown. During decoding, the range of the address segment controlled by DPT is first determined based on the decoder range in the decoding information entry. If the value in the decoder range is 14, it means that the lower 14 bits of the transmission address are not considered. That is, the decoding address range controlled by this decoding information entry is the 4KB address range of the address in the decoding information excluding the lower 14 bits. If the matching address information is within this range, the address resolution is correct, and the address decoding subunit can determine the output port address corresponding to the decoded address range as the destination identifier information of the data stream. If the matching address information is not within this range, the address resolution is incorrect, and the address decoding subunit can report an interrupt.
[0100] For example, after the address decoding subunit obtains the decoding information from the cache, if the DecoderRange in the decoding information is 16, the destination identifier information is 1, the address is 0x4000_0000_0000_0000, and the matching address information of the data stream is 0x4000_0000_0000_0001, then the matching address information is within the corresponding decoding address range. The address decoding subunit can determine that the address decoding is successful, determine that the destination identifier information of the data stream is TrID=1, and transmit the destination identifier information to the link detection subunit so as to select the transmission link to transmit to the output port corresponding to the destination identifier information.
[0101] In this embodiment, the address decoding function is implemented through the address decoding subunit of each routing unit in the routing module, thereby enabling the decoded information entries to be shared by all input ports, saving chip area and power consumption.
[0102] S204. A new data stream is formed based on the data packet, transmission identification information and destination identification information, and the new data stream is sent to the second component.
[0103] In this step, after the communication component determines the destination identifier information of the data stream, it can form a new data stream based on the data packet, transmission identifier information and destination identifier information, and send the new data stream to the second component.
[0104] In some embodiments, the link detection subunit can identify a second transmission link that is idle from among multiple transmission links. The bit-width conversion module then performs bit-width conversion on the data stream and forwards the new bit-width converted data stream to the intermediate routing unit via the second transmission link. Finally, the intermediate routing unit sends the new bit-width converted data stream to the output port corresponding to the destination identification information, thereby the output port sends the new data stream to the second component.
[0105] For example, after determining the destination identification information, the processing subunit in the target routing unit can form a new data stream based on the data packet, transmission identification information, and destination identification information. Subsequently, the processing subunit in the target routing unit can transmit the destination identification information to the link detection subunit. The link detection subunit monitors the status of each transmission link. If the link detection subunit finds that transmission link 4 is idle, it can designate transmission link 4 as the second transmission link and send the new data stream to transmission link 4. After bit-width conversion by the bit-width conversion module, the new data stream is routed to the intermediate routing unit, which then sends the new data stream to the output port M1 corresponding to the destination identification information. M1 then sends the new data stream to the target device SubM0.
[0106] In this embodiment of the application, the bit width conversion module can enable efficient transmission of data streams with different bit widths on the same Internet network.
[0107] In some embodiments, the communication component can generate source identification information for the data stream based on the input interface of the data stream. Subsequently, the communication component concatenates the source identification information and the transmission identification information to generate response identification information for the data stream, and sends the response identification information for the data stream to the second component.
[0108] The concatenation of the source identification information and transmission identification information can be achieved by the corresponding output port in the output module. While sending a new data stream to the second component, the output port can also send response identification information for the data stream formed by concatenating the source identification information and transmission identification information.
[0109] In some embodiments, after the communication component transmits a new data stream to the second component, it can receive a response message corresponding to the data stream sent by the second component. This response message contains response identification information. Subsequently, the communication component extracts the source identification information of the data stream from the response identification information and sends the response message corresponding to the data stream to the input interface corresponding to the source identification information.
[0110] For example, after receiving a new data stream, the second component can send a response message to the corresponding output port M in the communication component. Output port M can separate the response identification information contained in the response message to obtain the source identification information. Subsequently, output port M sends the source identification information and the response message to the routing module. The routing module determines the output port S corresponding to the first component that needs to reply to the response message based on the source identification information. Through an idle transmission link, the routing module can send the response message to the corresponding output port S, thereby transmitting it to the first component to complete the transmission and response of the data stream.
[0111] The data stream transmission method provided in this application receives and parses a data stream from a first component to obtain transmission identification information, matching address information, and data packets in the data stream; obtains the corresponding decoding information entry from a cache unit based on the transmission identification information; determines the destination identification information of the data stream based on the decoding information entry and the matching address information; forms a new data stream based on the data packets, transmission identification information, and destination identification information, and sends the new data stream to a second component. Since the decoding information entry is cached in the cache unit and can be updated through a decoding update request, the address decoding is not static but can be updated in real time. By updating the decoding information entry, the output port corresponding to any input data stream can be adjusted in real time, breaking the static correspondence between data streams and output ports, allowing output ports to be reused, and reducing bandwidth and power consumption waste.
[0112] Furthermore, by writing the decoding entries into the buffer unit and obtaining the corresponding decoding entries through the transmission of identification information, and obtaining the output port through the decoding entries, each data stream has its own dedicated decoding method, and the same address can be sent out through different output interfaces, thereby improving the interface utilization of the Internet.
[0113] The following explains how to transmit the data stream after the decoding update. Figure 4A flowchart illustrating another data stream transmission method provided in this application embodiment is shown below. Figure 4 As shown, the data stream transmission method includes S301-S308:
[0114] S301: Receive the decoding update request for the decoding information entry issued by the central processing unit, and write the updated decoding information entry into the corresponding address of the cache unit.
[0115] In some embodiments, when it is necessary to modify the decoding information, the CPU can send a decoding update request to the address update module in the communication component. The decoding update request includes the corresponding Transaction ID and the updated decoding information entry.
[0116] The aforementioned decoding update request can request an update to the decoding information entries in the cache unit, including the destination identifier information in the decoding information entries. For example, the decoding update request can update the destination identifier information from TrID=1 to TrID=0.
[0117] S302. Receive and parse the data stream from the first component to obtain the transmission identification information, matching address information and data packets in the data stream.
[0118] S303. Based on the routing identifier information, determine the target routing unit corresponding to the cache unit storing the decoding information entry.
[0119] S304. Determine whether there is a decoding update request corresponding to the transmission identification information.
[0120] In particular, the cache address information corresponding to the decoded information updated in the decoded update request corresponding to the transmission identification information is the same as the matching address information in the transmission identification information.
[0121] If yes, then execute S306; otherwise, execute S305.
[0122] S305. Obtain the corresponding decoding information entry from the buffer unit according to the routing unit corresponding to the routing identifier bit of the transmission identifier information.
[0123] S306. Obtain the corresponding decoding information entry from the decoding update request.
[0124] S307. Decode the transmission address information according to the decoding information to obtain the destination identifier information of the data stream.
[0125] For example, if the Decoder Range in the decoding information entry is 16, the Target ID is 0, the Address in the decoding information entry is 0x4000_0000_0000_0000, and the matching address information of the Transaction B corresponding to the data stream is 0x4000_0000_0000_0001, then it falls exactly within the range of the decoding address interval, so the address decoding is successful, and the destination identifier information TrID=0 of the data stream is determined.
[0126] S308. A new data stream is formed based on the data packet, transmission identification information and destination identification information, and the new data stream is sent to the second component.
[0127] For example, the link detection subunit in the routing unit monitors the status of each transmission link. If it finds that transmission link 13 is idle and the closest, it can send the new data stream to transmission link 13. Transmission link 13 sends the new data stream to the intermediate route after bit width conversion. The intermediate route sends the new data stream to the output port M0 in the output module according to the destination identification information. The output port M0 concatenates Transaction B and SrID to obtain the response identification information and transmits the response identification information and the data stream to the second component SubM0.
[0128] For example, after receiving the new data stream and response identification information, the second component SubM0 can reply with a response message to the corresponding output port M0. The output port M0 separates Transaction B and SrID in the response message and then sends it to the routing module. The routing module determines the output port (S) corresponding to the first component that replied with the response message based on SrID, and then transmits it to the first component (Device1) to complete the transmission and response of the data stream.
[0129] In this embodiment, the address update module in the communication component, in conjunction with the processing submodules in each routing unit, enables real-time updating of the decoding information entries, thereby allowing decoding information programming without interrupting the flow, truly realizing dynamic address decoding.
[0130] In this application, data streams with the same transmission address are decoded to different output ports via decoding update requests. This allows data streams with the same transmission address to be transmitted through different output ports, significantly increasing the multiplexing rate and fault tolerance of the output ports. Furthermore, decoding information entries are stored in the cache units of each routing unit, allowing all transmissions to share decoding information, greatly increasing the reusability of decoding information and saving chip area and power consumption. In addition, the CPU can update decoding information in real time without requiring the system to be in a stopped state, greatly increasing the availability of variable decoding. Moreover, each module or unit in the communication component can be instantiated multiple times, greatly increasing the design's scalability.
[0131] The data stream transmission method provided in this application receives and parses a data stream from a first component to obtain transmission identification information, matching address information, and data packets in the data stream; obtains the corresponding decoding information entry from a cache unit based on the transmission identification information; determines the destination identification information of the data stream based on the decoding information entry and the matching address information; forms a new data stream based on the data packets, transmission identification information, and destination identification information, and sends the new data stream to a second component. Since the decoding information entry is cached in the cache unit and can be updated through a decoding update request, the address decoding is not static but can be updated in real time. By updating the decoding information entry, the output port corresponding to any input data stream can be adjusted in real time, breaking the static correspondence between data streams and output ports, allowing output ports to be reused, and reducing bandwidth and power consumption waste.
[0132] Furthermore, by writing the decoding entries into the buffer unit and obtaining the corresponding decoding entries through the transmission of identification information, and obtaining the output port through the decoding entries, each data stream has its own dedicated decoding method, and the same address can be sent out through different output interfaces, thereby improving the interface utilization of the Internet.
[0133] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0134] The structure of the above communication components will be described below. Figure 5 This is a schematic diagram of the structure of a communication component provided in an embodiment of this application, such as... Figure 5 As shown, the communication component includes an output module, an input module, a routing module, a bit-width conversion module, and an address update module.
[0135] In some embodiments, the input module can receive data streams from the first component that need to be sent to the Internet through various input ports (S), and decompose the data streams into transmission identification information, matching address information, and data packets. The input module can also mark each data stream with a corresponding source identifier to indicate the input port of the data stream, and send the source identifier, transmission identification information, matching address information, and data packets together to the preset routing unit in the routing module.
[0136] The data packet can include all information in the data stream except for transmission identification information and transmission address information.
[0137] In some embodiments, the bit width conversion module can implement the bit width conversion function between routing units with different data bit widths, input modules, and output modules.
[0138] In some embodiments, the output module can receive new data streams from the routing module and send the new data streams to the second component. At the same time, in order to distinguish data streams from different input ports, the output module will also concatenate the source identification information to the low-order bits of the transmission identification information to generate the response identification information of the data stream, and then send the response identification information to the first component.
[0139] In some embodiments, the address update module can communicate with the CPU to update the decoding information entries in the cache units of each routing unit, and save the decoding information entries corresponding to each transmission identification information to the corresponding routing unit. Simultaneously, based on the received transmission identification information, it feeds back the identification information of the corresponding target routing unit.
[0140] In some embodiments, the routing module can obtain the corresponding decoding information entry from the cache unit based on the transmission identification information; and determine the destination identification information of the data stream based on the decoding information entry and the matching address information. For example, Figure 6 This is a schematic diagram of the structure of a routing module provided in an embodiment of this application, such as... Figure 6 As shown, it can include a TID Buffer subunit, a Data Buffer subunit, a processing subunit, an address resolution subunit, a link detection subunit, and a response subunit.
[0141] For example, the TID Buffer subunit can cache transmission identification information. The Data Buffer subunit can cache source identification information, data packets, transmission identification information, and matching address information, etc.
[0142] For example, the processing subunit can read the transmission identification information from the TID Buffer subunit and latch the data stream-related information from the DataBuffer subunit onto the bus, sending it after address decoding is complete. For example, the processing subunit can also determine, based on the routing flag information in the transmission identification information, whether the decoded information is stored in the cache unit of the routing unit where the processing subunit is located, or in the cache of another routing unit. If the decoded information is stored in the cache unit of the routing unit where the processing subunit is located, the processing subunit can read the decoded information entry from the cache and send it to the address resolution subunit. If the decoded information is stored in the cache of another routing unit, the processing subunit can send the transmission identification information or the routing flag information to the address update module, so that the address update module can determine the corresponding target routing unit. For example, the processing subunit can also determine whether there is a decoding update request corresponding to the transmission identification information, i.e., whether there is a scenario of reading and writing the same address.
[0143] For example, the address resolution subunit can decode based on the decoding information entry and the matching address information to obtain the destination identification information of the transmission.
[0144] For example, the link detection subunit can monitor the transmission link in real time, select the nearest transmission link that is not busy based on the destination identification information, and send the new data stream to the selected transmission link to achieve time-division multiplexing of the transmission link.
[0145] For example, the response subunit can parse the response identification information in the response message sent by the target device to obtain the source identification information and the transmission identification information, and then send the response message to the corresponding input port based on the source identification information.
[0146] It should be noted that a routing module can contain multiple routing units. Based on whether they have address decoding caching functionality, routing units can be divided into two categories. The first type of routing unit has address decoding caching functionality, and correspondingly, it also includes... Figure 6 All sub-units shown. The second type of routing unit does not have a decoded address caching function; correspondingly, it only contains... Figure 6 The link detection subunit, response subunit, and data buffer subunit are shown.
[0147] In this embodiment, the combination of network routing and Crossbar technology enables the communication component to achieve low bandwidth and latency while maintaining scalability in network design. Furthermore, based on the topological location of the routing unit, two types of routing units are categorized, simplifying circuit design while saving area and power consumption.
[0148] Based on the same inventive concept, this application also provides a data stream transmission apparatus for implementing the data stream transmission method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more data stream transmission apparatus embodiments provided below can be found in the limitations of the data stream transmission method described above, and will not be repeated here.
[0149] In one exemplary embodiment, such as Figure 7 As shown, a data stream transmission device 400 is provided, applied to a communication component between a first component and a second component, including: an input module 401, a routing module 402, and an output module 403. The routing module 402 includes multiple routing units, wherein:
[0150] The input module 401 is used to receive and parse the data stream from the first component to obtain the transmission identification information, matching address information and data packets in the data stream.
[0151] The routing module 402 is used to obtain the corresponding decoding information entry from the cache unit according to the transmission identification information; determine the destination identification information of the data stream according to the decoding information entry and the matching address information; and form a new data stream according to the data packet, transmission identification information and destination identification information.
[0152] Output module 403 is used to send a new data stream to the second component.
[0153] In some embodiments, the data stream transmission device 400 further includes:
[0154] The address update module is used to receive decoding update requests for decoding information entries issued by the central processing unit and write the updated decoding information entries to the corresponding address in the cache unit.
[0155] In some embodiments, the routing module 402 is further configured to perform address decoding based on the decoding information entries to obtain the decoded address range and the output port address corresponding to the decoded address range; if the matching address information is within the decoded address range, the output port address corresponding to the decoded address range is determined as the destination identifier information of the data stream.
[0156] In some embodiments, the transmission identification information includes routing identification bit information; the routing module 402 is further configured to, if there is no decoding update request for the decoding information entry corresponding to the transmission identification information, obtain the corresponding decoding information entry from the cache unit according to the routing unit corresponding to the routing identification bit of the transmission identification information; if there is a decoding update request for the decoding information entry corresponding to the transmission identification information, obtain the corresponding decoding information entry from the decoding update request.
[0157] In some embodiments, the routing module 402 is further configured to determine a first transmission link that is idle from multiple transmission links; perform bit-width conversion on the new data stream and forward the bit-width converted data stream to the intermediate routing unit through the first transmission link; and send the bit-width converted data stream to the output port corresponding to the destination identification information through the intermediate routing unit so as to send it to the second component through the output port.
[0158] In some embodiments, the output module 403 is further configured to generate source identification information of the data stream based on the input interface of the data stream; concatenate the source identification information and the transmission identification information to generate response identification information of the data stream; and send the response identification information of the data stream to the second component.
[0159] In some embodiments, the output module 403 is further configured to receive a response message corresponding to a data stream sent by the second component, the response message containing response identification information; separate source identification information from the response identification information; and send the response message corresponding to the data stream to the input interface corresponding to the source identification information, so as to send the response message to the first component.
[0160] Each module in the aforementioned data stream transmission device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0161] In one exemplary embodiment, a computer device is provided, which may be a communication component located between a first component and a second component, and its internal structure diagram may be as follows. Figure 8As shown, the computer device includes a processor, memory, input / output ports, a communication interface, a display unit, and an input device. The processor, memory, and input / output ports are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via input / output ports. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output ports are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a data stream transmission method.
[0162] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0163] In one exemplary embodiment, a chip is provided that includes the data stream transmission device described above.
[0164] In one exemplary embodiment, a computer device is provided, including a processor and the aforementioned chip, wherein the chip is used to schedule messages to the processor or to process them itself, and the processor is used to process the messages scheduled by the chip.
[0165] In one exemplary embodiment, a network interface card is provided, including the chip and interface as described above, wherein the chip communicates externally through the interface.
[0166] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the above-described data stream transmission method.
[0167] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the data stream transmission method described above.
[0168] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0169] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0170] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A data stream transmission method, characterized in that, The method, applied to a communication component between a first component and a second component, includes: It receives decoding update requests for decoding information entries from the central processing unit and writes the updated decoding information entries to the corresponding address in the cache unit. Receive and parse the data stream from the first component to obtain the transmission identification information, matching address information, and data packets in the data stream; The corresponding decoding information entry is obtained from the cache unit based on the transmission identification information; The destination identifier information of the data stream is determined based on the decoded information entries and the matching address information; A new data stream is formed based on the data packet, the transmission identification information, and the destination identification information, and the new data stream is sent to the second component; Sending the new data stream to the second component includes: Identify the first transmission link that is idle from among multiple transmission links; The new data stream is forwarded to the intermediate routing unit via the first transmission link; The intermediate routing unit sends the new data stream to the output port corresponding to the destination identifier information, so that it can be sent to the second component through the output port.
2. The method according to claim 1, characterized in that, Determining the destination identifier information of the data stream based on the decoded information entry and the matching address information includes: Based on the decoding information entries, address decoding is performed to obtain the decoded address range and the corresponding output port address of the decoded address range; If the matching address information is within the decoding address range, then the output port address corresponding to the decoding address range is determined as the destination identifier information of the data stream.
3. The method according to claim 1, characterized in that, The transmission identification information includes routing identifier information; obtaining the corresponding decoding information entry from the cache unit based on the transmission identification information includes: If there is no decoding update request for the decoding information entry corresponding to the transmission identification information, then the corresponding decoding information entry is obtained from the cache unit according to the routing unit corresponding to the routing identifier bit of the transmission identification information. If there is a decoding update request for the decoding information entry corresponding to the transmission identifier information, then the corresponding decoding information entry is obtained from the decoding update request.
4. The method according to claim 1, characterized in that, The step of forwarding the new data stream to the intermediate routing unit via the first transmission link includes: The new data stream is bit-width converted, and the bit-width converted data stream is forwarded to the intermediate routing unit through the first transmission link; The step of sending the new data stream to the output port corresponding to the destination identifier information through the intermediate routing unit includes: The intermediate routing unit sends the bit-width converted data stream to the output port corresponding to the destination identifier information.
5. The method according to claim 1, characterized in that, The method further includes: Based on the input interface of the data stream, generate the source identification information of the data stream; The source identifier information and the transmission identifier information are concatenated to generate the response identifier information of the data stream; The response identification information of the data stream is sent to the second component.
6. The method according to claim 1, characterized in that, The method further includes: Receive a response message corresponding to the data stream sent by the second component, wherein the response message contains response identification information; Extract the source identification information from the response identification information; The response message corresponding to the data stream is sent to the input interface corresponding to the source identifier information, so as to send the response message to the first component.
7. A data stream transmission device, characterized in that, A communication component applied between a first component and a second component, the device comprising: an input module, a routing module, and an output module; the routing module comprising multiple routing units; The address update module is used to receive the decoding update request for the decoding information entry issued by the central processing unit, and write the updated decoding information entry into the corresponding address of the cache unit; The input module is used to receive and parse the data stream from the first component to obtain the transmission identification information, matching address information and data packets in the data stream. The routing module is configured to obtain the corresponding decoding information entry from the cache unit according to the transmission identification information; determine the destination identification information of the data stream according to the decoding information entry and the matching address information; and form a new data stream according to the data packet, the transmission identification information and the destination identification information. The output module is used to send the new data stream to the second component; The routing module is further configured to determine a first transmission link that is idle from multiple transmission links; forward a new data stream to an intermediate routing unit through the first transmission link; and send the new data stream to the output port corresponding to the destination identifier information through the intermediate routing unit, so as to send it to the second component through the output port.
8. The apparatus according to claim 7, characterized in that, The device further includes: The address update module is used to receive a decoding update request for a decoding information entry issued by the central processing unit, and write the updated decoding information entry into the corresponding address of the cache unit.
9. The apparatus according to claim 7, characterized in that, The routing module is further configured to perform address decoding based on the decoded information entries to obtain a decoded address range and the output port address corresponding to the decoded address range; if the matching address information is within the decoded address range, then the output port address corresponding to the decoded address range is determined as the destination identifier information of the data stream.
10. The apparatus according to claim 7, characterized in that, The transmission identification information includes routing identifier information; the routing module is further configured to, if there is no decoding update request for the decoding information entry corresponding to the transmission identification information, obtain the corresponding decoding information entry from the cache unit according to the routing unit corresponding to the routing identifier of the transmission identification information; if there is a decoding update request for the decoding information entry corresponding to the transmission identification information, obtain the corresponding decoding information entry from the decoding update request.
11. The apparatus according to claim 7, characterized in that, The routing module is further configured to perform bit-width conversion on the new data stream and forward the bit-width converted data stream to the intermediate routing unit through the first transmission link; and send the bit-width converted data stream to the output port corresponding to the destination identification information through the intermediate routing unit.
12. The apparatus according to claim 7, characterized in that, The output module is further configured to generate source identification information of the data stream based on the input interface of the data stream; concatenate the source identification information and the transmission identification information to generate response identification information of the data stream; and send the response identification information of the data stream to the second component.
13. The apparatus according to claim 7, characterized in that, The output module is further configured to receive a response message corresponding to the data stream sent by the second component, the response message containing response identification information; and to extract source identification information from the response identification information. The response message corresponding to the data stream is sent to the input interface corresponding to the source identifier information, so as to send the response message to the first component.
14. A chip, characterized in that, The data stream transmission device includes any one of claims 7 to 13.
15. A computer device, characterized in that, The device includes a processor and the chip of claim 14, wherein the chip is configured to schedule messages to the processor or to process them on its own, and the processor is configured to process messages scheduled by the chip.
16. A network interface card, characterized in that, It includes the chip and interface as described in claim 14, wherein the chip communicates externally through the interface.
17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
18. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.