CN116257207B - 一种数据截位方法、模块、计算机设备及存储介质 - Google Patents
一种数据截位方法、模块、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116257207B CN116257207B CN202211094302.0A CN202211094302A CN116257207B CN 116257207 B CN116257207 B CN 116257207B CN 202211094302 A CN202211094302 A CN 202211094302A CN 116257207 B CN116257207 B CN 116257207B
- Authority
- CN
- China
- Prior art keywords
- data
- maximum value
- operation data
- stage
- current
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 229920006395 saturated elastomer Polymers 0.000 claims abstract description 34
- 238000012216 screening Methods 0.000 claims abstract description 26
- 238000005520 cutting process Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 7
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Measurement Of Current Or Voltage (AREA)
Abstract
本发明提供了一种数据截位方法、模块、计算机设备及存储介质,所述截位方法包括:根据当前级运算系统输出的多个运算数据,筛选出当前级最大值;根据当前级最大值得到饱和系数;将多个运算数据分别乘以饱和系数得到多个饱和运算数据;根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据并将所述多个截位运算数据传输给下一级运算系统的输入端;解决了现有技术中存在的当多个数据中除最大值外,其他数据与最大数据的值相差较大时,其他数据的位宽并未被完全利用,导致被截取的数据精度较低。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据截位方法、模块、计算机设备及存储介质。
背景技术
在数字信号处理、图像处理、人工智能、雷达以及通用计算等领域,通常包含大量数学运算。如下图1所示,这些领域的运算大部分都可归结为由多级运算组成的运算,其每级运算相互独立,前一级运算的结果做为下一级运算的输入。每一级运算通常由大量乘加运算组成,如果每一级的运算结果全精度的输出到下一级,每一级的数据位宽都会增加,这将导致每一级的运算资源、存储资源以及功耗的增加同时也会导致性能的下降。因此必须对每一级运算结果进行截位,例如将M个数据位的运算数据截取到N位输出到下一级运算系统,使得每一级的输入数据和输出数据的位宽不会随着级数的增加而增加。
现有技术中,从运算系统输出的多个数据中筛选出最大值,根据最大值得到最高有效位位置并将最高有效位位置发送给截位单元,截位单元直接根据最高有效位位置所有数据依次进行截位,将截位后的多个数据传输给下一级运算系统。
但是,现有技术方案中,当多个数据中除最大值外,其他数据与最大数据的值相差较大时,其他数据的位宽并未被完全利用,导致被截取的数据精度较低。
发明内容
针对现有技术中所存在的不足,本发明提供了一种数据截位方法、模块、计算机设备及存储介质,其解决了现有技术中存在的数据截位精度不高的问题。
第一方面,本发明提供一种数据截位方法所述截位方法包括:根据当前级运算系统输出的多个运算数据,筛选出当前级最大值;根据当前级最大值得到饱和系数;将多个运算数据分别乘以饱和系数得到多个饱和运算数据;根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据,并将所述多个截位运算数据传输给下一级运算系统的输入端。
可选地,所述根据当前级运算系统输出的多个运算数据,筛选出当前级最大值包括:将第x个运算数据的绝对值与目标最大值进行比较,若所述第x个运算数据大于所述目标最大值,将所述第x个运算数据作为目标最大值,其中x∈[1,N],N+1为当前运算系统输出的运算数据的总个数;当第N个运算数据的绝对值与目标最大值进行比较之后,将目标最大值作为当前级最大值。
可选地,所述根据当前级运算系统输出的多个运算数据,筛选出当前级最大值还包括:当x为0时将第0个运算数据的绝对值与预设数据0进行比较,将第0个运算数据的绝对值作为目标最大值。
可选地,所述根据当前级最大值得到饱和系数包括:获取当前级最大值的有效位数,所述有效位数为当前级最大值的二进制数的位数;根据有效位数生成相对应的有效饱和数,所述有效饱和数为所述有效位数对应的二进制最大数;将有效饱和数除以当前级最大值得到饱和系数。
第二方面,本发明提供一种数据截位模块,所述截位模块包括:数据筛选单元、饱和系数获取单元、乘法器和截位单元;所述数据筛选单元与当前级运算系统的输出端相连,用于根据当前级运算系统输出的多个运算数据筛选出当前级最大值;所述饱和系数获取单元分别与所述数据筛选单元和乘法器相连,用于根据数据筛选单元发出的当前级最大值得到饱和系数并发送给所述乘法器;所述乘法器与当前级运算系统的输出端相连,用于将接收到的多个运算数据分别乘以饱和系数得到饱和运算数据;所述截位单元分别与所述乘法器和下一级运算系统的输入端相连,用于根据预设输出数据位分别对接收到的多个饱和运算数据进行截位得到多个截位运算数据并将截位运算数据传输给下一级运算系统的输入端。
可选地,所述数据筛选单元包括:绝对值获取单元、比较器和寄存器;所述绝对值获取单元用于对当前级输出的运算数据取绝对值;所述比较器的第一输入端与所述绝对值单元相连,所述比较器的第二输入端与寄存器相连,所述比较器的输出端与寄存器相连,用于当x为0时将第0个运算数据的绝对值与预设数据0进行比较,将第0个运算数据的绝对值作为目标最大值;所述比较器还用于将第x个运算数据的绝对值与寄存器发出的目标最大值进行比较,若所述第x个运算数据大于所述目标最大值,将所述第x个运算数据作为目标最大值发送给寄存器;所述寄存器与所述饱和系数获取单元相连,用于当第N个运算数据的绝对值与目标最大值进行比较之后,将目标最大值作为当前级最大值发送给所述饱和系数获取单元。
可选地,所述饱和系数获取单元为除法器;所述除法器分别与所述数据筛选单元和所述乘法器相连,用于获取当前级最大值的有效位数,所述有效位数为当前级最大值的二进制数的位数;所述除法器还用于根据有效位数生成相对应的有效饱和数,所述有效饱和数为所述有效位数对应的二进制最大数;所述除法器还用于将有效饱和数除以当前级最大值得到饱和系数。
可选地,所述截位模块还包括:RAM;所述RAM分别与所述当前级运算系统的输出端和乘法器相连,用于接收并存储当前级运算系统输出的多个运算数据,还用于将多个运算数据依次发送给所述乘法器,使所述乘法器将接收到的多个运算数据分别乘以饱和系数得到多个饱和运算数据。
第三方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:从当前级运算系统输出的多个运算数据筛选出当前级最大值;根据当前级最大值得到饱和系数;将每个运算数据乘以饱和系数得到饱和运算数据;根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据并将所述多个截位运算数据传输给下一级运算系统的输入端。
第四方面,本发明提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一下步骤:从当前级运算系统输出的多个运算数据筛选出当前级最大值;根据当前级最大值得到饱和系数;将每个运算数据乘以饱和系数得到饱和运算数据;根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据并将所述多个截位运算数据传输给下一级运算系统的输入端。
相比于现有技术,本发明具有如下有益效果:
通过从多个运算数据中筛选出当前级最大值,根据当前级最大值得到饱和系数,将多个运算数据分别乘以饱和系数得到多个饱和运算数据,使每个运算数据的饱和度增大,从而使与当前级最大值相差较大的运算数据的二进制位数也将增加,从而增加了与当前级最大值相差较大的运算数据的有效位数,且饱和系数根据当前级最大值得到,其增加的幅度并不会超过当前级最大值的二进制位数,根据预设输出数据位分别对多个饱和运算数据进行截位,此时饱和运算数据相比未乘饱和系数的运算数据有效位数更多,对饱和运算数据进行截位之后的精度也就更高,将得到的多个截位运算数据传输给下一级运算系统的输入端,下一级运算系统根据截位运算数据进行计算,从而节约运算系统的资源并得到高精度的运算数据。
附图说明
图1为现有技术中的多级运算的结构图;
图2为本发明实施例提供的一种数据截位方法的流程图;
图3为本发明实施例提供的另一种数据截位方法的流程图;
图4为本发明实施例提供的另一种数据截位方法的流程图;
图5为本发明实施例提供的一种数据截位模块的结构图;
图6为本发明实施例提供的另一种数据截位模块的结构图;
图7为本发明实施例提供的另一种数据截位模块的结构图。
具体实施方式
下面结合附图及实施例对本发明中的技术方案进一步说明。
图2为本发明实施例提供的一种数据截位方法的流程图,如图所示,所述截位方法具体包括以下步骤:
步骤S101,根据当前级运算系统输出的多个运算数据,筛选出当前级最大值;
具体地,每级运算系统运算之后将输出多个运算数据,每个运算数据在运算系统中用二进制表示,数据的值越大,需要的二进制表示的位数越多,通过从多个运算数据中筛选出当前级最大值以获取当前级最大值用二进制表示所需的二进制位数。
步骤S102,根据当前级最大值得到饱和系数;
具体地,通过当前级最大值用二进制表示所需的二进制位数得到饱和系数。
步骤S103,将多个运算数据分别乘以饱和系数得到多个饱和运算数据;
具体地,通过将每个运算数据乘以饱和系数,使每个运算数据的饱和度增大,从而使与当前级最大值相差较大的运算数据的二进制位数也将增加,从而增加了与当前级最大值相差较大的运算数据的有效位数,且饱和系数根据当前级最大值得到,其增加的幅度并不会超过当前级最大值的二进制位数。
步骤S104,根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据,并将所述多个截位运算数据传输给下一级运算系统的输入端。
具体地,根据预设输出数据位分别对多个饱和运算数据进行截位,此时饱和运算数据相比未乘饱和系数的运算数据有效位数更多,对饱和运算数据进行截位之后的精度也就更高,将得到的多个截位运算数据传输给下一级运算系统的输入端,下一级运算系统根据截位运算数据进行计算,从而节约运算系统的资源并得到高精度的运算数据。
图3为本发明实施例提供的另一种数据截位方法的流程图,在步骤S101中,所述根据当前级运算系统输出的多个运算数据,筛选出当前级最大值具体包括一下步骤:
步骤S201,当x为0时将第0个运算数据的绝对值与预设数据0进行比较,将第0个运算数据的绝对值作为目标最大值;
具体地,先将第0个数与预设数据进行比较,将第0个运算数据作为目标最大值;
步骤S202,将第x个运算数据的绝对值与目标最大值进行比较,若所述第x个运算数据大于所述目标最大值,将所述第x个运算数据作为目标最大值;
具体地,其中x∈[1,N],N+1为当前运算系统输出的运算数据的总个数;通过每个运算数据与目标最大数据进行比较,从多个运算数据中筛选出最大值;
步骤S203,当第N个运算数据的绝对值与目标最大值进行比较之后,将目标最大值作为当前级最大值。
具体地,当第N个运算数据的绝对值与目标最大值进行比较之后,可以确定出多个运算数据中的目标最大值,将目标最大值作为当前级最大值。
图4为本发明实施例提供的另一种数据截位方法的流程图,在步骤S201中,如图4所示,所述根据当前级最大值得到饱和系数具体包括以下步骤:
步骤S301,获取当前级最大值的有效位数;
具体地,所述有效位数为当前级最大值的二进制数的位数;
步骤S302,根据有效位数生成相对应的有效饱和数;
具体地,所述有效饱和数为所述有效位数对应的二进制最大数;
步骤S303,将有效饱和数除以当前级最大值得到饱和系数;
具体地,通过将有效饱和数除以当前级最大值,使其得到饱和系数,其饱和系数通过当前级最大值得到,其余运算数据乘以饱和系数都将不会超过当前级最大值的二进制的位数,使其精度达到最高。
图5为本发明实施例提供的一种数据截位模块的结构图,如图5所示,所述截位模块包括:数据筛选单元100、饱和系数获取单元200、乘法器300和截位单元400;
所述数据筛选单元100与当前级运算系统的输出端相连,用于根据当前级运算系统输出的多个运算数据筛选出当前级最大值;
所述饱和系数获取单元200分别与所述数据筛选单元100和乘法器300相连,用于根据数据筛选单元100发出的当前级最大值得到饱和系数并发送给所述乘法器300;
所述乘法器300与当前级运算系统的输出端相连,用于将接收到的多个运算数据分别乘以饱和系数得到多个饱和运算数据;
所述截位单元400分别与所述乘法器300和下一级运算系统的输入端相连,用于根据预设输出数据位分别对接收到的多个饱和运算数据进行截位得到多个截位运算数据并将所述多个截位运算数据传输给下一级运算系统的输入端。
在本实施例中,通过数据筛选单元100从当前级运算系统输出的多个运算数据筛选出当前级最大值,数据饱和单元根据当前级最大值得到饱和系数,乘法器300将当前级饱和系数与每个运算数据相乘得到饱和运算数据,再通过截位单元400用于根据预设输出数据位分别对接收到的多个饱和运算数据进行截位得到多个截位运算数据并将截位运算数据传输给下一级运算系统的输入端,从而提高了数据截位的截位精度。
图6为本发明实施例提供的另一种数据截位模块的结构图,如图6所示,所述数据筛选单元100包括:绝对值获取单元110、比较器120和寄存器130;所述绝对值获取单元110用于对当前级输出的运算数据取绝对值;所述比较器120的第一输入端与所述绝对值单元相连,所述比较器120的第二输入端与寄存器130相连,所述比较器120的输出端与寄存器130相连,用于当x为0时将第0个运算数据的绝对值与预设数据0进行比较,将第0个运算数据的绝对值作为目标最大值;所述比较器120还用于将第x个运算数据的绝对值与寄存器130发出的目标最大值进行比较,若所述第x个运算数据大于所述目标最大值,将所述第x个运算数据作为目标最大值发送给寄存器130;所述寄存器130与所述饱和系数获取单元200相连,用于当第N个运算数据的绝对值与目标最大值进行比较之后,将目标最大值作为当前级最大值发送给所述饱和系数获取单元200。
在本实施例中,当前级运算系统输出的多个运算数据可能存在负数,通过绝对值获取单元110将输入进的每个运算数据取绝对值。具体地,当第0个运算数据result(0)输入到截位模块,result(0)经过绝对值获取单元110取绝对值得到|result(0)|,将|result(0)|送入到比较器120的a端口,寄存器130中初始预设数据为0,将预设数据0送入到比较器120的b端口,将0和|result(0)|中较大的数值作为目标最大值存储到所述寄存器130中;当第1个运算数据result(1)输入到截位模块,result(1)经过绝对值获取单元110取绝对值得到|result(1)|,将|result(1)|送入到比较器120的a端口,将寄存器130中上一步获得的目标最大值送入到比较器120的b端口,将|result(1)|和上一步获得的目标最大值比较得到新的目标最大值存储到所述寄存器130中;依此类推,直到所有运算数据中的最后一个运算数据|result(x)|,将第x个运算数据result(x)输入到截位模块,result(x)经过绝对值获取单元110取绝对值得到|result(x)|,将|result(x)|送入到比较器120的a端口,将寄存器130中上一步获得的目标最大值送入到比较器120的b端口,将|result(x)|和上一步获得的目标最大值比较得到新的目标最大值存储到所述寄存器130中,其新的目标最大值作为当前级最大值存储在寄存器130中并将当前级最大值发送给饱和系数获取单元200。
图7为本发明实施例提供的另一种数据截位模块的结构图,如图7所示,所述饱和系数获取单元200为除法器;所述除法器分别与所述数据筛选单元100和所述乘法器300相连,用于获取当前级最大值的有效位数,所述有效位数为当前级最大值的二进制数的位数;所述除法器还用于根据有效位数生成相对应的有效饱和数,所述有效饱和数为所述有效位数对应的二进制最大数;所述除法器还用于将有效饱和数除以当前级最大值得到饱和系数。
具体地,例如,当筛选出的当前级最大值为“8”,其二进制表示为“1000”,获取8的有效位数为4bit,根据有效位数4bit生成相应的有效饱和数“1111”,“1111”为4bit对应的最大二进制数,“1111”对应的数为15,用15除以8得到饱和系数1.875,将1.875发送给乘法器300,使乘法器300对所有的运算数据乘1.875,从而增加了运算数据的有效位数,再对其进行截位,增加了截位的精度。
在本发明的另一实施例中,如图7所示,所述截位模块还包括:RAM500;所述RAM500分别与所述当前级运算系统的输出端和乘法器300相连,用于接收并存储当前级运算系统输出的多个运算数据,还用于将多个运算数据依次发送给所述乘法器300,使所述乘法器300将接收到的每个运算数据乘以饱和系数得到饱和运算数据。
在本实施例中,通过RAM500将接收到的多个运算数据进行存储,便于乘法器300将接收到的每个运算数据乘以饱和系数得到饱和运算数据。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:根据当前级运算系统输出的多个运算数据,筛选出当前级最大值;根据当前级最大值得到饱和系数;将多个运算数据分别乘以饱和系数得到多个饱和运算数据;根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据并将所述多个截位运算数据传输给下一级运算系统的输入端。
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一下步骤:根据当前级运算系统输出的多个运算数据,筛选出当前级最大值;根据当前级最大值得到饱和系数;将多个运算数据分别乘以饱和系数得到多个饱和运算数据;根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据并将所述多个截位运算数据传输给下一级运算系统的输入端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
Claims (8)
1.一种数据截位方法,其特征在于,所述截位方法包括:
根据当前级运算系统输出的多个运算数据,筛选出当前级最大值;
获取当前级最大值的有效位数,所述有效位数为当前级最大值的二进制数的位数;
根据有效位数生成相对应的有效饱和数,所述有效饱和数为所述有效位数对应的二进制最大数;
将有效饱和数除以当前级最大值得到饱和系数;
将多个运算数据分别乘以饱和系数得到多个饱和运算数据;
根据预设输出数据位分别对多个饱和运算数据进行截位得到多个截位运算数据,并将所述多个截位运算数据传输给下一级运算系统的输入端。
2.如权利要求1所述的一种数据截位方法,其特征在于,所述根据当前级运算系统输出的多个运算数据,筛选出当前级最大值包括:
将第x个运算数据的绝对值与目标最大值进行比较,若所述第x个运算数据大于所述目标最大值,将所述第x个运算数据作为目标最大值,其中x∈[1,N],N+1为当前运算系统输出的运算数据的总个数;
当第N个运算数据的绝对值与目标最大值进行比较之后,将目标最大值作为当前级最大值。
3.如权利要求2所述的一种数据截位方法,其特征在于,所述根据当前级运算系统输出的多个运算数据,筛选出当前级最大值还包括:
当x为0时将第0个运算数据的绝对值与预设数据0进行比较,将第0个运算数据的绝对值作为目标最大值。
4.一种数据截位模块,其特征在于,所述截位模块包括:数据筛选单元、除法器、乘法器和截位单元;
所述数据筛选单元与当前级运算系统的输出端相连,用于根据当前级运算系统输出的多个运算数据筛选出当前级最大值;
所述除法器分别与所述数据筛选单元和乘法器相连,用于获取当前级最大值的有效位数,所述有效位数为当前级最大值的二进制数的位数;
所述除法器还用于根据有效位数生成相对应的有效饱和数,所述有效饱和数为所述有效位数对应的二进制最大数;
所述除法器还用于将有效饱和数除以当前级最大值得到饱和系数;
所述乘法器与当前级运算系统的输出端相连,用于将接收到的多个运算数据分别乘以饱和系数得到饱和运算数据;
所述截位单元分别与所述乘法器和下一级运算系统的输入端相连,用于根据预设输出数据位分别对接收到的多个饱和运算数据进行截位得到多个截位运算数据并将所述多个截位运算数据传输给下一级运算系统的输入端。
5.如权利要求4所述的一种数据截位模块,其特征在于,所述数据筛选单元包括:绝对值获取单元、比较器和寄存器;
所述绝对值获取单元用于对当前级输出的运算数据取绝对值;
所述比较器的第一输入端与所述绝对值单元相连,所述比较器的第二输入端与寄存器相连,所述比较器的输出端与寄存器相连,用于当x为0时将第0个运算数据的绝对值与预设数据0进行比较,将第0个运算数据的绝对值作为目标最大值;
所述比较器还用于将第x个运算数据的绝对值与寄存器发出的目标最大值进行比较,若所述第x个运算数据大于所述目标最大值,将所述第x个运算数据作为目标最大值发送给寄存器;
所述寄存器与所述饱和系数获取单元相连,用于当第N个运算数据的绝对值与目标最大值进行比较之后,将目标最大值作为当前级最大值发送给所述饱和系数获取单元。
6.如权利要求4所述的一种数据截位模块,其特征在于,所述截位模块还包括:RAM;
所述RAM分别与所述当前级运算系统的输出端和乘法器相连,用于接收并存储当前级运算系统输出的多个运算数据,还用于将多个运算数据依次发送给所述乘法器,使所述乘法器将接收到的多个运算数据乘分别以饱和系数得到多个饱和运算数据。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项方法的步骤。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094302.0A CN116257207B (zh) | 2022-09-08 | 2022-09-08 | 一种数据截位方法、模块、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094302.0A CN116257207B (zh) | 2022-09-08 | 2022-09-08 | 一种数据截位方法、模块、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116257207A CN116257207A (zh) | 2023-06-13 |
CN116257207B true CN116257207B (zh) | 2023-10-03 |
Family
ID=86681458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211094302.0A Active CN116257207B (zh) | 2022-09-08 | 2022-09-08 | 一种数据截位方法、模块、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257207B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042583A (zh) * | 2006-02-09 | 2007-09-26 | 阿尔特拉公司 | 用于可编程逻辑器件的专门处理块 |
CN102025477A (zh) * | 2009-09-10 | 2011-04-20 | 卓胜微电子(上海)有限公司 | 用于软解调和信道译码级链结构的比特位宽调节方法、系统 |
CN102316567A (zh) * | 2011-08-02 | 2012-01-11 | 京信通信系统(中国)有限公司 | 数字自动增益控制方法及系统 |
CN102804128A (zh) * | 2009-05-27 | 2012-11-28 | 超威半导体公司 | 执行饱和乘法和饱和乘加运算的算术处理单元及方法 |
CN104868942A (zh) * | 2015-05-29 | 2015-08-26 | 华为技术有限公司 | 通信设备和通信系统 |
CN105045560A (zh) * | 2015-08-25 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种定点乘加运算方法和装置 |
CN110247642A (zh) * | 2019-06-13 | 2019-09-17 | 江苏卓胜微电子股份有限公司 | 一种fir滤波方法及滤波器 |
CN110572225A (zh) * | 2019-07-18 | 2019-12-13 | 广州润芯信息技术有限公司 | 接收机直流失调监测系统、方法、电子设备及存储介质 |
CN111602340A (zh) * | 2017-10-16 | 2020-08-28 | 声学美容公司 | 使用目标数字信号的位需求优化的数字信号的改进卷积 |
CN111738427A (zh) * | 2020-08-14 | 2020-10-02 | 电子科技大学 | 一种神经网络的运算电路 |
CN112163185A (zh) * | 2020-09-30 | 2021-01-01 | 中国科学院计算技术研究所 | Fft/ifft运算装置及基于该装置的fft/ifft运算方法 |
CN114077605A (zh) * | 2020-08-13 | 2022-02-22 | 大唐移动通信设备有限公司 | 一种数据处理方法及装置 |
CN114416021A (zh) * | 2022-01-19 | 2022-04-29 | 安徽芯纪元科技有限公司 | 一种用于存算融合式处理器架构的定点数据动态截位方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7461118B2 (en) * | 2003-04-09 | 2008-12-02 | Infineon Technologies Ag | Arithmetic logic unit with merged circuitry for comparison, minimum/maximum selection and saturation for signed and unsigned numbers |
JP4439536B2 (ja) * | 2007-05-10 | 2010-03-24 | 株式会社東芝 | 固体撮像装置 |
WO2019005084A1 (en) * | 2017-06-29 | 2019-01-03 | Intel Corporation | SYSTEMS, APPARATUSES, AND METHODS FOR VECTORIZED FRACTIONAL MULTIPLICATION OF SIGNED WORDS COMPRISING HIGH RESULTS BOROUGH, SATURATION, AND SELECTION |
-
2022
- 2022-09-08 CN CN202211094302.0A patent/CN116257207B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042583A (zh) * | 2006-02-09 | 2007-09-26 | 阿尔特拉公司 | 用于可编程逻辑器件的专门处理块 |
CN102804128A (zh) * | 2009-05-27 | 2012-11-28 | 超威半导体公司 | 执行饱和乘法和饱和乘加运算的算术处理单元及方法 |
CN102025477A (zh) * | 2009-09-10 | 2011-04-20 | 卓胜微电子(上海)有限公司 | 用于软解调和信道译码级链结构的比特位宽调节方法、系统 |
CN102316567A (zh) * | 2011-08-02 | 2012-01-11 | 京信通信系统(中国)有限公司 | 数字自动增益控制方法及系统 |
CN104868942A (zh) * | 2015-05-29 | 2015-08-26 | 华为技术有限公司 | 通信设备和通信系统 |
CN105045560A (zh) * | 2015-08-25 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种定点乘加运算方法和装置 |
CN111602340A (zh) * | 2017-10-16 | 2020-08-28 | 声学美容公司 | 使用目标数字信号的位需求优化的数字信号的改进卷积 |
CN110247642A (zh) * | 2019-06-13 | 2019-09-17 | 江苏卓胜微电子股份有限公司 | 一种fir滤波方法及滤波器 |
CN110572225A (zh) * | 2019-07-18 | 2019-12-13 | 广州润芯信息技术有限公司 | 接收机直流失调监测系统、方法、电子设备及存储介质 |
CN114077605A (zh) * | 2020-08-13 | 2022-02-22 | 大唐移动通信设备有限公司 | 一种数据处理方法及装置 |
CN111738427A (zh) * | 2020-08-14 | 2020-10-02 | 电子科技大学 | 一种神经网络的运算电路 |
CN112163185A (zh) * | 2020-09-30 | 2021-01-01 | 中国科学院计算技术研究所 | Fft/ifft运算装置及基于该装置的fft/ifft运算方法 |
CN114416021A (zh) * | 2022-01-19 | 2022-04-29 | 安徽芯纪元科技有限公司 | 一种用于存算融合式处理器架构的定点数据动态截位方法 |
Non-Patent Citations (2)
Title |
---|
SAR实时成像系统的快速定点仿真验证技术;李炳沂;谢宜壮;杜青;陈禾;杨晨;;北京理工大学学报(第01期);第67-76页 * |
基于分布式结构的Zoom FFT及其FPGA实现;朱恺;秦轶炜;孙元敏;;无线电工程(第02期);第67-72页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116257207A (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023801B2 (en) | Data processing method and apparatus | |
US11748595B2 (en) | Convolution acceleration operation method and apparatus, storage medium and terminal device | |
US10491239B1 (en) | Large-scale computations using an adaptive numerical format | |
US9361307B2 (en) | Rejecting rows when scanning a collision chain that is associated with a page filter | |
CN109597571B (zh) | 数据存储方法、数据读取方法、装置和计算机设备 | |
CN110688338B (zh) | 一种波特率生成方法、终端及存储介质 | |
US12009948B2 (en) | Data processing apparatus and method, base station, and storage medium | |
US20200117638A1 (en) | Method, device and computer program product for searching a file | |
US20040167956A1 (en) | Method and apparatus for executing division | |
CN116257207B (zh) | 一种数据截位方法、模块、计算机设备及存储介质 | |
WO2022087781A1 (zh) | 信号处理方法、可读存储介质和超声成像系统 | |
US6711596B1 (en) | Method and apparatus for determining the approximate valve of a logarithmic function | |
CN105677645A (zh) | 一种数据表比对方法和装置 | |
CN117743441A (zh) | 一种基于二进制哈希的快速数据校验方法及系统 | |
US20180232145A1 (en) | Method of storing data, information processing apparatus and non-transitory computer-readable storage medium | |
US10963746B1 (en) | Average pooling in a neural network | |
CN104794129B (zh) | 一种基于查询日志的数据处理方法和系统 | |
CN117724899A (zh) | 一种项目数据备份方法、系统及介质 | |
CN108197074B (zh) | 快速傅里叶变换fft数据处理方法及装置 | |
US10664240B2 (en) | Cryptographic processing method comprising multiplication of a point of an elliptic curve by a scalar | |
US20220004595A1 (en) | Device for calculating an analog fourier transform | |
CN117077182B (zh) | 用于电子商务管理系统数据的安全存储方法 | |
CN105224291A (zh) | 一种数据处理方法及装置 | |
CN113538499B (zh) | 图像阈值分割方法、装置、计算机设备和存储介质 | |
Martínez et al. | Partial quicksort and quickpartitionsort |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |