CN104133656A - 一种尾码采用移位和减法运算的浮点数除法器及运算方法 - Google Patents

一种尾码采用移位和减法运算的浮点数除法器及运算方法 Download PDF

Info

Publication number
CN104133656A
CN104133656A CN201410360280.7A CN201410360280A CN104133656A CN 104133656 A CN104133656 A CN 104133656A CN 201410360280 A CN201410360280 A CN 201410360280A CN 104133656 A CN104133656 A CN 104133656A
Authority
CN
China
Prior art keywords
floating number
subtraction
module
tail code
exponent
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.)
Pending
Application number
CN201410360280.7A
Other languages
English (en)
Inventor
王蒙
袁玉湘
于坤山
姜学平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Shandong Electric Power Co Ltd
Smart Grid Research Institute of SGCC
Original Assignee
State Grid Corp of China SGCC
Smart Grid Research Institute of SGCC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Smart Grid Research Institute of SGCC filed Critical State Grid Corp of China SGCC
Priority to CN201410360280.7A priority Critical patent/CN104133656A/zh
Publication of CN104133656A publication Critical patent/CN104133656A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种尾码采用移位和减法运算的浮点数除法器及运算方法,所述除法器包括预处理模块,符号位运算模块,浮点数阶码运算模块,浮点数尾码运算模块,浮点数后处理模块;所述预处理模块、符号位运算模块、浮点数阶码运算模块、浮点数尾码运算模块和浮点数后处理模块相连。所述方法包括(1)进行判0处理和数据分解;(2)计算出商的符号;(3)计算出阶码的商;(4)处理得到尾数除法的商;(5)进行浮点数商的整合和规格化处理。本发明把除法运算转换成移位和减法运算,采循环移位方法,用硬件电路实现,运算的精度高,运算延迟小,可行性好。采用移位方法得到商值,结构简单,便于移植。本发明适合单精度和双精度的浮点数除法器。

Description

