Movatterモバイル変換


[0]ホーム

URL:


CN115268838A - Accumulator buffer structure and data accumulation unloading method thereof - Google Patents

Accumulator buffer structure and data accumulation unloading method thereof
Download PDF

Info

Publication number
CN115268838A
CN115268838ACN202210966726.5ACN202210966726ACN115268838ACN 115268838 ACN115268838 ACN 115268838ACN 202210966726 ACN202210966726 ACN 202210966726ACN 115268838 ACN115268838 ACN 115268838A
Authority
CN
China
Prior art keywords
buffer
control signal
working mode
unit
accumulator
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.)
Granted
Application number
CN202210966726.5A
Other languages
Chinese (zh)
Other versions
CN115268838B (en
Inventor
吴铁彬
王谛
唐勇
谭弘兵
王吉军
郝子宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Jiangnan Computing Technology InstitutefiledCriticalWuxi Jiangnan Computing Technology Institute
Priority to CN202210966726.5ApriorityCriticalpatent/CN115268838B/en
Priority claimed from CN202210966726.5Aexternal-prioritypatent/CN115268838B/en
Publication of CN115268838ApublicationCriticalpatent/CN115268838A/en
Application grantedgrantedCritical
Publication of CN115268838BpublicationCriticalpatent/CN115268838B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromChinese

本发明涉及累加器缓冲技术领域,具体为一种累加器缓冲结构及其数据累加卸载方法。一种累加器缓冲结构,包括一累加器缓冲控制逻辑;以及多个累加器缓冲模块,每一所述累加器缓冲模块均包括双缓冲单元,包括第一缓冲和第二缓冲,当所述第一缓冲处于第一工作模式时,所述第二缓冲处于第二工作模式;当所述第一缓冲处于第二工作模式时,所述第二缓冲处于第一工作模式;其中,所述第一工作模式为对累加结果进行缓存。本发明的实施例中,累加器缓冲模块可以通过第一缓冲对累加结果进行缓存,同时可以对第二缓冲中已缓存的累加结果进行卸载,省去了现有技术中等待累加结果卸载的时间,进而有效提高了累加器缓冲的工作效率。

Figure 202210966726

The invention relates to the technical field of accumulator buffering, in particular to an accumulator buffering structure and a data accumulation and unloading method thereof. An accumulator buffer structure, comprising an accumulator buffer control logic; and a plurality of accumulator buffer modules, each of the accumulator buffer modules includes a double buffer unit, including a first buffer and a second buffer, when the first buffer When a buffer is in the first working mode, the second buffer is in the second working mode; when the first buffer is in the second working mode, the second buffer is in the first working mode; wherein the first The working mode is to cache the accumulated result. In the embodiment of the present invention, the accumulator buffer module can cache the accumulated result through the first buffer, and at the same time can unload the accumulated result that has been cached in the second buffer, thus saving the time of waiting for the unloading of the accumulated result in the prior art , thereby effectively improving the working efficiency of the accumulator buffer.

Figure 202210966726

Description

Translated fromChinese
一种累加器缓冲结构及其数据累加卸载方法An accumulator buffer structure and its data accumulation and unloading method

技术领域technical field

本发明涉及累加器缓冲技术领域,具体为一种累加器缓冲结构及其数据累加卸载方法。The invention relates to the technical field of accumulator buffer, in particular to an accumulator buffer structure and a data accumulation and unloading method thereof.

背景技术Background technique

脉动阵列为二维运算结构,以数据流驱动方式实现运算加速。脉动阵列各个运算单元可以在相邻运算单元间传输数据,通过数据重用,减少对输入/输出数据的存取次数,进而降低访存带宽需求。脉动阵列可以在较小的访存带宽下实现较高的运算吞吐率,解决多数处理器面临的访存瓶颈问题,特别是在神经网络这种高密集型计算和访存的处理中应用优势明显。The systolic array is a two-dimensional computing structure, which realizes computing acceleration in a data flow-driven manner. Each computing unit of the systolic array can transmit data between adjacent computing units, and through data reuse, the number of accesses to input/output data is reduced, thereby reducing memory access bandwidth requirements. The systolic array can achieve high computing throughput with a small memory access bandwidth, and solve the memory access bottleneck problem faced by most processors, especially in the processing of high-intensity calculation and memory access such as neural networks. .

其中,矩阵乘法加速单元就是二维脉动阵列,其二维大小灵活可配,具体可根据性能和应用需求进行配置。如图1所示,矩阵乘法加速单元由多个同构的运算单元构成,北向数据在脉动阵列中从北向南传输并按照需要缓存在脉动阵列各运算单元中,西向数据在脉动阵列中从西向东传输西向数据到达运算单元后与缓存在运算单元内部的北向数据进行乘法运算,乘法结果与北边运算单元传输进来的累加数据进行加法,即完成累加操作,并把乘加结果向南边运算单元传输,实现乘加结果从北向南传输。Among them, the matrix multiplication acceleration unit is a two-dimensional systolic array, and its two-dimensional size is flexible and configurable, and can be configured according to performance and application requirements. As shown in Figure 1, the matrix multiplication acceleration unit is composed of multiple isomorphic computing units. The northbound data is transmitted from north to south in the systolic array and cached in each computing unit of the systolic array as required. The westbound data is transmitted from west to south in the systolic array. After the east-to-west data reaches the computing unit, it is multiplied with the northbound data buffered inside the computing unit, and the multiplication result is added to the accumulated data transmitted from the north computing unit, that is, the accumulation operation is completed, and the multiplication and addition results are transmitted to the south computing unit , realizing the transfer of multiply-add results from north to south.

又如图1所示,累加器缓冲设置在矩阵乘法加速单元的南边出口处,用于接收矩阵乘法加速单元传输过来的乘加结果并对乘加结果进行累加并缓存。当累加器缓冲收到卸载信号时,该轮累加操作过程结束,累加器缓冲中的数据被写回到局部数据存储器,然后需要对累加器缓冲中的数据进行卸载,卸载操作结束后,累加器缓冲才能重新进行下一轮累加缓存操作,这使得累加器缓冲的工作效率较低。As shown in Figure 1, the accumulator buffer is set at the south exit of the matrix multiplication acceleration unit, and is used to receive the multiplication and addition results transmitted by the matrix multiplication acceleration unit and accumulate and cache the multiplication and addition results. When the accumulator buffer receives the unload signal, the round of accumulation operation process ends, the data in the accumulator buffer is written back to the local data memory, and then the data in the accumulator buffer needs to be unloaded. After the unloading operation is completed, the accumulator The next round of accumulating cache operation can only be performed again after buffering, which makes the working efficiency of accumulator buffering low.

发明内容Contents of the invention

本发明针对现有技术存在的问题,提出了一种累加器缓冲结构及其数据累加卸载方法,能够通过第一缓冲和第二缓冲连续不断地对累加结果进行缓存处理,有效提高了累加器缓冲的工作效率。Aiming at the problems existing in the prior art, the present invention proposes an accumulator buffer structure and its data accumulation and unloading method, which can continuously cache the accumulation results through the first buffer and the second buffer, effectively improving the accuracy of the accumulator buffer. work efficiency.

本发明解决其技术问题所采用的技术方案是:一种累加器缓冲结构,包括The technical solution adopted by the present invention to solve its technical problems is: an accumulator buffer structure, comprising

一累加器缓冲控制逻辑;以及an accumulator buffer control logic; and

多个累加器缓冲模块,每一所述累加器缓冲模块均包括A plurality of accumulator buffer modules, each of which includes

双缓冲单元,包括第一缓冲和第二缓冲,当所述第一缓冲处于第一工作模式时,所述第二缓冲处于第二工作模式;当所述第一缓冲处于第二工作模式时,所述第二缓冲处于第一工作模式;其中,所述第一工作模式为对累加结果进行缓存,所述第二工作模式为对累加结果进行卸载;A double buffer unit, including a first buffer and a second buffer, when the first buffer is in the first working mode, the second buffer is in the second working mode; when the first buffer is in the second working mode, The second buffer is in a first working mode; wherein, the first working mode is to cache accumulation results, and the second working mode is to unload accumulation results;

控制寄存器,与所述累加器缓冲控制逻辑及所述双缓冲单元电性连接,用于接收并暂存所述累加器缓冲控制逻辑发出的控制信号;所述双缓冲单元根据所述控制信号确定所述第一缓冲及所述第二缓冲的工作模式。The control register is electrically connected with the accumulator buffer control logic and the double buffer unit, and is used to receive and temporarily store the control signal sent by the accumulator buffer control logic; the double buffer unit determines according to the control signal Working modes of the first buffer and the second buffer.

作为优选,所述累加器缓冲模块还包括Preferably, the accumulator buffer module also includes

第一数据寄存器,与矩阵乘法加速单元出口处的运算单元一一对应连接,用于获取并暂存对应运算单元输出的累加结果;The first data register is connected to the computing unit at the outlet of the matrix multiplication accelerating unit in one-to-one correspondence, and is used to obtain and temporarily store the accumulation result output by the corresponding computing unit;

第二数据寄存器,与所述双缓冲单元电性连接,用于获取并暂存处于第一工作模式下的所述第一缓冲或所述第二缓冲中的最新的累加结果;The second data register is electrically connected to the double buffer unit, and is used to obtain and temporarily store the latest accumulation result in the first buffer or the second buffer in the first working mode;

加法器,与所述第一数据寄存器及所述第二数据寄存器电性连接,用于将所述第一数据寄存器中的累加结果与所述第二数据寄存器中的累加结果进行相加以得到累加结果;An adder, electrically connected to the first data register and the second data register, for adding the accumulation result in the first data register to the accumulation result in the second data register to obtain accumulation result;

第三数据寄存器,与所述加法器及所述双缓冲单元电性连接,用于获取并暂存所述加法器输出的累加结果,且所述双缓冲单元将所述第三数据寄存器中的累加结果缓存至处于第一工作模式的第一缓冲或第二缓冲中。The third data register is electrically connected to the adder and the double buffer unit, and is used to obtain and temporarily store the accumulation result output by the adder, and the double buffer unit stores the data in the third data register The accumulation result is cached in the first buffer or the second buffer in the first working mode.

作为优选,所述累加器缓冲模块还包括Preferably, the accumulator buffer module also includes

结果获取单元,与所述双缓冲单元电性连接,当所述第一缓冲或所述第二缓冲由第一工作模式转为第二工作模式时,所述结果获取单元获取所述第一缓冲或所述第二缓冲中的累加结果;The result acquisition unit is electrically connected to the double buffer unit, and when the first buffer or the second buffer changes from the first working mode to the second working mode, the result acquiring unit acquires the first buffer or the accumulated result in the second buffer;

卸载执行单元,与所述结果获取单元以及所述双缓冲单元电性连接,当所述结果获取单元完成累加结果的获取后,所述卸载执行单元对所述第一缓冲或所述第二缓冲进行累加结果的卸载操作。an unloading execution unit, electrically connected to the result acquisition unit and the double buffer unit, and after the result acquisition unit completes the acquisition of the accumulation result, the unloading execution unit executes the first buffer or the second buffer Perform the unloading operation of the accumulation result.

作为优选,所述累加器缓冲结构还包括Preferably, the accumulator buffer structure also includes

结果写回模块,与所述结果获取单元以及局部数据存储器连接,用于将所述结果获取单元获取的所述累加结果写入局部数据存储器。The result write-back module is connected with the result acquisition unit and the local data storage, and is used for writing the accumulation result acquired by the result acquisition unit into the local data storage.

作为优选,所述累加器缓冲模块还包括Preferably, the accumulator buffer module also includes

控制信号有效性判定单元,与所述卸载执行单元及所述控制寄存器电性连接,当所述控制寄存器接收到的控制信号是在卸载执行单元未完成卸载操作时收到的,则判定接收到的控制信号为无效;当接收到的控制信号是在卸载执行单元已完成卸载操作时收到的,则判定接收到的控制信号为有效;The control signal validity determination unit is electrically connected to the unloading execution unit and the control register. When the control signal received by the control register is received when the unloading execution unit has not completed the unloading operation, it is determined that the unloading execution unit has received the control signal. The control signal is invalid; when the received control signal is received when the unloading execution unit has completed the unloading operation, it is determined that the received control signal is valid;

控制信号比对单元,与所述控制信号有效性判定单元以及所述控制寄存器电性连接,当新接收到的控制信号为有效时,用于将新接收到的控制信号与所述控制寄存器中上一次暂存的控制信号进行比对。The control signal comparison unit is electrically connected to the control signal validity determination unit and the control register, and is used to compare the newly received control signal with the control register in the control register when the newly received control signal is valid. Compare with the last temporarily stored control signal.

一种累加器缓冲的数据累加卸载方法,包括以下步骤A data accumulation and unloading method for accumulator buffering, comprising the following steps

S1累加器缓冲控制逻辑发出控制信号;S1 accumulator buffer control logic sends a control signal;

S2控制寄存器接收并暂存累加器缓冲控制逻辑发出的控制信号;The S2 control register receives and temporarily stores the control signal sent by the accumulator buffer control logic;

S3双缓冲单元根据所述控制寄存器中的控制信号确定第一缓冲及第二缓冲的工作模式,且当所述第一缓冲处于第一工作模式时,所述第二缓冲处于第二工作模式;当所述第一缓冲处于第二工作模式时,所述第二缓冲处于第一工作模式;其中,所述第一工作模式为对累加结果进行缓存,所述第二工作模式为对累加结果进行卸载。The S3 double buffer unit determines the working modes of the first buffer and the second buffer according to the control signal in the control register, and when the first buffer is in the first working mode, the second buffer is in the second working mode; When the first buffer is in the second working mode, the second buffer is in the first working mode; wherein, the first working mode is to cache the accumulation result, and the second working mode is to cache the accumulation result uninstall.

作为优选,所述数据累加卸载方法还包括以下步骤Preferably, the data accumulation and unloading method further includes the following steps

S4第一数据寄存器获取并暂存运算单元输出的累加结果;S4 the first data register acquires and temporarily stores the cumulative result output by the arithmetic unit;

S5第二数据寄存器获取并暂存处于第一工作模式下的所述第一缓冲或所述第二缓冲中的最新的累加结果;S5 The second data register acquires and temporarily stores the latest accumulation result in the first buffer or the second buffer in the first working mode;

S6加法器将所述第一数据寄存器中的累加结果与所述第二数据寄存器中的累加结果进行相加以得到累加结果;The S6 adder adds the accumulation result in the first data register to the accumulation result in the second data register to obtain the accumulation result;

S7第三数据寄存器获取并暂存所述加法器输出的累加结果;S7 The third data register obtains and temporarily stores the accumulation result output by the adder;

S8双缓冲单元通将所述第三数据寄存器中的累加结果缓存至处于第一工作模式的第一缓冲或第二缓冲中。The S8 double buffer unit buffers the accumulation result in the third data register into the first buffer or the second buffer in the first working mode.

作为优选,所述数据累加卸载方法还包括以下步骤Preferably, the data accumulation and unloading method further includes the following steps

L1当所述第一缓冲或所述第二缓冲由第一工作模式转为第二工作模式时,结果获取单元获取所述第一缓冲或所述第二缓冲中的累加结果;L1 When the first buffer or the second buffer changes from the first working mode to the second working mode, the result acquisition unit acquires the accumulation result in the first buffer or the second buffer;

L2当所述结果获取单元完成累加结果的获取后,卸载执行单元对所述述第一缓冲或所述第二缓冲进行累加结果的卸载操作。L2 After the result acquisition unit completes the acquisition of the accumulation result, the unloading execution unit performs an unloading operation on the first buffer or the second buffer.

作为优选,所述数据累加卸载方法还包括以下步骤Preferably, the data accumulation and unloading method further includes the following steps

L3结果写回模块将所述结果获取单元获取的所述累加结果写入局部数据存储器。The L3 result write-back module writes the accumulation result obtained by the result obtaining unit into a local data memory.

作为优选,所述S2具体包括As a preference, said S2 specifically includes

S21控制寄存器接收累加器缓冲控制逻辑发出的控制信号;The S21 control register receives the control signal sent by the accumulator buffer control logic;

S22控制信号有效性判定单元判定接收到的控制信号是否有效,当接收到的控制信号是在卸载执行单元未完成卸载操作时收到的,则判定接收到的控制信号为无效;当接收到的控制信号是在卸载执行单元已完成卸载操作时收到的,则判定接收到的控制信号为有效;S22 The control signal validity determination unit determines whether the received control signal is valid, and when the received control signal is received when the unloading execution unit has not completed the unloading operation, then it is determined that the received control signal is invalid; If the control signal is received when the unloading execution unit has completed the unloading operation, it is determined that the received control signal is valid;

S23当接收到的控制信号为无效时,控制寄存器将接收到的控制信号删除;S23, when the received control signal is invalid, the control register deletes the received control signal;

S24当接收到的控制信号为有效时,控制信号比对单元将接收到的控制信号与所述控制寄存器中上一次暂存的控制信号进行比对,当接收到的控制信号中第一缓冲的工作模式与上一次暂存的控制信号中第一缓冲的工作模式相同时,则控制寄存器将接收到的控制信号删除;当接收到的控制信号中第一缓冲的工作模式与上一次暂存的控制信号中第一缓冲的工作模式不同时,控制寄存器将接收到的控制信号暂存至控制寄存器中;S24 When the received control signal is valid, the control signal comparison unit compares the received control signal with the last temporarily stored control signal in the control register, and when the first buffered control signal in the received control signal When the working mode is the same as the working mode of the first buffer in the last temporarily stored control signal, the control register will delete the received control signal; when the working mode of the first buffer in the received control signal is the same as the last temporarily stored When the working mode of the first buffer in the control signal is different, the control register temporarily stores the received control signal into the control register;

S25控制寄存器将新暂存的控制信号发送给双缓冲单元。The S25 control register sends the newly temporarily stored control signal to the double buffer unit.

有益效果Beneficial effect

本发明的实施例中,累加器缓冲模块可以通过第一缓冲对累加结果进行缓存,同时可以对第二缓冲中已缓存的累加结果进行卸载,当收到下一次控制信号时,累加器缓冲模块可以直接通过第二缓冲对累加结果进行缓存,同时对第一缓冲中已缓存的累加结果进行卸载,如此不断循环,省去了现有技术中等待累加结果卸载的时间,进而有效提高了累加器缓冲的工作效率。In the embodiment of the present invention, the accumulator buffer module can cache the accumulated result through the first buffer, and can unload the accumulated accumulated result in the second buffer at the same time. When receiving the next control signal, the accumulator buffer module The accumulation result can be cached directly through the second buffer, and at the same time, the accumulated accumulation result cached in the first buffer is unloaded, so that the continuous cycle saves the time of waiting for the accumulation result to be unloaded in the prior art, thereby effectively improving the accumulator. Buffered work efficiency.

附图说明Description of drawings

图1为现有技术中矩阵乘法加速单元与累加器缓冲的工作原理图;Fig. 1 is a working principle diagram of a matrix multiplication acceleration unit and an accumulator buffer in the prior art;

图2为本发明实施例中累加器缓冲模块的结构示意图。FIG. 2 is a schematic structural diagram of an accumulator buffer module in an embodiment of the present invention.

具体实施方式Detailed ways

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。The technical solutions of the present invention will be further described below in conjunction with the accompanying drawings and through specific implementation methods.

实施例1:如图2所示,一种累加器缓冲结构,包括一个累加器缓冲控制逻辑和多个累加器缓冲模块,累加器缓冲模块的数量与矩阵乘法加速单元中列的数量相同,一列运算单元对应一个累加器缓冲模块,且全部累加器缓冲模块均通过该个累加器缓冲控制逻辑进行控制。Embodiment 1: as shown in Figure 2, a kind of accumulator buffer structure comprises an accumulator buffer control logic and a plurality of accumulator buffer modules, the quantity of the accumulator buffer module is the same as the number of columns in the matrix multiplication acceleration unit, one column The arithmetic unit corresponds to an accumulator buffer module, and all the accumulator buffer modules are controlled by the accumulator buffer control logic.

具体的,每一所述累加器缓冲模块均包括双缓冲单元和控制寄存器7。Specifically, each of the accumulator buffer modules includes a double buffer unit and acontrol register 7 .

双缓冲单元包括结构相同的第一缓冲1和第二缓冲2。当所述第一缓冲1处于第一工作模式时,所述第二缓冲2处于第二工作模式;当所述第一缓冲1处于第二工作模式时,所述第二缓冲2处于第一工作模式;其中,所述第一工作模式为对累加结果进行缓存,所述第二工作模式为对累加结果进行卸载。The double buffer unit includes afirst buffer 1 and asecond buffer 2 with the same structure. When thefirst buffer 1 is in the first working mode, thesecond buffer 2 is in the second working mode; when thefirst buffer 1 is in the second working mode, thesecond buffer 2 is in the first working mode mode; wherein, the first working mode is to cache the accumulation result, and the second working mode is to unload the accumulation result.

当第一缓冲1正处于对累加结果进行缓存的模式时,则第二缓冲2一定是处于对累加结果进行卸载的模式,当第一缓冲1正处于对累加结果进行卸载的模式时,则第二缓冲2一定是正处于对累加结果进行缓存的模式。总之,第一缓冲1与第二缓冲2所处的工作模式一定是不同的。When thefirst buffer 1 is in the mode of caching the accumulation result, thesecond buffer 2 must be in the mode of unloading the accumulation result; when thefirst buffer 1 is in the mode of unloading the accumulation result, then thesecond buffer 2 must be in the mode of unloading the accumulation result. Thesecond buffer 2 must be in the mode of caching the accumulation result. In short, the working modes of thefirst buffer 1 and thesecond buffer 2 must be different.

控制寄存器7与所述累加器缓冲控制逻辑及所述双缓冲单元电性连接,用于接收并暂存所述累加器缓冲控制逻辑发出的控制信号。所述双缓冲单元根据所述控制信号确定所述第一缓冲1及所述第二缓冲2的工作模式。Thecontrol register 7 is electrically connected with the accumulator buffer control logic and the double buffer unit, and is used for receiving and temporarily storing the control signal sent by the accumulator buffer control logic. The double buffer unit determines the working modes of thefirst buffer 1 and thesecond buffer 2 according to the control signal.

初始状态下,第一缓冲1和第二缓冲2中都没有缓存数据,累加器缓冲控制逻辑可以发出随机确定第一缓冲1、第二缓冲2工作模式的控制信号。例如,第一次控制信号可以是确定第一缓冲1进入第二工作模式,第二缓冲2进入第一工作模式。随后,累加器缓冲控制逻辑会依次发出工作模式与上一次相反的控制信号。例如,第二次控制信号为确定第一缓冲1进入第一工作模式,第二缓冲2进入第二工作模式。In the initial state, neither thefirst buffer 1 nor thesecond buffer 2 has buffered data, and the accumulator buffer control logic can send a control signal to randomly determine the working modes of thefirst buffer 1 and thesecond buffer 2 . For example, the first control signal may be to determine that thefirst buffer 1 enters the second working mode, and thesecond buffer 2 enters the first working mode. Subsequently, the accumulator buffer control logic will sequentially send out a control signal whose working mode is opposite to that of the last time. For example, the second control signal is to determine that thefirst buffer 1 enters the first working mode, and thesecond buffer 2 enters the second working mode.

本实施例中,累加器缓冲模块可以先通过第一缓冲1对累加结果进行缓存,同时可以对第二缓冲2中已缓存的累加结果进行卸载(卸载完成后第二缓冲2处于待用状态)。这样,当收到下一次控制信号时,累加器缓冲模块就可以直接通过第二缓冲2对累加结果进行缓存,同时对第一缓冲1中已缓存的累加结果进行卸载(不需要像现有技术一样,在收到数据卸载信号后,一定要等待累加器缓冲先将内部的数据全部卸载之后才能进行下一轮数据的缓存),本实施例的累加器缓冲模块可以如此不断循环,省去了等待数据(即累加结果)卸载的时间,进而有效提高了本实施例累加器缓冲的工作效率。In this embodiment, the accumulator buffer module can first cache the accumulated results through thefirst buffer 1, and at the same time unload the accumulated accumulated results cached in the second buffer 2 (thesecond buffer 2 is in a standby state after the unloading is completed) . In this way, when receiving the next control signal, the accumulator buffer module can directly cache the accumulation result through thesecond buffer 2, and simultaneously unload the accumulated accumulation result that has been cached in the first buffer 1 (no need to Similarly, after receiving the data unloading signal, it is necessary to wait for the accumulator buffer to unload all the internal data before proceeding to the next round of data buffering), the accumulator buffer module of this embodiment can be continuously circulated in this way, eliminating the need for The waiting time for data (that is, the accumulation result) to be unloaded effectively improves the working efficiency of the accumulator buffer in this embodiment.

进一步的,所述累加器缓冲模块还包括第一数据寄存器3,第二数据寄存器4,加法器5和第三数据寄存器6。Further, the accumulator buffer module further includes afirst data register 3 , asecond data register 4 , anadder 5 and athird data register 6 .

第一数据寄存器3与矩阵乘法加速单元南边出口处的运算单元一一对应连接,用于获取并暂存对应运算单元输出的乘加结果。第二数据寄存器4与双缓冲单元电性连接,用于获取并暂存处于第一工作模式下的所述第一缓冲1或第二缓冲2中的最新的累加结果。加法器5与第一数据寄存器3及第二数据寄存器4电性连接,用于将所述第一数据寄存器3中的乘加结果与第二数据寄存器4中的累加结果进行相加以得到最新的累加结果。第三数据寄存器6与所述加法器5及双缓冲单元电性连接,用于获取并暂存加法器5输出的累加结果。双缓冲单元将第三数据寄存器6中的累加结果缓存至处于第一工作模式的第一缓冲1或第二缓冲2中。Thefirst data register 3 is connected in one-to-one correspondence with the operation unit at the south exit of the matrix multiplication acceleration unit, and is used to obtain and temporarily store the multiplication and addition results output by the corresponding operation unit. Thesecond data register 4 is electrically connected to the double buffer unit, and is used for obtaining and temporarily storing the latest accumulation result in thefirst buffer 1 or thesecond buffer 2 in the first working mode. Theadder 5 is electrically connected to thefirst data register 3 and thesecond data register 4, and is used to add the multiplication and addition result in thefirst data register 3 and the accumulation result in the second data register 4 to obtain the latest Add up the results. The third data register 6 is electrically connected with theadder 5 and the double buffer unit, and is used for acquiring and temporarily storing the accumulation result output by theadder 5 . The double buffering unit buffers the accumulation result in the third data register 6 into thefirst buffer 1 or thesecond buffer 2 in the first working mode.

假设在第一轮累加结果累加缓存过程中,第一缓冲1处于第一工作模式、第二缓冲2处于第二工作模式。首先第一数据寄存器3获取并暂存与之连接的运算单元输出的乘加结果,同时第二数据寄存器4获取并暂存第一缓冲1中缓存的最新的累加结果。然后通过加法器5将第一数据寄存器3中的乘加结果与第二数据寄存器4中的累加结果进行相加以得到最新的累加结果,并将最新的累加结果暂存在第三数据寄存器6中。最后当第三数据寄存器6获得最新的累加结果后,双缓冲单元将第三数据寄存器6中的累加结果缓存至第一缓冲1中,此时一个累加结果的累加缓存步骤结束。当一个累加结果的累加缓存步骤结束后,累加器缓冲模块会以相同的步骤继续下一个累加结果的累加缓存操作。另外,在第一缓冲1不断进行累加结果累加缓存的同时,第二缓冲2会对其内部早就缓存的累加结果进行卸载,使得第二缓冲2清零成待用状态。Assume that during the first round of accumulation and caching of accumulation results, thefirst buffer 1 is in the first working mode, and thesecond buffer 2 is in the second working mode. First, thefirst data register 3 acquires and temporarily stores the multiplication and addition results output by the arithmetic unit connected thereto, and at the same time, thesecond data register 4 acquires and temporarily stores the latest accumulation result buffered in thefirst buffer 1 . Then theadder 5 adds the multiplication and addition result in thefirst data register 3 and the accumulation result in the second data register 4 to obtain the latest accumulation result, and temporarily stores the latest accumulation result in thethird data register 6 . Finally, when the third data register 6 obtains the latest accumulation result, the double buffering unit buffers the accumulation result in the third data register 6 into thefirst buffer 1, and at this moment, the accumulation and buffering step of an accumulation result ends. After the accumulation and caching step of an accumulation result is completed, the accumulator buffer module will continue the accumulation and caching operation of the next accumulation result in the same steps. In addition, while thefirst buffer 1 is continuously accumulating and caching the accumulated results, thesecond buffer 2 will unload the accumulated results already cached in it, so that thesecond buffer 2 is cleared to a standby state.

一定时间后,累加器缓冲控制逻辑会给控制寄存器7发送一个新的控制信号(该控制信号会将第一缓冲1改为第二工作模式,将第二缓冲2改为第一工作模式),使得累加器缓冲模块进入第二轮累加结果累加缓存过程。其中累加结果的累加缓存步骤与上述步骤相同,且当一个累加结果的累加缓存步骤结束后,累加器缓冲模块会以相同的步骤继续下一个累加结果的累加缓存。另外,在第二缓冲2不断进行累加结果累加缓存的同时,第一缓冲1会对其内部在第一轮累加结果累加缓存过程中缓存的累加结果进行卸载,使得第一缓冲1清零成待用状态。After a certain period of time, the accumulator buffer control logic will send a new control signal to the control register 7 (the control signal will change thefirst buffer 1 to the second working mode, and change thesecond buffer 2 to the first working mode), Make the accumulator buffer module enter the second round of accumulating result accumulating and caching process. The accumulation and buffering steps of the accumulation result are the same as the above steps, and when the accumulation and buffering step of one accumulation result ends, the accumulator buffer module will continue the accumulation and buffering of the next accumulation result in the same steps. In addition, while thesecond buffer 2 is continuously accumulating and caching the accumulation results, thefirst buffer 1 will unload the accumulation results cached in the first round of accumulation and caching of the accumulation results, so that thefirst buffer 1 will be cleared as pending. use status.

一定时间后,累加器缓冲控制逻辑会继续给控制寄存器7发送一个新的控制信号(该控制信号会将第一缓冲1改为第一工作模式,将第二缓冲2改为第二工作模式),使得累加器缓冲模块进入第三轮累加结果累加缓存过程,且如此不断循环。After a certain period of time, the accumulator buffer control logic will continue to send a new control signal to the control register 7 (this control signal will change thefirst buffer 1 to the first working mode, and change thesecond buffer 2 to the second working mode) , so that the accumulator buffer module enters the third round of accumulating result accumulating and caching process, and so on.

本实施例通过第一数据寄存器3、第二数据寄存器4、加法器5、第三数据寄存器6与双缓冲单元、控制寄存器7配合使用,使得累加器缓冲模块能够连续不断地对矩阵乘法加速单元传输过来的乘加结果进行累加缓存处理,进而实现了累加器缓冲的高工作效率。In this embodiment, thefirst data register 3, thesecond data register 4, theadder 5, and the third data register 6 are used in conjunction with the double buffer unit and thecontrol register 7, so that the accumulator buffer module can continuously accelerate the matrix multiplication unit. The transmitted multiplication and addition results are accumulated and cached, thereby realizing the high working efficiency of the accumulator buffer.

进一步的,所述累加器缓冲模块还包括结果获取单元和卸载执行单元。Further, the accumulator buffer module also includes a result acquisition unit and an unloading execution unit.

结果获取单元与所述双缓冲单元电性连接,当所述第一缓冲1或所述第二缓冲2由第一工作模式转为第二工作模式时,所述结果获取单元获取所述第一缓冲1或所述第二缓冲2中的累加结果。卸载执行单元与所述结果获取单元以及所述双缓冲单元电性连接,当所述结果获取单元完成累加结果的获取后,卸载执行单元对所述第一缓冲1或所述第二缓冲2进行累加结果的卸载操作。The result acquisition unit is electrically connected to the double buffer unit, and when thefirst buffer 1 or thesecond buffer 2 changes from the first working mode to the second working mode, the result acquiring unit acquires the first Accumulate results inbuffer 1 or thesecond buffer 2. The unloading execution unit is electrically connected to the result acquisition unit and the double buffer unit, and after the result acquisition unit completes the acquisition of the accumulation result, the unloading execution unit executes thefirst buffer 1 or thesecond buffer 2 An unload operation that accumulates results.

当累加器缓冲控制逻辑给控制寄存器7发送一个新的控制信号,使得第一缓冲1(或第二缓冲2)由第一工作模式转为第二工作模式时,需要确保第一缓冲1(或第二缓冲2)中的累加结果已经被提取出来后,才会对第一缓冲1(或第二缓冲2)中的累加结果进行卸载。When the accumulator buffer control logic sends a new control signal to thecontrol register 7, so that the first buffer 1 (or the second buffer 2) changes from the first working mode to the second working mode, it is necessary to ensure that the first buffer 1 (or the second buffer 2) The accumulated results in the first buffer 1 (or the second buffer 2) will not be unloaded until the accumulated results in the second buffer 2) have been extracted.

