(微电子学与固体电子学专业论文)32位高速浮点乘法器设计技术研究.pdf_第1页
(微电子学与固体电子学专业论文)32位高速浮点乘法器设计技术研究.pdf_第2页
(微电子学与固体电子学专业论文)32位高速浮点乘法器设计技术研究.pdf_第3页
(微电子学与固体电子学专业论文)32位高速浮点乘法器设计技术研究.pdf_第4页
(微电子学与固体电子学专业论文)32位高速浮点乘法器设计技术研究.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(微电子学与固体电子学专业论文)32位高速浮点乘法器设计技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要摘要高性能乘法器是现代数字信号处理器( d s p ) 中的重要部件,是完成高性能实时数字信号处理和图像处理的关键所在。浮点乘法器具有面积大、延迟长、结构复杂的特点。如何设计出高速、简单且结构规则的浮点乘法器成为广泛关注的问题。过去的十年中,研究者扩展了b o o t h 编码算法的空间,提高了乘法器的性能;改进了部分积压缩技术,使乘法器结构更加规则;以传输管逻辑、多路选择器和动态技术为基础的各种电路实现方法也持续刷新高性能乘法器的实现记录;与此同时,与物理实现紧密相关的乘法器拓扑结构的研究也硕果累累。但不断提高的高性能运算需求使得高性能乘法器的设计和实现仍然是当前的热门话题。本文结合中国电子科技集团第五十八研究所预研项目中的浮点乘法运算部件的设计工作,从延迟、面积、结构复杂性等方面系统地研究了乘法部件的各个过程。在研究了乘法器b o o t h 编码算法,乘法器部分积压缩拓扑结构和高速求和等算法的基础上,分析比较乘法器各部分的不同实现方法,设计了一个高性能的3 2 位浮点并行乘法器,乘法器的指数部分与尾数部分并行运算,缩短了关键路径;采用修正b o o t h 编码缩减了部分积数量;采用结构规整的( 4 :2 ) 压缩树结构加快部分积的求和,得到c a r r y 、s u m 形式的部分积;最后采用高速选择进位加法器求得乘积;验证部分采用基于特征向量和大量随机向量结合的验证方法保证了设计的正确性;包含本乘法器的d s pi p 已通过软件、硬件验证;而基于该乘法器的延伸设计的乘法器也已应用到其他d s p 中。本文设计的浮点乘法器,采用s m i c0 1 8 u m 工艺进行综合,计算机的模拟结果显示该乘法器具有高速、低复杂度的良好性能。在1 8 v 工作电压,t y p i c a l 情况下的延时为4 0 5 n s 。关键词:浮点乘法器,修正b o o t h 编码,( 4 :2 ) 压缩器,进位选择加法器,规格化。a b s tr a c th i g l lp e r f o r m a n c em u l t i p l i e ri st h ei m p o r t a n tc o m p o n e n to ft h ed i g i t a ls i g n a lp r o c e s s o r ,t h ek e yt oi m p l e m e n tt h es i g n a lp r o c e s s i n ga n di m a g ep r o c e s s i n g ;m u l t i p l i e ra l w a y sh a sl a r g ea r e a , l o n gl a t e n c ya n dc o m p l e xs t r u c m r e i tb e c o m e sa t t r a c t i v eh o wt od e s i g naf a s t ,s i m p l ea n dr e g u l a rm u l t i p l i e r i nt h ep a s tt e ny e a r s ,r e s e a r c h e r sh a v ed e v e l o p e dn e wb o o t ha l g o r i t h mt oi m p r o v et h ep e r f o r m a n c eo ft h em u l t i p l i e r ;d e v e l o p e dm a n yf o r m a lc o m p r e s st r e e st om a k et h es t r u c t u r eo ft h em u l t i p l i e rm o r er e g u l a r ;i m p l e m e n tt h ec i r c u i t su s i n gp a s s - t r a n s i s t o rl o g i c ,m u l t i p l e x e r , d y n a m i cm e t h o da n ds oo n ;t h et o p o l o g yo fm u l t i p l i e r , w h i c hr e l a t e dw i t hp h y s i c a li m p l e m e n t a t i o nc l o s e l y ,a l s od e v e l o p e dv e r yr a p i d l y h o w e v e r ,t h ed e s i r ef o rh i g hp e r f o r m a n c ec o m p u t a t i o nm a k e st h ed e s i g no fm u l t i p l i e rn o tc o m et ot h ee n d b a s e do nt h ew o r ki nd e s i g n i n gaf l o a t i n g p o i n tm u l t i p l i e ri nt i l e3 2b i tf l o a t i n gp o i n td s p ,t h i sd i s s e r t a t i o ng i v e sas y s t e m a t i cr e s e a r c ho nt h ee v e r ys t a g e so ft h em u l t i p l i e rc o n s i d e r i n gd e l a y , a r e aa n dc o m p l e x b a s e do nt h es t u d yo fb o o t ha l g o r i t h m ,m u l t i p l i e rt o p o l o g y , a n dt h ef i n a la d d e r , t h i st h e s i si n t r o d u c e sa n dc o m p a r e sk i n d so fm u l t i p l i e r s ,i m p l e m e n t e da3 2b i th i g hp e r f o r m a n c ep a r a l l e lm u l t i p l i e r , t h ee x p o n e n ta n dm a n t i s s ao fw h i c hc o m p u t ei np a r a l l e lw a y( 4 :2 ) , m o d i f i e db o o t ha l g o r i t h ma n dc o m p r e s st r e ea r eu s e dt og e n e r a t ea n dc a l c u l a t et h ep a r t i a lp r o d u c t s c a r r ys e l e c ta d d e rs u m st h ef i n a lt w op a r t i a lp r o d u c t s ;c h a r a c t e rv e c t o r sa n dr a n d o mv e c t o r sa r eu s e dt ot e s tt h em u l t i p l i e r , t h ed s pi pi n c l u d e st h i sm u l t i p l i e rh a sp a s s e dt h es o f t w a r e 1 1 a r d w a r et e s t ,a n dan e wm u l t i p l i e rb a s e do nt h i so n eh a sb e e nu s e di nt h eo t h e ru s et h ef l o a t i n gp o i n tm u l t i p l i e rs y n t h e s i sw i t hs m i c0 18u r nt e c h n i q u e ,t h er e s u l ts h o wt h eh i g hp e r f o r m a n c eo ft h em u l t i p l i e r , u n d e rt h e1 8 vt y p i c a lc o n d i t i o n ,t h ec r i t i c a lp a t ho ft h em u l t i p l i e ri s4 0 5 n s k e y w o r d s :f l o a t i n g p o i n tm u l t i p l i e r , b o o t he n c o d e r , ( 4 :2 ) c o m p m s s o r ,c s a ( c a r r ys a v ea d d e r ) ,n o r m a l i z e 独创性声明本人声明所呈交的学位论文是誉人在导师指导下进, f i - 的研究工作及取得的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含本人为获得江南大学或其它教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意签名:日期:关于论文使用授权的说明本学位论文作者完全了解江南大学有关保留、使用学位论文的规定:江南大学有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致保密的学位论文在解密后也遵守此规定签名:导师签名:日期:塑墨! 三:! z第一章绪论1 1 研究意义第一章绪论随着微电子技术的不断进步、计算机技术的不断发展,集成电路经历了小规模、中规模、大规模的发展过程,目前已经进入超大规模( v l s i ) 和甚大规模集成电路( u l s i )阶段。超大规模集成电路工艺在2 1 世纪初得到了高速的发展,目前商业化半导体芯片制造技术的主流已经达到o 1 3 绷的线宽,今后发展的趋势是0 0 9 u m 甚至0 0 6 5u m 以下1 1 1 。集成电路技术正迅速向更高集成度、超小型化、高性能、高可靠性的方向发展。微处理器的发展也随着集成电路的迅猛发展而日新月异。目前微处理器的发展速度一直遵循i n t e l 公司的创始人之一g o r d o nm o o r e 于1 9 6 4 年提出的摩尔定律配1 :处理器的性能三年翻两番。由于可使用的芯片面积增加,为了进一步提高运算性能,已经有越来越多的处理器包含多个运算单元,算术运算单元已经成为处理器结构中的一个重要组成部分t 3 1 。作为数字处理器中重要的部分,浮点运算部件通常都是整个设计中需要重点考虑的对象:浮点运算通常需要多个时钟周期才能完成;为了得到接近实际值的运算结果,某些数值计算领域如流体动力、计算物理学、气象模型等等,需要很高精度( 如1 2 8位字长) 的浮点运算t 4 1 。而高精度浮点运算的固有特性决定了它具有面积大、功耗大的特点1 5 j 。速度、成本和功耗成为集成电路设计中目前最受关注的几个问题。高性能数字乘法器是数字信号处理器中的重要部件,且往往位于处理器的关键路径上。数字信号处理中的图像、语音、加密等信号处理需要进行大量的卷积、相关、窗口及f f t 等基本运算,需要频繁进行大数据量的乘法和加法运算。通过对大量数字信号处理算法的分析,卷积、相关、变换、级数等运算占数据处理总运算量的7 5 。因此乘法器和加法器很大程度上左右着信号处理系统的性能。在微控制器、滤波器以及其它各种专用集成电路中,乘法器也广泛使用。根据s f o b e r m a n 和m j f l y n n 的技术报告,浮点乘法的使用频率占浮点运算3 7 t 6 1 。正因为乘法器被如此广泛地采用,高性能乘法器的研究和实现十分重要。在最新的高性能处理器中,乘法运算还用于加速地址转换、数组寻址和其它整数运算。乘法器电路结构相对复杂,延时大,运算周期较长,一般需要2 1 4 个周期才能完成1 7 1 。数字信号处理器中乘法累加运算的实现速度决定着数字信号处理器的速度,而微处理中完成一次乘法运算所需要的时问也决定了微处理的工作频率。因此,设计高性能的乘法器将大大改善整个系统的速度、面积、功耗等指标。1 2 研究现状与研究背景1 2 1 高性能处理器中乘法器的应用现状高性能乘法器的应用与浮点运算的发展紧密相关。浮点数的运算部件的设计和实现相对较为复杂,在早期的计算机中都不配备浮点运算硬件,而是采用i b m 公司的江南大学硕十学位论文j b a c k u s 发明的软件,由定点运算部件完成浮点运算。然而,基于软件的实现方法速度较慢,无法满足高速浮点计算的需要。为此,w k a h a n 在i n t e l 公司工作期间,主持设计和开发了8 0 8 7 芯片,于1 9 8 0 年实现了高速、高效的浮点运算处理器。从此,乘法器随着浮点运算的发展独立出来,现代高性能处理器中整数运算单元和浮点运算单元均设有独立的乘法器。过去十年,高性能处理器日新月异,乘法器的性能也随之不断提高。当前处理器中,8 0 0 m h z 的i t a n i u m 需要5 个周期完成一个5 4 位浮点乘加运算。c o m p a q 公司的a l p h a2 1 2 6 4 包含整数运算单元和浮点运算单元两个部分,其中整数运算单元专门设置了定点乘法运算器。在1g h z 的时钟主频下,0 1 8 u m5 4 位浮点乘采用流水线结构需要4 个时钟周期,6 4 位定点乘法需要7 个时钟周期。除此之外,o 1 8 缸聊4 2 5 m h z 的m i p sr 2 0 0 0 0也包含定点和浮点两种乘法器,其5 4 位浮点乘法在5 个周期内完成,6 4 位定点乘法在7 个周期内完成。s u n 的u l t r a s p a r ci v 包含定点和浮点两种乘法器,浮点乘法在4 周期内完成,6 4 位定点乘法在9 周期内完成,0 1 3 u m 工艺制作的c p u 工作频率1 2 g h z 。i b m的0 1 3u m1 8g h z 的p o w e rp c 9 7 0 包含有多周期的定点乘法器。h p 的i g h zp a 8 8 0 0利用浮点运算单元处理定点乘法,定点乘法通过一系列移位加指令实现。d s p 的核心是其中的乘法累加单元,且乘法器占据了d s p 的大部分硬件资源。1 9 8 1年,日本n e c 公司推出的u p d 7 7 2 0 是第一个具有乘法器的商用d s p 芯片。1 9 8 2 年日本的h i m c i l i 公司推出了浮点d s p 芯片。1 9 8 3 年,日本的f u j i t s u 公司推出的m b 8 7 6 4其指令周期为1 2 0 n s ,且具有双内部总线,从而处理的吞吐量发生了一个大的飞跃。而第一个高性能的浮点d s p 芯片应是a t & t 公司于1 9 8 4 年推出的d s p 3 2 。生产3 2 位浮点d s p 的主要厂家有a n a l o gd e v i c e s ,a t & t , m o t o r o l a 以及t e x a si n s t r u m e n t s 等公司。1 2 2 国外乘法器研究现状迄今为止,关于乘法器实现研究的著作和论文己有很多。乘法器作为处理器最主要的模块之一,在大量文献中均有研究。过去的十年,修正b o o t h 算法进一步扩展了b o o t h编码算法的空间,以传输管逻辑、多路选择器和动态技术为基础的各种电路实现方法持续刷新着高性能乘法器的实现记录。与此同时,与物理实现紧密相关的乘法器拓扑结构的研究也硕果累累。乘法器研究上的里程碑应该从b o o t had 在1 9 5 1 年提出的b o o t h 编码方法略1 ,和w a l l a c e 的树型压缩开始1 9 l 。其中w a l l a c e 介绍了著名的用于压缩部分积的w a l l a c e 树结构。随后1 9 6 1 年m c s o r l e yol 把b o o t h 算法中的每次交叠检验乘法的两位推广到每次交叠检验三位,即著名的修正b o o t h 算法,或b o o t h2 算法,这种方法使得部分积数目减少一半。1 9 6 5 年d a d d a 提出的计数器的概念,可将3 :2 计数器推广到4 :2 ,5 :2 和9 :2等,进一步减少w a l l a c e 树所需计数器个数 i l l 。进入上世纪九十年代之后,b e w i c k 于提出了冗余b o o t h3 算法1 1 2 1 使得b o o t h3 可以在略多于b o o t h2 的时间内完成。进一步扩展到基1 6 ( b o o t h4 ) ,基3 2 ,乃至基2 5 6 的b o o t h 算法也被提出和研究1 1 3 1 t 1 4 1 t l s i 。2第一章绪论拓扑结构方面,进位保留加法器被广泛使用,双阵列1 1 6 1 高阶阵列1 7 1 用于提高阵列拓扑结构的速度。s h e n 和w e i n b e r g e r 提出了4 :2 压缩器用于构成较w a l l a c e 树更规整的二进制树1 1 8 1 延迟平衡树由z u r a s 和m c a l l i s t e r 首先提出 1 9 1 倒阶梯树也可用于改善树型结构的规整性啪1 。乘法器算法方面已经日趋完善。与此相应的,可用于乘法器最后求和运算的各种加法器结构层出不穷2 1 2 2 1 。在电路实现方面,1 9 9 5 年o h k u b o 基于传输管逻辑实现了4 4 n s5 4 位乘法器,同时提出了新的4 :2 压缩单元结构和进位选择加法器结构1 2 3 1 019 9 6 年,h a n a w a 实现了4 3 s 的5 4 位乘法器1 2 4 1 0 同一年,m a k i n o 实现了8 8 凇的5 4 位冗余二进制编码乘法器 2 5 1 01 9 9 7 年i n o u e 提出了符号选择b o o t h 解码和改进的4 :2 压缩单元结构,实现了4 1 瑚的5 4 位乘法器1 2 6 1 。19 9 8 年h a g i h a r a 基于动态技术和传输管逻辑实现了2 7n s 的5 4 位乘法器t 2 7 1 0 同年c a r l s o n 介绍了6 0n s 的6 4 位乘法器实现方法1 2 5 1 02 0 0 1 年i t o h 实现了一个6 0 0 m h z 的两级流水线的5 4 位乘法器1 2 9 1 02 0 0 3 年,c h o 基于标准单元库实现了一个3 2 5 瑚的5 4 位乘法器,并提出了改进的进位选择加法器结构t 3 0 1 。除了提高乘法器的速度以外,各种结构的编码单元,改进的规整的树型压缩结构,以及乘法器的低功耗设计等也得到了广泛而深入的研究。1 2 3 国内乘法器研究现状中科院声学研究所在1 9 9 3 年完成了应用于d s p 芯片的1 8 位乘法器设计,它采用了改进的b o o t h 算法和w a l l a c e 树结构,于1 2 1 , m 工艺上全定制实现,工作频率3 8 m h z1 3 1 1 。国防科技大学在1 9 9 7 年完成了应用于数字神经处理的1 6 位乘法器,基于x i l i n xx c 4 0 0 6 的f p g a 工作频率3 0 m h zt 3 2 1 02 0 0 1 年,西安微电子技术中心的于敦山提出了一种新的乘法器拓扑结构,基于1 5u m 标准单元库实现了一个3 2 位的定浮点乘法器,定点乘法延时5 6 n s ,浮点乘法延时7 6 n st 3 3 1 02 0 0 2 年,西安交通大学的袁寿财实现了一个4 :2 压缩单元,0 2 5 u m 工艺下延时4 0 珊1 3 4 1 。同年,上海交通大学的卢君明实现了一个改进的b o o t h 编码单元电路,0 3 5u m - r 艺下延时0 3 4 n st 3 5 1 。2 0 0 3 年,中科院计算研究所的周旭使用0 1 8 u m 标准单元实现了一个频率为3 8 4 m h z 的5 4 位浮点乘法器1 3 6 1 。2 0 0 4 年复旦大学武新宇采用o 1 8 u r n 工艺,电压为2 5 v 全定制设计的6 4 位乘法器,延迟时间仅为2 8 2 珊1 3 7 1 02 0 0 5 年,上海大学王田采用0 1 8 u m 工艺,电压1 6 2 v 全定制设计的3 2 位乘法器,延迟时间为3 1 5 瑚1 3 8 1 。同年,东南大学吴金采用0 3 5u m 工艺,全定制设计的3 2 位乘法器延迟时间为3 8 0 7 n s1 3 9 1 。2 0 0 7 年,东南大学王定正向设计的2 4 位乘法器,采用f p g a 实现,延迟时间为1 8 。8 1 琊t 4 0 1 。另外,2 0 0 3 年北京大学微电子研究院的贾离在0 2 5u m 技术下基于动态逻辑实现了一个o 8r i s 的3 2 位加法器4 1 1 ;哈尔滨工业大学微电子中心的孙旭光在0 2 5 u m 技术下基于动态传输管逻辑实现了一个0 7 凇的6 4 位加法器h 羽国内在最近几年中,关于具有自主知识产权的产品化的中央处理器也不断出现。“龙芯1 号”采用m i p s 体系架构,使用0 1 8 m 工艺,浮点字长为6 4 位,含有两个浮点部件,主频最高可达2 6 6 m h z “方舟2江南大学硕十学位论文号”为高性能c p u ,基于o 1 8 u m 工艺,采用5 级流水线结构,达到4 0 0 m h z 主频。1 3 课题来源与研究方法本文研究的课题来源于中国电子科技集团第五十八所的研究项目,项目要求设计出高可靠性的,速度要求在1 0 0 m h z 以上的浮点d s p 软核。浮点乘法器作为其中必不可少的组成部分,成为项目设计的重要内容,根据浮点d s p 性能要求,浮点乘法器的一次运算时间必须控制在5 0 9 s 以内。因为需要设计的是乘法器软核,所以电路的速度优化主要从系统级实现,如:采用较高的工作电压;选择高速算法;数据并行处理等。而不考虑从晶体管级、版图级与物理级进行优化。本文的研究方法如下:首先,研究乘法器常见的算法与电路结构,各种不同算法与电路结构实现的乘法器的性能,适应范围。其次,确定乘法器的结构,主要是根据乘法器需要达到的性能要求来初步确定可能影响到乘法器性能的主要因素。进而,重点在算法与结构方面来优化乘法器的性能,主要包括:数据处理的并行化,高速算法等;最后,采用多种结构来进行乘法器的r t l 级设计,前仿真验证其功能的正确性,门级仿真验证其性能在特定工艺与电压下是否达到要求,若没有达到要求,重新设计乘法器的算法与结构,直到性能达到要求。1 4 本文内容及章节安排本文在全面研究乘法器编码,乘法器部分积压缩拓扑结构,高速求和等数字乘法器算法的基础上,正向设计了一种可以处理d s p 数据格式的3 2 位浮点与2 4 位定点的乘法器,设计采用了修正b o o t h 解码算法和部分积选择方法。该方法将符号选择技术、b o o t h解码和部分积选择并行起来,同时获得了符号选择技术带来的硬件资源的节省和并行技术的低延时。在部分积的累加方面,本文采用了并行压缩的结构,相对于累加求和的电路结构其延迟时间有很大的改善。在求和方面,采用了进位选择加法器,基本单元采用了超前进位加法器。指数的加法采用预加形式,即在尾数处理同时完成指数各种可能性运算,尾数处理的结果只需要作为选择信号来选择其中一个指数运算结果即可,从而缩短了乘法器的关键路径。本文结构如下:第一章,介绍了乘法器研究意义、研究背景与研究现状,进而给出本文的研究方法与本文的内容结构。第二章,介绍了乘法器中的数据类型;说明在d s p 中数据的表示方法,乘法器需4第一章绪论要处理的数据的类型;并介绍了乘法器的定点浮点运算方法与运算中的舍入与规格化。第三章,研究了乘法器的算法与结构。介绍当前先进的高性能乘法器的v l s i 实现方法。包括b o o t h 编码、修正b o o t h 编码和部分积选择的电路实现技术,高性能的4 :2压缩单元设计技术和高速加法器实现方法。第四章,基于标准单元设计乘法器。定义乘法器的结构,划分乘法器的模块,采用v e r i l o g h d l 描述了乘法器模块,并进行了综合与仿真,验证其功能与性能。第五章,乘法器的验证。设定乘法器的验证向量,包括特征向量与随机向量,通过大量的数据验证以验证乘法器的j 下确性,最后完成乘法器的门级仿真,给出延时模型。而包含本文设计的d s pi p 已通过了软件、硬件验证,并完成交付。第六章,介绍了本文设计的乘法器的特点,乘法器的延伸设计与在其它d s p 中的应用。第七章,全文总结与展望。江南大学硕 学位论文第二章乘法器的数据格式本文设计的乘法器将应用于浮点d s p 中。所以有必要对d s p 中的数据格式与数据运算进行必要的说明。在d s p 中,数据格式有两种基本类型:整数类型( 也称定点类型,包括有符号整数和无符号整数) ,浮点数类型。d s p 可处理整数的短数据格式和单精度格式,也可以处理浮点数的短数据格式、单精度格式和扩展精度格式。当要求精度运算时,浮点数是最佳的运算格式。d s p 芯片可以以整数运算速度实现浮点运算。浮点处理能力可以防止整数运算中的溢出问题、操作数调整问题和其他通常超过整数运算能力的问题。本章将详细讨论d s p 芯片支持的浮点数据格式,本章首先介绍计算机中数的表示方法,紧接着介绍d s p 中数据类型与舍入,规格化操作,最后给出定点数与浮点数的运算流程。2 1 数的表示方法计算机中常用的数据的表示方法有:带符号数值表示法、基数反码表示法、基数补码表示法1 4 3 1 :正数的三种表示方法相同,负数的表示方法入下:1 、带符号数值表示法:a = ( s m 州m 州m 。m 。) 在原码的基础上增加一位符号位来表示。其中s 表示数据的符号,l 表示负数,0 表示正数。2 、基数的反码表示( “1 ”补表示法) :a = ( s i n 川m 脚m ,m o ) ,即在不改变符号位的基础上,将其它数据位取反。3 、基数的补码表示( “2 ”补表示法) :a = ( ( s i n 。一i m 。2 m l m o ) + 1 ) ,原码取反加l 得到。2 2d s p 中数据类型在浮点d s p 中有三种最基本的数据类型,整型,无符号整型和浮点型,其中所说的整型就是有符号的整型,浮点d s p 中还有短整型,单精度整型,短浮点型,单精度浮点型和扩展精度浮点型数据类型1 。本文将对上述的数据类型作详细说明。2 2 1 无符号整数格式无符号短整型格式中,因为没有符号位,所以只能表示正数,无符号格式是处理器中最基本的表示方法,无符号整型又包括了无符号短整型,无符号扩展短整型与无符号单精度整型格式。l 、无符号短整型格式:6第二章乘法器的数据格式无符号短整型有1 6 位,每一位都是有效数据位。表示范围:0 s i 2 1 6 一l15o图2 - 1无符号短整型格式数据2 、无符号扩展短整型格式:无符号扩展整型格式中,o 1 5 位是有效数据位,1 6 3 1 位全部扩展为o 。表示范围:0 s i 2 1 6 13 11 6 1 50图2 2 无符号扩展短整型格式数据3 、无符号单精度整型格式:无符号单精度整型数据格式中,每一位都是有效数据位。表示范围:0 s i 2 3 2 13 10图2 - 3 无符号单精度整型格式数据2 2 2 有符号整数格式有符号整数是采用二进制补码形式的数据格式,也是处理器中数据运算最常用的数据格式,主要有短整型格式,扩展短整型格式与单精度整型格式。1 短整型格式:短整型格式中,1 6 位的有符号数字,二迸制补码格式,最高位为这个数值的正负。表示范围:一2 1 5 s i 2 1 5 一l150图2 - 4 短整型格式数据2 扩展短整型格式:扩展整型格式中,3 2 位有符号数字,采用二进制的补码表示,其中1 6 3 l 位为扩展符号位。扩展只是为了计算的需要,扩展后不改变原数据的值与表示范围。表示范围:一2 1 5 s i 2 1 5 17江南大学硕十学位论文3 l1 61 50图2 5 扩展短整型格式数据3 单精度整型格式:单精度整型格式中,采用二进制的补码表示,最高位为符号位,表示数值的j 下负。表示范围:一2 3 1 s 23 1 13 10图2 - 6 单精度整型格式数据2 2 3 浮点格式数据浮点格式数据包括三个组成部分:指数区( e x p o n e n t ) ,符号区( s i g n ) ,分数区( f r a c t i o n ) 。如图2 7 所示。其中将符号区和分数区统称为尾数区( m a n t i s s a ) 浮点数le x p o n e n tls i g nlf r a c t i o nl卜卜一m a n t i s s a 一图2 7 浮点格式数据计算数值的方法是:x = s j 厶2 。= s - 2 抖1 + s 2 8 + 2 ”1 s 是数据的符号位,s 是隐含位,在数据传输过程中并不出现,f 是分数区的数据( 二进制) ,e 表示指数区数据( 等价到十进制) ,尾数区是一个规格化的二进制补码,小数点在隐含位与分数位之间,如果符号位为1 的话,尾数的最高两位是1 0 ,如果符号位为0 的话,尾数的最高两位为1 0 ,而x = o 时,f = 0 ,s = 0 ,e = 1 0 0 0 0 ( 负的最大值) 。1 短浮点格式短浮点格式的数据由4 位指数位,1 位符号位和1 l 位分数位组成。l5121 11 00图2 - 8 短浮点格式数据2 单精度浮点格式单精度浮点格式由8 位指数位,l 位符号位与2 3 位分数位组成,是d s p 中常用的浮点数据表示格式。本文设计的乘法器的输入浮点数据就是单精度格式。3 l2 4 2 3 2 20卜卜一m a n t i s s a 一图2 - 9 单精度浮点格式数据8第二章乘法器的数据格式3 扩展精度浮点格式扩展精度浮点数由8 位指数位,1 位符号位与3 1 位分数位组成,使d s p 中输入数据的常见表示方式。3 93 23 13 0oie x p o n e n tls i g n |f r a c t i o nih 卜一m a n t i s s a 一图2 1 0 扩展精度浮点格式数据通常把尾数最高位为非零的浮点数称为规格化浮点数,在浮点数的运算中,当出现非规格化数时,需要通过移位操作来使它变成规格化数,如果尾数采用小数表示,当出现尾数绝对值小于1 2 时,要把尾数左移,每次移动一个单位,同时把阶码减l ,直到尾数的绝对值大于1 2 ,当尾数绝对值大于1 时,要把尾数右移,每次移动1 位,同时阶码加1 ,知道尾数的绝对值小于l 。浮点数要进行舍入的原因是:由于任何一种浮点数表示方式尾数字长总是有限的,因此可能发生如下两个问题,一是在把同常的十进制数转化成计算机的杜点数使其有效长度可能超过给定的尾数字长,必须要舍去多余的部分;二是两个规格化的浮点数进行加减乘除,结果尾数的字长超过了给定的尾数字长,如在乘法运算时,乘积的尾数字长是给定的浮点数字长两倍,需要将一部分的数舍弃。常见的舍入方法有:1 恒舍法:直接舍去需要移出的位数,损失一位精度,实现起来比较容易。2 恒置法:舍去移出位后将最末的尾数位置为1 ,损失一位精度,实现起来比较容易。3 下舍上入法:类似于四舍五入法,实现起来有一定复杂性。4 r 幸舍入法:对下舍上入法的一种改进,不存在累计误差的一种舍入方法,实现起来很复杂。5 查表法:通过r o m 或者p l a 中的内容来修正误差,比较有前途的一种舍入方法,实现难度一般。规格化和舍入的关系是:必须要先进行规格化,然后舍入,否则舍入是没有任何意义的。2 4 定点乘法运算相对于浮点数运算而言,定点数的运算要简单的多,首先介绍定点溢出的概念,然后介绍定点数乘法运算流程。溢出:指的的是所得到的结果的超过了定点数所能表示的上限。如图2 1 1 所示。9江南大学硕上学位论文图2 - 1 1 定点数溢出图2 1 2 给出了定点运算的流程图:ab判断输入捞i t v f e 数垒少一个y j o操作数全4 为0上1 l结果置o;c = = a b上l结果溢出结果有效上若结果为币数输i j 为最大正数;若结果为负数,输出为最小负数上、r含入,上设髓c 的最终结果图2 1 2 定点乘法运算流程图第一步:判断输入的操作数,若其中之一或者全部是0 时,直接将结果置为0 ;第二步:若操作数有效,则进行乘法运算;第三步:判定运算的结果,是否有溢出,若发生溢出时,判断结果正负,若结果是正数,则将最终结果置为最大正数,否则置为最小负数。第四步:舍入以得到符合要求的数据格式。第五步:得到最终结果。2 5 浮点乘法运算浮点数的乘法相对定点数的乘法要复杂,可以理解为浮点数的乘法包含了尾数定点数( m a n ) 的乘法与指数定点数( e x p ) 的加法两个运算部分。c = a b = a ( m a n ) xb ( m a n ) 2 4 酬+ 6 = c ( m a n ) 。( 唧)在进行浮点数相乘时,操作数默认为单精度浮点格式,如果操作数是短浮点格式或l o第二章乘法器的数据格式者是扩展精度浮点格式,在进行运算之前需要转化为单精度浮点格式的数据。首先对运算过程中运算方法与数据的状态进行说明,如图2 1 3 所示。阶的上溢:指的的是所得到的结果的阶超过了浮点数所能表示的上限与或下限,也就是说+ 或者是0 0 都被认为是溢出的条件。阶的下溢:指的是所得到的数的阶超过了最小允许值。天、i、土堕10 一l0o +下溢一上溢图2 1 3 浮点数溢出图2 1 4 中给出了浮点运算的流程图( 以3 2 位浮点运算为例) 。a ( e x p )b ( e x p )a ( m a n )b ( m a n )c = a * b图2 1 4 浮点数的运算流程图第一步:操作数的尾数位进行乘法运算,其中输入的数据为2 4 位,输出结果为4 8 位;江南大学硕十学位论文第二步:操作数的指数部分进行相加运算,结果为c ( e x p ) ;第三步:判定尾数情况,若为0 ,则执行第七步操作将结果的指数位置为1 2 8 ,第四步与第五步:用于对结果进行规格化处理;如果需要进行右移1 位进行规格化,执行第八步,尾数右移,直属加1 ,如果需要右移两位进行规格化,则执行第九步,尾数右移两位,指数加2 ;第十步,将尾数结果扩展为扩展精度浮点格式。第六步到第十一步:判断指数情况如果指数溢出,进行第十四步操作,如果尾数大于o ,将指数置成最大j 下数,若尾数小于0 ,则将指数置成最小负数。如果指数下溢出,则执行第十五步,将指数置成1 2 8 ,尾数为0 ,若指数在范围内。则进行第十六步操作,得到最终结果。2 6 总结本章从二进制数据的表示方法出发,首先介绍了数据的原码、反码、补码的表示,并采用一组数据作为例证进行说明,然后介绍了在浮点d s p 中数据的表示方法,数据的格式是运算单元设计的重要基础,在这里做了详细说明,最后重点说明了定点数与浮点数的乘法运算流程并对运算过程中的舍入,规格化,溢出进行了详细说明。1 2第三章乘法器基奉理论与算法第三章乘法器基本理论与算法乘法运算可以通过硬件方法和软件方法来实现,具体实现方法根据乘法运算所需要的开销和硬件配置情况决定。在计算机发展的早期阶段,复杂的运算往往通过编写程序或者硬件微程序的方法来实现。今天,科学计算、数字信号处理和图像处理等计算量很大的领域对高性能乘法运算的需求使得乘法运算必须通过全硬件方法实现。而微电子和计算机技术的快速发展和进步,令专用乘法器电路的实现成为可能,并且成本不断降低。对于高性能的乘法器设计,优秀的乘法算法与结构是其硬件实现的基础,浮点乘法中几个主要步骤是:部分积产生、部分积压缩、进位传播加法和舍入处理。除了针对浮点数的指数操作、舍入和规格化等操作以外,浮点乘法器的结构和定点乘法器没有什么区别。如何进行部分积的缩减与压缩是区分各种乘法算法的关键所在。简单的算法容易实现,但速度较慢;复杂的算法可以满足快速运算的要求,但是要占用更多的硬件资源导致芯片面积增加。因此,实际设计的时候就需要根据具体的速度、面积、复杂度等要求选择一种合适的算法。本章首先介绍乘法器的基本原理以及简单的乘法器,紧接着介绍部分积缩减算法与部分积压缩算法;最后介绍各种高性能加法器。3 1 乘法器基本原理本节首先介绍乘法器的基本定义与乘法运算的表达式,然后详细介绍几种基本乘法器的类型与乘法运算常用的算法。3 1 1 乘法定义考虑两个没有符号的二进制数,x 与y ,长度分别m 与n ,可以用二进制形式来表示x 与y m lj v lx :yx ,2 y = yy ,2 j一一ji = oj = o这里,置,l 在 01 1 又i b j ,乘法器运算定义如下:m + n - 、m - 、n m i 、n z = x x y = z ,2 七= 酗2 y j u = ( 弓2 i + j k)z一z-一,z_一z一、z_一oj7k = oi = o_ ,= oi = oj = o无论乘法是采用何种方式来实现,任何一种乘法器都可以分成部分积产生与部分积求和两个部分。因此提高乘法器的速度可以从减少部分积的数量与缩短部分积的求和延时两个方面出发,电路设计是面积,延时,复杂度的折中,所以一般来说,简单的乘法器易于实现,延时较大,而高速乘法器将会有复杂的电路结构。江南大学硕十学位论文3 1 2 迭代乘法器从手算的经验可知执行一个乘法运算最简单的方法就是采用一个两输入的加法器,对部分积进行累加,得到最终结果。对于n 位宽的乘数与n 位宽的被乘数的输入,实现乘法运算需要n 个加法器与2 n 个寄存器,乘法的移位和相加把n 个部分积加在一起,每个部分积都是通过被乘数与乘数的移位后的末位相与操作得到,然后将结果与存放在寄存器中的前次运算得到的结果进行相加,并将结果仍然存放在寄存器中,如此反复。这样的操作在硬件实现上就是迭代乘法器,如图3 1 所示。迭代乘法器的中间结果需要用寄存器保存的。其中时钟信号可以使用系统时钟信号。迭代乘法器需要的硬件资源比较少,所以,其消耗的功耗也比较小。但是因为它是迭代的,需要分时利用资源,所以总的延迟时间比较长。图3 1 迭代乘法器移3 1 3 线性阵列乘法器通过研究可知迭代乘法器的速度不能满足高速运算的需求,一种改进的方法是将迭代乘过程展开,在一个时钟周期内完成两个部分积的求和,这样在同样的时钟周期完成求和次数是迭代乘法器的两倍。将这一操作映射到硬件上就是线性阵列乘法器,如图3 2 所示。它结合了三个功能:部分积产生,累加部分积与最终相加。乘法器需要消耗的资源增加了,功耗与复杂度也有一定的增加。1 4第三章乘法器基本理论与算法图3 2 线性阵列乘法器3 1 4 并行乘法器根据上述两种乘法器结构可以看出,将迭代的结构展开,乘法器的速度会有所提升,所以,进一步将阵列乘法器的迭代进行展开就得到完全并行的乘法器结构,如图3 3 所示。全阵列乘法器完成n n 的乘法需要有2 个加法器与2 个部分积产生单元,延迟时间为d ( ) ,为了进一步提升乘法器的速度,将部分积求和网络连接成树型结构,采用压缩器来压缩部分积,树型结构需要的资源要比全阵列结构要少,完成n n 乘法运算的时间为o ( l o g ( n ) ) 。但是树型乘法器的连线比阵列乘法器来的复杂。图3 - 3 树型乘法器江南大学硕士学位论文3 2 乘法器编码算法为方便描述,首先介绍点阵图。点阵图可以形象地表示部分积的生成状态,其中每一个点代表0 或为1 。每一行代表一个部分积。垂直列代表不同的权值,同一列的点有相同的权值。根据乘数中不同权值的位产生的部分积具有不同的权值,所以在部分积阵列中需要移位对齐。最底部的一行点表示最终得到的乘积。一般说来点阵图中代表部分积的点的数目和把这些部分积相加得到乘积所需的硬件资源成正比,而这部分的点阵的高度直接影响到部分积累加所需要的时间。3 2 1 阵列乘法器首先介绍简单的阵列乘法方法,如图3 - 4 所示。这是最原始的运算方法,通过被乘数与乘数的每一位相与操作后得到的部分积只有两种情况 o ,m ,即部分积在乘数相应位为0 时为o ,乘数相应位为1 时就为被乘数m 。而且控制选择这两种情况只需要通过一个与门就可以了;阵列乘法器缺点是部分积的个数和乘数的位宽相同。对于1 6 x 1 6位的乘法过程,需要处理的点的数量为2 5 6 ( 1 6 x 1 6 = 2 5 6 ) ,而点阵的高度与乘数的位宽相同。_+ + + 一_ 一部分积_- 一+ 一+ 一+ 一一一一一致图3 - 4 阵列乘法器3 2 2b o o t h 鳊码在文献【8 】中a d b o o t h 研究了有符号乘法运算中复杂的符号修正问题并提出了一种乘数编码方法。该算法通过每次在乘数中交叠取两位( 只+ ,y ) 来产生部分积p ,运算规则和操作过程如图3 5 所示。该算法需要n 拍,最多会产生n 个部分积。该算法的原理与后面介绍的修j 下b o o t h 算法类似,对于补码表示的两数相乘无需进行符号位修正,并且对乘数的扫描可以从乘数的任意端丌始。其主要缺陷是对于n 位乘数仍需要n 次移位和1 6船秉钮篙星第三章乘法器基本理论与算法平均n 2 次加法,对于1 6 x 1 6 位的乘法过程,需要处理的点的数量为2 5 6 ( 1 6 x 1 6 = 2 5 6 ) ,而点阵的高度与乘数的位宽相同。每分积选择,my tp f0000l+ xl0+ xll+ -4 - m+ 一+ 一+ 一:争x := 二二二+ 一粥b垂绷lsb图3 5b o o t h 编码乘法0l s b案:藏m s b3 2 3 修- 正b o o t h 鳊码显然,采用b o o t h 编码并没有提高乘法器的运算速度,1 9 6 1 年o l m c s o r l e y 把b o o t h算法中的每次交叠检验乘法的两位推广到每次交叠检验三位,即著名的b o o t h m a c s o r l e y 算法也p q b o o t h 2 算法或修正b o o t h 算法本文后面提到的b o o t h 或修正b o o t h 算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论