一种尾码采用移位和减法运算的浮点数除法器及运算方法
技术领域
本发明属于一种浮点型除法器,具体讲涉及一种尾码采用移位和减法运算的浮点数除法器及运算方法。
背景技术
伴随工作站以及工业等诸多方面对于数字信号处理以及图像处理需求的日益增长,浮点运算扮演的角色越加显得重要;特别是在高性能计算领域。浮点运算性能是衡量微处理器性能的重要指标,为提高浮点运算性能现在的微处理器通常包含专用的浮点运算单元或浮点协处理器,浮点运算精度高,算法复杂,通常需要多个时钟周期才能完成,这些运算特性决定了浮点运算单元具有硬件开销大,速度慢和功耗大等特点,因此浮点运算单元是整个微处理器设计中需重点考虑的对象。与定点数相比,浮点数据拥有更大的动态范围与更高的精密度,因而更具运算上的优越性。随着集成电路生产工艺的进步,工艺特征尺寸的缩小,单芯片面积的增大,使得单芯片的集成度有了空前的提高,因此,实现算法更复杂的高性能浮点运算单元成为可能。
当前应用广泛的浮点运算包括:浮点加法、浮点乘法、浮点除法以及浮点平方根。同时典型的浮点应用程序中常用浮点运算比例为:加法45%,乘法45%,除法5%,平方根3%。多年以来研究及工程人员更多关注高速浮点乘法和加法,浮点除法以及浮点平方根的性能则少人问津。与浮点乘法和加法相比,浮点除法和平方根使用频率低;但对于某些应用而言,浮点除法部件则成为制约系统性能提高的瓶颈。高性能浮点加法、乘法算法、熔合乘加算法以及其实现技术已经相当成熟,浮点除法器的设计与实现仍然存在严峻挑战。浮点除法算法种类众多,但鉴于设计参数多样性,如:硬件成本、设计复杂度、运算精度、运算速度等等,各种算法在实现中各有所长,所以其实现与优化的空间仍然相当大。
发明内容
针对现有技术的不足,本发明提出一种尾码采用移位和减法运算的浮点数除法器及运算方法。除数和被除数经过浮点数除法器的预处理模块得到浮点数的尾数,并通过移位和减法运算得到尾数的商。通过把除法运算转化成移位运算和减法运算,使得采用硬件电路实现变得容易,结构简单,容易移植,计算精度高。
本发明的目的是采用下述技术方案实现的:
一种尾码采用移位和减法运算的浮点数除法器,其改进之处在于,所述除法器包括预处理模块,符号位运算模块,浮点数阶码运算模块,浮点数尾码运算模块,浮点数后处理模块;
所述预处理模块、符号位运算模块、浮点数阶码运算模块、浮点数尾码运算模块和浮点数后处理模块相连。
本发明基于另一目的提供的一种尾码采用移位和减法运算的浮点数除法运算方法,其改进之处在于,所述方法包括
(1)进行判0处理和数据分解;
(2)计算出商的符号;
(3)计算出阶码的商;
(4)处理得到尾数除法的商;
(5)进行浮点数商的整合和规格化处理。
优选的,所述步骤(1)包括浮点数的预处理模块根据除数和被除数进行判0处理,并且将除数和被除数进行分解。
进一步地,所述将除数和被除数进行分解,分解出除数和被除数的符号位、阶码、尾码。
优选的,所述步骤(2)包括浮点数除法器的符号位运算模块用于计算商的符号。
优选的,所述步骤(3)包括浮点数的阶码运算模块用于计算阶码的商值,被除数的移码减去除数的移码得到阶码运算的结果,并根据阶码判断浮点数结果是否溢出。
优选的,所述步骤(4)包括浮点数尾数运算模块采用移位和减法进行运算,得到尾数相除的商并进行舍入处理。
优选的,所述步骤(5)包括浮点数后处理模块将所得到的符号位,阶码运算的值,尾码运算的值按照IEEE745的标准进行整合,并进行规格化处理。
优选的,所述浮点数尾数运算模块采用移位和减法进行运算,其中包含移位器、比较器、减法器和商寄存器。
与现有技术比,本发明的有益效果为:
本发明把除法运算转换成移位和减法运算,采循环移位方法,用硬件电路实现,运算的精度高,运算延迟小,可行性好。采用移位方法得到商值,结构简单,便于移植。
本发明适合单精度和双精度的浮点数除法器,并符合IEEE745标准。
附图说明
图1为本发明提供的一种尾码采用移位和减法运算的浮点数除法器运算方法示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
本发明提出一种尾码采用移位和减法运算的浮点数除法器及运算方法,本发明采取以下设计方案:
1)、本发明提出一种浮点数尾数采用移位和减法运算的浮点数除法器。
2)、本发明适用于单精度浮点数除法器,并符合IEEE745标准。
3)、浮点数除法器分为预处理模块,符号位运算模块,浮点数阶码运算模块,浮点数尾码运算模块,浮点数后处理模块。
4)、浮点数的预处理模块,根据除数和被除数进行判0处理,并且将除数和被除数进行分解,分解出除数和被除数的符号位、阶码、尾码。
5)、浮点数符号位运算模块,通过异或计算出商的符号。
6)、浮点数阶码运算用于计算商的阶码,被除数的移码减去除数的移码得到阶码运算的结果,根据阶码判断浮点数结果是否溢出。
7)、浮点数尾数运算模块,采用移位和减法进行运算,得到尾数相除的商并进行舍入处理。
8)、浮点数后处理模块,将所得到的的符号位,阶码运算的商,尾码运算的商按照IEEE745的标准进行整合,并进行规格化处理。
实施例
本发明提出一种尾码采用移位和减法运算的单精度浮点数除法运算方法。
如图1所述,浮点数除法器的结构图以及尾数运算的过程图,
首先是除数和被除数经过预处理模块进行判0处理和数据分解;
通过符号运算模块计算出商的符号;
通过阶码运算模块计算出阶码的商,并且确定浮点数的结果是否溢出;
通过尾数处理模块得到尾数除法的商;
通过后处理模块进行浮点数商的整合和规格化处理。
如图1所述,一种尾码采用移位和减法运算的单精度浮点数除法运算方法过程进一步描述,具体为:
首先通过预处理得到除数和被除数的尾数,被除数的尾数放到被除数_尾数_寄存器,除数的尾数放到移位器里;
将被除数_尾数_寄存器和移位器里的数进行比较;
如果被除数大于除数,两个数相减,差值存放到被除数_尾数_寄存器;
商寄存器相应的位数上为1,移位器里的除数移位;
如果被除数小于除数,商寄存器相应的位数上为0,移位器里的除数移位。
经过25个周期(单精度浮点数)得出位尾数的商值,然后进行整合、规格化处理。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

