浮点运算器及浮点运算的处理方法技术

技术编号:6073090 阅读:343 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了浮点运算器及浮点运算的处理方法,该浮点运算器包括浮点转定点模块,用于将输入到所述浮点转定点模块的浮点数转换为定点数;所述定点加法模块,所述定点加法模块的输入端连接至所述浮点转定点模块的输出端,所述定点加法模块的输出端连接至所述定点加法模块的输入端,用于对所述浮点转定点模块输出的定点数和所述定点加法模块输出的定点数进行定点加法运算;归一化模块,连接至所述定点加法模块的输出端,用于对所述定点加法模块的输出进行归一化处理转成与所述浮点运算器输入的比特位数相同的浮点数输出。通过本发明专利技术实现了高频率下的单拍累加。

Floating point arithmetic and method for processing floating point arithmetic

The invention discloses a processing method of FPU and floating-point operations, the FPU including floating-point to fixed-point conversion module for floating-point number will be input to the floating-point to fixed-point module for fixed point; the fixed-point addition module, the output end of the fixed-point addition module input terminal connected to the floating point. Fixed point module, the input output of the fixed-point addition module is connected to the designated addition module, used for designated addition operations of the fixed-point fixed-point floating-point to fixed-point output module and the output module of the fixed-point addition; normalization module, output end connected to the fixed point addition module, for output of the fixed-point addition module was normalized to the FPU input bits the same floating-point output. By means of the invention, single shot accumulation at high frequency is realized.

【技术实现步骤摘要】