假设在收到新的控制信号前,第一缓冲1处于第一工作模式,第二缓冲2处于第二工作模式。在收到新的控制信号后,第一缓冲1变为第二工作模式,第二缓冲2变为第一工作模式。当第一缓冲1变为第二工作模式后,需要先通过结果获取单元提取第一缓冲1中的累加结果,然后再通过卸载执行单元对第一缓冲1进行累加结果的卸载操作。同时,当第二缓冲2变为第一工作模式后,第二缓冲2能够立即对的累加结果进行累加缓存处理。Assume that before receiving a new control signal, thefirst buffer 1 is in the first working mode, and thesecond buffer 2 is in the second working mode. After receiving a new control signal, thefirst buffer 1 changes to the second working mode, and thesecond buffer 2 changes to the first working mode. When thefirst buffer 1 changes to the second working mode, the accumulation result in thefirst buffer 1 needs to be extracted by the result acquisition unit first, and then the accumulation result is unloaded by the unload execution unit on thefirst buffer 1 . At the same time, when thesecond buffer 2 changes to the first working mode, thesecond buffer 2 can immediately perform accumulation and cache processing on the accumulation results.

进一步的,所述累加器缓冲结构还包括结果写回模块。一个累加器缓冲包括一个结果写回模块,该结果写回模块的输入端与全部累加器缓冲模块中的结果获取单元连接,该结果写回模块的输出端与局部数据存储器连接。通过结果写回模块能够将结果获取单元获取的累加结果写入局部数据存储器。Further, the accumulator buffer structure also includes a result write-back module. An accumulator buffer includes a result write-back module, the input of the result write-back module is connected to the result acquisition units in all accumulator buffer modules, and the output of the result write-back module is connected to the local data memory. The accumulation result acquired by the result acquisition unit can be written into the local data memory through the result write-back module.