1.一种尾码采用移位和减法运算的浮点数除法器,其特征在于,所述除法器包括预处理模块,符号位运算模块,浮点数阶码运算模块,浮点数尾码运算模块,浮点数后处理模块;
所述预处理模块、符号位运算模块、浮点数阶码运算模块、浮点数尾码运算模块和浮点数后处理模块相连。
2.一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述方法包括
(1)进行判0处理和数据分解;
(2)计算出商的符号;
(3)计算出阶码的商;
(4)处理得到尾数除法的商;
(5)进行浮点数商的整合和规格化处理。
3.如权利要求2所述的一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述步骤(1)包括浮点数的预处理模块根据除数和被除数进行判0处理,并且将除数和被除数进行分解。
4.如权利要求3所述的一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述将除数和被除数进行分解,分解出除数和被除数的符号位、阶码、尾码。
5.如权利要求2所述的一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述步骤(2)包括浮点数除法器的符号位运算模块用于计算商的符号。
6.如权利要求2所述的一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述步骤(3)包括浮点数的阶码运算模块用于计算阶码的商值,被除数的移码减去除数的移码得到阶码运算的结果,并根据阶码判断浮点数结果是否溢出。
7.如权利要求2所述的一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述步骤(4)包括浮点数尾码运算模块采用移位和减法进行运算,得到尾数相除的商并进行舍入处理。
8.如权利要求2所述的一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述步骤(5)包括浮点数后处理模块将所得到的符号位,阶码运算的值,尾码运算的值按照IEEE745的标准进行整合,并进行规格化处理。
9.如权利要求7所述的一种尾码采用移位和减法运算的浮点数除法运算方法,其特征在于,所述浮点数尾码运算模块采用移位和减法进行运算,其中包含移位器、比较器、减法器和商寄存器。
CN201410360280.7A 2014-07-25 2014-07-25 一种尾码采用移位和减法运算的浮点数除法器及运算方法 Pending CN104133656A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410360280.7A CN104133656A (zh) 2014-07-25 2014-07-25 一种尾码采用移位和减法运算的浮点数除法器及运算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410360280.7A CN104133656A (zh) 2014-07-25 2014-07-25 一种尾码采用移位和减法运算的浮点数除法器及运算方法

Publications (1)

Publication Number Publication Date
CN104133656A true CN104133656A (zh) 2014-11-05

Family

ID=51806346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410360280.7A Pending CN104133656A (zh) 2014-07-25 2014-07-25 一种尾码采用移位和减法运算的浮点数除法器及运算方法

Country Status (1)