本专利技术涉及矢量处理器领域,具体而言,涉及一种浮点运算器及浮点运算的处理 方法。
技术介绍
目前通信协议有多种模式,采用原有的特殊应用集成电路(Application Specific Integrated Circuit,简称为ASIC)设计方法来实现多模兼容的移动终端芯片 必然面临面积大功耗大且缺乏灵活性等等缺点。当前的软件无线电(software-defined radio,简称为SDR)技术是解决目前多模通信终端芯片设计问题的极具潜力的技术。可编 程矢量处理器(programmable vector processor)是软件无线电SDR的核心架构。为了支 持多模基带的处理,矢量处理器必须能每秒执行数G操作。并且作为移动终端需要满足功 耗在几百mW左右。浮点运算单元是矢量处理器的核心运算部分,其性能决定了整个处理器的性能, 其功耗也占到处理器近一半的功耗。因此,该浮点计算单元的设计和实现非常关键。IEEE标准7M浮点数是广泛应用的浮点格式。IEEE标准7M从逻辑上用三元组 {S,E,M}表示一个数n,如下所示SEM符号位指数尾数最高位... 最低位η = (-l)sXl.mX2e 公式(1)N的实际值η由公式(1)表示。n, s,e,m分别为N,S,E,M对应的实际数值,而N,S,E,M仅仅是一串二进制位。 S (sign)表示N的符号位。对应值s满足n > 0时,s = 0 ;n < 0时,s = 1。E (exponent) 表示N的指数位,位于S和M之间的若干位。对应值e值也可正可负。MOiiantissa)表示N 的尾数位,恰好,它位于N末尾。有效数(Significand)为1. m,1为隐含位是多出来的1位 精度。IEEE标准乃4规定了三种浮点数格式单精度、双精度、扩展精度。单精度共 32bit,S、Ε、M 的 bit 数分别为 1、8、23 ;双精度共 64bit,S、Ε、M 的 bit 数分别为 1、11、52。 更多请参考IEEE 7M浮点标准,在此不再赘述。浮点乘加器可以有很多结构,可以实现一般乘法、加法、乘加,还可以实现复数乘 法、加法、乘加,以及特定fft运算。这些都视乘加器的具体结构而定。但是相关技术中的 浮点乘加器都难以实现高频率下的单拍反馈累加,而只能对两拍前的结果进行累加,不能 直接和上拍的运算结果进行累加,即不能完全实现流水累加,造成编程上的不方便和编程 效率的损失。图1是根据相关技术的传统浮点加法器的原理框图,下面结合图1对传统的浮 点加法的步骤进行说明两输入浮点数的指数相减;浮点数有效数移位对齐;有效数相加;归一化(包括尾数取舍(rounding))。这些步骤都是串行的,逻辑很长。为了工作在诸如 400MHz的高频上,浮点加法器必须分成两拍,这造成了不能实现单拍累加。浮点加法部分是浮点乘加器中逻辑时延的关键路径在相关技术中采用双路径来 提高其工作效率,即near-path和far-path方式实现浮点加法器。双路径方法主要是根据两浮点数的指数差值范围划分为两种情况指数差< = 1 (near-path)和指数差>=2 (far-path)。near-path 指数相减得到简化(只需要做2比 特的减法),浮点数有效数移位对齐简化。只需要对一个加数的有效部分预先做左移和右 移动1比特两种结果,根据指数相减的结果决定输出。这样指数相减和浮点有效数移位对 齐时延大大减少。为减少归一化延时,在进行有效数部分的加法同时进行前导0的预测。 far-path 由于指数差>=2,浮点加法后不会产生小于1. 0的数据,所以最后归一化步骤 中不需要进行小数点的左移。这样两路径都分别减少了时延,实现了一般浮点加法步骤的并行化。最后选择两 路径中一个作为输出结果。但是双路径浮点加法器面积几乎是原来标准的浮点加法器的两 倍。但是逻辑延时并没有减少到原来的一半,实际上减少30%多。在同样的工作频率要求 下难以实现单拍加法,也就不能实现单拍反馈累加。.在相关技术中的传统的浮点加法器在高频下只能与两拍前即上上次的运算结果 累加。在软件编程时,不能流水的实现连续的累加,必须分成奇数偶数部分分别进行累加, 之后用一条特殊指令将奇数偶数部分的累加和再次相加。这样在编程上不是很方便和直 观,编程效率也大大降低。
技术实现思路
本专利技术的主要目的在于提供一种,以至少解决 上述问题。根据本专利技术的一个方面,提供了一种浮点运算器,包括浮点转定点模块,用于将 输入到所述浮点转定点模块的浮点数转换为定点数;所述定点加法模块,所述定点加法模 块的输入端连接至所述浮点转定点模块的输出端,所述定点加法模块的输出端连接至所述 定点加法模块的输入端,用于对所述浮点转定点模块输出的定点数和所述定点加法模块输 出的定点数进行定点加法运算;归一化模块,连接至所述定点加法模块的输出端,用于对所 述定点加法模块的输出进行归一化处理转成与所述浮点运算器输入的比特位数相同的浮 点数输出。优选地,还包括一个或多个浮点乘法模块,一个或多个所述浮点乘法模块的输出 端连接至所述浮点转定点模块的输入端,用于对输入的浮点数进行浮点乘法的运算;所述 浮点转定点模块的输入端连接至所述浮点乘法模块的输出端,所述浮点转定点模块用于将 所述浮点乘法模块的运算结果和/或来自所述浮点运算器的输入端的浮点数转换为定点 数。优选地,所述定点加法模块包括一个或多个定点加法器;或者,所述定点加法模 块包括一个或多个定点加法器,以及一个或多个华莱士树模块。优选地,还包括选择器,所述选择器的两个输入端分别连接至所述浮点运算器的 输入端和所述定点加法模块的输出端,所述选择器的输出端连接至所述定点加法模块的输入端,所述选择器用于选择向所述定点加法模块反馈所述定点加法模块的输出,或者向所 述定点加法模块输入来自所述浮点运算器的输入端的经由所述浮点转定点模块转换成的 定点数。优选地,所述华莱士树模块中的两个输入端分别连接至所述浮点转定点模块的输 出端,用于将所述浮点乘法模块进行浮点乘法运算之后的浮点数转换成的定点数作为输 入,所述华莱士树的另一个输入端连接至选择器的输出端,用于将来自所述选择器的输出 作为所述华莱士树的另一个输入,其中,所述选择器的两个输入为定点加法模块的输出和 来自所述浮点转定点模块将所述浮点运算器的输入端的浮点数转换得到的定点数。优选地,所述浮点乘法模块在将对输入的浮点数进行浮点乘法的运算之后,不进 行归一化处理,将进行浮点乘法运算之后的结果直接输入到所述浮点转定点模块。优选地,还包括前导零预测模块,连接至所述定点加法模块的输出端,用于对所 述定点加法模块的输出进行前导零计数。优选地,所述浮点运算器的输入端输入的浮点数小于或等于16比特。根据本专利技术的另一个方面,还提供了一种浮点运算的处理方法,包括将输入的浮 点数转换为定点数;对所述定点数进行定点加法运算;对所述定点加法运算的结果进行归 一化处理转成与所述输入的浮点数比特位数相同的浮点数输出。优选地,将输入的浮点数转换为定点数包括将输入的浮点数进行浮点乘法的运 算之后的浮点数转换为定点数,和/或,将直接输入的浮点数转换为定点数。通过本专利技术,解决了相关技术中不能实现高频率下本文档来自技高网
...

【技术保护点】
1.一种浮点运算器,其特征在于包括:浮点转定点模块,用于将输入到所述浮点转定点模块的浮点数转换为定点数;所述定点加法模块,所述定点加法模块的输入端连接至所述浮点转定点模块的输出端,所述定点加法模块的输出端连接至所述定点加法模块的输入端,用于对所述浮点转定点模块输出的定点数和所述定点加法模块输出的定点数进行定点加法运算;归一化模块,连接至所述定点加法模块的输出端,用于对所述定点加法模块的输出进行归一化处理转成与所述浮点运算器输入的比特位数相同的浮点数输出。

【技术特征摘要】

【专利技术属性】
技术研发人员:林文琼华力黎立煌
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

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

1