结果获取单元获取一个累加结果,卸载执行单元就对应卸载一个累加结果。当结果获取单元将全部的累加结果都获取后,卸载执行单元正好完成全部累加结果的卸载。通过结果获取单元使得结果写回模块能够将全部的累加结果一次性写入局部数据存储器中。The result acquisition unit acquires an accumulation result, and the unloading execution unit corresponds to unloading an accumulation result. After the result acquisition unit acquires all the accumulation results, the unloading execution unit just completes the unloading of all the accumulation results. Through the result acquisition unit, the result write-back module can write all the accumulation results into the local data memory at one time.

进一步的,所述累加器缓冲模块还包括控制信号有效性判定单元和控制信号比对单元。Further, the accumulator buffer module also includes a control signal validity determination unit and a control signal comparison unit.

控制信号有效性判定单元与所述卸载执行单元及控制寄存器7电性连接,当所述控制寄存器7接收到的控制信号是在卸载执行单元未完成卸载操作时收到的,则判定接收到的控制信号为无效;当接收到的控制信号是在卸载执行单元已完成卸载操作时收到的,则判定接收到的控制信号为有效。The control signal validity determination unit is electrically connected to the unloading execution unit and thecontrol register 7. When the control signal received by thecontrol register 7 is received when the unloading execution unit has not completed the unloading operation, it is determined that the received The control signal is invalid; when the received control signal is received when the unloading execution unit has completed the unloading operation, it is determined that the received control signal is valid.