Country Link
CN (1) CN104133656A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020769A (zh) * 2016-06-22 2016-10-12 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法
CN107038014A (zh) * 2015-10-19 2017-08-11 想象技术有限公司 舍入反平方根结果
CN107562408A (zh) * 2016-06-30 2018-01-09 德州仪器公司 支持可中断浮点除法的架构及指令集
CN109901813A (zh) * 2019-03-27 2019-06-18 苏州中晟宏芯信息科技有限公司 一种浮点运算装置及方法
CN111538474A (zh) * 2020-04-27 2020-08-14 西安交通大学 一种Posit浮点数的除法和开方运算处理器及运算处理系统
WO2022068327A1 (zh) * 2020-09-29 2022-04-07 华为技术有限公司 运算单元、浮点数计算的方法、装置、芯片和计算设备
CN117521581A (zh) * 2024-01-08 2024-02-06 成都北中网芯科技有限公司 一种除法器及其运用方法、除法运算系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
栗素娟等: "基于FPGA的快速浮点数除法器IP核的实现", 《河南科技大学学报(自然科学版)》 *
王晨旭等: "高性能双精度浮点除法器研究", 《微处理机》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038014A (zh) * 2015-10-19 2017-08-11 想象技术有限公司 舍入反平方根结果
CN106020769A (zh) * 2016-06-22 2016-10-12 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法
CN106020769B (zh) * 2016-06-22 2018-09-14 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法
CN107562408A (zh) * 2016-06-30 2018-01-09 德州仪器公司 支持可中断浮点除法的架构及指令集
CN107562408B (zh) * 2016-06-30 2023-09-12 德州仪器公司 支持可中断浮点除法的实现方法及系统
CN109901813A (zh) * 2019-03-27 2019-06-18 苏州中晟宏芯信息科技有限公司 一种浮点运算装置及方法
CN111538474A (zh) * 2020-04-27 2020-08-14 西安交通大学 一种Posit浮点数的除法和开方运算处理器及运算处理系统
WO2022068327A1 (zh) * 2020-09-29 2022-04-07 华为技术有限公司 运算单元、浮点数计算的方法、装置、芯片和计算设备
CN114327360A (zh) * 2020-09-29 2022-04-12 华为技术有限公司 运算单元、浮点数计算的方法、装置、芯片和计算设备
CN117521581A (zh) * 2024-01-08 2024-02-06 成都北中网芯科技有限公司 一种除法器及其运用方法、除法运算系统
CN117521581B (zh) * 2024-01-08 2024-04-02 成都北中网芯科技有限公司 一种除法器及其运用方法、除法运算系统

Similar Documents

Publication Publication Date Title
CN104133656A (zh) 一种尾码采用移位和减法运算的浮点数除法器及运算方法
CN107451658B (zh) 浮点运算定点化方法及系统
CN102722352B (zh) 一种Booth乘法器
CN109062540B (zh) 一种基于cordic算法的可重构浮点运算装置
CN107273090B (zh) 面向神经网络处理器的近似浮点乘法器及浮点数乘法
CN103176767B (zh) 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN108196822B (zh) 一种双精度浮点开方运算的方法及系统
CN103809930B (zh) 一种双精度浮点数除法器的设计方法及除法器
EP3447634B1 (en) Non-linear function computing device and method
GB2586559A (en) Enhanced low precision binary floating-point formatting
CN102629189A (zh) 基于fpga的流水浮点乘累加方法
CN112506935A (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN105930128B (zh) 一种利用浮点数计算指令实现大整数乘法计算加速方法
CN109165006B (zh) Softmax函数的设计优化及硬件实现方法及系统
CN104166535B (zh) 定点处理器及其防溢方法
CN116594590A (zh) 一种浮点数据的多功能运算装置及方法
CN111984226B (zh) 一种基于双曲cordic的立方根求解装置及求解方法
CN101650643A (zh) 一种用于不可除尽浮点除法开方的舍入方法
CN103809931A (zh) 一种专用高速浮点指数运算器的设计
CN103176948A (zh) 一种低成本的单精度初等函数运算加速器
CN110825346B (zh) 一种低逻辑复杂度的无符号近似乘法器
CN104615404A (zh) 一种基于查表操作的高速浮点除法部件装置
CN105302520A (zh) 一种倒数运算的求解方法及系统
CN116841500A (zh) 一种浮点数的处理方法及相关设备
CN102073473A (zh) 基于fpga的十进制浮点乘法器设计

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160328

Address after: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant after: State Grid Corporation of China

Applicant after: State Grid Smart Grid Institute

Applicant after: Electric Power Research Institute of State Grid Shandong Electric Power Company

Address before: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant before: State Grid Corporation of China

Applicant before: State Grid Smart Grid Institute

RJ01 Rejection of invention patent application after publication

Application publication date: 20141105

RJ01 Rejection of invention patent application after publication