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

下载本文档

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

文档简介

摘要 摘要 随着数字信号处理技术的不断发展,对数字信号处理器( 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 核的基础上设计增强型的1 6 位定点d s p 核,然后对增强型d s p 核进行研究。通过分析数字信号处理器的发展趋势,本文提出增加一个并行的硬件乘法器与一个3 输入加法器从而实现单周期双乘累加( m u l t i p l ya n da c c u m u l a t eo p e r a t i o n 。m a c ) 操作,并通过扩展 指令集与总线位宽来配合硬件单元的增加。在以上的扩展前提下,本文对各个功能模块、指令集、 寻址方式进行设计,最后形成一个完整的增强型d s p 核。 在完成了增强型d s p 核的寄存器传输级( r e g i s t e rt r a n s f e rl e v e l ,r t l ) 设计后,对该内核进行 指令集仿真以确保该内核功能的正确性,并通过程序实例进行性能分析。指令仿真的结果表明d s p 核能够正常运行各条指令:程序实例仿真的结果表明增强型设计大大提高了d s p 核的性能。在相同 频率的情况下,增强型d s p 核实现三角函数、有限冲击响应滤波器、自相关函数等程序实例的速度, 比原d s p 核提升了大约1 0 0 ,所需取的数据量的减少表明功耗也得到相应的节省。通过d e s i g n c o m p i l e r 进行综合,结果表明增强型设计的面积增加了大约6 0 。论文最后对本文的研究内容进行 了总结,并对未来的研究工作做出了展望。 关键词 增强型1 6 位定点d s p 乘累加扩展指令集总线 东南大学硕士学位论文 a b s t r a c t w i t ht h ei n c r e a s i n gd e v e l o p m e n to fd i g i t a ls i g n a lt e c h n o l o g y , m u c hh i g h e rp e r f o r m a n c eo fd s p ( d i g i t a ls i g n a lp r o c e s s o r ) i sr e q u i r e dt h a nb e f o r e t h eh i g h e rp e r f o r m a n c eo fd s pc a l ln o tb er e s o l v e df r o m t h et r a d i t i o n a l a r c h i t e c t u r e ;t h e r e f o r eav a r i e t yo fs t r a t e g i e sh a sb e e np u tf o r w a r dt oi m p r o v et h e p e r f o r m a n c e a m o n gt h eb e s tw a y st oi m p r o v et h eo p e r a t i o np a r a l l e l i s ma r ep a c k i n gs e v e r a lo p e r a t i o n si n t o e a c hi n s t r u c t i o n so p e r a t i o na n di n c r e a s i n gt h en u m b e ro fe x e c u t e di n s t r u c t i o np e rc y c l e r e s u l t i n gf r o m t h e s et w op a r a l l e lr e q u i r e m e n t s ,s e v e r a ln e wd s pa r c h i t e c t u r e sc o m eo u t ,o n eo fw h i c hi ss t r u c t u r e db y e n h a n c e d - p e r f o r m a n c ed s e t h ep u r p o s eo ft h i st h e s i si st o d e s i g na ne n h a n c e d16 - b i tf i x e d - p o i n td s pc o r eb a s i n go nt h e t r a d i t i o n a ld s pc o r e ,a n dt o s t u d yt h ep e r f o r m a n c eo ft h ee n h a n c e dd s pc o r e b ya n a l y z i n gt h e d e v e l o p m e n tt r e n do fd s p , t h i st h e s i sp u tf o r w a r da d d i n gap a r a l l e lh a r d w a r em u l t i p l i e ra n da na d d e rw i t h t h r e ei n p u t st oi m p l e m e n td u a lm a c ( m u l t i p l ya n da c c u m u l a t eo p e r a t i o n ) o p e r a t i o n p e rc y c l e ,a n dt h r o u g h e x t e n d i n gt h ei n s t r u c t i o ns e ta n dw i d t ho fb u st oc o o p e r a t et h ee n h a n c e m e n to fh a r d w a r ec e l l o nt h e f u n d a m e mo ft h ep r e v i o u se x t e r n a lp r e c o n d i t i o n ,a l lf u n c t i o nm o d u l e s 、i n s t r u c t i o ns e t sa n da d d r e s s i n g m o d e sa r ed e s i g n e da n d f i n a l l yi n t e g r a t e di n t oa ne n h a n c e dd s p c o r e a f t e rf i n i s h i n gr t l ( r e g i s t e rt r a n s f e rl e v e l ) d e s i g no ft h ee n h a n c e dd s p c o r e ,t h ei n s t r u c t i o ns e ti s s i m u l a t e dt oe n s u r et h ec o r e sf u n c t i o na n dp r o g r a mi n s t a n c e sa r ei l l u s t r a t e dt oa n a l y z et h ep e r f o r m a n c e t h ei n s t r u c t i o n s s i m u l a t i o ns h o w st h a td s pc o r ec a nr u na l l i n s t r u c t i o n sc o r r e c t l y ;a n dt h ep r o g r a m i n s t a n c e s s i m u l a t i o ns h o w st h a td s pc o r e sp e r f o r m a n c eh a sb e e ng r e a t l yi m p r o v e db yt h ee n h a n c e d d e s i g n w h e nw o r k i n gu n d e rt h es a m ef r e q u e n c y ,t h es p e e do ft h ei m p l e m e n t a t i o n so ft r i g o n o m e t r i c f u n c t i o n 、f i n i t ei m p u l s er e s p o n s ef i l t e r 、c o r r e l a t i o nf u n c t i o ni si n c r e a s e db ya b o u t10 0 t h a nt h eo r i g i n a l d s p , af e t c hi n d e xo fl e s st h a no n er e s u l t si nac o r r e s p o n d i n gp o w e rs a v i n g s t h er e s u l to fs y n t h e s i sw i t h d e s i g nc o m p i l e rs h o w st h a tt h ea r e ao ft h ee n h a n c e dd e s i g ni n c r e a s e sb ya b o u t6 0 a tt h ee n do ft h e t h e s i s ,t h er e s e a r c hi sc o n c l u d e d k e yw o r d : e n h a n c e d16 - b i t sf i x e d - p o i n td s pm a ce x t e n di n s t r u c t i o ns e t b u s i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 研究生签名:期:丝竺! 圭:竺 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:雌导师签名:兰垒鸳e t 期:堕:! :盆 第一章绪论 1 1 问题的提出 第一章绪论弟一早三百。下匕 数字信息时代已经进入了高速发展的阶段,数字信息技术的核心是数字信号处理。数字信号处 理技术已经被广泛应用于消费电子,通讯领域,多媒体产品上。数字信号处理器( d i g i t a ls i g n a l p r o c e s s o r ,d s 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 的指令仍然采用复杂指令,即一个时钟周期 内完成多个操作。 如何在原有的传统d s p 核的基础上设计增强性能的d s p 核使其达到更高的性能要求是本文讨论 的主要问题。本文首先对数字信号处理器做一个全面的介绍,接着分析原有的d s p 核的结构特点及 性能指标;具体讨论了增强型d s p 设计的结构设计,指令集与流水线设计以及寻址方式的设计;最 后,分析了增强型设计所带来的性能的提升。本文采用自顶向下的设计方法,利用硬件描述语言 v e r i l o g 进行正向设计,兼容d s p l 6 0 0 0 的指令集,完成了增强型d s p 内核的设计。 1 - 2 论文的主要工作 g a r f i e l d5 是由东南大学国家专用集成电路系统工程技术研究中心设计系统芯片,其包含1 6 3 2 位r i s c 微处理器和1 6 位定点d s p ,面向工业控制、中端p d a 等消费类电子。g a r f i e l d5 使用o 1 8 u r n 标准c m o s 的工艺设计,内嵌a 7 2 0 t 处理器内核( a r m 7 t d m i 8 k b 指令数据统一c a c h e 8 e n t r y r t l b w d t eb u f i e r ) ,具有低功耗、低成本的优点。内嵌1 6 位定点高性能d s p ,支持信号处理类 应用。其中,1 6 位定点d s p 模块兼容a g e r e 公司的d s p l 6 0 0 的指令集。该d s p 模块数据总线宽度 为1 6 位,单周期只能完成一次m a c 操作,只支持1 6 位的指令集。这在有更高要求的数字信号处 东南大学硕士学位论文 理应用场合中该d s p 核的性能很难能够达到要求。g a r f i e l d 的结构如图1 - 1 所示。 厂、 r t c t l m e r d s p 玎q t c f 司 1 盯 i n t e r f a c en a n d p m c j n o r 电 o s d 1卜 b r i d g e 勺 &a h b b u s _ s p i d m a o c l s r a m u a r t 弋7 u s b 幽 m m ui c a c h e s d r a m a l u 订7 t d m i ill l c o d e c pp叫巴型 a s p 门一a 1 j u 嗣i 1 【u 图1 1g a r f i e l d 结构图 本文的主要工作就是在原来的d s p 核的基础上进行增强性能的设计。包括增加乘加单元等硬件 单元,扩展指令集,扩展总线宽度。相应的控制逻辑的重新设计。该增强型的1 6 位定点d s p 处理 器内核的指令集与a g e r e 公司的d s p l 6 0 0 0 内核吻合。利用v e r i l o gh d l 语言对设计进行r t l 级的 描述,使用s y n o p s y s 公司的高性能v e r i l o g 仿真工具v c s ( v e r i l o gc o m p i l e ds i m u l a t o r ) 验证d s p 模块的指令集。该d s p 设计包括数据算术单元、指令地址算术单元、数据地址算术单元、指令缓存 以及控制模块等。本文设计的1 6 位定点d s p 模块中,算术逻辑单元( a r i t h m e t i cl o g i cu n i t ,a l u ) 可以完成双操作数的与或非异或等逻辑操作、双操作数的a n 减等算术操作等;位处理单元( b i t m a n i p u l a t eu n i t ,b m u ) 可以完成4 0 b i t 桶型移位、归一化、取指、位提取插入等操作。该d s p 主要 特性如下所示: 1 单周期实现两个乘累加操作。 2 8 个4 0 位的累加器。 3 三种可选的并行操作 4 0 位的a l u 操作。 4 0 位3 输入的加减法操作。 4 0 位的b m u 操作。 4 3 2 位的内部数据总线和单周期3 2 位的读写操作。 2 第一章绪论 5 3 2 位指令兼容1 6 位指令。 6 统一的2 0 位地址可选址空间( 1 m w o r d ) 。 1 2 7 k 字用于选址内部双端口r a m 8 9 6 k 字用于选址内部r o m ,内部i o ,外部存储空间及外部i o 9 个2 0 位的数据指针( s p ,r 0 - r 7 ) ,两个数据后增寄存器( j ,k ) 两个2 0 位的系数指针( p t 0 ,p t l ) ,两个系数后增寄存器( h ,i ) 两组桶形缓冲寄存器( r b 0 ,r e 0 ,r b l ,r e l ) 堆栈指针用于实现寄存器偏移选址指令以及堆栈指令 7 增强的控制指令( 包括基于程序计数器( p c ) 的相对跳转和c a l l ) 本文通过原有d s p 处理器的细致研究和分析,从处理器设计的不同层面进行了深入系统的研究。 本文对d s p 内核的增强设计,大大提高了d s p 处理器对相关媒体算法的计算性能,完善处理器程序 控制功能,扩展了处理器的应用空间。本文对处理器的结构设计,指令集,流水线等做了具体的讨 论,意在探索出复用口核进行增强设计的新的思路与途径。 1 3 论文的结构 本文分为5 个章节。第一章为绪论。第二章为数字信号处理器概述,包括数字信号处理器的发 展;传统1 6 位定点d s p 核的结构特点;影响数字信号处理器性能的关键因素;增强型设计方案。 第三章为增强型d s p 内核的设计,在d s p 内核设计中将会详述d s p 主要组成模块的设计,包括数 据算术单元( d a t aa r i t h m e t i cu n i t ,d a u ) 、指令地址算术单元( xa d d r e s sa r i t h m e t i cu n i t ,x 从u ) 、 数据地址算术单元( y a d d r e s sa r i t h m e t i cu n i t ,y 从u ) 、系统控制模块;指令集流水线的设计;寻址 方式的设计。第四章为主要指令验证及性能研究。最后一章是总结和展望。 3 东南大学硕士学位论文 第二章数字信号处理器 2 1 数字信号处理器介绍 英文d s p 有两个意思:一个意思是数字信号处理,一个意思是数字信号处理器。虽然有的场合 用“p r o c e s s o r ”,但大多数情况下并不区分。这反映了两者之间的密切关系。事实上,数字信号处理 器的出现主要是为了解决数字信号处理问题中的大量数字运算。早期的计算机理论认识到,数字信 号处理可以利用一系列乘法和加法来实现。这一需求就产生了相应的微处理器,数字信号处理器。 这一处理器的一个显著特点是能够在一个时钟周期内完成至少一次乘法或乘法一累加计算。这一要 求就决定了数字信号处理器的主要特点。即所有的数字信号处理器都包括至少一个专用的单时钟周 期乘法器或乘法累加单元;特有的总线结构;特有的存储器结构;特殊的指令集。大多数情况下, 数字信号处理必须在实时情况下进行,这一要求除了对数字信号处理器有速度要求外,还引进了d s p 的另一个特点,就是操作的确定性要求。即完成工作的时间必须是可以预测的、确定的【1 】【2 1 【3 1 。 2 1 1 数字信号处理器的特点 与通用处理器相比,数字信号处理器具有独特的体系结构,这些区别产生于数字信号处理器的 结构和指令是专门针对信号处理而设计和开发的,下面列出这些是比较常见的( 4 】【5 】【6 1 。 1 )哈佛( h a r v a r d ) 体系结构 传统的通用处理器( g p p :g e n e r a lp u r p o s ep r o c e s s o r ) 使用冯诺曼存储结构,在这种结构中, 有一个存储空间通过两条总线( 一条地址总线和一条数据总线) 连接到处理器内核,这种结构不能 满足m a c 必须在一个指令周期中对存储器进行四次访问的要求。d s p 处理器一般使用哈佛结构, 在哈佛结构中,有两个存储空间:程序存储空间和数据存储空间。处理器内核通过两套总线与这些 存储空间相连,允许对存储器同时进行两次访问,这种安排使处理器的带宽加倍。在哈佛结构中, 有时通过增加第二个数据存储空间和总线来实现更大的存储带宽。现代高性能g p p 处理器通常具有 两个片上超高速缓冲存储器枣一个存放数据,一个存放指令。从理论的角度上讲,这种双重片上高 速缓存与总线连接等同于哈佛结构,但是,g p p 处理器使用控制逻辑来确定哪些数据和指令字驻留 在片上高速缓存里,这个过程通常不为程序设计者所见,而在d s p 处理器里,程序设计者能明确的 控制哪些数据和指令被存储在片上的存储单元或缓存中。 2 ) 零开销( z e r o o v e r h e a d ) 循环 数字信号处理算法的共同特征是大部分处理时间花在执行包含在相对小循环内的少量指令上。 因此,大部分数字信号处理器具有零消耗循环控制的专门硬件。零消耗循环是指处理器不用花时间 4 第二章数字信号处理器 测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的递减。有些数字 信号处理器还通过一条指令的超高速缓存实现高速的单指令循环。 3 ) 专用的m a c 硬件设计 乘积累加操作是数字信号处理器中使用最频繁的操作。为了有效地实现乘积累加操作,d s p 提供了一个专门的硬件乘法器来实行乘积累加( m a c ) 运算,一个具有足够多位数来保留乘积的加 法器,以及一个显式的乘法累加指令,即取两个操作数到乘法器中作乘法,并将乘积累加到累加器 中,这些操作往往可在单个指令周期内完成,这使得d s p 作乘积累加操作的速度比传统r i s c 处理 器大为提高。 4 ) 流水线设计 同大多数的通用处理器相似,数字信号处理器同样广泛采用流水线以减少指令执行时间,从而 增强了处理器的处理能力。通常的d s p 处理器的流水线深度从2 到6 级不等。也就是说,数字信 号处理器同时可以并行处理2 - 6 条指令,每条指令处于流水线上的不同阶段。例如,在三级流水线 操作中。取指、译码和执行这3 个操作可以独立地处理,这可使指令执行能完全重叠。在每个指令 周期内,三个不同的指令处于激活状态,每个指令处于不同的阶段。例如,在第n 个指令取指时, 前一个指令即第n 1 个指令正在译码,而第n 2 个指令则正在执行。一般来说流水线对用户是透明 的。 5 ) 特殊寻址方式 d s p 处理器经常支持特殊寻址方式,这对于普通的信号处理操作和算法是很有用的。例如模( 循 环) 寻址方式,它使一个存储器区域看起来像一个连续的循环区域,这对于实现数字滤波器延迟很 有用;位反转寻址方式对于实现快速傅立叶变换( 或简称f f t ) 等常用d s p 算法很有用。 6 ) 特殊的指令集 d s p 处理器的一个基本设计目标就是使处理器的最重要硬件资源得到最大发挥以提高效率。为 了实现这一目标,d s p 指令集一般都采用了一条指令实现多种并行操作的设计方法,典型地表现为: 在做算术运算的同时,从存储器中读取或写入l 2 个数据,以及针对数字信号处理算法的特点所设 计的专用指令,如一条指令同时实现乘加操作使得f i r 算法得以快速的实现。 2 1 2 原有1 6 位定点d s p 核的体系结构 g a r f i e l d5 双核体系结构包含a r m 与d s p 两个内核通过a m b a 总线连接【刀。其中的d s p 核属 于传统型的d s p 处理器:采用四级流水结构,单周期完成1 6 b i t 1 6 b i t 乘法和3 6 b i t 累加,单周期实 现平方运算,内嵌指令c a c h e 实现零开销循环( z e r o o v e r h e a dl o o p ) ,特有的b m u 模块用以提高信 号编码的效率。 5 东南大学硕士学位论文 该d s p 核包括5 个主要的功能模块:指令缓存模块,指令地址算术单元,数据地址算术单元, 数据算术单元,系统控制单元。各个主要功能模块下又分很多子模块:如指令译码单元,a l u ,b m u 等。d s p 核的结构图如图2 1 所示: 图2 1g a r f i e l d 5 中1 6 位定点d s p 结构简图 该d s p 内核主要包含以下几种寻址方式:立即数寻址,寄存器间接寻址,寄存器直接寻址,混 合寻址,循环寻址等。 d s p l 6 0 0 内核的指令【8 】可以分成7 种基本类型,即程序控制指令、c a c h e 指令、数据搬运指令、 乘累加指令、a l u 指令、b m u 指令、特殊功能指令。该d s p 内核选取了d s p l 6 0 0 内核指令集的子 集。指令的选取主要是保证d s p 内核能够进行大量运算的特性,同时减少了一些复杂的程序控制指 令,在系统灵活性和结构复杂度以及系统功耗之间做了适当的折衷。 2 2 提高d s p 核性能的因素分析 最近几年,数字信号处理器的更高性能由于不能从传统结构中得到解决,因此提出了各种提高 性能的策略。其中提高时钟频率似乎是有限的,最好的方法是提高并行性。提高操作并行性,可以 由两个途径实现:提高每条指令执行的操作的数量,或者是提高每个指令周期中执行的指令的数量。 这两种并行要求产生了多种数字信号处理器的新结构 9 】【1 0 】【l l 】。 作为数字信号处理器,不管它的结构如何改变,最终的目的都是为了更快更好的实现数字信号 6 第二章数字信号处理器 处理的算法。而数字运算的基本单元离不开乘加单元,乘加单元的实现的好坏是评价d s p 性能的一 个重要指标,也是影响d s p 性能的一个重要因素。 本节首先介绍单指令多操作与单周期多指令这两种提升d s p 核性能的方法,每种方法又各包含 了两种不同的结构设计。 2 2 1 单指令多操作 1 ) 增强型数字信号处理器 以前的数字信号处理器采用复杂的、混合的指令集,使一条指令可完成多个操作。传统的数字 信号处理器在一个指令周期内只能读取并执行一条指令。这种单流、复杂指令的方法使得数字信号 处理器获得很强大的性能而无需大量的内存。 在保持数字信号处理器结构和上述指令集不变的情况下,要提高每个指令的工作量,其中的一 个办法是用额外的执行单元和增加数据通路。例如,一些高端的数字信号处理器有两个乘法器,我 们把使用这种方法的数字信号处理器叫做“增强型数字信号处理器”,因为它们的结构与前一代的数 字信号处理器相似,但性能在增加执行单元后大大增强了。当然,指令集必须也同时增强,这样才 能在一条指令中完成更多的并行操作,以利用额外的硬件。增强型数字信号处理器的例子有a g e r e 公司的d s p l 6 0 0 0 ,a d i 的a d s p 2 1 1 6 x 。增强型数字信号处理器的优点是兼容性好,而且与较早的 数字信号处理器具有相似的成本和功耗。缺点是结构复杂、指令复杂,进一步发展有限。 2 ) s i m d 结构 单指令多数据流( s i n g l ei n s t r u c t i o nm u t i p l ed a t a , s i m d ) 处理器把输入的长的数据分解为多个较 短的数据,然后由单指令并行地操作,从而提高处理海量、可分解数据的能力,该技术能大幅度地 提高在多媒体和信号处理中大量使用的一些矢量操作的计算速度,如坐标变换和旋转。 通用处理器s i m d 增强的两个例子是p e n t i u m 的m m x 扩展和p o w e r p c 族的a l i i v e c 扩展。s i m d 在一些高性能的数字信号处理器中也有应用。例如,d s p l 6 0 0 0 在其数据路中支持有限的s i m d 风格 的操作,而a n a l o gd e v i c e s 最近推出了有名的s h a r c 的新一代数字信号处理器,进行了s i m d 能 力的扩展。s i m d 结构由于使总线、数据通道等资源充分使用,并无需改变信号处理( 如图象、语 音) 算法的基本结构,因此s i m d 结构使用越来越普遍。s i m d 结构遇到的问题是算法、数据结构 必须满足数据并行处理的要求,为了加速,循环常常需要被拆开,处理数据需要重新安排调整。通 常s i m d 仅支持定点运算。 7 东南大学硕士学位论文 2 2 2 单周期多指令 1 ) v l i w 结构 传统的数字信号处理器使用复杂的混合指令,并在一个指令周期内只能读取并执行一条指令。 然而,有些数字信号处理器采用一种更r i s c 化的指令集,并且在一条指令周期执行多条指令,使 用大的统一的寄存器堆。例如,s i e m e m s 的c a r m e l 、p h i l i p s 的t r i m e d i a 和的t m s3 2 0 c 6 2 x x 处 理器族都使用了超长指令字( v e r yl o n gi n s t r u c t i o nw o r d , v l i w ) 结构。c 6 2 x x 处理器每次取一个2 5 6 位的指令包,把包解析为8 个3 2 位的指令,然后把它们引到其8 个独立的执行单元。在最好的情况 下,c 6 2 x x 同时执行8 个指令,在这种情况下达到了极高的m 口s 率( 如1 6 0 0 m p s ) ,v l l w 结构 的优点是高性能、结构规整( 潜在的易编程和好的目标编译系统) 。缺点是高功耗、代码膨胀、需要 宽的程序存储器、新的编程编译困难( 需跟踪指令安排,易破坏流水线使性能下降) 。 2 ) 超标量体系结构 象j l w 处理器一样,超标量体系结构并行地读取和执行多个指令。但跟二1 w 处理器不同的 是,超标量体系结构不清楚指定需要并行处理的指令,而是使用动态指令规划,根据处理器可用的 资源,数据依赖性和其他的因素来决定哪些指令要被同时执行。超标量体系结构已经长期用于高性 能的通用处理器中,如p e n t i u m 和p o w e r p c 。最近,z s p 公司开发出第一个商业的超标量体系结构 的数字信号处理器z s p l 6 4 x x 。超标量结构的优点是性能有大的跨越、结构规整、代码宽度没有明显 增长。缺点是非常高的功耗、指令的动态安排使代码优化困难。 2 3 增强型d s p 内核的设计方案 除了增强型的d s p 结构,其它的结构设计都要从头开始,这要投入大量的开发资源。而本设计 可以在原有d s p 的基础上,通过复用有用的口核做扩展设计,这可以大大缩短设计的时间以及减 少其它的开发资源。本文提出设计的增强型的d s p 内核,兼容d s p l 6 0 0 0 的指令集【1 2 】【1 3 1 。使用v e r i l o g h d l 语言进行r t l 级的描述f 1 4 】【1 5 】【1 6 1 。使用v c s 1 刁对各个功能模块进行测试并测试指令集,通过具 体程序实例来分析性能提升。使用d e s i n gc o m p i l e r 对h d l 描述进行综合评估增强型d s p 内核的面 积与速度。 2 3 1 设计概述 由于所设计的d s p 处理器内核规模较大,子模块较多,所以决定采用自顶向下( t o pt od o w n , t o p d o w n ) 的设计方法:从行为建模开始,功能验证了以后再转向可综合模型。使用v e r i l o gh d l 语 言描述设计,以实现d s p 内核的复用。采用h a r v a r d 结构和流水线技术。充分利用原有d s p 核可利 8 第二章数字信号处理器 用的功能模块以实现快速的内核设计。 2 。3 。2 设计流程 整个d s p 内核的设计采用t o p - d o w n 的设计流程。t o p d o w n 1 s 1 设计是一种逐级分解、变换,将 系统要求转变为电路和版图的过程。t o p d o w n 设计从系统的行为、功能、性能以及允许的芯片 面积和成本要求开始,进行电路设计,同时,根据结构特点,将其逐级分解为接口清晰,相互 关系明确,尽可能简单的子结构。接着将结构转换为逻辑,亦即结构设计。下一步是电路设计, 逻辑图被简化为电路图。本设计流程可用图2 2 清楚地表明。 模块划分 上 图2 - 2 设计流程图 本文中的增强型d s p 内核的设计依照如下的步骤进行: 1 ) 模块划分 依据功能将整个d s p 内核划分为各功能模块:系统控制模块、数据算术单元模块、指令地址算 术单元模块、数据地址算术单元模块。而各个功能模块又可以分为若干个更小的子模块,如系 统控制模块可分为控制单元、缓存单元等。 2 )结构设计与功能验证 利用v e r i l o gh d l 1 4 】【1 5 1 语言对每个子模块进行r t l 级描述,建立每个子模块的测试平台,然后 9 东南大学硕士学位论文 使用s y n o p s y s 公司的v e r i l o g 语言仿真工具v c s 16 】对子模块的功能进行测试。若子模块的功能 与设计要求不符,则修改v e r i l o g 描述,直至子模块功能符合设计要求。 3 ) 模块集成与指令集验证 将所有子模块集成,构成d s p 内核,建立d s p 的测试平台,然后使用s y n o p s y s 公司的v e r i l o g 语言仿真工具v c s 对d s p 进行指令集测试。若指令实际执行结果与预期执行结果不符,则查 找集成过程以及子模块设计中可能存在的问题,若有必要则回到第二步,直到指令集测试全部 通过。 4 )电路设计 使用s y n o p s y s 公司的综合软件d e s i g nc o m p i l e r 将d s p 内核的r t l 级描述优化并映射到目标工 艺库,生成物理可实现的电路。本设计采用s m i c 公司的o 1 8 1 a m 标准c m o s 工艺。评估d s p 内核的面积和性能。 1 0 第三章增强型d s p 内核的设计 第三章增强型d s p 内核的设计 3 1 增强型d s p 核的结构设计 本文所设计的增强性能的d s p 核保持了原有1 6 位定点d s p 核的基本特性,从而降低了系统与 器件的成本。但是该内核结构却包含了3 2 位的指令缓存,3 2 位的数据通路设计以及一组高度并行 的的3 2 位宽的指令设计。这组高度并行的3 2 位指令通常用于数字信号处理算法的核心部分,而通 过从指令缓存内执行这些指令能极大的提高处理器工作的性能。这种1 6 位3 2 位的结构不仅保持了 1 6 位定点d s p 的成本优势而且在很大程度上能满足3 2 位的并行性与吞吐率的要求。 由于数字信号处理的核心部分在于循环执行的部分,而这些3 2 位的指令能够执行等同于两条甚 至三条的1 6 位指令的操作,这样就使得增强设计后的d s p 核的指令编码的密度是高度压缩的。由 于结构的改进,增强设计的核的指令编码密度能够达到高于原核两倍的水平1 9 1 2 0 】 2 1 】 2 2 1 。 o t o i e mo u n l h u l c o n t r o l 飘 x a b 2 0 ) x a 8 f 2 0 o a o h e i n s t r u c t i o n劾澎。淞 ( 31i n s t r u c t i o n s ) 彩4 i 阱s t r锡 p i p e l i n e 矗醮嚣黼鞘黼辫鞠 瓢:鬻,讯曼簇 r 。翁徐x d b 3 2 俭 x o s ( 3 2 ) :鳞掺,掺鬻 j o 3 翟 d 日豫_ g _ * z 虢 嘲 童移童移 驴 d a uy a a u 缓缚墩缀建。碧露缓 | 1 6 - 6 m 仉m 叫l e s m u l t i p l l 爹b u f f e r多 a d d r e s s i n g 荔 y a b f 2 0 ) 荛r e g i s t e r s ,荔 盈嘲翳罄缢譬霸强狲 甓?馏; 曰国曰 羚8 d a t a 秀 j 7缓 貔,p o i n t e r s 缓 餮嚣;麓q ,端戮 戮彩黟“”2 ”缓 霾一, , , , 8 。a 。c c u i v i u l a ,t :o j 冀锄豢n o d ,、n d 亡 u o 广u u 亡 图3 1d s p 核的结构图 图3 1 简单描述了核的结构。该d s p 核包含了四个主要的功能模块:系统控制模块、数据算术 单元模块、指令地址算术单元( x a a l o 模块、数据地址算术单元( y a a u ) 模块。d s p 核采用哈佛结 构,有一组指令总线和一组数据总线。其中,程序总线用于访问指令系数存储空间,数据总线用于 访问数据存储空间。其中系统控制模块主要功能在于安排指令流水与指令缓存,数据算术单元模块 1 1 东南大学硕士学位论文 主要用于数据算术功能执行,指令地址算术单元模块用于产生访问程序存储空间的地址( x a d d r e s s b u s ,x a b ) ,数据地址算术单元模块主要用于产生访问数据存储空间的地址( y a d d r e s sb u s ,y a b ) 。 3 1 1 系统控制模块 系统控制模块包含两个子模块:控制模块与指令缓存模块。其中控制模块执行部分指令译码的 功能,指令排序的功能以及等待状态的产生。指令缓存模块执行零开销的循环,增加了存储的带宽, 加快执行的速度以及更低的功率消耗。 3 1 1 1 控制( c o n t r o l ) 模块 图3 2 指令预取判断流程图 控制模块的主要功能在于指令的排序,等待状态的产生以及指令的译码。非缓存的指令通过程 序总线( xd a t ab u s ,x d b ) 被送到译码器,由于要兼容1 6 位指令而每次从程序总线x d b 来的都是3 2 位的,因此要对指令做预取判断其是3 2 位或是1 6 位指令( 由于x d b 是3 2 位的,所以它的组成可 能有五种情况:a 两个1 6 位的指令,b 一个3 2 位指令,c 一个1 6 位指令和3 2 位指令的高1 6 位, 1 2 第三章增强型d s p 内核的设计 d 3 2 位指令的低1 6 位和一个1 6 位指令,e 一个3 2 位指令的低1 6 位和一个3 2 位指令的高1 6 位) 。 其指令预取及判断过程如图3 2 所示。 预取的指令值在时钟的上升沿和下降沿分别赋值给x d b i 3 l :o 和x d b 2 3 1 :0 两个临时寄存器, x d b l 用于地址算术单元( a a u ) 的译码,x d b 2 用于数据算术单元( d a u ) 的译码。 由于指令兼容1 6 位与3 2 位,因此指令在程序空间的排序情况直接影响到是否在预取一条指令 后插入一个等待状态。我们把3 2 位的指令在程序空间排序情况分为对齐与非对齐两种。所谓的对齐 就是3 2 位指令的高1 6 位放在程序空间的偶模块,而低1 6 位放在程序空间的奇模块。对齐与非对齐 的情况如图3 3 所示: a d d r e s s + 0 2 4 6 e v e no d d s i n g l ew o r d s i n g i ew o r d m o s ts i g n i f i c a n tw o r dl e a s ts i g n i f i c a n tw o r d s i n g l ew o r d 鞠獭麟爨l ;鬻麟麓羹 s i n g l ew o r d 1 6 b i t s 3 2 b i t s 厂 1 一 l a l i g n e dd o u b l ew o r d m i s a l i g n e dd o u b l ew o r d a d d r e s s 1 图3 3 指令在存储空间的分布情况 如果预取的指令发生非对齐的情况则出于流水线的考虑,需要插入一个等待周期,当连续的非对齐 的情况发生时则不需要插入这样的等待周期。同样的当数据空间发生这样的非对齐的情况时也要做 判断是否该插入等待周期。 3 1 1 2 缓存( c a c h e ) 模块 缓存模块提供高效的程序循环执行的能力。缓存模块不需要加载计数器的值以及测试计数器与 分支跳转的条件,指令被加载进缓存模块与被加载进译码器的过程是同时进行的,这些都使得指令 缓存的执行达到零开销循环的目的。在程序的控制下,指令缓存一次可以存储至多3 1 条3 2 位宽的 指令,然后循环执行这些指令的次数可以最高达到1 2 7 次( 通过立即数指定循环次数) 或者6 5 5 3 5 次( 通过寄存器c l o o p 来指定循环次数) 。对于之前存储入指令缓存的一组指令,通过r e d o 指令就可 13 东南大学硕士学位论文 以重新执行它们而不需要重新装载。在缓存中执行的指令还减少了从存取空间取指令的过程,从而 降低了功耗。指令缓存存储重复的指令由于减少了循环的开销以及取指令与取系数间的冲突,这有 助于增加指令的吞吐率和代码的执行效率。 指令缓存的结构简图如图3 - 4 所示。指令存储器是指令缓存的核心单元,它是一个3 2 位宽3 1 级深的双端口存储器。寄存器k 是双端口存储器的写指针同时也是读指针。寄存器c l o o

温馨提示

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

评论

0/150

提交评论