当控制信号为无效时,说明卸载执行单元还在工作,第一缓冲1(或第二缓冲2)还未清零成待用状态,所以第一缓冲1(或第二缓冲2)不能在此时更改工作模式,则控制寄存器7会将无效的控制信号删除。当控制信号为有效时,说明卸载执行单元已经完成卸载工作,第一缓冲1(或第二缓冲2)已经清零成待用状态,所以第一缓冲1(或第二缓冲2)能够在此时更改工作模式,则控制寄存器7会将有效的控制信号替换掉控制寄存器7上一次暂存的控制信号,并将有效的控制信号发送给双缓冲单元,以使双缓冲单元中第一缓冲1(或第二缓冲2)的工作模式进行改变。When the control signal is invalid, it means that the unloading execution unit is still working, and the first buffer 1 (or the second buffer 2) has not been cleared to the standby state, so the first buffer 1 (or the second buffer 2) cannot be here When changing the working mode, thecontrol register 7 will delete the invalid control signal. When the control signal is valid, it means that the unloading execution unit has completed the unloading work, and the first buffer 1 (or the second buffer 2) has been cleared to the standby state, so the first buffer 1 (or the second buffer 2) can be here When changing the working mode, thecontrol register 7 will replace the valid control signal with the control signal temporarily stored in thecontrol register 7 last time, and send the valid control signal to the double buffer unit, so that thefirst buffer 1 in the double buffer unit (or the second buffer 2) to change the working mode.

