(微电子学与固体电子学专业论文)16位定点dsp结构的设计.pdf_第1页
(微电子学与固体电子学专业论文)16位定点dsp结构的设计.pdf_第2页
(微电子学与固体电子学专业论文)16位定点dsp结构的设计.pdf_第3页
(微电子学与固体电子学专业论文)16位定点dsp结构的设计.pdf_第4页
(微电子学与固体电子学专业论文)16位定点dsp结构的设计.pdf_第5页
已阅读5页,还剩90页未读 继续免费阅读

(微电子学与固体电子学专业论文)16位定点dsp结构的设计.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 y 3 5 3 4 2 s 7 伴随着微电子学、数字信号处理技术和计算机技术等学科的飞速发展而产 生的d s p ( d i g i t a ls i g n a lp r o c e s s o r 数字信号处理器) ,是一种体现这三个学科 综合研究成果的新型微处理器。目前,以d s p 作为灵活的加速部件已经被广泛 地应用到电传、语音识别、图像处理、通信与并行处理技术等领域。随着d s p 性能的不断提高和价格的相应降低,其应用领域也越来越广阔。总之,d s p 将 是继m p u ( 微处理器) 、m c u ( 微控制器) 之后出现的第三次快速发展浪潮。 虽然d s p 技术在飞速的发展,各种先进的d s p 体系结构层出不穷,但是低 端d s p 仍然有很大的市场,所以本论文主要针对低端1 6 位定点d s p 提出了自 己的体系结构和部分实现方法( 包括快速乘法器和快速加法器) 。l 。( , 本论文主要分为三大部分:第一部分为绪言,在本论文的绪言中讨论了d s p 的特点,7 这些特点是本论文在设计d s p 结构时考虑的出发点。第二部分为d s p 中各组成部分的设计( 包括指令集设计、流水线设计和存储器设计j ,在这部分 中主要是讨论一些基本的理论和一些功能的实现。第三部分是本论文的具体实 现部分,在这部分里主要讨论了快速乘法器和快速加法器的实现。在比较了各 种快速乘法器和加法器算法之后,本论文选择了采用布什算法的快速乘法器和 超前进位加法器。在这两部分实现中考虑了简化硬件和加快速度,提出了几种 方法,如在乘法器中采用更正数和在加法器中利用保护位来进行条件码的产生。 具体实现是用v e r i l o g h d l 语言来描述的,并在c a d e n c e 系统的v e r i l o gx l 下 进行了功能模拟和在s y n o p s y s 的d e s i g nc o m p i l e r 下进行了逻辑综合。速度达 到了3 0 m h z ,面积为1 5 0 0 门。 一 在最后的附录中本论文给出了:( 1 ) 在附录a 中为四输入3 5 位超前进位加 法器的c 语言描述,( 2 ) 在附录b 中为四输入3 5 位超前进位加法器的 v e r i l o g h d l 语言描述,( 3 ) 在附录c 中为整个d s p 在v e r i l o gx l 下功能模拟 的波形图。 、薹一 关键字:数字信号处理器,追勇壅理器) 指令集,寻址方式“沅泳j 萄冲突 存储器结构,超前进位加法器等。 第1 页 浙江大学硕士学位论文 a b s t r a c t w i 恤t h e r a p i dd e v e l o p m e n t o f m i c r o e l e c t r o n i c s ,d i g i t a ls i g n a lp r o c e s s i n g t e c h n o l o g i e sa n dc o m p u t e rt e c h n o l o g i e s ,d s p ( d i g i t a ls i g n a lp r o c e s s o r ) e m e r g e d f i r s ti tw a sm i c r o p r o c e s s o r s t h e nm i c r o c o n t r o l l e r s r e c e n t l y , i tw a su b i q u i t o u si n t e l e c o m m u n i c a t i o n s ,s p e e c hr e c o g n i t i o n ,i m a g ep r o c e s s i n ga n dp a r a l l e lp r o c 2 s s m g , a c t i n ga saf l e x i b l ea c c e l e r a t i n gc o m p o n e n tt h a tc a nh a n d l et h ea r i t h m e t i co p e r a t i o n s e n s i t i v et a s k s w i t ht h ei m p r o v i n go fd s p p e r f o r m a n c ea n dr e d u c i n go f t h ec o s t ,t h e a p p l i c a t i o n f i e l d so ft h ed s pw e r e i n c r e a s i n g l y w i d e 、i tb e c a m ea c e l e b r i t y p r o g r a m m a b l ec o m p o n e n t i n aw o r d ,t h ed s pb e c a m et h et h i r dt r e n do ft h e d e v e l o p m e n to fp r o c e s s i n gt e c h n o l o g i e sa f t e rm p u ( m i c r o p r o c e s s o ru n i t ) a n dm c u rm i c r o c o n t r o l l o ru n i t l t h o u 曲d s pd e s i g nt e c h n o l o g i e s a r e d r a m a t i c a l l yd e v e l o p i n g a n dd s p a r c h i t e c t u r e se m e r g ei ne n d l e s s l y , t h el o w e re n dd s p sa r ep o p u l a r s ot h i sp a p e rg i v e s t h eo w na r c h i t e c t u r ea n ds o m ei m p l e m e n t a t i o nm e t h o d sb a s e do nt h el o w e rp o w e r1 6 一 b i tf i x e d p o i n td s p t h i sp a d e rc o n s i s t so ft h r e ep a r t s f i r s tp a r ti se x o r d i u mi nw h i c ht h ef e a t u r e so f t h es e c o n dp a r ti s 血ed s pa r ed i s c u s s e da n dt h e r ef e a t t i r e sa r et h es t a r tw h e n d e s i g n i n gt h ea r c h i t e c t u r e ,t h es e c o n dp a r td i s c u s s e st h ed e s i g no f t h ec o m p o n e n to f t h ed s p t h et h i r dp a r tm a i n l yd i s c u s s e st h ei m p l e m e n t a t i o no ft h er a p i dm u l t i p l i e r a n dr a p e da d d e r t h i sp a d e rs e l e c t st h em u l t i p l i e rw h i c hu s e st h eb o o t ha r i t h m e t i ca n d t h ec a r r yl o o k a g e a da d d e ra f t e rc o m p a r i n gt h ev a i l a b l ei m p l e m e n t a t i o nm e t l l o d i n t h e s et w oi m p l e m e n t a t i o nt h ep a p e rc o n s i d e st h eh a r d w a r es i m p l i f i c a t i o na n ds p e e d a c c e l e r a t i o n a n dt h e l la f f o r d ss e v e r a lw a y s ,f o re x a m p l e ,i n t r o d u c e st h ec o r r e c t n u m b e ri nt h em u l t i p l i e ra n dg u a r db i t si na d d e r t h ei m p l e m e n t a t i o ni sd e s c r i b e d 、v i t hv e r i l o g h d ll a n g u a g e a n dt h e ns i m u l a t e di nv e r i l o gx lo fc a d e n c es y s t e ma n d s y n t h e s i z e di nd e s i g nc o m p i l e ro fs y n o p s y ss y s t e m t h ea p p e n d i xg i v e s :( 1 ) cm o d e lo ft h ef o u ri n p u t3 5 一b i tc a r r yl o o k a h e a da d d e r ; ( 2 ) v e r i l o g h d lm o d e lo f t h ef o u ri n p u t3 5 一b i tc a r r yl o o k a h e a da d d e r ;( 3 ) w a v e f o r m o ft h ed s pc o r es i m u l a t i o ni nv e r i l o g _ x l k e yw o r d s :d i g i t a ls i g n a lp r o c e s s o r , g e n e r a lp u r p o s ep r o c e s s o r ,i n s t r u c t i o n s e t , a d d r e s s i n gm o d e ,p i p e l i n e ,h a z a r d ,m e m o r ya r c h i t e c t u r e ,c a t yl o o k a h e a d a d d e r , e t c 第1 i 页 浙江大学硕士学位论文 1 绪言 1 1 什么是d s p d s p 是数字信号处理器( d i g i t a ls i g n a lp r o c e s s o r ) 的英文缩写,是伴随着微 电子学、数字信号处理技术、计算机技术等学科的发展而产生的,是体现这三个 学科综合科研成果的新器件。由于它特殊的结构设计,所以可以把数字信号处理 中的一些理论和算法实时实现。d s p 正逐步进入控制器市场,而且也在计算机应 用领域中得到了广泛的使用。f 2 5 1 数字信号处理对电子领域的影响在以一个不可想象的步伐在扩大。在通信、 消费l 包子、硬盘驱动器和导航这些领域的许多应用中d s p 是一项关键的技术。 d s p 处理器与像i n t e lp e n t i u m 或i b m m o t o r o l ap o w e r p c 一样的通用处理器 ( g p p s ) 有很大的不同。为了理解为什么不同,我们需要知道什么是信号处理。 那么什么是促进这一种处理器发展的信号处理呢? 作为一个例子,我们考虑在数字领域中最普通功能之一的信号滤波。信号滤 波仅仅是处理信号而使它的特性得到改进的种技术。例如,去除噪声或静电, 提高信号的信噪比等。 那么为什么要用微处理器而不是模拟部件去实现滤波呢? 有三个原因 模拟滤波( 和模拟电路) 性能受到环境因素影响,如温度。数字滤波本 质上不受环境影响。 2 数字滤波能在严格容差的情况下很容易重复,因为它们的功能不决定于 部件的组合,虽然这些部件会有一定程度的偏差。 3一旦产品制造出来后,模拟滤波器的特性很难改变,但足用微处理器数 字滤波器能通过重编程改变它们的特性。 这儿有几种数字滤波器:通用的一种叫“有限脉冲响应滤波器( f i r ) ”,如 图1 1 所示。基本的f i r 滤波器算法机理很直观。在图1 1 中标有d 的方块是延 迟单元:它们的输出信号是输入信号一个采样周期后的考贝。一列存贮单元用来 实现一列延迟单元( 这一列叫做延迟线) 。 在任何时候,新收到的采样信号n 一1 驻留在延迟线。n 是每次用于计算输出 采样值的输入采样信号总数。输入采样信号表示为x n :第一个输入采样信号为 x ,第二个为x 2 ,依次类推。 每次一个新的输入采样信号到达后,f i r 滤波器把前一个存贮的采样信号沿 着延迟线向右移位,同时滤波器计算出一个新的输h 采样值。在图1 1 中,系 数表示为c k ,k 是系数序号。乘积累加和形成一个输出采样y 。 我们把单个延迟单元、对应的乘法单元平l 】加法单元的组合叫做分接头( t a p ) 。 分接头的数目和系数值决定了滤波器的特性。例蜘i ,如果系数值挪等十分接头数 第l 砸扎9 0 交 浙江大学硕士学位论文 r 的倒数1 小,那么滤波器就成为平均运算低通滤波器的一种。 y n = 工nx c l _ x u 一1x c 2 + x 2 c n 。i + x l x c n 11 何限脉冲响应滤波器 从有限脉冲响应滤波器我们可以知道在d s p 中最主要的运算是乘加 ( m u l t i p l y a c c u m u l a t e 【m a c 】) 运算。 为r 有效地实现m a c ,处理器就必须有效地执行乘法。g p p s ( 通用处理器) 往最 9 j 就没有专门为乘法丽设计这样一个目标如一些调制解调器的g p p s 需 要多个指令周期米完成一个乘法,因为它们没有专门的硬件来实现单个周期乘 法。一个主要区分d s p 处理器与通j j j 处理器的差别就是有没有专门的硬件米完 成单个剧期乘法。 为了充分利j 玎这个专门的硬件,d s p 处理器的指令集总足包括r 一个值接的 m a c 指令。m a c 破件和专门的m a c 指令足。列jd s p 处理 1 jg p p s 的二个1 : 要【x :则。 d s p 处理器有许多种炎,似多数d s p 处理器有一些共川的特性,如支持快 速循环执行和强大的数字信号处理算法计算能力。最常用来说明这些特性的就足 卜| :f f i 所提到的执行单个指令周期的乘加运算的能力。在数字信号处理算法中单 划 期m a c 运算是极其有用的,这些算法包括计算矢量点积,如数字滤波器。为j 获得单周期m a c ,d s p 处理器包括一个乘法器和一个累加器作为数据通道的i : 要部件。而且,为了允许进行一系列的m a c 运算而没有算术溢出的可能,d s p 处理器通常在累加器中提供额外的位以容纳由于循环累加而产生的位增长。这些 防止溢出的位称为保护位( g u a r db i t ) 。 d s p 主要是以数字的方式来处理模拟信号,它通常是接收细信号值,对它 们进行过滤或做一系列操作,例如建立:一支待过滤的信号佤队列或揣对输入值进 行一些转换。d s p 通常是将常数和变啭进行加法或乘法运贷:后,先肜成一系列串 行条目,再逐条地予以累加,它相当于一个伙速倍增 梨加 ( m a c ) 的作川, :几常常彳i :一个周期中执行多次m a c 指令。为r 减少n :矬:串行队列时的额外 靴2mj i 吼,龃 浙江大学硕士学位论文 消耗,d s p 有专门的硬件支持,安排地址提取操作数和建立起一些条件,用以判 断是继续计算队列里的元素还是已经到了循环的末尾。 1 2d s p 的特点 1 2 1 零开销循环( z e r o - o v e r h e a dl o o p i n g ) 为什么一个小专用指令缓存会特别有用呢? 因为d s p 算法一个共同的特点 就是大多数的处理时间都用在小循环内指令的执行。 例如在一个f i r 滤波器里,大部分处理发生在非常小的内部循环输入采 样与它们的相关系数相乘及累加。这就是为什么小片内指令缓存能在d s p 算法 方面极大地提高处理器的性能。这也是为什么d s p 处理器要包括零开销循环的 硬件。术语零开销循环意思是处理器能执行循环而不耗费时间在检测循环计数 值、执行条件转移到循环头和递减循环计数值。 相反,多数g p p 不支持零开销硬件循环,而是实现软件循环。一些高性能 g p p 通过转移预测硬件几乎获得与支持硬件零开销循环相同的效果。 1 2 2 定点运算( f i x e d p o i n tc o m p u t a t i o n ) 大多数d s p 处理器用定点算法而不是浮点算法。这看起来似乎是违反人们的 常规,因为d s p 应用必须特别注意数字的保真度利用浮点数据通道很容易 做到。然而,d s p 处理器有一附加的规则:它们必须便宜。与浮点设计相比定点 d s p 设计更便宜和速度更快。 在没有浮点数据通道的情况下,为了保持数字的精度,d s p 处理器通常包括 支持饱和算术、四舍五入和移位的指令及硬件。 1 2 3 执行可预测性 d s p s 平f jg p p s 除在特定种类处理上的差异之外,他们的性能要求也有差别。 在许多非d s p 应用中,性能要求常给出的是最大平均响应时间。也就是性能要 求不是相对于每个处理,而仅仅相对于处理器的整体性能。 我们在分析处理器的d s p 性能时,执行可预测性在通用处理器和d s p 处理 器之间表现出很大的差异。对于执行可预测性,我们意思是程序员能够预测执行 一段特殊代码所需的准确时间。它受到处理器体系结构、存储器系统和工具的影 响。执行可预测性在许多d s p 应用中是很重要的,因为需要预测性能、保证实 时和得到最优化的代码以达到最大执行速度。 许多d s p 应用很自然需要实时。在这些应用中,例如音频压缩、调制解调, 如果没有满足实时的最低要求就会引起从信号质量下降到通信链接失败这样的 故障。这种应用有时被称为服从硬实时限制。保证实时性能的需求要求处理器能 准确预测执行时间。 然而,并不是全部d s p 应用是实时应用。例如,一个去除老式模拟录音c 扣 噪声的应用。但是即使是非实时应用,缺少执行可预测性会引起问题复杂化。因 第3 页其9 0m 浙江大学硕士学位论文 为缺少可预测性意味着在选择处理器之前评估性能的困难和优化代码的困难( 常 常发生在需要高性能d s p 应用的主要步骤上) 。 当然,d s p 处理器和通用处理器在代码执行时间上都是根本确定的。这就是, 给出了足够的信息是有可能预测执行一段特殊代码所需的时钟周期数。实际上, d s p 处理器有着简单的体系结构,它支持能帮助程序员决定代码段执行时间的工 具。相反,一些通用处理器有着极其复杂的体系结构( 例如,动态选择并行执行 指令的超标量体系结构) 和缺少对预测执行时间工具的支持。 在很多情况下,程序员编写实时d s p 应用代码,然后在通用处理器上执行 和测量运行时间。但是由于d s p 算法的复杂性和高数据传输率的要求意味着在 许多d s p 应用中,为了获得最高性能大多数程序员要直接编写汇编语言。在这 种情况下,为了有效地选择个处理器、预测性能和优化代码( 包括执行时间) , 要求应用程序员( 而不是编译器程序员) 必须懂得复杂的处理器体系结构。 与g p p 应用形成对比的是,大多数d s p 应用( 如移动电话和调制解调) 都 是硬实时应用即在每种情况下全部处理必须发生在特定长时间内。这个性能 限制需要程序员决定每个采样确实需要多少处理时间;或者至少是在最差情况下 需要多长时间。乍一看这可能不是一个特别重要的地方,但是如果你企图用一个 高性能g p p 去执行实时信号处理它就会变得关键。 如果你打算把低成本g p p 用于实时d s p 应用,执行时间可预测性可能不是 个问题,因为低成本g p p 有相对简单的结构和容易预测的执行时间,就像d s p 处理器一样。然而,多数实时d s p 应用需要比低成本g p p 所能提供的更好的性 能,所以开发者必须要么选择d s p 处理器要么高性能g p p 。但是哪个是最好的 选择呢? 在这里执行时间可预测性起了一个很大的作用。 例如,在高性能g p p 上应用复杂的算法,这些算法需要用转移记录去预测 转移有没有可能接受,并依靠这个预测g p p 随机地执行指令。这个例子的意思 是相同的代码段会消耗不同的指令周期数,而指令周期数是决定于以前发生过的 事件。 当一个处理器的设计合并了许多动态特性如转移预测和缓存,这使得即 使是一个很短的代码段也不可能去预测到底它会执行多长时间。虽然程序员有可 能决定最长的执行时间,但是它可能会比实际的执行时间丈一个数量级。最差情 况估计会迫使程序员在高性能g p p 上实现实时d s p 应用时极其保守。缺少执行 时间可预测性会对程序员( 或编译员) 优化代码产生反面影响。 让我们来对比一下在d s p 处理器和在g p p 上预测执行时间所花的努力。一 些d s p 处理器利用缓存,但是程序员( 不是处理器) 决定哪些指令会驻留在缓 存,所以很容易知道指令将会从缓存或存储器取得。d s p 处理器通常不用动态特 性,如转移预测和随机执行。因此,在d s p 上预测一段代码的执行时问非常简 单。执行时间可预测性使程序员在编程时确信他的程序达到了芯片的最高性能。 1 2 4 存储器 d s p 处理器能够在单个指令周期内完成多个存储器防问。这就允许处理器在 取指令的同时取得指令的操作数,或把前一条指令的结果存到存储器中。通常, 第4j j 其9 0 贞 浙江大学硕士学位论文 在单周期内多存储器访问只有在限制的环境下才行。例如,通常除了一个访问之 外的全部存储器单元访问必须在片内,以及多存储器访问仅仅发生在某些指令 中。为了支持同时多存储器访问,d s p 处理器利用多片内总线、多端口片内存储 器或是独立的存储器空间。 为了使数字处理能更快地进行,d s p 处理器拥有一个或多个专门的地址产生 单元。地址产生单元能与算术指令并行执行,然后产生访问数据存储器的地址。 地址产生单元通常支持适合d s p 应用的寻址方式。例如,后自增寄存器间接寻 址、循环寻址( m o d u l o ) ( 对于实现数字滤波延迟线很有用) 和位反寻址( 对实现 快速傅里叶变换有用) 。但是在g p p s 中这些寻址方式是很难找到的,他们只能 利用软件去实现相同的功能。 为了保持高的处理吞吐量,高性能通用处理器利用片内、片外指令和数据缓 存。通常片内缓存占用相当大的芯片面积。如果所需要的指令和数据在片内缓存 内,处理器会以全速执行。否则,处理器会空| j i = j 下来直到代码和数据从主存储器 或二级片外缓存存入片内缓存。对于通常的计算应用,缓存能很好地工作:因为 频繁访问的代码和数据有更大可能被放置在片内缓存以提高最常访问的部分程 序的性能。然而对于实时应用,访问缓存这种概率性的行为是会出问题的。这是 因为许多实时应用必须在每种情况下满足实时限制,而不是最多情况的平均。认 识到这个因素之后,一些通用处理器允许程序员去手工控制缓存,因此保证了关 键代码和数据放在缓存中,但是这是以下降其它部分代码的性能为代价的。 出于成本的考虑,许多通用处理器利用动态随机存储器作为主存。由于 d r a m 的类型和系统设计的问题,访问基于d r a m 的主存也会加大执行可预测 性的复杂度,例如刷新周期和当存储器地址跨过存储页时所增加的访问时间。相 同,依靠虚拟内存更加复杂化了执行的可预测性。 1 2 5 转移预测 对于深流水线的处理器,转移的化费是很大的。普通的减轻转移成本的方法 是在处理器中提供硬件去预测将要来的转移的结果。转移预测对于有多次小循环 的d s p 软件非常有效。然而,像缓存访问样,转移预测是一个概率性的机制, 它土f ! 加了决定和优化代码段执行时间的复杂性。 1 2 6 动态指令方案 像d s p 处理器一样,高性能通用处理器很大程度上依赖于增加并行执行以 获得性能增加。在通用处理器中,增加并行执行常通过超标量执行来实现。超标 量执行就是处理器动态地选择顺序指令并行地执行,而是否并行执行决定于提供 的执行单元数和指令间的相关性。 在超标量处理器中,有一些规定用来控制所给的一组指令能否被并行处理。 这些规定是非常复杂的,它们包括指令的执行记录。例如,在i n t e l 奔腾中,除 非第二条指令是单字节长度,或二条指令以前从片内指令缓存被执行过以及没有 被重写过,否则二条指令不能被同时执行。 在超标量处理器中指令的运行时间安排足非常复杂的,很l 三| 然,也使预测代 码段执行时间和优化代码复杂化。 第5 负) 09 0 贝 浙江大学硕士学位论文 1 2 7 数据相关执行时间 一些通用处理器表现出了数据相关指令执行时间,就是一些指令的执行时间 决定于被处理的操作数值。这类情况有别于普通情况指令执行时间依赖于操 作数宽度( 例如,双字乘法相对于单字乘法) 。当关键d s p 指令表现出数据相关 执行时间时,估计代码执行时间和优化性能工作变得更加复杂。例如,先进的 r i s c 核“a r m 7 t d m i ”完成整数乘法在两个到五个时钟周期之间,而时钟周期 数的多少决定于操作数值。 在出现数据相关执行时间时,传统的预测代码性能的方法是假定每个指令执 行最大时间。这导致了在一些应用中出现不现实的悲观估计。然而,在一些情况 下它可以直接地决定在某些操作数范围之内的限度,因此获得更现实的执行时间 的估计。不幸地是,在许多应用中这种方法是不切实际的。 如上所述,在超级通用处理器上预测代码执行时间的复杂性是指程序员只能 在目标处理器上执行他们的代码以决定它们的执行时间。这在应用有数据相关执 行时间的处理器时尤其冒险,因为所测的时间并不能反映在应用中所能期望的最 坏的情况。实际上,由于信号幅度的复杂关系,确实不可能决定真实的最坏执行 时间。这迫使程序员转向假定每条指令花费r 最长执行时间。 1 2 8 操作系统 当前有许多为通用处理器设计的各种类型的实时操作系统。设计实时操作系 统是为了帮助开发人员保证应用的实时性。然而许多d s p 应用在利用通用处理 器的计算机和工作站中,而仅仅是因为这些操作系统已经存在于这些平台之上 了,所以它们必须运行在非实时操作系统之下,如微软视窗和各种版本的u n i x 系统。虽然未必会出现这样一种情况在通用处理器上的d s p 应用必须与非 实时操作系统竞争,但是作为现实的问题这也是很普通的。 有可能从非实时操作系统引出实时行为尤其是如果操作系统扩充r 这方而 的性能。非实时操作系统的开发者逐渐增加了对实时应用需求的注意。然而,我 们期望在非实时操作系统上实现实时应用在段时间内仍会是对d s p 应用的一 个重要挑战。 1 2 9 工具 通常有效的应用开发必须要有软件和硬件开发工具,尤其是对性能要求高的 实时应用就更加重要了。在这样的应用中,开发者需要有能力去详翔l 地分析和预 测性能、实时地调试和完全地优化关键代码段。 与流行的通用处理器相比,d s p 处理器在历史上对工具的支持就相当有限。 例如,d s p 处理器的调试器和高级语言编译器就滞后于通用处理器的至少一代 ( 跟据性能和使用的方便程度) 。然而在支持实时系统的开发、调试工具和片内 调试的方便上,d s p 处理器胜过了通用处理器。例如,儿乎全部d s pl j t j 直两提 供了精确到时钟周期的指令集模拟器。这个模拟器允许程序员察看在处理器l :执 行的指令代码的详细情况,这是为了方便性能分析、优化和训试。d s p 处理 通 常也提供片内硬件来支持实时调试。这就允许系统以全速运行直到断点条件被触 第6 负j 09 0 负 浙江大学硕士学位论文 发。这种工具和片内调试的能力在通用处理器是没有提供的。因为分析和优化代 码的复杂性,高端处理器尤其存在这样的问题。 有这样一种迹象,通用处理器供应商开始认识到工具支持实时开发的需要。 1 3d s p 现状 自从1 9 8 2 年德州仪器在商业上成功地推出了第一个d s p 处理器t m s 3 2 0 】0 之后,它的结构结合加速乘法专门硬件和双总线存储器结构成为传统 d s p 结构的基石。直到现在d s p 处理器主要以逐渐增强前代产品来提高性能; 新的d s p 处理器趋向于与它们前代保持相似,然而在过去的几年中,d s p 结构 已经成为众所瞩目的东西,许多供应商宣布r 与前代完全不同的新结构。但是这 些d s p 主要面向高性能d s p 的,像g p p s 一样,d s p 处理器的性能和价格变化 很大。 】3 1 低成本d s p 在低价格和低性能范围内的d s p 是用于工业产品的d s p 。包括模拟器件公 司的a d s p 一2 1 x x 、德州仪器的t m s 3 2 0 c 2 x x 和摩托罗拉的d s p 5 6 0 x x 系列。 这些处理器通常工作在2 0 到5 0 m i p s ( 百万指令每秒) 以及在维持适度的功耗和 存储器利用率的情况下提供很好的d s p 性能。它们常用在有d s p 性能要求及功 耗和成本限制的消费产品中,像硬盘驱动器和数字应答机。 1 3 2 低功率d s p 低功率d s p 通过组合增高时钟频率和更先进的硬件来获得更高的性能。像 朗讯的d s p l 6 x x 和德州仪器的t m s 3 2 0 c 5 4 x 一类的d s p 处理器工作在1 0 0 到 1 2 0 m 1 p s ,为了提高在普通d s p 算法上的性能,它们常常包含了附加的桶型移 位器或是指令缓存。 这一类的处理器有更深的流水线。它们会有更好的性能但是仍保持功耗很 低。这个性能范围内的处理器常用于无线通信和高速调制解调器,因为它们需爱 相对高的计算要求和低的功耗。 1 3 3 各种高端d s p 在这个组里的d s p ,它们的体系开始趋向分化,这是由于超速处理需求的推 动。设计者要想得到比提高时乍i l 速率所取得的性能增长更大的d s p 处理器,那 么处理器必须在每个指令周期做更多有用的d s p 工作。当然,商性能g p p 的设 计者也是被这个目标所驱动的,但是另外的目标如维持执行时间可预测性、程序 最小化和功耗限制通常不会限制他们的设计决策。d s p 处理器设计者能用许多利, 方法提高在每个周期完成d s p 工作的数目;在这儿讨论二种方法。 a ) 增强传统d s p 处理器 传统上,d s p 处理器利用复杂的复合指令,它允许程序员把多个操作编成一 浙江大学硕士学位论文 个指令。例如,一些d s p 允许程序员把f i r 滤波器的分接头的所有操作描述在 一个指令中,而且d s p 处理器通常每个周期发射和执行一个指令,这种单发射、 复杂指令方法允许d s p 处理器获得很强的d s p 性能,而不需要大量的程序存储 器。 这种方法是用更多的并行计算单元加到数据通道中,从而扩展传统d s p 结 构,如第二个乘法器或加法器。这种方法需要一个扩展指令集,而且这个指令集 要能充分利用额外的硬件把更多的操作编码到一个指令上,并且能并行执 行。因为这种方法是已有d s p 结构风格的个扩展,所以我们把这一类处理器 称为增强的传统d s p 是。 这种方法的一个主要的例子是朗讯的d s p l 6 2 1 0 ,它有两个乘法器,一个算 术逻辑单元,一个加法器和一个位处理单元。d s p l 6 2 1 0 有二条3 2 位数据总线, 所以它能在每个指令周期从存储器取得四个1 6 位数据。这样宽的总线能避免双 乘法器和其它功能单元数据缺乏。d s p l 6 2 1 0 工作在1 0 0 m i p s ,在维持成本与功 耗与前一代d s p 处理器相同的情况下它能提供更高的性能。它主要瞄准高性能 通信应用。 增强传统d s p 方法导致了极大的性能提高同时以维持成本和功耗与前代 d s p 同级。 b ) 多指令方法 正如上面所提到的,d s p 处理器通常利用复杂的复合指令,它们每个指令周 期被发射和执行一次。然而最近,一些d s p 已经舍弃了这个传统,他们企图获 得比传统( 甚至增强传统型) d s p 所能获得的更高的处理器性能。有些设计者选 择一个更像r i s c 的指令集与支持每个周期执行多条指令的结构,而不是往常的 单发射、复杂指令结构。例如,p h i l i p st r i m e d i a 和德州仪器的t m s 3 2 0 c 6 2 x x 系列都利用就像是在通用处理器中所见的超长指令字( v l i w ) 结构。在t i 的版 本中,处理器取得一个2 5 6 位的指令包,并解析成八个3 2 位指令,发送到八个 独立的执行单元。在晟好情况下,c 6 2 x x 同时执行八条指令这导致了极高 的m i p s 率( 2 0 0 m h z 的处理器达到1 6 0 0 m p s ) 。通过与当前提供的最快的增强 传统d s p d s p l 6 0 0 0 ( 1 0 0 m i p s ) 相比较,两个处理器的m i p s 率使人们认为6 2 x x 执行程序比d s p l 6 0 0 0 快1 6 倍。但是这儿有一个陷井每个c 6 2 x x 的指令 比典型的d s p l 6 0 0 0 指令简单。这样,即使c 6 2 x x 能保持在每个指令周期执 行八条指令这样的速率( 常常这是不可能的,因为数据相关,存储嚣带宽i j l l l f l 和 其它限制因素) ,它也不可能完成八倍于工作在相同时钟速率的d s p l 6 0 0 0 所能 完成的d s p 工作,因为单个d s p l 6 0 0 0 指令能完成的工作需要二个甚至更多的 c 6 2 x x 指令才能完成。因此,两个处理器之间的性能差别由单独比较它们的 m i p s 率来决定是不精确的。 通常v l i w 处理器需要很大的程序存储器空间( 因为它们利用较多数量的 宽指令) 和高功耗( 部分因为它们有宽的内部总线和并行激活多个执行单元) 。 c 6 2 x x 也不能例外,确实它是高速d s p ,但是它需要比以前的d s p 更多的程 j 孚存储器空间和功耗,由于这个原因,这种芯片不适台于便携应用。t l 放弃能 量艰l 存储器效率换来了极高的性能。 第8 页共9 0 _ 贞 浙江大学硕士学位论文 1 3 4d s p 的s i m d 许多高端通用处理器,如p e n t i u m 和p o w e r p c ,已经加入了增强的硬件和指 令集,这些设计主要是为了提高多媒体和信号处理算法计算的执行速度。最普通 的变化是加上了单指令、多数据操作( s i m d ) 。s d v d 操作通过允许处理器把输 入数据字分成多个由单个指令并行处理的短的数据字从而提高了数据密集操作 的性能。这个技术能极大的提高矢量操作的计算速度,而矢量操作多用在多媒体 和信号处理,如坐标变换和卷积。 s i m d 的能力并不只局限于通用处理器;它们也可在一些高性能d s p 处理器 中见到。如,d s p l 6 0 0 0 在数据通道上支持有限的s i m d 风格的操作,模拟器件 公司最近发布了新一代的“s h a r c ”d s p ,它们已经有增强的s i m d 能力。 1 3 5d s p 微控制器混合 许多应用需要一个面向控制的软件和d s p 软件的混合体。一个主要的例子 是数字蜂窝电话,它必须既实现管理又实现语音处理。通常,微控制器在控制方 面提供好的性能而在d s p 方面性能比较差;专用的d s p 处理器有相反的特性。 因此,直到现在,控制器信号处理应用的组合常由二个分立的处理器来实现: 一个微控制器和一个d s p 处理器。然而在过去的几年中,一些微控制器供应商 已经开始提供d s p 增强版的微控制器来作为双处理器解决方案的一个替代。用 单个处理器去实现两种软件是很吸引人的,因为它能: 简化设计任务 节省电路版面积 降低总体功耗 下降系统成本 微处理器供应商利用一些不同的方法把d s p 功能加到现存的微处理器设计 中。例如h i t a c h i 提供了他们s h 2 微处理器的d s p 增强版。这个版本称为 s h - d s p ,它加了一个完整的1 6 位定点d s p 数据通道到s h 2 微处理器中。 1 4d s p 的应用1 2 5 i d s p 因其强大的数学运算处理能力而占据了传真 习制解调器、蜂窝电话、 音频、语音处理等应用领域。而在雷达、太阳能、图像处理和许多数据分段简 化应用中,d s p 也一直发挥着很大的作用。此外,d s p 在工业控制和计算机应 j 刳中也一直保持不断发展的趋势,例如高速控制、马达调速、硬盘驱动器并行处 理以及机器人,等等。总之,概括起来d s p 处理器应用领域目前包括以下几个 方而: a ) 扩大了的d s p 控制。 第9 页共9 0 页 浙江大学硕士学也论文 随着d s p 价格的下降及其解题能力的加强,工程师们逐渐把许多微控制器 功能移入d s p 中,并将它应用于如调制解调器、传真、蜂窝电话和p d a ( p e r s o n a l d i g i t a la s s i s t a n t ) 等一些传统的控制领域。 b 1 硬盘控制器。 d s p 控制器现已占领硬盘驱动器( h d d ) 伺服控制部分的市场,而一些公 司继续把一些前端控制部分也交给由d s p 处理。 c ) 马达和传统控制器。 很强的数学处理能力和解题能力,使d s p 完全有能力承担复杂的马达控制 运算。而且,d s p 控制器能直接以动态控制方式运行,无需依赖于过去的查寻图 表方式。在高速控制中,使用d s p 可进行通常的位检测和逻辑运算以及高速数 据传送。又可用于闭环控制系统中对控制信号的调节、滤波及高速计算等。 d ) 3 2 位图形、高性能处理 在雷达、太阳能和图形处理等高性能数据流应用中,d s p 是一个绝妙的强手, 在崭露头角的声音、视频和图像应用中,由于d s p 提供高速乘累加运算操作, 以及可访问大量外部存储空间和访问全局存储空间的能力,所以它也是一个强有 力的竞争者。这一领域中包括视频游戏、多媒体应用和电视会议等。 e 1 并行处理和嵌入式应用 并行处理是计算机技术发展的必然趋势。早期的并行处理结构使用通常的微 处理器件为基本处理单元,但许多高性能的应用首先可以使用d s p 来实现。例 如,t m s 3 2 0 c 4 0 提供了6 个通信端口可真接进行处理器间的连接:d s p 9 6 0 0 2 具有两条完全独立的外部总线,其中条用于访问全局资源,保留另一条用于局 部内存的处理和i o 口的处理。以它们为基础可以构成各种形式的并行处理结构。 传统的嵌入式结构以c i s c ( 复杂指令系统计算机) 或r i s c ( 简化指令系统 计算机) 处理器为核心。随着d s p 的不断发展与完善,d s p 已被证明是嵌入式 应用中可选择的一种有效器件。使d s p 、r i s c 和c i s c 不同类型的处理器混合 并匹配己成为现实,r 1 s c 和d s p 也无需再进行激烈的竞争,设计师们正把它们 共同集成到c p u 中,建造出真正的鼬s c 仍s p 合成体。 总之,由于d s p 器件在结构设计上的优越性,已经引起人们的普遍重视。 近年来,d s p 已经开始支持高级语言,并出现了支持d s p 的实时操作系统。特 别是由于c 编译器得到改进,以及优化的联机应用数据库的出现,d s p 的应用 前景就更为广阔。 第1 0 页共9 0 页 浙江大学硕士学位论文 2 微处理器设计基础 2 1 设计者的任务”卅 设计者所面临的一个复杂的任务:决定什么特性是新处理器最重要的,接着 在维持成本限制范围内设计处理器以达得性能的最大化。这个任务有许多方面, 包括指令集设计、功能组织、逻辑设计和实现。实现包含集成电路设计、封装、 功率和冷却。优化设计需要熟悉很宽范围的技术,从编译器和操作系统到逻辑设 计和封装。 在过去,指令集设计指的是计算机体系,但在这里它所指的是程序员可见的 指令集。指令集体系是作为软件和硬件之间的一个界限,主要在第三章中讨论。 实现包括二个方面:组织和硬件。组织意思是高层设计,包括存储器系统、总线 结构和内部处理单元( 算术、逻辑、转移和数据传输) 设计。硬件指的是处理器 描述。它包括详细的逻辑设计和封装技术。 体系设计者设计处理器必须像满足价格和性能目标一样满足功能要求。常常 也必须决定什么是功能需要,这是一个主要的任务。需要可以用特征来描述,它 主要来自于市场。应用软件常常驱动某种功能要求的选择。这些特征包括应用领 域( 通用、科学和商业) 、软件兼容性水平、操作系统需求( 地址空间、存储器 管理和保护) 、标准( 浮点、i 0 总线、操作系统、网络和编程语言) 。 一旦功能需要集确定了,设计者必须尽量优化设计,主要是在成本和性能方 面。给定了一些应用领域,通过被选为表述应用领域的一个程序集,设计者能尽 量量化性能。其它可测量的需求可能在一些市场中比较重要:可靠性和容错性常 常在传输处理中是关键因素。在选择设计方案中,一个因素设计者必须考虑,那 就是设计复杂度。复杂的设计要花很长的时间去完成,从而延长时间进入市场。 这意味着一个长时间设计要有更高的性能才有竞争能力。 2 2 测试性能 当我们说一个处理

温馨提示

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

最新文档

评论

0/150

提交评论