[发明专利]一种除法运算方法及装置有效
申请号: | 201010584087.3 | 申请日: | 2010-12-13 |
公开(公告)号: | CN102063284A | 公开(公告)日: | 2011-05-18 |
发明(设计)人: | 赵兴朋 | 申请(专利权)人: | 青岛海信信芯科技有限公司 |
主分类号: | G06F7/52 | 分类号: | G06F7/52 |
代理公司: | 北京市铸成律师事务所 11313 | 代理人: | 刘博 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 除法 运算 方法 装置 | ||
技术领域
本发明涉及一种利用数制表示且应用在半导体器件的非线性组合数字除法计算方法以及实现这种运算方法的除法装置,更具体地,本发明涉及一种除法运算方法及采用该方法的运算装置。
背景技术
在工控领域内,微控制器近几年的应用越来越广泛和重要,特别是在电子、航空航天、家电、通信等领域已经达到无可取代的程度。传统的微控制器的设计,在执行除法运算指令时总是把相减和移位操作放在两个不同的时钟周期内,也就是移位操作必须在相减操作完成之后的下一个时钟周期内来执行。在对微控制器运算速度要求不高的条件下,该除法指令的实现方法也许能够应对。但是随着科学技术的发展以及对控制技术要求的提高,特别是在高端的嵌入式领域内,该种除法指令实现方法的速度慢性能低的缺点就严重的暴露出来了。
针对此问题,技术人员研究发展出各种能够提高除法运算效率的方法,其中公开号为CN1423189,名称为“一种除法器”的中国发明专利提出了一种采用移位运算和减法运算的除法器,包括减法器、移位器1.比较器、移位器2.移位加法器,计数器和复选器;除数经过所述移位器1移位后与被除数一起输入所述减法器,所述减法器的输出连接到所述比较器和所述计数器,所述比较器与所述移位加法器和所述移位器2相连,所述移位加法器与所述移位器的输出送至所述复选器,所述计数器控制所述复选器的输出是否返回所述减法器。
上述专利文件中提出的除法运算方法把一个除法运算用减法和移位操作来实现,移位根据减法操作的结果来进行相应的操作。但是该方法仍把相减和移位放在了两个时钟周期内来完成,从根本上说依然没有最大化的缩减一个除法运算的时钟周期数,这样就很难达到各种状况下对微控制器执行指令的快速高效的要求。
发明内容
本发明的发明目的在于提供一种效率高、速度快且指令状态进行周期优化的除法运算方法,同时还提供了采用这种运算方法的除法运算装置。
为了实现上述的发明目的,本发明采用如下的技术方案:
本发明所提供的除法的运算方法概括来说包括如下的几步运算步骤:
(1)在寄存单元内存入无符号整数的被除数、除数,以及中间值;
(2)对被除数以及中间值进行联合左移位操作,并计算中间值左移位操作后与除数之间的差值;
(3)在与步骤(2)同一时钟周期内,如果步骤(2)中所述差值大于等于0,则将所述的差值替代并作为所述的中间值,并将被除数最低位置1替代原有的被除数;如果步骤(2)中所述差值小于0,则将被除数最低位置0替代原有的被除数;
(4)判断移位次数是否等于所述被除数的存储位数,一般来说也是寄存单元的存储位数,如果不是则返回步骤2重新执行,如果是则结束运算。
优选地,在步骤(1)中所述的被除数存储在所述的累加器中,所述的除数存储在所述的寄存器中,所述的中间值存储在所述的第二暂存器中;在步骤(2)开始运算之后,所述的除数存储在第一暂存器中,所述的被除数存储在寄存器中并开始运算。这样,在整个运算方法运算结束之后所述的寄存器内存储除法运算的商,所述的第二暂存器内存储的是除法运算的余数,当然可以根据需要将上述的商或者余数转移到累加器或者寄存器中方便调用。另外,在整个除法运算方法开始运算之前,在步骤(1)中存入的中间值为整数0。
为了优化整个除法运算方法的计算周期,在所述步骤(2)中被除数以及中间值进行左移位操作,并且计算中间值左移位操作后与除数之间的差值,这两步操作是在同一时钟周期内完成的。同时需要说明的是,由于本除法运算方法是基于无符号的整数之间的运算关系,因此上述的移位操作采用的是逻辑左移操作,避免符号位对整个运算方法产生不必要的影响。
更具体地,通过在运算逻辑单元内设置的不同功能模块,上述除法运算方法中各个计算步骤通过运算逻辑单元内的不同功能模块完成。具体来说,所述步骤(2)中的左移位操作通过移位器完成,所述的差值运算通过加法器完成,所述的整个运算过程中的比较运算均通过比较器完成,所述的整个运算过程中的计数均通过计数器完成。
本发明还提供了采用上述无符号整数除法运算方法的一种除法运算装置,所述的除法运算装置包括用于进行逻辑运算的运算逻辑单元,以及用于存储数据以及中间运算数据的寄存单元,所述的寄存单元中的数据通过运算逻辑单元控制进行逻辑运算。
具体地,所述的寄存单元包括用于存储被除数的累加器,以及用于存储除数的寄存器,所述的寄存单元还至少包括用于存储逻辑运算过程的中间过渡数据的第一暂存器以及第二暂存器。当然,寄存器单元可以根据实际情况包括更多的暂存器用于存储逻辑运算中的产生的中间数据,而不限于上述说明的两个暂存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信信芯科技有限公司,未经青岛海信信芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010584087.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种粉体连续制浆设备
- 下一篇:青蒿素衍生物在制备治疗克罗恩病的药物中的应用