控制信号比对单元与控制信号有效性判定单元以及控制寄存器7电性连接。当新接收到的控制信号为有效时,控制信号比对单元会将新接收到的控制信号中的第一缓冲1、第二缓冲2的工作模式与控制寄存器7上一次暂存的控制信号中的第一缓冲1、第二缓冲2的工作模式进行比对,当两者工作模式一样时,控制寄存器7仍旧将新接收到的控制信号删除;当两者工作模式不一样时,控制寄存器7再将有效的控制信号替换掉控制寄存器7上一次暂存的控制信号,并将有效的控制信号发送给双缓冲单元。The control signal comparison unit is electrically connected with the control signal validity determination unit and thecontrol register 7 . When the newly received control signal is valid, the control signal comparison unit will compare the operating modes of thefirst buffer 1 and thesecond buffer 2 in the newly received control signal with the control signal temporarily stored in thecontrol register 7 last time. Compare the operating modes of thefirst buffer 1 and thesecond buffer 2. When the operating modes of the two are the same, thecontrol register 7 still deletes the newly received control signal; when the operating modes of the two are different, thecontrol register 7 Then, the effective control signal is replaced by the control signal temporarily stored in thecontrol register 7 last time, and the effective control signal is sent to the double buffer unit.

本实施例中的控制信号有效性判定单元和控制信号比对单元的设置,使得累加器缓冲模块不会将处于第二工作模式下且未完成数据卸载的第一缓冲1或第二缓冲2进行工作模式切换,避免累加器缓冲模块因随意更换工作模式而出现工作异常,进而不能有效地对矩阵乘法加速单元传输过来的乘加结果进行累加和缓存,导致累加器缓冲的工作效率变低。In this embodiment, the control signal validity determination unit and the control signal comparison unit are set so that the accumulator buffer module will not perform thefirst buffer 1 or thesecond buffer 2 that is in the second working mode and has not completed data unloading. Working mode switching prevents the accumulator buffer module from working abnormally due to arbitrarily changing the working mode, and then cannot effectively accumulate and cache the multiplication and addition results transmitted from the matrix multiplication acceleration unit, resulting in lower working efficiency of the accumulator buffer.

实施例2:一种累加器缓冲的数据累加卸载方法,采用实施例1中的累加器缓冲结构,具体包括以下步骤Embodiment 2: A method for accumulating and unloading data in an accumulator buffer, using the accumulator buffer structure inEmbodiment 1, specifically comprising the following steps

S1累加器缓冲控制逻辑发出控制信号。The S1 accumulator buffer control logic issues control signals.

初始状态下,第一缓冲1和第二缓冲2中都没有缓存数据,累加器缓冲控制逻辑可以发出随机确定第一缓冲1、第二缓冲2工作模式的控制信号。例如,第一次控制信号可以是确定第一缓冲1进入第二工作模式,第二缓冲2进入第一工作模式。随后,累加器缓冲控制逻辑会依次发出工作模式与上一次相反的控制信号。例如,第二次控制信号为确定第一缓冲1进入第一工作模式,第二缓冲2进入第二工作模式。In the initial state, neither thefirst buffer 1 nor thesecond buffer 2 has buffered data, and the accumulator buffer control logic can send a control signal to randomly determine the working modes of thefirst buffer 1 and thesecond buffer 2 . For example, the first control signal may be to determine that thefirst buffer 1 enters the second working mode, and thesecond buffer 2 enters the first working mode. Subsequently, the accumulator buffer control logic will sequentially send out a control signal whose working mode is opposite to that of the last time. For example, the second control signal is to determine that thefirst buffer 1 enters the first working mode, and thesecond buffer 2 enters the second working mode.

S2控制寄存器7接收并暂存累加器缓冲控制逻辑发出的控制信号。The S2 control register 7 receives and temporarily stores the control signal sent by the accumulator buffer control logic.

其中,所述S2具体包括S21控制寄存器7接收累加器缓冲控制逻辑发出的控制信号。S22控制信号有效性判定单元判定接收到的控制信号是否有效,当接收到的控制信号是在卸载执行单元未完成卸载操作时收到的,则判定接收到的控制信号为无效;当接收到的控制信号是在卸载执行单元已完成卸载操作时收到的,则判定接收到的控制信号为有效。S23当接收到的控制信号为无效时,控制寄存器7将接收到的控制信号删除。Wherein, the S2 specifically includes the S21 control register 7 receiving the control signal sent by the accumulator buffer control logic. S22 The control signal validity determination unit determines whether the received control signal is valid, and when the received control signal is received when the unloading execution unit has not completed the unloading operation, then it is determined that the received control signal is invalid; If the control signal is received when the unloading execution unit has completed the unloading operation, it is determined that the received control signal is valid. S23 When the received control signal is invalid, thecontrol register 7 deletes the received control signal.

当控制信号为无效时,说明卸载执行单元还在工作,第一缓冲1(或第二缓冲2)还未清零成待用状态,所以第一缓冲1(或第二缓冲2)不能在此时更改工作模式,则控制寄存器7会将无效的控制信号删除。当控制信号为有效时,说明卸载执行单元已经完成卸载工作,第一缓冲1(或第二缓冲2)已经清零成待用状态,所以第一缓冲1(或第二缓冲2)能够在此时更改工作模式,则控制寄存器7会将有效的控制信号替换掉控制寄存器7上一次暂存的控制信号,并将有效的控制信号发送给双缓冲单元,以使双缓冲单元中第一缓冲1(或第二缓冲2)的工作模式进行改变。When the control signal is invalid, it means that the unloading execution unit is still working, and the first buffer 1 (or the second buffer 2) has not been cleared to the standby state, so the first buffer 1 (or the second buffer 2) cannot be here When changing the working mode, thecontrol register 7 will delete the invalid control signal. When the control signal is valid, it means that the unloading execution unit has completed the unloading work, and the first buffer 1 (or the second buffer 2) has been cleared to the standby state, so the first buffer 1 (or the second buffer 2) can be here When changing the working mode, thecontrol register 7 will replace the valid control signal with the control signal temporarily stored in thecontrol register 7 last time, and send the valid control signal to the double buffer unit, so that thefirst buffer 1 in the double buffer unit (or the second buffer 2) to change the working mode.

S24当接收到的控制信号为有效时,控制信号比对单元将接收到的控制信号与所述控制寄存器7中上一次暂存的控制信号进行比对,当接收到的控制信号中第一缓冲1的工作模式与上一次暂存的控制信号中第一缓冲1的工作模式相同时,控制寄存器7将接收到的控制信号删除;当接收到的控制信号中第一缓冲1的工作模式与上一次暂存的控制信号中第一缓冲1的工作模式不同时,控制寄存器7将接收到的控制信号暂存至控制寄存器7中。S25控制寄存器7将新暂存的控制信号发送给双缓冲单元。S24 When the received control signal is valid, the control signal comparison unit compares the received control signal with the last temporarily stored control signal in thecontrol register 7, and when the received control signal in the first buffer When the working mode of 1 is the same as the working mode of thefirst buffer 1 in the last temporarily stored control signal, thecontrol register 7 deletes the received control signal; when the working mode of thefirst buffer 1 in the received control signal is the same as the previous When the working mode of thefirst buffer 1 is different among the temporarily stored control signals, thecontrol register 7 temporarily stores the received control signal into thecontrol register 7 . S25 Thecontrol register 7 sends the newly temporarily stored control signal to the double buffer unit.

当新接收到的控制信号为有效时,控制信号比对单元会将新接收到的控制信号中的第一缓冲1、第二缓冲2的工作模式与控制寄存器7上一次暂存的控制信号中的第一缓冲1、第二缓冲2的工作模式进行比对,当两者工作模式一样时,控制寄存器7仍旧将新接收到的控制信号删除;当两者工作模式不一样时,控制寄存器7再将有效的控制信号替换掉控制寄存器7上一次暂存的控制信号,并将有效的控制信号发送给双缓冲单元。When the newly received control signal is valid, the control signal comparison unit will compare the operating modes of thefirst buffer 1 and thesecond buffer 2 in the newly received control signal with the control signal temporarily stored in thecontrol register 7 last time. Compare the operating modes of thefirst buffer 1 and thesecond buffer 2. When the operating modes of the two are the same, thecontrol register 7 still deletes the newly received control signal; when the operating modes of the two are different, thecontrol register 7 Then, the effective control signal is replaced by the control signal temporarily stored in thecontrol register 7 last time, and the effective control signal is sent to the double buffer unit.

S3双缓冲单元根据所述控制寄存器7中的控制信号确定第一缓冲1及第二缓冲2的工作模式,且当所述第一缓冲1处于第一工作模式时,所述第二缓冲2处于第二工作模式;当所述第一缓冲1处于第二工作模式时,所述第二缓冲2处于第一工作模式;其中,所述第一工作模式为对累加结果进行缓存,所述第二工作模式为对累加结果进行卸载。The S3 double buffer unit determines the working modes of thefirst buffer 1 and thesecond buffer 2 according to the control signal in thecontrol register 7, and when thefirst buffer 1 is in the first working mode, thesecond buffer 2 is in the The second working mode; when thefirst buffer 1 is in the second working mode, thesecond buffering 2 is in the first working mode; wherein, the first working mode is to cache accumulation results, and the second The working mode is to unload the accumulated results.

当第一缓冲1正处于对累加结果进行缓存的模式时,则第二缓冲2一定是处于对累加结果进行卸载的模式,当第一缓冲1正处于对累加结果进行卸载的模式时,则第二缓冲2一定是正处于对累加结果进行缓存的模式。总之,第一缓冲1与第二缓冲2所处的工作模式一定是不同的。When thefirst buffer 1 is in the mode of caching the accumulation result, thesecond buffer 2 must be in the mode of unloading the accumulation result; when thefirst buffer 1 is in the mode of unloading the accumulation result, then thesecond buffer 2 must be in the mode of unloading the accumulation result. Thesecond buffer 2 must be in the mode of caching the accumulation result. In short, the working modes of thefirst buffer 1 and thesecond buffer 2 must be different.

