CN106990937A - 一种浮点数处理装置 - Google Patents

一种浮点数处理装置 Download PDF

Info

Publication number
CN106990937A
CN106990937A CN201610038994.5A CN201610038994A CN106990937A CN 106990937 A CN106990937 A CN 106990937A CN 201610038994 A CN201610038994 A CN 201610038994A CN 106990937 A CN106990937 A CN 106990937A
Authority
CN
China
Prior art keywords
floating number
floating
bit
low
processing unit
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
CN201610038994.5A
Other languages
English (en)
Other versions
CN106990937B (zh
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.)
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Nanjing Aixi Information Technology Co Ltd
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 Nanjing Aixi Information Technology Co Ltd filed Critical Nanjing Aixi Information Technology Co Ltd
Priority to CN202011187582.0A priority Critical patent/CN112230881A/zh
Priority to CN201610038994.5A priority patent/CN106990937B/zh
Priority to PCT/CN2016/078508 priority patent/WO2017124645A1/zh
Publication of CN106990937A publication Critical patent/CN106990937A/zh
Priority to US15/974,807 priority patent/US10574260B2/en
Application granted granted Critical
Publication of CN106990937B publication Critical patent/CN106990937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/4833Logarithmic number system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Nonlinear Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Complex Calculations (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

本发明提供了一种浮点数处理装置,包括转换单元和运算单元,转换单元接收标准格式浮点数,并将标准格式浮点数的位宽进行压缩,生成低位宽浮点数,运算单元对低位宽浮点数进行运算,得到运算结果。本发明能根据不同的标准格式浮点数,得到不同指数位宽的低位宽浮点数,该低位宽浮点数能够满足神经网络算法、图像处理等算法的数据精度要求的同时,避免了浮点数运算功率的浪费。

Description

一种浮点数处理装置
技术领域
本发明属于计算机领域,尤其涉及一种低功耗自由指数域浮点数处理装置。
背景技术
近年来,在各领域的应用中对高动态范围的要求逐渐成为重要的一环,相对于定点数而言,等同数据位宽的浮点数具有更高的动态范围,所以浮点数越发受到重视。因此,强大计算系统通常采用浮点数处理器作为主处理器的一部分或者作为协处理器。
浮点数用于近似表示某个实数,其格式通常包括符号位S、指数位E和尾数位M,可表示为{S,E,M},在计算机中为了便于存储,浮点数的幂的基数为2,即浮点数{S,E,M}=(-1)S×(1+M)×2E
浮点数的精度由用于表示尾数的数据位宽界定。尾数数据位宽越大,浮点数的精度越高。现有的通用处理器中,大多采用IEEE 754标准的浮点数进行加、减、乘、除运算。在IEEE 754标准的32位浮点格式中,其具有1位符号位、8位指数位、23位尾数,其中,尾数二进制小数点左方的整数位是隐含的。IEEE 754同时还有一种更高精度、更高动态范围的64位格式。
然而,无论采用何种浮点格式,由于浮点数自身的特点,决定了浮点数的运算更加复杂,因此如何提高浮点数运算速度并降低运算功耗成为现如今硬件设计的核心问题之一。
通用处理器通常局限于单一的浮点数格式,固然这种格式能满足一些应用的精度以及动态范围的需求,然而其他应用可能不需要。例如神经网络算法中,对于指数较大的浮点数(局部诱导域)所需的精度较低;而指数较小的浮点数(权重或者方向传播算法中的权重变化量和梯度)则需要较高精度。因为在神经网络算法中的激活函数是非线性的,如sigmoid、tanh函数,不同精度局部诱导域经过激活函数作用后结果的准确度差别不大,高精度的局部诱导域浮点表示将造成不必要的功耗浪费。同样,权重、方向传播算法中的权重变化量和梯度则需要较高的精度,但是这类数据的是比较小,所需的动态范围较小,即指数较小。
CN200810216631所述的提供的浮动精度的浮点数格式及其运算方法中,浮点数的精度是可变的,但是其指数部分是固定不变。而且此种浮点数格式的数据结构较为复杂,不利于提高浮点运算速率。
CN200780006490所述的可选次精度的浮点数运算器,其中,浮点数的格式是固定不变,提供一个过剩位移除高精度尾数部分功率,从而降低浮点运算功率。然而此种方法中浮点数依然是采用上述的单一浮点数格式表示,将造成一定程度的存储空间及功耗的浪费。
发明内容
(一)要解决的技术问题
本发明的目的在于,提供一种浮点数处理装置,能够对标准格式的浮点数的位宽进行压缩,生成低位宽的浮点数,从而节省存储空间,还可以降低浮点数运算功耗。
(二)技术方案
本发明提供一种浮点数处理装置,包括:
转换单元,用于接收至少一个第一浮点数,并将至少一个第一浮点数转换为对应数量的第二浮点数,其中,每个第二浮点数包括1位符号位、N位指数位和C-N-1位尾数位,C、N为大于等于1的整数,C为第二浮点数的总位数,N的数值是由至少一个第一浮点数确定的;
运算单元,用于对第二浮点数进行运算,得到运算结果。
(三)有益效果
本发明对标准格式浮点数的位宽进行压缩,生成低位宽浮点数,其中,针对不同的标准格式浮点数,其对应的低位宽浮点数中的指数位宽和尾数位宽是可变的,从而使该低位宽浮点数的精度和动态范围是可变的,该低位宽浮点数能够满足神经网络算法、图像处理等算法的数据精度要求的同时,避免了浮点数运算功率的浪费。
附图说明
图1是本发明实施例提供的浮点数处理装器的示意图。
图2是本发明实施例中标准格式浮点数与低位宽浮点数的示意图。
具体实施方式
本发明提供一种浮点数处理装置,包括转换单元和运算单元,转换单元接收标准格式浮点数,并将标准格式浮点数的位宽进行压缩,生成低位宽浮点数,运算单元对低位宽浮点数进行运算,得到运算结果。本发明能根据不同的标准格式浮点数,得到不同指数位宽的低位宽浮点数,该低位宽浮点数能够满足神经网络算法、图像处理等算法的数据精度要求的同时,避免了浮点数运算功率的浪费。
根据本发明的一种实施方式,浮点数处理装置包括:
转换单元,用于接收一组第一浮点数,并将该组第一浮点数转换为对应数量的第二浮点数,其中,一组第一浮点数中可包括一个或一个以上的第一浮点数,转换后得到相同数量的第二浮点数,每个第一浮点数与每个第二浮点数一一对应,每个所述第二浮点数包括1位符号位、N位指数位和C-N-1位尾数位,C、N为大于等于1的整数,C为第二浮点数的总位数,N的数值是由这组第一浮点数确定的;第一浮点数是标准格式浮点数,第二浮点数是由对标准格式浮点数进行位宽压缩后的低位宽浮点数。
运算单元,用于对第二浮点数进行运算,得到运算结果。
标准格式浮点数包括1位符号位、K1位指数位和K2位尾数位,例如IEEE 754定义的32位标准格式浮点数中,包括1位符号位、8位指数位和23位尾数位;标准格式浮点数的数值V1表达式为:
V1=(-1)S×(1+M)×2E
其中,S为标准格式浮点数的符号位的值、E为标准格式浮点数的K1位指数位的值,M为标准格式浮点数的K2位尾数位的值;
低位宽浮点数中的N的数值为:
N=log2(Emax-Emin)/2,
其中,Emax为一组标准格式浮点数中E的最大值,Emin为一组标准格式浮点数中E的最小值;本发明浮点数转换的原理是,针对一组标准格式浮点数,其指数位的位宽是固定的,但是指数位所对应的数值不尽相同,通过对一组标准格式浮点数中指数位所对应的数值进行分析,得到一个相对平均的指数位数值,根据该数值至少所需的位数,确定低位宽浮点数中指数位的位数N,根据设定的低位宽浮点数的总位数C和1位符号位,可知低位宽浮点数的尾数位为C-N-1位。
以上是对低位宽浮点数中指数位、尾数位的位数的划分,然后需要确定低位宽浮点数中指数位、尾数位的数值。
根据本发明的一种实施方式,低位宽浮点数的符号位等于标准格式浮点数的符号位;低位宽浮点数的C-N-1位尾数位等于标准格式浮点数K2位尾数位中的前C-N-1位;N位指数位的数值E′为:
E′=E-B+A,
其中,B为标准格式浮点数的指数位的偏移量,例如,IEEE 754标准中32位浮点数的偏移量为127。A为低位宽浮点数的指数基数,其表达式为:
A=(Emax+Emin)/2。
根据本发明的一种实施方式,转换单元还用于接收低位宽浮点数,并将低位宽浮点数转换为标准格式浮点数,其中:标准格式浮点数的符号位等于低位宽浮点数的符号位;标准格式浮点数K2位尾数位中的前C-N-1位等于低位宽浮点数的C-N-1位尾数位,后K2+1+N-C位为0;N位指数位的数值E′为:
E′=E-B+A。
根据本发明的一种实施方式,转换单元包括第一寄存器和第二寄存器,第一寄存器用于存储N的数值,第一寄存器用于存储低位宽浮点数的指数基数A的数值。
根据本发明的一种实施方式,浮点数处理装置还包括:存储单元,用于存储标准格式浮点数和低位宽浮点数。其中,存储单元、转换单元、运算单元两两连接,各部件中的浮点数均可双向流通,需要注意的是,运算单元只能对低位宽浮点数进行运算,故其输入输出的数据均是低位宽浮点数。
根据本发明的一种实施方式,浮点数处理装置可以作为一个主处理器或协处理器,其利用一总线可与外部的其他的处理器进行数据交互。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1是本发明实施例提供的浮点数处理器的示意图,如图1所示,浮点数处理器1包括编解码组件2、浮点运算逻辑3和存储器(RAM)4,在本实施例中,采用编解码组件2作为转换单元进行浮点数转换,采用浮点运算逻辑3作为运算单元进行浮点数运算,采用存储器4作为存储单元进行浮点数存储。浮点数处理器外部连接有一外部输入设备5(鼠标/键盘)和总线6,输入设备5可直接向编解码组件2输入标准格式浮点数,浮点数处理器通过总线6可以作为一个主处理器或协处理器,其利用一总线可与外部的其他的处理器进行数据交互。
编解码组件2包含一组配置寄存器(cfg)和一组指数基址寄存器(base)。配置寄存器(cfg)存储有低位宽浮点数的指数位的位数N,用于界定低位宽浮点数的指数和尾数,指数基址寄存器(base)存储有低位宽浮点数的指数基数A的数值,编解码组件2利用两个寄存器中的数值,实现标准格式浮点数和低位宽浮点数的编码(标准格式浮点数到低位宽浮点数的转换)和解码(低位宽浮点数到标准格式浮点数的转换)。
浮点运算逻辑3耦合到数据存储器4和编解码组件2,处理所请求的低位宽浮点数。浮点运算逻辑3将运算结果输出到编解码组件2,编解码组件根据所执行的浮点运算请求将结果输出到存储单元4。
本实施例在神经网络算法中将标准的32位浮点数转换为16位的低位宽浮点数。如图2所示,IEEE 754浮点数标准浮点数格式和16位宽自由指数域浮点数格式的对比,低位宽浮点数对应的配置寄存器值为N,则该浮点数中指数域位宽为N,尾数位宽为15-N。
神经网络算法中,数据计算是按照不同层执行的。在神经网络的一层中,同一类数据的动态范围差别不大。同时,动态范围需求较高的数据对数据精度的要求相对较低,而精度需求较高的数据的动态范围需求较低。因此,采用两组寄存器控制低位宽浮点数的精度和动态范围。例如,一组标准格式浮点数的指数值在[Emin,Emax]区间内,利用公式:N=log2(Emax-Emin)/2,A=(Emax+Emin)/2,可得到配置寄存器(cfg)的值置为N(即分割位在第15-N位),其对应的指数基数寄存器(base)置为A。编码时,将IEEE 754浮点数的指数(减去偏移量127)加上A赋值给所述自由指数域浮点数的[14:15-N]位,并截取IEEE 754浮点数尾数的前15-N位赋值给低位宽浮点数的低15-N位,实现IEEE 754浮点数指数以及尾数到低位宽浮点数的编码。解码时,将IEEE 754浮点数的[14:15-N]减去A再加上127作为IEEE 754浮点数的指数,并在低位宽浮点数的低15-N位后补充N+7个0赋值给IEEE 754浮点数的尾数,实现低位宽浮点数到IEEE754浮点数的解码。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种浮点数处理装置,其特征在于,包括:
转换单元,用于接收至少一个第一浮点数,并将所述至少一个第一浮点数转换为对应数量的第二浮点数,其中,每个所述第二浮点数包括1位符号位、N位指数位和C-N-1位尾数位,C、N为大于等于1的整数,C为所述第二浮点数的总位数,N的数值是由所述至少一个第一浮点数确定的;
运算单元,用于对所述第二浮点数进行运算,得到运算结果。
2.根据权利要求1所述的浮点数处理装置,其特征在于,每个所述第一浮点数包括1位符号位、K1位指数位和K2位尾数位,所述第一浮点数的数值V1表达式为:
V1=(-1)S×(1+M)×2E
其中,S为所述第一浮点数的符号位的值、E为所述第一浮点数的K1位指数位的值,M为所述第一浮点数的K2位尾数位的值;
所述第二浮点数中的N的数值为:
N=log2(Emax-Emin)/2,
其中,Emax为至少一个第一浮点数中E的最大值,Emin为至少一个第一浮点数中E的最小值;
所述第二浮点数的符号位等于所述第一浮点数的符号位;
所述第二浮点数的C-N-1位尾数位等于第一浮点数K2位尾数位中的前C-N-1位;
N位指数位的数值E′为:
E′=E-B+A,
其中,所述B为所述第一浮点数的指数位的偏移量,A为第二浮点数的指数基数,其表达式为:
A=(Emax+Emin)/2。
3.根据权利要求2所述的浮点数处理装置,其特征在于,所述转换单元还用于接收第二浮点数,并将所述第二浮点数转换为第一浮点数,其中:
所述第一浮点数的符号位等于所述第二浮点数的符号位;
所述第一浮点数K2位尾数位中的前C-N-1位等于第二浮点数的C-N-1位尾数位,后K2+1+N-C位为0;
N位指数位的数值E′为:
E′=E-B+A。
4.根据权利要求2或3所述的浮点数处理装置,其特征在于,所述转换单元包括第一寄存器和第二寄存器,所述第一寄存器用于存储N的数值,所述第二寄存器用于存储所述第二浮点数的指数基数A的数值。
5.根据权利要求2或3所述的浮点数处理装置,其特征在于,还包括:存储单元,用于存储所述第一浮点数和第二浮点数。
6.根据权利要求2或3所述的浮点数处理装置,其特征在于,浮点数处理装置利用一总线与外部处理装置进行数据交互。
CN201610038994.5A 2016-01-20 2016-01-20 一种浮点数处理装置和处理方法 Active CN106990937B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011187582.0A CN112230881A (zh) 2016-01-20 2016-01-20 浮点数处理器
CN201610038994.5A CN106990937B (zh) 2016-01-20 2016-01-20 一种浮点数处理装置和处理方法
PCT/CN2016/078508 WO2017124645A1 (zh) 2016-01-20 2016-04-06 一种浮点数处理装置
US15/974,807 US10574260B2 (en) 2016-01-20 2018-05-09 Techniques for floating-point number conversion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610038994.5A CN106990937B (zh) 2016-01-20 2016-01-20 一种浮点数处理装置和处理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011187582.0A Division CN112230881A (zh) 2016-01-20 2016-01-20 浮点数处理器

Publications (2)

Publication Number Publication Date
CN106990937A true CN106990937A (zh) 2017-07-28
CN106990937B CN106990937B (zh) 2020-10-20

Family

ID=59361349

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011187582.0A Pending CN112230881A (zh) 2016-01-20 2016-01-20 浮点数处理器
CN201610038994.5A Active CN106990937B (zh) 2016-01-20 2016-01-20 一种浮点数处理装置和处理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011187582.0A Pending CN112230881A (zh) 2016-01-20 2016-01-20 浮点数处理器

Country Status (3)

Country Link
US (1) US10574260B2 (zh)
CN (2) CN112230881A (zh)
WO (1) WO2017124645A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229648A (zh) * 2017-08-31 2018-06-29 深圳市商汤科技有限公司 卷积计算方法和装置、电子设备、计算机存储介质
CN109583579A (zh) * 2018-11-30 2019-04-05 上海寒武纪信息科技有限公司 计算装置及相关产品
CN109669962A (zh) * 2017-10-15 2019-04-23 Gsi 科技公司 精确指数和准确softmax计算
CN109947391A (zh) * 2019-03-11 2019-06-28 苏州中晟宏芯信息科技有限公司 一种数据处理方法和装置
CN110888623A (zh) * 2019-11-25 2020-03-17 集美大学 数据转换方法、乘法器、加法器、终端设备及存储介质
CN111313906A (zh) * 2020-03-03 2020-06-19 南京大学 一种浮点数的转换电路
CN111313905A (zh) * 2020-02-24 2020-06-19 南京大学 一种浮点数转换方法及装置
CN111310909A (zh) * 2020-02-24 2020-06-19 南京大学 一种浮点数转换电路
CN111338600A (zh) * 2018-12-18 2020-06-26 富士通株式会社 计算处理设备和控制计算处理设备的方法
CN111340207A (zh) * 2020-03-03 2020-06-26 南京大学 浮点数转换方法及装置
CN111538473A (zh) * 2020-04-27 2020-08-14 西安交通大学 一种Posit浮点数处理器
CN113703840A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质
CN113805844A (zh) * 2021-09-14 2021-12-17 北京升哲科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113918117A (zh) * 2020-06-24 2022-01-11 美光科技公司 动态精确度位串累加
CN113965205A (zh) * 2020-07-20 2022-01-21 美光科技公司 位串压缩
CN117097345A (zh) * 2022-12-28 2023-11-21 山东华科信息技术有限公司 用于分布式新能源的数据压缩方法及系统
CN113703840B (zh) * 2021-08-31 2024-06-07 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112230881A (zh) * 2016-01-20 2021-01-15 中科寒武纪科技股份有限公司 浮点数处理器
US11455766B2 (en) * 2018-09-18 2022-09-27 Advanced Micro Devices, Inc. Variable precision computing system
CN109389212B (zh) * 2018-12-30 2022-03-25 南京大学 一种面向低位宽卷积神经网络的可重构激活量化池化系统
US11080017B2 (en) * 2019-02-21 2021-08-03 Micron Technology, Inc. Host-based bit string conversion
CN112114874B (zh) * 2020-08-20 2021-10-15 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质
GB2600915B (en) * 2020-10-07 2023-02-15 Graphcore Ltd Floating point number format
WO2023035053A1 (en) * 2021-09-08 2023-03-16 Huawei Technologies Co., Ltd. Method and system for emulating a floating-point unit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158892A (zh) * 2007-11-16 2008-04-09 中国科学院计算技术研究所 一种浮点数据转换装置和方法
US20100095099A1 (en) * 2008-10-14 2010-04-15 International Business Machines Corporation System and method for storing numbers in first and second formats in a register file
US20110099295A1 (en) * 2009-10-23 2011-04-28 Samplify Systems, Inc. Block floating point compression of signal data
CN102498673A (zh) * 2009-09-14 2012-06-13 汤姆森特许公司 编码浮点数据的方法、解码浮点数据的方法以及对应的编码器和解码器
US20150286465A1 (en) * 2014-04-07 2015-10-08 International Business Machines Corporation Compression of floating-point data by identifying a previous loss of precision

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4617641A (en) * 1983-10-19 1986-10-14 Hitachi, Ltd. Operation unit for floating point data having a variable length exponent part
US5805486A (en) * 1995-11-28 1998-09-08 Intel Corporation Moderately coupled floating point and integer units
US7330864B2 (en) * 2001-03-01 2008-02-12 Microsoft Corporation System and method for using native floating point microprocessor instructions to manipulate 16-bit floating point data representations
US7949695B2 (en) * 2004-10-27 2011-05-24 Via Technologies Inc. Two's complement circuit
US8880571B2 (en) * 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media
GB2488322B (en) * 2011-02-22 2017-09-20 Advanced Risc Mach Ltd Number format pre-conversion instructions
JP5734717B2 (ja) * 2011-03-24 2015-06-17 セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー 浮動小数点数のビット長変換回路およびそれを用いた振動補正制御回路
CN108427990B (zh) * 2016-01-20 2020-05-22 中科寒武纪科技股份有限公司 神经网络计算系统和方法
CN112230881A (zh) * 2016-01-20 2021-01-15 中科寒武纪科技股份有限公司 浮点数处理器
US10643297B2 (en) * 2017-05-05 2020-05-05 Intel Corporation Dynamic precision management for integer deep learning primitives

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158892A (zh) * 2007-11-16 2008-04-09 中国科学院计算技术研究所 一种浮点数据转换装置和方法
US20100095099A1 (en) * 2008-10-14 2010-04-15 International Business Machines Corporation System and method for storing numbers in first and second formats in a register file
CN102498673A (zh) * 2009-09-14 2012-06-13 汤姆森特许公司 编码浮点数据的方法、解码浮点数据的方法以及对应的编码器和解码器
US20110099295A1 (en) * 2009-10-23 2011-04-28 Samplify Systems, Inc. Block floating point compression of signal data
CN102597948A (zh) * 2009-10-23 2012-07-18 信飞系统公司 信号数据的块浮点压缩
US20150286465A1 (en) * 2014-04-07 2015-10-08 International Business Machines Corporation Compression of floating-point data by identifying a previous loss of precision

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘安: "浮点格式转换的分析与实现", 《电脑开发与应用》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229648B (zh) * 2017-08-31 2020-10-09 深圳市商汤科技有限公司 匹配存储器中数据位宽的卷积计算方法和装置、设备、介质
CN108229648A (zh) * 2017-08-31 2018-06-29 深圳市商汤科技有限公司 卷积计算方法和装置、电子设备、计算机存储介质
CN109669962A (zh) * 2017-10-15 2019-04-23 Gsi 科技公司 精确指数和准确softmax计算
CN109669962B (zh) * 2017-10-15 2022-07-19 Gsi 科技公司 精确指数和准确softmax计算
CN109583579A (zh) * 2018-11-30 2019-04-05 上海寒武纪信息科技有限公司 计算装置及相关产品
CN109583579B (zh) * 2018-11-30 2021-04-09 上海寒武纪信息科技有限公司 计算装置及相关产品
CN111338600A (zh) * 2018-12-18 2020-06-26 富士通株式会社 计算处理设备和控制计算处理设备的方法
CN109947391A (zh) * 2019-03-11 2019-06-28 苏州中晟宏芯信息科技有限公司 一种数据处理方法和装置
CN109947391B (zh) * 2019-03-11 2023-08-01 合芯科技(苏州)有限公司 一种数据处理方法和装置
CN110888623A (zh) * 2019-11-25 2020-03-17 集美大学 数据转换方法、乘法器、加法器、终端设备及存储介质
CN110888623B (zh) * 2019-11-25 2021-11-23 集美大学 数据转换方法、乘法器、加法器、终端设备及存储介质
CN111310909A (zh) * 2020-02-24 2020-06-19 南京大学 一种浮点数转换电路
CN111310909B (zh) * 2020-02-24 2024-02-13 南京大学 一种浮点数转换电路
CN111313905A (zh) * 2020-02-24 2020-06-19 南京大学 一种浮点数转换方法及装置
CN111313905B (zh) * 2020-02-24 2023-10-13 南京大学 一种浮点数转换方法及装置
CN111313906A (zh) * 2020-03-03 2020-06-19 南京大学 一种浮点数的转换电路
CN111340207A (zh) * 2020-03-03 2020-06-26 南京大学 浮点数转换方法及装置
CN111340207B (zh) * 2020-03-03 2023-12-15 南京大学 浮点数转换方法及装置
CN111313906B (zh) * 2020-03-03 2023-11-07 南京大学 一种浮点数的转换电路
CN111538473A (zh) * 2020-04-27 2020-08-14 西安交通大学 一种Posit浮点数处理器
CN111538473B (zh) * 2020-04-27 2023-05-30 西安交通大学 一种Posit浮点数处理器
CN113918117A (zh) * 2020-06-24 2022-01-11 美光科技公司 动态精确度位串累加
CN113965205A (zh) * 2020-07-20 2022-01-21 美光科技公司 位串压缩
WO2023029464A1 (zh) * 2021-08-31 2023-03-09 上海商汤智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质
CN113703840A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质
CN113703840B (zh) * 2021-08-31 2024-06-07 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质
CN113805844A (zh) * 2021-09-14 2021-12-17 北京升哲科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113805844B (zh) * 2021-09-14 2024-04-09 北京升哲科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN117097345A (zh) * 2022-12-28 2023-11-21 山东华科信息技术有限公司 用于分布式新能源的数据压缩方法及系统

Also Published As

Publication number Publication date
US10574260B2 (en) 2020-02-25
CN112230881A (zh) 2021-01-15
US20180262205A1 (en) 2018-09-13
WO2017124645A1 (zh) 2017-07-27
CN106990937B (zh) 2020-10-20

Similar Documents

Publication Publication Date Title
CN106990937A (zh) 一种浮点数处理装置
CN102629189B (zh) 基于fpga的流水浮点乘累加方法
CN110852434B (zh) 基于低精度浮点数的cnn量化方法、前向计算方法及硬件装置
CN106951211B (zh) 一种可重构定浮点通用乘法器
EP1857925B1 (en) Method and apparatus for decimal number multiplication using hardware for binary number operations
CN1983161B (zh) 用于扩展函数的增强型浮点单元
Zhang et al. New flexible multiple-precision multiply-accumulate unit for deep neural network training and inference
CN108196822A (zh) 一种双精度浮点开方运算的方法及系统
US11886980B2 (en) Neural network accelerator using logarithmic-based arithmetic
CN105224284A (zh) 一种浮点数处理方法及装置
US20070266073A1 (en) Method and apparatus for decimal number addition using hardware for binary number operations
CN103809931A (zh) 一种专用高速浮点指数运算器的设计
WO2022174733A1 (zh) 一种神经元加速处理方法、装置、设备及可读存储介质
Schulte et al. Performance evaluation of decimal floating-point arithmetic
Loukrakpam et al. Implementation of energy-efficient approximate multiplier with guaranteed worst case relative error
Lastras et al. A logarithmic approach to energy-efficient GPU arithmetic for mobile devices
CN116700664A (zh) 一种确定浮点数平方根的方法及装置
CN103699729B (zh) 模乘法器
Barik et al. An efficient redundant binary adder with revised computational rules
WO2023004799A1 (zh) 电子设备及神经网络量化方法
Lyu et al. Reconfigurable Multifunction Computing Unit Using an Universal Piecewise Linear Method
Lee et al. Design of a high precision logarithmic converter in a binary floating point divider
Phuse et al. Design and Implementation of Different Multiplier Techniques and Efficient MAC Unit on FPGA
Weijian et al. Research of the integer four arithmetic operations replace floating point four arithmetic operations algorithms in the c++
Qun et al. High-efficiency Realization of SRT Division on Ternary Optical Computer

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
TA01 Transfer of patent application right

Effective date of registration: 20180503

Address after: 100190 room 644, research complex, 6 South Road, Haidian District Science Academy, Beijing.

Applicant after: Beijing Zhongke Cambrian Technology Co., Ltd.

Address before: 210049 18 Xianlin Road, Ma Qun street, Qixia District, Nanjing, Jiangsu.

Applicant before: NANJING AIXI INFORMATION TECHNOLOGY CO., LTD.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant