CN201628951U - 一种高速浮点规格化运算器 - Google Patents
一种高速浮点规格化运算器 Download PDFInfo
- Publication number
- CN201628951U CN201628951U CN2009202749067U CN200920274906U CN201628951U CN 201628951 U CN201628951 U CN 201628951U CN 2009202749067 U CN2009202749067 U CN 2009202749067U CN 200920274906 U CN200920274906 U CN 200920274906U CN 201628951 U CN201628951 U CN 201628951U
- Authority
- CN
- China
- Prior art keywords
- leading zero
- shift unit
- result
- elementary
- array
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本实用新型公开了一种高速浮点规格化运算器,用于解决现有的规格化运算器运算速度低的问题,其技术方案是在所述前导零检测部件增加初等或阵列,所述移位器包括第一移位器和第二移位器,初等或阵列产生第一阶段移位信号;第一移位器根据第一阶段移位信号,对未规格化数进行移位;在第一移位器执行完后,将第一移位器的结果和第二阶段移位信号输入第二移位器,执行移位操作。由于在前导零检测部件中增加了初等或阵列,快速生成了部分移位信号,尽快地启动了移位器的执行。同时,分区前导零检测部件和低位前导零信号生成器生成其他的移位信号,使移位器继续执行移位操作。从而最大化了前导零检测和移位操作的并行执行,提高了浮点规格化操作的速度。
Description
技术领域
本实用新型涉及一种浮点运算器,特别涉及一种高速浮点规格化运算器。
背景技术
浮点运算是处理器的一项重要功能,一个处理器的浮点运算能力常常是衡量一个处理器性能的重要指标。浮点运算普遍遵循IEEE754标准,该标准中浮点格式是一种规格化的表示方式,即浮点尾数的最高位为1。对浮点数进行规格化操作是浮点运算必有的操作,常常用于浮点操作前,称为预规格化,或者浮点运算结束之后,称为后规格化或者规格化。浮点数的规格化运算器常常处于各个浮点算术运算的关键路径上,对浮点运算性能有着重要的作用。
参照图6。文献1“An algorithmic and novel design of a leading zero detector circuit:comparison with logic synthesis,Vojin G.Oklobdzija,IEEE Transaction on Very Large ScaleIntegration(VLSI)Systems,Vol.2,No.1,1993,pp.124-128”公开了一种基于前导零检测的规格化运算器,包括前导零检测部件和移位器。前导零检测部件计算未规格化数的前导零个数,移位器根据前导零的个数,对未规格化数进行相应数目的左移,以实现规格化操作。这种基于前导零检测的规格化运算器需要在前导零检测完成后才能启动移位操作,所以文献1所述的规格化运算器总的时延为前导零计算时间加移位时间。
参照图7。文献2“Leading Zero Anticipation and Detection-A Comparison of Methods”,Martin S.Schmookler and Kevin J.Nowka,Proc.of the 15th IEEE Symposium on ComputerArihmetic,2001,pp.7-12”公开了一种基于前导零预测的规格化运算器,包括前导零序列生成器,前导零检测部件和移位器。前导零序列生成器对未规格化数的冗余表达形式,如以未规格化数的进位值和保留值保存的形式,生成和未规格化数有相同前导零个数的序列,然后前导零检测部件对这个序列进行前导零个数的计算,最后使用移位器完成规格化操作。这种基于前导零预测的规格化运算器可以和浮点算术运算部件同时运行,浮点算术运算部件对未规格化数的进位值和保留值相加得到未规格化数的同时,得到前导零的个数,使前导零检测的时间和算术运算器的执行时间交叠,从而减少了关键路径上的时延。但是,在这种结构中,前导零检测和移位器的执行依然是串行执行顺序。
发明内容
为了克服现有技术在规格化操作中对前导零检测和移位操作串行执行,导致规格化运算速度低的不足,本实用新型提供一种高速浮点规格化运算器,通过将前导零检测和移位器最大化地并行执行,可以提高规格化运算速度。
本实用新型解决其技术问题所采用的技术方案:一种高速浮点规格化运算器,包括前导零检测部件和移位器,其特点是所述前导零检测部件包括初等或阵列、分区前导零检测部件、低位前导零信号生成器和高位前导零信号生成器;分区前导零检测部件对未规格化数的不同区域进行前导零检测;初等或阵列对未规格化数的不同区域进行逻辑或操作,产生第一阶段移位信号;所述移位器包括第一移位器和第二移位器,第一移位器根据第一阶段移位信号,对未规格化数进行移位;低位前导零信号生成器根据分区前导零检测部件的结果和初等或阵列的结果生成第二阶段移位信号;在第一移位器执行完后,将第一移位器的结果和第二阶段移位信号输入第二移位器,执行移位操作;第二移位器的结果就是规格化结果;同时,高位前导零信号生成器根据初等或阵列的结果生成前导零结果的高位,然后和低位前导零信号生成器的结果拼接成前导零检测结果。
本实用新型的有益效果是:由于在前导零检测部件中增加了初等或阵列,快速生成了部分移位信号,从而尽快地启动了移位器的执行。在移位器执行的同时,使用分区前导零检测部件和低位前导零信号生成器生成其他的移位信号,在第一阶段的移位结束后,使移位器能够继续执行移位操作。从而最大化了前导零检测和移位操作的并行执行,提高了浮点规格化操作的速度。
下面结合附图和实施例对本实用新型作详细说明。
附图说明
图1是本实用新型高速浮点规格化运算器结构框图。
图2是本实用新型实施例的高速浮点规格化运算器内部结构详图。
图3是图2中初等或阵列结构详图。
图4是图2中低位前导零信号生成器结构详图。
图5是图2中高位前导零信号生成器结构详图。
图6是文献1的基于前导零检测的规格化运算器结构框图。
图7是文献2的基于前导零预测的规格化运算器结构框图。
具体实施方式
参照图1~5,IEEE754标准的双精度浮点有53位尾数,在运算中,为了防止上溢,需要增加一位整数位。同时,根据IEEE754标准,还需要一位警戒位,一位舍入位和一位粘贴位。这样总共需要对57位中间运算结果进行规格化运算。因此,本实施例对57位的输入进行规格化运算,同时也输出前导零检测结果。以下将这57位输入称为未规格化数。
本实用新型实施例包括一个前导零检测部件和一个移位器。其中,前导零检测部件包括一个初等或阵列,第一分区前导零检测部件,第二分区前导零检测部件,第三分区前导零检测部件,第四分区前导零检测部件,一个生成两位结果的高位前导零信号生成器一个生成四位结果的低位前导零信号生成器;移位器包括一个三级移位的第一移位器,和一个四级移位的第二移位器,第一移位器由三级左移16位的移位部件组成,第二移位器由左移8位移位部件,左移4位移位部件,左移2位移位部件,左移1位移位部件组成。
本实用新型将前导零检测逻辑和移位器的执行尽量并行化。
高速浮点规格化运算器的工作流程是:同时启动分区前导零检测部件和初等或阵列的执行。初等或阵列首先对未规格化数的0-15位,16-31位,32-47位进行逻辑或运算,其中0-15位的或结果产生第一移位器的第一级左移控制信号,启动第一移位器的第一级左移16位的操作。然后在第一移位器做第一级移位的同时,初等或阵列将0-15位的或结果和16-31位的或结果进行逻辑或,产生第二级左移控制信号。将32-47位的或结果和第二级左移控制信号相或,产生第三级左移控制信号。在第一移位器第一级16位左移完成后,逐次启动第一移位器的第二级左移16位和第三级左移16位操作。第一移位器可以完成0位,16位,32位,48位的左移操作。第一,二,三级左移控制信号构成了第一阶段移位信号。
在初等或阵列和第一移位器工作的同时,四个分区前导零检测部件也在执行中。其中,第一分区前导零检测部件对未规格化数的第0-15进行前导零检测,产生4位的前导零检测结果;第二分区前导零检测部件对未规格化数的第16-31进行前导零检测,产生4位的前导零检测结果;第三分区前导零检测部件对未规格化数的第32-47进行前导零检测,产生4位的前导零检测结果;第四分区前导零检测部件对未规格化数的第48-56进行前导零检测,产生4位的前导零检测结果。这四个分区前导零检测部件对未规格化数不同的位域进行的操作可以并行进行。
在各个分区前导零检测部件工作完成之前,初等或阵列已经工作完毕。然后,将各个分区前导零检测部件的输出和初等或阵列的输出送入到低位前导零信号生成器,产生低位的前导零检测结果,这些信号也是第二移位器的移位控制信号。低位前导零信号生成器是由多级优先级选择器构成,本实用新型实施例中是由三级选择器构成。其中,当第三级左移控制信号为1时,第一选择器选择第三分区前导零检测结果为输出,否则选择第四分区前导零检测结果为输出;当第二级左移控制信号为1时,第二选择器选择第二分区前导零检测结果为输出,否则选择第一选择器的输出;当第一级左移控制信号为1时,第三选择器选择第一分区前导零检测结果为输出,否则选择第二选择器的输出。
在低位前导零信号生成器工作的同时,将初等或阵列的输出送入高位前导零信号生成器,生成高位的前导零结果。高位前导零信号生成器是由三级优先选择器构成。其选择输入信号是四个二进制常数,11,10,01,00组成,且最高级优先级为11,最低为00。其中,当第一级左移控制信号为0时,第四选择器选择10为输出,否则选择00为输出;当第二级左移控制信号为0时,第五选择器选择10为输出,否则选择第四选择器的输出;当第三级左移控制信号为0时,第六选择器选择11为输出,否则选择第五选择器的输出。
最后,在第一移位器执行完后,将其移位结果作为第二移位器的移位数据,将低位的前导零结果作为第二阶段移位信号,启动第二移位器的执行。第二移位器可以对移位数据进行0-15位的左移操作。第二移位器工作完后,输出规格化结果。将高位前导零检测结果和低位前导零检测结果拼接为最终的前导零检测结果。
本实用新型并不局限于前述实施例,如对IEEE754中的各种浮点格式的规格化,其他非IEEE754的浮点格式等,本实用新型也同样适用。
Claims (1)
1.一种高速浮点规格化运算器,包括前导零检测部件和移位器,其特征在于:所述前导零检测部件包括初等或阵列、分区前导零检测部件、低位前导零信号生成器和高位前导零信号生成器;分区前导零检测部件对未规格化数的不同区域进行前导零检测;初等或阵列对未规格化数的不同区域进行逻辑或操作,产生第一阶段移位信号;所述移位器包括第一移位器和第二移位器,第一移位器根据第一阶段移位信号,对未规格化数进行移位;低位前导零信号生成器根据分区前导零检测部件的结果和初等或阵列的结果生成第二阶段移位信号;在第一移位器执行完后,将第一移位器的结果和第二阶段移位信号输入第二移位器,执行移位操作;第二移位器的结果就是规格化结果;同时,高位前导零信号生成器根据初等或阵列的结果生成前导零结果的高位,然后和低位前导零信号生成器的结果拼接成前导零检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009202749067U CN201628951U (zh) | 2009-12-31 | 2009-12-31 | 一种高速浮点规格化运算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009202749067U CN201628951U (zh) | 2009-12-31 | 2009-12-31 | 一种高速浮点规格化运算器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201628951U true CN201628951U (zh) | 2010-11-10 |
Family
ID=43060347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009202749067U Expired - Lifetime CN201628951U (zh) | 2009-12-31 | 2009-12-31 | 一种高速浮点规格化运算器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201628951U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751239B (zh) * | 2009-12-31 | 2011-06-08 | 西北工业大学 | 高速浮点规格化运算器 |
CN104106045A (zh) * | 2012-02-09 | 2014-10-15 | 高通股份有限公司 | 浮点常数产生指令 |
CN108241483A (zh) * | 2016-12-23 | 2018-07-03 | 龙芯中科技术有限公司 | 前导零的检测结构和方法 |
-
2009
- 2009-12-31 CN CN2009202749067U patent/CN201628951U/zh not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751239B (zh) * | 2009-12-31 | 2011-06-08 | 西北工业大学 | 高速浮点规格化运算器 |
CN104106045A (zh) * | 2012-02-09 | 2014-10-15 | 高通股份有限公司 | 浮点常数产生指令 |
CN104106045B (zh) * | 2012-02-09 | 2017-09-01 | 高通股份有限公司 | 产生浮点常数值的方法、系统及设备 |
US10289412B2 (en) | 2012-02-09 | 2019-05-14 | Qualcomm Incorporated | Floating point constant generation instruction |
CN108241483A (zh) * | 2016-12-23 | 2018-07-03 | 龙芯中科技术有限公司 | 前导零的检测结构和方法 |
CN108241483B (zh) * | 2016-12-23 | 2020-09-22 | 龙芯中科技术有限公司 | 前导零的检测结构和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459840B (zh) | 一种simd结构浮点融合点乘运算单元 | |
US8965945B2 (en) | Apparatus and method for performing floating point addition | |
CN102722352B (zh) | 一种Booth乘法器 | |
US5148386A (en) | Adder-subtracter for signed absolute values | |
CN104778028A (zh) | 乘加器 | |
CN108139885A (zh) | 浮点数舍入 | |
WO1991015820A1 (en) | Early scism alu status determination apparatus | |
EP1956479A1 (en) | Arithmetic unit performing division or square root operation of floating point number and operating method | |
CN201628951U (zh) | 一种高速浮点规格化运算器 | |
WO2006020599A1 (en) | Method for an efficient floating point alu | |
JPS59188740A (ja) | フロ−テイング加算器 | |
CN101751239B (zh) | 高速浮点规格化运算器 | |
CN115390790A (zh) | 一种具有融合精度转换功能的浮点乘加单元及其应用方法 | |
CN100524201C (zh) | 用于实现2的幂的浮点估计的装置与方法 | |
JP4858794B2 (ja) | 浮動小数点除算器、及びそれを用いた情報処理装置 | |
CN104778026A (zh) | 一种带simd的高速数据格式转换部件及转换方法 | |
WO2010138432A1 (en) | Integer multiply and multiply-add operations with saturation | |
Manolopoulos et al. | An efficient dual-mode floating-point multiply-add fused unit | |
US6889241B2 (en) | Floating point adder | |
US20090300087A1 (en) | Computation processor, information processor, and computing method | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
US6571266B1 (en) | Method for acquiring FMAC rounding parameters | |
EP1752872A2 (en) | Method and system for high-speed floating-point operations and related computer program product | |
US8332453B2 (en) | Shifter with all-one and all-zero detection using a portion of partially shifted vector and shift amount in parallel to generated shifted result | |
TWI733214B (zh) | 低功耗加法器電路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
AV01 | Patent right actively abandoned |
Granted publication date: 20101110 Effective date of abandoning: 20091231 |