S4第一数据寄存器3获取并暂存运算单元输出的累加结果。第一数据寄存器3与矩阵乘法加速单元南边出口处的运算单元一一对应连接,用于获取并暂存对应运算单元输出的乘加结果。S4 Thefirst data register 3 acquires and temporarily stores the accumulation result output by the arithmetic unit. Thefirst data register 3 is connected in one-to-one correspondence with the operation unit at the south exit of the matrix multiplication acceleration unit, and is used to obtain and temporarily store the multiplication and addition results output by the corresponding operation unit.

S5第二数据寄存器4获取并暂存处于第一工作模式下的所述第一缓冲1或所述第二缓冲2中的最新的累加结果。第二数据寄存器4与双缓冲单元电性连接,用于获取并暂存处于第一工作模式下的所述第一缓冲1或第二缓冲2中的最新的累加结果。S5 Thesecond data register 4 obtains and temporarily stores the latest accumulation result in thefirst buffer 1 or thesecond buffer 2 in the first working mode. Thesecond data register 4 is electrically connected to the double buffer unit, and is used for obtaining and temporarily storing the latest accumulation result in thefirst buffer 1 or thesecond buffer 2 in the first working mode.

S6加法器5将所述第一数据寄存器3中的乘加结果与所述第二数据寄存器4中的最新的累加结果进行相加以得到累加结果。加法器5与第一数据寄存器3及第二数据寄存器4电性连接,用于将所述第一数据寄存器3中的乘加结果与第二数据寄存器4中的累加结果进行相加以得到最新的累加结果。S6 Theadder 5 adds the multiplication and addition result in thefirst data register 3 and the latest accumulation result in the second data register 4 to obtain an accumulation result. Theadder 5 is electrically connected to thefirst data register 3 and thesecond data register 4, and is used to add the multiplication and addition result in thefirst data register 3 and the accumulation result in the second data register 4 to obtain the latest Add up the results.

S7第三数据寄存器6获取并暂存所述加法器5输出的累加结果。第三数据寄存器6与所述加法器5及双缓冲单元电性连接,用于获取并暂存所述加法器5输出的累加结果。S7 The third data register 6 acquires and temporarily stores the accumulation result output by theadder 5 . The third data register 6 is electrically connected with theadder 5 and the double buffer unit, and is used for obtaining and temporarily storing the accumulation result output by theadder 5 .

S8双缓冲单元将所述第三数据寄存器6中的累加结果缓存至处于第一工作模式的第一缓冲1或第二缓冲2中。The S8 double buffering unit buffers the accumulation result in the third data register 6 into thefirst buffer 1 or thesecond buffer 2 in the first working mode.

假设在第一轮累加结果累加缓存过程中,第一缓冲1处于第一工作模式、第二缓冲2处于第二工作模式。首先第一数据寄存器3获取并暂存与之连接的运算单元输出的乘加结果,同时第二数据寄存器4获取并暂存第一缓冲1中缓存的最新的累加结果。然后通过加法器5将第一数据寄存器3中的乘加结果与第二数据寄存器4中的累加结果进行相加以得到累加结果,并将累加结果暂存在第三数据寄存器6中。最后当第三数据寄存器6获得最新的累加结果后,双缓冲单元将第三数据寄存器6中的累加结果缓存至第一缓冲1中,此时一个累加结果的累加缓存步骤结束。当一个累加结果的累加缓存步骤结束后,累加器缓冲模块会以相同的步骤继续下一个累加结果的累加缓存。另外,在第一缓冲1不断进行累加结果累加缓存的同时,第二缓冲2会对其内部早就缓存的累加结果进行卸载,使得第二缓冲2清零成待用状态。Assume that during the first round of accumulation and caching of accumulation results, thefirst buffer 1 is in the first working mode, and thesecond buffer 2 is in the second working mode. First, thefirst data register 3 acquires and temporarily stores the multiplication and addition results output by the arithmetic unit connected thereto, and at the same time, thesecond data register 4 acquires and temporarily stores the latest accumulation result buffered in thefirst buffer 1 . Then theadder 5 adds the multiplication and addition result in thefirst data register 3 and the accumulation result in the second data register 4 to obtain the accumulation result, and temporarily stores the accumulation result in thethird data register 6 . Finally, when the third data register 6 obtains the latest accumulation result, the double buffering unit buffers the accumulation result in the third data register 6 into thefirst buffer 1, and at this moment, the accumulation and buffering step of an accumulation result ends. When the accumulation and buffering step of an accumulation result ends, the accumulator buffer module will continue the accumulation and buffering of the next accumulation result with the same steps. In addition, while thefirst buffer 1 is continuously accumulating and caching the accumulated results, thesecond buffer 2 will unload the accumulated results already cached in it, so that thesecond buffer 2 is cleared to a standby state.

一定时间后,累加器缓冲控制逻辑会给控制寄存器7发送一个新的控制信号(该控制信号会将第一缓冲1改为第二工作模式,将第二缓冲2改为第一工作模式),使得累加器缓冲模块进入第二轮累加结果累加缓存过程。其中累加结果的累加缓存步骤与上述步骤相同,且当一个累加结果的累加缓存步骤结束后,累加器缓冲模块会以相同的步骤继续下一个累加结果的累加缓存。另外,在第二缓冲2不断进行累加结果累加缓存的同时,第一缓冲1会对其内部在第一轮累加结果累加缓存过程中缓存的累加结果进行卸载,使得第一缓冲1清零成待用状态。After a certain period of time, the accumulator buffer control logic will send a new control signal to the control register 7 (the control signal will change thefirst buffer 1 to the second working mode, and change thesecond buffer 2 to the first working mode), Make the accumulator buffer module enter the second round of accumulating result accumulating and caching process. The accumulation and buffering steps of the accumulation result are the same as the above steps, and when the accumulation and buffering step of one accumulation result ends, the accumulator buffer module will continue the accumulation and buffering of the next accumulation result in the same steps. In addition, while thesecond buffer 2 is continuously accumulating and caching the accumulation results, thefirst buffer 1 will unload the accumulation results cached in the first round of accumulation and caching of the accumulation results, so that thefirst buffer 1 will be cleared as pending. use status.

一定时间后,累加器缓冲控制逻辑会继续给控制寄存器7发送一个新的控制信号(该控制信号会将第一缓冲1改为第一工作模式,将第二缓冲2改为第二工作模式),使得累加器缓冲模块进入第三轮累加结果累加缓存过程,如此不断循环。After a certain period of time, the accumulator buffer control logic will continue to send a new control signal to the control register 7 (this control signal will change thefirst buffer 1 to the first working mode, and change thesecond buffer 2 to the second working mode) , so that the accumulator buffer module enters the third round of accumulating result accumulating and caching process, and so on.

所述数据累加卸载方法还包括以下步骤The data accumulation and unloading method also includes the following steps

L1当所述第一缓冲1或所述第二缓冲2由第一工作模式转为第二工作模式时,结果获取单元获取所述第一缓冲1或所述第二缓冲2中的累加结果。L1 When thefirst buffer 1 or thesecond buffer 2 changes from the first working mode to the second working mode, the result acquiring unit acquires the accumulation result in thefirst buffer 1 or thesecond buffer 2 .

L2当所述结果获取单元完成累加结果获取后,卸载执行单元对所述述第一缓冲1或所述第二缓冲2进行累加结果的卸载操作。L2 After the result acquisition unit completes the acquisition of the accumulation result, the unload execution unit performs an unload operation of the accumulation result on thefirst buffer 1 or thesecond buffer 2 .

当累加器缓冲控制逻辑给控制寄存器7发送一个新的控制信号,使得第一缓冲1(或第二缓冲2)由第一工作模式转为第二工作模式时,需要确保第一缓冲1(或第二缓冲2)中的累加结果已经被提取出来后,才会对第一缓冲1(或第二缓冲2)中的累加结果进行卸载。When the accumulator buffer control logic sends a new control signal to thecontrol register 7, so that the first buffer 1 (or the second buffer 2) changes from the first working mode to the second working mode, it is necessary to ensure that the first buffer 1 (or the second buffer 2) The accumulated results in the first buffer 1 (or the second buffer 2) will not be unloaded until the accumulated results in the second buffer 2) have been extracted.

假设在收到新的控制信号前,第一缓冲1处于第一工作模式,第二缓冲2处于第二工作模式。在收到新的控制信号后,第一缓冲1变为第二工作模式,第二缓冲2变为第一工作模式。当第一缓冲1变为第二工作模式后,需要先通过结果获取单元提取第一缓冲1中的累加结果,然后再通过卸载执行单元对第一缓冲1进行累加结果的卸载操作。当第二缓冲2变为第一工作模式后,第二缓冲2能够立即对矩阵乘法加速单元传输过来的乘加结果进行累加缓存处理。Assume that before receiving a new control signal, thefirst buffer 1 is in the first working mode, and thesecond buffer 2 is in the second working mode. After receiving a new control signal, thefirst buffer 1 changes to the second working mode, and thesecond buffer 2 changes to the first working mode. When thefirst buffer 1 changes to the second working mode, the accumulation result in thefirst buffer 1 needs to be extracted by the result acquisition unit first, and then the accumulation result is unloaded by the unload execution unit on thefirst buffer 1 . When thesecond buffer 2 changes to the first working mode, thesecond buffer 2 can immediately accumulate and cache the multiplication and addition results transmitted from the matrix multiplication acceleration unit.

