包括浮点加法器的芯片、设备及浮点运算的控制方法技术

技术编号:26845065 阅读:13 留言:0更新日期:2020-12-25 13:06
本申请公开了一种包括浮点加法器的芯片、设备及浮点运算的控制方法,涉及芯片技术领域。浮点加法器包括:合并单元用于对输入的n个操作数的尾数部分分别添加有效数,得到n个操作数分别对应的合并数据,n为大于等于3的正整数;可变移位单元用于对n个操作数分别对应的合并数据,分别进行可变移位操作,得到定点数格式的n个更新操作数;可配置加法单元用于对n个更新操作数进行加法运算得到运算结果;转换输出单元用于将运算结果转换为浮点数格式,并输出浮点数格式的运算结果。本申请能够实现一个浮点加法器支持对3个或者3个以上的浮点数进行加法运算,提升了浮点加法器的处理性能,为云技术、人工智能技术等提供更高性能的算力支持。

【技术实现步骤摘要】
包括浮点加法器的芯片、设备及浮点运算的控制方法
本申请实施例涉及云技术、人工智能技术和芯片
,特别涉及一种包括浮点加法器的芯片、设备及浮点运算的控制方法。
技术介绍
浮点运算器是运行浮点运算的处理器,作为一个协处理器,被广泛应用在图形处理器(GraphicsProcessingUnit,GPU)、人工智能(ArtificialIntelligence,AI)芯片、中央处理器(CentralProcessingUnit,CPU)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)等芯片上,是上述芯片的关键数据处理引擎。浮点加法器是用于实现浮点数的加法运算的处理器。目前来说,单个的浮点加法器仅支持对2个操作数进行加法运算,具有较多的局限性。
技术实现思路
本申请实施例提供了一种包括浮点加法器的芯片、设备及浮点运算的控制方法,能够使得单个的浮点加法器支持3个或者3个以上浮点数的加法运算。所述技术方案如下:根据本申请实施例的一个方面,提供了一种包括浮点加法器的芯片,所述浮点加法器包括:合并单元、可变移位单元、可配置加法单元和转换输出单元;所述合并单元,用于对输入的n个操作数的尾数部分分别添加有效数,得到n个操作数分别对应的合并数据,所述n为大于等于3的正整数;所述可变移位单元,用于对所述n个操作数分别对应的合并数据,分别进行可变移位操作,得到定点数格式的n个更新操作数;所述可配置加法单元,用于对所述n个更新操作数进行加法运算,得到运算结果;所述转换输出单元,用于将所述运算结果转换为浮点数格式,并输出所述浮点数格式的所述运算结果。根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括上述包括浮点加法器的芯片。根据本申请实施例的一个方面,提供了一种浮点运算的控制方法,应用于包括浮点加法器的芯片中,所述方法包括:对输入的n个操作数的尾数部分分别添加有效数,得到n个操作数分别对应的合并数据,所述n为大于等于3的正整数;对所述n个操作数分别对应的合并数据,分别进行可变移位操作,得到定点数格式的n个更新操作数;对所述n个更新操作数进行加法运算,得到运算结果;将所述运算结果转换为浮点数格式,并输出所述浮点数格式的所述运算结果。本申请实施例提供的技术方案可以带来如下有益效果:通过将输入的浮点数转换为定点数然后进行加法运算,能够实现一个浮点加法器支持对3个或者3个以上的浮点数进行加法运算,提升了浮点加法器的处理性能,为云技术、人工智能技术等提供更高性能的算力支持。另外,相比于采用两个浮点加法器级联,通过执行两步求和实现对3个浮点数进行加法运算,本申请实施例提供的技术方案仅需一步求和即可实现对3个浮点数进行加法运算,提升了浮点加法器的处理效率,处理延迟能够降为原来一半。而且,由于浮点加法器的处理性能提升,单个浮点加法器能够支持对更多数量的浮点数进行加法运算,因此在芯片达到同样计算能力的前提下,芯片面积能够得到减小。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例提供的浮点加法器在GPU中应用的示意图;图2是本申请一个实施例提供的浮点加法器在AI芯片中应用的示意图;图3是本申请一个实施例提供的浮点加法器在CPU中应用的示意图;图4是本申请一个实施例提供的芯片中的浮点加法器的结构框图;图5是本申请另一个实施例提供的芯片中的浮点加法器的结构框图;图6是本申请另一个实施例提供的芯片中的浮点加法器的结构框图;图7是本申请一个实施例提供的浮点运算的控制方法的流程图;图8是本申请一个实施例提供的电子设备的结构框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。首先,对本申请涉及的若干名词进行简介:1、浮点数(floating-pointnumber):计算机中采用的一种数的标识方法,与科学计数法相似,任意一个二进制数N,总可以写成:N=(-1)S×2E×M;式中:×表示乘号;M为浮点数N的小数部分(也称尾数mantissa),是一个纯小数;E为浮点数N的指数部分(也称阶码exponent),是一个整数;S是浮点数N的符号位,当符号位上为0时,表示浮点数N为正,当符号位上为1时,表示浮点数N为负。这种表示方法相当于数的小数点位置随比例因子的不同,而在一定范围内可以自由浮动,所以称为浮点标识法。2、浮点加法器(floating-pointadder):浮点加法器是用于实现浮点数的加法运算的处理器。浮点数的基本运算包括加法、减法、乘法和除法。在一般的处理器中,浮点加法、减法、转换和传送最终都是可以转换为采用浮点加法器实现,所以浮点加法器是使用频率最高的浮点运算模块。本申请技术方案涉及云技术和人工智能
,提供了一种包括浮点加法器的芯片,该芯片可以是GPU、AI芯片、CPU等,为云技术和人工智能技术提供芯片算力的支持。人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。计算机视觉技术(ComputerVision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(OpticalCharacterRecognition,光学字符识别)、视频处理、视频语义理解、视频内容/本文档来自技高网
...

【技术保护点】
1.一种包括浮点加法器的芯片,其特征在于,所述浮点加法器包括:合并单元、可变移位单元、可配置加法单元和转换输出单元;/n所述合并单元,用于对输入的n个操作数的尾数部分分别添加有效数,得到n个操作数分别对应的合并数据,所述n为大于等于3的正整数;/n所述可变移位单元,用于对所述n个操作数分别对应的合并数据,分别进行可变移位操作,得到定点数格式的n个更新操作数;/n所述可配置加法单元,用于对所述n个更新操作数进行加法运算,得到运算结果;/n所述转换输出单元,用于将所述运算结果转换为浮点数格式,并输出所述浮点数格式的所述运算结果。/n

【技术特征摘要】
1.一种包括浮点加法器的芯片,其特征在于,所述浮点加法器包括:合并单元、可变移位单元、可配置加法单元和转换输出单元;
所述合并单元,用于对输入的n个操作数的尾数部分分别添加有效数,得到n个操作数分别对应的合并数据,所述n为大于等于3的正整数;
所述可变移位单元,用于对所述n个操作数分别对应的合并数据,分别进行可变移位操作,得到定点数格式的n个更新操作数;
所述可配置加法单元,用于对所述n个更新操作数进行加法运算,得到运算结果;
所述转换输出单元,用于将所述运算结果转换为浮点数格式,并输出所述浮点数格式的所述运算结果。


2.根据权利要求1所述的芯片,其特征在于,所述可变移位单元包括:指数确定单元和差值移位单元;
所述指数确定单元,用于确定目标指数值;
所述差值移位单元,用于对于所述n个操作数中的第i个操作数,确定所述第i个操作数的指数部分与所述目标指数值的差值;根据所述差值对所述第i个操作数对应的合并数据进行可变移位操作,得到所述第i个操作数对应的更新操作数;其中,所述i为小于等于所述n的正整数。


3.根据权利要求2所述的芯片,其特征在于,
所述目标指数值为所述n个操作数的指数部分中的最大指数值;
或者,
所述目标指数值为所述n个操作数的指数部分中的最小指数值;
或者,
所述目标指数值为所述n个操作数的指数部分中的任意一个指数值;
或者,
所述目标指数值为预定义的指数值。


4.根据权利要求2所述的芯片,其特征在于,所述目标指数值为所述n个操作数的指数部分中的最大指数值;
所述差值移位单元,用于对所述第i个操作数对应的合并数据右移k位,得到所述第i个操作数对应的更新操作数;
其中,所述第i个操作数的指数部分与所述目标指数值的差值为k,且k为整数。


5.根据权利要求1所述的芯片,其特征在于,所述可配置加法单元,用于:
分别获取所述n个操作数的符号位;
对于所述符号位指示为负数的操作数,对所述操作数对应的更新操作数进行求2补码操作,得到转换后的n个更新操作数;
对所述转换后的n个更新操作数进行加法运算,得到所述运算结果。


6.根据权利要求1所述的芯片,其特征在于,所述转换输出单元包括:尾数截断与舍入单元、指数更新单元和输出单元;
所述尾数截断与舍入单元,用于对于所述运算结果对应的无符号数据,确定所述无符号数据的有效数;确定所述有效数的更新位置信息,所述更新位置信息用于指示所述有效数的更新后位置和原始位置之间的相对位置信息;根据配置的舍入模式截取设定位数的比特位数据,得到所述运算结果对应的尾数部分;
所述指数更新单元,用于根据所述更新位置信息确定所述运算结果对应的指数部分;
所述输出单元,用于根据所述运算结果对应的符号位、所述运算结果对应的尾数部分和所述运算结果对应的指数部分,输出所述浮点数格式的所述运算结果。


7.根据权利要求6所述的芯片,其特征在于,所述尾数截断与舍入单元还用于:
在将所述运算结果转换为所述浮点数格式的过程中,若发生异常情况,则根据异常模式以及舍入模式对所述运算结果进行异常处理;
其中,所述异常情况包括以下至少一项:上溢出、下溢出、数据不精确。


8.根据权利要求1至7任一项所述的芯片,其特征在于,所述合并单元...

【专利技术属性】
技术研发人员:李嘉昕
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1