《Booth编码在补码乘法中的应用(共5页).doc》由会员分享,可在线阅读,更多相关《Booth编码在补码乘法中的应用(共5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上Booth编码在补码乘法中的应用摘要:在数字信号处理中,乘法器是运算单元的核心部件之一,通过Booth编码减少部分积的数量,能提高乘法运算的速度。该文分析了优化乘法器的两种思路,推导了2基Booth编码及4基Booth编码,指出在实现乘法器中优先考虑4基Booth编码的原因,阐述了在应用Booth编码时注意的问题,在实际应用中验证了该方案的有效性和稳定性。关键词:补码 Booth编码 乘法器在数字信号处理芯片或一般微处理器芯片中,乘法器是芯片的核心之一,是处理器中进行数据处理的关键部件。乘法器完成一次操作的周期基本上决定了处理器的主频。乘法器的速度和面积优化对于整个处
2、理芯片的性能来说是非常重要的。为了加快乘法器的执行速度,减少乘法器的面积,有必要对乘法器的算法、结构及电路的具体实现做深入的研究。乘法器工作的基本原理是首先生成部分积,再将这些部分积相加得到乘积,如对于补码形式N位有符号数乘法AB来说,常规的乘法运算会产生N个部分积,这和一般手算乘法的过程没有什么区别。从乘法器工作的基本原理可以看出,要提高乘法运算的性能,可以从两方面入手,一个是减少部分积的数量,另一个是缩短部分积的相加的运算时间。在节省部分积相加的运算方面,通常使用3:2CSA(Carry Saved Add)等压缩编码方法。而该文就是针对第一方面,就如何减少部分积的数量,着重推导Booth
3、编码原理,并简要分析了Booth编码的算法实现中的关键点。1基和4基Booth编码通过(5)式可以看出,A和B的乘积P,也可以通过对B/-B进行移位相加得到,这就是4基Booth编码,共产生n/2个部分积(*表示向上取整运算)。从上面的推导过程可以看出,数A还可以进行其他基的Booth编码等,但是编码复杂度有所增加。另外,主要考虑到在芯片实现时,出现部分积不是的这种情况,使得部分积不是被乘数左移若干位的情况,这种情况下要在芯片实现增加很多难度。例如,8基的Booth编码中,将会出现-3B/3B这两种情况,不是简单的把B左移一位或者两位能够实现的。因此,在芯片实现时往往优先考虑4基的Booth编
4、码,使部分积的数量相对原来减少一半。2Booth编码的应用在补码形式的两数A、B相乘中,不管是2基Booth编码、4基Booth编码还是其他基的Booth编码,都会涉及到一个对“负”的部分积的进行取反“+1”的问题。处理手法是先取反,把“+1”放到后面的部分积当中。当然,最后一个部分积也存在是“负”数的情况,在这种情况下同样要取反“+1”,因此,在补码乘法Booth编码中,会多一个部分积出现,有区别于其他表示形式的数相乘时使用Booth编码,这点尤其值得注意。当两个相乘的数位宽不相等时,在设计中选择使用位宽较小者进行Booth编码,也就是对应上面的“A”,这样才能使部分积数量最少。3结语该文简要分析了优化乘法器的两种思路,着重介绍了Booth编码法减少部分积的数量,推导了2基Booth编码及4基Booth编码,综合考虑部分积个数、产生部分积难度两种因素,指出在实现乘法器中优先考虑4基Booth编码的原因,另外阐述了在应用Booth编码时注意的问题。参考文献1孙航.Xilinx可编程逻辑器件的高级应用与设计技巧M.北京:电子工业出版社,2004.2朱子玉.CPU芯片逻辑设计技术M.北京:清华大学出版社,2005.专心-专注-专业