L3结果写回模块将所述结果获取单元获取的所述累加结果写入局部数据存储器。一个累加器缓冲包括一个结果写回模块,该结果写回模块的输入端与全部累加器缓冲模块中的结果获取单元连接,该结果写回模块的输出端与局部数据存储器连接。通过结果写回模块能够将结果获取单元获取的累加结果写入局部数据存储器。The L3 result write-back module writes the accumulation result obtained by the result obtaining unit into a local data memory. An accumulator buffer includes a result write-back module, the input of the result write-back module is connected to the result acquisition units in all accumulator buffer modules, and the output of the result write-back module is connected to the local data memory. The accumulation result acquired by the result acquisition unit can be written into the local data memory through the result write-back module.

本实施例中,累加器缓冲模块可以先通过第一缓冲1对矩阵乘法加速单元输出的乘加结果进行缓存,同时可以对第二缓冲2中已缓存的累加结果进行卸载(卸载完成后第二缓冲2处于待用状态)。这样,当收到下一次控制信号时,累加器缓冲模块就可以直接通过第二缓冲2对矩阵乘法加速单元输出的乘加结果进行缓存,同时对第一缓冲1中已缓存的累加结果进行卸载(不需要像现有技术一样,在收到数据卸载信号后,一定要等待累加器缓冲先将内部的数据全部卸载之后才能进行下一轮数据的缓存),本实施例的累加器缓冲模块可以如此不断循环,省去了等待数据(即累加结果)卸载的时间,进而有效提高了本实施例中累加器缓冲的数据累加方法的工作效率。In this embodiment, the accumulator buffer module can first cache the multiplication and addition results output by the matrix multiplication acceleration unit through thefirst buffer 1, and at the same time unload the cached accumulation results in the second buffer 2 (after the unloading is completed, thesecond Buffer 2 is in standby). In this way, when receiving the next control signal, the accumulator buffer module can directly cache the multiplication and addition results output by the matrix multiplication acceleration unit through thesecond buffer 2, and at the same time unload the cached accumulation results in the first buffer 1 (It is not necessary to wait for the accumulator buffer to unload all the internal data before proceeding to the next round of data buffering after receiving the data unloading signal as in the prior art), the accumulator buffer module of this embodiment can Such continuous circulation saves the time of waiting for data (that is, the accumulation result) to be unloaded, thereby effectively improving the working efficiency of the method for accumulating data buffered by the accumulator in this embodiment.

上面所述的实施例仅是对本发明的优选实施方式进行描述,并非对本发明的构思和范围进行限定。在不脱离本发明设计构思的前提下,本领域普通人员对本发明的技术方案做出的各种变型和改进,均应落入到本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。The above-mentioned embodiments are only descriptions of preferred implementations of the present invention, and are not intended to limit the concept and scope of the present invention. Under the premise of not departing from the design concept of the present invention, various modifications and improvements made by ordinary persons in the art to the technical solution of the present invention shall fall within the scope of protection of the present invention, and the technical content claimed in the present invention has been fully described in the claims.

Claims (10)

Translated fromChinese
1.一种累加器缓冲结构,其特征在于:包括1. An accumulator buffer structure, characterized in that: comprising一累加器缓冲控制逻辑;以及an accumulator buffer control logic; and多个累加器缓冲模块,每一所述累加器缓冲模块均包括A plurality of accumulator buffer modules, each of which includes双缓冲单元,包括第一缓冲(1)和第二缓冲(2),当所述第一缓冲(1)处于第一工作模式时,所述第二缓冲(2)处于第二工作模式;当所述第一缓冲(1)处于第二工作模式时,所述第二缓冲(2)处于第一工作模式;其中,所述第一工作模式为对累加结果进行缓存,所述第二工作模式为对累加结果进行卸载;A double buffer unit, including a first buffer (1) and a second buffer (2), when the first buffer (1) is in the first working mode, the second buffer (2) is in the second working mode; when When the first buffer (1) is in the second working mode, the second buffer (2) is in the first working mode; wherein, the first working mode is to cache accumulation results, and the second working mode To unload the accumulation result;控制寄存器(7),与所述累加器缓冲控制逻辑及所述双缓冲单元电性连接,用于接收并暂存所述累加器缓冲控制逻辑发出的控制信号;所述双缓冲单元根据所述控制信号确定所述第一缓冲(1)及所述第二缓冲(2)的工作模式。A control register (7), electrically connected to the accumulator buffer control logic and the double buffer unit, for receiving and temporarily storing the control signal sent by the accumulator buffer control logic; the double buffer unit according to the The control signal determines the working modes of the first buffer (1) and the second buffer (2).2.根据权利要求1所述的一种累加器缓冲结构,其特征在于:所述累加器缓冲模块还包括2. a kind of accumulator buffer structure according to claim 1, is characterized in that: described accumulator buffer module also comprises第一数据寄存器(3),与矩阵乘法加速单元出口处的运算单元一一对应连接,用于获取并暂存对应运算单元输出的乘加结果;The first data register (3) is connected to the operation unit at the outlet of the matrix multiplication acceleration unit in one-to-one correspondence, and is used to obtain and temporarily store the multiplication and addition results output by the corresponding operation unit;第二数据寄存器(4),与所述双缓冲单元电性连接,用于获取并暂存处于第一工作模式下的所述第一缓冲(1)或所述第二缓冲(2)中的最新的累加结果;The second data register (4), electrically connected to the double buffer unit, is used to obtain and temporarily store the data in the first buffer (1) or the second buffer (2) in the first working mode The latest accumulated results;加法器(5),与所述第一数据寄存器(3)及所述第二数据寄存器(4)电性连接,用于将所述第一数据寄存器(3)中的乘加结果与所述第二数据寄存器(4)中的累加结果进行相加以得到累加结果;An adder (5), electrically connected to the first data register (3) and the second data register (4), for combining the multiplication and addition results in the first data register (3) with the adding the accumulation results in the second data register (4) to obtain the accumulation result;第三数据寄存器(6),与所述加法器(5)及所述双缓冲单元电性连接,用于获取并暂存所述加法器(5)输出的累加结果,且所述双缓冲单元将所述第三数据寄存器(6)中的累加结果缓存至处于第一工作模式的第一缓冲(1)或第二缓冲(2)中。The third data register (6), electrically connected to the adder (5) and the double buffer unit, is used to obtain and temporarily store the accumulation result output by the adder (5), and the double buffer unit The accumulation result in the third data register (6) is buffered into the first buffer (1) or the second buffer (2) in the first working mode.3.根据权利要求2所述的一种累加器缓冲结构,其特征在于:所述累加器缓冲模块还包括3. a kind of accumulator buffer structure according to claim 2, is characterized in that: described accumulator buffer module also comprises结果获取单元,与所述双缓冲单元电性连接,当所述第一缓冲(1)或所述第二缓冲(2)由第一工作模式转为第二工作模式时,所述结果获取单元获取所述第一缓冲(1)或所述第二缓冲(2)中的累加结果;The result acquisition unit is electrically connected to the double buffer unit, and when the first buffer (1) or the second buffer (2) changes from the first working mode to the second working mode, the result acquiring unit Acquiring the accumulation result in the first buffer (1) or the second buffer (2);卸载执行单元,与所述结果获取单元以及所述双缓冲单元电性连接,当所述结果获取单元完成累加结果的获取后,所述卸载执行单元对所述第一缓冲(1)或所述第二缓冲(2)进行累加结果的卸载操作。an offload execution unit, electrically connected to the result acquisition unit and the double buffer unit, and after the result acquisition unit completes the acquisition of the accumulation result, the offload execution unit executes the first buffer (1) or the The second buffer (2) performs an unloading operation of accumulation results.4.根据权利要求3所述的一种累加器缓冲结构,其特征在于:所述累加器缓冲结构还包括4. a kind of accumulator buffer structure according to claim 3, is characterized in that: described accumulator buffer structure also comprises结果写回模块,与所述结果获取单元以及局部数据存储器连接,用于将所述结果获取单元获取的所述累加结果写入局部数据存储器。The result write-back module is connected with the result acquisition unit and the local data storage, and is used for writing the accumulation result acquired by the result acquisition unit into the local data storage.5.根据权利要求3所述的一种累加器缓冲结构,其特征在于:所述累加器缓冲模块还包括5. a kind of accumulator buffer structure according to claim 3, is characterized in that: described accumulator buffer module also comprises控制信号有效性判定单元,与所述卸载执行单元及所述控制寄存器(7)电性连接,当所述控制寄存器(7)接收到的控制信号是在卸载执行单元未完成卸载操作时收到的,则判定接收到的控制信号为无效;当接收到的控制信号是在卸载执行单元已完成卸载操作时收到的,则判定接收到的控制信号为有效;The control signal validity determination unit is electrically connected to the unloading execution unit and the control register (7), and when the control signal received by the control register (7) is received when the unloading execution unit has not completed the unloading operation , it is determined that the received control signal is invalid; when the received control signal is received when the unloading execution unit has completed the unloading operation, it is determined that the received control signal is valid;控制信号比对单元,与所述控制信号有效性判定单元以及所述控制寄存器(7)电性连接,当新接收到的控制信号为有效时,用于将新接收到的控制信号与所述控制寄存器(7)中上一次暂存的控制信号进行比对。The control signal comparison unit is electrically connected to the control signal validity determination unit and the control register (7), and is used to compare the newly received control signal with the Compare with the last temporarily stored control signal in the control register (7).6.一种累加器缓冲的数据累加卸载方法,其特征在于:包括以下步骤6. A data accumulation and unloading method for accumulator buffering, characterized in that: comprising the following stepsS1累加器缓冲控制逻辑发出控制信号;S1 accumulator buffer control logic sends a control signal;S2控制寄存器(7)接收并暂存累加器缓冲控制逻辑发出的控制信号;The S2 control register (7) receives and temporarily stores the control signal sent by the accumulator buffer control logic;S3双缓冲单元根据所述控制寄存器(7)中的控制信号确定第一缓冲(1)及第二缓冲(2)的工作模式,且当所述第一缓冲(1)处于第一工作模式时,所述第二缓冲(2)处于第二工作模式;当所述第一缓冲(1)处于第二工作模式时,所述第二缓冲(2)处于第一工作模式;其中,所述第一工作模式为对累加结果进行缓存,所述第二工作模式为对累加结果进行卸载。The S3 double buffer unit determines the working modes of the first buffer (1) and the second buffer (2) according to the control signal in the control register (7), and when the first buffer (1) is in the first working mode , the second buffer (2) is in the second working mode; when the first buffer (1) is in the second working mode, the second buffer (2) is in the first working mode; wherein, the first A working mode is to cache the accumulation result, and the second working mode is to unload the accumulation result.7.根据权利要求6所述的一种累加器缓冲的数据累加卸载方法,其特征在于:所述数据累加卸载方法还包括以下步骤7. A method for accumulating and unloading data in an accumulator buffer according to claim 6, characterized in that: said method for accumulating and unloading data further comprises the following stepsS4第一数据寄存器(3)获取并暂存运算单元输出的乘加结果;S4 The first data register (3) obtains and temporarily stores the multiplication and addition results output by the arithmetic unit;S5第二数据寄存器(4)获取并暂存处于第一工作模式下的所述第一缓冲(1)或所述第二缓冲(2)中的最新的累加结果;S5 The second data register (4) obtains and temporarily stores the latest accumulation result in the first buffer (1) or the second buffer (2) in the first working mode;S6加法器(5)将所述第一数据寄存器(3)中的乘加结果与所述第二数据寄存器(4)中的累加结果进行相加以得到累加结果;S6 The adder (5) adds the multiplication and addition result in the first data register (3) to the accumulation result in the second data register (4) to obtain an accumulation result;S7第三数据寄存器(6)获取并暂存所述加法器(5)输出的累加结果;S7 The third data register (6) obtains and temporarily stores the accumulation result output by the adder (5);S8双缓冲单元将所述第三数据寄存器(6)的累加结果缓存至处于第一工作模式的第一缓冲(1)或第二缓冲(2)中。The S8 double buffering unit buffers the accumulation result of the third data register (6) into the first buffer (1) or the second buffer (2) in the first working mode.8.根据权利要求7所述的一种累加器缓冲的数据累加卸载方法,其特征在于:所述数据累加卸载方法还包括以下步骤8. A method for accumulating and unloading data of accumulator buffer according to claim 7, characterized in that: said method for accumulating and unloading data further comprises the following stepsL1当所述第一缓冲(1)或所述第二缓冲(2)由第一工作模式转为第二工作模式时,结果获取单元获取所述第一缓冲(1)或所述第二缓冲(2)中的累加结果;L1 When the first buffer (1) or the second buffer (2) changes from the first working mode to the second working mode, the result acquisition unit acquires the first buffer (1) or the second buffer The cumulative result in (2);L2当所述结果获取单元完成累加结果的获取后,卸载执行单元对所述述第一缓冲(1)或所述第二缓冲(2)进行累加结果的卸载操作。L2 After the result acquisition unit completes the acquisition of the accumulation result, the unload execution unit performs an unload operation of the accumulation result on the first buffer (1) or the second buffer (2).9.根据权利要求8所述的一种累加器缓冲的数据累加卸载方法,其特征在于:所述数据累加卸载方法还包括以下步骤9. A method for accumulating and unloading data in an accumulator buffer according to claim 8, characterized in that: said method for accumulating and unloading data further comprises the following stepsL3结果写回模块将所述结果获取单元获取的所述累加结果写入局部数据存储器。The L3 result write-back module writes the accumulation result obtained by the result obtaining unit into a local data memory.10.根据权利要求8所述的一种累加器缓冲的数据累加卸载方法,其特征在于:所述S2具体包括10. A method for accumulating and unloading data buffered by an accumulator according to claim 8, characterized in that: said S2 specifically includesS21控制寄存器(7)接收累加器缓冲控制逻辑发出的控制信号;S21 control register (7) receives the control signal sent by the accumulator buffer control logic;S22控制信号有效性判定单元判定接收到的控制信号是否有效,当接收到的控制信号是在卸载执行单元未完成卸载操作时收到的,则判定接收到的控制信号为无效;当接收到的控制信号是在卸载执行单元已完成卸载操作时收到的,则判定接收到的控制信号为有效;S22 The control signal validity determination unit determines whether the received control signal is valid, and when the received control signal is received when the unloading execution unit has not completed the unloading operation, then it is determined that the received control signal is invalid; If the control signal is received when the unloading execution unit has completed the unloading operation, it is determined that the received control signal is valid;S23当接收到的控制信号为无效时,控制寄存器(7)将接收到的控制信号删除;S23 When the received control signal is invalid, the control register (7) deletes the received control signal;S24当接收到的控制信号为有效时,控制信号比对单元将接收到的控制信号与所述控制寄存器(7)中上一次暂存的控制信号进行比对,当接收到的控制信号中第一缓冲(1)的工作模式与上一次暂存的控制信号中第一缓冲(1)的工作模式相同时,则控制寄存器(7)将接收到的控制信号删除;当接收到的控制信号中第一缓冲(1)的工作模式与上一次暂存的控制信号中第一缓冲(1)的工作模式不同时,控制寄存器(7)将接收到的控制信号暂存至控制寄存器(7)中;S24 When the received control signal is valid, the control signal comparison unit compares the received control signal with the last temporarily stored control signal in the control register (7). When the working mode of the first buffer (1) is the same as that of the first buffer (1) in the last temporarily stored control signal, the control register (7) deletes the received control signal; when the received control signal contains When the working mode of the first buffer (1) is different from the working mode of the first buffer (1) in the last temporarily stored control signal, the control register (7) temporarily stores the received control signal into the control register (7) ;S25控制寄存器(7)将新暂存的控制信号发送给双缓冲单元。The S25 control register (7) sends the newly temporarily stored control signal to the double buffer unit.
CN202210966726.5A2022-08-12 An accumulator buffer structure and data accumulation and unloading method thereofActiveCN115268838B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202210966726.5ACN115268838B (en)2022-08-12 An accumulator buffer structure and data accumulation and unloading method thereof

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202210966726.5ACN115268838B (en)2022-08-12 An accumulator buffer structure and data accumulation and unloading method thereof

Publications (2)

Publication NumberPublication Date
CN115268838Atrue CN115268838A (en)2022-11-01
CN115268838B CN115268838B (en)2025-10-14

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5465343A (en)*1993-04-301995-11-07Quantum CorporationShared memory array for data block and control program storage in disk drive
CN101351791A (en)*2005-09-022009-01-21奎克菲尔特技术公司Shared memory and shared multiplier programmable digital-filter implementation
CN103699355A (en)*2013-12-302014-04-02南京大学Variable-order pipeline serial multiply-accumulator
WO2019164237A1 (en)*2018-02-202019-08-29삼성전자주식회사Method and device for performing deep learning calculation by using systolic array
US20200201932A1 (en)*2019-12-282020-06-25Intel CorporationApparatuses, methods, and systems for instructions of a matrix operations accelerator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5465343A (en)*1993-04-301995-11-07Quantum CorporationShared memory array for data block and control program storage in disk drive
CN101351791A (en)*2005-09-022009-01-21奎克菲尔特技术公司Shared memory and shared multiplier programmable digital-filter implementation
CN103699355A (en)*2013-12-302014-04-02南京大学Variable-order pipeline serial multiply-accumulator
WO2019164237A1 (en)*2018-02-202019-08-29삼성전자주식회사Method and device for performing deep learning calculation by using systolic array
US20200201932A1 (en)*2019-12-282020-06-25Intel CorporationApparatuses, methods, and systems for instructions of a matrix operations accelerator
CN113050990A (en)*2019-12-282021-06-29英特尔公司Apparatus, method and system for instructions for a matrix manipulation accelerator

Similar Documents

PublicationPublication DateTitle
US12061562B2 (en)Computer memory expansion device and method of operation
CN107657581B (en) A convolutional neural network CNN hardware accelerator and acceleration method
US6341318B1 (en)DMA data streaming
JP2516300B2 (en) Apparatus and method for optimizing the performance of a multi-processor system
US5526508A (en)Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
KR102520983B1 (en) Acceleration control system based on binarization algorithm, chip and robot
TWI773683B (en)Providing memory bandwidth compression using adaptive compression in central processing unit (cpu)-based systems
US10445261B2 (en)System memory having point-to-point link that transports compressed traffic
CN115878517A (en) Memory device, method of operating the memory device, and electronic device
CN117632043B (en)CXL memory module, control chip, data processing method, medium and system
CN103345368A (en)Data caching method in buffer storage
WO2007135602A1 (en)Electronic device and method for storing and retrieving data
CN110059024B (en)Memory space data caching method and device
CN106775477B (en)SSD (solid State disk) master control data transmission management device and method
CN114442908B (en)Hardware acceleration system and chip for data processing
CN111753962A (en)Adder, multiplier, convolution layer structure, processor and accelerator
CN115269492A (en) Streaming data management method and device for reconfigurable processor multi-port cache
CN115268838A (en)Accumulator buffer structure and data accumulation unloading method thereof
CN117435251B (en) A post-quantum cryptographic algorithm processor and its system on chip
CN115268838B (en) An accumulator buffer structure and data accumulation and unloading method thereof
CN110633233A (en)DMA data transmission processing method based on assembly line
CN115268836A (en)Control structure and method for data accumulation unloading buffered by accumulator
EP4109278B1 (en)Technology for early abort of compression acceleration
CN115268837A (en)Data accumulation unloading system and method buffered by accumulator
CN112380158B (en) A computing platform for deep learning

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp