Communication method, communication device, electronic equipment and storage medium
By encapsulating the request information of multiple access requests into one communication packet, the problem of difficult-to-medium communication bandwidth requirements is solved, and efficient multi-chip and multi-grain communication is achieved, reducing costs and hardware overhead.
Patent Information
- Application Number
- CN202411923926.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-04-01
AI Technical Summary
The communication bandwidth requirements between multi-grain are difficult to meet, resulting in increasing costs while improving performance. Alternating bandwidth upgrades between parallel bus communication and serial bus communication are still a bottleneck.
By encapsulating the request information of multiple access requests into a communication packet, the packet header includes the operation type and the number of operation addresses, and the packet body includes the operation addresses, so that multiple access requests can be met in one communication packet transmission and improve communication efficiency.
In a single communication process, the data transmission volume between the sender and the receiver is greatly improved, the performance of multi-chip and multi-grain communication is improved, and hardware overhead is reduced.
Smart Images

Figure CN119743535A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to a communication method, a communication device, an electronic device, and a storage medium. Background Art
[0002] As the demand continues to increase, the performance of a single die (a chip that has not been packaged) can no longer meet the demand, and multi-die design has emerged. However, the communication bandwidth requirement between multiple dies has always been a difficult point. The cost will continue to increase as the performance continues to increase while the hardware overhead continues to increase. With the alternating upgrades of parallel bus communication and serial bus communication, bandwidth is still the bottleneck for communication between multiple dies. Summary of the invention
[0003] At least one embodiment of the present disclosure provides a communication method, which is applied to a first device, and the communication method comprises: in response to multiple access requests from a sender to multiple addresses in a receiver, obtaining a communication packet encapsulated by request information of the multiple access requests, wherein the request information of each of the multiple access requests comprises an operation type and an operation address; and transmitting the communication packet to the receiver so that the receiver parses the communication packet to obtain the request information of each of the multiple access requests.
[0004] For example, in the communication method provided by at least some embodiments of the present disclosure, the communication packet includes a packet header and a packet body, wherein the packet header includes the operation type of each of the multiple access requests and the number of multiple operation addresses, and the packet body includes the operation address of each of the multiple operation addresses.
[0005] For example, in the communication method provided by at least some embodiments of the present disclosure, the packet body includes a plurality of segments arranged in sequence, and each of the plurality of segments is used to record an operation address of a single access request in the request information of the plurality of access requests.
[0006] For example, in the communication method provided by at least some embodiments of the present disclosure, in response to the operation type being a write operation, the package body also includes object data to be operated on by each of the multiple access requests, and each of the multiple segments is also used to record the object data of a single access request in the request information of the multiple access requests.
[0007] For example, in the communication method provided in at least some embodiments of the present disclosure, the sender and the receiver are respectively located in the first device and the second device, and the first device and the second device are communicatively connected via an interconnect bus.
[0008] For example, in the communication methods provided by at least some embodiments of the present disclosure, the first device and the second device include core particles or chiplets.
[0009] For example, in the communication method provided in at least some embodiments of the present disclosure, the first device includes multiple first functional units, a first communication bus and a first data link, the multiple first functional units include the sender, and the multiple first functional units are communicatively connected to each other through the first communication bus and the first data link.
[0010] For example, in the communication method provided by at least some embodiments of the present disclosure, the transmitting the communication packet to the receiving party includes: in response to the communication packet arbitrating through the first data link, transmitting the communication packet to the receiving party.
[0011] For example, in the communication method provided in at least some embodiments of the present disclosure, transmitting the communication packet includes: transmitting the communication packet using a communication protocol, wherein the communication protocol provides multiple information channels, and the multiple information channels include a request channel, a read response channel, a write response channel and a data channel.
[0012] For example, in the communication method provided by at least some embodiments of the present disclosure, the transmitting the communication packet to the recipient includes: the first device transmitting the communication packet to the recipient through the data channel.
[0013] For example, in the communication method provided by at least some embodiments of the present disclosure, the transmitting the communication packet to the receiving party includes: the first device transmitting the communication packet to the receiving party through a write command.
[0014] For example, in the communication method provided by at least some embodiments of the present disclosure, transmitting the communication packet to the receiving party includes: the first device splitting the communication packet into multiple beats and transmitting them to the receiving party.
[0015] For example, in the communication method provided by at least some embodiments of the present disclosure, the multiple access requests are multiple write commands, and obtaining the communication packet encapsulated by the request information of the multiple access requests includes: in the first device, filling the request information of the multiple write commands into the communication packet to encapsulate the communication packet.
[0016] For example, the communication method provided in at least some embodiments of the present disclosure further includes: in response to the second device receiving the multiple write commands, receiving a write response issued by the receiving party.
[0017] For example, in the communication method provided by at least some embodiments of the present disclosure, the multiple access requests are multiple read commands, and obtaining the communication packet encapsulated by the request information of the multiple access requests includes: in the first device, filling the request information of the multiple read commands into the communication packet to encapsulate the communication packet.
[0018] For example, in the communication method provided by at least some embodiments of the present disclosure, transmitting the communication packet to the recipient includes: after the first device encapsulates the communication packet, the first device sends a write command, and transmits the communication packet to the second device through the write command.
[0019] For example, the communication method provided by at least some embodiments of the present disclosure further includes: receiving a read response sent by the receiving party.
[0020] For example, in the communication method provided by at least some embodiments of the present disclosure, in response to completing the multiple read commands, multi-beat return data is required, and the read response includes multi-beat read response information, and the number of beats of the multi-beat return data is the same as the number of beats of the multi-beat read response information.
[0021] At least some embodiments of the present disclosure also provide a communication method, applied to a second device, the communication method comprising: receiving a communication packet from a sender, wherein the communication packet is obtained by encapsulating request information of multiple access requests from the sender to multiple addresses in a receiver, and the request information of each of the multiple access requests includes an operation type and an operation address; parsing the communication packet to obtain request information of each of the multiple access requests; and executing the multiple access requests respectively according to the request information of each of the multiple access requests obtained by parsing.
[0022] For example, in the communication method provided in at least some embodiments of the present disclosure, the sender and the receiver are respectively located in the first device and the second device, the first device and the second device are communicatively connected via an interconnection bus, the second device includes multiple second functional units, a second communication bus and a second data link, the multiple second functional units include the receiver, and the multiple second functional units are communicatively connected to each other via the second communication bus and the second data link.
[0023] For example, in the communication method provided by at least some embodiments of the present disclosure, the receiving of the communication packet from the sender includes: in response to the communication packet being arbitrated through the second data link, the receiver receives the communication packet from the sender.
[0024] For example, in the communication method provided in at least some embodiments of the present disclosure, the receiving of a communication packet from a sender includes: in response to the first device transmitting the communication packet via a write command, the second device receiving the communication packet from the sender and generating a response to the write command.
[0025] For example, in the communication method provided in at least some embodiments of the present disclosure, wherein the multiple access requests are multiple write commands, parsing the communication packet to obtain request information of each of the multiple access requests includes: parsing the communication packet to obtain a write command address and write command data of each of the multiple write commands, and the communication method also includes: in response to the data module of the second device receiving the multiple write commands, sending a write response to the sender.
[0026] For example, in the communication method provided in at least some embodiments of the present disclosure, the multiple access requests are multiple read commands, and the receiving of the communication packet from the sender includes: receiving the communication packet from the sender by receiving a write command; the communication method also includes: in response to the second device completing the multiple read commands, sending a read response to the sender.
[0027] At least some embodiments of the present disclosure also provide a communication device, configured in a first device, comprising: an encapsulation module, configured to respond to multiple access requests from a sender to multiple addresses in a receiver, and obtain a communication packet obtained by encapsulating request information of the multiple access requests, wherein the request information of each of the multiple access requests includes an operation type and an operation address; and a transmission module, configured to transmit the communication packet to the receiver, so that the receiver can parse the communication packet to obtain the request information of each of the multiple access requests.
[0028] At least some embodiments of the present disclosure also provide a communication device, configured in a second device, the communication device comprising: a receiving module, configured to receive a communication packet from a sender, wherein the communication packet is obtained by encapsulating request information of multiple access requests from the sender to multiple addresses in a receiver, and the request information of each of the multiple access requests includes an operation type and an operation address; a parsing module, configured to parse the communication packet to obtain request information of each of the multiple access requests; and an execution module, configured to respectively execute the multiple access requests according to the request information of each of the multiple access requests obtained by parsing.
[0029] At least some embodiments of the present disclosure also provide an electronic device, comprising: at least one processor, a memory, and non-temporarily storing computer-readable instructions, wherein when the computer-readable instructions are executed by the at least one processor, the communication method provided in accordance with any embodiment of the present disclosure is executed.
[0030] At least some embodiments of the present disclosure further provide a non-transitory storage medium, which non-transitory stores computer-readable instructions non-transitorily, wherein when the computer-readable instructions are executed by a computer, the communication method provided according to any embodiment of the present disclosure is executed. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments will be briefly introduced below. Obviously, the drawings in the following description only relate to some embodiments of the present disclosure, but are not intended to limit the present disclosure.
[0032] Figure 1 A schematic diagram of a die interconnection structure provided for some embodiments of the present disclosure;
[0033] Figure 2 A schematic diagram of a communication bus protocol provided for some embodiments of the present disclosure;
[0034] Figure 3 A schematic flow chart of a communication method provided for some embodiments of the present disclosure;
[0035] Figure 4 A schematic diagram of the structure of a communication package provided for some embodiments of the present disclosure;
[0036] Figure 5 A schematic diagram of the structure of a first device and a second device provided in some embodiments of the present disclosure;
[0037] Figure 6 A schematic diagram of a flow chart of executing a write command provided in some embodiments of the present disclosure;
[0038] Figure 7 A flowchart of executing a read command provided in some embodiments of the present disclosure;
[0039] Figure 8 A schematic flow chart of another communication method provided for some embodiments of the present disclosure;
[0040] Fig. 9 A schematic diagram of a communication device provided in some embodiments of the present disclosure;
[0041] Fig.10 A schematic diagram of another communication device provided for some embodiments of the present disclosure;
[0042] Fig.11 A schematic diagram of the structure of an electronic device provided for some embodiments of the present disclosure; and
[0043] Fig.12 A schematic diagram of a storage medium provided for some embodiments of the present disclosure. DETAILED DESCRIPTION
[0044] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings of the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0045] Unless otherwise defined, the technical terms or scientific terms used in the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. The "first", "second" and similar words used in the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements or objects appearing before the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0046] The present disclosure is described below through several specific embodiments. In order to keep the following description of the embodiments of the present disclosure clear and concise, the detailed description of known functions and known components (elements) may be omitted. When any part (element) of the embodiments of the present disclosure appears in more than one figure, the part (element) is represented by the same or similar reference numeral in each figure.
[0047] Figure 1 A schematic diagram of a grain interconnection structure provided for some embodiments of the present disclosure.
[0048] Figure 1 The two dotted boxes from left to right in the figure represent Die 0 and Die 1 respectively. Die 0 and Die 1 are connected to each other through an interconnect bus. The circuit structures of Die 0 and Die 1 can be the same or similar. The following takes Die 0 as an example to illustrate the main circuit structure in the Die. Die 0 mainly includes a first sender (Master, or host), a first receiver (Slave, or slave), a first communication bus and a first data link (Data Fabric). The first sender is the initiator of the communication request, and the first receiver is the receiver of the communication request. The first data link is the data path for the communication request, which generally connects multiple senders and multiple receivers ( Figure 1Only a data link is shown in the figure to connect a sender and a receiver as an example), and arbitration is used to determine which sender goes to which receiver. The first communication bus is a data bus that defines the format of communication transmission and the corresponding constraints. The communication bus may include a request channel and a response channel. Similarly, die 1 includes a second sender, a second receiver, a second communication bus, and a second data link, etc., and their definitions and functions are the same as the corresponding structures in die 0, which will not be repeated here.
[0049] The general communication process is that the sender sends a request, which is passed to the receiver through the communication path. The receiver processes the request accordingly and returns a response to the sender after the processing is completed. The sender thus knows that the communication is completed.
[0050] by Figure 1 Taking the shown grain 0 and grain 1 as an example, the first sender of grain 0 sends a request, which is first transmitted to the first data link. The first data link arbitrates the request and determines which receiver the request is sent to. For example, it can be a request sent to the grain itself, grain 0, or it can be a request sent to another grain, such as grain 1. If it is a request sent to grain 0, it is directly forwarded to the first receiver for processing. If it is a request sent to grain 1, it needs to be transmitted to the second data link of grain 1 through the interconnect bus. The second data link of grain 1 parses the request and sends the request to the second receiver of grain 1 after arbitration. The second receiver receives the request and parses it, and then performs the corresponding operation; after the processing is completed, the response is returned to the second data link of grain 1. The second data link of grain 1 transmits the response to the first data link of grain 0 through the interconnect bus. After the first data link arbitrates, the response is returned to the first sender of grain 0, thereby completing a cross-grain communication.
[0051] Figure 2 A schematic diagram of a communication bus protocol provided for some embodiments of the present disclosure. For example, in the above embodiments, intra-die communication and cross-die communication between die 0 and die 1 can be used Figure 2 The communication bus protocol is shown.
[0052] like Figure 2The communication bus shown defines five main channels for information transmission between the sender, the receiver, and the sender and the receiver. These five channels include the port control channel, the request channel, the read response channel, the write response channel, and the data (MData) channel. The port control channel can be used for the clock (Clk) connection between the sender and the receiver. Communication can only be carried out after the clock connection is completed. The request channel determines the type of request through the command. For example, the request can include other command operations such as write commands and read commands. The read response channel and the write response channel are both response channels. The difference between the two is that the read response channel needs to return data information, while the write response data channel does not need to return data, only the corresponding tag information is required. The data channel can be used with the write command to transmit the data of the write command. The read command does not need to send data.
[0053] It should be noted that in order to ensure the accuracy of communication, the port control channel, request channel, read response channel, write response channel and data channel can respectively handshake and communicate through the valid / ready mechanism, and these channels can use the credit mechanism for flow control, etc.
[0054] As demand continues to increase, the performance of a single chip can no longer meet the demand, and multi-chip designs have appeared in many products. However, how to meet the demand for multi-chip communication bandwidth has always been a difficult point. The cost will continue to increase as the performance continues to increase while increasing hardware overhead. The bandwidth seriously restricts the performance of the product. When parallel bus communication and serial bus communication are upgraded alternately, the bandwidth is still the bottleneck of communication between multi-chips. To improve the overall performance of multi-chips, it is necessary to increase the bandwidth of communication between multi-chips.
[0055] When sending a request, the communication bus will specify a specific address in the request channel, indicating that information can be sent to that address. However, if information needs to be sent to multiple addresses, multiple requests need to be sent. In the case of a single grain, the delay caused by intra-grain communication is relatively small and has little impact on performance. However, for cross-grain communication and multi-grain communication, the impact of delay is more serious. Especially when sending multiple messages to multiple addresses in cross-grain communication, multiple requests are required, which is inefficient, and the resulting delay will seriously affect the performance of multi-grain communication.
[0056] At least one embodiment of the present disclosure provides a communication method, applied to a first device, the method comprising: in response to sending multiple access requests for multiple addresses in a receiving party, obtaining a communication packet encapsulated by request information of the multiple access requests, the request information of each of the multiple access requests comprising an operation type and an operation address; transmitting the communication packet to the receiving party, so that the receiving party parses the communication packet to obtain the request information of each of the multiple access requests.
[0057] The communication method provided in the above-mentioned embodiment of the present disclosure encapsulates the request information of multiple access requests to obtain a communication packet. By using the communication packet, information can be sent to multiple addresses by sending a request once, so that the amount of data transmitted between the sender and the receiver in one communication can be greatly improved, and the performance of multi-chip and multi-grain communication can be improved.
[0058] Figure 3 A schematic flow chart of a communication method provided in some embodiments of the present disclosure. Figure 3 As shown, the communication method provided by at least one embodiment of the present disclosure includes steps S100-S200, and the communication method can be applied to a first device.
[0059] Step S100, in response to multiple access requests from a sender to multiple addresses in a receiver, a communication packet encapsulated by request information of the multiple access requests is obtained.
[0060] In step S100, the request information of each of the multiple access requests may include an operation type and an operation address. In the present disclosure, operation and command are two different concepts. A command refers to the type of access request on a communication bus. The operation type may be an operation that needs to be performed to complete the access request of the sender, or it may be an operation performed by the receiver. The operation type may be determined according to the request type. For example, the access request type includes commands such as a read command and a write command, and the operation type may include operations such as a write operation and a read operation. It should be noted that the determination of the operation type according to the request type does not mean that a write command can only correspond to a write operation, nor does it mean that a read command can only correspond to a read operation, etc. The embodiment of the present disclosure does not limit the correspondence between the operation type and the request type.
[0061] In the above embodiment, the communication packet may include a header and a body. For example, the header includes the operation type of each of the multiple access requests and the number of the multiple operation addresses, and the body includes the operation address of each of the multiple operation addresses.
[0062] For example, the packet body in the above embodiment may include a plurality of fields arranged in sequence, and each of the plurality of fields may be used to record the operation address of a single access request in the request information of the plurality of access requests. For example, when the operation type is a read operation, that is, when the sender needs to read the data of the receiver, the operation address of a single access request in the request information of the plurality of access requests may be recorded in each of the plurality of fields in the packet body.
[0063] For example, when the operation type is a write operation, that is, when the sender's data is written to the receiver, the package body may also include object data to be operated on by each of multiple access requests, and each of the multiple segments may also be used to record the object data of a single access request in the request information of multiple access requests.
[0064] In the above embodiment of the present disclosure, by dividing the communication packet into a packet header and a packet body, the packet header includes the operation type of each of the multiple access requests and the number of the multiple operation addresses required, and the multiple segment records are sequentially arranged in the packet body, and each of the multiple segments is used to record the operation address of a single access request in the multiple access requests and the object data required to be operated for each access request, it is possible to satisfy multiple access requests of the sender for multiple addresses in the receiver through one transmission, and perform different types of operations including read operations and write operations according to the command type of the access request. In the embodiment of the present disclosure, by using the above communication packet, the amount of data transmitted in a single transmission can be increased, and the communication efficiency can be improved.
[0065] Figure 4 A schematic diagram of an exemplary structure of a communication packet provided for some embodiments of the present disclosure.
[0066] For example, let's take the bus data width as 512 bits. 32 bits can represent a double word, so 512 bits has 16 double words. Figure 4 As shown, the packet header of the communication packet uses two double words, DW0 and DW1, that is, there are 64 bits of hardware resources available for the packet header. In addition, the number of double words used in the packet header of the communication packet can be defined according to specific needs. The packet header can define the operation type of each access request in multiple access requests and the number of multiple operation addresses. The operation type includes, for example, a read operation and a write operation on an address or other operation types defined as needed, and the data format in the packet body can be specifically defined according to the operation type. The remaining 14 double words DW2-DW15 in the communication packet can all be used as the packet body.
[0067] In hardware implementation, all information needs to occupy hardware resources. Considering the overall performance, hardware resources will limit the transmission of communication packets. For example, sending a communication packet data with a data bus width of 16 double words from the data channel can be called 1 beat. If the access request can contain multiple beats of communication packet data, then the access request can operate more addresses and the performance will be higher. For example, in the packet body, the format of one address and one data can be used Figure 4 In the structure shown, one beat of data can operate up to 7 addresses. You can design how many addresses you need to operate for one beat of data according to actual needs, and describe the specific addresses and corresponding data in the package body.
[0068] Step S200: transmitting a communication packet to a receiving party.
[0069] In step S200, a communication packet is transmitted to a receiving party so that the receiving party parses the communication packet to obtain request information of each of the multiple access requests.
[0070] For example, you can use Figure 2 The communication bus protocol shown is used to transmit communication packets between a sender and a receiver, and other communication protocols may also be used for transmission, which is not limited in the embodiments of the present disclosure.
[0071] The communication method provided by the above-mentioned embodiments of the present disclosure does not require additional requirements on the request type of the communication bus, and therefore has low design difficulty and can be quickly implemented on chips and grains.
[0072] Figure 5 A schematic diagram of the structure of a first device and a second device provided in some embodiments of the present disclosure.
[0073] like Figure 5 As shown, in the communication method provided by the above embodiment of the present disclosure, the sender and the receiver can be located in the first device and the second device respectively, and the first device and the second device can be connected to each other through an interconnection bus. The embodiment of the present disclosure does not limit the specific type, specification or adopted protocol of the interconnection bus.
[0074] For example, in at least one embodiment of the present disclosure, the first device and the second device may be chips (eg, conventional chips or chiplets) or dies, and the present disclosure is not limited thereto.
[0075] It should be noted that although Figure 5 Only the sender in the first device and the receiver in the second device are shown, but the first device may include a receiver in addition to the sender, and the second device may include a sender in addition to the receiver. The sender in the second device can communicate with the receiver in the first device using the communication method provided in the embodiment of the present disclosure.
[0076] In the above embodiment, the first device may include multiple first functional units, a first communication bus and a first data link, and the multiple first functional units include a sender, for example, the multiple first functional units include a first functional unit 11, a first functional unit 12 and a sender, and the first functional units include the first functional unit 11, the first functional unit 12 and the sender are communicatively connected to the first data link via the first communication bus. The second device may include multiple second functional units, a second communication bus and a second data link, and the multiple second functional units include a receiver, for example, the multiple second functional units include a second functional unit 21, a second functional unit 22 and a receiver, and the second functional units 21, the second functional unit 22 and the receiver are communicatively connected to the second data link via the second communication bus.
[0077] In the above embodiment, the operation of transmitting the communication packet to the receiving party may include: transmitting the communication packet to the receiving party in response to the communication packet passing the first data link arbitration.
[0078] During the transmission of the communication packet, arbitration is performed using the first data link and the second data link. The data link can generally connect multiple senders and multiple receivers, and arbitration is used to determine which sender transmits the access request to which receiver. For example, before the communication packet is transmitted, the first data link is used to determine which receiver the communication packet is sent to. For example, afterwards, the second data link is used to arbitrate whether the communication packet is sent to the receiver, and the communication packet can be transmitted to the receiver after arbitration.
[0079] In the above embodiment, the operation of transmitting the communication packet may include: transmitting the communication packet using a communication protocol, and the communication protocol may provide multiple information channels, for example, the multiple information channels include a request channel, a read response channel, a write response channel, and a data channel. For this, the request channel, the read response channel, the write response channel, and the data channel included in the communication protocol may refer to Figure 2 The channel of the communication bus protocol provided is for understanding and will not be elaborated here.
[0080] In the above embodiment, the operation of transmitting the communication packet to the receiving party may include: the first device transmitting the communication packet to the receiving party through a data channel.
[0081] In the communication method provided by the embodiment of the present disclosure, transmitting the communication packet to the receiving party may include: the first device transmitting the communication packet to the receiving party through a write command.
[0082] Combined with the above explanation of the definition of the communication bus, taking the two request types of read command and write command as examples, the read command does not need to send data, and the read response needs to return data; the write command needs to send data, and the write response does not need to return data. Therefore, without changing the communication bus protocol or adding additional definitions, the same method as the write command to send data can be used by the first device to transmit the communication packet to the receiving party through the write command.
[0083] In the above embodiment, transmitting the communication packet to the receiving party may include: the first device splitting the communication packet into multiple beats and transmitting them to the receiving party.
[0084] Due to the influence of hardware bandwidth, when the data volume of the communication packet is large, the communication packet can be transmitted in multiple beats. For example, if the data bit width of the bus is 512 bits, sending data of one data bus bit width is called one beat, and the first device can split the communication packet into multiple beats for transmission according to the data bit width of the bus. It should be noted that the data bit width of 512 bits is only used as an example, and the data bit width can be other values such as 256 bits, 1024 bits, etc. according to actual applications.
[0085] It should be understood that the above description uses the first device and the second device as an example to illustrate the communication method provided in the embodiment of the present disclosure, but the communication method provided by the present disclosure is not limited to two devices, but can be applied to communication between more devices, such as 4 devices, 8 devices, etc.
[0086] In the communication method provided in some embodiments of the present disclosure, when the multiple access requests are multiple write commands, in the first device, the request information of the multiple write commands is filled into the communication packet to encapsulate the communication packet.
[0087] The communication method provided by the above embodiment further includes: in response to the second device receiving multiple write commands, receiving a write response issued by the receiving party.
[0088] The above embodiment uses a communication packet during the communication process between the first device and the second device, so that multiple write commands can be executed in a single communication process, which helps to improve communication efficiency and improve the performance of multi-chip and multi-die systems. In addition, the second device issues a write response after receiving multiple write commands instead of issuing a write response after completing a write command, which can reduce hardware overhead.
[0089] Figure 6 A flowchart of executing a write command is provided for some embodiments of the present disclosure. Figure 6 The execution process of the write command provided in the embodiment of the present disclosure is described.
[0090] For example, the first device and the second device are both crystals, the first device is crystal 00, and the second device is crystal 01. First, when the sender of crystal 00 needs to write information of certain addresses of the receiver, it is necessary to fill in the communication packet, for example, fill in the request information of multiple write commands into the communication packet, write the number of addresses to be written into the specified field of the packet header of the communication packet, set the operation type to be a write operation; write the operation address of each of the multiple write commands and the object data to be operated by each of the multiple write commands into the body of the communication packet. After the above information is packaged, it is encapsulated to obtain a communication packet.
[0091] Then, the write command is sent by the chip 00, for example, the write command can be sent by the sender in the chip 00. After the write command is sent, it is judged through the communication link (i.e., the data link mentioned above). If the write command is not sent to the chip 01 after arbitration, the write command can be processed by the module in the chip 00; if the write command is processed by the chip 01 after arbitration, the command is transmitted to the communication link of the chip 01 through the interconnect bus, for example, the write command is transmitted through the request channel, for example, the communication packet is transmitted through the data channel, and if the communication packet data has multiple beats, each beat of data is sent in sequence. After arbitration by the communication link of the chip 01, the write command and the communication packet are received by the chip 01, for example, the write command and the communication packet can be received by the receiver in the chip 01.
[0092] Afterwards, the receiver in the grain 01 parses the command and the communication packet. By parsing the command, it is found that the command is a write command, and then the communication packet is assembled after the data of the communication packet is received. After the communication packet is assembled, the communication packet is parsed to obtain what data is written to which operation addresses. For example, the data module in the grain 01 specifically executes the write command in the grain 01, so the write address request of the write command needs to be sent to the data module of the grain 01. After the data module receives multiple write commands, the receiver of the grain 01 can send a write response to the sender of the grain 00, marking the completion of the execution of multiple write commands this time.
[0093] It should be noted that, in one example, in the above process, the write response is sent after the write command is sent to the data module of the die 01, rather than after the write command is executed. This is because sending the write response after the write command is sent to the data module of the die 01 requires less hardware overhead.
[0094] It should be noted that in the above embodiments, the sender and the receiver may belong to different grains, for example, the sender belongs to grain 00 and the receiver belongs to grain 01, or the sender and the receiver may belong to the same grain, which is not limited in the embodiments of the present disclosure.
[0095] In the communication method provided by some embodiments of the present disclosure, when multiple access requests are multiple read commands, a communication packet encapsulated by request information of multiple access requests is obtained, including: in a first device, filling the request information of multiple read commands into the communication packet to encapsulate the communication packet.
[0096] In the above embodiment, transmitting the communication packet to the receiving party includes: after the first device encapsulates the communication packet, transmitting the communication packet to the second device through a write command.
[0097] The communication method provided in the above embodiment may further include: receiving a read response issued by the receiving party. For example, in response to the completion of multiple read commands in the second device, the first device may receive a read response issued by the receiving party.
[0098] In the above embodiment, in response to completing multiple read commands, multi-beat return data is required, the read response includes multi-beat read response information, and the number of beats of the multi-beat return data is the same as the number of beats of the multi-beat read response information.
[0099] The above embodiment uses communication packets during the communication process between the first device and the second device, so that multiple read commands can be executed in a single communication process, which helps to improve communication efficiency and thus improve the performance of multi-chip and multi-die systems.
[0100] Figure 7 A flowchart of executing a read command is provided for some embodiments of the present disclosure. Figure 7 The execution process of the read command provided in the embodiment of the present disclosure is described.
[0101] For example, similarly, the first device is die 00, and the second device is die 01. First, when the sender of die 00 needs to read information of certain addresses of the receiver, it needs to fill in a communication packet, for example, fill in the request information of multiple read commands in the communication packet, write the number of addresses to be read in the specified field of the packet header of the communication packet, set the operation type to read operation; write the operation address of each read command in the multiple read and write commands into the packet body of the communication packet. After the packaging is completed, the communication packet is encapsulated.
[0102] According to the communication bus protocol, the read command does not need to send data, so the read command cannot directly transmit the communication packet itself. The communication packet needs to be sent through the write command. After the communication packet is encapsulated, the sender needs to send a write command to the receiver and send the communication packet on the data channel. If the communication packet data has multiple beats, each beat of data is sent in sequence, and the communication packet is received by the receiver through the write command.
[0103] Then, the sender can then send a read command. Since the read command does not carry data, it is not necessary to encapsulate the communication packet and the read command can be sent directly through the communication bus. The number of multiple operation addresses that the read command needs to read data and the operation address of each of the multiple addresses are consistent with the corresponding information in the communication packet previously sent through the write command. The two communication bus requests of the write command and the read command and the communication packet are arbitrated by the communication link in the grain 00. If the write command and the read command are not sent to the grain 01 after arbitration, the write command and the read command can be processed by the module in the grain 00; if the write command and the read command are processed by the grain 01 after arbitration, the write command and the read command are transmitted to the communication link of the grain 01 through the interconnection bus, for example, the write command and the read command are transmitted through the request channel, for example, the communication packet is transmitted through the data channel. After the communication link arbitration of the grain 01, the command and the communication packet are received by the grain 01, for example, the command and the communication packet are processed by the receiver in the grain 01.
[0104] After that, the receiver in the crystal 01 parses the command and the communication packet. By parsing the first command, it is found that it is a write command. Then, after the data of the communication packet is received, the communication packet is assembled. After the communication packet is assembled, the communication packet is parsed to obtain the operation addresses from which data is read, and the read address request is sent to the module in the crystal 01 that specifically executes the read command. After multiple read operation address requests are sent, the crystal 01 generates a write response message, and the read address request returns the data corresponding to the multiple operation addresses and stores them locally in the crystal 01.
[0105] After processing the first write command, chip 01 processes the second read command. After parsing the second command and finding it is a read command, the data returned from multiple operation addresses stored locally in chip 01 are packaged. If the amount of data is large, multiple beats of data need to be returned. After packaging one beat of data, one beat of response information can be generated. The number of beats of the multi-beat return data is the same as the number of beats of the multi-beat response information.
[0106] It should be noted that the response information of the first write command can be returned through the write response channel, and the response information of the second read command can be returned through the read response channel. The response information can be first returned to the communication link of grain 01 by the receiver of grain 01, and the communication link of grain 01 will return the response information to the communication link of grain 00 after arbitration, and the communication link of grain 00 will return the response information to the sender of grain 00. Accordingly, if it is the write response information of the write command, it indicates that the write command is completed, and if it is the read response information of the read command, the return data is obtained from the read response information and sent to the sender of grain 00 for further processing. When the write response and the read response are returned to grain 00, it indicates that the execution of multiple read commands is completed this time.
[0107] The above embodiments of the present disclosure mainly describe the communication method provided by the present disclosure from the perspective of the sender of the first device. The following describes the communication method provided by the embodiments of the present disclosure from the perspective of the receiver of the second device.
[0108] At least one embodiment of the present disclosure provides a communication method, which is applied to a second device, and the method includes: receiving a communication packet from a sender, wherein the communication packet is obtained by encapsulating request information of multiple access requests from the sender to multiple addresses in a receiver, and the request information of each of the multiple access requests includes an operation type and an operation address; parsing the communication packet to obtain request information of each of the multiple access requests; and executing the multiple access requests respectively according to the request information of each of the multiple access requests obtained by parsing.
[0109] The communication method provided by the above-mentioned embodiment of the present disclosure receives and parses the communication packet obtained by encapsulating the request information of multiple access requests, so as to obtain the request information of multiple access requests in one communication process, and then executes the multiple access requests according to the request information of each access request obtained by the analysis, so that the amount of data transmitted between the sender and the receiver in one communication can be greatly increased, and the performance of multi-chip and multi-grain communication can be improved.
[0110] Figure 8 A schematic flow chart of another communication method provided in some embodiments of the present disclosure. Figure 8 As shown, the communication method provided in the above embodiment includes steps S300-S500, and the method can be applied to the second device.
[0111] Step S300, receiving a communication packet from a sender.
[0112] In step S300, the communication packet may be obtained by encapsulating multiple access requests from a sender to multiple addresses of a receiver, and request information of each of the multiple access requests includes an operation type and an operation address.
[0113] Step S400: parsing the communication packet to obtain request information of each of the multiple access requests.
[0114] Since the communication packet is obtained by encapsulating the request information of multiple access requests, the communication packet needs to be parsed to obtain the request information of each access request in the multiple access requests. In step S400, the communication packet received from the sender is parsed to obtain the request information of each access request in the multiple access requests.
[0115] Step S500: executing the multiple access requests respectively according to the request information of each of the multiple access requests obtained by parsing.
[0116] In the above embodiment, the sender and the receiver may be located in the first device and the second device respectively. The first device and the second device are communicatively connected via an interconnection bus. The second device includes multiple second functional units, a second communication bus and a second data link. The multiple second functional units include a receiver. The multiple second functional units are communicatively connected via the second communication bus and the second data link.
[0117] For the description of the second device, please refer to the above description. Figure 5 The description is not repeated here.
[0118] In the above embodiment, receiving the communication packet from the sender includes: in response to the communication packet passing through the second data link arbitration, the receiver receives the communication packet from the sender.
[0119] In the above embodiment, receiving the communication packet from the sender includes: in response to the first device transmitting the communication packet through the write command, the second device receives the communication packet from the sender and generates a response to the write command.
[0120] In the above embodiment, receiving a communication packet from a sender includes: in response to the first device splitting the communication packet into multiple beats for transmission, receiving the multiple beats from the sender and reconstructing the multiple beats to obtain the communication packet.
[0121] Due to the influence of hardware bandwidth, when the data volume of the communication packet is large, the first device can split the communication packet into multiple transmissions. The second device can sequentially receive the communication packets of the multiple transmissions, reconstruct the received multiple transmissions to obtain a complete communication packet, and then parse the communication packet.
[0122] In the above embodiment, for example, when multiple access requests are write commands, parsing the communication packet to obtain request information for each of the multiple access requests includes: parsing the communication packet to obtain a write command address and write command data for each of the multiple write commands. The communication method provided by the present disclosure also includes: in response to the data module of the second device receiving multiple write commands, sending a write response to the sender. It should be noted that in the above embodiment, the timing of sending the write response to the sender is after the data module of the second device receives multiple write commands, and such an operation can save hardware overhead.
[0123] In the above embodiment, for example, when the multiple access requests are read commands, the multiple access requests are multiple read commands, and receiving a communication packet from the sender includes: receiving a communication packet from the sender by receiving a write command. The communication method provided by the present disclosure also includes: in response to the second device completing the multiple read commands, sending a read response to the sender.
[0124] Fig. 9 A schematic diagram of a communication device provided in some embodiments of the present disclosure, where the communication device can be configured in a first device.
[0125] like Fig. 9 As shown, the communication device 110 includes an encapsulation module 10 and a transmission module 20. The encapsulation module 10 is configured to, in response to multiple access requests from an initiator to multiple addresses in a receiver, obtain a communication packet obtained by encapsulating request information of the multiple access requests, wherein the request information of each of the multiple access requests includes an operation type and an operation address. The transmission module 20 is configured to transmit the communication packet to the receiver, so that the receiver parses the communication packet to obtain the request information of each of the multiple access requests.
[0126] The communication device provided in the above embodiment can significantly increase the amount of data transmitted between the sender and the receiver in one communication, thereby improving the performance of multi-chip and multi-die communication.
[0127] In the communication device provided in the above embodiment, the communication packet includes a packet header and a packet body, the packet header includes the operation type of each of the multiple access requests and the number of the multiple operation addresses, and the packet body includes the operation address of each of the multiple operation addresses.
[0128] In the communication device provided in the above embodiment, the packet body includes a plurality of segments arranged in sequence, and each of the plurality of segments is used to record the operation address of a single access request in the request information of the plurality of access requests.
[0129] In the communication device provided in the above embodiment, in response to the operation type being a write operation, the package body also includes object data to be operated on by each of multiple access requests, and each of the multiple segments is also used to record the object data of a single access request in the request information of the multiple access requests.
[0130] In the communication device provided in the above embodiment, the sender and the receiver are located in the first device and the second device respectively, and the first device and the second device are communicatively connected via an interconnection bus.
[0131] In the devices provided in the above embodiments, the first device and the second device include core particles or chiplets.
[0132] In the communication device provided in the above embodiment, the first device includes multiple first functional units, a first communication bus and a first data link. The multiple first functional units include a sender, and the multiple first functional units are communicatively connected through the first communication bus and the first data link.
[0133] In the communication device provided in the above embodiment, when the transmission module executes transmission of the communication packet to the receiving party, the transmission module includes the following operations: in response to the communication packet passing the first data link arbitration, transmitting the communication packet to the receiving party.
[0134] In the communication device provided in the above embodiment, when the transmission module executes the transmission of the communication packet, it includes performing the following operations: transmitting the communication packet using the communication protocol, wherein the communication protocol provides multiple information channels, and the multiple information channels include a request channel, a read response channel, a write response channel and a data channel.
[0135] In the communication device provided in the above embodiment, when the transmission module executes transmission of the communication packet to the receiving party, the following operations are included: the first device transmits the communication packet to the receiving party through the data channel.
[0136] In the communication device provided in the above embodiment, when the transmission module executes transmission of the communication packet to the receiving party, the following operations are performed: the first device transmits the communication packet to the receiving party through a write command.
[0137] In the communication device provided in the above embodiment, when the transmission module executes transmission of a communication packet to a receiving party, the following operations are performed: the first device splits the communication packet into multiple beats and transmits them to the receiving party.
[0138] In the communication device provided in the above embodiment, multiple access requests are multiple write commands. When the encapsulation module executes to obtain a communication packet encapsulated by request information of multiple access requests, it includes performing the following operations: in the first device, filling the request information of multiple write commands into the communication packet to encapsulate the communication packet.
[0139] The communication device provided in the above embodiment further includes a response receiving module, and the receiving module is configured to receive a write response issued by a receiving party in response to the second device receiving multiple write commands.
[0140] In the communication device provided in the above embodiment, multiple access requests are multiple read commands. When the encapsulation module executes to obtain a communication packet encapsulated by request information of multiple access requests, it includes performing the following operations: in the first device, filling the request information of multiple read commands into the communication packet to encapsulate the communication packet.
[0141] In the communication device provided in the above embodiment, when the transmission module executes transmission of a communication packet to a receiving party, the following operations are performed: after the first device encapsulates the communication packet, the first device sends a write command to transmit the communication packet to the second device through the write command.
[0142] In the communication device provided in the above embodiment, the response receiving module is configured to receive a read response sent by the receiving party.
[0143] In the communication device provided in the above embodiment, in response to completing multiple read commands, multi-beat return data is required, and the read response includes multi-beat read response information. The number of beats of the multi-beat return data is the same as the number of beats of the multi-beat read response information.
[0144] Fig.10A schematic diagram of another communication device provided in some embodiments of the present disclosure, where the communication device can be configured in a second device.
[0145] like Fig.10 As shown, the communication device 120 includes a receiving module 30, a parsing module 40 and an execution module 50. The receiving module 30 is configured to receive a communication packet from a sender, and the communication packet is obtained by encapsulating the request information of multiple access requests of multiple addresses in the receiver by the sender, and the request information of each of the multiple access requests includes an operation type and an operation address. The parsing module 40 is configured to parse the communication packet to obtain the request information of each of the multiple access requests. The execution module 50 is configured to execute the multiple access requests respectively according to the request information of each of the multiple access requests obtained by parsing. In the above embodiment, the sender and the receiver are respectively located in the first device and the second device, the first device and the second device are communicatively connected via an interconnection bus, the second device includes multiple second functional units, a second communication bus and a second data link, the multiple second functional units include a receiver, and the multiple second functional units are communicatively connected via the second communication bus and the second data link.
[0146] In the above embodiment, when the receiving module receives the communication packet from the sender, the receiving module executes: in response to the communication packet being arbitrated through the second data link, the receiving module receives the communication packet from the sender.
[0147] In the above embodiment, when the receiving module receives a communication packet from the sender, the receiving module includes executing: in response to the first device transmitting the communication packet through the write command, the second device receives the communication packet from the sender and generates a response to the write command.
[0148] In the above embodiment, when the receiving module receives a communication packet from the sender, the receiving module executes: in response to the first device splitting the communication packet into multiple beats for transmission, receiving the multiple beats from the sender and reconstructing the multiple beats to obtain the communication packet.
[0149] In the above embodiment, the multiple access requests are multiple write commands, and when the parsing module performs parsing of the communication packet to obtain the request information of each of the multiple access requests, it includes executing: parsing the communication packet to obtain the write command address and write command data of each of the multiple write commands. The communication device provided in the above embodiment also includes a response sending module, which is configured to send a write response to the sender in response to the data module of the second device receiving the multiple write commands.
[0150] In the above embodiment, when the parsing module parses the communication packet to obtain the request information of each of the multiple access requests, it includes: receiving the communication packet from the sender by receiving the write command. The response sending module is configured to send a read response to the sender in response to the second device completing the multiple read commands.
[0151] Fig.11A schematic diagram of the structure of an electronic device provided for some embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Fig.11 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0152] like Fig.11 As shown, the electronic device 200 may include a processing device (e.g., one or more central processing units, one or more graphics processing units, etc.) 210, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 220 or a program loaded from a storage device 280 to a random access memory (RAM) 230. The processing device 210 includes a communication device of any embodiment of the present disclosure. In the RAM 230, various executable programs and data required for the operation of the integrated circuit simulation device 200 are also stored. The processing device 210, the ROM 220, and the RAM 230 are connected to each other via a bus 240. An input / output (I / O) interface 250 is also connected to the bus 240.
[0153] Typically, the following devices may be connected to the I / O interface 250: an input device 260 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, or a gyroscope; an output device 270 including, for example, a liquid crystal display (LCD), a speaker, or a vibrator; a storage device 280 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 290. The communication device 290 may allow the integrated circuit simulation device 200 to communicate with other electronic devices wirelessly or by wire to exchange data. Although Fig.11 The electronic device 200 is shown to include various devices, but it should be understood that it is not required to implement or possess all the devices shown, and the electronic device 200 may alternatively implement or possess more or fewer devices.
[0154] For example, according to an embodiment of the present disclosure, the above communication method can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer readable medium, and the computer program includes a program code for executing the above communication method.
[0155] In at least one embodiment of the present disclosure, the computer program can be downloaded and installed from the network through the communication device 290, or installed from the above-mentioned storage device 280, or installed from the ROM 220. When the computer program is executed by the processing device 210, the functions defined in the communication method provided in the embodiment of the present disclosure can be executed.
[0156] Some embodiments of the present disclosure also provide a storage medium for storing non-transitory computer program executable code (e.g., computer executable instructions). When the non-transitory computer program executable code is executed by a computer (e.g., including one or more processors), the thread scheduling method of any embodiment of the present disclosure can be implemented; or, when the non-transitory computer program executable code is executed by a computer, the thread scheduling method provided by the embodiments of the present disclosure can be implemented.
[0157] Fig.12 A schematic diagram of a storage medium provided in some embodiments of the present disclosure. Fig.12 As shown, the storage medium 300 non-temporarily stores computer-readable instructions 301. For example, when the computer-readable instructions 301 are executed by a computer (eg, including one or more processors), the communication method provided according to the embodiment of the present disclosure can be executed.
[0158] For example, the storage medium 300 may be applied to the electronic device 200. Fig.11 The memory 220 in the electronic device 200 is shown. For example, the description of the storage medium 300 can refer to Fig.11 The corresponding description of the memory 220 in the electronic device 200 is shown and will not be repeated here.
[0159] Although the disclosure has been described in detail above with general descriptions and specific implementation methods, it is obvious to those skilled in the art that some modifications or improvements may be made to the embodiments of the disclosure. Therefore, these modifications or improvements made without departing from the spirit of the disclosure are within the scope of protection claimed by the disclosure.
[0160] There are a few points to note about this disclosure:
[0161] (1) The drawings of the embodiments of the present disclosure only relate to the structures related to the embodiments of the present disclosure, and other structures may refer to the general design.
[0162] (2) For the sake of clarity, in the drawings used to describe the embodiments of the present disclosure, the thickness of layers or regions is enlarged or reduced, that is, these drawings are not drawn according to the actual scale.
[0163] (3) In the absence of conflict, the embodiments of the present disclosure and the features therein may be combined with each other to obtain new embodiments.
[0164] The above description is only a specific implementation of the present disclosure, but the protection scope of the present disclosure is not limited thereto. The protection scope of the present disclosure shall be based on the protection scope of the claims.
Claims
1. A communication method, applied to a first device, comprising: In response to multiple access requests from a sender to multiple addresses in a receiver, obtaining a communication packet encapsulated by request information of the multiple access requests, wherein the request information of each of the multiple access requests includes an operation type and an operation address; The communication packet is transmitted to the receiving party so that the receiving party parses the communication packet to obtain request information of each of the multiple access requests.
2. The communication method according to claim 1, wherein: The communication packet includes a packet header and a packet body, wherein the packet header includes an operation type of each of the multiple access requests and the number of multiple operation addresses, and the packet body includes an operation address of each of the multiple operation addresses.
3. The communication method according to claim 2, wherein: The package body includes a plurality of segments arranged in sequence, each of the plurality of segments being used to record an operation address of a single access request in the request information of the plurality of access requests.
4. The communication method according to claim 3, wherein: In response to the operation type being a write operation, the package body also includes object data to be operated on by each of the multiple access requests, and each of the multiple segments is further used to record the object data of a single access request in the request information of the multiple access requests.
5. The communication method according to any one of claims 1 to 4, wherein: The sender and the receiver are located in the first device and the second device respectively, and the first device and the second device are communicatively connected via an interconnection bus.
6. The communication method according to claim 5, wherein: The first device and the second device include core particles or chiplets.
7. The communication method according to claim 1, wherein: The first device includes a plurality of first functional units, a first communication bus and a first data link. The plurality of first functional units include the sender. The plurality of first functional units are communicatively connected to each other via the first communication bus and the first data link.
8. The communication method according to claim 7, wherein: The transmitting the communication packet to the receiving party comprises: In response to the communication packet passing the first data link arbitration, the communication packet is transmitted to the receiving party.
9. The communication method according to claim 1, wherein: The transmitting of the communication packet comprises: The communication packet is transmitted using a communication protocol, wherein the communication protocol provides a plurality of information channels, the plurality of information channels comprising a request channel, a read response channel, a write response channel and a data channel.
10. The communication method according to claim 9, wherein: The transmitting the communication packet to the receiving party comprises: The communication packet is transmitted by the first device to the receiving party through the data channel.
11. The communication method according to claim 1, wherein: The transmitting the communication packet to the receiving party comprises: The communication packet is transmitted to the receiving party by the first device through a write command.
12. The communication method according to claim 1, wherein: The transmitting the communication packet to the receiving party comprises: The first device splits the communication packet into multiple beats and transmits them to the receiving party.
13. The communication method according to claim 5, wherein: The multiple access requests are multiple write commands, and obtaining a communication packet encapsulated by request information of the multiple access requests includes: In the first device, request information of the plurality of write commands is filled into the communication packet to encapsulate and obtain the communication packet.
14. The communication method according to claim 13, further comprising: In response to the second device receiving the plurality of write commands, a write response issued by the receiving party is received.
15. The communication method according to claim 5, wherein: The multiple access requests are multiple read commands, and obtaining a communication packet encapsulated by request information of the multiple access requests includes: In the first device, request information of the plurality of read commands is filled into the communication packet to encapsulate and obtain the communication packet.
16. The communication method according to claim 15, wherein: The transmitting the communication packet to the receiving party comprises: After the first device encapsulates the communication packet, the first device sends a write command to transmit the communication packet to the second device through the write command.
17. The communication method according to claim 16, further comprising: A read response is received from the receiving party.
18. The communication method according to claim 17, wherein: In response to the need for multi-beat return data to complete the multiple read commands, the read response includes multi-beat read response information, and the number of beats of the multi-beat return data is the same as the number of beats of the multi-beat read response information.
19. A communication method, applied to a second device, comprising: receiving a communication packet from a sender, wherein the communication packet is obtained by encapsulating request information of multiple access requests from the sender to multiple addresses in the receiver, and the request information of each of the multiple access requests includes an operation type and an operation address; parsing the communication packet to obtain request information of each of the plurality of access requests; and The multiple access requests are respectively executed according to the request information of each of the multiple access requests obtained by parsing.
20. The communication method according to claim 19, wherein: The sender and the receiver are located in a first device and a second device respectively, and the first device and the second device are communicatively connected via an interconnection bus. The second device includes a plurality of second functional units, a second communication bus and a second data link. The plurality of second functional units include the receiver. The plurality of second functional units are communicatively connected to each other via the second communication bus and the second data link.
21. The communication method according to claim 20, wherein: The receiving of a communication packet from a sender comprises: In response to the communication packet being arbitrated through the second data link, the receiver receives the communication packet from the sender.
22. The communication method according to claim 20, wherein: The receiving of a communication packet from a sender comprises: In response to the first device transmitting the communication packet through a write command, the second device receives the communication packet from the sender and generates a response to the write command.
23. The communication method according to claim 20, wherein: The receiving of a communication packet from a sender comprises: In response to the first device splitting the communication packet into multiple beats for transmission, the multiple beats are received from the sender and the multiple beats are reconstructed to obtain the communication packet.
24. The communication method according to claim 19, wherein: The multiple access requests are multiple write commands, and the parsing of the communication packet to obtain request information of each of the multiple access requests includes: parsing the communication packet to obtain a write command address and write command data of each of the plurality of write commands, The communication method further comprises: In response to the data module of the second device receiving the plurality of write commands, a write response is sent to the sender.
25. The communication method according to claim 19, wherein: The multiple access requests are multiple read commands, and the receiving of the communication packet from the sender includes: receiving the communication packet from the sender by receiving a write command; The communication method further comprises: In response to the second device completing the plurality of read commands, a read response is sent to the sender.
26. A communication device, configured in a first device, comprising: an encapsulation module, configured to, in response to multiple access requests from a sender to multiple addresses in a receiver, obtain a communication packet obtained by encapsulating request information of the multiple access requests, wherein the request information of each of the multiple access requests includes an operation type and an operation address; The transmission module is configured to transmit the communication packet to the receiving party, so that the receiving party can parse the communication packet to obtain request information of each of the multiple access requests.
27. A communication device, configured in a second device, comprising: A receiving module, configured to receive a communication packet from a sender, wherein the communication packet is obtained by encapsulating request information of multiple access requests from the sender to multiple addresses in the receiver, and the request information of each of the multiple access requests includes an operation type and an operation address; a parsing module configured to parse the communication packet to obtain request information of each of the plurality of access requests; and The execution module is configured to execute the multiple access requests respectively according to the request information of each of the multiple access requests obtained by parsing.
28. An electronic device comprising: at least one processor, The memory non-temporarily stores computer-readable instructions, wherein when the computer-readable instructions are executed by the at least one processor, the communication method according to any one of claims 1-25 is performed.
29. A non-transitory storage medium that non-transitory stores computer-readable instructions, wherein: When the computer-readable instructions are executed by a computer, the communication method according to any one of claims 1 to 25 is performed.
Citation Information
Cited By
Communication method, communication apparatus, electronic device, and storage medium
EP4794311A1
Communication method, communication apparatus, electronic device, and storage medium
WO2026137692A1