CN115729879A - Data frame format, chip communication method and chip - Google Patents
Data frame format, chip communication method and chip Download PDFInfo
- Publication number
- CN115729879A CN115729879A CN202110994906.XA CN202110994906A CN115729879A CN 115729879 A CN115729879 A CN 115729879A CN 202110994906 A CN202110994906 A CN 202110994906A CN 115729879 A CN115729879 A CN 115729879A
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- transmitted
- field
- data frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 51
- 230000007246 mechanism Effects 0.000 abstract description 18
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 9
- 101100072644 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) INO2 gene Proteins 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229940012720 subsys Drugs 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000008358 core component Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
The application discloses a data frame format, a chip communication method and a chip, wherein the data frame format comprises a data field, a packet header field and a control field; the data field is used for packaging data to be transmitted of the data frame; the packet header field is used for encapsulating the destination address of the data frame; the control field is used for encapsulating control information, and the control information at least comprises a frame type code used for determining the operation type of the data frame. The data frame format provided by the embodiment of the application comprises the frame type coding added in the control domain, and the frame type coding can realize the transmission of data frames with different command types in the same data channel through coding, so that the data channel structure is simplified, the communication mechanism is improved, and the communication efficiency is improved.
Description
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data frame format, a chip communication method, and a chip.
Background
A chip (chip) is a core component of a hardware device. The chip technology and the computing power determine the data processing upper limit of the hardware product. As moore's law develops, chip design and fabrication are approaching the limits of moore's law, but hardware data processing requirements are rising. In this context, the miniaturization of chips, multi-DIE (DIE) packaging, will become a hardware design trend for processing big data in the future.
And (3) small chip packaging, namely packaging a plurality of chip bare chips into one chip, so that the yield of the chips in mass production is improved, and the design risk is reduced. The communication mechanism and the data format of communication between multiple dies often become the bottleneck of efficiency of communication between dies, and finally become the bottleneck of data processing of the whole chip.
Disclosure of Invention
Embodiments of the present application provide a data frame format, a chip communication method, and a chip, which are helpful for improving a data communication mechanism between bare chips and improving data transmission efficiency.
A first aspect of an embodiment of the present application provides a data frame format, where the data frame includes a data field, a packet header field, and a control field; wherein,
the data field is used for packaging data to be transmitted of the data frame;
the packet header field is used for encapsulating the destination address of the data frame;
the control field is used for encapsulating control information, and the control information at least comprises a frame type code used for determining the operation type of the data frame.
In the data frame format provided by the embodiment of the application, the frame type codes are added in the data frames, so that the transmission of the data frames with different command types in the same data channel can be realized, the code mode also reduces the proportion of non-effective data in the data frames as much as possible, and the codes have stronger anti-interference capability, so that the data frames coded by different frame types can share the code channel without mutual interference, the data channel structure is facilitated to be simplified, the communication mechanism is improved, the communication efficiency is improved, and the accuracy of data transmission is improved.
Optionally, the control information further includes:
a frame number for determining whether the data frame is valid; and/or
The frame length is used for representing the data length of the data to be transmitted; and/or
And the channel coding is used for representing a data channel for transmitting the data frame.
The frame number, the frame length and the channel coding can be used for verifying the validity of the data frame, the data length of the data to be transmitted and the data frame data channel, so that the transmitting end can simplify part of non-valid data in the data frame, such as a check field, a start character and an end character. Therefore, in the embodiment of the application, under the condition that the transmission performance of the data frame is not affected, the format of the data frame can be simplified to reduce the proportion of invalid data in the data frame, so that the influence of increasing frame type coding and the like on the communication efficiency is reduced while the communication efficiency is improved.
Optionally, the control domain, the header domain and the data domain are arranged in sequence; wherein the storage capacity of the control domain is 4 bytes.
Optionally, a reserved bit is set in the control field.
A second aspect of embodiments of the present application provides a chip communication method, where the chip includes a first die and a second die, where the method includes:
receiving a data frame, wherein the format of the data frame comprises a data field, a packet header field and a control field;
acquiring control information from the control domain, wherein the control information at least comprises a frame type code; and, obtain the destination address from the said packet header field;
determining the operation type of the data frame according to the frame type coding;
responding to the data to be transmitted packaged in the data domain indicated by the operation type, acquiring the data to be transmitted from the data domain and sending the data to the destination address; or, in response to that the data to be transmitted is not encapsulated in the data field indicated by the operation type, sending the data frame to the destination address.
The communication method provided by the embodiment of the application includes the data frame format, so that the communication method has the advantages of the data frame format, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
Optionally, the method further includes:
the control information also comprises a frame sequence number, and whether the data frame is valid is verified according to the frame sequence number; and/or
Responding to the data to be transmitted packaged in the data domain indicated by the operation type, acquiring the data to be transmitted from the data domain and sending the data to the destination address, wherein the method comprises the following steps:
responding to the data to be transmitted packaged in the data domain indicated by the operation type, and verifying whether the data to be transmitted is complete according to the frame length, wherein the control information further comprises the frame length which is used for representing the data length of the data to be transmitted;
and responding to the completeness of the verification of the data to be transmitted, acquiring the data to be transmitted from the data domain and sending the data to be transmitted to the destination address.
Optionally, the control information further includes a channel code, and the method further includes:
determining a data channel for sending the data frame according to the channel code;
and determining the sender of the data frame according to the data channel.
A third aspect of an embodiment of the present application provides a chip communication method, including:
determining data to be transmitted and/or a destination address and control information, wherein the control information at least comprises a frame type code and is used for determining the operation type of a data frame;
encapsulating the data to be transmitted and/or the destination address and the control information to obtain a data frame, wherein the data frame comprises a data field, a packet header field and a control field, the data field is used for encapsulating the data to be transmitted, the packet header field is used for encapsulating the destination address, and the control field is used for encapsulating the control information;
and transmitting the data frame.
The communication method provided by the embodiment of the application includes the data frame format, so that the communication method has the advantages of the data frame format, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
Optionally, the control information further includes one or more of a frame sequence number, a frame length, and a channel code, where the frame sequence number is used to determine whether the data frame is valid, the frame length is used to characterize the data length of the data to be transmitted, and the channel code is used to characterize a data channel through which the data frame is sent, and the method further includes:
encapsulating the one or more of the frame sequence number, frame length, and channel coding into the control domain.
A fourth aspect of an embodiment of the present application provides a chip comprising a first die and a second die, wherein,
the second die performs the chip communication method as described in the second aspect.
The storage medium provided by the embodiment of the application includes the chip communication method, so that the storage medium has the advantages of the chip communication method, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
A fifth aspect of embodiments of the present application provides a chip comprising a first die and a second die, wherein,
the first die performs the chip communication method of the third aspect.
The storage medium provided by the embodiment of the application includes the chip communication method, so that the storage medium has the advantages of the chip communication method, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
A sixth aspect of embodiments of the present application provides an electronic control unit including a chip as described in the fourth aspect.
The storage medium provided by the embodiment of the application includes the chip communication method, so that the storage medium has the advantages of the chip communication method, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
A seventh aspect of embodiments of the present application provides an electronic control unit, including the chip according to the fifth aspect.
The storage medium provided by the embodiment of the application includes the chip communication method, so that the storage medium has the advantages of the chip communication method, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
Drawings
FIG. 1 is a schematic diagram of data transmission for a multi-die chip architecture;
FIG. 2 is a diagram of a data frame structure;
fig. 3 is a schematic diagram of a format of a data frame according to an embodiment of the present application;
fig. 4 is a schematic diagram illustrating a format of a control field in a data frame according to an embodiment of the present application;
fig. 5 is a flowchart illustrating a chip communication method according to an embodiment of the application;
fig. 6 is a flowchart illustrating a chip communication method according to an embodiment of the present application.
Detailed Description
One multi-DIE chip structure is shown in fig. 1, in which DIE0 and DIE1 are two DIEs inside a packaged chip, and data transmission communication is performed between the two DIEs (DIE) through d2d subsys. In the process of die-to-die communication, the packet format and the communication processing mechanism of data determine the efficiency of communication between the dies, and thus determine the data processing capacity of the whole chip.
A structure of a data frame is shown in fig. 2, and includes a start symbol, a command symbol, a length symbol, a sequence number symbol, a data field, a check field, and an end symbol, where only the data field is valid data, i.e., data to be transmitted, and the rest is invalid data, i.e., related control and check information. The method comprises the following specific steps:
a start symbol: a start of data frame identifier of 1B (byte);
a command symbol: a Data frame corresponding command of 3-4DW (Data word,1 Data word is 4 bytes);
length symbol: frame length of a data frame of 1 DW;
sequence number symbol: a frame number of the data frame of 2B;
data field: data to be transmitted which is a data frame of 0-1024 DW;
and (4) check symbol: a Cyclic Redundancy Check (CRC) check information for a 1DW data frame;
an end symbol: end of data frame identification of 1B.
The applicant has studied and found that when data transmission is performed in a multi-die chip structure, such data frames are generally transmitted by using different data channels to determine the command type of the data frame, and such a data transmission mechanism not only requires multiple channels for transmitting data, but also causes transmission inefficiency due to channel switching when data frames of different command types are transmitted.
As shown in fig. 3, a first aspect of the embodiments of the present application provides a data frame format, which includes a data field, a packet header field, and a control field; wherein,
the data field is used for packaging data to be transmitted of the data frame; the data to be transmitted is effective data to be transmitted; optionally, in this embodiment of the application, the length of the data field may be 0 to 1024DW, that is, the data field may include valid data with a length of 0 to 1024DW, and the valid data is, for example, a data length of 16 DW.
The header field is used for encapsulating a destination address of the data frame, wherein the destination address is a physical address (MAC address) of a network adapter for receiving the data frame, when a receiving end receives a data frame, the destination address of the data frame is checked firstly, whether the destination address is the same as the physical address of the current receiving end is judged, and if the destination address is the same as the physical address of the current receiving end, the data frame is further processed; if not, it is discarded directly. Optionally, in this embodiment of the present application, the length of the packet header field may be, for example, 3-4DW, that is, the length of the destination address that the data frame may encapsulate is 3-4DW. The control field is used to encapsulate control information,
fig. 4 is a schematic format diagram of a control field in a data frame according to an embodiment of the present disclosure, as shown in fig. 4, the control information at least includes a frame type code for indicating an operation type of the data frame, where the operation type may be a data read operation, an address write operation, a write response operation, and the like, and different operation types may be customized according to service requirements. And the data encapsulated in the control fields of the data frames corresponding to different operation types may be different, the control fields of the data frames corresponding to some operation types may be encapsulated with data to be transmitted, and the control fields of the data frames corresponding to some operation types may not be encapsulated with data to be transmitted, for example, the data field of the data frame of the address write operation may include write data, and the data field of the data frame of the write response operation does not have data.
The operation type is encapsulated in an encoding mode, encoding is to endow information elements with codes, and original information can be replaced by symbols as few as possible, for example, frame type encoding 0 represents 64-bit address reading operation, frame type encoding 1 represents reading return data operation, frame type encoding 2 represents 32-bit address reading operation, frame type encoding 3 represents writing response operation, frame type encoding 4 represents 64-bit address writing operation, frame type encoding 6 represents 32-bit address writing operation, and the like.
The bit positions occupied by the frame type codes in the control domain are 4 bits, namely the 4 bits in the control domain are used for encapsulating the frame type coding information of the data frame. The frame type encoding may be one of 0-15, with different values representing different operation types, such as: "0" represents a 64-bit address read operation, "1" represents a data read operation, "2" represents a 32-bit address read operation, "3" represents a write response operation, "4" represents a 64-bit address write operation, "6" represents a 32-bit address write operation, and so on.
In the data frame format provided by the embodiment of the application, the frame type codes are added in the data frames, so that the transmission of the data frames with different command types in the same data channel can be realized, the code mode also reduces the proportion of non-effective data in the data frames as much as possible, and the codes have stronger anti-interference capability, so that the data frames coded by different frame types can share the code channel without mutual interference, the data channel structure is facilitated to be simplified, the communication mechanism is improved, the communication efficiency is improved, and the accuracy of data transmission is improved. Moreover, the data frame format provided by the embodiment of the present application can be applied to data transmission between DIE0 and DIE1 in a multi-DIE chip structure as shown in fig. 1, thereby achieving improvement of communication efficiency between DIEs and improving the overall data processing capability of the chip.
Further, in some embodiments, in order to ensure that the receiving end can confirm the sender, validity or integrity of the data frame, the control information may further include one or more of a channel code, a frame sequence number and a frame length.
Wherein the channel codes are used for characterizing data channels for transmitting the data frames, when data communication is performed between two DIEs (the present DIE and the pair DIE), in the present DIE, more than one sender who wants to transmit data to the pair DIE may be possible, such as cpu, npu, etc. of the present DIE, and different senders can be identified by encapsulating the corresponding channel codes. Optionally, the sending channel of the data frame may be stored in an encoding manner, where channel code 0 may represent a sending channel corresponding to a Central Processing Unit (cpu) of the sender, and channel code 1 may represent a sending channel corresponding to a network-processor (npu) of the sender, and so on. The bit occupied by the channel coding in the control domain is 3 bits, namely 3 bits in the control domain are used for encapsulating the channel coding information of the data frame, and the 3 bits can store binary representation of 8 states, namely 8 sending channels of 0-7 are supported. Then, the channel coding in the control information of the data frame may be one of 0-7, where in case that the transmission channel of the data and the sender are one-to-one mapped, 0 represents the data frame transmitted by cpu, and 1 represents the data frame transmitted by npu; it may be that 0 represents the data frame transmitted by npu, 1 represents the data frame transmitted by cpu, etc. In other embodiments, two or more senders may share one transmission channel, in which case, after the transmission channel of the data is determined by channel coding, only one sender range can be determined, which is suitable for the case where the sender does not need to be determined accurately. The data channel information is encapsulated by adopting an encoding mode, the proportion of non-effective data in the data frame is reduced, and the encoding has stronger anti-interference capability, so that the data frames encoded by different channels can share the encoding channel without mutual interference, and the accuracy of data transmission is favorably improved.
Specifically, the sending end generates the sequence numbers according to the sending sequence when sending data, and the receiving end receives the data frames in sequence, and can determine whether the received data frames are valid according to the sequence numbers. For example, in normal transmission, the transmission data starts from sequence number 0, that is, the frame sequence number of the first data frame to be transmitted is 0, the frame sequence number of the second data frame is 1, and the frame sequence number of the third data frame is 2, which are sequentially incremented, the receiving end receives the data frames according to the sequence of the frame sequence numbers, if the receiving end finds that the frame sequence numbers of the received data frames are not consecutive, the current data frame may be considered invalid, and corresponding processing is performed, where the processing is, for example: requiring the sender to retransmit, etc. Optionally, the bit occupied by the frame sequence number in the control field is 12 bits, and a maximum of 4096 sequence numbers can be supported.
For example, in normal transmission, the receiving end may compare the frame length of the data to be transmitted with the actual length of the received data, and when the frame length is inconsistent with the actual length, the receiving end may determine that the received data frame is incomplete. Optionally, the frame length of the data frame may also be stored in an encoding manner, that is, frame length encoding 0 indicates that the data length is 1DW, frame length encoding 1 indicates 2DW, frame length encoding 2 indicates 3DW, … …, and frame length encoding 1023 indicates 1024DW. Further, the frame length occupies 11 bits in the control domain, and can support 0-1024DW.
As shown in fig. 4, reserved bits are reserved in the control field, that is, reserved bits are not used temporarily, and the application can be extended in the future, where the reserved bits may be one or more than one, and each reserved bit size is 1 bit. For example, a reserved bit is set between the frame type and the frame length, and when the command type is increased or changed, the frame type is extended by the reserved bit to support more command types; when the data length is changed, the frame length can be extended by the reserved bit; alternatively, the reserved bits are set before the data channels to increase the number of the data channels and increase different data transmission sources.
In some embodiments, the storage capacity of the control field is 1DW (i.e. 4 bytes, 32 bits), optionally, the frame type code occupies 4 bits of the control field, the frame number occupies 12 bits of the control field, the frame length occupies 10 bits of the control field, and the channel code occupies 3 bits of the control field. And 3-bit reserved bits are arranged in the control domain, and specifically comprise a first reserved bit and a second reserved bit. Further optionally, for the control field, the bit position of the frame number, the bit position of the frame length, the first reserved bit, the bit position of the frame type code, the bit position of the channel code, and the second reserved bit are sequentially ordered. Illustratively, bit [11 ] is a Bit in which a frame number is located, bit [ 21. The first reserved bit and the bit sequence of the frame type code can be used to support the extension of the frame type code, that is, when the total frame types of the data frame are more than 16, the current 4 bits cannot be supported, and the extension to the first reserved bit is realized. Likewise, the second reserved bit may be used to support extension of channel coding.
In some embodiments, the data channel, the frame type, the frame length, and the frame number of the control field are arranged according to the bit size occupied by the data channel, the frame type, the frame length, and the frame number in the control field, or are sorted according to the order verified by the receiving end. Further, priorities may be set according to the ordering of the data channel, the frame type, the frame length, and the frame number in the control domain, for example, the receiving end verifies the data channel, the frame type, the frame length, and the frame number according to the set priorities in the process of verifying the control domain.
The applicant further finds that the transmission efficiency of the data frame is a ratio of valid data to a sum of valid data and invalid data, and assuming that the information amount of the data field is 16DW and the information amount of the command (header field) is 4DW, the effective transmission efficiency of the data frame shown in fig. 2 is:
data field/(start symbol + end symbol + command symbol + length symbol + sequence symbol + data field + check symbol) =
16×4B/(1B+1B+4×4B+1×4B+2B+16×4B+1×4B)=64/92=69.56%
In this embodiment, the validity and integrity of the data frame may be verified based on the frame sequence number and the frame length, so that the transmitting end may simplify part of the non-valid data in the data frame. Similarly, assuming that the information amount in the data field of the data frame in this embodiment is 16DW, the information amount in the header field is 4DW, and the information amount in the control field is 1DW, the effective transmission efficiency of the data frame in this embodiment is:
data field/(data field + packet header field + control field) =
16×4B/(16×4B+4×4B+1×4B)=64/84=76.19%。
Therefore, in the embodiment of the application, under the condition that the transmission performance of the data frame is not affected, the format of the data frame can be simplified to reduce the proportion of invalid data in the data frame, so that the influence of increasing frame type coding and the like on the communication efficiency is reduced while the communication efficiency is improved. Specifically, under normal transmission, the control field of each data frame has control information such as frame type coding, frame length, etc., so that according to the format of the data frame of the embodiment of the present invention, each data frame can be identified only by the control field of 1DW. And after a data frame is finished, if a new effective packet is continuously received, the beginning of a new data frame is determined, namely, the control field of the next data frame is identified, the receiving completion of the previous data frame can be judged, and the next data frame is started to be received.
The applicant also finds that, when data transmission is performed in a multi-die chip structure, verification needs to be performed in a communication control logic portion, which may cause transmission delay, thereby affecting transmission efficiency, and the embodiments of the present application consider that received data frames are correct, because correctness of the data frames is verified in a physical layer analog circuit PHY (another control portion of a d2d system), verification information in the data frames is removed, and only frame numbers of the data frames are checked, thereby reducing transmission delay and optimizing physical implementation.
As shown in fig. 5, a second aspect of the embodiments of the present application provides a chip communication method, including:
s1, receiving a data frame, wherein the format of the data frame comprises a data field, a packet header field and a control field; the sequence of the data field, the header field, and the control field shown in fig. 3 is an example, and does not form a specific limitation of the present application. Further, in this embodiment, the data length in the data field may be 0 to 1024 DWs, the data length in the header field may be 3 to 4 DWs, and the data length in the control field may be 1DW.
S2, acquiring control information from the control domain, wherein the control information at least comprises a frame type code; and acquiring a destination address from the packet header domain.
And S3, determining the operation type of the data frame according to the frame type code. I.e., by frame type encoding in the control field of the data frame, the type of operation of the received data frame can be determined.
S4, responding to the data to be transmitted packaged in the data domain indicated by the operation type, acquiring the data to be transmitted from the data domain and sending the data to the destination address; or, in response to that the data to be transmitted is not encapsulated in the data field indicated by the operation type, sending the data frame to the destination address. For different operation types, data to be transmitted may or may not be encapsulated in the data field, for example, if the operation type of the received data frame is address write operation, data to be written (i.e., data to be transmitted) is encapsulated in the data field, at this time, the data to be written needs to be obtained from the data field and then written into the destination address. If the operation type of the received data frame is write response operation, the data field of the received data frame does not have encapsulated data, and at the moment, only the information of the data frame, namely the control field and the packet header field, needs to be sent to the destination address.
The data frame format provided by the embodiment of the application comprises the frame type codes added in the control domain, and the frame type codes added in the data frames can realize the transmission of the data frames with different command types in the same data channel through coding, so that the data channel structure is simplified, the communication mechanism is improved, and the communication efficiency is improved.
In some embodiments, the control information may further include one or more of a channel code, a frame sequence number, and a frame length.
The control information further includes a channel code, and the channel code is used for representing a data channel for transmitting the data frame. The method further comprises the following steps: determining a data channel for sending the data frame according to the channel code; and determining the sender of the data frame according to the data channel.
Wherein, the control information also includes a frame number. The chip communication method further includes: and verifying whether the data frame is valid according to the frame sequence number. Further, determining whether the data frame is valid according to the frame number in the control field in the acquired data frame includes: acquiring a frame sequence number in a control domain in a previous data frame; determining that the current data frame is valid in response to the frame number in the control field in the previous data frame being consecutive to the frame number in the control field in the current data frame; and determining that the current data frame is invalid in response to the frame number in the control field in the previous data frame not being consecutive with the frame number in the control field in the current data frame.
The control information further includes a frame length, and the frame length is used for representing the data length of the data to be transmitted. Responding to the data to be transmitted packaged in the data domain indicated by the operation type, acquiring the data to be transmitted from the data domain and sending the data to the destination address, wherein the step comprises the following steps: responding to the data to be transmitted packaged in the data domain indicated by the operation type, and verifying whether the data to be transmitted is complete or not according to the frame length; and responding to the completeness of the verification of the data to be transmitted, acquiring the data to be transmitted from the data domain and sending the data to the destination address. Further, the step of verifying whether the data to be transmitted is complete according to the frame length includes: acquiring the actual length of data to be transmitted in a current data frame; determining that the current data frame is complete in response to the fact that the actual length of the data to be transmitted in the current data frame is consistent with the frame length in the control domain in the current data frame; and determining that the current data frame is incomplete in response to the fact that the actual length of the data to be transmitted in the current data frame is not consistent with the frame length in the control domain in the current data frame.
As shown in fig. 4, in some embodiments, the data channel, the frame type, the frame length, and the frame number of the control field are arranged according to the bit size occupied by the data channel, the frame type, the frame length, and the frame number in the control field, or are sorted according to the order verified by the receiving end. Furthermore, priorities may be set according to the sequence of the data channel, the frame type, the frame length, and the frame number in the control domain, for example, the receiving end verifies the data channel, the frame type, the frame length, and the frame number according to the set priorities in the process of verifying the control domain.
On the basis of the foregoing embodiment, the frame number, the frame length, and the channel code may be used to verify validity of a data frame, a data length of data to be transmitted, and a channel for sending the data frame data, respectively, so that a sending end may simplify part of non-valid data in the data frame, such as a check field, a start symbol, and an end symbol. Therefore, in the embodiment of the application, under the condition that the transmission performance of the data frame is not affected, the format of the data frame can be simplified to reduce the proportion of invalid data in the data frame, so that the influence of increasing frame type coding and the like on the communication efficiency is reduced while the communication efficiency is improved.
In addition, when the existing data frame is adopted for data transmission, verification needs to be realized in a communication control logic part, which causes transmission delay, so that transmission efficiency is affected.
Based on the same inventive concept, a third aspect of the embodiments of the present application provides a chip communication method, as shown in fig. 6, including:
s11, determining data to be transmitted and/or a destination address and control information, wherein the control information at least comprises a frame type code and is used for determining the operation type of a data frame; for example, if the operation type is address write operation, the data to be transmitted needs to be determined, and if the operation type is write response operation, the data to be transmitted does not need to be determined.
S12, encapsulating the data to be transmitted and/or the destination address and the control information to obtain the data frame, wherein the data frame comprises a data field, a packet header field and a control field, the data field is used for encapsulating the data to be transmitted, the packet header field is used for encapsulating the destination address, and the control field is used for encapsulating the control information. The arrangement order of the data field, the packet header field, and the control field shown in fig. 3 is an example, and does not constitute a specific limitation of the present application. Further, in this embodiment, the data length in the data field may be 0 to 1024 DWs, the data length in the header field may be 3 to 4 DWs, and the data length in the control field may be 1DW.
And S13, sending the data frame.
The data frame format provided by the embodiment of the application comprises the frame type codes added in the control domain, and the frame type codes added in the data frames can realize the transmission of the data frames with different command types in the same data channel through coding, so that the data channel structure is simplified, the communication mechanism is improved, and the communication efficiency is improved.
In some embodiments, the control information further includes one or more of a frame sequence number, a frame length, and a channel coding, where the frame sequence number is used to determine whether the data frame is valid, the frame length is used to characterize the data length of the data to be transmitted, and the channel coding is used to characterize a data channel through which the data frame is sent, and the S12 further includes: encapsulating the one or more of the frame sequence number, frame length, and channel coding into the control domain.
On the basis of the foregoing embodiment, the frame number, the frame length, and the channel code may be used to verify validity of the data frame, the data length of the data to be transmitted, and a data frame data channel, respectively, so that the transmitting end may simplify part of non-valid data in the data frame, such as a check field, a start symbol, and an end symbol. Therefore, in the embodiment of the application, under the condition that the transmission performance of the data frame is not affected, the format of the data frame can be simplified to reduce the proportion of invalid data in the data frame, so that the influence of increasing frame type coding and the like on the communication efficiency is reduced while the communication efficiency is improved.
In addition, when the existing data frame is adopted for data transmission, verification needs to be realized in a communication control logic part, which causes transmission delay, so that transmission efficiency is affected.
To facilitate understanding of the technical solutions of the embodiments, an inter-die communication scheme is provided below. For example, the chip includes DIE0 and DIE1, and the technical solution of the embodiment is described by taking an example of sending a data frame to DIE1 by DIE0, which is exemplary: the 16DW data information (i.e. the data to be transmitted) is written from the cpu of DIE0 to the hexadecimal address information with the destination address of 64bit (data bit) and the frame number of 0 in the destination address of DIE1 of 64'hFFFF _0000_5555 _0000'. The specific process is as follows:
1. encapsulating 16DW write data (i.e., data to be transmitted) into a "data field" of the data frame;
2. encapsulating 64bit address information ' 64' hFFFF _0000_5555_0000 ' (namely, destination address) into a ' header field ' of a data frame, wherein the capacity of the header field is 3-4DW, the 64bit address occupies 2DW, and the rest 1-2DW are encapsulated into different control information according to a transmitted bus protocol, for example, for a bus axi write protocol, the rest 1-2DW are encapsulated into axi bus related control information;
3. encapsulating sender information "0" into a "channel code" of the control field; the sending channel of the data frame can be stored in a coding mode, and the channel code 0 represents the sending channel corresponding to the CPU of the sender;
4. encapsulating the operation command "4" into the "frame type encoding" of the control field; the frame type of the data frame can be stored in a coding mode, and the frame type code 4 represents 64-bit address writing operation; illustratively, frame type code 0 represents a 64-bit address read operation, frame type code 1 represents a read return data operation, frame type code 2 represents a 32-bit address read operation, frame type code 3 represents a write response operation, frame type code 6 represents a 32-bit address write operation, etc.;
5. encapsulating length information '15' of the data frame into a 'frame length' of a control domain; the data length of the data frame can be stored by a coding mode, the frame length code 0 represents that the data length is 1DW, the frame length code 1 represents 2DW, the frame length code 2 represents 3DW, and so on, and the data information of the 16DW in the embodiment can be represented by the frame length code 15;
6. encapsulating the sequence number '0' of the data frame into the 'frame sequence number' of the control field; the sequence number may be generated by the sender according to the sending order;
7. after the data frame is packaged, data transmission communication is carried out through d2d subsys, and the packaged data frame is sent to the DIE1 from the DIE 0;
after DIE1 receives the data frame, the write data (i.e., the data to be transmitted in 16 DW), the sender information, the operation command, the serial number of the data frame, and the length information of the data frame are obtained from each field of the "control field" according to the inverse process of the transmission, and then the write data is transmitted to the destination of DIE1 by the controller logic of d2d subsys.
Based on the same inventive concept, a fourth aspect of the embodiments of the present application provides a chip, which includes a first die and a second die, wherein the first die performs:
determining data to be transmitted and/or a destination address and control information, wherein the control information at least comprises a frame type code and is used for determining the operation type of a data frame;
encapsulating the data to be transmitted and/or the destination address and the control information to obtain the data frame, wherein the data frame comprises a data field, a packet header field and a control field, the data field is used for encapsulating the data to be transmitted, the packet header field is used for encapsulating the destination address, and the control field is used for encapsulating the control information;
and transmitting the data frame.
Based on the same inventive concept, a fifth aspect of the embodiments of the present application provides a chip, which includes a first die and a second die, wherein the second die performs:
receiving a data frame, wherein the format of the data frame comprises a data field, a packet header field and a control field;
acquiring control information from the control domain, wherein the control information at least comprises a frame type code; and, obtain the destination address from the said packet header field;
determining the operation type of the data frame according to the frame type coding;
responding to the data to be transmitted packaged in the data domain indicated by the operation type, acquiring the data to be transmitted from the data domain and sending the data to the destination address; or, in response to that the data to be transmitted is not encapsulated in the data field indicated by the operation type, sending the data frame to the destination address.
The storage medium provided by the embodiment of the application includes the chip communication method, so that the storage medium has the advantages of the chip communication method, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
A sixth aspect of embodiments of the present application provides an electronic control unit including a chip as described in the fourth aspect.
The storage medium provided by the embodiment of the application includes the chip communication method, so that the storage medium has the advantages of the chip communication method, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
A seventh aspect of embodiments of the present application provides an electronic control unit, including the chip according to the fifth aspect.
The storage medium provided by the embodiment of the application includes the chip communication method, so that the storage medium has the advantages of the chip communication method, and is beneficial to improving a data communication mechanism and improving data transmission efficiency.
The embodiment of the invention provides a board card, wherein the board card comprises the chip in the fifth aspect or the fifth aspect.
The embodiment of the invention provides a server, which comprises the board card.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, various aspects of embodiments of the invention may take the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," module "or" system.
Various aspects of embodiments of the invention may take the form of: the computer program product is embodied in one or more computer readable media having computer readable program code embodied thereon.
Any combination of one or more computer-readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of embodiments of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to: electromagnetic, optical, or any suitable combination thereof. The computer readable signal medium may be any of the following computer readable media: is not a computer readable storage medium and may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of embodiments of the present invention may be written in any combination of one or more programming languages, including: object oriented programming languages such as Java, smalltalk, C + +, and the like; and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package; executing in part on a user computer and in part on a remote computer; or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention described above describe aspects of embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
It should be understood that the above-described embodiments of the present application are only intended to illustrate or explain the principles of the application and do not constitute a limitation of the application. Therefore, any modifications, equivalents, improvements and the like which are made without departing from the spirit and scope of the present application shall be included in the protection scope of the present application. Further, it is intended that the appended claims cover all such variations and modifications as fall within the scope and boundary of the appended claims, or the equivalents of such scope and boundary.
Claims (10)
1. A data frame format comprising a data field, a packet header field, and a control field; wherein,
the data field is used for packaging data to be transmitted of the data frame;
the packet header field is used for encapsulating the destination address of the data frame;
the control field is used for encapsulating control information, and the control information at least comprises a frame type code used for determining the operation type of the data frame.
2. The data frame format of claim 1, wherein the control information further comprises:
a frame number for determining whether the data frame is valid; and/or
The frame length is used for representing the data length of the data to be transmitted; and/or
And the channel coding is used for representing a data channel for transmitting the data frame.
3. The data frame format according to claim 1 or 2,
the control domain, the packet header domain and the data domain are arranged in sequence; wherein the storage capacity of the control domain is 4 bytes.
4. The data frame format according to claim 1 or 2, characterized in that a reserved bit is set in the control field.
5. A method of chip communication, comprising:
receiving a data frame, wherein the format of the data frame comprises a data field, a packet header field and a control field;
acquiring control information from the control domain, wherein the control information at least comprises a frame type code; and, obtain the destination address from the said packet header field;
determining the operation type of the data frame according to the frame type coding;
responding to the data to be transmitted packaged in the data domain indicated by the operation type, acquiring the data to be transmitted from the data domain and sending the data to the destination address; or, in response to that the data to be transmitted is not encapsulated in the data field indicated by the operation type, sending the data frame to the destination address.
6. The method of claim 5, further comprising:
the control information also comprises a frame sequence number, and whether the data frame is valid is verified according to the frame sequence number; and/or
Responding to the data to be transmitted packaged in the data domain indicated by the operation type, acquiring the data to be transmitted from the data domain and sending the data to the destination address, wherein the method comprises the following steps:
responding to the data to be transmitted packaged in the data domain indicated by the operation type, and verifying whether the data to be transmitted is complete according to the frame length, wherein the control information further comprises the frame length which is used for representing the data length of the data to be transmitted;
and responding to the completeness of the verification of the data to be transmitted, acquiring the data to be transmitted from the data domain and sending the data to be transmitted to the destination address.
7. The method according to claim 5 or 6, wherein the control information further comprises channel coding, and the method further comprises:
determining a data channel for sending the data frame according to the channel code;
and determining the sender of the data frame according to the data channel.
8. A method of chip communication, comprising:
determining data to be transmitted and/or a destination address and control information, wherein the control information at least comprises a frame type code and is used for determining the operation type of a data frame;
encapsulating the data to be transmitted and/or the destination address and the control information to obtain the data frame, wherein the data frame comprises a data field, a packet header field and a control field, the data field is used for encapsulating the data to be transmitted, the packet header field is used for encapsulating the destination address, and the control field is used for encapsulating the control information;
and transmitting the data frame.
9. The method of claim 8, wherein the control information further includes one or more of a frame sequence number, a frame length, and a channel coding, the frame sequence number being used to determine whether the data frame is valid, the frame length being used to characterize a data length of the data to be transmitted, the channel coding being used to characterize a data channel over which the data frame is sent, the method further comprising:
encapsulating the one or more of the frame sequence number, frame length, and channel coding into the control domain.
10. A chip comprising a first die and a second die, wherein the second die performs the chip communication method of any of claims 5-7; and/or the first die performs the chip communication method of any of claims 8 or 9.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994906.XA CN115729879A (en) | 2021-08-27 | 2021-08-27 | Data frame format, chip communication method and chip |
PCT/CN2022/115214 WO2023025299A1 (en) | 2021-08-27 | 2022-08-26 | Data frame format, chip communication method, and chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994906.XA CN115729879A (en) | 2021-08-27 | 2021-08-27 | Data frame format, chip communication method and chip |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729879A true CN115729879A (en) | 2023-03-03 |
Family
ID=85290277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110994906.XA Pending CN115729879A (en) | 2021-08-27 | 2021-08-27 | Data frame format, chip communication method and chip |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115729879A (en) |
WO (1) | WO2023025299A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115964333B (en) * | 2023-03-17 | 2023-06-09 | 之江实验室 | Communication method of multi-chip neural network algorithm based on FPGA main control |
US12019571B1 (en) | 2023-03-17 | 2024-06-25 | Zhejiang Lab | Communication method for multi-chip neural network algorithm based on FPGA main control |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085266B2 (en) * | 2001-03-21 | 2006-08-01 | International Business Machines Corporation | Apparatus, method and limited set of messages to transmit data between components of a network processor |
CN102760109B (en) * | 2012-06-15 | 2016-03-30 | 华为技术有限公司 | The communication means of data, Apparatus and system |
CN213338708U (en) * | 2020-09-24 | 2021-06-01 | 成都忆芯科技有限公司 | Control unit and storage device |
CN112583683B (en) * | 2020-12-29 | 2021-10-15 | 中国科学院声学研究所 | Master-slave CAN FD bus application layer communication method and system and electronic equipment |
-
2021
- 2021-08-27 CN CN202110994906.XA patent/CN115729879A/en active Pending
-
2022
- 2022-08-26 WO PCT/CN2022/115214 patent/WO2023025299A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023025299A1 (en) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023025299A1 (en) | Data frame format, chip communication method, and chip | |
US11023412B2 (en) | RDMA data sending and receiving methods, electronic device, and readable storage medium | |
CN113179216B (en) | Remote configuration method of register, computer equipment and storage medium | |
US9489328B2 (en) | System on chip and method for accessing device on bus | |
WO2008148278A1 (en) | Method for exchanging large-capacity data between mobile terminal and smart card | |
US9565251B2 (en) | Method and apparatus to reduce FLASH memory device programming time over a C.A.N. bus | |
US20150052405A1 (en) | Data bus network interface module and method therefor | |
CN112422485B (en) | Communication method and device of transmission control protocol | |
CN115632976A (en) | PCIE transaction layer message generation method, device and storage medium | |
TW201721320A (en) | Method for controlling industry equipment, and system for controlling industry equipment | |
WO2022111326A9 (en) | Data transmission method and apparatus, electronic device and storage medium | |
KR20170117326A (en) | Direct memory access control device for at least one processing unit having a random access memory | |
KR20240046830A (en) | On-demand packetization for chip-to-chip interfaces | |
CN110489361B (en) | I3C interface circuit compatible with SRAM bus | |
CN116055350B (en) | Json-based data communication quality detection method | |
WO2023024720A1 (en) | Data transmission method and system, integrated circuit, multi-chip structure, and electronic device | |
CN112540944B (en) | Parallel bus protocol and method for realizing data interaction between boards based on protocol | |
CN116893987B (en) | Hardware acceleration method, hardware accelerator and hardware acceleration system | |
CN113395285B (en) | Network layer communication method between CPU and FPGA | |
CN114071572B (en) | Code block segmentation method, device and computer readable storage medium | |
EP3591535B1 (en) | Addressing mechanism | |
CN117336169A (en) | Configuration method, device, chip, switch and medium of Ethernet flow table | |
CN118250344A (en) | Storage device for faster transmission of frame sequence number and credit information and method of operation thereof | |
CN118200418A (en) | SPI communication data analysis simulation method, device, equipment and storage medium | |
CN114785452A (en) | Multi-channel data transmission method fusing terminal USB |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |