CN111313906B - 一种浮点数的转换电路 - Google Patents
一种浮点数的转换电路 Download PDFInfo
- Publication number
- CN111313906B CN111313906B CN202010138185.8A CN202010138185A CN111313906B CN 111313906 B CN111313906 B CN 111313906B CN 202010138185 A CN202010138185 A CN 202010138185A CN 111313906 B CN111313906 B CN 111313906B
- Authority
- CN
- China
- Prior art keywords
- value
- floating point
- point number
- binary code
- target value
- 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
- 238000007667 floating Methods 0.000 title claims abstract description 130
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 36
- 230000000295 complement effect Effects 0.000 claims description 23
- 230000001502 supplementing effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 17
- 230000008569 process Effects 0.000 abstract description 15
- 238000013528 artificial neural network Methods 0.000 abstract description 13
- 238000012549 training Methods 0.000 abstract description 9
- 230000001105 regulatory effect Effects 0.000 abstract description 4
- 230000009466 transformation Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004174 erythrosine Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
-
- 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)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本申请提供了一种浮点数的转换电路。该电路能够将posit数据格式的浮点数转换为IEEE754数据格式的浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,本申请中posit数据格式的浮点数的预设总位宽是可以调控的,可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种浮点数的转换电路。
背景技术
随着大数据时代的到来,人工神经网络技术得到飞速发展。人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。
人工神经网络包括数据处理和数据存储两大部分。数据处理是指对浮点数进行运算、分析,从而建立神经网络模型;数据存储是指对浮点数进行存储。浮点数的数据格式有多种,比如IEEE 754规范的规格化单精度浮点数格式(简称为IEEE 754数据格式)和posit数据格式等。
由于IEEE 754数据格式在精度上能够满足人工神经网络的训练要求,因此,通常采用IEEE 754数据格式的浮点数执行数据处理的过程。但是,IEEE 754数据格式的浮点数占用的位宽较大,进而需要占用较多的存储资源和读写资源。而posit数据格式的浮点数占用的位宽较少,如果能够将浮点数以posit数据格式进行存储,就可以大大减少存储资源和读写资源的占用。为了实现将浮点数以posit数据格式进行存储,并以IEEE 754数据格式进行处理,一个必须要解决的问题就是将posit数据格式的浮点数转换为IEEE 754数据格式的浮点数。
发明内容
本申请提供了一种浮点数的转换电路,可用于实现将posit数据格式的浮点数转换为IEEE 754数据格式的浮点数。
本申请实施例提供一种浮点数转换电路,包括:
数据输入单元101,用于输入第一浮点数,所述第一浮点数是posit数据格式的浮点数,所述第一浮点数的总位宽为N;
第一数据输出单元102,用于将所述第一浮点数中后N-1位的二进制码舍去,得到符号段的二进制码,并根据所述符号段的二进制码,确定第二浮点数中符号段的值,以及输出所述第二浮点数中符号段的值;
LOD单元103,用于接收第一浮点数中后N-1位的二进制码,以及输出所述后N-1位的二进制码中第一个1之前的0的个数,作为第一数值,以及将所述第一数值输出至第一数据转换单元107和第三多路选择器109;
LZD单元104,用于接收所述第一浮点数中后N-2位的二进制码,以及输出所述后N-2位的二进制码中第一个0之前的1的个数,作为第二数值,以及将所述第二数值分别输入至第二多路选择器108和第三多路选择器109;
第一左移位器105,用于接收所述第一浮点数中后N-1位的二进制码,以及将所述第一浮点数中后N-1位的二进制码的数据左移1位,输出移位后的N-1位的二进制码;
第一多路选择器106,用于接收所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码;以及根据预设选择信号,从所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码中确定出第一目标数值;
第一数据转换单元107,用于接收所述第一数值,对所述第一数值进行二的补码转换,得到第一数值的补码,以及将所述第一数值的补码输出至所述第二多路选择器108;
所述第二多路选择器108,用于接收所述第一数值的补码和所述第二数值;以及根据所述预设选择信号,从所述第一数值的补码和所述第二数值中确定出第二目标数值;
所述第三多路选择器109,用于接收所述第一数值和所述第二数值;以及根据所述预设选择信号,从所述第一数值和所述第二数值中确定出第三目标数值;
第二左移位器110,分别接收所述第三多路选择器109输出的第三目标数值和所述第一多路选择器106输出的第一目标数值,将所述第一目标数值左移所述第三目标数值对应的位数,并在低位补上所述第三目标数值对应的0的数目,得到第四目标数值;
第二数据输出单元111,用于接收所述第二目标数值和所述第四目标数值;以及根据所述第二目标数值、所述第四目标数值和预设指数段位数,确定第二浮点数中指数段的值;
第三数据输出单元112,用于接收所述第四目标数值,以及将所述第四目标数值舍去所述预设指数段位数,确定第二浮点数中尾数段的值;
组合单元113,用于将所述第二符号段的值、所述第二指数段的值和所述第二尾数段的值,以二进制码的形式组合成IEEE 754数据格式的第二浮点数。
在一种可实现方式中,其特征在于,还包括:
第二数据转换单元114,用于根据所述第一浮点数的最高位,如果最高位是0,则所述第一浮点数是正数,输出所述后N-1位的二进制码的原码;如果最高位是1,则所述第一浮点数是负数,对所述第一浮点数中后N-1位的二进制码进行二的补码后输出。
在一种可实现方式中,还包括:
选择信号确定单元115,用于从所述第一浮点数中提取出次高位的值,作为所述预设选择信号。
在一种可实现方式中,所述第一多路选择器106具体用于:
如果所述次高位的值是0,则将所述移位后的N-1位的二进制码作为所述第一目标数值;如果所述次高位的值是1,则将所述第一浮点数中后N-1位的二进制码作为所述第一目标数值。
在一种可实现方式中,所述第二多路选择器108具体用于:
如果所述次高位的值是0,则将所述第一数值的补码确定为所述第二目标数值;如果所述次高位的值是1,则将所述第二数值确定为所述第二目标数值。
在一种可实现方式中,所述第三多路选择器109具体用于:
如果所述次高位的值是1,则将所述第二数值确定为所述第三目标数值;如果所述次高位的值是0,则将所述第一数值确定为所述第三目标数值。
在一种可实现方式中,所述组合单元113具体用于:
将所述第二符号段的值对应的二进制码、所述第二指数段的值对应的二进制码和所述第二尾数段的值对应的二进制码,按照从头到尾的顺序进行拼接,得到所述第二浮点数。
由以上技术方案可知,本申请公开了一种浮点数转换电路,能够将posit数据格式的浮点数转换为IEEE 754数据格式的浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,本申请中posit数据格式的浮点数的预设总位宽是可以调控的,可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
附图说明
图1a是本申请提供的Posit数据格式的浮点数具体的数据表示形式的示意图;
图1b是本申请提供的IEEE 754数据格式浮点数具体的数据表示形式的示意图;
图2是本申请实施例提供的一种浮点数转换电路的结构示意图;
图3是本申请实施例提供的另一种浮点数转换电路的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请技术方案中的Posit数据格式的参数包括N和es,其中N为整个数据表示的总位宽,es为指数段的位宽,两个参数都是在表示数据前需要确定的。N可以取任意正整数值。本实施例中以N表示预设总位宽,以es表示预设指数段位宽,预设指数段位宽是根据对Posit数据格式的浮点数的实际需求选择的,预设指数段位宽所取的值可以小于预设总位宽所取的值。
图1a为本申请提供的Posit数据格式的浮点数具体的数据表示形式的示意图,图1b为本申请提供的IEEE 754数据格式浮点数具体的数据表示形式的示意图。如图1a和图1b示,Posit数据格式的浮点数与IEEE 754数据格式的浮点数之间区别在于,在进行具体的数据表示时,IEEE 754数据格式的浮点数包括符号段S,指数段E和尾数段F三个部分,而Posit数据格式的浮点数包括符号段s,组织段r、指数段e和尾数段f四个部分。
对于一个Posit数据格式的浮点数来说,该浮点数与其真值A的关系为:
其中,s表示Posit数据格式中符号段的值,只有一位,由最高位表示,当A为正数时,s的值为0,当A为负数时,s的值为1。k表示Posit数据格式中组织段的值;e表示Posit数据格式中指数段的值,f表示Posit数据格式中尾数段的值,是将整数部分表示为1后,小数点后的所有尾数。
对于一个IEEE 754数据格式的浮点数来说,该浮点数与其真值A的关系为:
A=(-1)S×2E-127×1.F
其中,S表示IEEE 754数据格式中符号段的值,只有一位,由最高位表示,当A为正数时,S的值为0,当A为负数时,S的值为1。E表示IEEE 754数据格式中指数段的值,F表示IEEE 754数据格式中尾数段的值,是将整数部分表示为1后,小数点后的所有尾数。
实施例一
请参考图2,其示例性示出了本申请实施例提供的一种浮点数转换电路的结构示意图。如图2所示,该电路包括数据输入单元101、第一数据输出单元102、LOD单元103、LZD单元104、第一左移位器105、第一多路选择器106、第一数据转换单元107、第二多路选择器108、第三多路选择器109、第二左移位器110、第二数据输出单元111、第三数据输出单元112和组合单元113。
其中,数据输入单元101,用于输入第一浮点数,所述第一浮点数是posit数据格式的浮点数,所述第一浮点数的总位宽为N;
第一数据输出单元102,用于将所述第一浮点数中后N-1位的二进制码舍去,得到符号段的二进制码,并根据所述符号段的二进制码,确定第二浮点数中符号段的值,以及输出所述第二浮点数中符号段的值;
LOD单元103,用于接收第一浮点数中后N-1位的二进制码,以及输出所述后N-1位的二进制码中第一个1之前的0的个数,作为第一数值,以及将所述第一数值输出至第一数据转换单元107和第三多路选择器109;
LZD单元104,用于接收所述第一浮点数中后N-2位的二进制码,以及输出所述后N-2位的二进制码中第一个0之前的1的个数,作为第二数值,以及将所述第二数值分别输入至第二多路选择器和第三多路选择器;
第一左移位器105,用于接收所述第一浮点数中后N-1位的二进制码,以及将所述第一浮点数中后N-1位的二进制码的数据左移1位,输出移位后的N-1位的二进制码;
第一多路选择器106,用于接收所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码;以及根据预设选择信号,从所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码中确定出第一目标数值;
第一数据转换单元107,用于接收所述第一数值,对所述第一数值进行二的补码转换,得到第一数值的补码,以及将所述第一数值的补码输出至所述第二多路选择器108;
所述第二多路选择器108,用于接收所述第一数值的补码和所述第二数值;以及根据所述预设选择信号,从所述第一数值的补码和所述第二数值中确定出第二目标数值;
所述第三多路选择器109,用于接收所述第一数值和所述第二数值;以及根据所述预设选择信号,从所述第一数值和所述第二数值中确定出第三目标数值;
第二左移位器110,分别接收所述第三多路选择器109输出的第三目标数值和所述第一多路选择器106输出的第一目标数值,将所述第一目标数值左移所述第三目标数值对应的位数,并在低位补上所述第三目标数值对应的0的数目,得到第四目标数值;
第二数据输出单元111,用于接收所述第二目标数值和所述第四目标数值;以及根据所述第二目标数值、所述第四目标数值和预设指数段位数,确定第二浮点数中指数段的值;
第三数据输出单元112,用于接收所述第四目标数值,以及将所述第四目标数值舍去所述预设指数段位数,确定第二浮点数中尾数段的值;
组合单元113,用于将所述第二符号段的值、所述第二指数段的值和所述第二尾数段的值,以二进制码的形式组合成IEEE 754数据格式的第二浮点数。
需要说明的是,是LOD单元103、LZD单元104、第一数据转换单元107输出的位宽是BS,当BS计算到非整数时,向上取整。
由以上技术方案可知,本申请公开了一种浮点数转换电路,能够将posit数据格式的浮点数转换为IEEE 754数据格式的浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,本申请中posit数据格式的浮点数的预设总位宽是可以调控的,可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
实施例二
在上述实施例的基础上,请参考图3,其示例性示出了本申请实施例提供的另一种浮点数转换电路的结构示意图。如图3所示,该电路还包括第二数据转换单元114和选择信号确定单元115。
其中,第二数据转换单元114,用于根据所述第一浮点数的最高位,如果最高位是0,则所述第一浮点数是正数,输出所述后N-1位的二进制码的原码;如果最高位是1,则所述第一浮点数是负数,对所述第一浮点数中后N-1位的二进制码进行二的补码后输出。其中,补码操作即将原码取反后加1。
选择信号确定单元115,用于从所述第一浮点数中提取出次高位的值,作为所述预设选择信号。
在一种可实现方式中,所述第一多路选择器106具体用于:
如果所述次高位的值是0,则将所述移位后的N-1位的二进制码作为所述第一目标数值;如果所述次高位的值是1,则将所述第一浮点数中后N-1位的二进制码作为所述第一目标数值。
在一种可实现方式中,所述第二多路选择器108具体用于:
如果所述次高位的值是0,则将所述第一数值的补码确定为所述第二目标数值;如果所述次高位的值是1,则将所述第二数值确定为所述第二目标数值。
在一种可实现方式中,所述第三多路选择器109具体用于:
如果所述次高位的值是1,则将所述第二数值确定为所述第三目标数值;如果所述次高位的值是0,则将所述第一数值确定为所述第三目标数值。
在一种可实现方式中,所述组合单元113具体用于:
将所述第二符号段的值对应的二进制码、所述第二指数段的值对应的二进制码和所述第二尾数段的值对应的二进制码,按照从头到尾的顺序进行拼接,得到所述第二浮点数。
由以上技术方案可知,本申请公开了一种浮点数转换电路,能够将posit数据格式的浮点数转换为IEEE 754数据格式的浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,本申请中posit数据格式的浮点数的预设总位宽是可以调控的,可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
下面结合图3示出的电路结构示意图,对该转换电路的工作路程进行说明。
首先,输入posit数据格式的浮点数。对于该N位的posit数据格式的浮点数进行处理,先将最高位(即符号位)舍去,然后对于剩下的N-1位,在符号位的判断下进行二的补码操作,即对于正数,则原码输出;对于负数,则对于原码全部取反后加1输出。
然后,对于经过二的补码操作后的输出结果,先提出次高位(即舍去符号位后的最高位),作为图3中第一多路选择器106、第二多路选择器108和第三多路选择器109的选择信号,并将剩下的[N-2:0]位(即posit数据格式的浮点数中后N-1位)作为整个硬件实现的输入。
再然后,对于输入的[N-2:0]位,分别接向LOD单元103、第一多路选择器106以及第一左移位器105;对于[N-3:0]位,接向LZD单元104。
其中,LOD单元103的功能是,接收posit数据格式中[N-2:0]位的数据,输出这[N-2:0]位中第一个1前0的个数a。
LZD单元104的功能是,接收posit数据格式中[N-3:0]位的数据,输出这[N-3:0]位中第一个0前1的个数b。LZD的输出结果b,作为第二多路选择器108的一个输入,同时也作为第三多路选择器109的一个输入。
第一左移位器105的功能是,接收posit数据格式中[N-2:0]位的数据,将这[N-2:0]位的数据左移1位,即舍掉最高位,并在最低位补0,输出一个N-1位的数据c。
第一多路选择器106的功能是,接收posit数据格式中[N-2:0]位和经过提前左移位器处理的N-1位数据c,并以经过二的补码判断并转换后N位posit数据格式的次高位作为选择信号。当posit数据格式中的次高位为0时,选择左移位的输出数据c作为其输出,当posit数据格式中的次高位为1时,选择posit数据格式中[N-2:0]位作为其输出,其最终的输出结果记为y。
第一数据转换单元107的功能是,将LOD单元的输出的结果a,先经过一个二的补码转换,即对于a取反后加1,再作为第二多路选择器108的一个输入。并将结果a作为第三多路选择器109的一个输入。
第二多路选择器108,分别接收一个LOD单元103输出结果a的二的补码,以及LZD单元104的输出结果b,并以经过二的补码判断并转换后N位posit数据格式的次高位作为选择信号。当posit数据格式中的次高位为0时选择a的二的补码作为输出,当posit数据格式中的次高位第N-2位为1时选择b作为输出。
第三多路选择器109分别接收一个LOD单元103的输出结果a和LZD单元104的输出结果b,并以经过二的补码判断并转换后N位posit数据格式的次高位作为选择信号。当posit数据格式中的次高位为1时选择b作为输出,当posit数据格式中的次高位为0时选择a作为输出,其最终的输出的结果记为x。
第二左移位器110,分别接收第三多路选择器109的结果x和第一多路选择器106的输出结果y,其功能是将结果y左移x位,即将结果y从最高位开始舍去x位,并在低位补上x个0。
对于上述第二左移位器110的输出结果,截取es位,并将上述第二左移位器110输出结果舍去高位es位的数据作为上述算法中定义的IEEE 754数据格式的浮点数的科学表示法中的尾数段。
最后将第二多路选择器108的输出结果和第二左移位器110的输出结果的高位es位拼接,就可以得到上述算法中定义的IEEE 754数据格式的浮点数的科学表示法中的指数段。
为了更加清楚地描述本申请实施例提供的浮点数转换电路,下面结合图3,通过示例进行描述。
假设第一浮点数是“00110100”,N=8,es=2,BS=log2N=3(BS的值是LOD单元103、LZD单元104、第一数据转换单元107输出的位宽,当BS计算到非整数时,向上取整)。
经第二数据转换单元114处理后,输出“0110100”分别至LOD单元103、第一左移位器105和第一多路选择器106。
经选择信号确定单元115处理,确定预设选择信号为“0”。
LOD单元103接收到“0110100”后,经处理,输出的第一数值是“001”。
LZD单元104接收到“110100”后,经处理,输出的第二数值是“010”,分别输出至第二多路选择器108和第三多路选择器109。
第一左移位器105接收到“0110100”后,经处理,输出“1101000”。
第一多路选择器106接收到第二数据转换单元114输出的“0110100”和第一左移位器105输出的“1101000”后,经处理,输出“1101000”至第二左移位器110。
第一数据转换单元107接收到第一数值后,得到第一数值的补码是“111”,输出“111”至第二多路选择器108。
第二多路选择器108接收到“111”和“010”后,经处理,输出“111”。
第三多路选择器109接收到“001”和“010”后,经处理,输出“001”至第二左移位器110。
第二左移位器110接收到“1101000”和“001”后,输出“1010000”。
第二数据输出单元111接收“111”和“1010000”,根据es=2,确定第二浮点数中指数段的值是125(涉及2的补码操作,即-2+127=125)。
第三数据输出单元112接收到“1010000”后,确定第二浮点数中尾数段的值是“10000”。
如此,组合单元113根据上述计算结构,可以确定第二浮点数。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (7)
1.一种浮点数转换电路,其特征在于,包括:
数据输入单元(101),用于输入第一浮点数,所述第一浮点数是posit数据格式的浮点数,所述第一浮点数的总位宽为N;
第一数据输出单元(102),用于将所述第一浮点数中后N-1位的二进制码舍去,得到符号段的二进制码,并根据所述符号段的二进制码,确定第二浮点数中符号段的值,以及输出所述第二浮点数中符号段的值;
LOD单元(103),用于接收第一浮点数中后N-1位的二进制码,以及输出所述后N-1位的二进制码中第一个1之前的0的个数,作为第一数值,以及将所述第一数值输出至第一数据转换单元(107)和第三多路选择器(109);
LZD单元(104),用于接收所述第一浮点数中后N-2位的二进制码,以及输出所述后N-2位的二进制码中第一个0之前的1的个数,作为第二数值,以及将所述第二数值分别输入至第二多路选择器(108)和所述第三多路选择器(109);
第一左移位器(105),用于接收所述第一浮点数中后N-1位的二进制码,以及将所述第一浮点数中后N-1位的二进制码的数据左移1位,输出移位后的N-1位的二进制码;
第一多路选择器(106),用于接收所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码;以及根据预设选择信号,从所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码中确定出第一目标数值;
第一数据转换单元(107),用于接收所述第一数值,对所述第一数值进行二的补码转换,得到第一数值的补码,以及将所述第一数值的补码输出至所述第二多路选择器(108);
所述第二多路选择器(108),用于接收所述第一数值的补码和所述第二数值;以及根据所述预设选择信号,从所述第一数值的补码和所述第二数值中确定出第二目标数值;
所述第三多路选择器(109),用于接收所述第一数值和所述第二数值;以及根据所述预设选择信号,从所述第一数值和所述第二数值中确定出第三目标数值;
第二左移位器(110),分别接收所述第三多路选择器(109)输出的第三目标数值和所述第一多路选择器(106)输出的第一目标数值,将所述第一目标数值左移所述第三目标数值对应的位数,并在低位补上所述第三目标数值对应的0的数目,得到第四目标数值;
第二数据输出单元(111),用于接收所述第二目标数值和所述第四目标数值;以及根据所述第二目标数值、所述第四目标数值和预设指数段位数,确定第二浮点数中指数段的值;
第三数据输出单元(112),用于接收所述第四目标数值,以及将所述第四目标数值舍去所述预设指数段位数,确定第二浮点数中尾数段的值;
组合单元(113),用于将第二符号段的值、第二指数段的值和第二尾数段的值,以二进制码的形式组合成IEEE 754数据格式的第二浮点数。
2.根据权利要求1所述的电路,其特征在于,还包括:
第二数据转换单元(114),用于根据所述第一浮点数的最高位,如果最高位是0,则所述第一浮点数是正数,输出所述后N-1位的二进制码的原码;如果最高位是1,则所述第一浮点数是负数,对所述第一浮点数中后N-1位的二进制码进行二的补码后输出。
3.根据权利要求2所述的电路,其特征在于,还包括:
选择信号确定单元(115),用于从所述第一浮点数中提取出次高位的值,作为所述预设选择信号。
4.根据权利要求3所述的电路,其特征在于,所述第一多路选择器(106)具体用于:
如果所述次高位的值是0,则将所述移位后的N-1位的二进制码作为所述第一目标数值;如果所述次高位的值是1,则将所述第一浮点数中后N-1位的二进制码作为所述第一目标数值。
5.根据权利要求3所述的电路,其特征在于,所述第二多路选择器(108)具体用于:
如果所述次高位的值是0,则将所述第一数值的补码确定为所述第二目标数值;如果所述次高位的值是1,则将所述第二数值确定为所述第二目标数值。
6.根据权利要求3所述的电路,其特征在于,所述第三多路选择器(109)具体用于:
如果所述次高位的值是1,则将所述第二数值确定为所述第三目标数值;如果所述次高位的值是0,则将所述第一数值确定为所述第三目标数值。
7.根据权利要求1所述的电路,其特征在于,所述组合单元(113)具体用于:
将所述第二符号段的值对应的二进制码、所述第二指数段的值对应的二进制码和所述第二尾数段的值对应的二进制码,按照从头到尾的顺序进行拼接,得到所述第二浮点数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010138185.8A CN111313906B (zh) | 2020-03-03 | 2020-03-03 | 一种浮点数的转换电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010138185.8A CN111313906B (zh) | 2020-03-03 | 2020-03-03 | 一种浮点数的转换电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111313906A CN111313906A (zh) | 2020-06-19 |
CN111313906B true CN111313906B (zh) | 2023-11-07 |
Family
ID=71147856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010138185.8A Active CN111313906B (zh) | 2020-03-03 | 2020-03-03 | 一种浮点数的转换电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111313906B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671411B (zh) * | 2020-12-29 | 2023-04-18 | 中山大学 | 一种基于ieee 754和posit的浮点数据格式的双向转换电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000347832A (ja) * | 1999-06-09 | 2000-12-15 | Mitsubishi Electric Corp | 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置 |
CN104423926A (zh) * | 2013-09-05 | 2015-03-18 | 阿尔特拉公司 | 浮点加法器电路 |
CN105634499A (zh) * | 2015-12-30 | 2016-06-01 | 广东工业大学 | 一种基于新短浮点型数据的数据转换方法 |
CN106990937A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种浮点数处理装置 |
-
2020
- 2020-03-03 CN CN202010138185.8A patent/CN111313906B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000347832A (ja) * | 1999-06-09 | 2000-12-15 | Mitsubishi Electric Corp | 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置 |
CN104423926A (zh) * | 2013-09-05 | 2015-03-18 | 阿尔特拉公司 | 浮点加法器电路 |
CN105634499A (zh) * | 2015-12-30 | 2016-06-01 | 广东工业大学 | 一种基于新短浮点型数据的数据转换方法 |
CN106990937A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种浮点数处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111313906A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2662196B2 (ja) | 演算結果正規化方法及び装置 | |
US7188133B2 (en) | Floating point number storage method and floating point arithmetic device | |
EP0472139A2 (en) | A floating-point processor | |
CN111340207B (zh) | 浮点数转换方法及装置 | |
EP0171805A2 (en) | High speed digital arithmetic unit | |
CN111290732B (zh) | 基于posit数据格式的浮点数乘法运算电路 | |
US6728739B1 (en) | Data calculating device and method for processing data in data block form | |
US4831575A (en) | Apparatus for conversion between IEEE standard floating-point numbers and two's complement floating-point numbers | |
CN111313906B (zh) | 一种浮点数的转换电路 | |
US4639887A (en) | Bifurcated method and apparatus for floating point addition with decreased latency time | |
CN113625989A (zh) | 数据运算装置、方法、电子设备及存储介质 | |
EP4064036A1 (en) | Floating-point number multiplication computation method and apparatus, and arithmetical logic unit | |
CN117420982A (zh) | 包括融合乘累加器的芯片、设备及数据运算的控制方法 | |
US4758975A (en) | Data processor capable of processing floating point data with exponent part of fixed or variable length | |
CN111310909B (zh) | 一种浮点数转换电路 | |
US4866651A (en) | Method and circuit arrangement for adding floating point numbers | |
US5754458A (en) | Trailing bit anticipator | |
EP1248993A2 (en) | A method and system for processing complex numbers | |
CN111124361A (zh) | 算术处理装置及其控制方法 | |
US5153847A (en) | Arithmetic processor using signed digit representation of internal operands | |
CN111313905B (zh) | 一种浮点数转换方法及装置 | |
CN113377334B (zh) | 一种浮点数据处理方法、装置及存储介质 | |
US4716538A (en) | Multiply/divide circuit for encoder PCM samples | |
US4744045A (en) | Divider circuit for encoded PCM samples | |
US4716539A (en) | Multiplier circuit for encoder PCM samples |
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 |