A method for assigning synchronous control information to input three-dimensional data information
By combining the channel, width and height information of the three-dimensional data with the data and transmitting it to the computing module, the problem of lack of positioning information in the three-dimensional data transmission is solved, and efficient three-dimensional data transmission and cache area reduction are achieved.
Patent Information
- Application Number
- CN202411533772.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2044-10-31
AI Technical Summary
When processing three-dimensional data, the hardware circuit cannot transmit the three-dimensional data as a whole, resulting in disassembly and transmission. The storage module lacks positioning information when transmitting data to the computing module, resulting in difficulty in data recovery.
By storing the channel, width and height information of the three-dimensional data into the cache area, matching the data sent from the storage area, and then sending it to the computing module, and combining the data with the positioning information in the three-dimensional data block, reducing the space occupied by the positioning information.
The three-dimensional data block transmission of the operation module is realized, which reduces the data transmission waiting time, and reduces the size of the on-chip cache area by reducing the number of bits of the positioning information.
Smart Images

Figure CN119045748B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of computer data processing, and in particular relates to a method for assigning synchronous control information to input three-dimensional data information. Background Art
[0002] As neural network artificial intelligence algorithms become more and more popular, hardware circuits are also required to implement these algorithms. Hardware circuits can implement the important part of the algorithm, convolution, by multiplying and accumulating three-dimensional data. During the transmission of three-dimensional data, since hardware circuits can only transmit multi-bit data and cannot transport the three-dimensional data as a whole, it is necessary to disassemble and transmit the three-dimensional data in a certain direction and order. The module that processes three-dimensional data needs to request the required data from the storage module, but the storage area does not carry the positioning information such as channel, width and height when sending data to the module that processes the data. The module that processes the data needs the positioning information of the three-dimensional data to restore the data transmitted into the module into a three-dimensional data block. Therefore, a method for packaging positioning information with data information is needed. Summary of the invention
[0003] The purpose of the present invention is to overcome the above-mentioned shortcomings of the prior art. The present invention provides a method for assigning synchronization control information to input three-dimensional data information. The present invention puts the channel, width, and height information of the three-dimensional data into a buffer area and matches it with the data sent from the storage area before sending it to the calculation module for processing the data. Since the length, width, and height information bits occupy more space, in order to minimize the size of the buffer area, the channel, width, and height information of the data are not directly stored, but the data is merged with the positioning information in the three-dimensional data block.
[0004] In order to solve the above technical problems, the present invention provides a method for assigning synchronization control information to input three-dimensional data information, comprising the following steps:
[0005] Step 1: After the request data packet is sent to the external storage module, the control information is packaged and stored in the RAM of the buffer module, which is recorded as ramA;
[0006] Step 2: After the requested 3D data enters the buffer module, it is also stored in ram, recorded as ramB;
[0007] Step 3: When the three-dimensional data information stored in ramB is taken out, the corresponding control information in ramA is taken out simultaneously;
[0008] Step 4: Count the three-dimensional data information output by ramB. When the counter reaches the size information, take out the next control information in ramA and reset the counter.
[0009] Step 5: Pack the positioning mark of the control information in ramA and all the extracted three-dimensional data information in ramB and send them to the next-level computing module.
[0010] Preferably, the request data packet in step 1 includes address and size information; wherein the address is jumped and transmitted according to the width channel, width, and height directions; and the size information is output according to the actual requirements of the three-dimensional data width.
[0011] Preferably, the control information stored in step 1 includes channel, width, height and size information.
[0012] Preferably, the channel, width and height information are, in order: the last data flag in the channel direction, the last data flag in the width direction and the last data flag in the height direction of the data.
[0013] Preferably, in step 1, each request data packet can only request a maximum of 8 data. If the width of the three-dimensional data is less than 8, the size information is the actual width. If the width of the three-dimensional data is greater than 8, the actual width is divided by 8. Assuming that the quotient of the actual width divided by 8 is x, the size information of the first x request signals is 8, and the size information of the x+1th request signal is the last three digits of the actual width.
[0014] The present invention also provides a device for assigning synchronization control information to input three-dimensional data information, using the method for assigning synchronization control information to input three-dimensional data information as described above, including a buffer module, the buffer module is connected between the storage module and the operation module; the buffer module includes:
[0015] reg module, the reg module is responsible for obtaining the specific information of three-dimensional data;
[0016] The tr module sends the request to the storage module and sends the control information to ramA;
[0017] After receiving the information returned by the storage module, the re module first puts the data into ramB.
[0018] Preferably, the three-dimensional data is stored in the storage module in the order of width, height, and channel.
[0019] Preferably, the three-dimensional data required by the operation module is transmitted in the order of width, channel and height.
[0020] Compared with the prior art, the present invention has the following beneficial effects:
[0021] The present invention provides a method for assigning synchronization control information to input three-dimensional data information, which is used to send a three-dimensional data block of a clear size to a module that needs to perform a convolution operation. Since the storage module does not contain any size information of the three-dimensional data block when transmitting data to the operation module, and the order in which the data is stored in the storage module is not the same as the order required by the operation module, it is necessary to merge the data with the positioning information in the three-dimensional data block before transmitting the data to the operation module. By rearranging the transmission of the three-dimensional data, the time for waiting for data is saved for the subsequent operation module, the size of the on-chip cache area is reduced by reducing the size of the three-dimensional data to a 3-bit flag bit, and the size of the three-dimensional data is clarified for the operation module by adding a flag bit to the three-dimensional data. The present invention reduces the original 39-bit positioning information such as channel, width and height to the last 3-bit flag bit, reducing the space occupied by the position information. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 It is a structural block diagram of a device for assigning synchronization control information to three-dimensional data information according to the present invention.
[0023] Figure 2 This is a schematic diagram of a hypothetical three-dimensional data and its storage order in memory.
[0024] Figure 3 This is the transmission order of the three-dimensional data required by the operation module Figure 1 .
[0025] Figure 4 This is the transmission order of the three-dimensional data required by the operation module Figure 2 .
[0026] Figure 5 This is the transmission order of the three-dimensional data required by the operation module Figure 3 .
[0027] Figure 6 This is the data block that will appear in the positioning information flag bit. Figure 1 .
[0028] Figure 7 This is the data block that will appear in the positioning information flag bit. Figure 2 .
[0029] Figure 8 This is the data block that will appear in the positioning information flag bit. Figure 3 . DETAILED DESCRIPTION
[0030] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. The advantages and features of the present invention will become more apparent from the following description. It should be noted that the accompanying drawings are in very simplified form and in non-precise proportions, and are only used to conveniently and clearly assist in explaining the purpose of the embodiments of the present invention.
[0031] like Figure 1 As shown, the present invention is a device for assigning synchronous control information to input three-dimensional data information, using a buffer area module, connected between an external storage module and a next-level operation module, the reg module is responsible for obtaining specific information of the three-dimensional data, the tr module sends a request to the storage module, and sends control information to ramA. When the re module receives the information returned by the storage module, it first puts the data into ramB. The control information in ramA is taken out, and the data in ramB is taken out and counted at the same time, and the data and control information are packaged and transmitted to the operation module.
[0032] The embodiment of the present invention specifically provides a method for assigning synchronization control information to input three-dimensional data information, comprising the following steps:
[0033] Step 1: When the request data packet is sent to the target cache, the control information is synchronously packaged and stored in the RAM of the cache module, which is recorded as ramA;
[0034] Step 2: After the requested 3D data enters the buffer module, it is also stored in ram, recorded as ramB;
[0035] Step 3: When the three-dimensional data information stored in ramB is taken out, the corresponding control information in ramA is taken out simultaneously;
[0036] Step 4: Count the three-dimensional data information output by ramB. When the counter reaches the size information, take out the next control information in ramA and reset the counter.
[0037] Step 5: Pack the positioning mark of the control information in ramA and all the extracted three-dimensional data information in ramB and send them to the next-level computing module.
[0038] The request data packet in step 1 includes address and size information; wherein the address is jumped and transmitted according to the width channel, width, and height directions; and the size information is output according to the actual requirements of the three-dimensional data width.
[0039] The control information stored in step 1 includes channel, width, height and size information.
[0040] When the request data packet is sent to the target cache, the channel, width, height and size information are packaged and stored in ramA. Because the specific information of channel, width and height takes up more information, in order to reduce the size of ramA, only the data flag of the last channel direction, the last data flag of the width direction and the last data flag of the height direction of this data are stored. Depending on the actual width, each request data packet may correspond to a different amount of data. When taking the data stored in ramB, the control information in ramA needs to be taken out synchronously.
[0041] In step 1, each request data packet can only request 8 data at most. If the width of the three-dimensional data is less than 8, the size information is the actual width. If the width of the three-dimensional data is greater than 8, the actual width is divided by 8. Assuming that the quotient of the actual width divided by 8 is x, the size information of the first x request signals is 8, and the size information of the x+1th request signal is the last three digits of the actual width.
[0042] like Figure 2 As shown, the order in which the three-dimensional data is stored in the storage module is Figure 2 The numerical order of the identifiers is stored in the direction of width, height, and channel.
[0043] like Figures 3-5 As shown in the figure, the three-dimensional data required by the operation module is transmitted in the order of width, channel, and height. And because of the operation requirements, only 8 width-direction data are needed each time. Therefore, when the width is greater than 8, the actual transmission order is width, channel, width, channel, until the width direction transmission is completed, and then the next height data is transmitted.
[0044] like Figures 6-8 As shown in the figure, the last channel data of each width of this three-dimensional data will have the mark of the last channel, and the last width is all the data returned by a data request. If the three-dimensional data width is equal to 8 or less than 8, all data will have the mark of the last width. If the three-dimensional data width is greater than 8, such as Figure 7 As shown in the figure, the data within the bold frame are marked with the last width. Figure 8 As shown, all widths and channel directions of the last row of 3D data are marked with the last height mark. Figure 7 The 119 bits in the middle and the masked 118 bits will be the last width, the last channel, and the last height.
[0045] The above description is only a description of the preferred embodiments of the present invention, and is not intended to limit the scope of the present invention. Any changes or modifications made by a person skilled in the art in the field of the present invention based on the above disclosure shall fall within the scope of protection of the claims.
Claims
1. A method for providing synchronization control information to input three-dimensional data information, characterized in that: The steps include: Step 1: When the request data packet is sent to the external storage module, the control information is synchronously packaged and stored in the RAM of the buffer module, which is recorded as ramA; Step 2: After the requested 3D data enters the buffer module, it is also stored in ram, recorded as ramB; Step 3: When the three-dimensional data information stored in ramB is taken out, the corresponding control information in ramA is taken out simultaneously; Step 4: Count the three-dimensional data information output by ramB. When the counter reaches the size information, take out the next control information in ramA and reset the counter. Step 5: Pack the positioning mark of the control information in ramA and all the extracted three-dimensional data information in ramB and send them to the next-level computing module; The request data packet in step 1 includes address and size information; The address is transferred in jumps according to the channel, width and height directions; the size information is output according to the actual requirements of the three-dimensional data width; The control information stored in step 1 includes channel, width, height and size information; The channel, width and height information are, in order: the last data flag in the channel direction, the last data flag in the width direction and the last data flag in the height direction of the data.
2. A method for assigning synchronization control information to input three-dimensional data information as claimed in claim 1, characterized in that: In step 1, each request data packet can only request 8 data. If the width of the three-dimensional data is less than 8, the size information is the actual width. If the width of the three-dimensional data is greater than 8, the actual width is divided by 8. Assuming that the quotient of the actual width divided by 8 is x, the size information of the first x request signals is 8, and the size information of the x+1th request signal is the last three digits of the actual width.
3. A device for assigning synchronization control information to input three-dimensional data information, using a method for assigning synchronization control information to input three-dimensional data information as claimed in claim 1 or 2, characterized in that: The system comprises a cache module, wherein the cache module is connected between the external storage module and the computing module; the cache module comprises: reg module, the reg module is responsible for obtaining the specific information of three-dimensional data; The tr module sends the request to the external storage module and sends the control information to ramA; After receiving the information returned by the external storage module, the re module first puts the data into ramB.
4. A device for assigning synchronization control information to input three-dimensional data information as claimed in claim 3, characterized in that: The three-dimensional data is stored in the external storage module in the order of width, height, and channel.
5. A device for assigning synchronization control information to input three-dimensional data information as claimed in claim 3, characterized in that: The three-dimensional data required by the operation module is transmitted in the order of width, channel and height.
Citation Information
Patent Citations
Data processing device, integrated circuit chip, equipment and implementation method thereof
CN114282159A
Data processing module and multi-core processing system of DPU (Data Processing Unit)
CN118656336A