CN109558110B - 数据转换装置及相关产品 - Google Patents
数据转换装置及相关产品 Download PDFInfo
- Publication number
- CN109558110B CN109558110B CN201811459231.3A CN201811459231A CN109558110B CN 109558110 B CN109558110 B CN 109558110B CN 201811459231 A CN201811459231 A CN 201811459231A CN 109558110 B CN109558110 B CN 109558110B
- Authority
- CN
- China
- Prior art keywords
- point number
- floating point
- digit
- fixed
- effective
- 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
Images
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/57—Arithmetic 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
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
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)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种数据转换装置及相关产品,所述装置用于将定点数转换为浮定点数,所述定点数包括符号和有效数,所述装置包括:最高非零位确定模块,用于确定所述定点数有效数的最高非零位的数位;指数有效数确定模块,用于根据所述最高非零位的数位和所述定点数的有效数确定所述浮定点数的指数和所述浮定点数的有效数;浮定点数确定模块,根据定点数的符号、所述浮定点数的指数和所述浮定点数的有效数,得到所述浮定点数。本公开实施例可以快速、准确地将定点数转换为浮定点数。相对于定点数,浮定点数在保证精度的前提下,提高了数据的表示范围。
Description
技术领域
本公开涉及信息处理技术领域,尤其涉及一种数据转换装置及相关产品。
背景技术
随着信息技术的不断发展,利用神经网络的运算装置完成复杂任务的需求越来越大。神经网络运算装置可以包括不同类型的电路结构,不同的电路结构适用于不同的运算处理,处理效率也不同。例如,神经网络运算装置包括主从架构的电路结构。多个从处理电路同时进行运算,主处理电路在所有的从电路计算完成后得到最终的运算结果,整体的运算效率低。
发明内容
有鉴于此,本公开提出了一种数据转换装置及相关产品,用以在保证数据精度的前提下,提高数据的表达范围,
根据本公开的一方面,提供了一种数据转换装置,所述装置用于将定点数转换为浮定点数,所述定点数包括符号和有效数,所述装置包括:
最高非零位确定模块,用于确定所述定点数有效数的最高非零位的数位;
指数有效数确定模块,用于根据所述最高非零位的数位和所述定点数的有效数确定所述浮定点数的指数和所述浮定点数的有效数;
浮定点数确定模块,根据定点数的符号、所述浮定点数的指数和所述浮定点数的有效数,得到所述浮定点数。
在一种可能的实现方式中,所述指数有效数确定模块,包括:
指数确定子模块,用于将所述最高非零位的数位和1相加得到的和除2后取余,得到余数,将所述余数确定为所述浮定点数的指数。
在一种可能的实现方式中,所述指数有效数确定模块,包括:
有效数确定子模块,用于根据所述最高非零位的数位确定位移值,根据所述位移值将所述定点数的有效数进行位移,得到所述浮定点数的有效数。
在一种可能的实现方式中,所述有效数确定子模块,包括:
位移值确定单元,用于将所述最高非零位的数位和1相加得到的和除2得到的结果确定为位移值;
位移单元,用于将所述定点数的有效数向右移动所述位移值的位数,得到所述浮定点数的有效数。
在一种可能的实现方式中,所述定点数为16位二进制形式,所述浮定点数为8位二进制形式。
在一种可能的实现方式中,所述浮定点数中的符号位为1位,指数位为1位。
根据本公开的一方面,提供了一种神经网络运算装置,所述神经网络运算装置包括一个或多个上述任一项所述的数据转换装置,所述神经网络运算装置用于完成设定的神经网络运算。
根据本公开的一方面,提供了一种组合处理装置,所述组合处理装置包括上述的神经网络运算装置,通用互联接口和其他处理装置;
所述神经网络运算装置与所述其他处理装置进行交互,共同完成用户指定的计算操作。
根据本公开的一方面,提供了一种神经网络芯片,所述神经网络芯片包括:
上述任一项所述的数据转换装置;或
上述的神经网络运算装置;或
上述的组合处理装置。
根据本公开的一方面,提供了一种电子设备,所述电子设备包括:
上述任一项所述的数据转换装置;或
上述的神经网络运算装置;或
上述的组合处理装置;或
上述的神经网络芯片。
在公开本实施例中,数据转换装置用于将定点数转换为浮定点数,包括:最高非零位确定模块,用于确定所述定点数有效数的最高非零位的数位;指数有效数确定模块,用于根据所述最高非零位的数位和所述定点数的有效数确定所述浮定点数的指数和所述浮定点数的有效数;浮定点数确定模块,根据定点数的符号、所述浮定点数的指数和所述浮定点数的有效数,得到所述浮定点数。最高非零位确定模块、指数有效数确定模块和浮定点数确定模块,可以快速、准确地将定点数转换为浮定点数。相对于定点数,浮定点数在保证精度的前提下,提高了数据的表示范围。
在一些实施例中,所述电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的数据转换装置的框图;
图2示出根据本公开一实施例的数据转换装置的框图;
图3示出根据本公开一实施例的组合处理装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的数据转换装置的框图,如图1所示,所述装置用于将定点数转换为浮定点数,所述定点数包括符号和有效数,所述装置包括:
最高非零位确定模块10,用于确定所述定点数有效数的最高非零位的数位。
在一种可能的实现方式中,所述定点数为16位二进制形式,所述浮定点数为8位二进制形式。所述浮定点数中的符号位为1位,指数位为1位,有效数位为6位。浮定点数中的符号位和指数位,可以位于浮定点数8位数位中的任意设定位置。本公开对此不做限定。例如,浮定点数自右至左从0开始对数位进行计数,8位二进制形式的浮定点数X为:X7X6X5X4X3X2X1X0,其中X7为符号位,X6为指数位。X5X4X3X2X1X0为有效数位。16位二进制形式的定点数Y为:Y15Y14Y13Y12Y11Y10Y9Y8Y7Y6Y5Y4Y3Y2Y1Y0,其中Y15为符号位,Y14Y13Y12Y11Y10Y9Y8Y7Y6Y5Y4Y3Y2Y1Y0为有效数位。
在一种可能的实现方式中,则浮定点数的值可以如下公式(1)所示:
±m·basep+e+1=±1.d·base2p+e+1 公式(1)
其中,m为浮定点数的符号、base为底,通常为2。e为浮定点数的指数,p为浮定点数有效数中最高非零位的数位,d为浮定点数的有效数的小数部分。
例如,浮定点数为“01010101”,浮定点数的数值为010101*24+1+1=1.0101*22*4+1+1。
在一种可能的实现方式中,最高非零位确定模块可以包括移位器,可以将浮定点数的有效数输入移位器中,由左至右自有效数的最高位开始移位,在移位过程中,最高非零位数位确定子模块可以将第一个“1”出现的数位作为最高非零位的数位。例如,浮定点数为“10101100”,有效数为“101100”,最高非零位的数位为5。
指数有效数确定模块20,用于根据所述最高非零位的数位和所述定点数的有效数确定所述浮定点数的指数和所述浮定点数的有效数。
在一种可能的实现方式中,指数有效数确定模块可以根据所述最高非零位的数位确定浮定点数的指数。指数有效数确定模块可以根据最高非零位的数位和定点数的有效数确定浮定点数的有效数。
浮定点数确定模块30,根据定点数的符号、所述浮定点数的指数和所述浮定点数的有效数,得到所述浮定点数。
在一种可能的实现方式中,浮定点数确定模块可以将定点数的符号确定为浮定点数的符号。浮定点数确定模块可以根据浮定点数的符号、有效数确定子模块确定出的浮定点数的有效数,和指数确定子模块确定出的浮定点数的指数,得到与定点数对应的浮定点数。浮定点数的符号位和指数位,可以位于8个数位中任意不重合的位置。
在本实施例中,数据转换装置,用于将定点数转换为浮定点数,所述装置包括:最高非零位确定模块,用于确定所述定点数有效数的最高非零位的数位;指数有效数确定模块,用于根据所述最高非零位的数位和所述定点数的有效数确定所述浮定点数的指数和所述浮定点数的有效数;浮定点数确定模块,根据定点数的符号、所述浮定点数的指数和所述浮定点数的有效数,得到所述浮定点数。最高非零位确定模块、指数有效数确定模块和浮定点数确定模块,可以快速、准确地将定点数转换为浮定点数。相对于定点数,浮定点数在保证精度的前提下,提高了数据的表示范围。
图2示出根据本公开一实施例的数据转换装置的框图,如图2所示,在一种可能的实现方式中,所述指数有效数确定模块20,包括:
指数确定子模块21,用于将所述最高非零位的数位和1相加得到的和除2后取余,得到余数,将所述余数确定为所述浮定点数的指数。
在一种可能的实现方式中,最高非零位的数位为PX,则浮定点数的指数为EY=(PX+1)%2。例如,定点数“0000000000111101”的最高非零位的数位PX为5,则浮定点数的指数为EY=(5+1)%2=0。
在一种可能的实现方式中,所述指数有效数确定模块20,包括:
有效数确定子模块22,用于根据所述最高非零位的数位确定位移值,根据所述位移值将所述定点数的有效数进行位移,得到所述浮定点数的有效数。
在一种可能的实现方式中,定点数的有效数的位长为15位,浮定点数的有效数的位长为6位。有效数确定子模块可以根据定点数的有效数向右移动最高非零位的数位,确定位移值。位移值可以根据用于将定点数的有效数进行位移,以得到合理的浮定点数的有效数的表达。
在一种可能的实现方式中,所述有效数确定子模块22,包括:
位移值确定单元221,用于将所述最高非零位的数位和1相加得到的和除2得到的结果确定为位移值。
在一种可能的实现方式中,定点数的最高非零位的数位为PX,位移值=(PX+1)/2。例如,定点数“0000000000111101”的最高非零位的数位为5,则位移值确定单元得到位移值=(5+1)/2=3。
位移单元222,用于将所述定点数的有效数向右移动所述位移值的位数,得到所述浮定点数的有效数。
在一种可能的实现方式中,例如,定点数“0000000000111101”的位移值为3,则位移单元将定点数“0000000000111101”的有效数“000000000111101”向右移动3位,得到浮定点数的有效数为“000111”。
例如,定点数“0000000000111101”的符号为0、浮定点数的指数为0、浮定点数的有效数为“000111”,则定点数“0000000000111101”的浮定点数可以为“00000111”,其中最左侧的数位为符号位,与符号位相邻的数位为指数位。定点数“0000000000111101”的浮定点数也可以为“00011100”其中,最右侧的数位为符号位,与符号位相邻的数位为指数位。
在本实施例中,指数确定子模块和有效数确定子模块可以根据定点数的最高非零位的数位,确定出浮定点数的指数和有效数,将定点数转换为浮定点数。转化过程高效、准确。
在一种可能的实现方式中,所述数据转换装置包括:
数据获取模块,用于获取定点数的符号和有效数;
数据输出模块,用于输出所述浮定点数。
在一种可能的实现方式中,可以将定点数输入数据获取模块,由数据获取模块识别定点数中的符号和有效数。也可以将定点数的符号和有效数分别输入数据获取模块。本公开对此不做限定。数据获取模块可以将获取到的定点数的符号和有效数传送至最高非零位确定模块和指数有效数确定模块。
在一种可能的实现方式中,数据输出模块可以输出浮定点数确定模块确定的浮定点数。数据输出模块可以将浮定点数输出至片上系统、片外系统等。本公开对此不做限定。
在一种可能的实现方式中,所述装置还用于将浮定点数转换为定点数,所述装置还包括:
定点数有效数确定模块100,用于根据所述浮定点数的指数和有效数,确定待定有效数。
在一种可能的实现方式中,定点数的有效数与浮定点数的指数和有效数相关,定点数有效数确定模块可以根据浮定点数的指数和有效数,确定待定有效数。可以将浮定点数直接输入定点数有效数确定模块,由定点数有效数确定模块识别浮定点数中的指数和有效数。也可以将已经识别出的浮定点数中的指数和有效数分别输入定点数有效数确定模块,由定点数有效数确定模块根据输入的浮定点数的指数和有效数,确定待定有效数。本公开对此不做限定。
定点数获取模块200,根据浮定点数的符号和所述待定有效数,确定所述定点数。
在一种可能的实现方式中,定点数获取模块可以根据浮定点数的符号和定点数有效数确定模块确定出的待定有效数,确定定点数的有效数。定点数获取模块可以根据定点数的有效数和浮定点数的符号,得到最终的定点数。
在本实施例中,数据转换装置用于将浮定点数转换为定点数,所述装置包括:定点数有效数确定模块,用于根据所述浮定点数的指数和有效数,确定待定有效数;定点数获取模块,根据浮定点数的符号和所述待定有效数,确定所述定点数。数据转换装置可以将浮定点数快速、准确地转换为定点数。相对于定点数,浮定点数在保证精度的前提下,提高了数据的表示范围。
在一种可能的实现方式中,所述定点数有效数确定模块100,包括:
最高非零位数位确定子模块110,用于确定浮定点数有效数的最高非零位的数位。
在一种可能的实现方式中,最高非零位数位确定子模块可以包括移位器,可以将浮定点数的有效数输入移位器中,由左至右自有效数的最高位开始移位,在移位过程中,最高非零位数位确定子模块可以将第一个“1”出现的数位作为最高非零位的数位。例如,浮定点数为“10101100”,有效数为“101100”,最高非零位的数位为5。
位移值确定子模块120,用于根据所述浮定点数的指数、所述浮定点数有效数的最高非零位的数位,确定位移值。
在一种可能的实现方式中,位移值确定子模块可以用于将所述浮定点数的指数、所述浮定点数有效数的最高非零位的数位和1相加得到的和,确定为位移值。例如,浮定点数“10101100”的最高非零位的数位为5,指数为0,则位移值为:5+0+1=6。
在一种可能的实现方式中,位移值确定子模块可以用于将所述浮定点数的指数、所述浮定点数有效数的最高非零位的数位相加得到的和,确定为待定位移值。例如,浮定点数“10101100”的最高非零位的数位为5,指数为0,则待定位移值为:5+0=5。
定点数有效数确定子模块130,用于根据所述位移值移动所述浮定点数的有效数,得到待定有效数。
在一种可能的实现方式中,所述定点数有效数确定子模块可以用于将所述浮定点数的有效数向左移动所述位移值的位数,得到待定有效数。例如,定点数有效数确定子模块可以将浮定点数为“10101100”的有效数为“101100”,向左移动位移值6位,得到待定有效数“101100000000”。
在一种可能的实现方式中,所述定点数有效数确定子模块可以用于将所述浮定点数的有效数向左移动所述待定位移值加1所得的位数,得到待定有效数。例如,定点数有效数确定子模块可以将浮定点数为“10101100”的有效数为“101100”,向左移动待定位移值5位+1位=6位,同样得到待定有效数“101100000000”。
在一种可能的实现方式中,所述定点数获取模块200,包括:
有效数获取子模块210,用于根所述浮定点数的符号和所述待定有效数的补码得到所述定点数的有效数。
在一种可能的实现方式中,当浮定点数的符号为0时,浮定点数为正数,待定有效数的补码为原码。例如,定点数有效数确定子模块可以将浮定点数为“00101100”的有效数为“101100”,向左移动位移值6位,得到待定有效数“101100000000”,定点数的有效数为“000101100000000”。
在一种可能的实现方式中,当浮定点数的符号为1时,浮定点数为负数,待定有效数的补码为反码+1。例如,定点数有效数确定子模块可以将浮定点数为“10101100”的有效数为“101100”,向左移动位移值6位,得到待定有效数“101100000000”,待定有效数的反码“111010011111111”+1=“111010100000000”,定点数的有效数为“111010100000000”。
定点数获取子模块220,用于根据所述浮定点数的符号所述定点数的有效数,得到定点数。
在一种可能的实现方式中,定点数获取子模块可以将浮定点数的符号确定为定点数的符号。定点数获取子模块可以根据定点数的符号和定点数的有效数,得到定点数。例如,浮定点数“00101100”的定点数为“0000101100000000”,浮定点数“10101100”的定点数为“1111010100000000”。
在本实施例中,定点数有效数确定模块包括最高非零位数位确定子模块、位移值确定子模块和定点数有效数确定子模块。定点数获取模块,包括有效数获取子模块和定点数获取子模块。利用各子模块,数据转换装置可以将浮定点数快速、准确的转换为定点数。
图3示出根据本公开一实施例的组合处理装置的框图,如图3所示,所述组合处理装置,包括上述的神经网络运算装置,通用互联接口,和其他处理装置。
神经网络运算装置与其他处理装置进行交互,共同完成用户指定的操作。其他处理装置,包括中央处理器CPU、图形处理器GPU、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其他处理装置所包括的处理器数量不做限制。其他处理装置作为神经网络运算装置与外部数据和控制的接口,包括数据搬运,完成对本神经网络运算装置的开启、停止等基本控制;其他处理装置也可以和神经网络运算装置协作共同完成运算任务。通用互联接口,用于在所述神经网络运算装置与其他处理装置间传输数据和控制指令。该神经网络运算装置从其他处理装置中获取所需的输入数据,写入神经网络运算装置片上的存储装置;可以从其他处理装置中获取控制指令,写入神经网络运算装置片上的控制缓存;也可以读取神经网络运算装置的存储模块中的数据并传输给其他处理装置。
组合处理装置还可以包括存储装置,存储装置分别与所述神经网络运算装置和所述其他处理装置连接。存储装置用于保存在所述神经网络运算装置和所述其他处理装置的数据,尤其适用于所需要运算的数据在本神经网络运算装置或其他处理装置的内部存储中无法全部保存的数据。
该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。
在一种可能的实现方式中,本公开还提供神经网络芯片,其包括了上述神经网络运算装置或组合处理装置。
在一种可能的实现方式中,本公开还提供芯片封装结构,其包括了上述芯片。
在一种可能的实现方式中,本公开还提供板卡,其包括了上述芯片封装结构。
在一种可能的实现方式中,本公开还提供电子设备,其包括了上述板卡。
电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (8)
1.一种数据转换装置,其特征在于,所述装置用于将定点数转换为浮定点数,所述定点数包括符号和有效数,所述装置包括:
最高非零位确定模块,用于确定所述定点数有效数的最高非零位的数位;
指数有效数确定模块,用于根据所述最高非零位的数位和所述定点数的有效数确定所述浮定点数的指数和所述浮定点数的有效数;
浮定点数确定模块,根据定点数的符号、所述浮定点数的指数和所述浮定点数的有效数,得到所述浮定点数,所述浮定点数用于参与神经网络运算中的运算任务,以得到运算结果,提高运算任务执行过程中的运算效率,
其中,所述指数有效数确定模块,包括:
指数确定子模块,用于将所述最高非零位的数位和1相加得到的和除2后取余,得到余数,将所述余数确定为所述浮定点数的指数;
有效数确定子模块,用于根据所述最高非零位的数位确定位移值,根据所述位移值将所述定点数的有效数进行位移,得到所述浮定点数的有效数。
2.根据权利要求1所述的装置,其特征在于,所述有效数确定子模块,包括:
位移值确定单元,用于将所述最高非零位的数位和1相加得到的和除2得到的结果确定为位移值;
位移单元,用于将所述定点数的有效数向右移动所述位移值的位数,得到所述浮定点数的有效数。
3.根据权利要求1所述的装置,其特征在于,所述定点数为16位二进制形式,所述浮定点数为8位二进制形式。
4.根据权利要求1所述的装置,其特征在于,所述浮定点数中的符号位为1位,指数位为1位。
5.一种神经网络运算装置,其特征在于,所述神经网络运算装置包括一个或多个如权利要求1-4任一项所述的数据转换装置,所述神经网络运算装置用于完成设定的神经网络运算。
6.一种组合处理装置,其特征在于,所述组合处理装置包括如权利要求5所述的神经网络运算装置,通用互联接口和其他处理装置;
所述神经网络运算装置与所述其他处理装置进行交互,共同完成用户指定的计算操作。
7.一种神经网络芯片,其特征在于,所述神经网络芯片包括:
如权利要求1-4任一项所述的数据转换装置;或
如权利要求5所述的神经网络运算装置;或
如权利要求6所述的组合处理装置。
8.一种电子设备,其特征在于,所述电子设备包括:
如权利要求1-4任一项所述的数据转换装置;或
如权利要求5所述的神经网络运算装置;或
如权利要求6所述的组合处理装置;或
如权利要求7所述的神经网络芯片。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459231.3A CN109558110B (zh) | 2018-11-30 | 2018-11-30 | 数据转换装置及相关产品 |
PCT/CN2019/120879 WO2020108470A1 (zh) | 2018-11-30 | 2019-11-26 | 运算方法、装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459231.3A CN109558110B (zh) | 2018-11-30 | 2018-11-30 | 数据转换装置及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558110A CN109558110A (zh) | 2019-04-02 |
CN109558110B true CN109558110B (zh) | 2021-06-01 |
Family
ID=65868458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811459231.3A Active CN109558110B (zh) | 2018-11-30 | 2018-11-30 | 数据转换装置及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558110B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020108470A1 (zh) * | 2018-11-30 | 2020-06-04 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510149A (zh) * | 2009-03-16 | 2009-08-19 | 炬力集成电路设计有限公司 | 一种数据处理方法和装置 |
CN107256140A (zh) * | 2017-06-09 | 2017-10-17 | 上海联影医疗科技有限公司 | 实现基于硬件加速的非标准浮点数重建算法的方法和设备 |
CN107992329A (zh) * | 2017-07-20 | 2018-05-04 | 上海寒武纪信息科技有限公司 | 一种计算方法及相关产品 |
CN108762721A (zh) * | 2017-03-24 | 2018-11-06 | 畅想科技有限公司 | 浮点到定点转换 |
-
2018
- 2018-11-30 CN CN201811459231.3A patent/CN109558110B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510149A (zh) * | 2009-03-16 | 2009-08-19 | 炬力集成电路设计有限公司 | 一种数据处理方法和装置 |
CN108762721A (zh) * | 2017-03-24 | 2018-11-06 | 畅想科技有限公司 | 浮点到定点转换 |
CN107256140A (zh) * | 2017-06-09 | 2017-10-17 | 上海联影医疗科技有限公司 | 实现基于硬件加速的非标准浮点数重建算法的方法和设备 |
CN107992329A (zh) * | 2017-07-20 | 2018-05-04 | 上海寒武纪信息科技有限公司 | 一种计算方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN109558110A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229654B (zh) | 神经网络卷积运算装置及方法 | |
CN111381871B (zh) | 运算方法、装置及相关产品 | |
CN111381808B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN111033462A (zh) | 在基于处理器的系统中使用矩阵处理器提供高效浮点运算 | |
CN109583579B (zh) | 计算装置及相关产品 | |
CN111045728A (zh) | 一种计算装置及相关产品 | |
CN109558110B (zh) | 数据转换装置及相关产品 | |
CN109583581B (zh) | 数据转换装置及相关产品 | |
CN109558109B (zh) | 数据运算装置及相关产品 | |
CN109582279B (zh) | 数据运算装置及相关产品 | |
CN111258541B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN109582277A (zh) | 数据处理方法、装置及相关产品 | |
CN111047021A (zh) | 一种计算装置及相关产品 | |
CN109542837B (zh) | 运算方法、装置及相关产品 | |
CN109558565B (zh) | 运算方法、装置及相关产品 | |
CN111381875B (zh) | 数据比较器、数据处理方法、芯片及电子设备 | |
CN113031915B (zh) | 乘法器、数据处理方法、装置及芯片 | |
CN209895329U (zh) | 乘法器 | |
CN111401536A (zh) | 运算方法、装置及相关产品 | |
CN113867799A (zh) | 计算装置、集成电路芯片、板卡、电子设备和计算方法 | |
CN112395003A (zh) | 运算方法、装置及相关产品 | |
CN111381802B (zh) | 数据比较器、数据处理方法、芯片及电子设备 | |
CN111047024A (zh) | 一种计算装置及相关产品 | |
CN111381872A (zh) | 运算方法、装置及相关产品 | |
CN109558564B (zh) | 运算方法、装置及相关产品 |
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 |