一种嵌入式系统的浮点除法运算方法、系统和嵌入式系统的制作方法

文档序号:6637787阅读:322来源:国知局
一种嵌入式系统的浮点除法运算方法、系统和嵌入式系统的制作方法
【专利摘要】本申请提供了一种嵌入式系统的浮点除法运算方法、系统及嵌入式系统。其首先获取被除数和除数;随后将除数中的小数位提出;再利用除数的小数位获取除数的倒数;将被除数的小数位和除数的小数位相乘获得商的小数位;将被除数的指数位、除数的指数位和除数倒数的指数位相加获得商的指数位;最后根据被除数的符号位和除数的符号位得到商的符号位,从而得到浮点数的除法运算结果。由于本浮点除法运算方法、系统及嵌入式系统不是利用迭代算法进行除法运算,而是仅仅利用相对运算量相对较少的加法、乘法等步骤进行运算,因此能够以较少的步骤获得除法运算的结果,从而能够解决现有浮点除法运算方法因步骤较多而浪费嵌入式系统的运算资源的问题。
【专利说明】-种嵌入式系统的浮点除法运算方法、系统和嵌入式系统

【技术领域】
[0001] 本申请涉及计算机【技术领域】,更具体地说,涉及一种嵌入式系统的浮点除法运算 方法、系统和嵌入式系统。

【背景技术】
[0002] 在嵌入式系统中,浮点运算由于精度高、数值表示范围宽等特点,在各种数值运算 过程中被广泛采用。浮点数即带小数点的数,在科学计算中常表示为十进制的科学计数形 式;N=MXl〇E,其中N表示浮点数值,M为尾数(分为整数部分和小数部分),E为指数。二 进制浮点数表示形式类似于上述十进制浮点数表示方法,可表示为N=MX2E。浮点四则运 算中,加法运算、减法运算和乘法运算比较简单,处理速度较快,而除法一般采用迭代算法, 需要较多步骤,从而造成嵌入式系统的运算资源的浪费。


【发明内容】

