CN103914276A - 利用浮点架构的定点除法电路 - Google Patents
利用浮点架构的定点除法电路 Download PDFInfo
- Publication number
- CN103914276A CN103914276A CN201410007454.1A CN201410007454A CN103914276A CN 103914276 A CN103914276 A CN 103914276A CN 201410007454 A CN201410007454 A CN 201410007454A CN 103914276 A CN103914276 A CN 103914276A
- Authority
- CN
- China
- Prior art keywords
- business
- circuit
- divisor
- dividend
- divider
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5352—Non-restoring division not covered by G06F7/5375
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/49926—Division by zero
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明涉及利用浮点架构的定点除法电路。提供一种用于将两个二进制数相除的系统、方法和计算机程序产品。除法器使用浮点归一化架构来实施定点除法函数以产生最接近的初始商近似值。除法器通过将每个数缩放必需的二倍而将输入被除数和除数归一化到范围[0.5,1.0)。向除法器核心提交归一化的输入,所述除法器核心可以被优化用于将此类有限的范围的输入相除。然后,将除法器核心输出重新缩放适当的二倍、适当地带符号,并且加载到饱和寄存器中以便以各种格式输出。除法器核心以递减的有效值顺序逐步输出商位直到达到预定的精度等级,通常比完整的商中更少的位,以便更快的输出。一个实施方案在一个时钟周期内生成六个最高有效商位。
Description
技术领域
本发明涉及一种用于除法器的系统、方法和计算机程序产品,所述除法器将以二进制形式表示的两个数相除。除法器可以被实施在集成电路中。
背景技术
除法是可以被视为与乘法相反,并且需要解决很多不同的问题的算术运算。从概念上说,商可以被视为被除数可以完全包含除数的次数。如果被除数不能被除数整除,那么将留下余数,并且可以用各种方式表示余数。因此,一般地,被除数=(商*除数)+余数。商的符号取决于被除数和除数的符号,即,如果被除数与除数具有同号,那么商为正,但是如果被除数与除数具有异号,那么商为负。除以零未定义。
将两个数相除的熟悉的手动运算涉及从被除数重复的减去除数。商基本上充当可以从被除数完全减去除数的次数的计数器。在余数小于除数时,输入数的除法可以停止,但是更一般地说,过程可以继续将余数评估为分数。
以二进制形式表示的数的除法也为多种用途所需。例如,数字计算机具有在算术逻辑单元中执行二进制除法以及其他运算的微处理器。数字信号处理电路经常也需要二进制除法。常规的二进制除法器遵循熟悉的“重复减法”算法,并且因此具有许多缺点,主要是其运算可能非常耗时。
因此,发明人已确定在本领域中需要一种改进的二进制除法器。
附图说明
图1为描绘根据本发明的一个方面的示例性快速除法器示意图的图解。
图2为描绘根据本发明的一个方面的示例性快速除法器方法的流程图。
图3为描绘根据本发明的一个方面的示例性除法器核心示意图的图解。
图4为描绘根据本发明的一个方面的示例性多格式完整的除法器示意图的图解。
具体实施方式
本发明的实施方案提供一种用于将两个二进制数相除的系统、方法和计算机程序产品。在一些情况下,可能并不需要计算完整的商,因为部分商可能足以满足某些目的。快速产生部分商可能在某些应用(例如,数字信号处理)中是特别有用的。
因此,提供一种快速除法器实施方案,其可以快速计算只是完整的商值的近似值的部分商。例如,可以只计算完整的64位商中的24位,但是那些24位是最高有效位。此实施方案可以提供具有有限的精确度,但具有大动态范围的快速的结果。也描述以各种二进制格式提供完整的商的替代实施方案。
如下文将要描述的,快速除法器可以通过使用浮点归一化架构来实施定点除法函数以产生最接近的初始商近似值。简要地,快速除法器可以归一化其输入,执行24位除法运算,并且乘/移位输出到其正确的值。归一化输入允许高度优化除法器核心,这是因为除法器处理的输入可能被约束到范围[0.5,1.0),即,从二分之一(含)到接近一。
此外,可以通过以数据块或商子集输出结果的除法器核心来计算所需的精密商。快速生成甚至是部分商的初始数据块可能在一些情况下会有很大的效用。因此,所描述的除法器实施方案可以迅速产生商子集的最高有效位,然后在进一步的时钟周期内继续生成额外的较低有效商位直到达到预定的商精度。
图1为描绘根据本发明的一个方面的示例性快速除法器100的功能图。快速除法器100可以被制造成集成电路。被除数102和除数104为快速除法器的输入。在一个示例性实施方案中,被除数可以为64位二进制数并且除数可以为32位二进制数。在一个实施方案中,向快速除法器100提交除数可以触发快速除法器的运算。
在一个实施方案中,被除数102和除数104可以是带符号数,因此快速除法器100可以接着在方框106和108获得每个输入的绝对值,并且分离出被除数符号位110和除数符号位112以供后续使用。符号位110和112可以确定将要描述的商的适当的符号。
快速除法器100可以包括方框114和116以分别归一化现在无符号的被除数102和除数104,以使得每个数可以具有在范围[0.5,1.0)内的值,即,从二分之一(含)到(但不包括)一。在一个实施方案中,通过将每个数缩放必需的二倍直到每个数的最高有效位的位置为“1”,可以归一化输入。通过移位数字一位,二进制数的值可以容易地改变二倍。因此,电路块114和116可以根据需要移位被除数102和除数104,以使得每个数的缩放值在所需的范围内。可以将描述由此得到的指数的数据传递到加法器118。加法器118可以减去用于每个归一化中的指数(例如,二的幂)(例如,从除数104的标度因子122减去被除数102的标度因子120)以产生将要描述的商的重新标度因子124。
在一个实施方案中,归一化的被除数可以为45位数,而归一化的除数可以为23位数。可以向执行除法的除法器核心126提交归一化的输入。下文参照图4描述除法器核心126的不同的实施方案。不同的实施方案可以在每个时钟周期具有不同的除数宽度和不同的吞吐量(例如,计算出的商位)。可以使用除法器核心生成除以零标记BY0128;除以零未定义并且可以被视为可能会停止运算并且触发特定的预定商值的输出的误差条件。在一个实施方案中,除法器核心126可以在接收到时钟信号130后开始其运算,时钟信号130可以为高级高性能总线(AHB)时钟信号。AHB为在微控制器设计的领域中众所周知的一部分高级微控制器总线架构(AMBA)协议、开放标准片上互连规范。
除法器核心126的输出132为归一化的被除数与归一化的除数的商。在一个实施方案中,系统的输出可以为表示归一化的输入的商的24位数。可以从除法器核心126内的存储商的存储单元检索商。在其他实施方案中,可以在运算的多个时钟周期内建立除法器核心输出132,其中可以计算每个时钟周期所需的商位的总数的预定数或“数据块”。
如将要描述的,例如,在一个总线时钟周期内,可以使用除法器核心126相当迅速地生成要计算的商位的第一数据块。商位的这个子集可以包括最高有效商位,以使得可以产生商的最精确的近似值作为初始输出。可以随后生成额外的较低有效位,过程可能会继续直到实现所需的商精度等级。因此,除法器核心126可以被设计成通过以有效值的递减顺序逐步输出商位来满足特定的需求。在例如每个时钟周期计算六个商位的系统中,在一个时钟周期后的六个最高有效位将可用,在两个时钟周期后的十二个最高有效位将可用,依此类推。在四个时钟周期后的所有二十四个示例性商位将可用。
可以通过商的重新标度因子124缩放除法器核心126的输出132以在归一化期间补偿任何先前输入缩放。如同先前定义的归一化电路,移位寄存器134可以通过在适当的方向上移位输出适当的位数将除法器核心输出缩放二的幂。在一个实施方案中,缩放的输出可以为64位数。
必要时,可以基于被除数符号位110和除数符号位112,使用符号器136将缩放的输出转变为带符号数。在一个实施方案中,逻辑138对被除数符号位110和除数符号位112执行异或运算以确定商符号,例如,如果被除数和除数中只有一个为负,那么商应为负,否则商为正。可以将带符号的缩放的输出存储在寄存器140中。
也可以将带符号的缩放的输出加载到饱和累加器142中以输出为商。在算术运算期间,饱和算术将被处理数的值限制或“夹紧”到最大或最小范围界限。这种行为可能会避免数值的经常不切实际的剧变,其可能由模算术“环绕”引起。例如,在8位寄存器中,256个数值可用于描述通常从0变化到最多255的物理测量。如果测量超过预期范围,那么寄存器可以例如在溢出期间“翻转”到零,从而产生极具误导性的数值描述,这是因为真正的最高有效位被丢弃。在下溢和负数值的存储的情况下,可能会发生类似的问题。因此,饱和累加器142可以有效地重新格式化带符号的缩放的输出以最好地表示具有可用的寄存器大小的商值。饱和累加器的使用是可选的。
图1表示可以具有专用于每个方框的电路的功能方框图。可以根据需要合并电路,例如,为了速度和功率效率。如本领域中已知的,一些功能可能由控制器执行。
现在参看图2,示出描绘根据本发明的一个方面的示例性快速除法器方法200的流程图。可以在步骤202输入被除数和除数。可以在单独的步骤中发生这些输入,并且在一些实施方案中,除数的输入可以触发方法开始。
在步骤204中,可以使用为随后用于计算商符号而保留的符号信息获得除数的绝对值。在步骤206中,可以使用同样保留的除数符号信息获得被除数的绝对值。在一些实施方案中,可以同时执行符号处理。
可以在步骤208中归一化除数,步骤208可以包括使除数移位二的足够幂以使得其缩放值在范围[0.5,1.0)中,即,从二分之一(含)到(但实际上不包括)一。类似地,可以在步骤210中归一化被除数;归一化除数和被除数不需要以所述示例性顺序发生,并且实际上可以被同时执行。
在步骤212中,除法器核心可以开始执行被处理的被除数和除数的除法。除法器核心可以在步骤214中生成除以零标记,其可以触发特定处理输出以表示误差条件。例如,除法器200可以输出特定终值以表示除以零误差条件。除法器核心可以在步骤216中另外生成商或商数据块。
在步骤218中,方法可以组合被除数和除数归一化因子以生成应用于商的重新标度或去归一化因子。在步骤220中,例如,可以通过移位将商缩放二的适当幂。在步骤222中,可以从除数的符号和被除数的符号计算商的符号,例如,不同的符号将产生负商。在步骤224中,可以输出具有适当符号的商(或商“数据块”,例如,逐步生成的商子集)。
在步骤226中,方法可以确定是否已计算所有必需的商位。在一个实施方案中,可以在一个总线时钟周期内生成要计算的商位的第一子集;这些商位可以是最高有效商位。可以生成一般具有较低有效值的额外的必需的位,因为方法可以将运算选择性地返回到除法器核心以在步骤226中执行额外的计算。这个计算过程可以继续直到实现所需的输出商精度等级。
现在参看图3,示出描绘根据本发明的一个方面的示例性除法器核心示意图的图解。这个除法器核心300可以用于先前描述的快速除法器实施方案,或用于关于图4描述的替代除法器实施方案。也可以使用可能在本领域中已知的其他除法器核心,例如,在Maurus Cappa和V.Carl Hamacher的“An Augmented Iterative Array for High-SpeedBinary Division”(IEEE Transactions on Computers,v.C-22,n.2,1973年2月)中描述的迭代阵列除法器(IAD)电路,其以引用的方式整体并入本文。
除法器核心300可以包括许多移位/加块302。每个移位/加块302可以执行这个运算:
因此,每个移位/加块302计算输出进位位carry_out和输出和位sum_out。从输入进位位carry_in、输入和位sum_in、被除数位和除数计算carry_out位和sum_out位。如果carry_in位等于一,那么将除数加到被除数位和两倍sum_in位。否则,如果carry_in位等于零,那么从被除数位和两倍sum_in位减去除数。
来自移位/加块302的carry_out位可以表示商位。因此,在单一的电路中处理64位商将需要64个移位/加块。在一个示例性实施中,只有六个移位/加块可以在一个时钟周期内完成其运算。因此,在这个实施方案中,除法器核心300包括用一组六个移位/加块302(如图所示)建置的时序机,以在时钟周期期间产生六个商位的数据块;以及用于从每一次的结束保存最后的进位值与和值的寄存器308和310。
在每个随后的时钟周期的开始,先前最后的进位值与和值可以被反馈到这组移位/加块302中,因此可以计算还有六个商位的另一数据块。可以通过移位寄存器304和306按顺序排列正确的被除数位和商位。可以从简单的状态机(未示出)完全控制寄存器。
现在参看图4,示出描绘根据本发明的一个方面的示例性多格式完整的除法器示意图的图解。这个实施方案类似于上述快速除法器实施方案,但是需要更多时钟周期来计算完整的商与只是正确的完整的商值的近似值。图3的每个时钟周期六位的移位/加架构除法器核心可以用于这个除法器。
输入总线信号402可以由解码器404处理以产生被除数和除数,被除数和除数分别被存储在寄存器406和408中。AHB为示例性类型的总线,然而可能在本领域中已知的其他总线也适用。控制逻辑410可以根据其寄存器被写入到的顺序选择完整的除法器400的模式,例如,最近写入到被除数寄存器可以确定什么数据被用于被除数412。类似地,写入到除数寄存器408可以触发起始信号414以指示除法器核心416开始其运算。
除法器核心416可以处理被除数和除数并且产生商以及余数、除法完成信号和可能的除以零的误差信号。可以通过下表概述除法器核心的示例性输入和输出、相应的寄存器名称和数据格式:
多格式完整的除法器400可以在定点除法模式或整数除法模式中操作。在定点模式中,完整的除法器可以支持将两个单精度(SP)数相除或将双精度(DP)数除以单精度数,其中结果被放置在扩展的双精度寄存器(ACC)中。
定点除法:
在执行单精度除法时,完整的除法器400可以支持如下格式运算,其中x.y表示在二进制小数点之前的位数x和在二进制小数点之后的位数y:
8.24=8.24/8.24
8.56=8.24/8.24
24.56=8.24/8.24
在执行双精度除法时,完整的除法器400可以支持如下格式运算:
8.24=8.56/8.24
8.56=8.56/8.24
24.56=8.56/8.24
执行8.24/8.24除法将可能导致33.28数。因此,可以将得出的数映射到饱和累加器(24.56)、饱和双精度寄存器格式(8.56)和饱和单精度寄存器格式(8.24)中。在单精度寄存器中,可以截断任何额外的分数位。
执行8.56/8.24除法将可能导致33.28数。如同将两个单精度数相除的情况,因此,可以将得出的数映射到饱和累加器(24.56)、饱和双精度寄存器(8.56)和饱和单精度寄存器格式(8.24)中。在单精度寄存器中,可以再次截断任何额外的分数位。在定点模式中,可能存在余数。
整数除法:
在整数除法模式中,完整的除法器400可以支持带符号的64位数与带符号的32位数的除法。结果可能是64位数。在整数节点中,将存在32位余数。
用法和除以零管理:
完整的除法器可以被配置成带符号的除法器。完整的除法器的不同的模式可以被映射为处在少数实数寄存器上方的许多虚拟寄存器。
在除以零的情况下,结果可能是正负最大数值的饱和输出商,余数为零。在整数模式中,此输出可能是263-1和-263中的一个。在定点模式中,此饱和输出可能是8.56或24.56格式化数的正负最大值。
可以仅在完整的除法器报告其已经完成运算时更新商寄存器418和余数寄存器420。在除法完成后,可以保留最近写入的被除数数据,以使得在被除数数据没有改变时用户不需要重写下一个除法运算的被除数。
尽管已描述本发明的特定实施方案,但是应理解在本发明的范围和精神之内的各种不同的修改都是可能的。本发明仅受所附权利要求书的范围限制。
如上所述,本发明的一个方面涉及一种快速二进制除法器。呈现所提供的描述以使本领域技术人员能够制造和使用本发明。为了解释的目的,陈述特定的命名以提供对本发明的透彻的理解。特定的应用和方法的描述仅被提供为实例。优选实施方案的各种修改将会对本领域技术人员显而易见,并且在不脱离本发明的精神和范围的情况下,本文定义的一般原理可以适用于其他实施方案和应用。因此,本发明不意图限于所示实施方案,而是应被给予与本文所公开的原理和步骤一致的最广范围。
本文所用的术语“一”应指一个或一个以上。术语“多个”应指两个或两个以上。术语“另一个”被定义为第二个或更多。术语“包括”和/或“具有”是开放式的(例如,包括)。在整个文件中提到“一个实施方案”、“某些实施方案”、“实施方案”或类似的术语是指结合实施方案描述的特定特征、结构或特性被包括在至少一个实施方案中。因此,在各处使用的此类短语在本说明书中的出现不一定都指的是同一实施方案。此外,可以用任何合适的方式将特定特征、结构或特性组合在一个或多个实施方案上而没有限制。本文所用的术语“或”应被解释为包括性的或指任何一个或任何组合。因此,“A、B或C”是指“以下任何一种:A;B;C;A和B;A和C;B和C;A、B和C”。只有在元素、功能、步骤或行动的组合在某种程度上固有地相互排斥时,才会发生这个定义的例外。
根据计算机编程领域的技术人员的实践,参照可以由计算机系统或类似的电子系统执行的运算来描述实施方案。此类运算有时被称为是计算机执行的。将了解,用符号表示的运算包括处理器(例如,中央处理单元)对表示数据位的电信号的操作和在存储单元(例如,在系统存储器中)对数据位的维护,以及其他信号处理。维护数据位的存储单元为具有对应于数据位的特定电、磁、光学或有机属性的物理单元。
在被实施在软件中时,实施方案的元件基本上是代码段以执行必要的任务。可以将非暂态代码段存储在处理器可读介质或计算机可读介质中,所述介质可以包括可以存储或传输信息的任何介质。此类介质的实例包括电子电路、半导体存储设备、只读存储器(ROM)、闪速存储器或其他非易失性存储器、软盘、CD-ROM、光盘、硬盘、光纤介质等。用户输入可以包括键盘、鼠标、触摸屏、语音命令输入等的任何组合。用户输入可以类似地用于将在用户的计算设备上执行的浏览器应用程序定向到计算资源可以被访问的一个或多个网络资源(例如,网页)。
Claims (24)
1.一种用于将两个输入二进制数相除的电路,其包括:
归一化器,其用于归一化输入除数和输入被除数;
除法器核心,其用于将所述归一化的输入相除以产生至少部分商;
定标器,其用于逆转所述归一化;以及
至少一个输出寄存器,其用于输出所述至少部分商。
2.如权利要求1所述的电路,其中所述电路通过高级高性能总线(AHB)通信。
3.如权利要求1所述的电路,其中通过接收到所述除数来触发所述电路。
4.如权利要求1所述的电路,其中在除以零事件发生时,所述电路输出除以零标记和预定的商值中的至少一个。
5.如权利要求1所述的电路,其中用所述被除数写入的所述特定寄存器确定操作模式和数据格式中的至少一个。
6.如权利要求1所述的电路,其中所述归一化器移位除数位和被除数位,并且所述定标器比较所述被除数的所述移位与所述除数的所述移位,并且相应地移位商位。
7.如权利要求1所述的电路,其中所述归一化器归一化所述除数和所述被除数以使每个在范围[0.5,1.0)内。
8.如权利要求1所述的电路,其中所述电路计算完整的商和部分商中的至少一个。
9.如权利要求8所述的电路,其中所述完整的商包括64位并且所述部分商包括24位。
10.如权利要求1所述的电路,其中所述除法器核心被优化用于将归一化的输入相除。
11.如权利要求1所述的电路,其中所述除法器核心以递减的位有效值顺序计算商数据块。
12.如权利要求1所述的电路,其中所述除法器核心计算每个总线时钟周期的多个商数据块位。
13.如权利要求1所述的电路,其中所述除法器核心计算商数据块直到达到预定义的商精度等级。
14.如权利要求13所述的电路,其中所述商数据块包括六位。
15.如权利要求1所述的电路,其中所述除法器核心包括Cappa集成阵列除法器(IAD)。
16.如权利要求1所述的电路,其中所述除法器核心包括通过至少一个移位/加块序列输入至少一个除数位并且序列输出至少一个商位的移位寄存器,
其中第一移位/加块最初保存所述被除数,
其中每个移位/加块计算输出进位位和输出和位,每个移位/加块为两倍输入和位加上被除数位加上根据输入进位位值带符号的除数位,
其中所述商位为所述输出进位位,以及
其中所述输出进位位和所述输出和位进行至少一个操作:被传递给后续移位/加块并且被回收到所述第一移位/加块,以便计算另一商位。
17.如权利要求1所述的电路,其中所述电路进一步包括从被除数符号位和除数符号位的异或计算商符号位的符号校正器。
18.如权利要求1所述的电路,其中所述输出寄存器为饱和累加器。
19.一种将两个输入二进制数相除的方法,其包括:
归一化除数和被除数;
将所述归一化的输入相除以产生至少部分商;
逆转所述归一化;以及
输出所述至少部分商。
20.如权利要求19所述的方法,其中所述归一化缩放所述除数和所述被除数以使每个在范围[0.5,1.0)内。
21.如权利要求19所述的方法,其中所述相除以递减的位有效值顺序逐步产生商数据块直到达到预定义的商精度等级。
22.一种用于将两个输入二进制数相除的系统,其包括:
用于归一化除数和被除数的构件;
用于将所述归一化的输入相除以产生至少部分商的构件;
用于逆转所述归一化的构件;以及
用于输出所述至少部分商的构件。
23.如权利要求22所述的系统,其中所述用于归一化的构件缩放所述除数和所述被除数以使每个在范围[0.5,1.0)内。
24.如权利要求22所述的系统,其中所述用于相除的构件以递减的位有效值顺序逐步产生商数据块直到达到预定义的商精度等级。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/736,677 | 2013-01-08 | ||
US13/736,677 US20140195581A1 (en) | 2013-01-08 | 2013-01-08 | Fixed point division circuit utilizing floating point architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103914276A true CN103914276A (zh) | 2014-07-09 |
Family
ID=51019306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410007454.1A Pending CN103914276A (zh) | 2013-01-08 | 2014-01-08 | 利用浮点架构的定点除法电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140195581A1 (zh) |
CN (1) | CN103914276A (zh) |
DE (1) | DE102014100108A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778027A (zh) * | 2014-01-14 | 2015-07-15 | 罗伯特·博世有限公司 | 用于计算被除数和除数的除法的结果值的方法和设备 |
CN106020769A (zh) * | 2016-06-22 | 2016-10-12 | 上海兆芯集成电路有限公司 | 浮点除法器以及浮点除法器操作方法 |
CN107533452A (zh) * | 2015-04-21 | 2018-01-02 | 高通股份有限公司 | 除法和根计算以及快速结果格式化 |
CN107766031A (zh) * | 2017-11-14 | 2018-03-06 | 京东方科技集团股份有限公司 | 分段式除法器、分段式除法运算方法、以及电子设备 |
CN108334306A (zh) * | 2017-01-19 | 2018-07-27 | 想象技术有限公司 | 对用于实现整数除法的集成电路硬件设计的形式验证 |
CN110036368A (zh) * | 2016-12-06 | 2019-07-19 | Arm有限公司 | 用于执行算术运算以累加浮点数的装置及方法 |
CN111752531A (zh) * | 2019-03-26 | 2020-10-09 | 日本电产株式会社 | 整数除法装置和马达控制装置 |
CN113312021A (zh) * | 2020-02-27 | 2021-08-27 | 南京航空航天大学 | 基于阵列和对数除法器的近似混合除法器电路 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218157B2 (en) * | 2012-09-20 | 2015-12-22 | Oracle International Corporation | Performing a division operation using a split division circuit |
JP2016062404A (ja) * | 2014-09-19 | 2016-04-25 | サンケン電気株式会社 | 演算処理方法及び演算処理装置 |
US10671345B2 (en) * | 2017-02-02 | 2020-06-02 | Intel Corporation | Methods and apparatus for performing fixed-point normalization using floating-point functional blocks |
US11301247B2 (en) * | 2019-12-19 | 2022-04-12 | Marvell Asia Pte Ltd | System and method for handling floating point hardware exception |
GB2607369B (en) * | 2021-11-30 | 2023-07-12 | Imagination Tech Ltd | Truncated array for performing division |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5825681A (en) * | 1996-01-24 | 1998-10-20 | Alliance Semiconductor Corporation | Divider/multiplier circuit having high precision mode |
US5828591A (en) * | 1992-11-02 | 1998-10-27 | Intel Corporation | Method and apparatus for using a cache memory to store and retrieve intermediate and final results |
CN102231101A (zh) * | 2011-07-29 | 2011-11-02 | 电子科技大学 | 一种除法器及除法处理方法 |
CN102736889A (zh) * | 2011-03-31 | 2012-10-17 | 瑞昱半导体股份有限公司 | 复数除法器及其相关方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61213927A (ja) * | 1985-03-18 | 1986-09-22 | Hitachi Ltd | 浮動小数点演算処理装置 |
US5140545A (en) * | 1991-02-13 | 1992-08-18 | International Business Machines Corporation | High performance divider with a sequence of convergence factors |
US5301139A (en) * | 1992-08-31 | 1994-04-05 | Intel Corporation | Shifter circuit for multiple precision division |
US8706790B1 (en) * | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8452831B2 (en) * | 2009-03-31 | 2013-05-28 | Oracle America, Inc. | Apparatus and method for implementing hardware support for denormalized operands for floating-point divide operations |
-
2013
- 2013-01-08 US US13/736,677 patent/US20140195581A1/en not_active Abandoned
-
2014
- 2014-01-07 DE DE102014100108.7A patent/DE102014100108A1/de not_active Withdrawn
- 2014-01-08 CN CN201410007454.1A patent/CN103914276A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5828591A (en) * | 1992-11-02 | 1998-10-27 | Intel Corporation | Method and apparatus for using a cache memory to store and retrieve intermediate and final results |
US5825681A (en) * | 1996-01-24 | 1998-10-20 | Alliance Semiconductor Corporation | Divider/multiplier circuit having high precision mode |
CN102736889A (zh) * | 2011-03-31 | 2012-10-17 | 瑞昱半导体股份有限公司 | 复数除法器及其相关方法 |
CN102231101A (zh) * | 2011-07-29 | 2011-11-02 | 电子科技大学 | 一种除法器及除法处理方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778027A (zh) * | 2014-01-14 | 2015-07-15 | 罗伯特·博世有限公司 | 用于计算被除数和除数的除法的结果值的方法和设备 |
CN107533452A (zh) * | 2015-04-21 | 2018-01-02 | 高通股份有限公司 | 除法和根计算以及快速结果格式化 |
CN106020769A (zh) * | 2016-06-22 | 2016-10-12 | 上海兆芯集成电路有限公司 | 浮点除法器以及浮点除法器操作方法 |
CN106020769B (zh) * | 2016-06-22 | 2018-09-14 | 上海兆芯集成电路有限公司 | 浮点除法器以及浮点除法器操作方法 |
CN110036368B (zh) * | 2016-12-06 | 2023-02-28 | Arm有限公司 | 用于执行算术运算以累加浮点数的装置及方法 |
CN110036368A (zh) * | 2016-12-06 | 2019-07-19 | Arm有限公司 | 用于执行算术运算以累加浮点数的装置及方法 |
CN108334306A (zh) * | 2017-01-19 | 2018-07-27 | 想象技术有限公司 | 对用于实现整数除法的集成电路硬件设计的形式验证 |
CN108334306B (zh) * | 2017-01-19 | 2023-07-14 | 想象技术有限公司 | 验证实现整数除法器的硬件设计的方法、系统和介质 |
CN107766031A (zh) * | 2017-11-14 | 2018-03-06 | 京东方科技集团股份有限公司 | 分段式除法器、分段式除法运算方法、以及电子设备 |
US10877733B2 (en) | 2017-11-14 | 2020-12-29 | Boe Technology Group Co., Ltd. | Segment divider, segment division operation method, and electronic device |
CN107766031B (zh) * | 2017-11-14 | 2020-06-19 | 京东方科技集团股份有限公司 | 分段式除法器、分段式除法运算方法、以及电子设备 |
CN111752531A (zh) * | 2019-03-26 | 2020-10-09 | 日本电产株式会社 | 整数除法装置和马达控制装置 |
CN111752531B (zh) * | 2019-03-26 | 2024-01-23 | 日本电产株式会社 | 整数除法装置和马达控制装置 |
CN113312021A (zh) * | 2020-02-27 | 2021-08-27 | 南京航空航天大学 | 基于阵列和对数除法器的近似混合除法器电路 |
Also Published As
Publication number | Publication date |
---|---|
US20140195581A1 (en) | 2014-07-10 |
DE102014100108A1 (de) | 2014-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914276A (zh) | 利用浮点架构的定点除法电路 | |
CN106951211B (zh) | 一种可重构定浮点通用乘法器 | |
CN103019647B (zh) | 具有浮点精度保持功能的浮点累加/累减运算方法 | |
CN102629189B (zh) | 基于fpga的流水浮点乘累加方法 | |
US11853718B2 (en) | Small multiplier after initial approximation for operations with increasing precision | |
US9690579B2 (en) | Merged floating point operation using a modebit | |
US9996345B2 (en) | Variable length execution pipeline | |
CN105224284B (zh) | 一种浮点数处理方法及装置 | |
CN104254833A (zh) | 基于向量和标量的模取幂 | |
JP2019121398A (ja) | ルックアップテーブルを利用して加速化されたコンピューティングの方法及びシステム | |
TWI715589B (zh) | 用於在執行浮點運算時控制捨入的裝置及方法 | |
CN116028013B (zh) | 一种fpga除法运算的优化方法、装置、除法器和介质 | |
CN103135960A (zh) | 一种基于fpga的集成浮点运算器的设计方法 | |
CN105224283B (zh) | 一种浮点数处理方法及装置 | |
US20200065066A1 (en) | Float Division by Constant Integer | |
CN101295237A (zh) | 求商和余数的高速除法器 | |
CN105045559A (zh) | 函数逼近 | |
CN103399725A (zh) | 一种不恢复余数的除法器 | |
US20100023569A1 (en) | Method for computerized arithmetic operations | |
CN109992242B (zh) | 基于乘法器的运算方法及装置 | |
US10146504B2 (en) | Division using the Newton-Raphson method | |
CN104572018A (zh) | 一种用于浮点常数生成的装置及方法 | |
JP4109181B2 (ja) | 論理回路、および、それを使用した浮動小数点演算回路とマイクロプロセッサ | |
Xu et al. | High-efficiency realization of SRT division on ternary optical computers | |
Abraham et al. | An ASIC design of an optimized multiplication using twin precision |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140709 |