(计算机系统结构专业论文)低功耗浮点乘法部件的研究与设计.pdf_第1页
(计算机系统结构专业论文)低功耗浮点乘法部件的研究与设计.pdf_第2页
(计算机系统结构专业论文)低功耗浮点乘法部件的研究与设计.pdf_第3页
(计算机系统结构专业论文)低功耗浮点乘法部件的研究与设计.pdf_第4页
(计算机系统结构专业论文)低功耗浮点乘法部件的研究与设计.pdf_第5页
已阅读5页,还剩104页未读 继续免费阅读

(计算机系统结构专业论文)低功耗浮点乘法部件的研究与设计.pdf.pdf 免费下载

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

文档简介

【lil摘要l【随着集成电路制造工艺水平和计算机体系结构水平的不断进步,处理器设l计技术得到迅速发展,s o c 的时代已经来临。乘法运算作为处理器算术运算中的一个基本操作,得到了广泛应用;乘法器具有面积大,延迟长、功耗高的特点,特别是浮点乘法部件。如何从结构设计,门级电路设计,以及物理设计等方面优化乘法器的设计成为广泛关注的问题。本文结合龙芯l 号处理器浮点乘法运算部件的设计工作,综合延迟、面积。和功耗三个方面系统地研究了乘法部件的各个过程,从结构设计的角度提出优化设计方法。以下是本文的主要贡献与创新点:f1 编码是快速乘法运算的基础:考虑到编码结果对乘法电路翻转概率的影响,本文提出了一种改进低功耗b o o t h 编码方法,该方法相比传统的b o o t h 编码方法,在适当增加延迟和面积的条件下可以有效降低功耗。2 乘法的两个操作数是可交换的;选择适合编码的操作数来作为编码对象将有利于乘法的进行。本文提出了一种根据操作数的数位分布动态调整编码的方法,该方法通过分析两个操作数,从中选择更为适合编码的操作数进行编码,通过动态调整编码对象,达到优化功耗的目的。3 部分积累加的过程是乘法运算中占用资源最多的一个部分。对于部分积消减机制的研究经历了由局部到全局的过程。本文提出了一种新的部分积消减树生成算法。该算法与现有算法相比具有如下特点:通过协调进位与和之间的关系,达到全局的延迟最优:通过加入平衡路径的考虑,减少了不必要的翻转。4 基于上述研究结果,本文提出了一种符合i e e e 7 5 4 浮点运算标准的双路浮点乘法结构,该结构将传统的全规模乘法结构和半规模结构的特点结合起来,根据不同的浮点乘法指令可以动态地调用两棵乘法子树中的一棵或者全部,既可以达到缩短延迟的目的,又可以有效地降低功耗。5 针对不同的应用领域,需要采用不同的乘法器结构。本文最后还提出了一种可配置的定点乘法器的设计方法。可以针对乘法器应用的不同领域给出相应结构。适用于处理器i p 核可配置设计方案。关键词:浮点乘法;定点乘法;低功耗:改进低功耗b o o t h 编码;动态调整编码;双路浮点乘法结构:半规模乘法器g o d s o n 一1p r o c e s s o r ,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 fm 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 dp o w e rc o n s u m p t i o n ,a n dp r o v i d e so p t i m i z a t i o nm e t h o df r o ma r c h i t e c t u r ed e s i g na s p e c t t h ed e t a i l e dr e s e a r c hi m p r o v e m e n t sa l ea sf o l l o w i n g s 1 a ni m p r o v e dl o wp o w e rb o o t he n c o d e ri sp r o p o s e d e n c o d e ri st h ef o u n d a t i o no fq u i c km u l t i p l i c a t i o na r i t h m e t i c t h en e wc n c o d c rm e t h o di sb a s e do nt h er e s e a r c ht h a th o we n c o d i n gw i l li m p a c ts w i t c h i n gp r o b a b i l i t yo fm u l t i p l i c a t i o nc i r c u i t i tc a nd e c r e a s ep o w e rc o n s u m p t i o nal o tb yi n c r e a s i n gd e l a ya n da r e aal i a l ec o m p a r i n gt oc o n v e n t i o n a lb o o t he n c o d e n2 an e wm e t h o do fd y n a m i c a la d j u s t m e n to fe n c o d e ra c c o r d i n gt ot h es e q u e n c eo fo p e r a t o rd i g i t a lb i t si sp r o v i d e d a f t e ra n a l y z i n gt h eo p e r a t o r s ,i tc a nc h o o s et h ep r o p e ro n ef r o mt w oo p e r a t o r st oe n c o d e ,s oi tc a l lr e d u c et h ep o w e rc o n s u m p t i o n 3 an e wa l g o r i t h mo fp a r t i a lp r o d u c t sr e d u c t i o ni sg i v e n c o m p a r e dt oe x i s t i n ga l g o r i t h m s ,i tc a na c h i e v eg l o b a lo p t i m i z a t i o no fd e l a yb yt a k i n gi n t oa c c o u n tt h er e l a t i o n s h i pb e t w e e nc a r r ya n ds u m ;a n du n n e c e s s a r yc i r c u i ts w i t c h i n gi sa v o i d e db yb a l a n c i n gt h ed a t ap a t h 4 af l o a t i n g - p o i n tm u l t i p l i e r , s u p p o r t i n gi e e e7 5 4s t a n d a r da n df u l lp i p e l i n e d ,i sp r e s e n t e db a s e do nt h er e s e a r c hr e s u l to fi t e m l ,2 ,3 an e wt w o - w a ym u l t i p l i e ra r c h i t e c t u r ei sp r o p o s e d i tc o m b i n e st h et r a d i t i o n a lf u l l s i z ea r c h i t e c t u r ea n dh a l f - s i z ea r c h i t e c t u r e ,a n dc a nb ed y n a m i c a l l ya d j u s t e da c c o r d i n gt od i f f e r e n tf l o a t i n g - m u l t i p l i c a t i o ni n s t r u c t i o n s i tc a nr e d u c et h ed e l a yo fc r i t i c a lp a t ho fa d d e rt r e ew i t h o u ti n c r e a s i n gt h ea r e ao f m u l t i p l i e ra c c o r d i n gt of u l l s i z em u l t i p l i e r 5 ac o n f i g u r a b l ef i x - p o i n tm u l t i p l i e ri sp r e s e n t e d d i f f e r e n ta r c h i t e c t u r e sc a l lb ec h o s e na c c o r d i n gt od i f f e r e n ta p p l i c a t i o nf i e l d s i ti ss u i t a b l et ob ei n t e g r a t e di n t oc o n f i g u r a b l ei n t e l l i g e n c ep r o p e r t yc o r eo f p r o c e s s o r u 1k 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 c a t i o n f i x p o i n tm u l t i p l i 。a t l o ”,l o wp o t e r ,i m p r o v e dl o wp o w e rb o o t he n c o d e r , a d j u s t i n ge n c o d e rd y n a m i c a l ly ,t ”o 。w 8 ym u l t i p l i e r , h a l f - s i z em u l t i p l i e r图目录图1 1 速度、功耗和面积三者关系2图2 1s p e c f p 2 0 0 0 b e n c h m a r ks u i t e 中各种浮点运算指令出现的概率7图2 2 龙芯1 号处理器中浮点乘法部件所占面积和功耗比例8图2 3c m o s 反向器示例功耗的组成9图2 4 不同工艺条件下阈下漏电流和温度的关系l o图2 5 不同工艺条件下的漏电流功耗和动态功耗1 l图2 6 浮点乘法器各流水级所占面积比例一1 5图3 11 6 x 1 6 位点阵图1 7图3 21 6 x 1 6 位b o o t h 2 编码1 9图3 31 6 x 1 6 位b o o t h 3 编码2 l图3 4 传统b o o t h 2 编码电路2 2图3 5b o o 幽2 编码后对部分积进行选择2 3图3 6 采用4 :2 压缩器将部分积减半2 4图3 7 非b o o t h 编码的部分积产生方式2 4图3 8 各种位宽乘法器采用b o o t i l 2 编码和4 :2 压缩器的延迟比较2 6图3 9 各种位宽乘法器采用b o o t h 2 编码和4 :2 压缩器的面积比较2 6图3 1 0 各种位宽乘法器采用b o o t h 2 编码和4 :2 压缩器的功耗比较2 7图3 1 l 信号翻转的概率和编码成零的概率之间的关系2 9图3 1 25 3 x 2 7 位传统b o o t h 编码乘法器各部件所占面积比例。3 0图3 1 3 符号位改进的b o o t h 2 编码3 1图3 1 4 传统的b o o t h 编码电路和选择电路图3 1 5m l pb o o t h 编码电路。3 53 7图3 1 6 m l p b o o t h 选择电路3 7i x低功耗浮点乘法部件的研究与设计:图目录图3 1 75 3 x 2 7 位三种乘法器的面积比较3 8图3 1 85 3 x 2 7 位三种乘法器的延迟比较3 8图3 1 95 3 x 2 7 位三种乘法器的动态功耗比较一3 9图3 2 05 3 2 7 位m l pb o o t h 编码乘法器各部件所占面积t l 侈, l 3 9图3 2 l 各种位宽乘法器采用b o o t h 2 编码和m l pb o o t h 编码的面积比较4 0图3 2 2 各种位宽乘法器采用b o o t h 2 编码和m l pb o o t h 编码的延迟比较4 l图3 2 3 各种位宽乘法器采用b o o t h 2 编码和m l pb o o t h 编码的功耗比较4 l图4 1i e e e 7 5 4 单双精度浮点尾数4 3图4 2 单精度尾数相乘的粘着位4 4图4 ,3 单精度尾数相乘粘着位为0 的例子。4 4图4 _ 4 采用两级结构来搭建4 位t o d图4 5t o d 4 的逻辑图图4 6 一级4 位t o d 的逻辑图图4 72 4 位t o d 4 7图4 85 2 位t o d 4 8图4 9 增加b y p a s s 路径后的2 4 位t o i d 4 9图4 1 0 增加b y p a s s 路径后的5 6 位t o d 5 0图4 1 l 操作数尾0 分布情况5 l图4 1 25 3 x 5 3 位三种乘法器的延迟比较5 2图4 1 35 3 x 5 3 位三种乘法器的面积比较5 2图4 1 45 3 x 5 3 位三种乘法器的功耗比较图5 1 简单的迭代结构乘法器5 6图5 2 简单阵列5 8图5 3 双阵列中的两个列平面的累加,图5 4 累加1 6 个部分积的二叉树结构6 ix低功耗浮点乘法部件的研究与设计:图目录图5 5 平衡延迟树处理1 8 个部分积数位6 2图5 6 倒转阶梯树处理1 8 个部分积数位6 3图5 7 ( 9 :2 ) 压缩器6 4图5 8 输入为1 8 的w a l l a c e 树6 5图5 9 全加器原理图6 6图5 1 0 通过对不同延迟的输入进行排序优化的例子6 7图5 1 l1 2 1 2 位部分积消减的三维示意图6 7图5 1 25 3 x 2 7 位乘法树延迟统计6 8图5 1 3 部分积中的进位传递6 9图5 1 4 进位优先机制7 0图5 1 5 时序优先机制7 0图6 1 双路浮点乘法器结构框图7 5图6 2g x 机制7 9图6 3g y 机制图6 4g p 机制8 0图6 5g j 机制81图6 6g g 机制8 1图6 7 门控逻辑8 1图6 8 浮点乘法器中的一维门控8 2图6 9 浮点乘法器中的二维门控8 3图7 1 串行乘法器结构。8 6图7 2 全规模乘法器结构。图7 3 半规模乘法器结构8 9图7 4 两种类型操作数对比图7 5 改进的半规模乘法器结构低功耗浮点乘法部件的研究与最计;图目录图7 6 三种定点乘法器的延迟比较一9 2图7 7 三种定点乘法器的面积比较一9 2图7 8 三种定点乘法器的动态功耗比较”9 2表2 1s p e c f p 2 0 0 0 b e n c h m a r ks u i t e 中各种浮点指令出现的条数7表2 2s m i c 0 1 8 静态c m o s 标准单元库中常用单元的延迟、面积和功耗特性1 6表3 1b o o t h 2 编码的部分积选择表1 9表3 2b o o t h 3 编码的部分积选择表2 0表3 3b o o t h 2 编码和4 :2 压缩器的比较2 7表3 4 传统b o o t h 2 编码部分积选择衷3 0表3 55 位编码结果非零概率3 3表3 67 位编码结果非零概率3 3表3 79 位编码结果非零概率3 4表3 8 传统的b o o t h 编码部分积选择表3 4表3 9 m l p b o o t h 真值表表4 1 两位t o d 的真值表表4 2 四位t o d 的真值表4 5表4 3 操作数类型划分5 l表5 1 双精度5 3 x 2 7 位乘法树的p d a 比较7 2表5 2 定点3 2 x 3 2 位乘法树的p d a 比较7 2表6 1 系统硬件环境参数7 7表6 2 测试程序运行时间比较。7 7表6 3 相同条件下不同结构综合的面积和延迟7 8表7 1 芯片应用领域分类8 5表7 2 操作数类型划分8 8表7 3 改进前和改进后的半规模乘法器比较9 3x i i i声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。就我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。作者签名:翮币茂日期:踏s 彬作者签名:l 。易于2 五日期:踏s 聊关于论文使用授权的说明中国科学院计算技术研究所有权处理、保留送交论文的复印件,允许论文被查阅和借阅;并可以公布论文的全部或部分内容,可以采用影印、缩印或其它复制手段保存该论文。作者獬:国忸剔嗌名:秒吁步劢1 1 研究背景及选题的意义第一章前言自1 9 5 8 年集成电路诞生以来,随着微电f 技术的不断进步、计算机技术的不断发展,集成电路经历了小规模,中规模、大规模的发展过程,目前已经进入超大规模( v l s i ) 和甚大规模集成电路( u l s i ) 阶段,s o c ( s y s t e mo nc h i p )时代已经到来。特别是超大规模集成电路工艺在2 l 世纪初得到了高速的发展,目前商业化半导体芯片制造技术的主流已经达到0 1 3pm 的线宽,今后发展的趋势是o 0 9 um 甚至o 0 6 5um 以下 r u s u 0 2 】。集成电路技术正迅速向更高集成度、超小型化、高性能、商可靠性的方向发展。微处理器的发展也随着集成电路的迅猛发展而变得日新月异。目前微处理器的发展速度一直遵循i n t e l 公司的创始人g o r d o nm o o r e 于1 9 6 4 年提出的摩尔定律 m o o r e 7 9 1 :处理器的性能三年翻两番。由于可使用的芯片面积增加,为了进一步提高运算性能,已经有越来越多的处理器包含多个运算单元,后者已经成为处理器结构中的一个重要组成部分 a b n o u s 9 6 。作为通用处理器中重要的部分,浮点运算部件通常都是整个设计中需要重点考虑的对象:浮点运算通常需要多个时钟周期才能完成;为了得到接近实际值的运算结果,某些数值计算领域如流体动力、计算物理学、气象模型等等,需要很高精度( 如1 2 8 位字长) 的浮点运算【a k k a s 0 3 :而高精度浮点运算的固有特性决定了它具有面积大,功耗大的特点 s h i m a z u 8 9 。速度、成本和功耗成为集成电路设计中目前最受关注的几个问题。首先,运算速度是决定整个系统运算效率的决定因素。在一定的体系结构下,越快的运算速度意味着数据处理能力越强,所以对于速度的追求是永无止境的。其次,集成电路之所以能够迅速普及和成本的不断下降是密不可分的。导致成本下降的原因是集成度提高以后,单位数量的电路面积越来越小,而晶圆片的规格越来越大,因此单位晶圆面积可容纳的电路数量就越大,制造成本就越低。当然芯片的成本还决定于晶圆的缺陷密度,这个因素和晶圆上芯片的合格率密切相关。此外,电路的集成度和复杂度不断提高,降低功耗成为主要的设计目标之一,需要在i c 设计过程的开始阶段就给予考虑。功耗的限制主要来源于如下几个方中国科学院博士学位论文叫氏功耗浮点乘法部件的研究与设计面。在高端领域,根据摩尔定律,不仅芯片集成的晶体管数量急剧增加,而且所采用的时钟频率也会越来越快。作为其结果,翻转的频率增加导致了对器作充放电的次数增加,也就增加了能量消耗。功耗的增加将会从许多方面增加系统的成本,甚至会危及系统的功能。目前的商用处理器,如p e n t i u mi v 和a l p h a 的功耗都在5 0 w 以上,有些甚至上百瓦 g e n e r a l 0 1 。芯片的功耗如果大于2 w 就不能使用塑料封装了,而只能采取更为昂贵的陶瓷封装。而且由于需要散热增加的制冷风扇也提升了系统的成本。有些超级计算机如c r a yx 1 甚至需要采用液冷的方法来保证系统的可靠运转。功耗过大还会带来一个问题,为芯片供应足够的电量需要增加大量电源和地的引脚,占据大量的布线空间,增加了制造成本。更加严重的是,如果工作在3 3 v 电压下的苍片的功耗超过3 0 w 的话,需要电路板向它传送近1 0 a 的电流。这有可能导致电迁移现象的发生,大量电流流过狭窄的连线通道,会在芯片的p o w e r - r a i l s 上产生裂痕,造成不可恢复的损害 n a n n a r e l l i 9 9 。另外,近些年来s o c 的盛行,许多外设被小型化集成到一起,这样就使得移动产品大行其道。例如手机,笔记本电脑,个人数字助理,全球定位系统,以及医疗设备等等。这些设备的一个共同的特点就是依赖予电池的工作时间。如果设备的功耗降低,就意味着可以工作更长的时间。而且这些设备今后的发展需要性能更高的计算,要达到这个目的,要么增加电池的容量,要么提高电路的效率。由于电池工艺的增长速度很慢。所以主要依靠设计者来提高电路效率,降低功耗来解决。可靠性功耗可用性图1 i 速度,功耗和面积三者关系通过上述分析可以看出,在集成电路设计中,速度、面积和功耗是主要的设2第一章前言计目标,三者之间相互依赖,相互制约,对于不同的领域,设计的重点有所不同,如图1 1 所示。因此,本文将主要从这三个方面来综合考虑浮点乘法运算部件的设计。1 2 国内外研究现状乘法操作是一项基本的运算操作。同时,乘法操作还是一项长延迟的操作。大多数处理器中的乘法运算都需要2 到8 个周期。浮点乘法器将乘法的精度进行扩展,利用阶码和尾数的运算可以计算超过定点乘法器范围。因此,乘法器的快速与否成为能否提高处理器性能的关键。目前已有些针对低功耗乘法器的电路研究。g w b e w i c k 研究了基于e c l( e m i t t e rc o u p l e dl o g i c ) 的各种乘法器设计的功耗情况 b e w i c k 9 4 。但他的结论不能推广到c m o s 逻辑中,因为e c l 主要是静态功耗,而c m o s 电路主要是动态功耗。a i t w a i j r y 研究了c m o s 乘法器中面积与性能之间的关系 a lt w a i j r y 9 7 。考虑到互连线带来的影响,【m e i e r 9 6 给出不同乘法器的大致功耗估计。中科院声学所在1 9 9 3 年完成了应用于d s p 芯片的1 8 位乘法器设计 x u 9 5 1 ,它使用改进的b o o t h 算法和w a l l a c e 树的结构,采用1 2 u m 的全定制工艺。整个算法仿真和版图设计工作是在m e n t o rg r a p h i c s 公司的g d t 上完成,芯片加工完成后整个版图约1 4 7 0 0 个晶体管( 不包括管腿为1 3 6 0 0 个晶体管) ,版图尺寸为4 5 m m x 4 3 m m ( 不包括管腿为3 6 m m x 2 6 6 m m ) ,工作频率为3 8 兆赫。国防科技大学在1 9 9 7 年完成了应用于数字神经处理芯片的1 6 位乘法器设计l u 0 9 7 。它也是使用改进的b o o t h 算法和w a l l a c e 树的结构,应用x i l i n xx c 4 0 0 6的f p g a 实现。使用的开发系统是x a c t 5 0 。该乘法器最终应用于通用数字神经处理芯片中,工作频率可以达到3 0 兆赫。西安微电子技术中心在1 9 9 9 年完成了应用于航天应用的3 2 位l p r i s c c p u中的乘法器w u 0 1 。该乘法器中采用1 5 u m 双层c m o s 工艺设计,规模是4 7 7 0 0个晶体管,面积是5 9 m i n x 3 4 m m 。在最坏延时的情况下,完成一次乘法的时间是5 6 n s 。这个乘法器设计还对部分积累加过程中加法器阵列的连接做了改进。中科院计算所在1 9 9 4 年研究的乘法器绽计中使用了最大时间差流水线技术来提高电路的时钟频率 h u 9 4 1 。利用了最大时间差流水线的8 位的二进制补码乘法器使用1 5 微米半定制h c m o s 实现后可以得到普通乘法器在相同工艺实现下3 倍的时钟频率。如果用全定制c m o s 工艺实现的话还可以得到更高的时钟频率。目前乘法器的研究主要是针对电路实现的研究,对于算法结构对速度、成本中国科学院博t 学位论文1 匠功耗浮点乘法部件的研究弓设计和功耗的影响值得进一步研究本文正是从结构设计的角度来研究乘法器与延迟、功耗和面积的关系。1 3 课题来源奉文的研究是在中国 : 学院知识创新方向性项目( 课题) 、国家自然科学基金( 6 9 8 9 6 2 5 0 1 ) 及高性能通用c p u 研制( 0 1 z d 0 2 ) 的项目背景下进行的。本文在处理器浮点运算部件的效率、成本和低功耗方面做了基础性的研究工作,并且在我国第一款通用处理器“龙芯l 号”的浮点乘法运算部件的设计和实现中加以应用。1 4 论文主要创新点本文有如下创新之处:1 提出了一种改进低功耗b o o t h 编码方法,该方法相比传统的b o o t h 编码方法,在适当增加延迟和面积的条件下可以有效降低功耗。2 提出了一种根据操作数的数位分布动态调整编码的方法,该方法通过分析两个操作数,从中选择更为适合编码的操作数进行编码,通过动态调整编码对象,达到优化功耗的目的。3 提出了一种新的部分积消减树生成算法。该算法与现有算法相比具有如下特点:通过协调进位与和之间的关系,达到全局的延迟最优;通过加入平衡路径的考虑,减少了不必要的翻转。4 提出了种符合i e e e 7 5 4 浮点运算标准的双路浮点乘法结构,该结构将传统的全规模乘法结构和半规模结构的特点结合起来,根据不同的浮点乘法指令可以动态地调用两棵乘法子树中的一棵或者全部,既可以达到缩短延迟的目的,又可以有效地降低功耗。5 提出了种可配置的定点乘法器的设计方法。可以针对乘法器应用的不同领域给出相应结构。适用于处理器口核可配置设计方案。1 5 文章结构本文按以下结构组织:第二章首先通过分析s p e c f p 2 0 0 0 b e n c h r n a r k 中浮点运算指令的概率,以及在龙芯1 号处理器中浮点乘法部件所占面积和功耗的比例,提出浮点乘法器在处理器设计中的重要性。然后总结了功耗和集成电路制造工艺发展的大致关系,功耗的基本组成以及降低功耗的各个层次的办法。结合浮点乘法器的特点,提出了第一章前言研究的方法,并介绍了本文所采用的实验平台。第三章首先介绍了乘法器的各种编码方式;然后通过实验验证了采用b o o t h编码比采用4 :2 压缩器减少部分积更有竞争力。虽然采用4 :2 压缩器进行编码所带来的延迟相比采用b o o t h 编码有稍许优势,但是由于其面积和功耗的大昂消耗,从整体上来看,4 :2 压缩器并不具备优势。特别是对于位宽较大的乘法器,b o o t h 编码的优势愈加明显。然后分析信号翻转的概率和编码成零的概率之间的关系,得出了功耗和编码之间的关系。通过采用新的编码结果表示方法并加入对符号位的改进以及平衡路径延迟的考虑,提出了一种改进低功耗b o o t h 编码方法。通过不同位宽乘法器的比较,证明该方法相比传统的b o o t h 编码方法,在适当增加延迟和面积的条件下可以有效降低功耗,适合于位宽较大的乘法器设计。第四章提出了一种根据操作数的数位分布动态调整编码的方法,该方法通过分析两个操作数是否适合进行编码来调整编码的对象,以此达到优化功耗的目的。不过这种动态调节操作数的方法并不适合于小位宽乘法器的使用。第五章研究了乘法器中占面积最大部分的部分积消减机制。根据其特点,对乘法树进行区域划分,并且针对不同区域的特点,提出相应的部分积消减树生成算法。该算法与现有算法相比具有如下特点:通过协调进位与和之间的关系,达到全局的延迟最优;通过加入平衡路径的考虑,减少了不必要的翻转。第六章研究了浮点乘法器的特点,并针对其结构提出并行浮点乘法器的一种新型结构,将乘法树分成子树,并行计算后再合并。这种结构在降低延迟的同时,由于可以对单、双精度浮点操作数的输入分别进行控制,所以功耗可以得到有效控制。适合于高速通用处理器的设计。然后针对乘法器中的门控方法进行了分类。并分析了两种适合在浮点乘法器中使用的门控方法,给出了实现的框图。第七章对于定点乘法器的设计,为了适用于不同领域,提出了一种可配置的设计方法,这种方法从速度、成本和功耗三个方面进行了综合考虑。最后,对整篇论文进行总结,指出了下一步的研究方向。第二章浮点乘法器的低功耗设计集成电路行业里面,人们最为关心的除了正确完成所要求的功能以外,萸过于速度、面积和功耗三个方面。速度决定了效率,面积决定成本,而功耗决定了可靠性和适用性。三者之间相互依赖,相互制约,对于不同的领域,设计的重点有所不同。对于浮点运算部件的研究也经历了不断深入的过程:从5 0 年代起对延迟的深入研究,到8 0 年代考虑面积因素,直至9 0 年代加入了功耗方面的影响。本文研究的主要对象是符合i e e e 7 5 4 标准的低功耗浮点乘法器,它被应用于一种通用处理器一龙芯l 号中。2 1 浮点乘法部件的重要性浮点乘法指令是浮点运算指令中的重要成员之一。本文统计了s p e c f p 2 0 0 0b e n c h m a r ks u i t e h 印0 0 】中各种浮点运算指令出现的条数和概率,如图2 1 和表2 1所示。s p e c f p 2 0 0 0 b t n l c h m a r k t 孵- 点运算指令所占比例7 9 0 5 98 0 图2 1s p e c 印2 0 0 0 b e n c h m a r ks u i t e 中各种浮点运算指令出现的概率表2 is p e c f p 2 0 0 0 b e n c h m a r ks u i t e 中各种浮点指令出现的条数程序名称浮点乘法( 百万条)浮点加法( 百万条)浮点除法( 百万条)1 6 8 w u p w i s e1 0 4 7 23 0 3 8 84 2 1 71 7 1 s w i m6 6 8 41 3 6 4 34 2 017 2 m g i d1 4 8 6 69 6 3 7 4017 3 a p p l u5 9 9 5 83 6 2 2 51 4 8 01 7 7 m e s a2 5 1 l3 5 91 9 0 1 41 7 9 a r t1 4 9 2 32 5 8 2 43 7 2 21 8 3 e q u a k e8 0 3 71 1 6 3 l1 3 4 1中国科学院博士学位论文低功耗浮点乘法舒件的研究与设计l1 8 8 a m m p9 7 63 0 4 50 6 0li2 0 0 s i x t r a c koo4 0 9 3 48i3 0 1 a n s i1 5 8 9 42 5 0 6 92 2 0 7i为了解浮点乘法器所消耗的面积和功耗在整个处理器中的比重,本文对龙芯l 号芯片进行分析:浮点乘法部件的面积占总面积的1 3 9 ,功耗达到了骼个芯片功耗的1 7 2 ,如图2 2 所示。浮点乘法部件所占面积比例浮点乘法部件所占功耗比例8 6 1 0 图2 2 龙芯i 号处理器中浮点乘法部件所占面积和功耗比例虽然浮点乘法指令在浮点运算指令中所占有的比重不是最大,但是由于其所占实际芯片中的面积和功耗比例相对较大,所以有必要针对浮点乘法部件进行深入的研究。下面首先介绍低功耗研究的情况。2 2 低功耗研究背景2 2 - 1 低功耗与工艺发展的大致关系功耗因素是工艺不断发展的催化剂。从真空管到双极性晶体管,再到m o s电路,每种工艺发展到一定程度必然要遇到功耗的问题。一个阶段的工艺发展越是成熟,对于这种工艺下的功耗研究就越深入,这已经成为普遍的规律。有意思的是,今天c m o s 工艺也面l 临了功耗的问题,而这一次好像还没有看到新的工艺出现来解决这个问题。同一种工艺下,制造技术的发展对功耗的影响是双方面的。一个方面,不断减小的工艺尺寸有利于降低功耗,因为单元尺寸减小,降低了电容;并且供电电压随工艺尺寸下降,那么门的翻转功耗也应随之减少。而且工艺水平提高还可以节省芯片互连带来的功耗,由于在一个芯片里可以集成更多的晶体管,以前需要多个芯片才能实现的功能可以放入一个芯片之中,芯片问的互连被省略,不仅加速了信号的交流,而且可以减少许多功耗。但是另一个方面,虽然单元尺寸减小,降低了电容,但是门的翻转速度更快第二章浮占乘法器的j 匠功耗设计了;集成度的提高,虽然可以减少片间的互连,但是增加了单个芯片内的晶体管数量,使功耗的绝对数量增加。从整体上看,虽然有些方面的发展有效地降低了功耗,但是整体功耗是随之剧增的。2 。2 2c m o s 中的能量消耗近二十年来,c m o s 工艺在集成电路制造业中占据统治地位,而且目前仍然遵照摩尔定律稳步发展。所以本文着眼于c m o s 电路。一个c m o s 门的整个能量消耗可以表示为 y e a p 9 8 :e j e = e l m d + e w e | m b pt 2 一、1图2 3c m o s 反向器示例功耗的组成1 ,动态功耗,包括输出电容的充放电过程导致的翻转功耗e 。,以及短路电流导致的短路功耗e 。翻转功耗e 。是当节点输出发生翻转,对负载电容c 。进行充放电所导致。如图2 3 所示,c m o s 反相器的输入由高到低发生翻转,则相应输出在t 时刻由高到低翻转。此时对负载电容c 。充电,所需能量为:e = i v i d t = i v q 挚= c l 广v d v = 主q ( 2 - 2 )因此,对于n 。个输出发生翻转带来的功耗为:= 去c 喘一( 2 3 )短路电流带来的能量消耗为e 虻,对于图2 3 所示的c m o s 反相器,在翻转9中国科学院博士学位论文低功耗浮点乘法部件的研究弓设计过程当中,n m o s 和p m o s 管会在很短的一段时间里面同时导通,这样造成了从供电电压( v 。) 到地( k ) 的短路电流。e 犯与,转换时间,负载等均有关系。2 ,静态功耗,e 。,由于漏电流和其它电流降所导致。漏电流带来的能量消耗e 。“。通常很小被忽略,只有当系统k 期处r 竹机或者进入睡眠状态很长时间才会增大。然而,一方面由于晶圆尺寸的增大和成品率的提高以及芯片上的晶体管数量按照摩尔定律快速增长,漏电流的密度在不断增加:另一方面由于栅极氧化物的厚度逐步减小,供电电压降低,晶体管的阈值电压也必须相应降低。这两方面的因素最终会带来巨大的漏电功耗。阂下漏电流:工艺水平的提高会降低供电电压,从而降低了能量消耗。但是晶体管阂值电压( v ) 也随着供电电压同速率下降,而v 降低会导致阈下漏电流成指数级增加。图2 4 给出了今后工艺发展带来的阈下漏电流和温度之间的关系。随着沟道宽度逐渐减小,漏电功耗所占比例也会相应增加,如图2 5 所示。伯0 0 01 ,0 0 0暑s1 0 01 013 04 0s o6 07 08 0g o1 0 01 1 0t e m p f c 图2 4 不同工艺条件下阈下漏电流和温度的关系降低漏电流的方法之一可以采用双v i 技术,即n m o s 和p m o s 管有高低两种阀值电压可供选择。还有其它方法如门控供电( s u p p l yg a t i n g ) 技术 k a 0 0 2 它采用一个高阈值电压晶体管来关断功能块的供电。尽管这种技术可以大量降低漏电流。但是它也使电源布线复杂化,带来了性能急剧下降。第二章浮点乘法器的低功耗设计1 7 5 差套5 01 堡口2 5l巳0i l 2 s p 0 j 8 “0 13 p 0 1 p图2 5 不同工艺条件下的漏电流功耗和动态功耗因此,单元消耗的平均功耗可以表示为:1e 。= e + e 。+ e | 。b p = 畦c l y j d n 。+ e 。+ e b o n i( 2 4 )在目前工艺条件下( 沟道宽度为o 1 8 u r n ) 决定电路功耗的主要部分是动态功耗,本文着眼于c m o s 电路中的动态功耗的研究,对于漏电功耗以及短路功耗不在本文的讨论之内。2 2 3 功耗和能量的区别为了评估各种不同操作的功耗,需要建立一个通用的评估方法。每个操作消耗的能量可以用e d p 来表示:e o e = i v 础坤其e et o p 表示执行该操作所需要的时间。那么每个操作消耗的能量又可以采用在t o p 期问所有经过的单元所消耗的能量的总和:易= 喜局,其中e = lv i , d t易= 局,其中e = i 。j o i一而且一个操作通常执行不止一个周期,所以t d p 又可以表示为t o e = ( n o o f c y c l e s )那么每个周期所消耗的能量就是:e ”= 磊历b o p 磊n o 0 fc v c t e s叫叩o22篓中固科学院博士学位论文低功耗浮点乘止舒件的研究与设汁平均能量消耗就是e 户r 和时钟周期的乘积f尸,= e p c ,= 竺= 。,。,其中v 。足供电电压,i 。是平均电流t o p其实能量和功耗是有区别的,功耗是电路在一定的时间里所消耗的焦耳数,降低功耗主要针对的是在短时间内消耗了大量能量的情况,它属于热可靠性领域。而能量是指电路消耗的总焦耳数,它不包含时间因素,属于延长电池使用时间的范畴。降低功耗和降低能量这两个目标足不大相同的。当需要考虑到散热的时候,功耗就成为了问题。如果在短时间内大量的能量转变成了热能,那么芯片封装上的散热片也许就不能及时地将热量驱散。结果就会导致温度急剧上升,最终芯片将无法工作。如果同样的能量是在一个很长的时间内消耗的,那么功耗将大为减少,散热结构也就可以轻松应付。因此,降低功耗主要针对的是在短时间内消耗了丈量能量的情况。减少能量消耗需要减少总共消耗摊的焦耳数。因此,常说的e n e r g yp e ro p e r a t i o n ,是不包括时间因素的。综合评价功耗和性能应采用参数:m i p s w ( 百万指令每秒每瓦) 。2 3 降低功耗的方法如上节所描述,c m o s 电路的功耗主要体现在三个主要万面:开天损失、短路损失、漏电损失,器件的功耗也可以用公式( 2 - - 5 ) 表示。e d “= e d + e “e 脚。专c ,毋l 西+ i j d d + f | 。h n d1 2 一s )其中,。代表供应电压,q 代表输出电容量,口是个活动因子( o 口 b o o t h 2 编码如图3 4 所示,b o o t h 2 编码的最大延迟来自对两倍部分积的选择,根据表达式( 3 3 ) ,其延迟为一级异或门再加上一级与门的延迟。编码后产生的5 种结果s = 一2 ,一l ,0 ,l ,2 用来选择部分积,如果符号为负,还需要对部分积求补,这个过程如图3 5 所示。根据表达式( 3 4 ) ,选择电路相当于两级异或门的延迟。因此整个b o o t h 2 编码电路的延迟相当于三级异或门加上一级与门的延迟。p o s = m u l t i p l i e r g r o u p 2 】( 3 - 1 )s e l e c t m = m u l t i p l i e r g r o u p 1 m u l t i p l i e r g r o u p 0 1( 3 - 2 )s e l e c t 2 m = ( m u l t i p l i e r g r o u p 2 】m u l t i p l i e r g r o u p 1 ) +( m u l t i p l i e r g r o u p 2 】0m u l t i p l i e r g r o u p o )( 3 - 3 )研刁= ( ( m u l t i p l i c a n d i 】& s e l e c t m ) i ( m u l t i p l i c a n d i - 1 】& s e l e c t 2 m ) ) 0p o s ( 3 - 4 )图3 4 传统b o o t h 2 编码电路s i g ns e l e e t 2 ms e l e c t m厂。ll位位高组低最一最数乘第三章编码方式的骶功耗研究99999最高位部务积最低位图3 5b o o t h 2 编码后对部分积进行选择 4 :2 压缩器4 :2 压缩器的原理是将两个3 :2 计数器合理地组合在一起,将4 位同一权值的输入累加产生出l 位进位和l 位和,其中还需要接收相邻压缩器传递来的进位和向另一侧相邻的压缩器传递出相应的进位。如图3 6 所示。4 :2 压缩器的编码很简单,采用乘数中的一位和被乘数相与即可,如图3 7 所示。但是仅仅采用一根信号线去驱动大量的与门,其驱动能力是不够的。所以需要插入许多b u f f e r来增加信号线的驱动能力。在这里,暂不考虑由于插入b u f f e r 带来的延迟。编码完后进行选择,对于4 :2 压缩器来说,选择过程就是累加的过程。将输入的4 个同权值的数累加成和与进位分离的形式,其间还要接收和传递进位。如图3 6 所示。其关键路径为输入a ,b 到输出s 的延迟,总共三级异或门的延迟。因此整个4 :2 压缩器编码电路的延迟相当于三级异或门加上一级与门的延迟。s = ( ( a 0 6 ) 0 d ) 0 ( c i n 0 p )c = ( ( a o b ) 0 d ) & e i ( ( a 0 6 ) 0 d ) & c i nic i n & e( 3 - 5 )( 3 6 )中国科学院博士学位论文低功耗浮点乘往部件的研究与设计abd图3 6 采用4 :2 压缩器将部分积减半、s一图3 7 非b o o t h 编码的部分积产生方式、c面积( a r e a )b o o t h 2 编码根据表2 2 描述的s m i co 1 8 u r n1 8 v o l tc m o s 标准单元库 s m i c 0 1 可知i ,如果以两输入的与非门负载为l 的情况下的面积作为单位面积,那么两输入的与门的面积约为1 3 ,两输入的异或门和同或门的面积相同约为2 6 ,两输入的或门和与门相同,而两输入的或非门和与非门相同。以1 6 位的乘法器为例,来分析实现两种不同的方法所需要单元的面积。对于b o o t h 2 编码而言,由于编码采用的是重叠的3 位,所以整个电路一共需要9套编码电路,每一套编码电路的单元面积约为:8 6 ( 以两输入的与非fj 的面积作为单位面积) 。选择电路也需要9 套,每一套选择电路的面积= 位宽每一位选择电路的面积,约为:1 0 4 。所以如果采用b o o t h 2 编码来实现1 6 位的乘法器,从两个操作数产生出9 个部分积的过程需要面积1 0 1 3 4 。第三章编码方式的低功耗研究 4 :2 压缩器对于4 :2 压缩器来讲,其编码是根据操作数的每一位来进行编码,所以编码电路总共需要1 6 套。每一套编码

温馨提示

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

评论

0/150

提交评论