CN1296816C - 以少位处理器作多位求方根的方法 - Google Patents
以少位处理器作多位求方根的方法 Download PDFInfo
- Publication number
- CN1296816C CN1296816C CNB021219079A CN02121907A CN1296816C CN 1296816 C CN1296816 C CN 1296816C CN B021219079 A CNB021219079 A CN B021219079A CN 02121907 A CN02121907 A CN 02121907A CN 1296816 C CN1296816 C CN 1296816C
- Authority
- CN
- China
- Prior art keywords
- root
- value
- processor
- data buffer
- multidigit
- 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 - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Abstract
本发明涉及一种以少位处理器作多位求方根的方法,尤指一种可在微处理器呈较少位数量的情况下,仍可达到快速开方根的效果,而有别于传统耗时或占用较多内存的开方根或查表方式,此快速求方根的方法,区分为前后两部份,第一部份以二分逼近法逼近C开根号后的值,而快速获得前半段的A值,在第二部份则以假设B=0,代入求B的迭代公式中,采用递归方式进行几次运算(约三次),于B值为收敛时,即可迅速求得开方根后的A、B两解,提供一种可较快速地取得求方根的方法。
Description
技术领域
本发明涉及一种以少位处理器作多位求方根的方法,尤指一种以少位处理器(如:8位处理器)进行16位或32位的求方根,此方法为有别于传统运算耗时的辗转相除法或二分逼近方法,使用简单的两步骤求得A、B两解,提供一种可较快速地取得多位方根值的方法者。
背景技术
在诸如8位处理器(如:INTEL8051处理器)的相关应用,开方根为不可或缺的需求,传统求得开方根值的方式,概为通过辗转相除法或是二分逼近法完成,然而辗转相除法为必须进行多次数据移位(SHIFTING)的运算动作,导致操作较为耗时,而二分逼近法,亦受到处理器仅有8位之故,必须将数据分配重组成16位后再进行运算,同样有着操作较为耗时的问题,故而在实时(REAL TIME)运算的场合,如:CD/DVD轨迹的运算方面,容易导致系统性能降低或恶化,而业界为达克服此问题,则普遍使用查表法(LOOK UP TABLE),此查表方式由于相当直接,无需任何运算步骤,虽无法获得最精确的值,但实际应用上尚属良好,然其缺点为:必须占用较多内存(供储存表格用),此举,对于CD/DVD光驱循轨(TRACKING)的应用中,由于必须分辨一般CD片、单层(SINGLE LAYER)、DVD片以及双层(DOUBLE LAYER)DVD片等三种类型的光盘片下,必须使用三个表格数据始能完成,确有着过度浪费内存空间的问题。
发明内容
本发明的主要目的在于提供一种以少位处理器作多位求方根的方法,仅需进行简单的二分逼近运算以及较少次数的除法运算,即可快速地取得开方根后的解。
本发明的次一目的在于提供一种以少位处理器作多位求方根的方法,以8位处理器对32位数据求方根的场合,最多仅需三次循环除法运算即可取得实际值,应用于CD/DVD轨迹的计算方面,为较传统辗转相除法的多次除运步骤更具省时的优点。
本发明的另一目的在于提供一种以少位处理器作多位求方根的方法,为将求方根的解区分为前后两段,前半段为使用简单的二分逼近法取得A值,再以求得后半段B值的叠代公式,由B=0、1、2….开始,进行最多三次的递归处理,即可收敛与获得B值,构成一种可较快速地求得多位方根值的方法者。
本发明的目的是这样实现的:
本发明公开了一种以少位处理器作多位求方根的方法,其中,当一处理请求包含开方根作业时,以K位数的处理器,对至少2K位数的数据执行开方根作业,该处理器包含算数逻辑单元、累加器、数据缓存器、程序缓存器、程序计数器等单元;其中该数据缓存器内存有的待处理的数值数据以包括一2K位的整数值c以及一小于2K位的数值d表示为c×22k+d,其中c、d<22k,当c×22k+d=(a×2k+b)2,该程序缓存器包含内存有第一及第二处理步骤,提供该算术逻辑单元计算该a及b数值以算出该数值数据的方根值,该算术逻辑单元配合该程序缓存器、程序计数器、及累加器以执行下列步骤:执行该第一处理步骤,首先从数据缓存器取出c数值,以取得对该整数值c开根号后的最小值作为整数值a,并将数值a存入该数据缓存器中;执行该第二处理步骤,从该数据缓存器取出a;令数值b由一初始值开始,将数值a及b代入一迭代公式数次直到该迭代公式收敛时,取得最终的b值以存入该数据缓存器;及自该数据缓存器中取出a与b以代入上述方根表示式(a×2k+b)2作为2K位的该数值数据开方根处理的结果,并储存至该数据缓存器。
由于取得c开根号的基值的步骤中,仅需少位乘法运算即可,而叠代公式的收敛性,更可在几次循环(最多三次)除法运算即可完成,免除传统辗转相除法的较多层的运算步骤,构成一种可较快速地取得开方根值的方法。为进一步了解本发明的特征及其它目的,配合附图及详细说明如后。
附图说明
图1为本发明的方法步骤示意图。
具体实施方式
首先,设待开方根数为:c×22K+d 而c,d<22k依照c×22K+d=(a×2K+b)2,欲求得a,b两解(a,b<2k):
先将(a×2K+b)2展开后为:
(a×2K+b)2=(a2×22k+a×2k+1b+b2)=c×22K+d…..…(1)
因此,c×22K<(a×2K+b)2<((a+1)×2K)2(∵b<2k)…(2)
由前述(1)中得知a2<c由(2)式中知c<(a+1)2
故而获得:a2<c<(a+1)2所以:
所以,a的值可直接对c开根号与取其最小值或基值(floor)即可,亦即
以前述(4)式中,对c开根号的步骤中,可直接采用二分逼近法,取得一符合a2<c条件下的最大值(a)即可。
上述步骤中,已获得开方根前半段的值,而后半段的值则可由:
对(1)式重新排列而形成一取得b值的等式:
b=(c×22K+d-a2×22k-b2)/a×2k+1
=(c-a2)×22k+(d-b2)/a×2k+1
将的转换为叠代公式下即为:
b[n]=(c-a2)×22k+(d-b[n-1] 2)/a×2k+1……………………..(5)
而首先假设b=0,代入公式(5)中求得一b[0]值,再以此b[0]再以递归方式进行,而经实验的证实,可在第二次递归叠代后,即具收敛性,此时呈现的值即为实际的b值,经数字仿真方式得知,仅需进行三次即可得到结果(例如:32位的开方根)。
前述为解释本发明的推导方式,实际步骤流程为如图1所示,亦即本发明的开方根的方法,概为将a、b两解区分成两部份分别进行,先通过对c开根号与取其最小值而获得a值(步骤11),之后,为进行取得b值的步骤,在步骤(12)中,为设定一循环次数(n),此例中设定n=m,此m值(循环数)在32位的开方根例子中,设定为3次即可,然后,在步骤(13)中,令b的初始值为零,再将此初始值代入步骤(14)的求得b值的叠代公式中进行运算而取得一b值,其次,在循环次数递减(步骤15)与循环次数(n)不等于零时(步骤16),则重复进行公式的叠代处理,如前述,于进行三次递归循环处理后,即结束处理过程,而此时获得的a、b值即为所欲求的开方根的解答。
而通过处理器作业,若以8位处理器计算32位开方根(16位)的场合,该步骤(11)对c开根号的步骤中,可经由二分逼近法(乘法运算)(8位×8位运算),以取得数值小于c的最大的a平方数即可,仅需一次的乘法运算周期,可快速获得结果,而每次进行步骤(14)的除法运算,同为仅需一次16位除以8位的除法运算而已,前述须进行三次除法作业下,则需三个运算周期,故而前述取得a值所花费的一个运算周期加上三个除法运算周期,则总共仅需四个运算周期即可达成,而本发明的运算时间与传统方式的比较,可参看如下图表所示。
方法 | 乘法运算 | 除法运算 | 总运算次数 |
本发明 | 1次运算(8bit×8bit) | 1运算3循环(16bit/8bit) | 1+3=4 |
辗转相除法 | 2运算2循环(32bit/16bit) | 4 | |
二分逼近法 | 4运算2循环(16bit×16bit) | 8 |
若以传统的二分逼近法实施时,需进行16位×16位的乘法运算,需进行二次循环而每次需四个运算周期(共8个运算周期),而公知的辗转相除法实施下,由于采用32位除以16位的除法作业,则需进行两次循环而每次耗费两个运算周期(共四个运算周期),虽此辗转相除法与本发明的作业效率雷同,然仅为其一实施例而已,然对于CD/DVD轨迹的大量数据的实时性运算方面,前述辗转相除法的循环数量为在2次以上,而本发明的循环数量均维持在三次而已,由此可证明本案具有快速取得与缩短运算时间的优点,除此之外,对于更必须进行加、减、乘、除等运算的场合,本发明的方法中亦已包括在内,若以使用8051处理器的环境下,本发明可缩减20%的处理时间。
故以前述说明可知,本发明为基于传统的辗转相除法以及二分逼近法的作业较为耗时的缺陷下,而提供一种将开方根的解区分为前后两部份分别处理,前半部份以简单的二分逼近法取得a值,再以b值叠代公式进行几次的循环处理即可迅速取得b值,由于总处理周期仅需一次乘法以及三次除法周期即可,确具有缩短处理时间的效益。
Claims (6)
1.一种以少位处理器作多位求方根的方法,其特征在于,当一处理请求包含开方根作业时,以K位数的处理器,对至少2K位数的数据执行开方根作业,该处理器包含算数逻辑单元、累加器、数据缓存器、程序缓存器、程序计数器等单元;
其中该数据缓存器内存有的待处理的数值数据以包括一2K位的整数值c以及一小于2K位的数值d表示为c×22k+d,其中c、d<22k,当c×22k+d=(a×2k+b)2,该程序缓存器包含内存有第一及第二处理步骤,提供该算术逻辑单元计算该a及b数值以算出该数值数据的方根值,该算术逻辑单元配合该程序缓存器、程序计数器、及累加器以执行下列步骤:
执行该第一处理步骤,首先从数据缓存器取出c数值,以取得对该整数值c开根号后的最小值作为整数值a,并将数值a存入该数据缓存器中;
执行该第二处理步骤,从该数据缓存器取出a;
令数值b由一初始值开始,将数值a及b代入一迭代公式数次直到该迭代公式收敛时,取得最终的b值以存入该数据缓存器;及
自该数据缓存器中取出a与b以代入上述方根表示式(a×2k+b)2作为2K位的该数值数据开方根处理的结果,并储存至该数据缓存器。
2.如权利要求1所述的以少位处理器作多位求方根的方法,其特征在于,该第一处理步骤是以二分逼近法对c值开根号运算。
3.如权利要求1所述的以少位处理器作多位求方根的方法,其特征在于,所述b的初始值为0。
4.如权利要求1所述的以少位处理器作多位求方根的方法,其特征在于,该第二处理步骤以递归方式将数值a及b代入该迭代公式,且所述递归施行的次数为三次。
5.如权利要求1所述的以少位处理器作多位求方根的方法,其特征在于,该迭代公式是根据上述等式c×22k+d=(a×2k+b)2而被产生。
6.如权利要求1所述的以少位处理器作多位求方根的方法,其特征在于,该处理器利用该方法以执行光盘轨迹的运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021219079A CN1296816C (zh) | 2002-05-27 | 2002-05-27 | 以少位处理器作多位求方根的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021219079A CN1296816C (zh) | 2002-05-27 | 2002-05-27 | 以少位处理器作多位求方根的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1462937A CN1462937A (zh) | 2003-12-24 |
CN1296816C true CN1296816C (zh) | 2007-01-24 |
Family
ID=29743078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021219079A Expired - Fee Related CN1296816C (zh) | 2002-05-27 | 2002-05-27 | 以少位处理器作多位求方根的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1296816C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107179894B (zh) * | 2016-03-09 | 2021-08-27 | 瑞昱半导体股份有限公司 | 快速除法器及快速除法运算方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175730A (zh) * | 1996-07-25 | 1998-03-11 | 摩托罗拉公司 | 使用浮点运算硬件进行微处理器整数除法操作的方法和装置 |
CN1225468A (zh) * | 1998-02-02 | 1999-08-11 | 国际商业机器公司 | 基本函数的高精度估算 |
US6349319B1 (en) * | 1999-01-29 | 2002-02-19 | Sun Microsystems, Inc. | Floating point square root and reciprocal square root computation unit in a processor |
-
2002
- 2002-05-27 CN CNB021219079A patent/CN1296816C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175730A (zh) * | 1996-07-25 | 1998-03-11 | 摩托罗拉公司 | 使用浮点运算硬件进行微处理器整数除法操作的方法和装置 |
CN1225468A (zh) * | 1998-02-02 | 1999-08-11 | 国际商业机器公司 | 基本函数的高精度估算 |
US6349319B1 (en) * | 1999-01-29 | 2002-02-19 | Sun Microsystems, Inc. | Floating point square root and reciprocal square root computation unit in a processor |
Also Published As
Publication number | Publication date |
---|---|
CN1462937A (zh) | 2003-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886498B (zh) | 一种基于特征选择的emd-gru短期电力负荷预测方法 | |
Sarkis | Preparing your data for DEA | |
Hill et al. | Artificial neural network models for forecasting and decision making | |
US20030208733A1 (en) | RTL power analysis using gate-level cell power models | |
CN109961150A (zh) | 一种应对退相干的量子程序变换方法及系统 | |
Bauer et al. | Telescope: An automatic feature extraction and transformation approach for time series forecasting on a level-playing field | |
CN1296816C (zh) | 以少位处理器作多位求方根的方法 | |
US4787055A (en) | Circuit for calculating the discrete Fourier transform | |
CN114139821A (zh) | 电力现货市场环境下发电集团双层博弈竞价方法及系统 | |
Baldwin et al. | Competition, firm turnover and productivity growth | |
Carrillo et al. | The pseudo‐GEE approach to the analysis of longitudinal surveys | |
US6922712B2 (en) | Apparatus, methods, and computer program products for accurately determining the coefficients of a function | |
Loui et al. | Flexible architectures for morphological image processing and analysis | |
US10133839B1 (en) | Systems and methods for estimating a power consumption of a register-transfer level circuit design | |
Melgarejo et al. | Computational model and architectural proposal for a hardware type-2 fuzzy system. | |
Dandekar et al. | Multiobjective optimization of FPGA-based medical image registration | |
Schafer et al. | Precision tunable RTL macro-modelling cycle-accurate power estimation | |
Wang | The Neural Network Approach to Input-Output Analysis for Economic Systems. | |
Azadeh et al. | A total fuzzy regression algorithm for energy consumption estimation | |
Chen et al. | VHDL modeling of a multivariable fuzzy logic controller hardware system | |
CN113254866B (zh) | 一种交通短时流量智能预测方法 | |
Zela et al. | Neural networks for bitcoin price forecasting | |
Kolb et al. | Sustainability-enabled assessment of digital technologies | |
Luo et al. | Demand Analysis of Science and Technology Talents Based on Time Series-BP Neural Network Model | |
Grossner et al. | Organizations for cooperating expert systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |