(信号与信息处理专业论文)riscdsp系统仿真器的研究.pdf_第1页
(信号与信息处理专业论文)riscdsp系统仿真器的研究.pdf_第2页
(信号与信息处理专业论文)riscdsp系统仿真器的研究.pdf_第3页
(信号与信息处理专业论文)riscdsp系统仿真器的研究.pdf_第4页
(信号与信息处理专业论文)riscdsp系统仿真器的研究.pdf_第5页
已阅读5页,还剩63页未读, 继续免费阅读

(信号与信息处理专业论文)riscdsp系统仿真器的研究.pdf.pdf 免费下载

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

文档简介

摘要 d s p 乖jc p u 处理器是目前电子r 业领域增& 最迅速的产品之。,它们被广泛地应用 信、消费和多媒体等诸多领域。 d s p 可以代表数字信号处理器( d i g i t a ls i g n a lp r o c e s s o r ) ,也可以代表数字信号处理技 f i g i t a ls i g n a tp r o c e s s i n g ) ,后者是理论上的技术,要通过前者变成实际产品。在过去的 多年里,数宁信号处理技术已经在通讯,多媒体,信息家电等各个领域得到了极为广 应用。d s p 芯片的迅速发展使得数字信号处理技术范围越米越j - ,能够完成的任务越 一多,以往由于实现方法的限制而仅仅停留在理论上的数字信号处理理论也因此得到r 并有了进一步的发展。同时,d s p 的发展也推动了其他领域,学科的发展。可以毫不 的说,可编程d s p 芯片的诞生及发展对近年来通信,计算机,控制,多媒体等领域 术发展起到了十分熏要的作用。 8 0 年代初出现的r 1 s c 技术是计算机体系结构的重大变革,它以减少指令执行的平均 数为结构设计的主要目标,经历了从单发射结构到多发射结构的演变过程,解决了深 水技术、相关技术、转移预测技术、编译优化技术等一系列技术难点,在2 0 多年的 里,r 1 s c 技术的发展己日趋成熟与完善微处理器在军事和民用领域都有着广泛的麻 盯f 制具有我国自主独立版权的微处理器在当今具有重火意义。开发与国外广泛应用的 理器指令集相兼容的微处理器是日前提高国内微处理器设计和开发能力的一种有效 基于以上考虑,本实验室自主开发了一款融r i s c 核和d s p 性能于一体的3 2 位处理 i ) 3 2 ,并同时开发了与芯片相配套的软件开发工具,包括芯片的汇编器、仿真器以及 的c 编译器。汇编器将芯片的汇编语言转换为芯片可以执行的二进制代码,使芯片的 者不必使用二进制代码进行开发。软件仿真器对用软件来仿真应用程序在目标芯片上 为,片 高级语言强人的表达力来模拟芯片的功能,不仅能为芯片的用户带来便利,而 使芯片的设汁者在芯片硬件设计的同时进行软件开发,以验证芯片的结构。本文对芯 7 = 编器和仿真器的结构及其设计作了深入地探讨。 闻:r i s c ,系统软什,汇编器、仿真、软件仿真器 a b s t r a c t d s pa n dc p up r o c e s s o ra r e a m o n gt h ep r o d u c tt h a td e v e l o p sf a s t e s ti nt h ee l e c t r o n i c i n d u s t r yf i e l d ,t h e y a r e a p p l i e dw i d e l y i nt h ef i e l do fc o r n m u n i c a t i o n ,c o n s u m p t i o na n d m u l t i m e d i a d s p p r e s e n t sd i g i t a ls i g n a lp r o c e s s o r , a n di tc a r la l s op r e s e n td i g i t a ls i g n a lp r o c e s s o r t h e l a t t e ri sak i n do f t e c h n i q u e ,w h i c hc a nc h a n g ei n t or e a lp r o d u c tv i at h ef o r m e r i nt h ep a s t t w e n t yy e a r s d s ph a sb e e n u s e dw i d e l yi nt h ev a r i o u sf i e l d t h er a p i di m p o v e m e n to f d s pc h i p e x p a n d st h ei n f l u e n c eo fd s pt e c h n i q u e ,w h i c hn o wc a nf i n i s hm o r ea n dm o r et a s k ,a n dt h e t h e o r yo fd s pw h i c ho n c ew a sn e v e rr e a l i z e dm a k e sg r e a tp r o g r e s s m e a n w h i l e ,d s pa l s o s p e e d s t h ed e v e l o p m e n to fo t h e rf i e l d i tc a nb es a i df o rs u r et h a td s ph a sp l a y e da n i m p o r t a n t r o l ei nt h ef i e l do f c o m p u t e r , c o n t r o la n ds oo n r i s c 限e d u c e di n s t r u c t i o ns e tc o m p u t e r ) w h i c ha p p e a r e di nt h ee a r l y8 0 si sag r e a t t r a n s f o r m a t i o no f c o m p u t e ra r c h i t e c t u r e i ta i m sa tr e d u c i n gt h en u m b e ro fe x e c u t i o nc y c l e so f i n s t r u c t i o n s ,a n dh a se x p e r i e n c e df r o mt h ep e r i o do fs i n g l ei s s u ea r c h i t e c t u r et ot h ep e r i o do f m u l t i p l ei s s u ea r c h i t e c t u r e ,i nt h ep a s tt w e n t yy e a r s ,r i s ch a sb e c o m em o r ea n dm o r em a t u r e a b r o a d i tm a k e sg r e a ts e n s et od e v e l o po u ro w nr i s ca n di ti sae f f e c t i v ew a yt od e v e l o po u r o w l lr i s cw i t ht h ei n s t r u c t i o ns e tw h i c hi s c o m p a t i b l ew i t ht h o s eo fr i s cw h i c hh a sb e e n w i d e l yu s e d b a s e do na b o v e ,o u rl a bh a sd e s i g n e da3 2 - b i tp r o c e s s o rt h a tc o m b i n e st h ep e r f o r m a n c eo f r i s ca n dd s p , a n d m e a n w h i l e ,w eh a v ed e s i g n e dt h ec o r r e s p o n d i n gs o f t w a r ed e v e l o p i n gt o o l s i n c l u d i n ga s s e m b l e r , s i m u l a t o ra n dcc o m p i l e r t h ef u n c t i o no ft h ea s s e m b l e ri s t oc h a n g e a s s e m b l yl a n g u a g et ob i n a r ys e q u e n c e ,w h i c hm a k e si te a s i e rf o rt h eu s e rt op r o g r a mw i t ht h e c h i p a n d s o f t w a r es i m u l a t o ri su s e dt os i m u l a t et h eb e h a v i o ro f t h ep r o g r a m r u n n i n g o nt h er e a l c h i pw i t hs o f t w a r e t h es i m u l a t o rc a nn o to n l yb r i n gc o n v e n i e n c et ot h eu s e ro f t h ec h i p b u t a l s om a k et h es o f t w a r ed e v e l o p i n gs y n c h r o n o u sw i t ht h ed e s i g no f h a r d w a r e t h et h e s i sm a i n l y d i s c u s s e st h ed e s i g no f t h ea s s e m b l e ra n dt h es i m u l a t o r k e yw o r d :r j s c ,s y s t e ms o t t w a r e ,a s s e m b l e r , s i m u l a t o r , s o t a v a r es i r e u l a t o r 致谢 首先向姚庆栋教授致以崇高的敬意,本文是在姚老师的悉心指导下完成的。云山苍苍, 江水泱泱。先生之风,山高水长。在研究生阶段两年多的时间里,我深深体会到了姚老师 高尚无私的人格魅力,高瞻远瞩的学识见解和一丝不苟的治学态度。在姚老师的指导f , 我的知识面得到r 很大的拓宽,同时也提高了科研工作能力,其中的每一个进步凝聚着姚 老师的谆谆教诲和深切关怀。我从姚老师身上学到的,不仪是宝贵的知识财富,还有对知 识孜孜不倦的追求精神,这必将对作我今后的学习上作产生深远的影响。 在这近三年的实际工作中,刘鹏老师和史册老师也给予了我很多指导和帮助。在刘老 师的帮助下,我对硬件的了解有了很大的提高。史册老师的热心和对_ t 作积极负责的态度 在我的求学过程中产生了很大的影响,也使我从中受益非浅。在此对两位老师的帮助和指 导表示衷心的感谢。 在此特别感谢的是和我朝夕相处的同学们,他们是琚小明博士,俞国军博士,陈继承 博士,周莉博士,高广春博士,蒋志迪博士,王锦硕士,陈若愚硕士,高磊硕士,和 他们在一起,我不仅得到了学识上的提高,更重要的是获得了珍贵的友谊,祝愿他们在今 后的生活工作中一帆风顺。 最后还要感谢的是我的父母和朋友,是他们的关心和支持,才使我在面对困难和挫折 的时候有了永不言败的勇气。在我的一生中,我的家人和朋友永远是我最宝贵的财富。 i j j 邢文峰 2 0 0 4 年2 月于求是园 第一章绪论 1 1 r i s c 精简指令集计算机 精简指令系统计算机( r i s c r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) f 2 1 f 3 1 1 2 3 睫相对于传 统的复杂指令系统计算机( c i s c - - c o m p l e x i n s t r u c i o ns e tc o m p u t e r ) 而言的。r i s c 是8 0 年代提i 的一种新的设计思想。目前市场上许多处理器都采带了r i s c 体系结构,如s u n 公司的s p a r c ,s g i 公司的r 4 0 0 0 等等,另外,在有些典型的c i s c 处理机中也不同程度 地吸取了r i s c 的设计思想,如i n t e l 公司的8 0 4 8 6 和p e n t i u m 系列等。 1 。1 1 r i s c 精简指令集计算机的发展 为了减少系统开销,提高机器运行速度和效率,减少低层语言和高层语言之间的差距, 过去的几十年中,计算机设计者努力强化指令系统功能。6 0 年代中期,由于采用微程序 方法实现指令的控制器,使得系统结构复杂设计思想实现起来比较容易,也更适应当时的 要求。这样的结果必然导致机器的结构,尤其是机器指令系统变得越来越庞大和复杂。这 就是所谓的c i s c 计算机( c o m p l e x i n s t r u o i o ns e tc o m p u t e r ) , 在6 0 年代末到8 0 年代初期计算机系统结构性能的衡量标准是存储效率编译优化和 代码长度,而忽略了指令执行的效率和计算机结构的复杂性。随着计算机应用的越来越“ 泛,程序功能越来越强,用户对计算机性能要求表现在速度上越来越高,而当时采用的微 程序和半导体技术对计算机速度的提高也越来越困难。此时,由于半导体技术的发展,存 储器的容量和价格也不在是主要的问题,而用户对计算机的性能( 速度) 的要求也越米越 高,于是人们回头来分析传统的设计思想存在的主要问题及合理性,其中最有代表的是美 国加州伯克利分校的d a v i dap a t t e r s o n 和斯坦福大学的2 0 h nlh e v , n e s s y 。他们的研究分 析表明c i s c 设计存在以下问题 2 5 1 : i 指令系统过于庞大,使得指令译码和控制器的硬件非常复杂庞大。 2 指令操作繁琐,使其执行速度下降,甚至比几条简单指令组合还慢。 3 指令系统的庞大,使得高级语言编译选择的范围很大,从而难以优化编译。生成 真正高效的机器语言程序,同时编译程序本身太长,太复杂。 4 指令的使用率不高,且相互差别很大,其中的一部分指令的利用率不到1 。不 仅增加了机器设计人员的负担,也降低了系统的性能价格比。 其实对一个c p u 米说,常用的指令并不多,使用概率最高的大约是:a l u 、传送和 转移指令,其中寻址方式最常用的也只有二种:基址偏移量和立即数。 既然大多数指令 很少使用,并占用了芯片的大部分面积,那么我们是否可以去掉这些指令,留下简单的常 f t t 指令,减少储存寻址采用l o a d s t o r e 机器,空f 来的芯片面积用米增加通用寄存器数日? 理论和实践证明这不但是可行的,而且从优化设计来看还能提高程序执行速度,这就是 r i s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) 早期的思想。 r s c 的研制要追溯到1 9 7 5 年。当时i b m 公司的t h o r n sj w b 。t s o n 研究中心的j o h n c o k e 领导研制一个大型电话机交换系统,后来该项目被放弃,但是它的高速控制器被加 以改造j 在了计算机的制造上。经过c o k e 小组的努力,3 2 位的小型i b m 8 0 1 在1 9 7 9 年 问世。它采用单周期指令,有3 2 个寄存器,使用指令利数据分开的c a c h e 存储器,井具 有延迟转移指令的能力。这是世界上第一台r 1 s c 机,虽然未形成商品,但却为以后的r i s c 技术研究奠定了基础。 1 9 8 1 年p a t t e r s o n 等人在v l s i 单片上研究出3 2 位的r i s c 微处理器r i s c1 ,采用 n m o sv l s i 电路,一共只有3 l 条指令,三种数据类型;寻址方式只有变址和p c 相对 寻址,按字节编址:指令格式采用二源、一目的三地址形式,少量采用二地址或单地址, 都是3 2 位字长。该机运行性能不亚于当时的v a x 计算机,某些方面还超过了v a x 的性 能,在计算机界引起了很大反响。 1 9 8 3 年,斯坦福大学的j o h nh e n n e s s y 教授领导的研制小组,制成了m i p s 机 ( m i c r o p r o c e s s o r w i t hi n t e r l o c k e dp i p es t a g e s ) 。这是一种具有1 6 个寄存器、周期时间5 0 0 n s 的3 2 位微处理器,它进一步发展了r i s c 技术,是r i s c 思想最为典型的商用产品。而 m i p s 技术后来商品化,即商用m i p s ( 1 1 2 0 0 0 ,r 3 0 0 0 等) 。此后,各公司研制的r i s c 机 和工作站争相涌人市场。1 9 8 5 年t b m 3 0 9 0 i o 处理器采用了r i s c 技术。h p 公司自1 9 8 1 年开始执行s p e c t r u m 发展计划;s u nm i c r o s y s t e m 公司在r i s c 结构基础上建立了一个 s p a r c 主产品体系,这两大系统的芯片,均在工作站和小型机采用。 此外a c r o n 公司研制了采用r i s c 技术的a r m ( a c r o nr i s cm a c h i n e ) 芯片,c e l e r i t y 公司的c 1 2 6 0 与c 1 2 3 0 ,美国硅谷r i d g e 公司的r i d g e 3 2 工作站,纷纷进入市场,r i s c 芯片多极化的局面已经出现。 1 1 2r i s c 定义与特点 r i s c 技术并不是简单地指减少指令的数目,而是作为一种新的设计思想,它包括一 切能简单有效地提高计算机性能的思想和方法。从现代计算机系统设计和应用统计得出的 两个规律:”s i m p l ei sf a s t 和”s m a l li sf a s t ,即简单事件可快速处理:小规模器件的速度可 以做得更快,体现了r 1 s c 思想的精髓。概括地说,r i s c 的设计思想是:指令集设计时 根据a m d a h l 定律选择使用概率高的指令构成指令集,这些大概率指令一般是简单指令, 因此控制器可以设计的简单,高速,且占c p u 集成电路:墨片的面积少,空出较多的面积 用来增加寄存器数量。在编译的配合下减少访存次数,减少指令闻的各种相关和竞争,尽 可能得到最佳指令序列,从而提高计算机系统的整体性能。从系统结构的角度归纳山r 1 s c 设计的些基本原则,这些基本原则将随着科学技术的进步和发展不断发展变化。 2 1 r i s c 的定义 如上所述,r i s cj r 没有一个很确切的定义,但一般认为它应有以下特点“ ) ) 简单且统一格式的指令编码 2 ) 大部分指令可以单周期执行完成 3 ) 只有l o a d 和s t o r e 指令可咀访问存储器。 4 ) 简单的寻址模式 s ) 采用延迟转移技术 j :l ;j 了优化编译器便于生成优化代码,虑具有p 述特征: 三地址指令格式 7 ) 较多的寄存器 8 ) 对称的指令格式 2 r i s c 的关键技术 与r i s c 的设计思想相对应,在实现上采用的技术如下: 1 ) 在控制逻辑上采用硬连线实现和微程序周件相结合的技术。 2 ) 在c p u 中设置数量较大的寄存器组,并采用重叠寄存器技术 3 ) 编译系统采崩优化设计技术 4 1 存储器层次结构体系 5 ) 存储器分段管理体系 1 1 3 r i s c 处理器体系结构的变革 1 , r i s c 及其变形 工作站用r i s c 处理器的指令集基本上是3 2 位固定长度,但对于嵌入式用途而言, 由于需要尽可能地压缩程序长度,因此,人们对指令长度重新进行了考虑。程序长度被压 缩后,即可通过减小程序用存储器的容量来降低成本。特别是如果把程序用r o m 、快闶 存储器和s r a m 集成在同一块芯片上,则成本有望得到大幅度的降低。以s h 指令格式为 例,它把指令长度从原来的3 2 位缩短至1 6 位,这样就将以往r i s c 处理器的三操作数方 式变成了二操作数方式、减少了可指定的寄存器的个数、并进行即值和置换字段 ( d i s p l a c e m e n tf i e l d ) 的压缩。虽然在性能方面会因此产生某些缺陷,但却能把程序长发压 缩3 0 一4 0 。 其他方法还有以下几种:( i 僳周1 6 位和3 2 位两种指令跃度的可变指令长度指令集 ( 如v s x x ) 。这种方法有可能造成将来超标量( s u p e r - - - s c a l a 0 当中同时执行多条指令时的指令 截取及解码逻辑的复杂化。f 2 ) 在3 2 位长指令集的基础上再增加l6 绁长指令集,并以。f 程 式( s u b r o u t i n e ) 为单位进行切换( 如a r m 9 7 h u m b ) 。对这种方法而言,重要的是通过1 6 位 指令体系的定义来实现以尽可能少的附加硬件和性能开销将1 6 位指令变换成3 2 位指令。 ( 3 ) 将3 2 位同定氏度指令的程序压缩后存储在存储器中,执行时再州硬什予以扩展。这种 方法青川能导致指令扩展时性能开销的增加。 2 针对多媒体处理的指今扩展 当今的数孚设各火多需要处理音频、幽像和图形等多媒体数据,嵌j 入式r i s c 处理器 也需要对这些数据进行高效及高速处理。因此,进行rm a c ( m u l t i p l ya n da c c u m u l a t e ) 指 令、欠量运算指令、s l m d ( 单指令多数据) 方式和d s p ( d i g i t a ls i g n a lp r o c 眵s i n g ) 体系结构集 成等针对多媒体处理的指令扩展。它们均增加丁每个周期的运算量,提高了m o p s 值。 r i s c 处理器进入嵌入式产品市场时所增加的具有代表性的指令是整数m a c 指令。 这种指令由丁有助于信号处理及多媒体处理的高速化且执行起来比较简单,因此被定义于 多种指令集中。 s i m d 方式最早为工作站及个人电脑用处理器所采用。比如,x 8 6 、a l p h a 和s p a r c 中定义的针对多媒体处理的扩展一一m m x ( m u l t i m e d i ae x t e n s i o n s ) 、m v i ( m o t i o n v i d e o l n s t m e t i o n s ) 和v l s ( v i s u a li n s t r u c t i o ns e t ) 。该方式由于其执行起来比较容易且效果较 好,也被嵌入式r i s c 处理器所采用。8 位和1 6 位精度在表现大多数图像及音频数据的场 合都是足够的。另一方面,处理器的通用寄存器及浮点寄存器为3 2 位和6 4 位,可在一个 寄存器中存储多个8 位及1 6 位数据,并对它们同时进行运算。在s i m d 运算中,通常是 把8 位、1 6 位和3 2 位的带符号不带符号的整数数据压缩在寄存器中进行处理,对每个 数据都定义厂算术运算指令及移位指令。由于对s i m d 而言寄存器的宽度越大则运算的重 复度越高,因此,考虑到寄存器宽度今后将继续增加这一实际情况,人们还在考虑定义宽 数据( 1 2 8 位和2 5 6 位等) 的写入存储( l o a ds t o r e ) 指令。 只种针对多媒体处理的方法是d s p 体系结构集戒。以典型的s hd s p 指令格式为 例,这种处理器除了通常的r i s c 内核之外,还具有d s p 内核,以及用于数据存储的x 存储器和y 存储器。d s p 内核包括3 2 位 ( 6 字寄存器、4 0 位2 字寄存器、4 0 位a l u 、 1 6 位乘法器和3 2 位移位器( s h i 等针对多媒体处理的器件。指令集的c p u 指令是由r i s c 内核所执行的1 6 位长度指令:而由r i s c 内核和d s p 内核两者执行的d s p 指令是3 2 位 长度指令,包括x 存储器的存取字段、y 存储器的存取字段、采用a l u 移相器的运算 字段和采用乘法器的运算字段。利用这一个指令可执行四项操作,从而实现了高效的信号 处理及多媒体处理。 1 2 d s p 数字信号处理 1 2 1d s p 的发展历程 信息化的基础是数字化。数字化的核心技术之一是数字信号处理。数字信号处理的任 务在很人程度上需要由d s p 器件来完成。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 ) ,也可以代表数字 4 信号处理技术( d i g n a ls i g n a lp r o c e s s i n g ) ,压者是理沦上的技术,要通过前者变成实际产品。 两者结合起来就成为解破某一实际问题和实现某一方案的手段即数字信号处理解决方案 ( d s p s ) 。d s p 是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器,其处理 速度比最快的c p u 还快1 0 5 0 倍。在当今的数字化时代背景f ,d s p 已成为通信、计 算机、消费类电子产品等领域的基础器什。业内人士预言,d s p 将是未来集成电路中发展 最快的电子产吊t ,并成为电子产品更新换代的决定因素。 在d s p 1 3 现之前数字信号处理只能依靠m p u ( 微处理器) 来完成。但m p u 较低的处理 速度无法满足高速实时的要求。因此,7 0 年代有人提出了d s p 的理论和算法基础。而d s p 仅仅停留在教科书上,即便是研制出来的d s p 系统也是由分立组件组成的,其应用领域 仅局限于军事、航空航天部门。 随着大规模集成电路技术的发展,贝尔实验室的d s p l 和n e c 的7 7 2 0 4 0 1 在1 9 7 8 年的 问世,宣布了d s p 处理器的诞生【4 i j h “。d s p 芯片的问世标志着d s p 应用系统由大型系统 向小型化迈进了一大步。随着c m o s 技术的进步与发展,第二代基于c m o s 工艺的d s p 芯片应运而生其存储容量和运算速度成倍提高,成为语音处理、图像硬件处理技术的基 础。8 0 年代后期,第三代d s p 芯片问世,运算速度进一步提高,其应用于范围逐步扩大 到通信、计算机领域。 9 0 年代d s p 发展最快,相继出现了第四代和第五代d s p 器件。现在的d s p 属于第 五代产品,它与第四代相比,系统集成度更高,将d s p 核及外围组件综合集成在单一芯 片上。这种集成度极高的d s p 芯片不仅在通信、计算机领域大显身手,而且逐渐渗透到 人们日常消费领域,前景十分可观。 1 硬件特点 ( 1 ) d s p 是属于m o d i f i e dh a r v a r d 架构,即它具有两条内部总线:数据总线、程序总 线。程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进 行,目前己达到9 0 亿次浮点运算秒( 9 0 0 0 m f l o p s ) 。 ( 2 ) 采用流水作业。每条指令的执行划分为取指令、译码、取数、执行等若干步骤, 由片内多个功能单元分别完成。相当于多条指令并行执行,从而大大提高了运算速度。 ( 3 ) 独立的硬件乘法器。乘法指令在单周期内完成,优化卷积、数字滤波、f f t 、相 关、矩阵运算等算法中的大量重复乘法。 ( 4 ) 循环寻址( c i r c u l a ra d d r e s s i n g ) ,位反( b i t - - r e v e r s e d ) 等特殊指令使f f t 、卷积等运 算中的寻址、排序及计算速度大大提高。1 0 2 4 点f f t 的时间已小于1 。 ( 5 ) 独立的d m a 总线和控制器。有一组或多组独立的d m a 总线,与c p u 的程序、 数据总线并行工作,在不影响c p u 工作的条件f ,d m a 速度已达8 0 0 m b y t e s 阻上。 ( 6 ) 多处理器接口。使多个处理器可以根方便的并行或串彳亍工作以提高处理速度。 ( 7 ) j t a g ( j o i n tt e s ta c t i o ng r o u p ) 标准测试接h ( 1 e e eu 4 9 标准接口) 。便于对d s p 作片上的在线仿真和多d s p 条件f 的调试。 5 2 软件特点 ( 1 1 立即数寻i l k :操作数为立即数,可直接从指令中获取。例:m o v a , 0 x 1 6 ;将 常数0 x 1 6 送给寄存器a 。 ( 2 ) 直接寻址:比如,t 1 公司的t m s 3 2 0 系列芯片将数据存储器分为5 1 2 页,每页 1 2 8 字。设置- - 个数据页指针d p ( d a t ap o i n t e r ) ,用9 b i t 指向一个数据页,再加上一个7 b i t 的页内偏移地址,形成1 6 b i t 的数据地址。这样有利于加快寻址速度。 ( 3 )间接寻址:8 个辅助寄存器,由r 一个辅助寄存器指针指定一个辅助寄存器算术 单元作1 6 b i t 无符号数运算,决定一个新的地址,装入辅助寄存器中的一个。8 个辅助 寄存器的内容相当灵活,可以装入、加上、减去立即数;可以从数据存储器装入地址:还 可以作一些变址寻址。由于采用反向进位,得以实现位反寻址。 f 4 )独特的乘法指令:例:m a cx o ,y 0 ,ax :( r 0 ) + ,x 0y :( r 4 ) 十n 4 ,y 0 这条指令命令d s p 5 6 3 0 0 :将寄存器x o 和y 0 中的数相乘,结果加到a c e a 中,将寄存器 r o 所指的x 存储器地址中的值装入寄存器x o ,将寄存器r 4 所指的y 存储器地址中的值 装入寄存器y 0 ,寄存器n 4 的值加给r 4 。 以数字信号处理为基础的d s p 系统与传统的模拟信号处理系统相比较的优点: ( 1 ) 接口简单、方便。由于数字信号的电气特性简单,不同的d s p 系统相互连接时, 在硬件接口上容易实现。在数据流接口上,各系统间只要遵循特定的标准协议即可。 ( 2 ) 精度高,稳定性好。数字信号处理仅受到量化误差和有限字长的影响,处理过程 不引入其它噪声,因此具有较高的信噪比。另外,模拟系统的性能受到元器件参数性能影 响比较大,而数字系统基本不变,因此数字系统更便于测试、调试及批量生产。 ( 3 ) 编程方便,容易实现复杂的算法。在d s p 系统中,d s p 芯片提供了一个高速计 算平台,系统功能依赖于软件编程实现。当其与现代信号处理理论和计算数学相结合时, 可以实现复杂的数字信号处理功能。 ( 4 )集成方便。现代d s p 芯片都是将d s p 核及其外围电路综合集成在单一芯片上。 这种结构便于设计便携式高集成度的数字产品。 另外,现代d s p 芯片作为可编程超大集成电路( v l s i ) 器件,通过可下载的软件和固 件米实现数字信号处理功能。d s p 芯片除具备普通激处理器的运算和控制功能外,还针对 高数据传输速率、数值运算密集的实时数字信号处理,在处理器结构、指令系统和指令流 程设计上做了很大的改进。 1 2 2 0 s p 面临的问题以及挑战 日臻成熟的d s p 仍然有许多需要改进的地方,同时也面i f 缶着诸多挑战。 ( 1 ) 如何合理地安排数据流程,使之在d s p 的各执行单元间无冲突地顺利执行,仍 是d s p 开发人员面临的重要的问题。由于设计的复杂性,将算法映射到d s p 具体目标硬 件上时,尚不能采用高层次编程语言,必须使用汇编语言,并对器件的并行执行机制有十 6 分清楚的了解。而这种局限于汇编语言的编程设计,正是提高软件开发效率的瓶颤。 ( 2 )平行结构方面还存在问题为了实现更高的吞吐量,就必须在特定单位时间内处 理更多的数据位。v l i w 技术代表了指令级的平彳度。超标量结构和超管道结构也试图在 一个指令周期内得到更多的指令。数据级平行度由更宽的数据字、向量化和数据流结构来 表示。由于数据字的宽度更太,因此每个指令周期指令可处理更多的数据,提高了每个时 钟周期可处理的数据位数。任务级或事务级平行度体现在多任务、多线程和多处理器设汁 中。这些结构有望提高数据处理吞吐量,但增加的数据和指令宽度以及随之而米的数据处 理吞吐量提高要付出一定的代价。当代码密度和数据宽度与应用相匹配时,它们能起帮助 作用,但当数据字宽度与处理器不相同时,它们反而会带来很多麻烦, ( 3 1大量可用的片上高速缓存正变得对系统的总吞吐量越来越重要,因为标准的内存 总线和接口己无法为系统中每个m a c 的干兆字节数据传输率提供支持。系统其余部分能 否与高速处理器相匹配也正成为一个大问题,带有2 个a l u 单元的双m a c 处理器每一 时钟周期可能需要4 个数据字,或每秒需要4 干兆个数据字。 ( 4 ) d s p 的发展面临的挑战也体现在c p u 速度的急速增快和价格的持续下降,使d s p 制造商面i 瞄两种选择,一种是加快d s p 的发展,另一种是退出竞争。d s p 制造商只有全 力以赴,才能在日益激烈的市场竞争中立足脚跟。 1 2 3 d s p 的发展趋势与前景 d s p 在其发展的道路上不断满足人们日益提高的要求,正在逐濒朝向个人化和低功耗 化方向发展,d s p 发展的前景是非常可观的。 ( 1 ) 系统级集成d s p 是潮流 缩小d s p 芯片尺寸始终是d s p 技术发展方向。当前的d s p 多数基于r i s c ( 精简指令 集计算) 结构,这种结构的优点是尺寸小、功耗低、性能高。各d s p 厂商纷纷采用新工艺, 改进d s p 芯核,并将几个d s p :藩核、m p u 芯核、专用处理单元、外围电路单元、存储单 元集成在一个;占片上。成为d s p 系统级集成电路。 ( 2 ) 可编程d s p 是主导产品 可编程d s p 给生产厂商提供了很人的灵活性。生产厂商可在同一个d s p 平台上开发出 各种不同型号的系列产品,以满足不同用户的需求。同时可编程d s p 也为广人用户提 供了易丁i 升级的良好途径。 ( 3 ) 定点d s p 是主流 从理论上讲虽然浮点d s p 的动态范围比定点d s p 大,且更适合于d s p 的应_ f j 场合, 但定点运算的d s p 器件的成本较低,对存储器的要求也较低,而且耗电较少。因此,定 点运算的可编程d s p 器件仍是市场上的主流产品。据统计,目前销售的d s p 器件中的绝 大多数属于1 6 位定点可编程d s p 器件。丽3 2 位d s p 的使用也在逐渐增加。 ( 4 ) 追求更高的运算速度 7 口前般的d s p 运算速度为1 0 0 m i p s ,到每秒钟可运算1 亿条指令。由1 丁屯子设备 的个人化和客户化趋势,d s p 必须追求更高更快的运算速度,才能跟上电子设播的更新步 伐。d s p 运算速度的提高,主要依靠新1 艺改进芯片结构。当前d s p 器什大都采用0 5 9 r a 0 3 5 p m c m o st 艺,按照c m o s 的发展趋势,d s p 的运算速度再提高1 0 0 倍( 达到 1 6 0 0 g 1 p s ) 是完全有可能的。 1 3 系统软件 计算机系统包括硬件系统和软件系统【6 】【7 】【8 1 。硬件和软件的关系就如同皮和毛的关系、 血液和躯干的关系。硬件相当于躯干和皮,软件相当于血液和毛。软件必须附着在硬件上, 同时硬件与软件必须相互匹配,才能导致计算机系统充分地发挥功效。 系统软件( s y s t e ms o f l e w a r e ) 是指发挥和扩充硬什系统( 单机、多机或计算机网络) 的功能,方便用户使用,为用户编制和使用应用程序而提供的一套工具软件。它包括连 接利装配程序,汇编语言和汇编程序,高级语言和编译程序,目标程序和源程序级的调试 程序,单机、多机或计算机网络上的操作系统和通信软件,数据库语言和数据库软件等。 而随着芯片技术的不断发展,芯片的复杂性也不断增加。出现了把一个完整的系统集 成到一个芯片上的技术,这就是片上系统( s o c ,s y s t e m o l la c h i p ) 。随着电子系统集成 到芯片技术的不断发展,片上系统的优势平l i 复杂性不断增加。这给系统软件和硬件的设计 者带来了新的挑战。系统软件的设计必须考虑芯片的硬件结构。对于片上系统来说,更需 要硬件和软件的协同设计( c o d e s i g n ) 。很多情况下,满足有上亿晶体管的系统设计效率要 求,唯一的途径就是采用运行专用软件的嵌入式处理器( e m b e d d e dp r o c e s s o r ) 2 6 1 1 2 7 1 【2 8 】。 这给系统软件的设计带来了新的意义。而对于嵌入式系统设计与开发,常常需要一整套的 开发工具集。他们包括:交叉编译系统、反汇编器、连接器、仿真器、调试器等印1 1 3 0 】【3 1 艘j 。 由于本文涉及的内容有限,下面只介绍汇编器( a s s e m b l e r ) 和软件仿真器( s i m u l a t o r ) 等。 1 3 1 汇编器 芯片能够执行的程序是机器语言,即二进制码的文件,但是直接使用机器语言编制程 序不但费时,而且难于调试。汇编语言是采用便于人4 r u l e 忆的一些符号或者字符串( 例如 简化的英文单词,缩写的英文语句,甚至还可以是汉语拼音等) 来表示操作码、操作数和 地自i 码等,实质上是一种符号语言。汇编语言中的指令性语句通常与机器语言指令一一对 应。用汇编语言编写的原始程序就称为汇编语言源程序,简称“源程序”。 由丁处理器不认识汇编语言程序,所以开发人员需要在计算机上运行一个称作“汇编 器”( 或汇编程序1 的软件,在汇编器的帮助下,将我们编写的源程序翻译成机器语言程序, 称为“目标程序”。利用汇编器将源程序翻译成目标程序的过程称为“汇编”。 8 设计任何一种计算机系统时,必须根据它的体系结构为它配备汇编语言,并为其设计 汇编器。汇编器属。f 于计算机系统软件的核心部分,它的功能的强弱赢接影响到计算机硬 件效率的发挥。网此对任何一个计算机系统而言,研制一个功能强大的汇编器十分必要。 n :编器的总任务是将汇编语言的泺程序翻译为功能等价的机器语言的目标程序7 1 。所 以汇编的过程就是,寻找组操作,将初始化状态的汇编源程序转换成最终的状态机器语 言的目标程序。大部分汇编器都采用两遍扫描的算法7 删f 3 ”1 3 4 1 。第一遍扫描建立符号 表。第二遍扫描根据第一遍扫描建立的符号表对源程序进行汇编,得到目标程序。 汇编器可以分为四类【3 3 】。为机器自身所运行的处理器汇编程序的类汇编器称为常驻 汇编器或自汇编器( r e s i d e n t o rs e l f a s s e m b l e r ) 。交叉汇编器( c r o s sa s s e m b l e r ) 是在主机上 为与主机不同的目标处理器汇编程序的一类汇编器。还有一类称为元汇编器( m e t a a s s e m b l e r ) ,它为单一的一个目标处理器汇编程序。元汇编器为特定的处理器根据相应的 汇编指令表进行汇编。映射汇编器( r e f l e c t i v ea s s e m b l e r ) 是一种元交叉汇编器( m e t a c r o s s - a s s e m b l e r ) 。它为多种不同的目标处理器汇编程序。它根据读入的汇编语言源程序动 态的装入相应的指令和指示集对源程序进行汇编。 我们将要设计的是一个交叉汇编器。它运行在p c 机上,为基于m i p s 指令集的p d s c 核汇编程序。 1 3 2 软件仿真器 自从处理器问世以来,其各种开发工具也应运两生,仿真就是其中一个重要的组成部 分。仿真器已有数十年的历史,这可以追溯到1 9 6 4 年。那时,i b m 的新s y s t e m 3 6 0 可 以执行行为i b m l 0 4 0 写的程序,只是速度比在真正的芯片上运行要慢一些。发明仿真是 为了填补由于计算机硬件发展速度比软件发展速度快所导致的两者之间的空隙。仿真可以 使人自由地在其所希望的计算机上运行其所希望的程序而无需关心底层硬件和系统软件 的技术差异,在芯片的开发和应用领域有广泛的应用。 仿真主要分为硪类,一类是软硬件结合的仿真器,当前国内常用的嵌入式软件开发系 统大多是这种仿真器,它以在线仿真器i c e ( i nc i r c u i te m m u l a t o r ) 为核心,但这类开发 手段存在以下缺陷: ( 1 )在嵌入式硬件系统实现之前,应用软件无法进行开发调试工作。即嵌入式软 件、硬件系统的研制无法并发进行。往往是软件研制滞后丁硬件系统开发的过程。 ( 2 )嵌入式系统在软、硬件综台调试中,软件和硬件的错误难以分离,难以定位。 ( 3 )缺乏有效的测试手段,特别是基于白盒测试原理的测试技术难以实施。 ( 4 )对于嵌入式软件质量与可靠性的评估缺乏量化手段。 9 由丁客观上存在着这些不可克服的缺陷,沿用f r 有的技术而无新技术的引入,将直接 影u 自软什的开发效率。 另一类是软什仿真器( s i m u l a t o r ) 。软件仿真器。般不与实际应用硬什环境联系,囚m 根难准确反映处理器的实时运行情况,特别是依赖于外部环境的实时运行情况,如中断、 外设i 0 等操作。软件仿真器主要用于验证处理器的内部运行程序,如算术运算算、逻 辑运算等。软件仿真器是用软件的手段对运行嵌入式麻h j 程序所需的特定硬件环境( 包括 c p u 芯片、内存及其它乡 围硬件设备) 及其活动进行描述( 仿真) 。进而可以在没有真实硬 件环境的情况下,实现程序的仿真运行。

温馨提示

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

评论

0/150

提交评论