本申请提供了一种浮点数的转换电路。该电路能够将posit数据格式的浮点数转换为IEEE754数据格式的浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,本申请中posit数据格式的浮点数的预设总位宽是可以调控的,可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
A floating point conversion circuit
【技术实现步骤摘要】
一种浮点数的转换电路
本申请涉及数据处理
,特别涉及一种浮点数的转换电路。
技术介绍
随着大数据时代的到来,人工神经网络技术得到飞速发展。人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络包括数据处理和数据存储两大部分。数据处理是指对浮点数进行运算、分析,从而建立神经网络模型;数据存储是指对浮点数进行存储。浮点数的数据格式有多种,比如IEEE754规范的规格化单精度浮点数格式(简称为IEEE754数据格式)和posit数据格式等。由于IEEE754数据格式在精度上能够满足人工神经网络的训练要求,因此,通常采用IEEE754数据格式的浮点数执行数据处理的过程。但是,IEEE754数据格式的浮点数占用的位宽较大,进而需要占用较多的存储资源和读写资源。而posit数据格式的浮点数占用的位宽较少,如果能够将浮点数以posit数据格式进行存储,就可以大大减少存储资源和读写资源的占用。为了实现将浮点数以posit数据格式进行存储,并以IEEE754数据格式进行处理,一个必须要解决的问题就是将posit数据格式的浮点数转换为IEEE754数据格式的浮点数。
技术实现思路
本申请提供了一种浮点数的转换电路,可用于实现将posit数据格式的浮点数转换为IEEE754数据格式的浮点数。本申请实施例提供一种浮点数转换电路,包括:数据输入单元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,用于将所述第二符号段的值、所述第二指数段的值和所述第二尾数段的值,以二进制码的形式组合成IEEE754数据格式的第二浮点数。在一种可实现方式中,其特征在于,还包括:第二数据转换单元114,用于根据所述第一浮点数的最高位,如果最高位是0,则所述第一浮点数是正数,输出所述后N-1位的二进制码的原码;如果最高位是1,则所述第一浮点数是负数,对所述第一浮点数中后N-1位的二进制码进行二的补码后输出。在一种可实现方式中,还包括:选择信号确定单元115,用于从所述第一浮点数中提取出次高位的值,作为所述预设选择信号。在一种可实现方式中,所述第一多路选择器106具体用于:如果所述次高位的值是0,则将所述移位后的N-1位的二进制码作为所述第一目标数值;如果所述次高位的值是1,则将所述第一浮点数中后N-1位的二进制码作为所述第一目标数值。在一种可实现方式中,所述第二多路选择器108具体用于:如果所述次高位的值是0,则将所述第一数值的补码确定为所述第二目标数值;如果所述次高位的值是1,则将所述第二数值确定为所述第二目标数值。在一种可实现方式中,所述第三多路选择器109具体用于:如果所述次高位的值是1,则将所述第二数值确定为所述第三目标数值;如果所述次高位的值是0,则将所述第一数值确定为所述第三目标数值。在一种可实现方式中,所述组合单元113具体用于:将所述第二符号段的值对应的二进制码、所述第二指数段的值对应的二进制码和所述第二尾数段的值对应的二进制码,按照从头到尾的顺序进行拼接,得到所述第二浮点数。由以上技术方案可知,本申请公开了一种浮点数转换电路,能够将posit数据格式的浮点数转换为IEEE754数据格式的浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,本申请中posit数据格式的浮点数的预设总位宽是可以调控的,可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。附图说明图1a是本申请提供的Posit数据格式的浮点数具体的数据表示形式的示意图;图1b是本申请提供的IEEE754数据格式浮点数具体的数据表示形式的示意图;图2是本申请实施例提供的一种浮点数转换电路的结构示意图;图3是本申请实施例提供的另一种浮点数转换电路的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。本申请技术方案中的Posit数据格式的参数包括N和es,其中N为整个数据表示的总位宽,es为指数段的位宽,两个参数都是在表示数据前需要确定的。N可以取任意正整数值。本实施例中以N表示预设总位宽,以es表示预设指数段位宽,预设指数段位宽是根据对Posit数据格式的浮点数的实际需求选择的,预设指数段位宽所取的值可以小于预设总位本文档来自技高网...
【技术保护点】
1.一种浮点数转换电路,其特征在于,包括:/n数据输入单元(101),用于输入第一浮点数,所述第一浮点数是posit数据格式的浮点数,所述第一浮点数的总位宽为N;/n第一数据输出单元(102),用于将所述第一浮点数中后N-1位的二进制码舍去,得到符号段的二进制码,并根据所述符号段的二进制码,确定第二浮点数中符号段的值,以及输出所述第二浮点数中符号段的值;/nLOD单元(103),用于接收第一浮点数中后N-1位的二进制码,以及输出所述后N-1位的二进制码中第一个1之前的0的个数,作为第一数值,以及将所述第一数值输出至第一数据转换单元(107)和第三多路选择器(109);/nLZD单元(104),用于接收所述第一浮点数中后N-2位的二进制码,以及输出所述后N-2位的二进制码中第一个0之前的1的个数,作为第二数值,以及将所述第二数值分别输入至第二多路选择器(108)和所述第三多路选择器(109);/n第一左移位器(105),用于接收所述第一浮点数中后N-1位的二进制码,以及将所述第一浮点数中后N-1位的二进制码的数据左移1位,输出移位后的N-1位的二进制码;/n第一多路选择器(106),用于接收所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码;以及根据预设选择信号,从所述第一浮点数中后N-1位的二进制码和所述移位后的N-1位的二进制码中确定出第一目标数值;/n第一数据转换单元(107),用于接收所述第一数值,对所述第一数值进行二的补码转换,得到第一数值的补码,以及将所述第一数值的补码输出至所述第二多路选择器(108);/n所述第二多路选择器(108),用于接收所述第一数值的补码和所述第二数值;以及根据所述预设选择信号,从所述第一数值的补码和所述第二数值中确定出第二目标数值;/n所述第三多路选择器(109),用于接收所述第一数值和所述第二数值;以及根据所述预设选择信号,从所述第一数值和所述第二数值中确定出第三目标数值;/n第二左移位器(110),分别接收所述第三多路选择器(109)输出的第三目标数值和所述第一多路选择器(106)输出的第一目标数值,将所述第一目标数值左移所述第三目标数值对应的位数,并在低位补上所述第三目标数值对应的0的数目,得到第四目标数值;/n第二数据输出单元(111),用于接收所述第二目标数值和所述第四目标数值;以及根据所述第二目标数值、所述第四目标数值和预设指数段位数,确定第二浮点数中指数段的值;/n第三数据输出单元(112),用于接收所述第四目标数值,以及将所述第四目标数值舍去所述预设指数段位数,确定第二浮点数中尾数段的值;/n组合单元(113),用于将所述第二符号段的值、所述第二指数段的值和所述第二尾数段的值,以二进制码的形式组合成IEEE 754数据格式的第二浮点数。/n...
【技术特征摘要】
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的数目,得到第四目标数值;
第二...
【专利技术属性】
技术研发人员:王中风,徐铭阳,方超,林军,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。