dsp 软件与系统优化技术

dsp 软件与系统优化技术

ID:11935880

大小:219.50 KB

页数:9页

时间:2018-07-15

dsp 软件与系统优化技术_第1页
dsp 软件与系统优化技术_第2页
dsp 软件与系统优化技术_第3页
dsp 软件与系统优化技术_第4页
dsp 软件与系统优化技术_第5页
资源描述:

《dsp 软件与系统优化技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DSP软件与系统优化技术介绍  数字信号处理(DSP)是处理信号和数据的专用方法,其目的在于加强并修改这些信号。数字信号处理也用于分析信号以确定特定的信息内容。DSP主要用于处理真实世界的信号。这些信号可由数字序列进行转化和表示。我们后来使用数学方法处理信号,从信号中提取特定信息或以某种方式转化信号。  DSP在实时嵌入式系统中非常普遍,在这种系统中,计算的及时性与准确性同样重要。DSP在这些环境中非常普遍,因为其根据设计,能够非常迅速地执行常见的信号处理操作。DSP的可编程性允许应用随着时间的推移而不断变化发展,从而为应用供应商提供了众多优势。进行DSP编程需

2、要熟悉应用、DSP硬件架构以及用于编写高效实时软件、并能满足系统最终期限的代码生成工具。  本文是两篇文章中的第一篇,将探讨DSP某些重要的软件与系统优化技术,并将解释采用强大处理器开发高效嵌入式应用的某些指导原则。  优化的第一条规则--不要!  在开始任何优化工作之前,您必须了解自己的方向。从性能角度讲,所有软件都是不同的!您必须首先理解瓶颈在哪里。一旦您已经对应用进行了描述,那么接下来就可以开始调整代码。描述应用是指衡量代码每部分所需的时间(或所用的存储器空间或功耗)。软件的某些部分仅执行一次(如初始化)或有限的次数。花很多时间优化这部分代码是不明智的,因

3、为这样做所得的总体节约是相对有限的。很可能的情况是,软件的某些部分会执行许多次,尽管代码本身很短,但执行代码的事实常常说明代码的整体周期需时不菲。如果您能够从这部分代码中节约哪怕一两个周期,那么所得到的节约也会相当显著。在调整并优化进程时,这就是您应当花时间开展工作的地方。  存储器的依赖性  处理器在存储器中存储指令和数据。尽管人们已经创建了许多具有创新性的方法以从存储器中获取指令和数据,但访问指令和数据时总会有性能损失。这就是纯粹的开销了。只要能够减少等待指令或数据存取的时间,不管怎么样,都能够改善应用的整体性能。举例而言,硬件高速缓冲系统将会尽可能多的指令

4、靠近CPU,从而实现快速存取,通常只需一个周期即可,业经验证这能够改善整体性能。DSP拥有片上存储器,其可存储数据与指令。但数据和指令不能自动放置于片上存储器中。编程员必须对此进行管理,只要管理有效,DSP就可以利用片上存储器显著提高性能。  嵌入式系统存储器等级中有若干层次(见图1)。第一层是芯片寄存器。这部分存储器用于保存临时和中间数据。编译器在调度指令时使用寄存器。该存储器是速度最快、价格最昂贵的(器件上的寄存器越多,器件体积就越大,这意味着硅晶片上的器件减少,也就是说用更多的硅芯片获得相同数量的器件,您应该明白我的意思吧)。存储器的下一层是高速缓冲系统。

5、它也是即快速又昂贵,用于将指令和数据在使用指令和/或数据前移至靠近CPU处。存储器的再下一层是"外部"或"片外"存储器。该存储器会比其他存储器类型的速度慢,而且价格也较便宜。这一般是不使用(存储期限较长)数据和指令时保存的地方。从该存储器存取信息包括更多的信号交换和控制,因此也需要更多时间。实时嵌入式设计人员的主要目的是使您将用到的任何东西尽可能靠近CPU。这意味着需要从外部存储器获取信息,使其进入速度更快的存储器,并使用诸如直接存储器存取(DMA)等技术,以及编译或架构技术。   为了增强采用流水线操作概念的处理器性能,我们使用了硬件架构技术。流水线处理器的原

6、则与汽车装配线没什么两样。每辆汽车都通过装配线被一步步组装起来。许多辆车同时在装配线上,每辆车位于装配过程的不同环节。在装配线末端会出现一辆新车,紧接着还有另一辆新车跟进,以此类推。人们早就发现,在前一辆车完成之前即开始下一辆新车的装配工作,这种做法的成本效益要高得多。在流水线处理器中,情况也是如此。流水线处理器可在前一项任务完成前开始新任务。完成率就是传入新指令的速率。如图2a和2b所示,指令的完成时间没有改变。但指令的完成率提高了。  为了进一步改善性能,我们可以使用多个流水线。该方法称作超标量,其进一步利用了平行的概念(见图2c)。如今某些高性能数字信号处

7、理器(如Inteli860)就有一个超标量设计。        图2.非流水线、流水线和超标量执行时间表             具备多个独立执行单元的DSP利用平行同时执行多个独立指令,这将为性能改善提供立竿见影的效果。关键在于找到彼此独立的"n"个不同指令。有时,我们通过硬件完成此工作,有时则通过软件来完成(编译)。超长指令字(VLIW)处理器(如TI的C6200DSP系列产品)使用编译技术可以在8个独立的处理器执行单元上调度最多8个彼此独立的指令。指令间的数据依赖性常常将此限制在最高速率之下,但还是能够实现显著的性能。许多情况下,我们可以重新构建算法,以利

8、用架构的优势,从而实现多

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。