[0003] 有鉴于此,本申请提供一种嵌入式系统的浮点除法运算方法、系统和嵌入式系统, W解决现有浮点除法运算方法因步骤较多而浪费嵌入式系统的运算资源的问题。
[0004] 为了实现上述目的,现提出的方案如下:
[0005] -种嵌入式系统的浮点除法运算方法,用于对单精度浮点数进行除法运算,包括 如下步骤:
[0006] 获取被除数和除数;
[0007] 提取所述除数中的小数位,将其作为除数小数位;
[0008] 利用所述除数小数位获取所述除数的倒数,将其作为除数倒数;
[0009] 将所述被除数的小数位和所述除数小数位相乘,取其结果的高23位作为商的小 数位;
[0010] 将所述被除数的指数位、所述除数的指数位和所述除数倒数的指数位相加,取其 H者之和作为所述商的指数位。
[0011] 根据所述被除数的符号位和所述除数的符号位确定所述商的符号位。
[0012] 优选的,所述利用所述除数小数位获取所述除数的倒数,将其作为除数倒数,包 括:
[0013] 将0?223-1存入所述嵌入式系统的内存中,作为一个倒数表格;
[0014] 将所述除数小数位作为地址从所述倒数表格中获取与所述地址相对应的数据,将 所述数据作为所述除数倒数。
[00巧]优选的,所述内存的容量大于32MB。
[0016] 优选的,所述根据所述被除数的符号位和所述除数的符号位确定所述商的符号 位,包括:
[0017] 判断所述被除数的符号位与所述除数的符号位是否相同;
[0018] 如果相同则确定所述商的符号位为正,反之则确定所述商的符号位为负。
[0019] 一种嵌入式系统的浮点除法运算系统,用于对单精度浮点数进行除法运算,包 括:
[0020] 获取模块,用于获取被除数和除数
[0021] 提取模块,用于提取所述除数中的小数位,将其作为除数小数位;
[0022] 倒数计算模块,用于利用所述除数小数位获取所述除数的倒数,将其作为除数倒 数;
[0023] 小数位计算模块,用于将所述被除数的小数位和所述除数小数位相乘,取其结果 的高23位作为商的小数位;
[0024] 指数位计算模块,用于将所述被除数的指数位、所述除数的指数位和所述除数倒 数的指数位相加,将H者之和作为所述商的指数位。
[0025] 符号位计算模块,用于根据所述被除数的符号位和所述除数的符号位确定所述商 的符号位。
[0026] 优选的,所述倒数计算模块包括:
[0027] 数据存储单元,用于存储倒数表格,所述倒数表格包括0?223-1;
[0028] 查表单元,用于将所述除数小数位作为地址从所述倒数表格中获取与所述地址相 对应的数据,将所述数据作为所述除数倒数。
[0029] 优选的,所述数据存储单元的容量大于32MB。
[0030] 优选的,所述符号位计算模块包括:
[0031] 判断单元,用于判断所述被除数的符号位与所述除数的符号位是否相同;
[0032] 符号确定单元,用于如果判断结果相同则确定所述商的符号位为正,反之则确定 所述商的符号位为负。
[0033] -种嵌入式系统,包括如上所述的浮点除法运算系统。
[0034] 优选的,所述嵌入式系统包括数字信号处理器。
[0035] 从上述技术方案可W看出,本申请提供了一种嵌入式系统的浮点除法运算方法、 系统及嵌入式系统。其首先获取被除数和除数;随后将除数中的小数位提出;再利用除数 的小数位获取除数的倒数;将被除数的小数位和除数的小数位相乘获得商的小数位;将被 除数的指数位、除数的指数位和除数倒数的指数位相加获得商的指数位;最后根据被除数 的符号位和除数的符号位得到商的符号位,从而得到浮点数的除法运算结果。由于本浮点 除法运算方法、系统及嵌入式系统不是利用迭代算法中大量移位试商步骤进行除法运算, 而是仅仅利用相对运算量相对较少的加法、乘法等步骤进行运算,因此能够W较少的步骤 获得除法运算的结果,从而能够解决现有浮点除法运算方法因步骤较多而浪费嵌入式系统 的运算资源的问题。
[0036] 对于双精度浮点数的除法运算,可W将双精度浮点数转换为单精度浮点数,利用 本申请提供的运算方法进行除法运算,然后将两个单精度浮点数除法结果再扩展为双精度 浮点数即可,同样能够达到节省运算资源的效果。

【专利附图】

【附图说明】
[0037]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可w根据该些附图获得其他的附图。
[003引图1为本申请实施例提供的一种嵌入式系统的浮点除法运算方法的流程图;
[0039] 图2为本申请另一实施例提供的一种嵌入式系统的浮点除法运算系统的结构图。

【具体实施方式】
[0040] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。
[00川 实施例一
[0042] 图1为本申请实施例提供的一种嵌入式系统的浮点除法运算方法的流程图。
[0043] 本实施例提供的浮点除法运算方法用于对单精度浮点数进行运算。由于单精度浮 点数在嵌入式系统中存储宽度为32位,其中第31位为符号位,第30?23位为指数位,第 22?0位为小数位,因此单精度浮点数可W利用小数位和指数位进行表示。此处将该除数 馬中的小数位提出,为了描述方便,将该小数位称为除数小数位,并标做M2,将除数馬的指 数位表示为E2。另外,将被除数Ni的小数位和指数位分Ml和E2。
[0044] 对于^变形为^ = 即^等于被除数Ni乘W除数N,的倒数。 N.', 1.0 、. 1.0U/ 1.0
[004引然后而二WX而二WX万(而^X2-) 0
[0046] 将除数的倒数称为除数倒数Nt,则W 由于除数的小数位M2取值范围为 - 3 0?223-1,即有223种取值,则除数倒数Nt也有223种可能,我们可W把除数倒数Nt做成一 个表格,则该个表格需要占用内存223X4字节的空间,即32MB。因此本实施例中需要提供 32MBW上的空间存储该除数倒数Nt。
[0047] 又因为除数倒数Nt也可用小数位Mt和指数位化进行表示,因此可W表示为 iV, =M,x2A,则
[0048]

【权利要求】
1. 一种嵌入式系统的浮点除法运算方法,其特征在于,用于对单精度浮点数进行除法 运算,包括如下步骤: 获取被除数和除数; 提取所述除数中的小数位,将其作为除数小数位; 利用所述除数小数位获取所述除数的倒数,将其作为除数倒数; 将所述被除数的小数位和所述除数小数位相乘,取其结果的高23位作为商的小数位; 将所述被除数的指数位、所述除数的指数位和所述除数倒数的指数位相加,取其三者 之和作为所述商的指数位; 根据所述被除数的符号位和所述除数的符号位确定所述商的符号位。
2. 如权利要求1所述的浮点除法运算方法,其特征在于,所述利用所述除数小数位获 取所述除数的倒数,将其作为除数倒数,包括: 将0?223-1存入所述嵌入式系统的内存中,作为一个倒数表格; 将所述除数小数位作为地址从所述倒数表格中获取与所述地址相对应的数据,将所述 数据作为所述除数倒数。
3. 如权利要求2所述的浮点除法运算方法,其特征在于,所述内存的容量大于32M字 节。
4. 如权利要求1所述的浮点除法运算方法,其特征在于,所述根据所述被除数的符号 位和所述除数的符号位确定所述商的符号位,包括: 判断所述被除数的符号位与所述除数的符号位是否相同; 如果相同则确定所述商的符号位为正,反之则确定所述商的符号位为负。
5. -种嵌入式系统的浮点除法运算系统,其特征在于,用于对单精度浮点数进行除法 运算,包括: 获取模块,用于获取被除数和除数 提取模块,用于提取所述除数中的小数位,将其作为除数小数位; 倒数计算模块,用于利用所述除数小数位获取所述除数的倒数,将其作为除数倒数; 小数位计算模块,用于将所述被除数的小数位和所述除数小数位相乘,取其结果的高 23位作为商的小数位; 指数位计算模块,用于将所述被除数的指数位、所述除数的指数位和所述除数倒数的 指数位相加,将三者之和作为所述商的指数位; 符号位计算模块,用于根据所述被除数的符号位和所述除数的符号位确定所述商的符 号位。
6. 如权利要求5所述的浮点除法运算系统,其特征在于,所述倒数计算模块包括: 数据存储单元,用于存储倒数表格,所述倒数表格包括〇?223-1 ; 查表单元,用于将所述除数小数位作为地址从所述倒数表格中获取与所述地址相对应 的数据,将所述数据作为所述除数倒数。
7. 如权利要求6所述的浮点除法运算系统,其特征在于,所述内存的容量大于32M字 节。
8. 如权利要求5所述的浮点除法运算系统,其特征在于,所述符号位计算模块包括: 判断单元,用于判断所述被除数的符号位与所述除数的符号位是否相同; 符号确定单元,用于如果判断结果相同则确定所述商的符号位为正,反之则确定所述 商的符号位为负。
9. 一种嵌入式系统,其特征在于,包括如权利要求5?8任一项所述的浮点除法运算系 统。
10. 如权利要求9所述的嵌入式系统,其特征在于,所述嵌入式系统包括数字信号处理 器。
【文档编号】G06F7/487GK104375800SQ201410745916
【公开日】2015年2月25日 申请日期:2014年12月9日 优先权日:2014年12月9日
【发明者】程瑛颖, 肖冀, 侯兴哲, 周孔均, 杨华潇, 杜杰 申请人:国网重庆市电力公司电力科学研究院, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1